ATLAS Offline Software
TrigEventSelectionAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 #ifndef TRIGGER_ANALYSIS_ALGORITHMS__TRIG_EVENT_SELECTION_ALG_H
8 #define TRIGGER_ANALYSIS_ALGORITHMS__TRIG_EVENT_SELECTION_ALG_H
9 
12 #include <AsgTools/ToolHandle.h>
17 
18 namespace CP
19 {
21  {
22  public:
23  TrigEventSelectionAlg(const std::string &name,
24  ISvcLocator *svcLoc = nullptr);
25 
26  virtual StatusCode initialize() final;
27  virtual StatusCode execute() final;
28  virtual StatusCode finalize() final;
29 
30  private:
32  ToolHandle<Trig::ITrigDecisionTool> m_trigDecisionTool;
33 
35  Gaudi::Property<std::vector<std::string>> m_trigList {this, "triggers", {}, "trigger selection list"};
36 
38  Gaudi::Property<std::string> m_selectionDecoration {this, "selectionDecoration", "", "the decoration the trigger pass status"};
39 
41  Gaudi::Property<bool> m_noFilter {this, "noFilter", false, "whether to not apply an event filter"};
42 
44  Gaudi::Property<bool> m_noL1 {this, "noL1", false, "whether to not require L1 decision"};
45 
47  std::vector<SG::Decorator<bool>> m_selectionAccessors;
48 
50  FilterReporterParams m_filterParams {this, "TriggerEventSelection", "trigger event selection"};
51  };
52 }
53 
54 #endif
CP::TrigEventSelectionAlg::m_noFilter
Gaudi::Property< bool > m_noFilter
whether to not apply an event filter
Definition: TrigEventSelectionAlg.h:41
CP::TrigEventSelectionAlg::m_trigDecisionTool
ToolHandle< Trig::ITrigDecisionTool > m_trigDecisionTool
trigger decision tool handle
Definition: TrigEventSelectionAlg.h:32
CP::TrigEventSelectionAlg::m_noL1
Gaudi::Property< bool > m_noL1
whether to not require L1 decision
Definition: TrigEventSelectionAlg.h:44
PropertyWrapper.h
CP::TrigEventSelectionAlg::m_selectionAccessors
std::vector< SG::Decorator< bool > > m_selectionAccessors
the accessors for m_selectionDecoration and m_trigList combination
Definition: TrigEventSelectionAlg.h:47
CP::TrigEventSelectionAlg
Definition: TrigEventSelectionAlg.h:21
CP::TrigEventSelectionAlg::m_trigList
Gaudi::Property< std::vector< std::string > > m_trigList
list of triggers or trigger chains
Definition: TrigEventSelectionAlg.h:35
Conditions.h
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:49
FilterReporterParams
a handle for applying algorithm filter decisions
Definition: FilterReporterParams.h:58
AnaAlgorithm.h
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
CP::TrigEventSelectionAlg::finalize
virtual StatusCode finalize() final
Definition: TrigEventSelectionAlg.cxx:66
CP::TrigEventSelectionAlg::initialize
virtual StatusCode initialize() final
Definition: TrigEventSelectionAlg.cxx:20
ITrigDecisionTool.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::TrigEventSelectionAlg::m_filterParams
FilterReporterParams m_filterParams
the filter reporter params
Definition: TrigEventSelectionAlg.h:50
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
CP::TrigEventSelectionAlg::execute
virtual StatusCode execute() final
Definition: TrigEventSelectionAlg.cxx:40
CP::TrigEventSelectionAlg::m_selectionDecoration
Gaudi::Property< std::string > m_selectionDecoration
the decoration for trigger selection
Definition: TrigEventSelectionAlg.h:38
ToolHandle.h
CP::TrigEventSelectionAlg::TrigEventSelectionAlg
TrigEventSelectionAlg(const std::string &name, ISvcLocator *svcLoc=nullptr)
Definition: TrigEventSelectionAlg.cxx:12
FilterReporterParams.h