LDMX Software
|
Provides a trigger decision for recon using a TriggerResult object. More...
#include <TriggerProcessor.h>
Public Member Functions | |
TriggerProcessor (const std::string &name, framework::Process &process) | |
Class constructor. | |
virtual | ~TriggerProcessor () |
Class destructor. | |
void | configure (framework::config::Parameters ¶meters) override |
Configure the processor using the given user specified parameters. | |
void | produce (framework::Event &event) override |
Run the trigger algorithm and create a TriggerResult object to contain info about the trigger decision such as pass/fail, number of saved variables, etc. | |
Public Member Functions inherited from framework::Producer | |
Producer (const std::string &name, Process &process) | |
Class constructor. | |
virtual void | beforeNewRun (ldmx::RunHeader &header) |
Handle allowing producers to modify run headers before the run begins. | |
Public Member Functions inherited from framework::EventProcessor | |
EventProcessor (const std::string &name, Process &process) | |
Class constructor. | |
virtual | ~EventProcessor () |
Class destructor. | |
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 | onProcessStart () |
Callback for the EventProcessor to take any necessary action when the processing of events starts, such as creating histograms. | |
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 | |
std::vector< double > | layerESumCuts_ |
The energy sum to make cut on. | |
double | beamEnergy_ |
The Beam energy [MeV]. | |
int | mode_ {0} |
The trigger mode to run in. | |
int | startLayer_ {0} |
The first layer of layer sum. | |
int | endLayer_ {0} |
The endpoint layer of layer sum. | |
TString | algoName_ |
The name of the trigger algorithm used. | |
std::string | inputColl_ |
The name of the input collection (the Ecal hits). | |
std::string | inputPass_ |
The pass name of the input (the Ecal hits). | |
std::string | outputColl_ |
The name of the output collection (the trigger decision). | |
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::Producer | |
static const int | CLASSTYPE {1} |
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. | |
NtupleManager & | ntuple_ {NtupleManager::getInstance()} |
Manager for any ntuples. | |
logging::logger | theLog_ |
The logger for this EventProcessor. | |
Provides a trigger decision for recon using a TriggerResult object.
Definition at line 32 of file TriggerProcessor.h.
|
inline |
Class constructor.
Definition at line 37 of file TriggerProcessor.h.
|
inlinevirtual |
|
overridevirtual |
Configure the processor using the given user specified parameters.
parameters | Set of parameters used to configure this processor. |
Reimplemented from framework::EventProcessor.
Definition at line 8 of file TriggerProcessor.cxx.
References algoName_, beamEnergy_, endLayer_, framework::config::Parameters::getParameter(), inputColl_, inputPass_, layerESumCuts_, mode_, outputColl_, and startLayer_.
|
overridevirtual |
Run the trigger algorithm and create a TriggerResult object to contain info about the trigger decision such as pass/fail, number of saved variables, etc.
param event The event to run trigger algorithm on.
Grab the Ecal hit collection for the given event
There are three scenarios:
Loop over all ecal hits in the given event
Implements framework::Producer.
Definition at line 25 of file TriggerProcessor.cxx.
References algoName_, beamEnergy_, endLayer_, framework::hint_shouldDrop, framework::hint_shouldKeep, inputColl_, inputPass_, layerESumCuts_, mode_, outputColl_, ldmx::TriggerResult::set(), ldmx::TriggerResult::setAlgoVar(), framework::EventProcessor::setStorageHint(), and startLayer_.
|
private |
The name of the trigger algorithm used.
Definition at line 87 of file TriggerProcessor.h.
Referenced by configure(), and produce().
|
private |
The Beam energy [MeV].
Definition at line 66 of file TriggerProcessor.h.
Referenced by configure(), and produce().
|
private |
The endpoint layer of layer sum.
not inclusive - i.e. this is the last layer that is included in the layer sum.
Definition at line 84 of file TriggerProcessor.h.
Referenced by configure(), and produce().
|
private |
The name of the input collection (the Ecal hits).
Definition at line 90 of file TriggerProcessor.h.
Referenced by configure(), and produce().
|
private |
The pass name of the input (the Ecal hits).
Definition at line 93 of file TriggerProcessor.h.
Referenced by configure(), and produce().
|
private |
The energy sum to make cut on.
Definition at line 63 of file TriggerProcessor.h.
Referenced by configure(), and produce().
|
private |
The trigger mode to run in.
Mode zero sums over all cells in layer, while in mode 1 only cells in center module are summed over. (TODO)
Definition at line 73 of file TriggerProcessor.h.
Referenced by configure(), and produce().
|
private |
The name of the output collection (the trigger decision).
Definition at line 96 of file TriggerProcessor.h.
Referenced by configure(), and produce().
|
private |
The first layer of layer sum.
Definition at line 76 of file TriggerProcessor.h.
Referenced by configure(), and produce().