Mudole to identify patterns in the binary channel traces according to a given strategy. More...
#include <MdPatternFinderAG/MdPatternFinder.h>
Public Types | |
enum | ResultFlag { eSuccess, eFailure, eBreakLoop, eContinueLoop } |
Flag returned by module methods to the RunController. More... | |
enum | Strategy { eConsecutive } |
Kind of possible counting criteria to be used. More... | |
enum | VersionInfoType { eFilename = 1, eRevisionNumber = 2, eDate = 3, eTime = 4, eLastEditor = 5 } |
Different types of version info that can be retrieved from GetVersionInfo. More... | |
Public Member Functions | |
VModule::ResultFlag | Finish () |
Finish: invoked at end of the run (NOT end of the event) More... | |
utl::Stopwatch & | GetStopwatch () |
const utl::Stopwatch & | GetStopwatch () const |
std::string | GetVersionInfo (const VersionInfoType v) const |
Retrieve different sorts of module version info. More... | |
VModule::ResultFlag | Init () |
Initialize: invoked at beginning of run (NOT beginning of event) More... | |
void | InitTiming () |
MdPatternFinder () | |
VModule::ResultFlag | Run (evt::Event &e) |
Run: invoked once per event. More... | |
ResultFlag | RunWithTiming (evt::Event &event) |
~MdPatternFinder () | |
Static Public Member Functions | |
static std::string | GetResultFlagByName (const ResultFlag flag) |
Static Public Attributes | |
static const char *const | kStrategyTags [] = { "Consecutive" } |
Tags for the types of strategy. More... | |
Protected Types | |
enum | InfoLevel { eInfoNone = 0, eInfoFinal = 1, eInfoIntermediate = 2, eInfoDebug = 3 } |
Protected Attributes | |
int | fInfoLevel = 0 |
Private Member Functions | |
unsigned int | FillChannelRecData (mevt::Channel &ch, const mdet::Module &m) |
Fill the data reconstructed for a channel. More... | |
std::string | PrintPatternMatchBins (const mevt::Channel &c) const |
REGISTER_MODULE ("MdPatternFinder", MdPatternFinder) | |
Private Attributes | |
std::unique_ptr < VPatternFinderFunctor > | fFinder |
Object performing the pattern identification on individuals channels. More... | |
utl::MessageLoggerConfig | fLog |
Output messages handler. More... | |
unsigned int | fNOnes |
Number of 1s required. More... | |
Strategy | fStrategy |
Counting stategy to be performed. More... | |
utl::UnitsConfig | fUnits |
Units configuration. More... | |
unsigned int | fWindowSize |
The number of bins in the inhibition (veto) window. More... | |
Mudole to identify patterns in the binary channel traces according to a given strategy.
Perform trace analysis to find a pattern (fixed by the strategy type) in every channel. The selected strategy (pattern) is a muon-compatible pattern in the binary traces. For example at least 4-consecutives positive samples, or 1s, in the binary trace.
Definition at line 40 of file MdPatternFinder.h.
|
protectedinherited |
|
inherited |
Flag returned by module methods to the RunController.
Enumerator | |
---|---|
eSuccess |
Report success to RunController. |
eFailure |
Report failure to RunController, causing RunController to terminate execution. |
eBreakLoop |
Break current loop. It works for nested loops too! |
eContinueLoop |
Skip remaining modules in the current loop and continue with next iteration of the loop. |
Kind of possible counting criteria to be used.
Enumerator | |
---|---|
eConsecutive |
Definition at line 44 of file MdPatternFinder.h.
|
inherited |
|
inline |
Definition at line 50 of file MdPatternFinder.h.
|
inline |
Definition at line 51 of file MdPatternFinder.h.
|
private |
Fill the data reconstructed for a channel.
Definition at line 158 of file MdPatternFinder.cc.
References utl::Trace< T >::At(), utl::Trace< T >::Clear(), mevt::ChannelRecData::ClearPatternMatchBins(), mdet::FrontEndSiPM::GetBufferLength(), mdet::FrontEnd::GetBufferLength(), mdet::Module::GetFrontEnd(), mdet::Module::GetFrontEndSiPM(), mevt::Channel::GetId(), mevt::ChannelRecData::GetNumberOfPatternMatchs(), mevt::Channel::GetRecData(), mevt::Channel::GetTrace(), mevt::ChannelRecData::GetTrace(), mevt::Channel::HasRecData(), mevt::Channel::HasTrace(), mevt::ChannelRecData::HasTrace(), mevt::Channel::IsMasked(), mdet::Module::IsSiPM(), mevt::Channel::MakeRecData(), mevt::ChannelRecData::MakeTrace(), mevt::ChannelRecData::PatternMatchBinsBegin(), mevt::ChannelRecData::PatternMatchBinsEnd(), and utl::Trace< T >::PushBack().
|
virtual |
Finish: invoked at end of the run (NOT end of the event)
This method is for things that should be done at the end of the run (for example, closing files or writing out histograms) {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 149 of file MdPatternFinder.cc.
References io::eSuccess.
|
staticinherited |
Definition at line 8 of file VModule.cc.
References fwk::VModule::eBreakLoop, fwk::VModule::eContinueLoop, fwk::VModule::eFailure, and fwk::VModule::eSuccess.
Referenced by fwk::RunController::DoNextInSequence(), fwk::RunController::FinishBranch(), and fwk::RunController::InitBranch().
|
inlineinherited |
Definition at line 106 of file VModule.h.
References fwk::VModule::fStopwatch.
|
inlineinherited |
Definition at line 107 of file VModule.h.
References fwk::VModule::fStopwatch.
|
inherited |
Retrieve different sorts of module version info.
Definition at line 26 of file VModule.cc.
Referenced by fwk::CentralConfig::GetConfig(), ThresholdCalculatorKG::ThresholdCalculator::Init(), fdDoubleBumpFinder::FdDoubleBumpFinder::Init(), LaserGeneratorNA::LaserGenerator::Init(), LaserLightSimulatorNA::LaserLightSimulator::Init(), FdElectronicsSimulatorOG::FdElectronicsSimulator::Init(), TelescopeSimulatorKG::TelescopeSimulator::Init(), TelescopeSimulatorKG2::TelescopeSimulator::Init(), SdSimpleSimKG::SdSimpleSim::Init(), ShowerPhotonGeneratorOG::ShowerPhotonGenerator::Init(), and testRunController::testModuleVersionInfo().
|
virtual |
Initialize: invoked at beginning of run (NOT beginning of event)
This method is for things that should be done once at the beginning of a run (for example, booking histograms, performing calculations that need to be done only once, initializing parameters) {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 32 of file MdPatternFinder.cc.
References utl::ConsecutiveEnumFactory< EnumType, last, tags, NoConversionPolicy, first >::Create(), io::eSuccess, fwk::CentralConfig::GetInstance(), fwk::CentralConfig::GetTopBranch(), utl::LoadConfig(), and utl::ns.
|
inlineinherited |
Definition at line 95 of file VModule.h.
References fwk::VModule::fStopwatch, and utl::Stopwatch::Reset().
|
private |
Definition at line 220 of file MdPatternFinder.cc.
References mevt::Channel::GetRecData(), mevt::Channel::HasRecData(), mevt::Channel::IsMasked(), mevt::ChannelRecData::PatternMatchBinsBegin(), and mevt::ChannelRecData::PatternMatchBinsEnd().
|
private |
|
virtual |
Run: invoked once per event.
This method is for things that should be done once per event {You must override this method in your concrete module}
Implements fwk::VModule.
Definition at line 61 of file MdPatternFinder.cc.
References mevt::Module::ChannelsBegin(), mevt::Module::ChannelsEnd(), mevt::MEvent::CountersBegin(), mevt::MEvent::CountersEnd(), io::eSuccess, mdet::MDetector::GetCounter(), mevt::Channel::GetId(), mevt::Counter::GetId(), mevt::Module::GetId(), mdet::Counter::GetModule(), mevt::Module::GetNumberOfActiveChannels(), mevt::Module::GetRecData(), mevt::Module::GetRejectionReason(), evt::Event::HasMEvent(), mevt::Module::HasRecData(), INFO, mevt::Counter::IsRejected(), mevt::Module::IsRejected(), mevt::Module::MakeRecData(), mevt::Counter::ModulesBegin(), mevt::Counter::ModulesEnd(), mevt::ModuleRecData::SetSegmentation(), mevt::ModuleRecData::SetTotalNumberOfChannelsOn(), mevt::ModuleRecData::SetWindowSize(), det::DetectorComponent< C, ManagerProvider >::str(), and WARNING.
|
inlineinherited |
Definition at line 98 of file VModule.h.
References fwk::VModule::fStopwatch, fwk::VModule::Run(), utl::Stopwatch::Start(), and utl::Stopwatch::Stop().
Referenced by fwk::RunController::DoNextInSequence().
|
private |
Object performing the pattern identification on individuals channels.
Definition at line 70 of file MdPatternFinder.h.
|
protectedinherited |
Definition at line 123 of file VModule.h.
Referenced by RdChannelASCIINoiseImporterRD::RdChannelASCIINoiseImporterRD::Init(), Rd2dLDFFitter::Rd2dLDFFitter::Init(), RdChannelNoiseImporter_AERA::RdChannelNoiseImporter_AERA::Init(), and Rd2dLDFFitter::Rd2dLDFFitter::Run().
|
private |
Output messages handler.
Definition at line 58 of file MdPatternFinder.h.
|
private |
Number of 1s required.
Definition at line 64 of file MdPatternFinder.h.
|
private |
Counting stategy to be performed.
Definition at line 67 of file MdPatternFinder.h.
|
private |
Units configuration.
Definition at line 73 of file MdPatternFinder.h.
|
private |
The number of bins in the inhibition (veto) window.
Definition at line 61 of file MdPatternFinder.h.
|
static |
Tags for the types of strategy.
Definition at line 48 of file MdPatternFinder.h.