ATLAS Offline Software
EventInfoDefinitions.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 //
4 // Dear emacs, this is -*- c++ -*-
5 //
6 
7 #ifndef CALORECGPU_EVENTINFODEFINITIONS_H
8 #define CALORECGPU_EVENTINFODEFINITIONS_H
9 
10 #include "BaseDefinitions.h"
11 #include "TagDefinitions.h"
13 
14 #include <cstdint>
15 #include <cmath>
16 //For fabsf...
17 
18 #include "CaloGeoHelpers/CaloSampling.h"
20 
21 namespace CaloRecGPU
22 {
23 
28  {
29  using GainType = unsigned int;
30  protected:
31 
32  constexpr static GainType s_TileLowLow = 0,
36 
37  constexpr static GainType s_TileOneLow = 0,
39  //Are these valid/used?
40 
41  constexpr static GainType s_LArHigh = 0,
43  s_LArLow = 2;
44 
45  constexpr static GainType s_InvalidCell = 4;
46 
47  constexpr static GainType s_gain_values_minimum = 0;
48  constexpr static GainType s_gain_values_maximum = 4;
49  public:
50 
51  inline static constexpr GainType invalid_gain()
52  {
53  return s_InvalidCell;
54  }
55 
56  inline static constexpr GainType max_gain_value()
57  {
58  return s_gain_values_maximum;
59  }
60 
61  inline static constexpr GainType min_gain_value()
62  {
63  return s_gain_values_minimum;
64  }
65 
66  inline static constexpr GainType num_gain_values()
67  {
68  return max_gain_value() - min_gain_value() + 1;
69  }
70 
71  template <class T>
72  inline static constexpr bool is_valid(const T & gain)
73  {
74  return gain != s_InvalidCell;
75  }
76 
77  inline static constexpr GainType from_standard_gain(const int gain)
78  //Basically, CaloCondUtils::getDbCaloGain without the Athena logging.
79  {
80  switch (gain)
81  {
82  case -16: //Tile LOWLOW
83  return s_TileLowLow;
84  case -15: //Tile LOWHIGH
85  return s_TileLowHigh;
86  case -12: //Tile HIGHLOW
87  return s_TileHighLow;
88  case -11: //Tile HIGHHIGH
89  return s_TileHighHigh;
90  case -4 : //Tile ONELOW
91  return s_TileOneLow;
92  case -3 : //Tile ONEHIGH
93  return s_TileOneHigh;
94  case 0 : //LAr High
95  return s_LArHigh;
96  case 1 : //LAr Medium
97  return s_LArMedium;
98  case 2 : //Lar Low
99  return s_LArLow;
100  default:
101  return s_InvalidCell;
102  }
103  }
104 
105  };
106 
116  {
117  using carrier = unsigned int;
118 
120 
121  constexpr static carrier s_16_bit_mask = 0xFFFFU;
122  constexpr static carrier s_8_bit_mask = 0x00FFU;
123 
124  public:
125 
126  constexpr operator carrier () const
127  {
128  return value;
129  }
130 
131  constexpr QualityProvenance (const carrier v): value(v)
132  {
133  }
134 
136  {
137  value = v;
138  return (*this);
139  }
140 
141  constexpr unsigned int quality() const
142  {
143  return value & s_16_bit_mask;
144  }
145 
146  constexpr unsigned int provenance() const
147  {
148  return (value >> 16) & s_16_bit_mask;
149  }
150 
152  //For non-tile
153  {
154  value = (value << 16) | quality;
155  }
156 
157  constexpr QualityProvenance(const uint8_t q1, const uint8_t q2, const uint8_t q3, const uint8_t q4):
158  value(q4)
159  //For tile
160  {
161  value = (value << 8) | q3;
162  value = (value << 8) | q2;
163  value = (value << 8) | q1;
164  }
165 
166  constexpr unsigned int tile_qual1() const
167  {
168  return value & s_8_bit_mask;
169  }
170 
171  constexpr unsigned int tile_qual2() const
172  {
173  return (value >> 8) & s_8_bit_mask;
174  }
175 
176  constexpr unsigned int tile_qbit1() const
177  {
178  return (value >> 16) & s_8_bit_mask;
179  }
180 
181  constexpr unsigned int tile_qbit2() const
182  {
183  return (value >> 24) & s_8_bit_mask;
184  }
185  };
186 
187  struct CellInfoArr
188  {
190  unsigned char gain[NCaloCells];
191  float time[NCaloCells];
193  //We could use/type pun a short2,
194  //but let's go for portability for the time being...
195 
199  static constexpr bool is_bad(const bool is_tile, const QualityProvenance qp, const bool treat_L1_predicted_as_good = false)
200  {
201  bool ret = false;
202 
203  if (is_tile)
204  {
205 
206  const unsigned int mask = 0x08U;
207 
208  ret = (qp.tile_qbit1() & mask) && (qp.tile_qbit2() & mask);
209  //From TileCell::badcell()
210  //badch1() && badch2()
211  //badch1() -> m_tileQual[2]&TileCell::MASK_BADCH
212  //badch2() -> m_tileQual[3]&TileCell::MASK_BADCH
213  //
214  //TileCell::MASK_BADCH= 0x08
215  //
216  //From CaloCell:
217  //union {
218  // int m_quality ;
219  // uint16_t m_qualProv[2];
220  // uint8_t m_tileQual[4];
221  //};
222  //quality returns m_qualProv[0]
223  //provenance returns m_qualProv[1]
224  //These are used to build our QualityProvenance...
225  //
226  //It's packing and unpacking back and forth, how fun!
227  }
228  else
229  {
230  const unsigned int provenance = qp.provenance();
231  ret = provenance & 0x0800U;
232  //As in LArCell::badcell()
233 
234  if (treat_L1_predicted_as_good && (provenance & 0x0200U))
235  //As in CaloBadCellHelper::isBad
236  {
237  ret = false;
238  }
239  }
240  return ret;
241  }
242 
246  constexpr bool is_bad(const int cell, const bool treat_L1_predicted_as_good = false) const
247  {
248  return is_bad(GeometryArr::is_tile(cell), qualityProvenance[cell], treat_L1_predicted_as_good);
249  }
250 
254  constexpr bool is_bad(const GeometryArr & geom, const int cell, const bool treat_L1_predicted_as_good = false) const
255  {
256  return is_bad(geom.is_tile(cell), qualityProvenance[cell], treat_L1_predicted_as_good);
257  }
258 
261  constexpr bool passes_time_cut(const GeometryArr & geom, const int cell, const float threshold,
262  const bool use_crosstalk, const float crosstalk_delta) const
263  {
264  const int sampling = geom.sampling(cell);
265  if (sampling == CaloSampling::PreSamplerB ||
266  sampling == CaloSampling::PreSamplerE ||
267  sampling == CaloSampling::Unknown )
268  {
269  return true;
270  }
271  else
272  {
274  const unsigned int mask = geom.is_tile(cell) ? 0x8080U : 0x2000U;
275  if (qp.provenance() & mask)
276  {
277  const float this_time = time[cell];
278  if (fabsf(this_time) >= threshold)
279  {
280  if (use_crosstalk)
281  {
282  const float this_energy = energy[cell];
283  const bool eligible = (sampling == CaloSampling::EMB2 || (sampling == CaloSampling::EME2 && fabsf(geom.eta[cell]) < 2.5));
284  if (this_energy > 0 && eligible)
285  {
286  int neighbours[NMaxNeighbours] = {};
287 
289 
290  const int num_neighs = geom.get_neighbours(neigh_options, cell, neighbours);
291 
292  for (int i = 0; i < num_neighs; ++i)
293  {
294  const int neigh = neighbours[i];
295  if (is_valid(neigh) && energy[neigh] > 4 * this_energy)
296  {
297  const QualityProvenance neigh_qp = qualityProvenance[neigh];
298  if ( !(neigh_qp.provenance() & mask) || fabsf(time[neigh]) < threshold )
299  {
300  if (this_time > -threshold && this_time < threshold + crosstalk_delta)
301  {
302  return true;
303  }
304  }
305  }
306  }
307  }
308  }
309  return false;
310  }
311  }
312  }
313  return true;
314  }
315 
316  constexpr bool is_valid(const int cell) const
317  {
319  }
320  };
321 
323  {
325  };
326 
328  {
329  int number;
332  //Also used, as an intermediate value, to store AbsE
337  };
338 
340 //60 MB, but no explicit allocations needed.
341 //Worth the trade-off. GPU memory will only increase...
342  {
350  //These are, strictly speaking, not moments,
351  //but I think they are best left here rather than
352  //in the ClusterInfoArr since they are only filled in
353  //during cluster moments calculation...
354 
388  float PTD [NMaxClusters];
429  //And DigiHSTruth ones are reused here if that is the case?
430  //Maybe counting from the end if we need to keep both?
431  };
432 
433 }
434 
435 #endif
CaloRecGPU::ClusterMomentsArr::engCalibFracHad
float engCalibFracHad[NMaxClusters]
Definition: EventInfoDefinitions.h:427
CaloRecGPU::ClusterMomentsArr::avgTileQ
float avgTileQ[NMaxClusters]
Definition: EventInfoDefinitions.h:385
GetLCDefs::Unknown
@ Unknown
Definition: GetLCDefs.h:21
CaloRecGPU::CellInfoArr::gain
unsigned char gain[NCaloCells]
Definition: EventInfoDefinitions.h:190
CaloRecGPU::QualityProvenance::value
carrier value
Definition: EventInfoDefinitions.h:119
CaloRecGPU::GainConversion::from_standard_gain
static constexpr GainType from_standard_gain(const int gain)
Definition: EventInfoDefinitions.h:77
CaloRecGPU::ClusterMomentsArr::engCalibDeadEME0
float engCalibDeadEME0[NMaxClusters]
Definition: EventInfoDefinitions.h:421
CaloRecGPU::ClusterMomentsArr::mass
float mass[NMaxClusters]
Definition: EventInfoDefinitions.h:389
CaloRecGPU::ClusterInfoArr::number
int number
Definition: EventInfoDefinitions.h:329
CaloRecGPU::ClusterMomentsArr::secondR
float secondR[NMaxClusters]
Definition: EventInfoDefinitions.h:357
CaloRecGPU::ClusterMomentsArr::engCalibEME0
float engCalibEME0[NMaxClusters]
Definition: EventInfoDefinitions.h:415
CaloRecGPU::ClusterMomentsArr::engFracCore
float engFracCore[NMaxClusters]
Definition: EventInfoDefinitions.h:371
CaloRecGPU::GainConversion::is_valid
static constexpr bool is_valid(const T &gain)
Definition: EventInfoDefinitions.h:72
CaloRecGPU::ClusterMomentsArr::centerY
float centerY[NMaxClusters]
Definition: EventInfoDefinitions.h:363
CaloRecGPU::GainConversion::num_gain_values
static constexpr GainType num_gain_values()
Definition: EventInfoDefinitions.h:66
ReadCellNoiseFromCool.cell
cell
Definition: ReadCellNoiseFromCool.py:53
CaloRecGPU::ClusterMomentsArr::etaPerSample
float etaPerSample[NumSamplings][NMaxClusters]
Definition: EventInfoDefinitions.h:347
CaloRecGPU::QualityProvenance::QualityProvenance
constexpr QualityProvenance(const uint16_t quality, const uint16_t provenance)
Definition: EventInfoDefinitions.h:151
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
CaloRecGPU::ClusterMomentsArr::OOCweight
float OOCweight[NMaxClusters]
Definition: EventInfoDefinitions.h:392
CaloRecGPU::ClusterMomentsArr::engCalibEMB0
float engCalibEMB0[NMaxClusters]
Definition: EventInfoDefinitions.h:414
CaloRecGPU::GainConversion::s_LArLow
constexpr static GainType s_LArLow
Definition: EventInfoDefinitions.h:43
CaloRecGPU::ClusterMomentsArr::deltaTheta
float deltaTheta[NMaxClusters]
Definition: EventInfoDefinitions.h:360
CaloRecGPU::ClusterMomentsArr::badCellsCorrE
float badCellsCorrE[NMaxClusters]
Definition: EventInfoDefinitions.h:378
CaloRecGPU::ClusterMomentsArr::isolation
float isolation[NMaxClusters]
Definition: EventInfoDefinitions.h:374
CaloRecGPU::ClusterMomentsArr::PTD
float PTD[NMaxClusters]
Definition: EventInfoDefinitions.h:388
CaloRecGPU::ClusterMomentsArr::lateral
float lateral[NMaxClusters]
Definition: EventInfoDefinitions.h:367
CaloRecGPU::ClusterMomentsArr::longitudinal
float longitudinal[NMaxClusters]
Definition: EventInfoDefinitions.h:368
CaloRecGPU::ClusterMomentsArr::nBadHVCells
float nBadHVCells[NMaxClusters]
Definition: EventInfoDefinitions.h:387
CaloRecGPU::ClusterMomentsArr::eta1CaloFrame
float eta1CaloFrame[NMaxClusters]
Definition: EventInfoDefinitions.h:403
CaloRecGPU::QualityProvenance::tile_qbit1
constexpr unsigned int tile_qbit1() const
Definition: EventInfoDefinitions.h:176
CaloCondBlobAlgs_fillNoiseFromASCII.gain
gain
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:110
CaloRecGPU::GainConversion::s_TileLowHigh
constexpr static GainType s_TileLowHigh
Definition: EventInfoDefinitions.h:33
CaloRecGPU::GainConversion::s_gain_values_maximum
constexpr static GainType s_gain_values_maximum
Definition: EventInfoDefinitions.h:48
CaloRecGPU::ClusterMomentsArr::engCalibOutT
float engCalibOutT[NMaxClusters]
Definition: EventInfoDefinitions.h:410
CaloRecGPU::QualityProvenance::quality
constexpr unsigned int quality() const
Definition: EventInfoDefinitions.h:141
CaloRecGPU::ClusterMomentsArr::nBadCells
int nBadCells[NMaxClusters]
Definition: EventInfoDefinitions.h:376
CaloRecGPU::GainConversion::invalid_gain
static constexpr GainType invalid_gain()
Definition: EventInfoDefinitions.h:51
CaloRecGPU::CellInfoArr::energy
float energy[NCaloCells]
Definition: EventInfoDefinitions.h:189
CaloRecGPU::ClusterMomentsArr::nExtraCellSampling
int nExtraCellSampling[NMaxClusters]
Definition: EventInfoDefinitions.h:397
CaloRecGPU::ClusterMomentsArr::centerMag
float centerMag[NMaxClusters]
Definition: EventInfoDefinitions.h:365
CaloRecGPU::GainConversion::s_TileLowLow
constexpr static GainType s_TileLowLow
Definition: EventInfoDefinitions.h:32
CaloRecGPU::CellInfoArr::passes_time_cut
constexpr bool passes_time_cut(const GeometryArr &geom, const int cell, const float threshold, const bool use_crosstalk, const float crosstalk_delta) const
GPU equivalent of CaloTopoClusterMaker::passCellTimeCut.
Definition: EventInfoDefinitions.h:261
CaloRecGPU::ClusterInfoArr::seedCellID
int seedCellID[NMaxClusters]
Invalid(ated) clusters have seedCellID < 0.
Definition: EventInfoDefinitions.h:336
CaloRecGPU::ClusterMomentsArr::engPos
float engPos[NMaxClusters]
Definition: EventInfoDefinitions.h:380
CaloRecGPU::ClusterMomentsArr::engCalibDeadFCAL
float engCalibDeadFCAL[NMaxClusters]
Definition: EventInfoDefinitions.h:423
CaloRecGPU::ClusterMomentsArr::nCellSampling
int nCellSampling[NumSamplings][NMaxClusters]
Definition: EventInfoDefinitions.h:396
CaloRecGPU::QualityProvenance::tile_qual2
constexpr unsigned int tile_qual2() const
Definition: EventInfoDefinitions.h:171
CaloRecGPU::ClusterMomentsArr::engCalibDeadUnclass
float engCalibDeadUnclass[NMaxClusters]
Definition: EventInfoDefinitions.h:425
CaloRecGPU::ClusterMomentsArr::cellSigSampling
int cellSigSampling[NMaxClusters]
Definition: EventInfoDefinitions.h:383
CaloRecGPU::GainConversion::s_TileOneLow
constexpr static GainType s_TileOneLow
Definition: EventInfoDefinitions.h:37
CaloRecGPU::CellStateArr::clusterTag
tag_type clusterTag[NCaloCells]
Definition: EventInfoDefinitions.h:324
CaloRecGPU::ClusterMomentsArr::phiCaloFrame
float phiCaloFrame[NMaxClusters]
Definition: EventInfoDefinitions.h:402
CaloRecGPU::NumSamplings
constexpr int NumSamplings
Definition: BaseDefinitions.h:44
CaloRecGPU::GainConversion::s_gain_values_minimum
constexpr static GainType s_gain_values_minimum
Definition: EventInfoDefinitions.h:47
CaloRecGPU::ClusterMomentsArr::engCalibTot
float engCalibTot[NMaxClusters]
Definition: EventInfoDefinitions.h:407
CaloRecGPU::ClusterMomentsArr::engCalibFracEM
float engCalibFracEM[NMaxClusters]
Definition: EventInfoDefinitions.h:426
LArNeighbours::prevInPhi
@ prevInPhi
Definition: LArNeighbours.h:12
CaloRecGPU::ClusterMomentsArr::deltaAlpha
float deltaAlpha[NMaxClusters]
Definition: EventInfoDefinitions.h:361
CaloRecGPU::ClusterMomentsArr::engCalibOutL
float engCalibOutL[NMaxClusters]
Definition: EventInfoDefinitions.h:408
python.utils.AtlRunQueryLookup.mask
string mask
Definition: AtlRunQueryLookup.py:460
CaloRecGPU::ClusterMomentsArr::engCalibTileG3
float engCalibTileG3[NMaxClusters]
Definition: EventInfoDefinitions.h:416
CaloRecGPU::CellInfoArr::qualityProvenance
QualityProvenance::carrier qualityProvenance[NCaloCells]
Definition: EventInfoDefinitions.h:192
CaloRecGPU::ClusterMomentsArr::firstEta
float firstEta[NMaxClusters]
Definition: EventInfoDefinitions.h:356
CaloRecGPU::ClusterMomentsArr::cellSignificance
float cellSignificance[NMaxClusters]
Definition: EventInfoDefinitions.h:382
CaloRecGPU::ClusterMomentsArr::engCalibDeadEMB0
float engCalibDeadEMB0[NMaxClusters]
Definition: EventInfoDefinitions.h:418
CaloRecGPU::ClusterMomentsArr::nBadCellsCorr
int nBadCellsCorr[NMaxClusters]
Definition: EventInfoDefinitions.h:377
CaloRecGPU::ClusterMomentsArr::engCalibFracRest
float engCalibFracRest[NMaxClusters]
Definition: EventInfoDefinitions.h:428
CaloRecGPU::ClusterMomentsArr::secondTime
float secondTime[NMaxClusters]
Definition: EventInfoDefinitions.h:395
CaloRecGPU::ClusterMomentsArr::centerLambda
float centerLambda[NMaxClusters]
Definition: EventInfoDefinitions.h:366
TagDefinitions.h
CaloRecGPU::ClusterMomentsArr::time
float time[NMaxClusters]
Definition: EventInfoDefinitions.h:349
LArNeighbours::nextInPhi
@ nextInPhi
Definition: LArNeighbours.h:13
CaloRecGPU::CellStateArr
Definition: EventInfoDefinitions.h:323
CaloRecGPU::ClusterMomentsArr::tileConfidenceLevel
float tileConfidenceLevel[NMaxClusters]
Definition: EventInfoDefinitions.h:394
CaloRecGPU::ClusterMomentsArr::phi1CaloFrame
float phi1CaloFrame[NMaxClusters]
Definition: EventInfoDefinitions.h:404
CaloRecGPU::tag_type
TagBase::carrier tag_type
Definition: TagDefinitions.h:325
CaloRecGPU::QualityProvenance::carrier
unsigned int carrier
Definition: EventInfoDefinitions.h:117
CaloRecGPU::ClusterMomentsArr::deltaPhi
float deltaPhi[NMaxClusters]
Definition: EventInfoDefinitions.h:359
constants.EMB2
int EMB2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:54
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:88
CaloRecGPU::ClusterMomentsArr::secondEngDens
float secondEngDens[NMaxClusters]
Definition: EventInfoDefinitions.h:373
lumiFormat.i
int i
Definition: lumiFormat.py:85
CaloRecGPU::QualityProvenance::s_8_bit_mask
constexpr static carrier s_8_bit_mask
Definition: EventInfoDefinitions.h:122
CaloRecGPU::ClusterMomentsArr::maxEPerSample
float maxEPerSample[NumSamplings][NMaxClusters]
Definition: EventInfoDefinitions.h:344
CaloRecGPU::GeometryArr::is_tile
constexpr static bool is_tile(const int cell)
Definition: ConstantInfoDefinitions.h:246
CaloRecGPU::ClusterInfoArr::clusterEta
float clusterEta[NMaxClusters]
Definition: EventInfoDefinitions.h:333
CaloRecGPU::ClusterMomentsArr::phi2CaloFrame
float phi2CaloFrame[NMaxClusters]
Definition: EventInfoDefinitions.h:406
CaloRecGPU::ClusterMomentsArr::firstEngDens
float firstEngDens[NMaxClusters]
Definition: EventInfoDefinitions.h:372
CaloRecGPU::QualityProvenance::QualityProvenance
constexpr QualityProvenance(const uint8_t q1, const uint8_t q2, const uint8_t q3, const uint8_t q4)
Definition: EventInfoDefinitions.h:157
CaloRecGPU::ClusterInfoArr
Definition: EventInfoDefinitions.h:328
CaloRecGPU::GainConversion::s_LArHigh
constexpr static GainType s_LArHigh
Definition: EventInfoDefinitions.h:41
CaloRecGPU::ClusterMomentsArr::phiPerSample
float phiPerSample[NumSamplings][NMaxClusters]
Definition: EventInfoDefinitions.h:348
CaloRecGPU::ClusterInfoArr::clusterPhi
float clusterPhi[NMaxClusters]
Definition: EventInfoDefinitions.h:334
CaloRecGPU::ClusterMomentsArr::maxPhiPerSample
float maxPhiPerSample[NumSamplings][NMaxClusters]
Definition: EventInfoDefinitions.h:345
CaloRecGPU::ClusterMomentsArr::numCells
int numCells[NMaxClusters]
Definition: EventInfoDefinitions.h:398
CaloRecGPU::NCaloCells
constexpr int NCaloCells
Definition: BaseDefinitions.h:13
CaloRecGPU::GainConversion::s_TileHighLow
constexpr static GainType s_TileHighLow
Definition: EventInfoDefinitions.h:34
CaloRecGPU::QualityProvenance::QualityProvenance
constexpr QualityProvenance(const carrier v)
Definition: EventInfoDefinitions.h:131
CaloRecGPU::NMaxNeighbours
constexpr int NMaxNeighbours
Definition: BaseDefinitions.h:12
CaloRecGPU::CellInfoArr::time
float time[NCaloCells]
Definition: EventInfoDefinitions.h:191
CaloRecGPU::CellInfoArr
Definition: EventInfoDefinitions.h:188
CaloRecGPU::ClusterMomentsArr::energyPerSample
float energyPerSample[NumSamplings][NMaxClusters]
Definition: EventInfoDefinitions.h:343
CaloRecGPU::CellInfoArr::is_bad
constexpr bool is_bad(const GeometryArr &geom, const int cell, const bool treat_L1_predicted_as_good=false) const
GPU version of CaloBadCellHelper::isBad.
Definition: EventInfoDefinitions.h:254
CaloRecGPU::ClusterMomentsArr::engBadCells
float engBadCells[NMaxClusters]
Definition: EventInfoDefinitions.h:375
CaloRecGPU::ClusterMomentsArr::hadWeight
float hadWeight[NMaxClusters]
Definition: EventInfoDefinitions.h:391
CaloRecGPU::ClusterMomentsArr::engFracMax
float engFracMax[NMaxClusters]
Definition: EventInfoDefinitions.h:370
CaloRecGPU::ClusterMomentsArr::engCalibDeadTile0
float engCalibDeadTile0[NMaxClusters]
Definition: EventInfoDefinitions.h:419
CaloRecGPU::ClusterMomentsArr::nVertexFraction
float nVertexFraction[NMaxClusters]
Definition: EventInfoDefinitions.h:400
CaloRecGPU::ClusterMomentsArr::engCalibDeadTileG3
float engCalibDeadTileG3[NMaxClusters]
Definition: EventInfoDefinitions.h:420
CaloRecGPU::GainConversion::s_TileOneHigh
constexpr static GainType s_TileOneHigh
Definition: EventInfoDefinitions.h:38
threshold
Definition: chainparser.cxx:74
CaloRecGPU::ClusterMomentsArr::EMProbability
float EMProbability[NMaxClusters]
Definition: EventInfoDefinitions.h:390
CaloRecGPU::QualityProvenance::tile_qbit2
constexpr unsigned int tile_qbit2() const
Definition: EventInfoDefinitions.h:181
CaloRecGPU::ClusterMomentsArr::engCalibDeadT
float engCalibDeadT[NMaxClusters]
Definition: EventInfoDefinitions.h:413
CaloRecGPU::ClusterMomentsArr
Definition: EventInfoDefinitions.h:342
CaloRecGPU::ClusterMomentsArr::badLArQFrac
float badLArQFrac[NMaxClusters]
Definition: EventInfoDefinitions.h:379
CaloRecGPU::ClusterInfoArr::clusterEnergy
float clusterEnergy[NMaxClusters]
Definition: EventInfoDefinitions.h:330
CaloRecGPU::ClusterMomentsArr::firstPhi
float firstPhi[NMaxClusters]
Definition: EventInfoDefinitions.h:355
CaloRecGPU::CellInfoArr::is_bad
constexpr bool is_bad(const int cell, const bool treat_L1_predicted_as_good=false) const
GPU version of CaloBadCellHelper::isBad.
Definition: EventInfoDefinitions.h:246
CaloRecGPU::GainConversion::s_TileHighHigh
constexpr static GainType s_TileHighHigh
Definition: EventInfoDefinitions.h:35
CaloRecGPU::ClusterMomentsArr::engCalibDeadHEC0
float engCalibDeadHEC0[NMaxClusters]
Definition: EventInfoDefinitions.h:422
python.PyAthena.v
v
Definition: PyAthena.py:154
CaloRecGPU::QualityProvenance::operator=
constexpr QualityProvenance & operator=(const carrier v)
Definition: EventInfoDefinitions.h:135
CaloRecGPU::QualityProvenance::s_16_bit_mask
constexpr static carrier s_16_bit_mask
Definition: EventInfoDefinitions.h:121
CaloRecGPU::GainConversion::GainType
unsigned int GainType
Definition: EventInfoDefinitions.h:29
CaloRecGPU::GeometryArr
Definition: ConstantInfoDefinitions.h:219
ConstantInfoDefinitions.h
CaloRecGPU::ClusterMomentsArr::centerX
float centerX[NMaxClusters]
Definition: EventInfoDefinitions.h:362
CaloRecGPU::GainConversion::min_gain_value
static constexpr GainType min_gain_value()
Definition: EventInfoDefinitions.h:61
CaloRecGPU::QualityProvenance::tile_qual1
constexpr unsigned int tile_qual1() const
Definition: EventInfoDefinitions.h:166
CaloRecGPU::GainConversion::s_InvalidCell
constexpr static GainType s_InvalidCell
Definition: EventInfoDefinitions.h:45
CaloCell_ID_FCS::PreSamplerE
@ PreSamplerE
Definition: FastCaloSim_CaloCell_ID.h:23
CaloCell_ID_FCS::PreSamplerB
@ PreSamplerB
Definition: FastCaloSim_CaloCell_ID.h:19
CaloRecGPU::NMaxClusters
constexpr int NMaxClusters
Definition: BaseDefinitions.h:28
CaloRecGPU::QualityProvenance
Definition: EventInfoDefinitions.h:116
CaloRecGPU::GainConversion::max_gain_value
static constexpr GainType max_gain_value()
Definition: EventInfoDefinitions.h:56
CaloRecGPU::ClusterMomentsArr::vertexFraction
float vertexFraction[NMaxClusters]
Definition: EventInfoDefinitions.h:399
CaloRecGPU::CellInfoArr::is_valid
constexpr bool is_valid(const int cell) const
Definition: EventInfoDefinitions.h:316
CaloRecGPU::ClusterMomentsArr::maxEtaPerSample
float maxEtaPerSample[NumSamplings][NMaxClusters]
Definition: EventInfoDefinitions.h:346
CaloRecGPU::GainConversion::s_LArMedium
constexpr static GainType s_LArMedium
Definition: EventInfoDefinitions.h:42
CaloRecGPU::ClusterInfoArr::clusterEt
float clusterEt[NMaxClusters]
Definition: EventInfoDefinitions.h:331
CaloRecGPU::ClusterMomentsArr::secondLambda
float secondLambda[NMaxClusters]
Definition: EventInfoDefinitions.h:358
CaloRecGPU::ClusterMomentsArr::engCalibDeadM
float engCalibDeadM[NMaxClusters]
Definition: EventInfoDefinitions.h:412
LArNeighbours.h
CaloRecGPU::CellInfoArr::is_bad
static constexpr bool is_bad(const bool is_tile, const QualityProvenance qp, const bool treat_L1_predicted_as_good=false)
GPU version of CaloBadCellHelper::isBad.
Definition: EventInfoDefinitions.h:199
LArDigits2NtupleDumper.geom
geom
Definition: LArDigits2NtupleDumper.py:133
CaloRecGPU::ClusterMomentsArr::engCalibDeadTot
float engCalibDeadTot[NMaxClusters]
Definition: EventInfoDefinitions.h:417
CaloRecGPU::GainConversion
Definition: EventInfoDefinitions.h:28
CaloRecGPU
Definition: BaseDefinitions.h:11
CaloRecGPU::ClusterMomentsArr::centerZ
float centerZ[NMaxClusters]
Definition: EventInfoDefinitions.h:364
CaloRecGPU::ClusterMomentsArr::engBadHVCells
float engBadHVCells[NMaxClusters]
Definition: EventInfoDefinitions.h:386
dumpTgcDigiThreshold.threshold
list threshold
Definition: dumpTgcDigiThreshold.py:34
CaloRecGPU::ClusterMomentsArr::engCalibDeadLeakage
float engCalibDeadLeakage[NMaxClusters]
Definition: EventInfoDefinitions.h:424
CaloRecGPU::ClusterMomentsArr::eta2CaloFrame
float eta2CaloFrame[NMaxClusters]
Definition: EventInfoDefinitions.h:405
constants.EME2
int EME2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:56
CaloRecGPU::ClusterMomentsArr::engCalibOutM
float engCalibOutM[NMaxClusters]
Definition: EventInfoDefinitions.h:409
BaseDefinitions.h
CaloRecGPU::ClusterMomentsArr::avgLArQ
float avgLArQ[NMaxClusters]
Definition: EventInfoDefinitions.h:384
CaloRecGPU::ClusterMomentsArr::significance
float significance[NMaxClusters]
Definition: EventInfoDefinitions.h:381
CaloRecGPU::ClusterMomentsArr::engFracEM
float engFracEM[NMaxClusters]
Definition: EventInfoDefinitions.h:369
CaloRecGPU::ClusterMomentsArr::engCalibDeadL
float engCalibDeadL[NMaxClusters]
Definition: EventInfoDefinitions.h:411
CaloRecGPU::QualityProvenance::provenance
constexpr unsigned int provenance() const
Definition: EventInfoDefinitions.h:146
CaloRecGPU::ClusterMomentsArr::etaCaloFrame
float etaCaloFrame[NMaxClusters]
Definition: EventInfoDefinitions.h:401
CaloRecGPU::ClusterMomentsArr::DMweight
float DMweight[NMaxClusters]
Definition: EventInfoDefinitions.h:393