LDMX Software
Public Member Functions | Private Attributes | List of all members
framework::test::TestAnalyzer Class Reference

Bare analyzer that looks for objects matching what the TestProducer put in. More...

Public Member Functions

 TestAnalyzer (const std::string &name, Process &p)
 
void onProcessStart () final override
 Callback for the EventProcessor to take any necessary action when the processing of events starts, such as creating histograms.
 
void analyze (const framework::Event &event) final override
 Process the event and make histograms or summaries.
 
- Public Member Functions inherited from framework::Analyzer
 Analyzer (const std::string &name, Process &process)
 Class constructor.
 
- Public Member Functions inherited from framework::EventProcessor
 EventProcessor (const std::string &name, Process &process)
 Class constructor.
 
virtual ~EventProcessor ()
 Class destructor.
 
virtual void configure (framework::config::Parameters &parameters)
 Callback for the EventProcessor to configure itself from the given set of parameters.
 
virtual void onNewRun (const ldmx::RunHeader &runHeader)
 Callback for the EventProcessor to take any necessary action when the run being processed changes.
 
virtual void onFileOpen (EventFile &eventFile)
 Callback for the EventProcessor to take any necessary action when a new event input ROOT file is opened.
 
virtual void onFileClose (EventFile &eventFile)
 Callback for the EventProcessor to take any necessary action when a event input ROOT file is closed.
 
virtual void onProcessEnd ()
 Callback for the EventProcessor to take any necessary action when the processing of events finishes, such as calculating job-summary quantities.
 
template<class T >
const T & getCondition (const std::string &condition_name)
 Access a conditions object for the current event.
 
TDirectory * getHistoDirectory ()
 Access/create a directory in the histogram file for this event processor to create histograms and analysis tuples.
 
void setStorageHint (framework::StorageControl::Hint hint)
 Mark the current event as having the given storage control hint from this module.
 
void setStorageHint (framework::StorageControl::Hint hint, const std::string &purposeString)
 Mark the current event as having the given storage control hint from this module and the given purpose string.
 
int getLogFrequency () const
 Get the current logging frequency from the process.
 
int getRunNumber () const
 Get the run number from the process.
 
std::string getName () const
 Get the processor name.
 
void createHistograms (const std::vector< framework::config::Parameters > &histos)
 Internal function which is used to create histograms passed from the python configuration @parma histos vector of Parameters that configure histograms to create.
 

Private Attributes

TH1F * test_hist_
 test histogram filled with event indices
 

Additional Inherited Members

- Static Public Member Functions inherited from framework::EventProcessor
static void declare (const std::string &classname, int classtype, EventProcessorMaker *)
 Internal function which is part of the PluginFactory machinery.
 
- Static Public Attributes inherited from framework::Analyzer
static const int CLASSTYPE {2}
 Constant used to track EventProcessor types by the PluginFactory.
 
- Protected Member Functions inherited from framework::EventProcessor
void abortEvent ()
 Abort the event immediately.
 
- Protected Attributes inherited from framework::EventProcessor
HistogramHelper histograms_
 Interface class for making and filling histograms.
 
NtupleManagerntuple_ {NtupleManager::getInstance()}
 Manager for any ntuples.
 
logging::logger theLog_
 The logger for this EventProcessor.
 

Detailed Description

Bare analyzer that looks for objects matching what the TestProducer put in.

Checks

Definition at line 107 of file FunctionalCoreTest.cxx.

Constructor & Destructor Documentation

◆ TestAnalyzer()

framework::test::TestAnalyzer::TestAnalyzer ( const std::string &  name,
Process p 
)
inline

Definition at line 109 of file FunctionalCoreTest.cxx.

109: Analyzer(name, p) {}
Analyzer(const std::string &name, Process &process)
Class constructor.

◆ ~TestAnalyzer()

framework::test::TestAnalyzer::~TestAnalyzer ( )
inline

Definition at line 110 of file FunctionalCoreTest.cxx.

110{}

Member Function Documentation

◆ analyze()

void framework::test::TestAnalyzer::analyze ( const framework::Event event)
inlinefinaloverridevirtual

Process the event and make histograms or summaries.

Parameters
eventThe Event to analyze

Implements framework::Analyzer.

Definition at line 118 of file FunctionalCoreTest.cxx.

118 {
119 int i_event = event.getEventNumber();
120
121 REQUIRE(i_event > 0);
122
123 const std::vector<ldmx::CalorimeterHit>& caloHits =
124 event.getCollection<ldmx::CalorimeterHit>("TestCollection");
125
126 CHECK(caloHits.size() == i_event);
127 for (unsigned int i = 0; i < caloHits.size(); i++) {
128 CHECK(caloHits.at(i).getID() == i_event * 10 + i);
129 test_hist_->Fill(caloHits.at(i).getID());
130 }
131
132 const ldmx::HcalVetoResult& vetoRes =
133 event.getObject<ldmx::HcalVetoResult>("TestObject");
134
135 auto maxPEHit{vetoRes.getMaxPEHit()};
136
137 CHECK(maxPEHit.getID() == i_event);
138 CHECK(vetoRes.passesVeto() == (i_event % 2 == 0));
139
140 const float& tenth_event = event.getObject<float>("EventTenth");
141 CHECK(tenth_event == Approx(i_event * 0.1));
142
143 const std::vector<int>& i_event_from_bus =
144 event.getCollection<int>("EventIndex");
145
146 CHECK(i_event_from_bus.size() == 2);
147 CHECK(i_event_from_bus.at(0) == i_event);
148 CHECK(i_event_from_bus.at(1) == i_event);
149
150 return;
151 }
TH1F * test_hist_
test histogram filled with event indices
Represents a reconstructed hit in a calorimeter cell within the detector.
bool passesVeto() const
Checks if the event passes the Hcal veto.
ldmx::HcalHit getMaxPEHit() const

References ldmx::HcalVetoResult::getMaxPEHit(), ldmx::HcalVetoResult::passesVeto(), and test_hist_.

◆ onProcessStart()

void framework::test::TestAnalyzer::onProcessStart ( )
inlinefinaloverridevirtual

Callback for the EventProcessor to take any necessary action when the processing of events starts, such as creating histograms.

Reimplemented from framework::EventProcessor.

Definition at line 112 of file FunctionalCoreTest.cxx.

112 {
113 REQUIRE_NOTHROW(getHistoDirectory());
114 test_hist_ = new TH1F("test_hist_", "Test Histogram", 101, -50, 50);
115 test_hist_->SetCanExtend(TH1::kAllAxes);
116 }
TDirectory * getHistoDirectory()
Access/create a directory in the histogram file for this event processor to create histograms and ana...

References framework::EventProcessor::getHistoDirectory(), and test_hist_.

Member Data Documentation

◆ test_hist_

TH1F* framework::test::TestAnalyzer::test_hist_
private

test histogram filled with event indices

Definition at line 155 of file FunctionalCoreTest.cxx.

Referenced by analyze(), and onProcessStart().


The documentation for this class was generated from the following file: