ATLAS Offline Software
InvariantMassDeltaPhiInclusive2AlgTool.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef GLOBALSIM_INVARIANTMASSDELTAPHIINCLUSIVE2_H
6 #define GLOBALSIM_INVARIANTMASSDELTAPHIINCLUSIVE2_H
7 
12 #include "GenericTob.h"
13 #include "InvariantMassResult.h"
14 #include "../../../IGlobalSimAlgTool.h"
16 
17 #include <bitset>
18 
19 namespace GlobalSim {
20  class InvariantMassDeltaPhiInclusive2AlgTool: public extends<AthAlgTool,
21  IGlobalSimAlgTool> {
22 
23  public:
24 
26  const std::string& name,
27  const IInterface* parent);
28 
30 
31  virtual StatusCode initialize() override;
32 
33  virtual StatusCode run(const EventContext& ctx) const override;
34 
35  virtual std::string toString() const override;
36 
37  using TobContainer = std::vector<std::string>;
38  using TobContainerPtr = std::unique_ptr<TobContainer>;
39 
40  private:
41 
42  Gaudi::Property<bool>
44  "enableDump",
45  {false},
46  "flag to enable dumps"};
47 
48  Gaudi::Property<std::vector<int>> m_minEt1Cuts
49  {this,
50  "minEt1Cuts",
51  {},
52  "Min Et for Tobs 1"
53  };
54 
55  Gaudi::Property<std::vector<int>> m_minEt2Cuts
56  {this,
57  "minEt2Cuts",
58  {},
59  "Min Et for Tobs 2"
60  };
61 
62  Gaudi::Property<bool> m_applyEtaCuts
63  {this,
64  "applyEtaCuts",
65  {true},
66  "Apply eta cuts if set true"
67  };
68 
69  Gaudi::Property<std::vector<int>> m_minEta1Cuts
70  {this,
71  "minEta1Cuts",
72  {},
73  "Min Eta for Tobs 1"
74  };
75 
76  Gaudi::Property<std::vector<int>> m_maxEta1Cuts
77  {this,
78  "maxEta1Cuts",
79  {},
80  "Max Eta for Tobs 1"
81  };
82 
83  Gaudi::Property<std::vector<int>> m_minEta2Cuts
84  {this,
85  "minEta2Cuts",
86  {},
87  "Min Eta for Tobs 2"
88  };
89 
90  Gaudi::Property<std::vector<int>> m_maxEta2Cuts
91  {this,
92  "maxEta2Cuts",
93  {},
94  "Max Eta for Tobs 2"
95  };
96 
97  Gaudi::Property<std::vector<int>> m_minInvMassSqrCuts
98  {this,
99  "minInvMassSqrCuts",
100  {},
101  "minimum invariant mass squared"
102  };
103 
104 
105  Gaudi::Property<std::vector<int>> m_maxInvMassSqrCuts
106  {this,
107  "maxInvMassSqrCuts",
108  {},
109  "maximum invariant mass squared"
110  };
111 
112  Gaudi::Property<std::vector<int>> m_minDeltaPhiCuts
113  {this,
114  "minDeltaPhiCuts",
115  {},
116  "minimum DeltaPhi"
117  };
118 
119  Gaudi::Property<std::vector<int>> m_maxDeltaPhiCuts
120  {this,
121  "maxDeltaPhiCuts",
122  {},
123  "maximum DeltaPhi"
124  };
125 
126 
127  Gaudi::Property<int> m_maxTob1
128  {this,
129  "maxTob1",
130  {6},
131  "maximum number of Tobs from 1st list to consider"
132  };
133 
134 
135  Gaudi::Property<int> m_maxTob2
136  {this,
137  "maxTob2",
138  {6},
139  "maximum number of Tobs from 2nd list to consider"
140  };
141 
144  this,
145  "GenericTobContainerReadKey1",
146  "genericTobContainer1",
147  "key to read a container of Generic TOBS"};
148 
151  this,
152  "GenericTobContainerReadKey2",
153  "genericTobContainer2",
154  "key to read a container of Generic TOBS"};
155 
156 
159  this,
160  "ResultsKey",
161  "yesultsKey",
162  "key to write a bitset of results"};
163 
164 
165  using AcceptFlags = std::vector<std::vector<bool>>;
166 
167  StatusCode
169  AcceptFlags&) const;
170 
171  StatusCode
173  AcceptFlags&) const;
174 
175  StatusCode
177  std::vector<bool>&,
178  int minEt,
179  int minEta,
180  int maxEta) const;
181 
182 
183  StatusCode
185  std::vector<bool>&,
186  int minEt) const;
187 
188 
189  constexpr static std::size_t s_inputWidth1{6};
190  constexpr static std::size_t s_inputWidth2{6};
191  };
192 
193 
194 }
195 
196 #endif
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::TobContainer
std::vector< std::string > TobContainer
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:37
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::s_inputWidth1
constexpr static std::size_t s_inputWidth1
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:189
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_applyEtaCuts
Gaudi::Property< bool > m_applyEtaCuts
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:63
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_minEta2Cuts
Gaudi::Property< std::vector< int > > m_minEta2Cuts
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:84
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::s_inputWidth2
constexpr static std::size_t s_inputWidth2
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:190
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_maxTob2
Gaudi::Property< int > m_maxTob2
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:136
InvariantMassResult.h
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_tobsInReadKey1
SG::ReadHandleKey< GenericTobContainer > m_tobsInReadKey1
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:143
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_enableDump
Gaudi::Property< bool > m_enableDump
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:43
SG::ReadHandleKey< GenericTobContainer >
GenericTob.h
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::TobContainerPtr
std::unique_ptr< TobContainer > TobContainerPtr
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:38
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_minEt1Cuts
Gaudi::Property< std::vector< int > > m_minEt1Cuts
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:49
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
PUfitVar::maxEta
constexpr float maxEta
Definition: GepMETPufitAlg.cxx:13
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_maxEta1Cuts
Gaudi::Property< std::vector< int > > m_maxEta1Cuts
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:77
GlobalSim
AlgTool to obtain a selection of eFex RoIs read in from the event store.
Definition: dump.h:8
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::~InvariantMassDeltaPhiInclusive2AlgTool
virtual ~InvariantMassDeltaPhiInclusive2AlgTool()=default
SG::WriteHandleKey< InvariantMassResult >
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_maxTob1
Gaudi::Property< int > m_maxTob1
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:128
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_maxEta2Cuts
Gaudi::Property< std::vector< int > > m_maxEta2Cuts
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:91
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::initialize
virtual StatusCode initialize() override
Definition: InvariantMassDeltaPhiInclusive2AlgTool.cxx:33
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_maxInvMassSqrCuts
Gaudi::Property< std::vector< int > > m_maxInvMassSqrCuts
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:106
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::selectTobs1
StatusCode selectTobs1(const GenericTobContainer &, AcceptFlags &) const
Definition: InvariantMassDeltaPhiInclusive2AlgTool.cxx:167
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_tobsInReadKey2
SG::ReadHandleKey< GenericTobContainer > m_tobsInReadKey2
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:150
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_minDeltaPhiCuts
Gaudi::Property< std::vector< int > > m_minDeltaPhiCuts
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:113
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::setAcceptFlags
StatusCode setAcceptFlags(const GenericTobContainer &, std::vector< bool > &, int minEt, int minEta, int maxEta) const
Definition: InvariantMassDeltaPhiInclusive2AlgTool.cxx:257
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::AcceptFlags
std::vector< std::vector< bool > > AcceptFlags
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:165
GlobalSim::GenericTobContainer
std::vector< std::shared_ptr< GenericTob > > GenericTobContainer
Definition: GenericTob.h:72
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_minInvMassSqrCuts
Gaudi::Property< std::vector< int > > m_minInvMassSqrCuts
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:98
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::InvariantMassDeltaPhiInclusive2AlgTool
InvariantMassDeltaPhiInclusive2AlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Definition: InvariantMassDeltaPhiInclusive2AlgTool.cxx:20
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:21
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::selectTobs2
StatusCode selectTobs2(const GenericTobContainer &, AcceptFlags &) const
Definition: InvariantMassDeltaPhiInclusive2AlgTool.cxx:190
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::run
virtual StatusCode run(const EventContext &ctx) const override
Definition: InvariantMassDeltaPhiInclusive2AlgTool.cxx:97
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_maxDeltaPhiCuts
Gaudi::Property< std::vector< int > > m_maxDeltaPhiCuts
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:120
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::toString
virtual std::string toString() const override
Definition: InvariantMassDeltaPhiInclusive2AlgTool.cxx:155
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_resultsWriteKey
SG::WriteHandleKey< InvariantMassResult > m_resultsWriteKey
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:158
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_minEta1Cuts
Gaudi::Property< std::vector< int > > m_minEta1Cuts
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:70
GlobalSim::InvariantMassDeltaPhiInclusive2AlgTool::m_minEt2Cuts
Gaudi::Property< std::vector< int > > m_minEt2Cuts
Definition: InvariantMassDeltaPhiInclusive2AlgTool.h:56