ATLAS Offline Software
RingSetConf_v1.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 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  // Protect against bad pointers:
366  if ( container == nullptr ) {
368  }
369 
370  // Loop through RawConfCollection and build true RingSetConf_v1 objects from
371  // them:
372  for ( const auto& rsRawConf : rawConfCol ) {
373  RingSetConf_v1 *rsConf = new RingSetConf_v1( rsRawConf );
374  container->push_back(rsConf);
375  }
376 
377 }
378 
379 //==============================================================================
381  RawConfCollection &rawConfCol,
382  const RingSetConfContainer_v1 *container)
383 {
384  // Protect against bad pointers:
385  if ( container == nullptr ) {
386  throw std::runtime_error(std::string("Retrieved nullptr when trying to create"
387  " RawConfCollection."));
388  }
389 
390  // Clear previous collection
391  rawConfCol.clear();
392  // Push back new configuration
393  for ( const auto *const rsConf : *container ) {
394  rawConfCol.push_back( rsConf->getRawConf() );
395  }
396 }
398 
401 //==============================================================================
402 RingSetConf_v1::RingSetConf_v1(const unsigned nRings,
403  const std::vector<CaloSampling::CaloSample> &layers,
404  const float etaWidth, const float phiWidth,
405  const float cellMaxDEtaDist, const float cellMaxDPhiDist,
406  const Ringer::CalJointLayer calJointLayer,
407  const Ringer::CalJointSection calJointSection,
408  const bool doEtaAxesDivision, const bool doPhiAxesDivision,
409  const unsigned layerStartIdx, const unsigned layerEndIdx,
410  const unsigned sectionStartIdx, const unsigned sectionEndIdx){
412  setNRings(nRings);
413  setLayers(layers);
426 }
427 
428 //==============================================================================
430  const RingSetConf_v1::RawConf &confStruct)
431 {
433  setNRings(confStruct.nRings);
434  setLayers(confStruct.layers);
435  setEtaWidth(confStruct.etaWidth);
436  setPhiWidth(confStruct.phiWidth);
439  setCalJointLayer(confStruct.calJointLayer);
443  setLayerStartIdx(confStruct.layerStartIdx);
444  setLayerEndIdx(confStruct.layerEndIdx);
446  setSectionEndIdx(confStruct.sectionEndIdx);
447 }
448 
449 //==============================================================================
451  const unsigned nRings,
452  const std::vector<CaloSampling::CaloSample> &layers,
453  const float etaWidth, const float phiWidth,
454  const float cellMaxDEtaDist, const float cellMaxDPhiDist,
455  const Ringer::CalJointLayer calJointLayer,
456  const Ringer::CalJointSection calJointSection,
457  const bool doEtaAxesDivision,
458  const bool doPhiAxesDivision):
459  nRings(nRings),
460  layers(layers),
461  etaWidth(etaWidth),
463  cellMaxDEtaDist(cellMaxDEtaDist),
465  calJointLayer(calJointLayer),
466  calJointSection(calJointSection),
467  doEtaAxesDivision(doEtaAxesDivision),
468  doPhiAxesDivision(doPhiAxesDivision),
469  layerStartIdx(0),
470  layerEndIdx(0),
471  sectionStartIdx(0),
472  sectionEndIdx(0){;}
473 
474 //==============================================================================
476  const unsigned nRings,
477  const std::vector<CaloSampling::CaloSample> &layers,
478  const float etaWidth, const float phiWidth,
479  const float cellMaxDEtaDist, const float cellMaxDPhiDist,
482  const bool doEtaAxesDivision,
483  const bool doPhiAxesDivision,
484  const unsigned layerStartIdx,
485  const unsigned layerEndIdx,
486  const unsigned sectionStartIdx,
487  const unsigned sectionEndIdx):
488  nRings(nRings),
489  layers(layers),
502 
503 //==============================================================================
505  const RingSetConf_v1 &rsConf):
506  nRings(rsConf.nRings()),
507  layers(rsConf.layers()),
508  etaWidth(rsConf.etaWidth()),
509  phiWidth(rsConf.phiWidth()),
512  calJointLayer(rsConf.calJointLayer()),
516  layerStartIdx(rsConf.layerStartIdx()),
517  layerEndIdx(rsConf.layerEndIdx()),
519  sectionEndIdx(rsConf.sectionEndIdx()){;}
521 
522 
525 //==============================================================================
527  unsigned,
528  nRings,
529  setNRings)
531 
532 //==============================================================================
535 const std::vector<CaloSampling::CaloSample>& RingSetConf_v1::layers() const {
536  static const SG::AuxElement::ConstAccessor<std::vector<unsigned> > acc("layers");
537  return reinterpret_cast<const std::vector<CaloSampling::CaloSample>& >(
538  acc( *this ) );
539 }
540 
541 //==============================================================================
543  const std::vector<CaloSampling::CaloSample>& layers) {
544  static const SG::AuxElement::Accessor<std::vector<unsigned> > acc("layers");
545  acc.set( *this , reinterpret_cast<const std::vector<unsigned>&>(layers) );
546 }
547 
548 //==============================================================================
549 unsigned RingSetConf_v1::nLayers() const {
550  static const SG::AuxElement::ConstAccessor<std::vector<unsigned> > acc("layers");
551  return acc( *this ).size();
552 }
553 
554 //==============================================================================
556  static const SG::AuxElement::ConstAccessor< std::vector<unsigned> > acc("layers");
557  return static_cast<CaloSampling::CaloSample>( acc( *this ).at(idx) );
558 }
559 
560 //==============================================================================
562  static const SG::AuxElement::Accessor< std::vector<unsigned> > acc("layers");
563  acc( *this ).push_back(c);
564 }
565 
566 //==============================================================================
568  static const SG::AuxElement::Accessor< std::vector<unsigned> > acc("layers");
569  acc( *this ).clear();
570 }
572 
575 //==============================================================================
577  static const SG::AuxElement::ConstAccessor< unsigned > acc("calJointLayer");
578  return static_cast<Ringer::CalJointLayer>( acc( *this ) );
579 }
580 
581 //==============================================================================
583  static const SG::AuxElement::Accessor< unsigned > acc("calJointLayer");
584  acc.set( *this , calJointLayer );
585 }
586 
587 //==============================================================================
589  static const SG::AuxElement::ConstAccessor< unsigned > acc("calJointSection");
590  return static_cast<Ringer::CalJointSection>( acc( *this ) );
591 }
592 
593 //==============================================================================
596  static const SG::AuxElement::Accessor< unsigned > acc("calJointSection");
597  acc.set( *this , calJointSection );
598 }
600 
603 //==============================================================================
605  float,
606  etaWidth,
607  setEtaWidth)
608 
609 //==============================================================================
611  float,
613  setPhiWidth)
614 
615 //==============================================================================
617  float,
620 
621 //==============================================================================
623  float,
626 
627 //==============================================================================
629  static const SG::AuxElement::ConstAccessor< char > acc("doEtaAxesDivision");
630  return static_cast<bool>( acc( *this) );
631 }
632 
633 //==============================================================================
635  static const SG::AuxElement::Accessor< char > acc("doEtaAxesDivision");
636  acc( *this) = static_cast<char>(doEtaAxesDivision);
637 }
638 
639 //==============================================================================
641  static const SG::AuxElement::ConstAccessor< char > acc("doPhiAxesDivision");
642  return static_cast<bool>( acc( *this ) );
643 }
644 
645 //==============================================================================
647  static const SG::AuxElement::Accessor< char > acc("doPhiAxesDivision");
648  acc( *this ) = static_cast<char>(doPhiAxesDivision);
649 }
651 
654 //==============================================================================
656  unsigned,
659 
660 //==============================================================================
662  unsigned,
665 
666 //==============================================================================
668  unsigned,
671 
672 //==============================================================================
674  unsigned,
678 
681 //==============================================================================
683  return RawConf( *this );
684 }
686 
687 //==============================================================================
689  if (this != &rsConf ){ // protect against invalid self-assignment
690  if (!this->container() && !this->hasStore() ) {
692  }
693  this->SG::AuxElement::operator=( rsConf );
694  }
695  // by convention, always return *this
696  return *this;
697 }
698 
699 //==============================================================================
700 void RingSetConf_v1::print( std::ostream &stream ) const {
701  stream << "| ";
702 
703  stream << nRings() << " Rings, Layer: " << calJointLayer() <<
704  " (" << layerStartIdx() << " -> " << layerEndIdx() <<
705  ") Section: " << calJointSection() <<
706  " (" << sectionStartIdx() << " -> " << sectionEndIdx() <<
707  "), etaWidth = " << etaWidth() << ", phiWidth = " << phiWidth() <<
708  ", cellMaxDEtaDist = " << cellMaxDEtaDist() <<
709  ", cellMaxDPhiDist = " << cellMaxDPhiDist() <<
710  ", doEtaAxesDivision = " << doEtaAxesDivision() <<
711  ", doPhiAxesDivision = " << doPhiAxesDivision();
712 
713  stream << "|" << std::endl;
714 }
715 
716 } // namespace xAOD
717 
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:582
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:555
xAOD::RingSetConf_v1::setSectionEndIdx
void setSectionEndIdx(unsigned sectionEndIdx)
Set end section configuration index.
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:688
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:634
SG::Accessor
Helper class to provide type-safe access to aux data.
Definition: Control/AthContainers/AthContainers/Accessor.h:66
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:114
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:576
xAOD::RingSetConf_v1::nLayers
unsigned nLayers() const
RingSet layers size:
Definition: RingSetConf_v1.cxx:549
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:54
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:380
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:562
xAOD::RingSetConf_v1::addLayer
void addLayer(const CaloSampling::CaloSample c)
Add layer.
Definition: RingSetConf_v1.cxx:561
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:594
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:624
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:682
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:581
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:567
xAOD::RingSetConf_v1::doPhiAxesDivision
bool doPhiAxesDivision() const
Return the phiAxesDivision configuration.
Definition: RingSetConf_v1.cxx:640
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:172
SG::AuxElement::operator=
AuxElement & operator=(const AuxElement &other)
Assignment.
xAOD::layerEndIdx
layerEndIdx
Definition: RingSetConf_v1.cxx:663
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:355
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:588
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:675
xAOD::phiWidth
phiWidth
Definition: RingSetConf_v1.cxx:612
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:628
xAOD::RingSetConfContainer_v1
DataVector< xAOD::RingSetConf_v1 > RingSetConfContainer_v1
The container is a simple typedef for now.
Definition: RingSetConf_v1.h:25
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
xAOD::RingSetConf_v1::fillRingSetConfContainer
static void fillRingSetConfContainer(const RawConfCollection &rawConfCol, RingSetConfContainer_v1 *container)
Creates RingSetConfContainer from RawConfCollection.
Definition: RingSetConf_v1.cxx:360
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:646
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