ATLAS Offline Software
Loading...
Searching...
No Matches
ObjectCutFlowHistAlg.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4
7
8
9#ifndef ASG_ANALYSIS_ALGORITHMS__OBJECT_CUT_FLOW_HIST_ALG_H
10#define ASG_ANALYSIS_ALGORITHMS__OBJECT_CUT_FLOW_HIST_ALG_H
11
18
19namespace CP
20{
22
24 {
26 public:
28 StatusCode initialize () override;
29 StatusCode execute (const EventContext& ctx) override;
30
31
33 private:
35
37 private:
39 this, "input", "", "the input particle container to run on"};
40
42 private:
44 this, "preselection", "", "the preselection to apply"};
45
47 private:
48 Gaudi::Property<std::string> m_histPattern {this, "histPattern", "cutflow_%SYS%", "the pattern for histogram names"};
49
51 private:
52 Gaudi::Property<std::string> m_histTitle {this, "histTitle", "object cut flow", "title for the created histograms"};
53
55 private:
57 this, "selections", {}, "the inputs to the object cutflow"};
58
60 private:
61 Gaudi::Property<bool> m_forceCutSequence {this, "forceCutSequence", false, "force cut sequence and do not accept if previous cuts failed"};
62
65 private:
66 unsigned m_allCutsNum = 0;
67
69 private:
70 std::unordered_map<CP::SystematicSet,TH1*> m_hist;
71
73 private:
74 std::vector<std::string> m_labels;
75 };
76}
77
78#endif
an algorithm for dumping the object-level cutflow
std::vector< std::string > m_labels
histogram bin labels
SysReadSelectionHandleArray m_selections
the input object selections for which to create a cutflow
unsigned m_allCutsNum
the total number of cuts configured (needed to configure histograms)
Gaudi::Property< bool > m_forceCutSequence
force cut sequence
SysReadHandle< xAOD::IParticleContainer > m_inputHandle
the particle collection we run on
Gaudi::Property< std::string > m_histTitle
the histogram title to use
SysReadSelectionHandle m_preselection
the preselection we apply to our input
SysListHandle m_systematicsList
the systematics list we run
std::unordered_map< CP::SystematicSet, TH1 * > m_hist
the created histograms
StatusCode initialize() override
Gaudi::Property< std::string > m_histPattern
the pattern for histogram names
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
virtual::StatusCode execute()
execute this algorithm
Select isolated Photons, Electrons and Muons.
SysHandleArray< SysReadSelectionHandle > SysReadSelectionHandleArray