ATLAS Offline Software
RingSetConf_v1.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // Local include(s).
8 
9 // System include(s).
10 #include <iostream>
11 
12 namespace xAOD {
13 
14 
15 //==============================================================================
18 
22  const std::vector<CaloSampling::CaloSample> &layers)
23 {
24  if (layers.empty()) return false;
25  for (const auto &layer : layers){
34  return false;
35  }
36  }
37  return true;
38 }
39 
40 //==============================================================================
42  const std::vector<CaloSampling::CaloSample> &layers)
43 {
44  if (layers.empty()) return false;
45  for (const auto &layer : layers){
59  return false;
60  }
61  }
62  return true;
63 }
64 
65 //==============================================================================
67  const std::vector<CaloSampling::CaloSample> &layers)
68 {
69  if (layers.empty()) return false;
70  for (const CaloSampling::CaloSample &layer : layers){
73  return false;
74  }
75  }
76  return true;
77 }
78 
79 //==============================================================================
81  const std::vector<CaloSampling::CaloSample> &layers)
82 {
83  if (layers.empty()) return false;
87  return false;
88  }
89  }
90  return true;
91 }
92 
93 //==============================================================================
95  const std::vector<CaloSampling::CaloSample> &layers)
96 {
97  if (layers.empty()) return false;
98  for (const auto &layer : layers){
101  return false;
102  }
103  }
104  return true;
105 }
106 
107 //==============================================================================
109  const std::vector<CaloSampling::CaloSample> &layers)
110 {
111  if (layers.empty()) return false;
112  for (const auto &layer : layers){
115  return false;
116  }
117  }
118  return true;
119 }
120 
121 //==============================================================================
123  const std::vector<CaloSampling::CaloSample> &layers)
124 {
125  if (layers.empty()) return false;
126  for (const auto &layer : layers){
128  (layer != CaloSampling::CaloSample::HEC1 ) && // Added for flexibility
130  (layer != CaloSampling::CaloSample::TileGap1 ) && // Added for flexibility
131  (layer != CaloSampling::CaloSample::TileGap2 ) && // Added for flexibility
134  return false;
135  }
136  }
137  return true;
138 }
139 
140 //==============================================================================
142  const std::vector<CaloSampling::CaloSample> &layers)
143 {
144  if (layers.empty()) return false;
145  for (const auto &layer : layers){
150  (layer != CaloSampling::CaloSample::TileGap2 ) && // Added for flexibility
151  (layer != CaloSampling::CaloSample::TileGap3 ) && // Added for flexibility
153  return false;
154  }
155  }
156  return true;
157 }
158 
159 //==============================================================================
161  const std::vector<CaloSampling::CaloSample> &layers)
162 {
163  if (layers.empty()) return false;
164  for (const auto &layer : layers){
165  if ( (layer != CaloSampling::CaloSample::HEC2 ) && // Added for flexibility
168  (layer != CaloSampling::CaloSample::TileGap1 ) && // Added for flexibility
170  (layer != CaloSampling::CaloSample::TileGap3 ) && // Added for flexibility
172  return false;
173  }
174  }
175  return true;
176 }
177 
178 //==============================================================================
180  const std::vector<CaloSampling::CaloSample> &layers)
181 {
185 }
186 
187 //==============================================================================
189  const std::vector<CaloSampling::CaloSample> &layers)
190 {
192  else if (isEM1Layer (layers)) return Ringer::CalJointLayer::EM1;
193  else if (isEM2Layer (layers)) return Ringer::CalJointLayer::EM2;
194  else if (isEM3Layer (layers)) return Ringer::CalJointLayer::EM3;
199 }
201 
204 
205 //==============================================================================
206 void RingSetConf_v1::print( const RawConf &raw, std::ostream &stream )
207 {
208  stream << "| ";
209 
210  stream << raw.nRings << " Rings, Layer: " << raw.calJointLayer <<
211  " (" << raw.layerStartIdx << " -> " << raw.layerEndIdx <<
212  ") Section: " << raw.calJointSection <<
213  " (" << raw.sectionStartIdx << " -> " << raw.sectionEndIdx <<
214  "), etaWidth = " << raw.etaWidth << ", phiWidth = " << raw.phiWidth <<
215  ", cellMaxDEtaDist = " << raw.cellMaxDEtaDist <<
216  ", cellMaxDPhiDist = " << raw.cellMaxDPhiDist <<
217  ", doEtaAxesDivision = " << raw.doEtaAxesDivision <<
218  ", doPhiAxesDivision = " << raw.doPhiAxesDivision;
219 
220  stream << "|" << std::endl;
221 }
223 
226 //==============================================================================
228  const RawConfCollection &rawConfCol )
229 {
230  unsigned totalNumberOfRings(0);
231  for ( const auto &rsRawConfCol : rawConfCol )
232  {
233  totalNumberOfRings += rsRawConfCol.nRings;
234  }
235  return totalNumberOfRings;
236 }
237 
238 //==============================================================================
240 {
241  if ( clRingsConf.empty() ) {
242  throw std::runtime_error(std::string(
243  "Cannot add the JointLayer/JointSection bounderies "
244  "into an empty RawConfCollection."));
245  }
246 
247  unsigned startOfEMJointSection(0),
248  endOfEMJointSection(0),
249  startOfHADJointSection(0),
250  endOfHADJointSection(0),
251  currentRingIdx(0);
252 
253  bool isWithinEMJointSection(false),
254  isWithinHADJointSection(false);
255 
256  // Get the section start, end indexes:
257  for ( const auto &rawConf : clRingsConf ){
258  Ringer::CalJointSection secType = rawConf.calJointSection;
259  bool isEM = secType == Ringer::CalJointSection::EM;
260  bool isHAD = secType == Ringer::CalJointSection::HAD;
261  // Check if we are entering a new section:
262  if ( !isWithinEMJointSection && isEM ) {
263  startOfEMJointSection = currentRingIdx;
264  isWithinEMJointSection = true;
265  }
266  if ( !isWithinHADJointSection && isHAD ) {
267  startOfHADJointSection = currentRingIdx;
268  isWithinHADJointSection = true;
269  }
270  // Check if we left a section:
271  if ( isWithinEMJointSection && !isEM ) {
272  endOfEMJointSection = currentRingIdx;
273  isWithinEMJointSection = false;
274  }
275  if ( isWithinHADJointSection && !isHAD ) {
276  endOfHADJointSection = currentRingIdx;
277  isWithinHADJointSection = false;
278  }
279  // Increment current index by the layer size:
280  currentRingIdx += rawConf.nRings;
281  }
282  // We finished looping, close the contained section boundery with the last
283  // ring index:
284  if ( isWithinEMJointSection ) {
285  endOfEMJointSection = currentRingIdx;
286  } else if ( isWithinHADJointSection ) {
287  endOfHADJointSection = currentRingIdx;
288  }
289 
290  currentRingIdx = 0;
291  // Now fill the indexes:
292  for ( auto &rawConf : clRingsConf ){
293  // Fill the layer indexes:
294  rawConf.layerStartIdx = currentRingIdx;
295  currentRingIdx += rawConf.nRings;
296  rawConf.layerEndIdx = currentRingIdx;
297  // Fill the section indexes:
298  switch (rawConf.calJointSection) {
300  {
301  rawConf.sectionStartIdx = startOfEMJointSection;
302  rawConf.sectionEndIdx = endOfEMJointSection;
303  break;
304  }
306  {
307  rawConf.sectionStartIdx = startOfHADJointSection;
308  rawConf.sectionEndIdx = endOfHADJointSection;
309  break;
310  }
311  default:
312  throw std::runtime_error(std::string(
313  "Found unknown JointSection type."));
314  }
315  }
316 }
317 
318 //==============================================================================
320  std::ostream &stream )
321 {
322  stream << "RawConfCollection is : " << std::endl;
323  for (unsigned rsIdx = 0; rsIdx < rawCol.size(); ++rsIdx) {
324  stream << "RawConf #" << rsIdx << " : ";
325  RingSetConf_v1::print(rawCol.at(rsIdx),stream);
326  }
327 }
328 
329 //==============================================================================
331  const Ringer::CalJointSection sec,
332  unsigned &startEdge,
333  unsigned &endEdge)
334 {
335  for( const auto &rsConf : clRingsConf ) {
336  if ( rsConf.calJointSection == sec ) {
337  startEdge = rsConf.sectionStartIdx;
338  endEdge = rsConf.sectionEndIdx;
339  return;
340  }
341  }
342 }
343 
344 //==============================================================================
347  unsigned &startEdge,
348  unsigned &endEdge)
349 {
350  for( const auto &rsConf : clRingsConf ) {
351  if ( rsConf.calJointLayer == layer ) {
352  startEdge = rsConf.layerStartIdx;
353  endEdge = rsConf.layerEndIdx;
354  return;
355  }
356  }
357 }
358 
359 //==============================================================================
361  const RawConfCollection &rawConfCol,
362  RingSetConfContainer_v1 &container)
363 {
364 
365  // Loop through RawConfCollection and build true RingSetConf_v1 objects from
366  // them:
367  for ( const auto& rsRawConf : rawConfCol ) {
368  container.push_back(std::make_unique<RingSetConf_v1>( rsRawConf ));
369  }
370 
371 }
372 
373 //==============================================================================
375  RawConfCollection &rawConfCol,
376  const RingSetConfContainer_v1 *container)
377 {
378  // Protect against bad pointers:
379  if ( container == nullptr ) {
380  throw std::runtime_error(std::string("Retrieved nullptr when trying to create"
381  " RawConfCollection."));
382  }
383 
384  // Clear previous collection
385  rawConfCol.clear();
386  // Push back new configuration
387  for ( const auto *const rsConf : *container ) {
388  rawConfCol.push_back( rsConf->getRawConf() );
389  }
390 }
392 
395 //==============================================================================
396 RingSetConf_v1::RingSetConf_v1(const unsigned nRings,
397  const std::vector<CaloSampling::CaloSample> &layers,
398  const float etaWidth, const float phiWidth,
399  const float cellMaxDEtaDist, const float cellMaxDPhiDist,
400  const Ringer::CalJointLayer calJointLayer,
401  const Ringer::CalJointSection calJointSection,
402  const bool doEtaAxesDivision, const bool doPhiAxesDivision,
403  const unsigned layerStartIdx, const unsigned layerEndIdx,
404  const unsigned sectionStartIdx, const unsigned sectionEndIdx){
406  setNRings(nRings);
407  setLayers(layers);
420 }
421 
422 //==============================================================================
424  const RingSetConf_v1::RawConf &confStruct)
425 {
427  setNRings(confStruct.nRings);
428  setLayers(confStruct.layers);
429  setEtaWidth(confStruct.etaWidth);
430  setPhiWidth(confStruct.phiWidth);
433  setCalJointLayer(confStruct.calJointLayer);
437  setLayerStartIdx(confStruct.layerStartIdx);
438  setLayerEndIdx(confStruct.layerEndIdx);
440  setSectionEndIdx(confStruct.sectionEndIdx);
441 }
442 
443 //==============================================================================
445  const unsigned nRings,
446  const std::vector<CaloSampling::CaloSample> &layers,
447  const float etaWidth, const float phiWidth,
448  const float cellMaxDEtaDist, const float cellMaxDPhiDist,
449  const Ringer::CalJointLayer calJointLayer,
450  const Ringer::CalJointSection calJointSection,
451  const bool doEtaAxesDivision,
452  const bool doPhiAxesDivision):
453  nRings(nRings),
454  layers(layers),
455  etaWidth(etaWidth),
457  cellMaxDEtaDist(cellMaxDEtaDist),
459  calJointLayer(calJointLayer),
460  calJointSection(calJointSection),
461  doEtaAxesDivision(doEtaAxesDivision),
462  doPhiAxesDivision(doPhiAxesDivision),
463  layerStartIdx(0),
464  layerEndIdx(0),
465  sectionStartIdx(0),
466  sectionEndIdx(0){;}
467 
468 //==============================================================================
470  const unsigned nRings,
471  const std::vector<CaloSampling::CaloSample> &layers,
472  const float etaWidth, const float phiWidth,
473  const float cellMaxDEtaDist, const float cellMaxDPhiDist,
476  const bool doEtaAxesDivision,
477  const bool doPhiAxesDivision,
478  const unsigned layerStartIdx,
479  const unsigned layerEndIdx,
480  const unsigned sectionStartIdx,
481  const unsigned sectionEndIdx):
482  nRings(nRings),
483  layers(layers),
496 
497 //==============================================================================
499  const RingSetConf_v1 &rsConf):
500  nRings(rsConf.nRings()),
501  layers(rsConf.layers()),
502  etaWidth(rsConf.etaWidth()),
503  phiWidth(rsConf.phiWidth()),
506  calJointLayer(rsConf.calJointLayer()),
510  layerStartIdx(rsConf.layerStartIdx()),
511  layerEndIdx(rsConf.layerEndIdx()),
513  sectionEndIdx(rsConf.sectionEndIdx()){;}
515 
516 
519 //==============================================================================
521  unsigned,
522  nRings,
523  setNRings)
525 
526 //==============================================================================
529 const std::vector<CaloSampling::CaloSample>& RingSetConf_v1::layers() const {
530  static const SG::AuxElement::ConstAccessor<std::vector<unsigned> > acc("layers");
531  return reinterpret_cast<const std::vector<CaloSampling::CaloSample>& >(
532  acc( *this ) );
533 }
534 
535 //==============================================================================
537  const std::vector<CaloSampling::CaloSample>& layers) {
538  static const SG::AuxElement::Accessor<std::vector<unsigned> > acc("layers");
539  acc.set( *this , reinterpret_cast<const std::vector<unsigned>&>(layers) );
540 }
541 
542 //==============================================================================
543 unsigned RingSetConf_v1::nLayers() const {
544  static const SG::AuxElement::ConstAccessor<std::vector<unsigned> > acc("layers");
545  return acc( *this ).size();
546 }
547 
548 //==============================================================================
550  static const SG::AuxElement::ConstAccessor< std::vector<unsigned> > acc("layers");
551  return static_cast<CaloSampling::CaloSample>( acc( *this ).at(idx) );
552 }
553 
554 //==============================================================================
556  static const SG::AuxElement::Accessor< std::vector<unsigned> > acc("layers");
557  acc( *this ).push_back(c);
558 }
559 
560 //==============================================================================
562  static const SG::AuxElement::Accessor< std::vector<unsigned> > acc("layers");
563  acc( *this ).clear();
564 }
566 
569 //==============================================================================
571  static const SG::AuxElement::ConstAccessor< unsigned > acc("calJointLayer");
572  return static_cast<Ringer::CalJointLayer>( acc( *this ) );
573 }
574 
575 //==============================================================================
577  static const SG::AuxElement::Accessor< unsigned > acc("calJointLayer");
578  acc.set( *this , calJointLayer );
579 }
580 
581 //==============================================================================
583  static const SG::AuxElement::ConstAccessor< unsigned > acc("calJointSection");
584  return static_cast<Ringer::CalJointSection>( acc( *this ) );
585 }
586 
587 //==============================================================================
590  static const SG::AuxElement::Accessor< unsigned > acc("calJointSection");
591  acc.set( *this , calJointSection );
592 }
594 
597 //==============================================================================
599  float,
600  etaWidth,
601  setEtaWidth)
602 
603 //==============================================================================
605  float,
607  setPhiWidth)
608 
609 //==============================================================================
611  float,
614 
615 //==============================================================================
617  float,
620 
621 //==============================================================================
623  static const SG::AuxElement::ConstAccessor< char > acc("doEtaAxesDivision");
624  return static_cast<bool>( acc( *this) );
625 }
626 
627 //==============================================================================
629  static const SG::AuxElement::Accessor< char > acc("doEtaAxesDivision");
630  acc( *this) = static_cast<char>(doEtaAxesDivision);
631 }
632 
633 //==============================================================================
635  static const SG::AuxElement::ConstAccessor< char > acc("doPhiAxesDivision");
636  return static_cast<bool>( acc( *this ) );
637 }
638 
639 //==============================================================================
641  static const SG::AuxElement::Accessor< char > acc("doPhiAxesDivision");
642  acc( *this ) = static_cast<char>(doPhiAxesDivision);
643 }
645 
648 //==============================================================================
650  unsigned,
653 
654 //==============================================================================
656  unsigned,
659 
660 //==============================================================================
662  unsigned,
665 
666 //==============================================================================
668  unsigned,
672 
675 //==============================================================================
677  return RawConf( *this );
678 }
680 
681 //==============================================================================
683  if (this != &rsConf ){ // protect against invalid self-assignment
684  if (!this->container() && !this->hasStore() ) {
686  }
687  this->SG::AuxElement::operator=( rsConf );
688  }
689  // by convention, always return *this
690  return *this;
691 }
692 
693 //==============================================================================
694 void RingSetConf_v1::print( std::ostream &stream ) const {
695  stream << "| ";
696 
697  stream << nRings() << " Rings, Layer: " << calJointLayer() <<
698  " (" << layerStartIdx() << " -> " << layerEndIdx() <<
699  ") Section: " << calJointSection() <<
700  " (" << sectionStartIdx() << " -> " << sectionEndIdx() <<
701  "), etaWidth = " << etaWidth() << ", phiWidth = " << phiWidth() <<
702  ", cellMaxDEtaDist = " << cellMaxDEtaDist() <<
703  ", cellMaxDPhiDist = " << cellMaxDPhiDist() <<
704  ", doEtaAxesDivision = " << doEtaAxesDivision() <<
705  ", doPhiAxesDivision = " << doPhiAxesDivision();
706 
707  stream << "|" << std::endl;
708 }
709 
710 } // namespace xAOD
711 
xAOD::RingSetConf_v1::RawConf::layerEndIdx
unsigned layerEndIdx
Hold the end of this layer on a non-segmented representation:
Definition: RingSetConf_v1.h:73
xAOD::RingSetConf_v1::setCalJointLayer
void setCalJointLayer(Ringer::CalJointLayer calJointLayer)
Set this RingSet CalJointLayer.
Definition: RingSetConf_v1.cxx:576
xAOD::RingSetConf_v1
Class holding the RingSet configuration used for the Reconstruction.
Definition: RingSetConf_v1.h:35
xAOD::AUXSTORE_PRIMITIVE_SETTER_AND_GETTER
AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1, float, IP2D_pb, setIP2D_pb) AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(BTagging_v1
Ringer::UnknownJointLayer
@ UnknownJointLayer
Definition: CaloRingsDefs.h:54
xAOD::RingSetConf_v1::isEMSection
static bool isEMSection(const std::vector< CaloSampling::CaloSample > &layers)
Static methods:
Definition: RingSetConf_v1.cxx:21
xAOD::RingSetConf_v1::layerAt
CaloSampling::CaloSample layerAt(const unsigned idx) const
Get ith layer.
Definition: RingSetConf_v1.cxx:549
xAOD::RingSetConf_v1::setSectionEndIdx
void setSectionEndIdx(unsigned sectionEndIdx)
Set end section configuration index.
xAOD::RingSetConf_v1::fillRingSetConfContainer
static void fillRingSetConfContainer(const RawConfCollection &rawConfCol, RingSetConfContainer_v1 &container)
Creates RingSetConfContainer from RawConfCollection.
Definition: RingSetConf_v1.cxx:360
xAOD::RingSetConf_v1::print
static void print(const RawConf &raw, std::ostream &stream)
Prints rawConf.
Definition: RingSetConf_v1.cxx:206
CaloCell_ID_FCS::TileExt2
@ TileExt2
Definition: FastCaloSim_CaloCell_ID.h:39
Ringer::HAD2
@ HAD2
Definition: CaloRingsDefs.h:51
constants.EMB1
int EMB1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:53
xAOD::RingSetConf_v1::operator=
RingSetConf_v1 & operator=(const RingSetConf_v1 &clrings)
Assignment Operator.
Definition: RingSetConf_v1.cxx:682
Ringer::EM3
@ EM3
Definition: CaloRingsDefs.h:49
xAOD::RingSetConf_v1::layerEndIdx
unsigned layerEndIdx() const
Returns end of section index for this RingSet Configuration when this configuration is concatened int...
xAOD::RingSetConf_v1::RawConf::layerStartIdx
unsigned layerStartIdx
Hold the start of this layer on a non-segmented representation:
Definition: RingSetConf_v1.h:71
Ringer::HAD3
@ HAD3
Definition: CaloRingsDefs.h:52
Ringer::HAD1
@ HAD1
Definition: CaloRingsDefs.h:50
xAOD::RingSetConf_v1::nRings
unsigned nRings() const
Get nRings.
xAOD::RingSetConf_v1::setdoEtaAxesDivision
void setdoEtaAxesDivision(bool doEtaAxesDivision)
Set doEtaAxesDivision.
Definition: RingSetConf_v1.cxx:628
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:68
xAOD::RingSetConf_v1::isHADSection
static bool isHADSection(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:41
xAOD::RingSetConf_v1::RawConf::phiWidth
float phiWidth
Ring Width in phi.
Definition: RingSetConf_v1.h:57
xAOD::RingSetConf_v1::isEM2Layer
static bool isEM2Layer(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:94
xAOD::RingSetConf_v1::isHAD1Layer
static bool isHAD1Layer(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:122
xAOD::RingSetConf_v1::setLayerEndIdx
void setLayerEndIdx(unsigned layerEndIdx)
Set end layer configuration index.
xAOD::RingSetConf_v1::RawConfCollection
std::vector< RawConf > RawConfCollection
typedef The raw configuration structure data holder
Definition: RingSetConf_v1.h:124
xAOD::RingSetConf_v1::setCellMaxDEtaDist
void setCellMaxDEtaDist(float cellMaxDEtaDist)
Set maxCellDEtaDist.
CaloCell_ID_FCS::TileExt0
@ TileExt0
Definition: FastCaloSim_CaloCell_ID.h:37
CaloCell_ID_FCS::TileBar1
@ TileBar1
Definition: FastCaloSim_CaloCell_ID.h:32
Ringer::EM2
@ EM2
Definition: CaloRingsDefs.h:48
module_driven_slicing.layers
layers
Definition: module_driven_slicing.py:113
xAOD::RingSetConf_v1::RawConf::cellMaxDPhiDist
float cellMaxDPhiDist
Maximum distance cell in phi to seed.
Definition: RingSetConf_v1.h:61
Ringer::HAD
@ HAD
Definition: CaloRingsDefs.h:20
xAOD::RingSetConf_v1::calJointLayer
Ringer::CalJointLayer calJointLayer() const
Retrieve this RingSet conf CalJointLayer.
Definition: RingSetConf_v1.cxx:570
xAOD::RingSetConf_v1::nLayers
unsigned nLayers() const
RingSet layers size:
Definition: RingSetConf_v1.cxx:543
xAOD::RingSetConf_v1::sectionEndIdx
unsigned sectionEndIdx() const
Returns end of section index for this RingSet Configuration when this configuration is concatened int...
xAOD::RingSetConf_v1::RawConf::calJointLayer
Ringer::CalJointLayer calJointLayer
The Calorimeter Joint Layer of this RingSet (see CaloRingsDefs.h)
Definition: RingSetConf_v1.h:63
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition: ICaloAffectedTool.h:24
SG::ConstAccessor
Helper class to provide constant type-safe access to aux data.
Definition: ConstAccessor.h:55
CaloCell_ID_FCS::HEC2
@ HEC2
Definition: FastCaloSim_CaloCell_ID.h:29
xAOD::RingSetConf_v1::getRawConfCol
static void getRawConfCol(RawConfCollection &rawConfCol, const RingSetConfContainer_v1 *container)
Retrieve RawConfCollection from RingSetConf container.
Definition: RingSetConf_v1.cxx:374
xAOD::RingSetConf_v1::RawConf::nRings
unsigned nRings
Ringset number of Rings.
Definition: RingSetConf_v1.h:51
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:560
xAOD::RingSetConf_v1::addLayer
void addLayer(const CaloSampling::CaloSample c)
Add layer.
Definition: RingSetConf_v1.cxx:555
AthenaPoolTestWrite.stream
string stream
Definition: AthenaPoolTestWrite.py:12
CaloCell_ID_FCS::TileGap3
@ TileGap3
Definition: FastCaloSim_CaloCell_ID.h:36
xAOD::RingSetConf_v1::RawConf::etaWidth
float etaWidth
Ring Width in eta.
Definition: RingSetConf_v1.h:55
xAOD::RingSetConf_v1::whichLayer
static Ringer::CalJointLayer whichLayer(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:188
xAOD::RingSetConf_v1::isPSLayer
static bool isPSLayer(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:66
xAOD::RingSetConf_v1::layers
const std::vector< CaloSampling::CaloSample > & layers() const
get layers
Ringer::UnknownJointSection
@ UnknownJointSection
Definition: CaloRingsDefs.h:22
xAOD::RingSetConf_v1::isHAD2Layer
static bool isHAD2Layer(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:141
Ringer::PS
@ PS
Definition: CaloRingsDefs.h:46
xAOD::RingSetConf_v1::isEM1Layer
static bool isEM1Layer(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:80
CaloCell_ID_FCS::HEC1
@ HEC1
Definition: FastCaloSim_CaloCell_ID.h:28
Ringer::EM
@ EM
Definition: CaloRingsDefs.h:19
constants.EMB2
int EMB2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:54
CaloSampling::CaloSample
CaloSample
Definition: Calorimeter/CaloGeoHelpers/CaloGeoHelpers/CaloSampling.h:22
xAOD::RingSetConf_v1::setCalJointSection
void setCalJointSection(Ringer::CalJointSection calJointSection)
Set this RingSet CalJointSection.
Definition: RingSetConf_v1.cxx:588
CaloCell_ID_FCS::TileBar0
@ TileBar0
Definition: FastCaloSim_CaloCell_ID.h:31
CaloCell_ID_FCS::TileGap2
@ TileGap2
Definition: FastCaloSim_CaloCell_ID.h:35
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
xAOD::cellMaxDPhiDist
setPhiWidth cellMaxDPhiDist
Definition: RingSetConf_v1.cxx:618
xAOD::RingSetConf_v1::addRawConfColBounderies
static void addRawConfColBounderies(RawConfCollection &clRingsConf)
Add to RawConfCollection its JointLayer/JointSection bounderies.
Definition: RingSetConf_v1.cxx:239
xAOD::RingSetConf_v1::isHAD3Layer
static bool isHAD3Layer(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:160
xAOD::RingSetConf_v1::RawConf::sectionEndIdx
unsigned sectionEndIdx
Hold the end of this section on a non-segmented representation:
Definition: RingSetConf_v1.h:77
xAOD::RingSetConf_v1::getRawConf
const RingSetConf_v1::RawConf getRawConf() const
Retrieve raw RingSet Configuration struct.
Definition: RingSetConf_v1.cxx:676
constants.EME1
int EME1
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:55
xAOD::RingSetConf_v1::RawConf::RawConf
RawConf()
Configuration Struct ctors.
Definition: RingSetConf_v1.h:478
xAOD::RingSetConf_v1::RawConf::layers
std::vector< CaloSampling::CaloSample > layers
Ringset layers.
Definition: RingSetConf_v1.h:53
xAOD::RingSetConf_v1::RawConf::sectionStartIdx
unsigned sectionStartIdx
Hold the start of this section on a non-segmented representation:
Definition: RingSetConf_v1.h:75
xAOD::RingSetConf_v1::setNRings
void setNRings(unsigned nRings)
Set nRings.
xAOD::RingSetConf_v1::setPhiWidth
void setPhiWidth(float phiWidth)
Set phiWidth.
xAOD::RingSetConf_v1::isEM3Layer
static bool isEM3Layer(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:108
DataVector
Derived DataVector<T>.
Definition: DataVector.h:795
xAOD::RingSetConf_v1::sectionStartIdx
unsigned sectionStartIdx() const
Returns start of section index for this RingSet Configuration when this configuration is concatened i...
CaloCell_ID_FCS::TileGap1
@ TileGap1
Definition: FastCaloSim_CaloCell_ID.h:34
xAOD::RingSetConf_v1::clearLayers
void clearLayers()
Clear layers.
Definition: RingSetConf_v1.cxx:561
xAOD::RingSetConf_v1::doPhiAxesDivision
bool doPhiAxesDivision() const
Return the phiAxesDivision configuration.
Definition: RingSetConf_v1.cxx:634
xAOD::RingSetConf_v1::etaWidth
float etaWidth() const
Returns the etaWidth configuration step used for this RingSet.
Ringer::CalJointLayer
CalJointLayer
the joint calorimeter layers.
Definition: CaloRingsDefs.h:45
xAOD::RingSetConf_v1::layerStartIdx
unsigned layerStartIdx() const
Returns start of layer index for this RingSet Configuration when this configuration is concatened int...
xAOD::RingSetConf_v1::getEdges
static void getEdges(const RawConfCollection &clRingsConf, const Ringer::CalJointSection sec, unsigned &startEdge, unsigned &endEdge)
Get CalJointSection start and end edges.
Definition: RingSetConf_v1.cxx:330
xAOD::RingSetConf_v1::RawConf::doEtaAxesDivision
bool doEtaAxesDivision
Hold the option of eta axes division.
Definition: RingSetConf_v1.h:67
xAOD::RingSetConf_v1::setSectionStartIdx
void setSectionStartIdx(unsigned sectionEndIdx)
Set start section configuration index.
CaloCell_ID_FCS::TileExt1
@ TileExt1
Definition: FastCaloSim_CaloCell_ID.h:38
CaloCell_ID_FCS::EME3
@ EME3
Definition: FastCaloSim_CaloCell_ID.h:26
xAOD::RingSetConf_v1::RawConf::calJointSection
Ringer::CalJointSection calJointSection
The Calorimeter Joint Section (see CaloRingsDefs.h)
Definition: RingSetConf_v1.h:65
SG::AuxElement::makePrivateStore
void makePrivateStore()
Create a new (empty) private store for this object.
Definition: AuxElement.cxx:192
SG::AuxElement::operator=
AuxElement & operator=(const AuxElement &other)
Assignment.
xAOD::layerEndIdx
layerEndIdx
Definition: RingSetConf_v1.cxx:657
CaloCell_ID_FCS::HEC0
@ HEC0
Definition: FastCaloSim_CaloCell_ID.h:27
xAOD::RingSetConf_v1::cellMaxDEtaDist
float cellMaxDEtaDist() const
Return the maximun cell distance in eta w.r.t seed.
SG::AuxElement::hasStore
bool hasStore() const
Return true if this object has an associated store.
Definition: AuxElement.cxx:398
xAOD::RingSetConf_v1::RingSetConf_v1
RingSetConf_v1()
Empty ctor:
Definition: RingSetConf_v1.h:466
xAOD::RingSetConf_v1::calJointSection
Ringer::CalJointSection calJointSection() const
Retrieve this RingSet conf CalJointSection.
Definition: RingSetConf_v1.cxx:582
xAOD::RingSetConf_v1::setEtaWidth
void setEtaWidth(float etaWidth)
Set etaWidth.
xAOD::RingSetConf_v1::RawConf::doPhiAxesDivision
bool doPhiAxesDivision
Hold the option of phi axes division.
Definition: RingSetConf_v1.h:69
CaloCell_ID_FCS::PreSamplerE
@ PreSamplerE
Definition: FastCaloSim_CaloCell_ID.h:23
CaloCell_ID_FCS::PreSamplerB
@ PreSamplerB
Definition: FastCaloSim_CaloCell_ID.h:19
xAOD::RingSetConf_v1::RawConf::cellMaxDEtaDist
float cellMaxDEtaDist
Maximum distance cell in eta to seed.
Definition: RingSetConf_v1.h:59
xAOD::RingSetConf_v1::phiWidth
float phiWidth() const
Returns the phiWidth configuration step used for this RingSet.
RingSetConf_v1.h
xAOD::sectionEndIdx
setLayerEndIdx sectionEndIdx
Definition: RingSetConf_v1.cxx:669
xAOD::phiWidth
phiWidth
Definition: RingSetConf_v1.cxx:606
xAOD::RingSetConf_v1::RawConf
Definition: RingSetConf_v1.h:49
LArNewCalib_DelayDump_OFC_Cali.idx
idx
Definition: LArNewCalib_DelayDump_OFC_Cali.py:69
xAOD::RingSetConf_v1::setLayerStartIdx
void setLayerStartIdx(unsigned layerStartIdx)
Set start layer configuration index.
xAOD::RingSetConf_v1::doEtaAxesDivision
bool doEtaAxesDivision() const
Return the etaAxesDivision configuration.
Definition: RingSetConf_v1.cxx:622
SG::AuxElement::container
const SG::AuxVectorData * container() const
Return the container holding this element.
RingSetConfContainer_v1.h
CaloCell_ID_FCS::HEC3
@ HEC3
Definition: FastCaloSim_CaloCell_ID.h:30
Ringer::EM1
@ EM1
Definition: CaloRingsDefs.h:47
xAOD::RingSetConf_v1::totalNumberOfRings
static unsigned totalNumberOfRings(const RawConfCollection &clRingsConf)
Get the totalNumber of Rings contained in this configuration:
Definition: RingSetConf_v1.cxx:227
CaloCell_ID_FCS::EMB3
@ EMB3
Definition: FastCaloSim_CaloCell_ID.h:22
xAOD::RingSetConf_v1::whichSection
static Ringer::CalJointSection whichSection(const std::vector< CaloSampling::CaloSample > &layers)
Definition: RingSetConf_v1.cxx:179
python.compressB64.c
def c
Definition: compressB64.py:93
CaloCell_ID_FCS::TileBar2
@ TileBar2
Definition: FastCaloSim_CaloCell_ID.h:33
xAOD::RingSetConf_v1::cellMaxDPhiDist
float cellMaxDPhiDist() const
Return the maximun cell distance in phi w.r.t seed.
xAOD::RingSetConf_v1::setdoPhiAxesDivision
void setdoPhiAxesDivision(bool doPhiAxesDivision)
Set doPhiAxesDivision.
Definition: RingSetConf_v1.cxx:640
Ringer::CalJointSection
CalJointSection
the joint calorimeter sections.
Definition: CaloRingsDefs.h:18
constants.EME2
int EME2
Definition: Calorimeter/CaloClusterCorrection/python/constants.py:56
xAOD::RingSetConf_v1::setCellMaxDPhiDist
void setCellMaxDPhiDist(float cellMaxDPhiDist)
Set maxCellDPhiDist.
xAOD::RingSetConf_v1::setLayers
void setLayers(const std::vector< CaloSampling::CaloSample > &layers)
set layers