ATLAS Offline Software
EventCutFlowHistAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 
7 
8 #ifndef ASG_ANALYSIS_ALGORITHMS__EVENT_CUT_FLOW_HIST_ALG_H
9 #define ASG_ANALYSIS_ALGORITHMS__EVENT_CUT_FLOW_HIST_ALG_H
10 
19 
20 namespace CP
21 {
23 
25  {
27  public:
29  StatusCode initialize () override;
30  StatusCode execute () override;
31 
32 
34  private:
36 
38  private:
40  this, "eventInfo", "EventInfo", "the EventInfo container to run on"};
41 
43  private:
45  this, "preselection", "", "the preselection to apply"};
46 
48  private:
49  Gaudi::Property<std::string> m_histPattern {this, "histPattern", "cutflow_%SYS%", "the pattern for histogram names"};
50 
52  private:
53  ServiceHandle<ISelectionNameSvc> m_selectionNameSvc {"SelectionNameSvc", "EventCutFlowHistAlg"};
54 
56  private:
57  Gaudi::Property<std::string> m_histTitle {this, "histTitle", "event cut flow", "title for the created histograms"};
58 
60  private:
62  this, "selections", {}, "the inputs to the event cutflow"};
63 
66  private:
67  unsigned m_allCutsNum = 0;
68 
70  private:
71  std::unordered_map<CP::SystematicSet,TH1*> m_hist;
72 
74  private:
75  std::vector<std::string> m_labels;
76  };
77 }
78 
79 #endif
PropertyWrapper.h
CP::EventCutFlowHistAlg::m_allCutsNum
unsigned m_allCutsNum
the total number of cuts configured (needed to configure histograms)
Definition: EventCutFlowHistAlg.h:67
CP::SysListHandle
a class managing the property to configure the list of systematics to process
Definition: SysListHandle.h:33
CP::EventCutFlowHistAlg::initialize
StatusCode initialize() override
Definition: EventCutFlowHistAlg.cxx:25
SysListHandle.h
CP::EventCutFlowHistAlg::m_histPattern
Gaudi::Property< std::string > m_histPattern
the pattern for histogram names
Definition: EventCutFlowHistAlg.h:49
CP::SysReadHandle
a data handle for reading systematics varied input data
Definition: SysReadHandle.h:32
CP
Select isolated Photons, Electrons and Muons.
Definition: Control/xAODRootAccess/xAODRootAccess/TEvent.h:48
EL::AnaAlgorithm::AnaAlgorithm
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Definition: AnaAlgorithm.cxx:40
SysReadHandle.h
AnaAlgorithm.h
EL::AnaAlgorithm
the (new) base class for EventLoop algorithms
Definition: AnaAlgorithm.h:73
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
CP::EventCutFlowHistAlg::m_selectionNameSvc
ServiceHandle< ISelectionNameSvc > m_selectionNameSvc
the selection name service
Definition: EventCutFlowHistAlg.h:53
ISelectionNameSvc.h
CP::EventCutFlowHistAlg::m_preselection
SysReadSelectionHandle m_preselection
the preselection we apply to our input
Definition: EventCutFlowHistAlg.h:44
SysReadSelectionHandle.h
EventInfo.h
CP::EventCutFlowHistAlg::m_systematicsList
SysListHandle m_systematicsList
the systematics list we run
Definition: EventCutFlowHistAlg.h:35
CP::EventCutFlowHistAlg::m_histTitle
Gaudi::Property< std::string > m_histTitle
the histogram title to use
Definition: EventCutFlowHistAlg.h:57
CP::EventCutFlowHistAlg::execute
StatusCode execute() override
Definition: EventCutFlowHistAlg.cxx:52
CP::EventCutFlowHistAlg
an algorithm for dumping the an event-level cutflow
Definition: EventCutFlowHistAlg.h:25
CP::SysReadSelectionHandle
a data handle for reading systematically varied selection properties from objects
Definition: SysReadSelectionHandle.h:32
CP::EventCutFlowHistAlg::m_eventInfoHandle
SysReadHandle< xAOD::EventInfo > m_eventInfoHandle
the jet collection we run on
Definition: EventCutFlowHistAlg.h:39
CP::EventCutFlowHistAlg::m_labels
std::vector< std::string > m_labels
histogram bin labels
Definition: EventCutFlowHistAlg.h:75
CP::EventCutFlowHistAlg::m_selections
SysReadSelectionHandleArray m_selections
the input object selections for which to create a cutflow
Definition: EventCutFlowHistAlg.h:61
CP::SysHandleArray< SysReadSelectionHandle >
CP::EventCutFlowHistAlg::m_hist
std::unordered_map< CP::SystematicSet, TH1 * > m_hist
the created histograms
Definition: EventCutFlowHistAlg.h:71
ServiceHandle
Definition: ClusterMakerTool.h:37