![]() |
Diana Software
|
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) | |
| c1 cd | ( | 1 | ) |
Referenced by MJitterByCoincidence::Do().
| c1 cd | ( | 2 | ) |
| c1 cd | ( | 3 | ) |
| c1 cd | ( | 4 | ) |
| c1 cd | ( | 5 | ) |
| 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 | |||
| ) |
| shisto Draw | ( | "SAME" | ) |
| shisto2 Draw | ( | ) |
| 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 | ) |
| chisto Fill | ( | chi2 | ) |
| jhisto Fill | ( | jitter- | shift | ) |
| lhisto Fill | ( | left | ) |
| rhisto Fill | ( | right | ) |
| for | ( | int | i = apmaxindex; i, |
| 0;i-- | |||
| ) |
Definition at line 47 of file CheckOF.C.
References ap(), ap2, and apmaxindex.
| if | ( | err ! | = QERR_SUCCESS | ) |
| ap2 Initialize | ( | 0 | ) |
| gSystem Load | ( | "libbase" | ) |
| gSystem Load | ( | "libcalderdata" | ) |
| gSystem Load | ( | "libcaldertools" | ) |
| gSystem Load | ( | "libcoretools" | ) |
| gSystem Load | ( | "libdbbase" | ) |
| gSystem Load | ( | "libdianadata" | ) |
| gSystem Load | ( | "libglobalrw" | ) |
| gSystem Load | ( | "liboptimumfilter" | ) |
| gSystem Load | ( | "libpq" | ) |
| gSystem Load | ( | "libqroot" | ) |
| gSystem Load | ( | "libqstyle" | ) |
| gSystem Load | ( | "libqstyleloader" | ) |
| gSystem Load | ( | "librundatadb" | ) |
| gSystem Load | ( | "libthreadwrapper" | ) |
| c1 SaveAs | ( | "checkof.pdf" | ) |
| shisto2 SetLineColor | ( | kRed | ) |
| TF1 a |
Definition at line 21 of file CheckOF.C.
Referenced by QVector::ArrayAlloc(), MTestFetchContinuousIO::Do(), MTestModule::Do(), QVector::GetArray(), pow(), and timeSort().
| double amp = 100 |
Definition at line 32 of file CheckOF.C.
Referenced by MApplyCalibration::Do(), MDecorrelator::Do(), MTutorialAmplitudeFilter::Filter(), and if().
| ap2 = ap |
Definition at line 51 of file CheckOF.C.
Referenced by QBiComponentOptimumFilter::BuildFilter(), for(), and QBiComponentOptimumFilter::QBiComponentOptimumFilter().
| QVector b |
Definition at line 21 of file CheckOF.C.
Referenced by QVector::Div(), QVectorC::Div(), QVectorC::DivIn(), MTestFetchContinuousIO::Do(), MTestModule::Do(), QStyle::LoadDefaultPalette(), QVector::Mult(), QVectorC::Mult(), QVectorC::MultIn(), QVectorC::operator+=(), operator==(), QOptions::ReplaceUserParams(), QBaselineData::SetBaseline(), QBaselineData::SetBaselineFlatRMS(), QBaselineData::SetBaselineIntercept(), QBaselineData::SetBaselineRMS(), QBaselineData::SetBaselineSlope(), QBaselineData::SetBaselineSlopeRMSWindow(), QBaselineData::SetRightBaseline(), QBaselineData::SetRightBaselineInRMS(), QBaselineData::SetRightLeftBaseline(), QBaselineData::SetRightLeftBaselineInRMS(), QBaseModule::SetRunAgain(), QSequence::SetRunAgain(), and timeSort().
| 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().
| double max = ap.GetMax()-ap[0] |
Definition at line 53 of file CheckOF.C.
Referenced by QPulseBasicParams::CheckSaturation(), QPulseTimeConstants::Compute(), QPulseBasicParams::ComputeDecayAndRise(), QPulseBasicParams::ComputeSlowDecay(), QIntervalSet::Consolidate(), QMathFunction::GetMaximum(), QGCalibrationPeakFrame::HandleSetButton(), if(), QMultiChannelDecorrelatorOF::Init(), QOptions::Init(), QIntervalSet::Insert(), QOptimumFilter::Parabola(), QInterval::QInterval(), QIntervalSet::QIntervalSet(), QOptimumShapeFilter::QOptimumShapeFilter(), QInterval::SetMax(), QGCalibrationPeakFrame::SetMaxAmplitude(), QFitter::SetParameter(), and QGHistogramParametersFrame::SetXMax().
| int N = 2048 |
Definition at line 24 of file CheckOF.C.
Referenced by MPulseIntegral::Do(), MEarlierEventsFilter::Filter(), MOverlappedWindowFilter::Filter(), QFir::Filter(), QGHistogram::Generate(), QGScatterPlot::Generate(), QGDropDownBox::GetCommonText(), QGFileHandler::GetSetOfAliases(), QGFileHandler::GetSetOfLeaves(), QGPulse::MakeStylePlot(), and QGFileHandler::OpenFile().
| QOptimumFilter of(ap, an,-1, false) | ( | ap | , |
| an | , | ||
| - | 1, | ||
| false | |||
| ) |
| QOptimumFilter of2(ap2, an,-1, false) | ( | ap2 | , |
| an | , | ||
| - | 1, | ||
| false | |||
| ) |
Referenced by MCOFBiComponent::Do().
| success |
Definition at line 112 of file CheckOF.C.
Referenced by QDbWatchdogThread::operator()(), QGTextFileHandler::ReadFile(), and QGTextFileHandler::WriteFile().
| double t0 = 200 |
Definition at line 26 of file CheckOF.C.
Referenced by for(), GetTime_ms(), QStringHandler::TimeFormat(), QRealComplexFFT::TransformFromFreq(), and QRealComplexFFT::TransformToFreq().