Diana Software
Functions | Variables
CheckOF.C File Reference

Go to the source code of this file.

Functions

gSystem Load ("libpq")
 
gSystem Load ("libqroot")
 
gSystem Load ("libthreadwrapper")
 
gSystem Load ("libbase")
 
gSystem Load ("libcoretools")
 
gSystem Load ("libglobalrw")
 
gSystem Load ("libqstyle")
 
gSystem Load ("libdbbase")
 
gSystem Load ("librundatadb")
 
gSystem Load ("libdianadata")
 
gSystem Load ("libcalderdata")
 
gSystem Load ("libcaldertools")
 
gSystem Load ("libqstyleloader")
 
gSystem Load ("liboptimumfilter")
 
QVector an (N)
 
an Initialize (sigma *sigma *N)
 
QVector ap (N)
 
ap Initialize (0)
 
QVector ap2 (N)
 
 for (int i=0;i< N;i++)
 
 for (int i=apmaxindex;i > 0;i--)
 
amp *std::cout<<"Simga OF: "<< sigma_of<<" amp: "<< amp<< std::endl;std::cout<<"Simga OF2: "<< sigma_of<< std::endl;;TH1D *ahisto=new TH1D("ahisto","ahisto", sqrt(Ne), amp-5 *sigma_of, amp+5 *sigma_of);TH1D *lhisto=new TH1D("lhisto","lhisto", sqrt(Ne), 0, 10);TH1D *rhisto=new TH1D("rhisto","rhisto", sqrt(Ne), 0, 10);TH1D *chisto=new TH1D("chisto","chisto", sqrt(Ne), 0, 2);TH1D *jhisto=new TH1D("jhisto","jhisto", 240,-30, 30);TH1D *ahisto2=new TH1D("ahisto2","ahisto2", sqrt(Ne), amp-5 *sigma_of, amp+5 *sigma_of);TH1D *lhisto2=new TH1D("lhisto2","lhisto2", sqrt(Ne), 0, 10);TH1D *rhisto2=new TH1D("rhisto2","rhisto2", sqrt(Ne), 0, 10);TH1D *chisto2=new TH1D("chisto2","chisto2", sqrt(Ne), 0, 2);TH1D *jhisto2=new TH1D("jhisto2","jhisto2", 50 *taur,-5 *taur, 5 *taur);TRandom rand;rand.SetSeed(0);int success=0, success2=0;for(int e=0;e< Ne;e++) { if(e%100==0) cout<<"Event: "<< e<< std::endl;double shift=rand.Uniform(-4 *taur, 4 *taur);QVector signal(N), signal2(N);signal.Initialize(0);signal2.Initialize(0);for(int i=0;i< N;i++) { double t=double(i-t0) -shift;signal[i]+=rand.Gaus(0, sigma);signal2[i]+=rand.Gaus(0, sigma);if(t< 0) continue;signal[i]+=amp/max *(-exp(-t/taur)+exp(-t/taud));signal2[i]+=amp/max *(-exp(-t/taur/taur_dev)+exp(-t/taud/taud_dev));} QError err;err=of.Filter(signal);if(err !=QERR_SUCCESS) continue;err=of.SetJitter(QOptimumFilter::J_LOCMAX);if(err !=QERR_SUCCESS) continue;double jitter, chi2, amplitude, integral, left, right;err=of.GetInterpolated(jitter, chi2, amplitude, integral, left, right);if(err !=QERR_SUCCESS) continue;ahisto-> Fill (amplitude)
 
lhisto Fill (left)
 
rhisto Fill (right)
 
chisto Fill (chi2)
 
jhisto Fill (jitter-shift)
 
 if (err !=QERR_SUCCESS)
 
std::cout<<"Successfull filtering : "<< double(success)/Ne *100<<" %"<< std::endl;std::cout<<"Successfull filtering 2: "<< double(success2)/Ne *100<<" %"<< std::endl;TCanvas *c1=new TCanvas("checkof","checkof", 1200, 800);c1-> Divide (3, 2)
 
c1 cd (1)
 
ahisto2 SetLineColor (kRed)
 
ahisto2 Draw ()
 
ahisto Draw ("SAME")
 
c1 cd (2)
 
c1 cd (3)
 
c1 cd (4)
 
c1 cd (5)
 
c1 SaveAs ("checkof.pdf")
 

Variables

TF1 a
 
QVector b
 
int N = 2048
 
int Ne = 1e3
 
double t0 = 200
 
double taur = 10
 
double taud = 200
 
double taur_dev = 1.0
 
double taud_dev = 1.0
 
double sigma = 1
 
double amp = 100
 
int apmaxindex = ap.GetMaxIndex()
 
 ap2 = ap
 
double max = ap.GetMax()-ap[0]
 
QOptimumFilter of (ap, an,-1, false)
 
QOptimumFilter of2 (ap2, an,-1, false)
 
double sigma_of = of.GetFilteredNoiseRMS()
 
double sigma_of2 = of2.GetFilteredNoiseRMS()
 
 success
 
 err = of2.Filter(signal2)
 

Function Documentation

◆ an()

QVector an ( N  )

◆ ap()

QVector ap ( N  )

Referenced by for(), and if().

◆ ap2()

QVector ap2 ( N  )

◆ cd() [1/5]

c1 cd ( )

◆ cd() [2/5]

c1 cd ( )

◆ cd() [3/5]

c1 cd ( )

◆ cd() [4/5]

c1 cd ( )

◆ cd() [5/5]

c1 cd ( )

◆ Divide()

std::cout<<"Successfull filtering : "<<double(success)/Ne*100<<" %"<<std::endl; std::cout<<"Successfull filtering 2: "<<double(success2)/Ne*100<<" %"<<std::endl; TCanvas* c1 = new TCanvas("checkof","checkof",1200,800); c1-> Divide ( ,
 
)

◆ Draw() [1/2]

shisto Draw ( "SAME"  )

◆ Draw() [2/2]

shisto2 Draw ( )

◆ Fill() [1/5]

amp* std::cout<<"Simga OF: "<<sigma_of<<" amp: "<<amp<<std::endl; std::cout<<"Simga OF2: "<<sigma_of<<std::endl;; TH1D* ahisto = new TH1D("ahisto","ahisto",sqrt(Ne),amp-5*sigma_of,amp+5*sigma_of); TH1D* lhisto = new TH1D("lhisto","lhisto",sqrt(Ne),0,10); TH1D* rhisto = new TH1D("rhisto","rhisto",sqrt(Ne),0,10); TH1D* chisto = new TH1D("chisto","chisto",sqrt(Ne),0,2); TH1D* jhisto = new TH1D("jhisto","jhisto",240,-30,30); TH1D* ahisto2 = new TH1D("ahisto2","ahisto2",sqrt(Ne),amp-5*sigma_of,amp+5*sigma_of); TH1D* lhisto2 = new TH1D("lhisto2","lhisto2",sqrt(Ne),0,10); TH1D* rhisto2 = new TH1D("rhisto2","rhisto2",sqrt(Ne),0,10); TH1D* chisto2 = new TH1D("chisto2","chisto2",sqrt(Ne),0,2); TH1D* jhisto2 = new TH1D("jhisto2","jhisto2",50*taur,-5*taur,5*taur); TRandom rand; rand.SetSeed(0); int success = 0, success2 = 0; for(int e = 0; e < Ne; e++) { if(e%100 == 0) cout<<"Event: "<<e<<std::endl; double shift=rand.Uniform(-4*taur,4*taur); QVector signal(N),signal2(N); signal.Initialize(0); signal2.Initialize(0); for(int i = 0; i < N; i++) { double t = double(i-t0)-shift; signal[i] += rand.Gaus(0,sigma); signal2[i] += rand.Gaus(0,sigma); if(t < 0) continue; signal[i] += amp/max*(-exp(-t/taur) + exp(-t/taud)); signal2[i] += amp/max*(-exp(-t/taur/taur_dev) + exp(-t/taud/taud_dev)); } QError err; err = of.Filter(signal); if(err != QERR_SUCCESS) continue; err = of.SetJitter(QOptimumFilter::J_LOCMAX); if(err != QERR_SUCCESS) continue; double jitter,chi2,amplitude,integral,left,right; err = of.GetInterpolated(jitter,chi2,amplitude,integral,left,right); if(err != QERR_SUCCESS) continue; ahisto-> Fill ( amplitude  )

◆ Fill() [2/5]

chisto Fill ( chi2  )

◆ Fill() [3/5]

jhisto Fill ( jitter-  shift)

◆ Fill() [4/5]

lhisto Fill ( left  )

◆ Fill() [5/5]

rhisto Fill ( right  )

◆ for() [1/2]

for ( )

Definition at line 41 of file CheckOF.C.

References ap(), exp(), t0, taud, and taur.

◆ for() [2/2]

for ( int  i = apmaxindex; i,
0;i--   
)

Definition at line 47 of file CheckOF.C.

References ap(), ap2, and apmaxindex.

◆ if()

if ( err = QERR_SUCCESS)

Definition at line 115 of file CheckOF.C.

References amp, ap(), QOptimumFilter::GetFilteredShifted(), max, and of.

◆ Initialize() [1/2]

ap2 Initialize ( )

◆ Initialize() [2/2]

an Initialize ( sigma *sigma N)

◆ Load() [1/14]

gSystem Load ( "libbase"  )

◆ Load() [2/14]

gSystem Load ( "libcalderdata"  )

◆ Load() [3/14]

gSystem Load ( "libcaldertools"  )

◆ Load() [4/14]

gSystem Load ( "libcoretools"  )

◆ Load() [5/14]

gSystem Load ( "libdbbase"  )

◆ Load() [6/14]

gSystem Load ( "libdianadata"  )

◆ Load() [7/14]

gSystem Load ( "libglobalrw"  )

◆ Load() [8/14]

gSystem Load ( "liboptimumfilter"  )

◆ Load() [9/14]

gSystem Load ( "libpq"  )

◆ Load() [10/14]

gSystem Load ( "libqroot"  )

◆ Load() [11/14]

gSystem Load ( "libqstyle"  )

◆ Load() [12/14]

gSystem Load ( "libqstyleloader"  )

◆ Load() [13/14]

gSystem Load ( "librundatadb"  )

◆ Load() [14/14]

gSystem Load ( "libthreadwrapper"  )

◆ SaveAs()

c1 SaveAs ( "checkof.pdf"  )

◆ SetLineColor()

shisto2 SetLineColor ( kRed  )

Variable Documentation

◆ a

TF1 a

◆ amp

double amp = 100

◆ ap2

ap2 = ap

◆ apmaxindex

int apmaxindex = ap.GetMaxIndex()

Definition at line 46 of file CheckOF.C.

Referenced by for().

◆ b

◆ err

err = of2.Filter(signal2)

Definition at line 114 of file CheckOF.C.

Referenced by Diana::Abort(), QAveragePulseEstimator::Add(), QNoisePowerSpectrumEstimator::Add(), QVdt::AssignValue(), QReader::BaseJumpToEvent(), QOptimumFilter::BuildFilter(), QTriggerOptimumFilter::BuildOptimumFilter(), QChannelCovariance::Channels2Indices(), QPulseBasicParams::CheckSaturation(), QVdt::CheckType(), QMatrix::CholeskyDecompose(), QMatrixC::CholeskyDecompose(), QMatrix::CholeskySolveX(), QMatrixC::CholeskySolveX(), ClassImp(), LASCIIGlobalReader::Close(), LASCIIGlobalWriter::Close(), LGuiSessionReader::Close(), LGuiSessionWriter::Close(), LHDRGlobalReader::Close(), LRootGlobalReader::Close(), LRootGlobalWriter::Close(), QBiComponentOptimumFilter::ComputeAmplitude(), QPulseBasicParams::ComputeDecay(), QPulseBasicParams::ComputeDecayAndRise(), QPulseBasicParams::ComputeHeight(), QPulseBasicParams::ComputeRaise(), QPulseBasicParams::ComputeSlowDecay(), QDb::Connect(), QPulse::Consolidate(), QMultiChannelDecorrelator::Constructor(), QCryptoRSA::ConvertDouble(), QCryptoRSA::ConvertHex(), QMatrix::Det(), QMatrixC::Det(), MCOFBiComponent::Do(), MOptimumFilter::Do(), MPulseTimeConstants::Do(), MNoiseAvgPowerSpectrum::Do(), MTestModule::Do(), MLockinDenoising::Do(), MNoiseCrossFrequencyCovariance::Do(), MNoiseCrossPowerSpectrum::Do(), MNoiseFrequencyCoherence::Do(), MCoincidenceMultiplicity::Do(), MCoincidenceTiming::Do(), MTimeSort::Do(), QDb::DoExec(), MEnergyFilter::Done(), MTestModule::Done(), QDb::DoQuery(), QDb::DoQueryBool(), QDb::DoQueryDouble(), QDb::DoQueryInt(), QDb::DoQueryString(), QDb::DoQueryVectorDouble(), QDb::DoQueryVectorInt(), QDb::DoQueryVectorString(), QDb::DoSQLNoReturn(), QObject::Dump(), QObjectInspector::DumpOnStream(), QPulseFiller::Fill(), GlobalHandle< Q >::FillFromDB(), FillFromDB(), QAverageNoiseHandle::FillFromDB(), QAveragePulseHandle::FillFromDB(), QCalibrationParametersHandle::FillFromDB(), QCOFParametersHandle::FillFromDB(), QEnergyRangesHandle::FillFromDB(), QJitterHandle::FillFromDB(), QChannelRunDataHandle::FillFromDB(), QRunDataHandle::FillFromDB(), QAliases::FillFromFile(), GlobalHandle< Q >::FillFromFile(), QRunDataHandle::FillFromFile(), QObjectInspector::FillFromStream(), QFir::Filter(), QBiComponentOptimumFilter::Filter(), QOptimumFilter::Filter(), QMultiChannelDecorrelator::Filter(), QMultiChannelDecorrelator::FindChannel(), QPulseBasicParams::FindEnd(), QPulseBasicParams::FindMaximumPosition(), QFitter::Fit(), LRootGlobalWriter::FlushCache(), QGlobalReader::Get(), QGlobalDataManager::Get(), QOptimumFilter::Get(), QMultiChannelDecorrelatorOF::GetAveragePulse(), QInitFileHandler::GetBool(), LASCIIGlobalReader::GetBool(), QRunData::GetChannelRunData(), QOptimumShapeFilter::GetChiLeft(), QOptimumShapeFilter::GetChiRight(), MSelectRunType::GetCuts(), QOptimumShapeFilter::GetDecayTime(), QInitFileHandler::GetDouble(), LASCIIGlobalReader::GetDouble(), LASCIIGlobalReader::GetFloat(), QOptimumFilter::GetHighSNRChi2(), QInitFileHandler::GetInt(), LASCIIGlobalReader::GetInt(), QBiComponentOptimumFilter::GetInterpolated(), QOptimumFilter::GetInterpolated(), QMathFunction::GetMaximum(), QMathFunction::GetMinimum(), QGlobalReader::GetQObject(), LASCIIGlobalReader::GetQObject(), LGuiSessionReader::GetQObject(), LHDRGlobalReader::GetQObject(), LRootGlobalReader::GetQObject(), QInitFileHandler::GetQObject(), QGlobalReaderDispatcher::GetReader(), QOptimumShapeFilter::GetRiseTime(), QPulse::GetSamples(), QInitFileHandler::GetStdVector(), LASCIIGlobalReader::GetString(), QInitFileHandler::GetString(), QGlobalWriterDispatcher::GetWriter(), QDriver::HandleAction(), QMatrixC::HermitianEigenSystem(), QMatrixC::HermitianEigenValues(), QProcessStatus::InformServer(), QModuleFactory::Init(), QDb::InitWatchdogThread(), QDb::Insert(), QMatrix::Invert(), QMatrixC::Invert(), QSequence::JumpToEvent(), QGeneralFactory::LoadPlugin(), QGlobalRWFactory::LoadPlugin(), QRootFileReaderBase::LoadQChain(), main(), QOptimumFilter::ManipulateInputs(), QOptimumShapeFilter::ManipulateInputs(), QRootFileWriterBase::Open(), LASCIIGlobalWriter::Open(), LASCIIGlobalReader::Open(), LGuiSessionReader::Open(), LGuiSessionWriter::Open(), LHDRGlobalReader::Open(), LRootGlobalReader::Open(), LRootGlobalWriter::Open(), QOptimumFilter::Parabola(), QCryptoRSAEnvelope::Process(), QCryptoRSA::Process(), QBiComponentOptimumFilter::QBiComponentOptimumFilter(), QBlindTools::QBlindTools(), QError::QError(), QFir::QFir(), QGeneralFactory::QGeneralFactory(), QGlobalRWFactory::QGlobalRWFactory(), QMultiChannelDecorrelatorOF::QMultiChannelDecorrelatorOF(), QOptimumFilter::QOptimumFilter(), QOptimumShapeFilter::QOptimumShapeFilter(), QPulseTimeConstants::QPulseTimeConstants(), QDb::Query(), QTObject< T >::ReadFromStream(), QStdVector< T >::ReadFromStream(), QAverageVector::ReadFromStream(), QAverageVectorC::ReadFromStream(), QCalibrationParameters::ReadFromStream(), QRunData::ReadFromStream(), QOptions::ReplaceUserParams(), MRootNtpDumper::Require(), QSequence::Run(), DetectorName::Set(), RunType::Set(), QGlobalDataManager::Set(), QError::Set(), QChannelCovariance::SetCovariance(), QBaseThread::SetError(), QOptimumFilter::SetJitter(), LASCIIGlobalWriter::SetQObject(), LGuiSessionWriter::SetQObject(), LRootGlobalWriter::SetQObject(), QDbWatchdogThreadHandler::Start(), QBaseThreadHandler::Stop(), GlobalHandle< Q >::StoreOnDB(), QAverageNoiseHandle::StoreOnDB(), QAveragePulseHandle::StoreOnDB(), QCalibrationParametersHandle::StoreOnDB(), QCOFParametersHandle::StoreOnDB(), QEnergyRangesHandle::StoreOnDB(), QJitterHandle::StoreOnDB(), QRunDataHandle::StoreOnDB(), StoreOnDB(), GlobalHandle< Q >::StoreOnFile(), QVdt::ToString(), QBlindTools::Uniform(), QDb::UpdateWatchdogTimer(), QInitFileHandler::WriteBool(), QInitFileHandler::WriteDouble(), QInitFileHandler::WriteInt(), QStdVector< T >::WriteOnStream(), QTObject< T >::WriteOnStream(), QAverageVector::WriteOnStream(), QAverageVectorC::WriteOnStream(), QCalibrationParameters::WriteOnStream(), QRunData::WriteOnStream(), QInitFileHandler::WriteQObject(), QInitFileHandler::WriteStdVector(), and QInitFileHandler::WriteString().

◆ max

double max = ap.GetMax()-ap[0]

◆ N

int N = 2048

◆ Ne

int Ne = 1e3

Definition at line 25 of file CheckOF.C.

◆ of

QOptimumFilter of(ap, an,-1, false) ( ap  ,
an  ,
1,
false   
)

◆ of2

QOptimumFilter of2(ap2, an,-1, false) ( ap2  ,
an  ,
1,
false   
)

Referenced by MCOFBiComponent::Do().

◆ sigma

double sigma = 1

Definition at line 31 of file CheckOF.C.

◆ sigma_of

double sigma_of = of.GetFilteredNoiseRMS()

Definition at line 57 of file CheckOF.C.

◆ sigma_of2

double sigma_of2 = of2.GetFilteredNoiseRMS()

Definition at line 58 of file CheckOF.C.

◆ success

success

◆ t0

double t0 = 200

◆ taud

double taud = 200

Definition at line 28 of file CheckOF.C.

Referenced by for().

◆ taud_dev

double taud_dev = 1.0

Definition at line 30 of file CheckOF.C.

◆ taur

double taur = 10

Definition at line 27 of file CheckOF.C.

Referenced by for().

◆ taur_dev

double taur_dev = 1.0

Definition at line 29 of file CheckOF.C.