ATLAS Offline Software
EventReaderBaseAlg.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef LARCLUSTERCELLDUMPER_EVENTREADERBASEALG_H
4 #define LARCLUSTERCELLDUMPER_EVENTREADERBASEALG_H
5 
7 
9 #include "xAODEgamma/Electron.h"
12 class TTree;
13 class CaloCell;
14 
15 
16 
17 
18 
20 {
21  public:
22 
23 
24  EventReaderBaseAlg( const std::string& name, ISvcLocator* pSvcLocator );
25 
26  virtual ~EventReaderBaseAlg() override;
27 
28  virtual StatusCode initialize() override;
29  virtual StatusCode execute() override;
30  virtual StatusCode finalize() override;
31 
32  private:
33 
34  protected:
35  bool isEtaOutsideLArCrack(float absEta);
36  bool isTagElectron(const xAOD::Electron* electron);
37  bool isGoodProbeElectron(const xAOD::Electron* el);
38  bool trackSelectionElectrons(const xAOD::Electron *electron, SG::ReadHandle<xAOD::VertexContainer> &primVertexCnt, SG::ReadHandle<xAOD::EventInfo> &ei); // for Xtalk studies
39  bool eOverPElectron(const xAOD::Electron* electron);
40  int getCaloRegionIndex(const CaloCell* cell); //customized representative indexes of calo region
41  double fixPhi(double phi);
42  double deltaPhi(double phi1 , double phi2);
43  double deltaR( double eta, double phi);
44 
45  void clear();
46  void clearLBData();
47  void bookBranches(TTree *tree);
48  void bookDatabaseBranches(TTree *tree);
49 
50 
51  Gaudi::Property<float> m_elecEtaCut {this, "electronEtaCut", 1.4, "Electron |eta| cut value."};
52  Gaudi::Property<std::string> m_offTagTightness {this, "offTagTightness", "LHMedium"};
53  Gaudi::Property<std::string> m_offProbeTightness {this, "offProbeTightness", "Loose"};
54  Gaudi::Property<float> m_etMinProbe {this, "etMinProbe", 15 ,"Min electron Pt value for Zee probe selection loose (GeV)."}; // Et or pT ?
55  Gaudi::Property<float> m_etMinTag {this, "etMinTag", 15 ,"Min Et value for the electrons in Zee tag selection (GeV)."}; // Et?
56  Gaudi::Property<float> m_d0TagSig {this, "d0TagSig", 5, "d_0 transverse impact parameter significance."};
57  Gaudi::Property<float> m_z0Tag {this, "z0Tag", 0.5, "z0 longitudinal impact parameter (mm)"};// https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/TrackingCPEOYE2015
58  Gaudi::Property<bool> m_doElecSelectByTrackOnly {this, "doElecSelectByTrackOnly", false, "Perform electron selection by track only, witout tag and probe."};
59  Gaudi::Property<bool> m_doTagAndProbe {this, "doTagAndProbe", true, "First, the electrons are selected by track criteria, then, perform Tag and Probe selection for Zee."};
60  Gaudi::Property<bool> m_doPhotonDump {this, "doPhotonDump", false, "Perform a photon particle dump based on offline Photons Container."};
61  Gaudi::Property<bool> m_doTruthEventDump {this, "doTruthEventDump", false, "Dump the Truth Event variables."};
62  Gaudi::Property<bool> m_doTruthPartDump {this, "doTruthPartDump", false, "Perform a truth particle dump."};
63  Gaudi::Property<bool> m_doLArEMBHitsDump {this, "doLArEMBHitsDump", false, "Dump the EMB HITs container energy and time."};
64  Gaudi::Property<bool> m_isMC {this, "isMC", false, "Switch the dumper to MC sample mode."};
65  Gaudi::Property<bool> m_getLArCalibConstants {this, "getLArCalibConstants", false, "Get the LAr calorimeter calibration constants, related to cells energy and time (online and offline)."};
66  Gaudi::Property<bool> m_noBadCells {this, "noBadCells", true, "If True, skip the cells tagged as badCells/channels."};
67  Gaudi::Property<bool> m_doAssocTopoCluster711Dump {this, "doAssocTopoCluster711Dump", false, "Dump the 7x11 EMB2 window cells."};
68 
69  //#############################
70  // Global Variables in general
71  //#############################
72 
73  TTree *m_Tree{};
74  TTree *m_secondTree{};
75 
76  //##################
77  // Dumped Variables
78  //##################
79 
80  // ## Lumiblock variables
81  std::vector < std::vector < float > > *m_lb_bcidLuminosity = nullptr;
82  std::vector < int > *m_lb_lumiblock = nullptr;
83 
84  // ## EventInfo ##
85  unsigned int m_e_runNumber = 9999; //< Run number
86  unsigned int m_e_bcid = 9999; //< BCID number
87  unsigned long long m_e_eventNumber = 9999; //< Event number
88  int m_e_lumiBlock = 999; // lumiblock number
89  float m_e_inTimePileup = -999; //< avg_mu
90  float m_e_outOfTimePileUp = -999; // OOT pileup
91 
92  // ## Cluster (TOPOCLUSTER) ##
93  int m_c_clusterIndexCounter = 0; // cluster index counter, for the entire event
94  std::vector < int > *m_c_clusterIndex = nullptr; // cluster index, for each cluster in the same event. (they have the same number of inputs)
95  std::vector < int > *m_c_electronIndex_clusterLvl = nullptr; // electron index, for each cluster in the same event.
96  std::vector < double > *m_c_clusterEnergy = nullptr; //energy of the cluster
97  std::vector < double > *m_c_clusterTime = nullptr; //timing of the cluster
98  std::vector < double > *m_c_clusterEta = nullptr; // clus. baricenter eta
99  std::vector < double > *m_c_clusterPhi = nullptr; // clus. baricenter phi
100  std::vector < double > *m_c_clusterPt = nullptr; // clus. baricenter eta
101  // Cell
102  int m_c_cellIndexCounter = 0; // cell index counter inside a cluster, for the entire event
103  std::vector < int > *m_c_clusterIndex_cellLvl = nullptr; // cluster index, for each cell index. (they have the same number of inputs)
104  std::vector < int > *m_c_clusterCellIndex = nullptr; // cell index inside a cluster
105  std::vector < int > *m_c_cellGain = nullptr; // gain of cell signal, from 'CaloGain' standard.
106  std::vector < int > *m_c_cellLayer = nullptr; // layer index of cell signal, from caloDDE.
107  std::vector < int > *m_c_cellRegion = nullptr; // region of calorimeter system (custom index from 'getCaloRegionIndex')
108  std::vector < double > *m_c_cellEnergy = nullptr; // cell inside cluster energy
109  std::vector < double > *m_c_cellTime = nullptr; // cell inside cluster energy
110  std::vector < double > *m_c_cellEta = nullptr; // cell inside cluster baricenter eta
111  std::vector < double > *m_c_cellPhi = nullptr; // cell inside cluster baricenter phi
112  std::vector < double > *m_c_cellDEta = nullptr; // cell inside cluster delta_eta (granularity)
113  std::vector < double > *m_c_cellDPhi = nullptr; // cell inside cluster delta_phi (granularity)
114  std::vector < double > *m_c_cellToClusterDPhi = nullptr; // cell inside cluster delta_phi distance to cluster baricenter.
115  std::vector < double > *m_c_cellToClusterDEta = nullptr; // cell inside cluster delta_eta distance to cluster baricenter.
116  //**** Channel
117  std::vector < int > *m_c_clusterIndex_chLvl = nullptr; // cluster index, for each channel index. (they have the same number of inputs)
118  std::vector < int > *m_c_clusterChannelIndex = nullptr; // index for a sequence of channels. It is a float for identify PMTs: +0.0 LAr, +0.1 Tile PMT1, +0.2 Tile PMT2
119  std::vector < std::vector < int > > *m_c_channelChInfo = nullptr; // from both LAr (barrel_ec, pos_neg, feedthrough, slot, channel) and Tile (ros, drawer, channel, adc)
120  std::vector < std::vector < float > > *m_c_channelDigits = nullptr; // samples from LAr and Tile cells/channels
121  std::vector < double > *m_c_channelEnergy = nullptr; // energy of cell or readout channel inside cluster (MeV)
122  std::vector < double > *m_c_channelTime = nullptr; // time of channel inside cluster
123  std::vector < int > *m_c_channelLayer = nullptr; // layer index of channel signal, from caloDDE.
124  std::vector < bool > *m_c_channelBad = nullptr; // channel linked to a cluster, whitch is tagged as bad. (1 - bad, 0 - not bad)
125  std::vector < unsigned int > *m_c_channelHashMap = nullptr; //cell map of ALL cells inside a cluster. id 0x2d214a140000000. is a 64-bit number that represent the cell.
126  std::vector < unsigned int > *m_c_channelChannelIdMap = nullptr;
127  std::vector < float > *m_c_channelEffectiveSigma = nullptr;
128  std::vector < float > *m_c_channelNoise = nullptr;
129  std::vector < float > *m_c_channelDSPThreshold = nullptr; // get from Athena POOL Utilities
130  std::vector < std::vector < double > > *m_c_channelOFCa = nullptr;
131  std::vector < std::vector < double > > *m_c_channelOFCb = nullptr;
132  std::vector < std::vector < double > > *m_c_channelShape = nullptr; // shape
133  std::vector < std::vector < double > > *m_c_channelShapeDer = nullptr; // shape derivative
134  std::vector < double > *m_c_channelOFCTimeOffset = nullptr;
135  std::vector < float > *m_c_channelADC2MEV0 = nullptr; //ramp0
136  std::vector < float > *m_c_channelADC2MEV1 = nullptr; //ramp1
137  std::vector < float > *m_c_channelPed = nullptr; //pedestal from DB (LAr / maskedTile)
138  std::vector < float > *m_c_channelMinBiasAvg = nullptr; //cell minBias average
139  std::vector < float > *m_c_channelOfflHVScale = nullptr;
140  std::vector < float > *m_c_channelOfflEneRescaler = nullptr;
141 
142  // Raw channel
143  std::vector < std::vector < int > > *m_c_rawChannelChInfo = nullptr; // from both LAr (barrel_ec, pos_neg, feedthrough, slot, channel, provenance) and Tile (ros, drawer, channel, adc, pedestal)
144  std::vector < unsigned int > *m_c_rawChannelIdMap = nullptr;
145  std::vector < float > *m_c_rawChannelAmplitude = nullptr; // raw channel energy (adc)
146  std::vector < float > *m_c_rawChannelTime = nullptr; // ps
147  std::vector < int > *m_c_rawChannelLayer = nullptr; // layer index of cell signal, from caloDDE.
148  std::vector < float > *m_c_rawChannelPed = nullptr; // raw channel estimated pedestal (Tile) or LAr provenance
149  std::vector < float > *m_c_rawChannelProv = nullptr; // raw channel estimated pedestal (Tile) or LAr provenance
150  std::vector < float > *m_c_rawChannelQuality = nullptr; // raw channel quality
151  std::vector < float > *m_c_clusterRawChannelIndex = nullptr; // raw channel index
152  std::vector < int > *m_c_clusterIndex_rawChLvl = nullptr; // cluster index at raw channel level
153  std::vector < float > *m_c_rawChannelDSPThreshold = nullptr; // get from Athena POOL Utilities
154 
155  // LAr HITs
156  size_t m_ncell = 0;
157  const double m_minEnergy = 1e-9;
158  std::vector < int > *m_hits_sampling = nullptr;
159  std::vector < int > *m_hits_clusterIndex_chLvl = nullptr;
160  std::vector < int > *m_hits_clusterChannelIndex = nullptr;
161  std::vector < unsigned int > *m_hits_hash = nullptr;
162  std::vector < double > *m_hits_energy = nullptr;
163  std::vector < double > *m_hits_time = nullptr;
164  std::vector < float > *m_hits_sampFrac = nullptr; // sampling fraction from MC/data E_calibration
165  std::vector < double > *m_hits_energyConv = nullptr;
166  std::vector < double > *m_hits_cellEta = nullptr;
167  std::vector < double > *m_hits_cellPhi = nullptr;
168 
169 
170  // ## Cluster (EMB2 EGAMMA CALO CLUSTER 7_11) ##
171  int *m_c711_clusterIndexCounter = 0; // cluster index counter, for the entire event
172  std::vector < int > *m_c711_clusterIndex = nullptr; // cluster index, for each cluster in the same event. (they have the same number of inputs)
173  std::vector < int > *m_c711_electronIndex_clusterLvl = nullptr; // electron index, for each cluster in the same event.
174  std::vector < double > *m_c711_clusterEnergy = nullptr; //energy of the cluster
175  std::vector < double > *m_c711_clusterTime = nullptr; //timing of the cluster
176  std::vector < double > *m_c711_clusterEta = nullptr; // clus. baricenter eta
177  std::vector < double > *m_c711_clusterPhi = nullptr; // clus. baricenter phi
178  std::vector < double > *m_c711_clusterPt = nullptr; // clus. baricenter eta
179 
180  // Cell
181  int *m_c711_cellIndexCounter = nullptr; // cell index counter inside a cluster, for the entire event
182  std::vector < int > *m_c711_clusterIndex_cellLvl = nullptr; // cluster index, for each cell index. (they have the same number of inputs)
183  std::vector < int > *m_c711_clusterCellIndex = nullptr; // cell index inside a cluster
184  std::vector < int > *m_c711_cellGain = nullptr; // gain of cell signal, from 'CaloGain' standard.
185  std::vector < int > *m_c711_cellLayer = nullptr; // layer index of cell signal, from caloDDE.
186  std::vector < int > *m_c711_cellRegion = nullptr; // region of calorimeter system (custom index from 'getCaloRegionIndex')
187  std::vector < double > *m_c711_cellEnergy = nullptr; // cell inside cluster energy
188  std::vector < double > *m_c711_cellTime = nullptr; // cell inside cluster energy
189  std::vector < double > *m_c711_cellEta = nullptr; // cell inside cluster baricenter eta
190  std::vector < double > *m_c711_cellPhi = nullptr; // cell inside cluster baricenter phi
191  std::vector < double > *m_c711_cellDEta = nullptr; // cell inside cluster delta_eta (granularity)
192  std::vector < double > *m_c711_cellDPhi = nullptr; // cell inside cluster delta_phi (granularity)
193  std::vector < double > *m_c711_cellToClusterDPhi = nullptr; // cell inside cluster delta_phi distance to cluster baricenter.
194  std::vector < double > *m_c711_cellToClusterDEta = nullptr; // cell inside cluster delta_eta distance to cluster baricenter.
195  // Channel
196  std::vector < int > *m_c711_clusterIndex_chLvl = nullptr; // cluster index, for each channel index. (they have the same number of inputs)
197  std::vector < int > *m_c711_clusterChannelIndex = nullptr; // index for a sequence of channels. It is a float for identify PMTs: +0.0 LAr, +0.1 Tile PMT1, +0.2 Tile PMT2
198  std::vector < std::vector < int > > *m_c711_channelChInfo = nullptr; // from both LAr (barrel_ec, pos_neg, feedthrough, slot, channel) and Tile (ros, drawer, channel, adc)
199  std::vector < std::vector < float > > *m_c711_channelDigits = nullptr; // samples from LAr and Tile cells/channels
200  std::vector < double > *m_c711_channelEnergy = nullptr; // energy of cell or readout channel inside cluster (MeV)
201  std::vector < double > *m_c711_channelTime = nullptr; // time of channel inside cluster
202  std::vector < int > *m_c711_channelLayer = nullptr; // layer index of cell signal, from caloDDE.
203  std::vector < bool > *m_c711_channelBad = nullptr; // channel linked to a cluster, whitch is tagged as bad. (1 - bad, 0 - not bad)
204  std::vector < unsigned int > *m_c711_channelHashMap = nullptr; //cell map of ALL cells inside a cluster. id 0x2d214a140000000. is a 64-bit number that represent the cell.
205  std::vector < unsigned int > *m_c711_channelChannelIdMap = nullptr;
206  std::vector < float > *m_c711_channelEffectiveSigma = nullptr;
207  std::vector < float > *m_c711_channelNoise = nullptr;
208  std::vector < float > *m_c711_channelDSPThreshold = nullptr; // get from Athena POOL Utilities
209  std::vector < std::vector < double > > *m_c711_channelOFCa = nullptr;
210  std::vector < std::vector < double > > *m_c711_channelOFCb = nullptr;
211  std::vector < std::vector < double > > *m_c711_channelShape = nullptr; // shape
212  std::vector < std::vector < double > > *m_c711_channelShapeDer = nullptr; // shape derivative
213  std::vector < double > *m_c711_channelOFCTimeOffset = nullptr;
214  std::vector < float > *m_c711_channelADC2MEV0 = nullptr;
215  std::vector < float > *m_c711_channelADC2MEV1 = nullptr;
216  std::vector < float > *m_c711_channelPed = nullptr; //pedestal from DB (LAr / maskedTile)
217  std::vector < float > *m_c711_channelMinBiasAvg = nullptr;
218  std::vector < float > *m_c711_channelOfflHVScale = nullptr;
219  std::vector < float > *m_c711_channelOfflEneRescaler = nullptr;
220  // Raw channel
221  std::vector < std::vector < int > > *m_c711_rawChannelChInfo = nullptr; // from both LAr (barrel_ec, pos_neg, feedthrough, slot, channel, provenance) and Tile (ros, drawer, channel, adc, pedestal)
222  std::vector < unsigned int > *m_c711_rawChannelIdMap = nullptr;
223  std::vector < float > *m_c711_rawChannelAmplitude = nullptr; // raw channel energy (adc)
224  std::vector < float > *m_c711_rawChannelTime = nullptr; // raw channel time
225  std::vector < int > *m_c711_rawChannelLayer = nullptr; // layer index of cell signal, from caloDDE.
226  std::vector < float > *m_c711_rawChannelPed = nullptr; // raw channel estimated pedestal
227  std::vector < float > *m_c711_rawChannelProv = nullptr; // raw channel LAr provenance (tile masked)
228  std::vector < float > *m_c711_rawChannelQuality = nullptr; // raw channel quality
229  std::vector < float > *m_c711_clusterRawChannelIndex = nullptr; // raw channel index
230  std::vector < int > *m_c711_clusterIndex_rawChLvl = nullptr; // cluster index at raw channel level
231  std::vector < float > *m_c711_rawChannelDSPThreshold = nullptr; // get from Athena POOL utilities
232 
233  // ## Particle Truth ## (MC)
234  std::vector < float > *m_mc_part_energy = nullptr;
235  std::vector < float > *m_mc_part_pt = nullptr;
236  std::vector < float > *m_mc_part_m = nullptr;
237  std::vector < float > *m_mc_part_eta = nullptr;
238  std::vector < float > *m_mc_part_phi = nullptr;
239  std::vector < int > *m_mc_part_pdgId = nullptr;
240  std::vector < int > *m_mc_part_status = nullptr;
241  std::vector < int > *m_mc_part_barcode = nullptr;
242 
243  // ## Vertex Truth ## (MC)
244  std::vector < float > *m_mc_vert_x = nullptr;
245  std::vector < float > *m_mc_vert_y = nullptr;
246  std::vector < float > *m_mc_vert_z = nullptr;
247  std::vector < float > *m_mc_vert_time = nullptr;
248  std::vector < float > *m_mc_vert_perp = nullptr;
249  std::vector < float > *m_mc_vert_eta = nullptr;
250  std::vector < float > *m_mc_vert_phi = nullptr;
251  std::vector < int > *m_mc_vert_barcode = nullptr;
252  std::vector < int > *m_mc_vert_status = nullptr;
253 
254  // ## Primary Vertex ##
255  std::vector < float > *m_vtx_x = nullptr;
256  std::vector < float > *m_vtx_y = nullptr;
257  std::vector < float > *m_vtx_z = nullptr;
258  std::vector < float > *m_vtx_deltaZ0 = nullptr;
259  std::vector < float > *m_vtx_delta_z0_sin = nullptr;
260  std::vector < double > *m_vtx_d0sig = nullptr;
261 
262  // ## Photons Reco ##
263  std::vector < float > *m_ph_eta = nullptr;
264  std::vector < float > *m_ph_phi = nullptr;
265  std::vector < float > *m_ph_pt = nullptr;
266  std::vector < float > *m_ph_energy = nullptr;
267  std::vector < float > *m_ph_m = nullptr;
268 
269  // ## Electrons ##
270  std::vector < int > *m_el_index = nullptr;
271  std::vector < float > *m_el_Pt = nullptr;
272  std::vector < float > *m_el_et = nullptr;
273  std::vector < float > *m_el_Eta = nullptr;
274  std::vector < float > *m_el_Phi = nullptr;
275  std::vector < float > *m_el_m = nullptr;
276  std::vector < float > *m_el_eoverp = nullptr;
277  // offline shower shapes
278  std::vector < float > *m_el_f1 = nullptr;
279  std::vector < float > *m_el_f3 = nullptr;
280  std::vector < float > *m_el_eratio = nullptr;
281  std::vector < float > *m_el_weta1 = nullptr;
282  std::vector < float > *m_el_weta2 = nullptr;
283  std::vector < float > *m_el_fracs1 = nullptr;
284  std::vector < float > *m_el_wtots1 = nullptr;
285  std::vector < float > *m_el_e277 = nullptr;
286  std::vector < float > *m_el_reta = nullptr;
287  std::vector < float > *m_el_rphi = nullptr;
288  std::vector < float > *m_el_deltae = nullptr;
289  std::vector < float > *m_el_rhad = nullptr;
290  std::vector < float > *m_el_rhad1 = nullptr;
291 
292  // ## Tag and probe ##
293  std::vector < float > *m_tp_electronPt = nullptr;
294  std::vector < float > *m_tp_electronEt = nullptr;
295  std::vector < float > *m_tp_electronEta = nullptr;
296  std::vector < float > *m_tp_electronPhi = nullptr;
297  // indexes
298  std::vector < int > *m_tp_probeIndex = nullptr; // contains the electron indexes associated to each electron (tags). The vector position represent the Tags, the number on it, the associated Probe.
299  std::vector < int > *m_tp_tagIndex = nullptr; // index for each electron in the container
300  std::vector < bool > *m_tp_isTag = nullptr;
301  std::vector < bool > *m_tp_isProbe = nullptr;
302  // Zee
303  std::vector < double > *m_zee_M = nullptr;
304  std::vector < double > *m_zee_E = nullptr;
305  std::vector < double > *m_zee_pt = nullptr;
306  std::vector < double > *m_zee_px = nullptr;
307  std::vector < double > *m_zee_py = nullptr;
308  std::vector < double > *m_zee_pz = nullptr;
309  std::vector < double > *m_zee_T = nullptr;
310  std::vector < double > *m_zee_deltaR = nullptr;
311 };
312 
313 #endif
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:50
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
ATLAS_NOT_THREAD_SAFE
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Definition: checker_macros.h:212
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
xAOD::deltaPhi
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap setEtaBin setIsTgcFailure setDeltaPt deltaPhi
Definition: L2StandAloneMuon_v1.cxx:160
initialize
void initialize()
Definition: run_EoverP.cxx:894
tree
TChain * tree
Definition: tile_monitor.h:30
LArG4FSStartPointFilterLegacy.execute
execute
Definition: LArG4FSStartPointFilterLegacy.py:20
AthAlgorithm.h
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
plotIsoValidation.el
el
Definition: plotIsoValidation.py:197
AthAlgorithm
Definition: AthAlgorithm.h:47
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
xAOD::Electron_v1
Definition: Electron_v1.h:34
EventInfo.h
VertexContainer.h
VKalVrtAthena::varHolder_detail::clear
void clear(T &var)
Definition: NtupleVars.h:48
CaloCell
Data object for each calorimeter readout cell.
Definition: CaloCell.h:57
xAOD::EgammaParameters::electron
@ electron
Definition: EgammaEnums.h:18
TauGNNUtils::Variables::absEta
bool absEta(const xAOD::TauJet &tau, double &out)
Definition: TauGNNUtils.cxx:234
Electron.h
checker_macros.h
Define macros for attributes used to control the static checker.
EventReaderBaseAlg
Definition: EventReaderBaseAlg.h:20
makeComparison.deltaR
float deltaR
Definition: makeComparison.py:36