ATLAS Offline Software
Loading...
Searching...
No Matches
xAOD::RingSetConf_v1 Class Reference

Class holding the RingSet configuration used for the Reconstruction. More...

#include <RingSetConf_v1.h>

Inheritance diagram for xAOD::RingSetConf_v1:
Collaboration diagram for xAOD::RingSetConf_v1:

Classes

struct  RawConf

Public Types

RingSetConf_v1 nested types:
typedef std::vector< RawConfRawConfCollection
 typedef The raw configuration structure data holder

Public Member Functions

RingSetConf_v1 ctors
 RingSetConf_v1 ()
 Empty ctor:
 RingSetConf_v1 (const RingSetConf_v1 &ringset)
 Copy constructor.
 RingSetConf_v1 (const unsigned nRings, const std::vector< CaloSampling::CaloSample > &rsLayers, const float etaWidth, const float phiWidth, const float cellMaxDEtaDist, const float cellMaxDPhiDist, const Ringer::CalJointLayer calJointLayer, const Ringer::CalJointSection calJointSection, const bool doEtaAxesDivision, const bool doPhiAxesDivision, const unsigned layerStartIdx, const unsigned layerEndIdx, const unsigned sectionStartIdx, const unsigned sectionEndIdx)
 Set each individual variable:
confStruct value:

Set each AuxVariable with

 RingSetConf_v1 (const RawConf &confStruct)
RingSetConf_v1 nRings interation
unsigned nRings () const
 Get nRings.
void setNRings (unsigned nRings)
 Set nRings.
RingSetConf_v1 layer interation
unsigned nLayers () const
 RingSet layers size:
const std::vector< CaloSampling::CaloSample > & layers () const
 get layers
void setLayers (const std::vector< CaloSampling::CaloSample > &layers)
 set layers
CaloSampling::CaloSample layerAt (const unsigned idx) const
 Get ith layer.
void addLayer (const CaloSampling::CaloSample c)
 Add layer.
void clearLayers ()
 Clear layers.
RingSetConf_v1 etaWidth,phiWidth get and set:
float etaWidth () const
 Returns the etaWidth configuration step used for this RingSet.
float phiWidth () const
 Returns the phiWidth configuration step used for this RingSet.
void setEtaWidth (float etaWidth)
 Set etaWidth.
void setPhiWidth (float phiWidth)
 Set phiWidth.
float cellMaxDEtaDist () const
 Return the maximun cell distance in eta w.r.t seed.
float cellMaxDPhiDist () const
 Return the maximun cell distance in phi w.r.t seed.
void setCellMaxDEtaDist (float cellMaxDEtaDist)
 Set maxCellDEtaDist.
void setCellMaxDPhiDist (float cellMaxDPhiDist)
 Set maxCellDPhiDist.
bool doEtaAxesDivision () const
 Return the etaAxesDivision configuration.
void setdoEtaAxesDivision (bool doEtaAxesDivision)
 Set doEtaAxesDivision.
bool doPhiAxesDivision () const
 Return the phiAxesDivision configuration.
void setdoPhiAxesDivision (bool doPhiAxesDivision)
 Set doPhiAxesDivision.
RingSetConf_v1 calJointLayer, calJoint
Ringer::CalJointLayer calJointLayer () const
 Retrieve this RingSet conf CalJointLayer.
Ringer::CalJointSection calJointSection () const
 Retrieve this RingSet conf CalJointSection.
void setCalJointLayer (Ringer::CalJointLayer calJointLayer)
 Set this RingSet CalJointLayer.
void setCalJointSection (Ringer::CalJointSection calJointSection)
 Set this RingSet CalJointSection.
RingSetConf_v1 layerStartIdx,layerEndIdx,sectionEndIdx,sectionEndIdx

interaction

unsigned layerStartIdx () const
 Returns start of layer index for this RingSet Configuration when this configuration is concatened into a non segmented representation.
unsigned sectionStartIdx () const
 Returns start of section index for this RingSet Configuration when this configuration is concatened into a non segmented representation.
unsigned layerEndIdx () const
 Returns end of section index for this RingSet Configuration when this configuration is concatened into a non segmented representation.
unsigned sectionEndIdx () const
 Returns end of section index for this RingSet Configuration when this configuration is concatened into a non segmented representation.
void setLayerStartIdx (unsigned layerStartIdx)
 Set start layer configuration index.
void setSectionStartIdx (unsigned sectionEndIdx)
 Set start section configuration index.
void setLayerEndIdx (unsigned layerEndIdx)
 Set end layer configuration index.
void setSectionEndIdx (unsigned sectionEndIdx)
 Set end section configuration index.
RingSetConf_v1 using ostream:

Print

void print (std::ostream &stream) const
CaloRingsConf_v1 utilities
const RingSetConf_v1::RawConf getRawConf () const
 Retrieve raw RingSet Configuration struct.
RingSetConf_v1 operators overload:
RingSetConf_v1operator= (const RingSetConf_v1 &clrings)
 Assignment Operator.

Static Public Member Functions

RingSetConf_v1 is at a specific calorimeter

Static methods

Check if this section/layer

static bool isEMSection (const std::vector< CaloSampling::CaloSample > &layers)
 Static methods:
static bool isHADSection (const std::vector< CaloSampling::CaloSample > &layers)
static bool isPSLayer (const std::vector< CaloSampling::CaloSample > &layers)
static bool isEM1Layer (const std::vector< CaloSampling::CaloSample > &layers)
static bool isEM2Layer (const std::vector< CaloSampling::CaloSample > &layers)
static bool isEM3Layer (const std::vector< CaloSampling::CaloSample > &layers)
static bool isHAD1Layer (const std::vector< CaloSampling::CaloSample > &layers)
static bool isHAD2Layer (const std::vector< CaloSampling::CaloSample > &layers)
static bool isHAD3Layer (const std::vector< CaloSampling::CaloSample > &layers)
RingSetConf_v1

Returns the section/layer for this specific

static Ringer::CalJointSection whichSection (const std::vector< CaloSampling::CaloSample > &layers)
static Ringer::CalJointLayer whichLayer (const std::vector< CaloSampling::CaloSample > &layers)
static void print (const RawConf &raw, std::ostream &stream)
 Prints rawConf.
static unsigned totalNumberOfRings (const RawConfCollection &clRingsConf)
 Get the totalNumber of Rings contained in this configuration:
static void getEdges (const RawConfCollection &clRingsConf, const Ringer::CalJointSection sec, unsigned &startEdge, unsigned &endEdge)
 Get CalJointSection start and end edges.
static void getEdges (const RawConfCollection &clRingsConf, const Ringer::CalJointLayer layer, unsigned &startEdge, unsigned &endEdge)
 Get CalJointLayer start and end edges.
static void addRawConfColBounderies (RawConfCollection &clRingsConf)
 Add to RawConfCollection its JointLayer/JointSection bounderies.
static void fillRingSetConfContainer (const RawConfCollection &rawConfCol, RingSetConfContainer_v1 &container)
 Creates RingSetConfContainer from RawConfCollection.
static void getRawConfCol (RawConfCollection &rawConfCol, const RingSetConfContainer_v1 *container)
 Retrieve RawConfCollection from RingSetConf container.
static void print (const RawConfCollection &raw, std::ostream &stream)
 Prints RawConfCollection.

Detailed Description

Class holding the RingSet configuration used for the Reconstruction.

Author
Werner Spolidoro Freund wsfre.nosp@m.und@.nosp@m.cern..nosp@m.ch

Definition at line 35 of file RingSetConf_v1.h.

Member Typedef Documentation

◆ RawConfCollection

typedef The raw configuration structure data holder

Definition at line 124 of file RingSetConf_v1.h.

Constructor & Destructor Documentation

◆ RingSetConf_v1() [1/4]

xAOD::RingSetConf_v1::RingSetConf_v1 ( )
inline

Empty ctor:

Ctors.

Definition at line 466 of file RingSetConf_v1.h.

466{;}

◆ RingSetConf_v1() [2/4]

xAOD::RingSetConf_v1::RingSetConf_v1 ( const RingSetConf_v1 & ringset)
inline

Copy constructor.

Definition at line 470 of file RingSetConf_v1.h.

470 :
471 SG::AuxElement(ringsetconf)
472{
473 this->makePrivateStore(ringsetconf);
474}
void makePrivateStore()
Create a new (empty) private store for this object.
AuxElement(SG::AuxVectorData *container, size_t index)
Base class for elements of a container that can have aux data.

◆ RingSetConf_v1() [3/4]

xAOD::RingSetConf_v1::RingSetConf_v1 ( const unsigned nRings,
const std::vector< CaloSampling::CaloSample > & rsLayers,
const float etaWidth,
const float phiWidth,
const float cellMaxDEtaDist,
const float cellMaxDPhiDist,
const Ringer::CalJointLayer calJointLayer,
const Ringer::CalJointSection calJointSection,
const bool doEtaAxesDivision,
const bool doPhiAxesDivision,
const unsigned layerStartIdx,
const unsigned layerEndIdx,
const unsigned sectionStartIdx,
const unsigned sectionEndIdx )

Set each individual variable:

RingSetConf_v1 Ctors.

Definition at line 396 of file RingSetConf_v1.cxx.

404 {
420}
Ringer::CalJointSection calJointSection() const
Retrieve this RingSet conf CalJointSection.
unsigned layerEndIdx() const
Returns end of section index for this RingSet Configuration when this configuration is concatened int...
void setEtaWidth(float etaWidth)
Set etaWidth.
unsigned layerStartIdx() const
Returns start of layer index for this RingSet Configuration when this configuration is concatened int...
void setCellMaxDEtaDist(float cellMaxDEtaDist)
Set maxCellDEtaDist.
unsigned nRings() const
Get nRings.
float cellMaxDEtaDist() const
Return the maximun cell distance in eta w.r.t seed.
unsigned sectionEndIdx() const
Returns end of section index for this RingSet Configuration when this configuration is concatened int...
float cellMaxDPhiDist() const
Return the maximun cell distance in phi w.r.t seed.
void setLayerEndIdx(unsigned layerEndIdx)
Set end layer configuration index.
void setSectionEndIdx(unsigned sectionEndIdx)
Set end section configuration index.
void setCalJointSection(Ringer::CalJointSection calJointSection)
Set this RingSet CalJointSection.
float etaWidth() const
Returns the etaWidth configuration step used for this RingSet.
void setdoPhiAxesDivision(bool doPhiAxesDivision)
Set doPhiAxesDivision.
bool doEtaAxesDivision() const
Return the etaAxesDivision configuration.
unsigned sectionStartIdx() const
Returns start of section index for this RingSet Configuration when this configuration is concatened i...
void setSectionStartIdx(unsigned sectionEndIdx)
Set start section configuration index.
void setLayers(const std::vector< CaloSampling::CaloSample > &layers)
set layers
float phiWidth() const
Returns the phiWidth configuration step used for this RingSet.
void setLayerStartIdx(unsigned layerStartIdx)
Set start layer configuration index.
void setCellMaxDPhiDist(float cellMaxDPhiDist)
Set maxCellDPhiDist.
const std::vector< CaloSampling::CaloSample > & layers() const
get layers
Ringer::CalJointLayer calJointLayer() const
Retrieve this RingSet conf CalJointLayer.
void setPhiWidth(float phiWidth)
Set phiWidth.
bool doPhiAxesDivision() const
Return the phiAxesDivision configuration.
void setNRings(unsigned nRings)
Set nRings.
void setCalJointLayer(Ringer::CalJointLayer calJointLayer)
Set this RingSet CalJointLayer.
void setdoEtaAxesDivision(bool doEtaAxesDivision)
Set doEtaAxesDivision.

◆ RingSetConf_v1() [4/4]

xAOD::RingSetConf_v1::RingSetConf_v1 ( const RawConf & confStruct)

Definition at line 423 of file RingSetConf_v1.cxx.

425{
427 setNRings(confStruct.nRings);
428 setLayers(confStruct.layers);
429 setEtaWidth(confStruct.etaWidth);
430 setPhiWidth(confStruct.phiWidth);
431 setCellMaxDEtaDist(confStruct.cellMaxDEtaDist);
432 setCellMaxDPhiDist(confStruct.cellMaxDPhiDist);
433 setCalJointLayer(confStruct.calJointLayer);
434 setCalJointSection(confStruct.calJointSection);
435 setdoEtaAxesDivision(confStruct.doEtaAxesDivision);
436 setdoPhiAxesDivision(confStruct.doPhiAxesDivision);
437 setLayerStartIdx(confStruct.layerStartIdx);
438 setLayerEndIdx(confStruct.layerEndIdx);
439 setSectionStartIdx(confStruct.sectionStartIdx);
440 setSectionEndIdx(confStruct.sectionEndIdx);
441}

Member Function Documentation

◆ addLayer()

void xAOD::RingSetConf_v1::addLayer ( const CaloSampling::CaloSample c)

Add layer.

Definition at line 555 of file RingSetConf_v1.cxx.

555 {
556 static const SG::AuxElement::Accessor< std::vector<unsigned> > acc("layers");
557 acc( *this ).push_back(c);
558}
static const SG::AuxElement::Accessor< ElementLink< IParticleContainer > > acc("originalObjectLink")
Object used for setting/getting the dynamic decoration in question.

◆ addRawConfColBounderies()

void xAOD::RingSetConf_v1::addRawConfColBounderies ( RawConfCollection & clRingsConf)
static

Add to RawConfCollection its JointLayer/JointSection bounderies.

Definition at line 239 of file RingSetConf_v1.cxx.

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}
CalJointSection
the joint calorimeter sections.

◆ calJointLayer()

Ringer::CalJointLayer xAOD::RingSetConf_v1::calJointLayer ( ) const

Retrieve this RingSet conf CalJointLayer.

RingSetConf_v1 calJointLayer,calJointSection get and set:

Definition at line 570 of file RingSetConf_v1.cxx.

570 {
571 static const SG::AuxElement::ConstAccessor< unsigned > acc("calJointLayer");
572 return static_cast<Ringer::CalJointLayer>( acc( *this ) );
573}
CalJointLayer
the joint calorimeter layers.

◆ calJointSection()

Ringer::CalJointSection xAOD::RingSetConf_v1::calJointSection ( ) const

Retrieve this RingSet conf CalJointSection.

Definition at line 582 of file RingSetConf_v1.cxx.

582 {
583 static const SG::AuxElement::ConstAccessor< unsigned > acc("calJointSection");
584 return static_cast<Ringer::CalJointSection>( acc( *this ) );
585}

◆ cellMaxDEtaDist()

float xAOD::RingSetConf_v1::cellMaxDEtaDist ( ) const

Return the maximun cell distance in eta w.r.t seed.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ cellMaxDPhiDist()

float xAOD::RingSetConf_v1::cellMaxDPhiDist ( ) const

Return the maximun cell distance in phi w.r.t seed.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ clearLayers()

void xAOD::RingSetConf_v1::clearLayers ( )

Clear layers.

Definition at line 561 of file RingSetConf_v1.cxx.

561 {
562 static const SG::AuxElement::Accessor< std::vector<unsigned> > acc("layers");
563 acc( *this ).clear();
564}

◆ doEtaAxesDivision()

setPhiWidth setCellMaxDPhiDist bool xAOD::RingSetConf_v1::doEtaAxesDivision ( ) const

Return the etaAxesDivision configuration.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

Definition at line 622 of file RingSetConf_v1.cxx.

622 {
623 static const SG::AuxElement::ConstAccessor< char > acc("doEtaAxesDivision");
624 return static_cast<bool>( acc( *this) );
625}

◆ doPhiAxesDivision()

bool xAOD::RingSetConf_v1::doPhiAxesDivision ( ) const

Return the phiAxesDivision configuration.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

Definition at line 634 of file RingSetConf_v1.cxx.

634 {
635 static const SG::AuxElement::ConstAccessor< char > acc("doPhiAxesDivision");
636 return static_cast<bool>( acc( *this ) );
637}

◆ etaWidth()

float xAOD::RingSetConf_v1::etaWidth ( ) const

Returns the etaWidth configuration step used for this RingSet.

This parameter is used to determine which Ring index the cell is within, for eta coordinate.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ fillRingSetConfContainer()

void xAOD::RingSetConf_v1::fillRingSetConfContainer ( const RawConfCollection & rawConfCol,
RingSetConfContainer_v1 & container )
static

Creates RingSetConfContainer from RawConfCollection.

Definition at line 360 of file RingSetConf_v1.cxx.

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}
const SG::AuxVectorData * container() const
Return the container holding this element.

◆ getEdges() [1/2]

void xAOD::RingSetConf_v1::getEdges ( const RawConfCollection & clRingsConf,
const Ringer::CalJointLayer layer,
unsigned & startEdge,
unsigned & endEdge )
static

Get CalJointLayer start and end edges.

Definition at line 345 of file RingSetConf_v1.cxx.

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}

◆ getEdges() [2/2]

void xAOD::RingSetConf_v1::getEdges ( const RawConfCollection & clRingsConf,
const Ringer::CalJointSection sec,
unsigned & startEdge,
unsigned & endEdge )
static

Get CalJointSection start and end edges.

Definition at line 330 of file RingSetConf_v1.cxx.

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}

◆ getRawConf()

const RingSetConf_v1::RawConf xAOD::RingSetConf_v1::getRawConf ( ) const

Retrieve raw RingSet Configuration struct.

Definition at line 676 of file RingSetConf_v1.cxx.

676 {
677 return RawConf( *this );
678}

◆ getRawConfCol()

void xAOD::RingSetConf_v1::getRawConfCol ( RawConfCollection & rawConfCol,
const RingSetConfContainer_v1 * container )
static

Retrieve RawConfCollection from RingSetConf container.

Definition at line 374 of file RingSetConf_v1.cxx.

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}

◆ isEM1Layer()

bool xAOD::RingSetConf_v1::isEM1Layer ( const std::vector< CaloSampling::CaloSample > & layers)
static

Definition at line 80 of file RingSetConf_v1.cxx.

82{
83 if (layers.empty()) return false;
84 for (const CaloSampling::CaloSample layer : layers){
85 if ( (layer != CaloSampling::CaloSample::EMB1 ) &&
86 (layer != CaloSampling::CaloSample::EME1 ) ){
87 return false;
88 }
89 }
90 return true;
91}

◆ isEM2Layer()

bool xAOD::RingSetConf_v1::isEM2Layer ( const std::vector< CaloSampling::CaloSample > & layers)
static

Definition at line 94 of file RingSetConf_v1.cxx.

96{
97 if (layers.empty()) return false;
98 for (const auto &layer : layers){
99 if ( (layer != CaloSampling::CaloSample::EMB2 ) &&
100 (layer != CaloSampling::CaloSample::EME2 ) ){
101 return false;
102 }
103 }
104 return true;
105}

◆ isEM3Layer()

bool xAOD::RingSetConf_v1::isEM3Layer ( const std::vector< CaloSampling::CaloSample > & layers)
static

Definition at line 108 of file RingSetConf_v1.cxx.

110{
111 if (layers.empty()) return false;
112 for (const auto &layer : layers){
113 if ( (layer != CaloSampling::CaloSample::EMB3 ) &&
114 (layer != CaloSampling::CaloSample::EME3 ) ){
115 return false;
116 }
117 }
118 return true;
119}

◆ isEMSection()

bool xAOD::RingSetConf_v1::isEMSection ( const std::vector< CaloSampling::CaloSample > & layers)
static

Static methods:

Layer determination

Definition at line 21 of file RingSetConf_v1.cxx.

23{
24 if (layers.empty()) return false;
25 for (const auto &layer : layers){
26 if ( (layer != CaloSampling::CaloSample::PreSamplerB ) &&
27 (layer != CaloSampling::CaloSample::PreSamplerE ) &&
28 (layer != CaloSampling::CaloSample::EMB1 ) &&
29 (layer != CaloSampling::CaloSample::EMB2 ) &&
30 (layer != CaloSampling::CaloSample::EMB3 ) &&
31 (layer != CaloSampling::CaloSample::EME1 ) &&
32 (layer != CaloSampling::CaloSample::EME2 ) &&
33 (layer != CaloSampling::CaloSample::EME3 ) ){
34 return false;
35 }
36 }
37 return true;
38}

◆ isHAD1Layer()

bool xAOD::RingSetConf_v1::isHAD1Layer ( const std::vector< CaloSampling::CaloSample > & layers)
static

Definition at line 122 of file RingSetConf_v1.cxx.

124{
125 if (layers.empty()) return false;
126 for (const auto &layer : layers){
127 if ( (layer != CaloSampling::CaloSample::HEC0 ) &&
128 (layer != CaloSampling::CaloSample::HEC1 ) && // Added for flexibility
129 (layer != CaloSampling::CaloSample::TileBar0 ) &&
130 (layer != CaloSampling::CaloSample::TileGap1 ) && // Added for flexibility
131 (layer != CaloSampling::CaloSample::TileGap2 ) && // Added for flexibility
132 (layer != CaloSampling::CaloSample::TileGap3 ) &&
133 (layer != CaloSampling::CaloSample::TileExt0 ) ){
134 return false;
135 }
136 }
137 return true;
138}

◆ isHAD2Layer()

bool xAOD::RingSetConf_v1::isHAD2Layer ( const std::vector< CaloSampling::CaloSample > & layers)
static

Definition at line 141 of file RingSetConf_v1.cxx.

143{
144 if (layers.empty()) return false;
145 for (const auto &layer : layers){
146 if ( (layer != CaloSampling::CaloSample::HEC1 ) &&
147 (layer != CaloSampling::CaloSample::HEC2 ) &&
148 (layer != CaloSampling::CaloSample::TileBar1 ) &&
149 (layer != CaloSampling::CaloSample::TileGap1 ) &&
150 (layer != CaloSampling::CaloSample::TileGap2 ) && // Added for flexibility
151 (layer != CaloSampling::CaloSample::TileGap3 ) && // Added for flexibility
152 (layer != CaloSampling::CaloSample::TileExt1 ) ){
153 return false;
154 }
155 }
156 return true;
157}

◆ isHAD3Layer()

bool xAOD::RingSetConf_v1::isHAD3Layer ( const std::vector< CaloSampling::CaloSample > & layers)
static

Definition at line 160 of file RingSetConf_v1.cxx.

162{
163 if (layers.empty()) return false;
164 for (const auto &layer : layers){
165 if ( (layer != CaloSampling::CaloSample::HEC2 ) && // Added for flexibility
166 (layer != CaloSampling::CaloSample::HEC3 ) &&
167 (layer != CaloSampling::CaloSample::TileBar2 ) &&
168 (layer != CaloSampling::CaloSample::TileGap1 ) && // Added for flexibility
169 (layer != CaloSampling::CaloSample::TileGap2 ) &&
170 (layer != CaloSampling::CaloSample::TileGap3 ) && // Added for flexibility
171 (layer != CaloSampling::CaloSample::TileExt2 ) ){
172 return false;
173 }
174 }
175 return true;
176}

◆ isHADSection()

bool xAOD::RingSetConf_v1::isHADSection ( const std::vector< CaloSampling::CaloSample > & layers)
static

Definition at line 41 of file RingSetConf_v1.cxx.

43{
44 if (layers.empty()) return false;
45 for (const auto &layer : layers){
46 if ( (layer != CaloSampling::CaloSample::HEC0 ) &&
47 (layer != CaloSampling::CaloSample::HEC1 ) &&
48 (layer != CaloSampling::CaloSample::HEC2 ) &&
49 (layer != CaloSampling::CaloSample::HEC3 ) &&
50 (layer != CaloSampling::CaloSample::TileBar0 ) &&
51 (layer != CaloSampling::CaloSample::TileBar1 ) &&
52 (layer != CaloSampling::CaloSample::TileBar2 ) &&
53 (layer != CaloSampling::CaloSample::TileGap1 ) &&
54 (layer != CaloSampling::CaloSample::TileGap2 ) &&
55 (layer != CaloSampling::CaloSample::TileGap3 ) &&
56 (layer != CaloSampling::CaloSample::TileExt0 ) &&
57 (layer != CaloSampling::CaloSample::TileExt1 ) &&
58 (layer != CaloSampling::CaloSample::TileExt2 ) ){
59 return false;
60 }
61 }
62 return true;
63}

◆ isPSLayer()

bool xAOD::RingSetConf_v1::isPSLayer ( const std::vector< CaloSampling::CaloSample > & layers)
static

Definition at line 66 of file RingSetConf_v1.cxx.

68{
69 if (layers.empty()) return false;
70 for (const CaloSampling::CaloSample &layer : layers){
71 if ( (layer != CaloSampling::CaloSample::PreSamplerB ) &&
72 (layer != CaloSampling::CaloSample::PreSamplerE ) ){
73 return false;
74 }
75 }
76 return true;
77}

◆ layerAt()

CaloSampling::CaloSample xAOD::RingSetConf_v1::layerAt ( const unsigned idx) const

Get ith layer.

Definition at line 549 of file RingSetConf_v1.cxx.

549 {
550 static const SG::AuxElement::ConstAccessor< std::vector<unsigned> > acc("layers");
551 return static_cast<CaloSampling::CaloSample>( acc( *this ).at(idx) );
552}

◆ layerEndIdx()

unsigned xAOD::RingSetConf_v1::layerEndIdx ( ) const

Returns end of section index for this RingSet Configuration when this configuration is concatened into a non segmented representation.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ layers()

const std::vector< CaloSampling::CaloSample > & xAOD::RingSetConf_v1::layers ( ) const

get layers

Defined via AUXSTORE_OBJECT_SETTER_AND_GETTER macro

◆ layerStartIdx()

unsigned xAOD::RingSetConf_v1::layerStartIdx ( ) const

Returns start of layer index for this RingSet Configuration when this configuration is concatened into a non segmented representation.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ nLayers()

unsigned xAOD::RingSetConf_v1::nLayers ( ) const

RingSet layers size:

Definition at line 543 of file RingSetConf_v1.cxx.

543 {
544 static const SG::AuxElement::ConstAccessor<std::vector<unsigned> > acc("layers");
545 return acc( *this ).size();
546}

◆ nRings()

unsigned xAOD::RingSetConf_v1::nRings ( ) const

Get nRings.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ operator=()

RingSetConf_v1 & xAOD::RingSetConf_v1::operator= ( const RingSetConf_v1 & clrings)

Assignment Operator.

Using the assignment of SG::AuxElement.

Definition at line 682 of file RingSetConf_v1.cxx.

682 {
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}
bool hasStore() const
Return true if this object has an associated store.

◆ phiWidth()

float xAOD::RingSetConf_v1::phiWidth ( ) const

Returns the phiWidth configuration step used for this RingSet.

This parameter is used to determine which Ring index the cell is within, for phi coordinate.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ print() [1/3]

void xAOD::RingSetConf_v1::print ( const RawConf & raw,
std::ostream & stream )
static

Prints rawConf.

RawConf methods.

Definition at line 206 of file RingSetConf_v1.cxx.

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}

◆ print() [2/3]

void xAOD::RingSetConf_v1::print ( const RawConfCollection & raw,
std::ostream & stream )
static

Prints RawConfCollection.

Definition at line 319 of file RingSetConf_v1.cxx.

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}
static void print(const RawConf &raw, std::ostream &stream)
Prints rawConf.

◆ print() [3/3]

void xAOD::RingSetConf_v1::print ( std::ostream & stream) const

Definition at line 694 of file RingSetConf_v1.cxx.

694 {
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}

◆ sectionEndIdx()

unsigned xAOD::RingSetConf_v1::sectionEndIdx ( ) const

Returns end of section index for this RingSet Configuration when this configuration is concatened into a non segmented representation.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ sectionStartIdx()

unsigned xAOD::RingSetConf_v1::sectionStartIdx ( ) const

Returns start of section index for this RingSet Configuration when this configuration is concatened into a non segmented representation.

◆ setCalJointLayer()

void xAOD::RingSetConf_v1::setCalJointLayer ( Ringer::CalJointLayer calJointLayer)

Set this RingSet CalJointLayer.

Definition at line 576 of file RingSetConf_v1.cxx.

576 {
577 static const SG::AuxElement::Accessor< unsigned > acc("calJointLayer");
578 acc.set( *this , calJointLayer );
579}

◆ setCalJointSection()

void xAOD::RingSetConf_v1::setCalJointSection ( Ringer::CalJointSection calJointSection)

Set this RingSet CalJointSection.

Definition at line 588 of file RingSetConf_v1.cxx.

589 {
590 static const SG::AuxElement::Accessor< unsigned > acc("calJointSection");
591 acc.set( *this , calJointSection );
592}

◆ setCellMaxDEtaDist()

void xAOD::RingSetConf_v1::setCellMaxDEtaDist ( float cellMaxDEtaDist)

Set maxCellDEtaDist.

For more details, see maxCellDEtaDist()

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ setCellMaxDPhiDist()

void xAOD::RingSetConf_v1::setCellMaxDPhiDist ( float cellMaxDPhiDist)

Set maxCellDPhiDist.

For more details, see maxCellDPhiDist()

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ setdoEtaAxesDivision()

void xAOD::RingSetConf_v1::setdoEtaAxesDivision ( bool doEtaAxesDivision)

Set doEtaAxesDivision.

For more details, see doEtaAxesDivision()

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

Definition at line 628 of file RingSetConf_v1.cxx.

628 {
629 static const SG::AuxElement::Accessor< char > acc("doEtaAxesDivision");
630 acc( *this) = static_cast<char>(doEtaAxesDivision);
631}

◆ setdoPhiAxesDivision()

void xAOD::RingSetConf_v1::setdoPhiAxesDivision ( bool doPhiAxesDivision)

Set doPhiAxesDivision.

For more details, see doPhiAxesDivision()

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

Definition at line 640 of file RingSetConf_v1.cxx.

640 {
641 static const SG::AuxElement::Accessor< char > acc("doPhiAxesDivision");
642 acc( *this ) = static_cast<char>(doPhiAxesDivision);
643}

◆ setEtaWidth()

void xAOD::RingSetConf_v1::setEtaWidth ( float etaWidth)

Set etaWidth.

For more details, see phiWidth()

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ setLayerEndIdx()

void xAOD::RingSetConf_v1::setLayerEndIdx ( unsigned layerEndIdx)

Set end layer configuration index.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ setLayers()

void xAOD::RingSetConf_v1::setLayers ( const std::vector< CaloSampling::CaloSample > & layers)

set layers

Defined via AUXSTORE_OBJECT_SETTER_AND_GETTER macro

◆ setLayerStartIdx()

void xAOD::RingSetConf_v1::setLayerStartIdx ( unsigned layerStartIdx)

Set start layer configuration index.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ setNRings()

void xAOD::RingSetConf_v1::setNRings ( unsigned nRings)

Set nRings.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ setPhiWidth()

void xAOD::RingSetConf_v1::setPhiWidth ( float phiWidth)

Set phiWidth.

For more details, see phiWidth()

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ setSectionEndIdx()

void xAOD::RingSetConf_v1::setSectionEndIdx ( unsigned sectionEndIdx)

Set end section configuration index.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ setSectionStartIdx()

void xAOD::RingSetConf_v1::setSectionStartIdx ( unsigned sectionEndIdx)

Set start section configuration index.

Defined via AUXSTORE_PRIMITIVE_SETTER_AND_GETTER macro

◆ totalNumberOfRings()

unsigned xAOD::RingSetConf_v1::totalNumberOfRings ( const RawConfCollection & clRingsConf)
static

Get the totalNumber of Rings contained in this configuration:

RawConfCollection Methods.

Definition at line 227 of file RingSetConf_v1.cxx.

229{
230 unsigned totalNumberOfRings(0);
231 for ( const auto &rsRawConfCol : rawConfCol )
232 {
233 totalNumberOfRings += rsRawConfCol.nRings;
234 }
235 return totalNumberOfRings;
236}
static unsigned totalNumberOfRings(const RawConfCollection &clRingsConf)
Get the totalNumber of Rings contained in this configuration:

◆ whichLayer()

Ringer::CalJointLayer xAOD::RingSetConf_v1::whichLayer ( const std::vector< CaloSampling::CaloSample > & layers)
static

Definition at line 188 of file RingSetConf_v1.cxx.

190{
199}
static bool isPSLayer(const std::vector< CaloSampling::CaloSample > &layers)
static bool isEM3Layer(const std::vector< CaloSampling::CaloSample > &layers)
static bool isHAD2Layer(const std::vector< CaloSampling::CaloSample > &layers)
static bool isHAD3Layer(const std::vector< CaloSampling::CaloSample > &layers)
static bool isHAD1Layer(const std::vector< CaloSampling::CaloSample > &layers)
static bool isEM1Layer(const std::vector< CaloSampling::CaloSample > &layers)
static bool isEM2Layer(const std::vector< CaloSampling::CaloSample > &layers)
@ UnknownJointLayer

◆ whichSection()

Ringer::CalJointSection xAOD::RingSetConf_v1::whichSection ( const std::vector< CaloSampling::CaloSample > & layers)
static

Definition at line 179 of file RingSetConf_v1.cxx.

181{
185}
static bool isEMSection(const std::vector< CaloSampling::CaloSample > &layers)
Static methods:
static bool isHADSection(const std::vector< CaloSampling::CaloSample > &layers)
@ UnknownJointSection

The documentation for this class was generated from the following files: