|
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 | process (Event &event) final |
| Processing an event for a Producer is calling produce. | |
Public Member Functions inherited from framework::EventProcessor | |
| DECLARE_FACTORY (EventProcessor, EventProcessor *, const std::string &, Process &) | |
| declare that we have a factory for this class | |
| EventProcessor (const std::string &name, Process &process) | |
| Class constructor. | |
| virtual | ~EventProcessor ()=default |
| Class destructor. | |
| virtual void | beforeNewRun (ldmx::RunHeader &run_header) |
| Callback for Producers to add parameters to the run header before conditions are initialized. | |
| virtual void | onNewRun (const ldmx::RunHeader &run_header) |
| Callback for the EventProcessor to take any necessary action when the run being processed changes. | |
| virtual void | onFileOpen (EventFile &event_file) |
| Callback for the EventProcessor to take any necessary action when a new event input ROOT file is opened. | |
| virtual void | onFileClose (EventFile &event_file) |
| 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 > | layer_e_sum_cuts_ |
| The energy sum to make cut on. | |
| double | beam_energy_ |
| The Beam energy [MeV]. | |
| int | mode_ {0} |
| The trigger mode to run in. | |
| int | start_layer_ {0} |
| The first layer of layer sum. | |
| int | end_layer_ {0} |
| The endpoint layer of layer sum. | |
| TString | algo_name_ |
| The name of the trigger algorithm used. | |
| std::string | input_coll_ |
| The name of the input collection (the Ecal hits_). | |
| std::string | input_pass_ |
| The pass name of the input (the Ecal hits_). | |
| std::string | output_coll_ |
| The name of the output collection (the trigger decision). | |
Additional Inherited Members | |
Protected Member Functions inherited from framework::EventProcessor | |
| void | abortEvent () |
| Abort the event immediately. | |
Protected Attributes inherited from framework::EventProcessor | |
| HistogramPool | histograms_ |
| helper object for making and filling histograms | |
| NtupleManager & | ntuple_ {NtupleManager::getInstance()} |
| Manager for any ntuples. | |
| logging::logger | the_log_ |
| 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 algo_name_, beam_energy_, end_layer_, framework::config::Parameters::get(), input_coll_, input_pass_, layer_e_sum_cuts_, mode_, output_coll_, and start_layer_.
|
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 algo_name_, beam_energy_, end_layer_, framework::HINT_SHOULD_DROP, framework::HINT_SHOULD_KEEP, input_coll_, input_pass_, layer_e_sum_cuts_, mode_, output_coll_, ldmx::TriggerResult::set(), ldmx::TriggerResult::setAlgoVar(), framework::EventProcessor::setStorageHint(), and start_layer_.
|
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().