4#ifndef XAODCALORINGS_VERSIONS_RINGSETCONF_V1_H
5#define XAODCALORINGS_VERSIONS_RINGSETCONF_V1_H
12#include "CaloGeoHelpers/CaloSampling.h"
53 std::vector<CaloSampling::CaloSample>
layers;
93 const std::vector<CaloSampling::CaloSample> &
layers,
104 const std::vector<CaloSampling::CaloSample> &
layers,
134 static bool isPSLayer (
const std::vector<CaloSampling::CaloSample> &
layers);
135 static bool isEM1Layer (
const std::vector<CaloSampling::CaloSample> &
layers);
136 static bool isEM2Layer (
const std::vector<CaloSampling::CaloSample> &
layers);
137 static bool isEM3Layer (
const std::vector<CaloSampling::CaloSample> &
layers);
145 const std::vector<CaloSampling::CaloSample> &
layers);
147 const std::vector<CaloSampling::CaloSample> &
layers);
151 static void print(
const RawConf &raw, std::ostream &stream);
207 const std::vector<CaloSampling::CaloSample> &rsLayers,
253 const std::vector< CaloSampling::CaloSample >&
layers()
const;
441 void print( std::ostream &stream )
const;
Base class for elements of a container that can have aux data.
#define SG_BASE(D, B)
Declare that class D derives from class B.
An STL vector of pointers that by default owns its pointed-to elements.
Base class for elements of a container that can have aux data.
void makePrivateStore()
Create a new (empty) private store for this object.
const SG::AuxVectorData * container() const
Return the container holding this element.
AuxElement()
Default constructor.
Class holding the RingSet configuration used for the Reconstruction.
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...
const RingSetConf_v1::RawConf getRawConf() const
Retrieve raw RingSet Configuration struct.
CaloSampling::CaloSample layerAt(const unsigned idx) const
Get ith layer.
std::vector< RawConf > RawConfCollection
typedef The raw configuration structure data holder
static bool isPSLayer(const std::vector< CaloSampling::CaloSample > &layers)
void setCellMaxDEtaDist(float cellMaxDEtaDist)
Set maxCellDEtaDist.
static bool isEMSection(const std::vector< CaloSampling::CaloSample > &layers)
Static methods:
static bool isHADSection(const std::vector< CaloSampling::CaloSample > &layers)
unsigned nRings() const
Get nRings.
static bool isEM3Layer(const std::vector< CaloSampling::CaloSample > &layers)
float cellMaxDEtaDist() const
Return the maximun cell distance in eta w.r.t seed.
static Ringer::CalJointLayer whichLayer(const std::vector< CaloSampling::CaloSample > &layers)
unsigned sectionEndIdx() const
Returns end of section index for this RingSet Configuration when this configuration is concatened int...
static void print(const RawConf &raw, std::ostream &stream)
Prints rawConf.
unsigned nLayers() const
RingSet layers size:
RingSetConf_v1 & operator=(const RingSetConf_v1 &clrings)
Assignment Operator.
float cellMaxDPhiDist() const
Return the maximun cell distance in phi w.r.t seed.
static Ringer::CalJointSection whichSection(const std::vector< CaloSampling::CaloSample > &layers)
void setLayerEndIdx(unsigned layerEndIdx)
Set end layer configuration index.
static void getRawConfCol(RawConfCollection &rawConfCol, const RingSetConfContainer_v1 *container)
Retrieve RawConfCollection from RingSetConf container.
void addLayer(const CaloSampling::CaloSample c)
Add layer.
static bool isHAD2Layer(const std::vector< CaloSampling::CaloSample > &layers)
void setSectionEndIdx(unsigned sectionEndIdx)
Set end section configuration index.
static bool isHAD3Layer(const std::vector< CaloSampling::CaloSample > &layers)
static bool isHAD1Layer(const std::vector< CaloSampling::CaloSample > &layers)
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.
void clearLayers()
Clear layers.
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
RingSetConf_v1()
Empty ctor:
static bool isEM1Layer(const std::vector< CaloSampling::CaloSample > &layers)
static void getEdges(const RawConfCollection &clRingsConf, const Ringer::CalJointSection sec, unsigned &startEdge, unsigned &endEdge)
Get CalJointSection start and end edges.
float phiWidth() const
Returns the phiWidth configuration step used for this RingSet.
void setLayerStartIdx(unsigned layerStartIdx)
Set start layer configuration index.
static void fillRingSetConfContainer(const RawConfCollection &rawConfCol, RingSetConfContainer_v1 &container)
Creates RingSetConfContainer from RawConfCollection.
void setCellMaxDPhiDist(float cellMaxDPhiDist)
Set maxCellDPhiDist.
static void addRawConfColBounderies(RawConfCollection &clRingsConf)
Add to RawConfCollection its JointLayer/JointSection bounderies.
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.
static bool isEM2Layer(const std::vector< CaloSampling::CaloSample > &layers)
static unsigned totalNumberOfRings(const RawConfCollection &clRingsConf)
Get the totalNumber of Rings contained in this configuration:
Namespace dedicated for Ringer utilities.
CalJointLayer
the joint calorimeter layers.
CalJointSection
the joint calorimeter sections.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
DataVector< xAOD::RingSetConf_v1 > RingSetConfContainer_v1
The container is a simple typedef for now.
unsigned sectionEndIdx
Hold the end of this section on a non-segmented representation:
float cellMaxDEtaDist
Maximum distance cell in eta to seed.
unsigned sectionStartIdx
Hold the start of this section on a non-segmented representation:
bool doPhiAxesDivision
Hold the option of phi axes division.
float cellMaxDPhiDist
Maximum distance cell in phi to seed.
bool doEtaAxesDivision
Hold the option of eta axes division.
Ringer::CalJointSection calJointSection
The Calorimeter Joint Section (see CaloRingsDefs.h)
RawConf()
Configuration Struct ctors.
Ringer::CalJointLayer calJointLayer
The Calorimeter Joint Layer of this RingSet (see CaloRingsDefs.h)
unsigned nRings
Ringset number of Rings.
float etaWidth
Ring Width in eta.
unsigned layerStartIdx
Hold the start of this layer on a non-segmented representation:
float phiWidth
Ring Width in phi.
std::vector< CaloSampling::CaloSample > layers
Ringset layers.
unsigned layerEndIdx
Hold the end of this layer on a non-segmented representation: