8#ifndef ASG_ANALYSIS_ALGORITHMS__EVENT_CUT_FLOW_HIST_ALG_H
9#define ASG_ANALYSIS_ALGORITHMS__EVENT_CUT_FLOW_HIST_ALG_H
40 this,
"eventInfo",
"EventInfo",
"the EventInfo container to run on"};
45 this,
"preselection",
"",
"the preselection to apply"};
49 Gaudi::Property<std::string>
m_histPattern {
this,
"histPattern",
"cutflow_%SYS%",
"the pattern for histogram names"};
57 Gaudi::Property<std::string>
m_histTitle {
this,
"histTitle",
"event cut flow",
"title for the created histograms"};
62 this,
"selections", {},
"the inputs to the event cutflow"};
71 std::unordered_map<CP::SystematicSet,TH1*>
m_hist;
an algorithm for dumping the an event-level cutflow
std::vector< std::string > m_labels
histogram bin labels
SysListHandle m_systematicsList
the systematics list we run
StatusCode execute() override
Gaudi::Property< std::string > m_histTitle
the histogram title to use
StatusCode initialize() override
SysReadSelectionHandleArray m_selections
the input object selections for which to create a cutflow
std::unordered_map< CP::SystematicSet, TH1 * > m_hist
the created histograms
SysReadHandle< xAOD::EventInfo > m_eventInfoHandle
the jet collection we run on
SysReadSelectionHandle m_preselection
the preselection we apply to our input
Gaudi::Property< std::string > m_histPattern
the pattern for histogram names
ServiceHandle< ISelectionNameSvc > m_selectionNameSvc
the selection name service
unsigned m_allCutsNum
the total number of cuts configured (needed to configure histograms)
a class managing the property to configure the list of systematics to process
a data handle for reading systematics varied input data
a data handle for reading systematically varied selection properties from objects
the (new) base class for EventLoop algorithms
AnaAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
constructor with parameters
Select isolated Photons, Electrons and Muons.
SysHandleArray< SysReadSelectionHandle > SysReadSelectionHandleArray