ATLAS Offline Software
Loading...
Searching...
No Matches
eflowTrackCaloPoints Class Reference

This class stores a map of calorimeter layers and track parameters (the result of the track extrapolation to the calorimeter layers). More...

#include <eflowTrackCaloPoints.h>

Collaboration diagram for eflowTrackCaloPoints:

Public Member Functions

 eflowTrackCaloPoints (const std::map< eflowCalo::LAYER, const Trk::TrackParameters * > &trackParameters)
 eflowTrackCaloPoints (const std::map< eflowCalo::LAYER, const Trk::TrackParameters * > &trackParameters, std::map< CaloCell_ID::CaloSample, const Trk::TrackParameters * > &tileTrackParamaters)
 eflowTrackCaloPoints (const std::map< eflowCalo::LAYER, const Acts::BoundTrackParameters * > &trackParameters, const Acts::GeometryContext &gctx)
 eflowTrackCaloPoints ()
 ~eflowTrackCaloPoints ()
const std::pair< float, float > operator[] (eflowCalo::LAYER layer) const
const eflowEtaPhiPosition & getEtaPhiPos (eflowCalo::LAYER layer) const
const eflowEtaPhiPosition & getTileEtaPhiPos (CaloCell_ID::CaloSample layer) const
double getEta (eflowCalo::LAYER layer) const
double getPhi (eflowCalo::LAYER layer) const
double getTileEta (CaloCell_ID::CaloSample layer) const
double getTilePhi (CaloCell_ID::CaloSample layer) const
const std::pair< float, float > getEM2etaPhi () const
const eflowEtaPhiPosition & getEM2etaPhiPos () const
double getEM2eta () const
double getEM1eta () const
double getFCAL0eta () const
Amg::Vector3D getPosition (eflowCalo::LAYER layer)
bool haveLayer (eflowCalo::LAYER layer) const
void setEtaPhi (eflowCaloENUM secondLayer, double eta, double phi)
void setEtaPhiTile (CaloCell_ID::CaloSample secondLayer, const Amg::Vector3D &vecvec)
void setEtaPhi (eflowCalo::LAYER lay, const Amg::Vector3D &vecvec)
void copyEtaPhi (eflowCalo::LAYER fromLay, eflowCalo::LAYER toLay)

Static Public Member Functions

static double defaultEta ()
static double defaultPhi ()
static Amg::Vector3D parToPosition (const Trk::TrackParameters *extrapolatedParameters)
static Amg::Vector3D parToPosition (const Acts::BoundTrackParameters *extrapolatedParameters, const Acts::GeometryContext &gctx)

Public Attributes

bool m_isEM1Barrel
bool m_isEM2Barrel

Private Member Functions

eflowCalo::LAYER getEM2Layer () const
eflowCalo::LAYER getEM1Layer () const

Private Attributes

std::map< eflowCalo::LAYER, Amg::Vector3D > m_positions
std::map< eflowCalo::LAYER, eflowEtaPhiPosition > m_etaPhiPositions
 Eta-Phi positions per calorimeter layer using simolified particle flow naming scheme.
std::map< CaloCell_ID::CaloSample, eflowEtaPhiPosition > m_tileEtaPhiPositions
 Eta-Phi positions per tile layer in the 3 tile calorimeters - only used for experimental DNN based e/p.

Static Private Attributes

static const Amg::Vector3D m_nullVector = Amg::Vector3D(0.0, 0.0, 0.0)
static const std::pair< float, float > m_defaultEtaPhiPair = pair<float, float>(-999.0, -999.0)
static const eflowEtaPhiPosition m_defaultEtaPhiPosition = eflowEtaPhiPosition(-999.,-999.)

Detailed Description

This class stores a map of calorimeter layers and track parameters (the result of the track extrapolation to the calorimeter layers).

It also stores maps from calorimeter layers to positions, directions and eflowEtaPhiPositions.

Definition at line 34 of file eflowTrackCaloPoints.h.

Constructor & Destructor Documentation

◆ eflowTrackCaloPoints() [1/4]

eflowTrackCaloPoints::eflowTrackCaloPoints ( const std::map< eflowCalo::LAYER, const Trk::TrackParameters * > & trackParameters)

Definition at line 31 of file eflowTrackCaloPoints.cxx.

31 :
32 m_isEM1Barrel(trackParameters.begin()->first == eflowCalo::EMB1) {
33
34 /* Fill etaPhiPositions map */
35 std::map<eflowCalo::LAYER, const Trk::TrackParameters*>::const_iterator itPars = trackParameters.begin();
36 std::map<eflowCalo::LAYER, const Trk::TrackParameters*>::const_iterator endPars = trackParameters.end();
37 m_isEM2Barrel = false;
38 for (; itPars != endPars; ++itPars) {
39 setEtaPhi(itPars->first, parToPosition(itPars->second));
40 if (itPars->first == eflowCalo::EMB2) m_isEM2Barrel = true;
41 m_positions[itPars->first] = parToPosition(itPars->second);
42 }
43
44}
static Amg::Vector3D parToPosition(const Trk::TrackParameters *extrapolatedParameters)
void setEtaPhi(eflowCaloENUM secondLayer, double eta, double phi)
std::map< eflowCalo::LAYER, Amg::Vector3D > m_positions

◆ eflowTrackCaloPoints() [2/4]

eflowTrackCaloPoints::eflowTrackCaloPoints ( const std::map< eflowCalo::LAYER, const Trk::TrackParameters * > & trackParameters,
std::map< CaloCell_ID::CaloSample, const Trk::TrackParameters * > & tileTrackParamaters )

Definition at line 46 of file eflowTrackCaloPoints.cxx.

47 :
48 m_isEM1Barrel(trackParameters.begin()->first == eflowCalo::EMB1){
49 /* Fill etaPhiPositions map */
50 std::map<eflowCalo::LAYER, const Trk::TrackParameters*>::const_iterator itPars = trackParameters.begin();
51 std::map<eflowCalo::LAYER, const Trk::TrackParameters*>::const_iterator endPars = trackParameters.end();
52 m_isEM2Barrel = false;
53 for (; itPars != endPars; ++itPars) {
54 setEtaPhi(itPars->first, parToPosition(itPars->second));
55 if (itPars->first == eflowCalo::EMB2) m_isEM2Barrel = true;
56 m_positions[itPars->first] = parToPosition(itPars->second);
57 }
58
59 for (auto firstTileParam : tileTrackParamaters) setEtaPhiTile(firstTileParam.first,parToPosition(firstTileParam.second));
60
61 }
void setEtaPhiTile(CaloCell_ID::CaloSample secondLayer, const Amg::Vector3D &vec)

◆ eflowTrackCaloPoints() [3/4]

eflowTrackCaloPoints::eflowTrackCaloPoints ( const std::map< eflowCalo::LAYER, const Acts::BoundTrackParameters * > & trackParameters,
const Acts::GeometryContext & gctx )

Definition at line 63 of file eflowTrackCaloPoints.cxx.

64 :
65 m_isEM1Barrel(trackParameters.begin()->first == eflowCalo::EMB1){
66 for (auto keyValuePair : trackParameters) {
67 setEtaPhi(keyValuePair.first,parToPosition(keyValuePair.second, gctx));
68 if (keyValuePair.first == eflowCalo::EMB2) m_isEM2Barrel = true;
69 m_positions[keyValuePair.first] = parToPosition(keyValuePair.second, gctx);
70 }
71 }

◆ eflowTrackCaloPoints() [4/4]

eflowTrackCaloPoints::eflowTrackCaloPoints ( )
inline

Definition at line 43 of file eflowTrackCaloPoints.h.

43: m_isEM1Barrel(false), m_isEM2Barrel(false) {}

◆ ~eflowTrackCaloPoints()

eflowTrackCaloPoints::~eflowTrackCaloPoints ( )
default

Member Function Documentation

◆ copyEtaPhi()

void eflowTrackCaloPoints::copyEtaPhi ( eflowCalo::LAYER fromLay,
eflowCalo::LAYER toLay )
inline

Definition at line 98 of file eflowTrackCaloPoints.h.

98 {
99 std::map<eflowCalo::LAYER, eflowEtaPhiPosition>::const_iterator it = m_etaPhiPositions.find(fromLay);
100 if (it != m_etaPhiPositions.end()) {
101 m_etaPhiPositions[toLay] = it->second;
102 }
103}
std::map< eflowCalo::LAYER, eflowEtaPhiPosition > m_etaPhiPositions
Eta-Phi positions per calorimeter layer using simolified particle flow naming scheme.

◆ defaultEta()

double eflowTrackCaloPoints::defaultEta ( )
static

Definition at line 28 of file eflowTrackCaloPoints.cxx.

28{return (double)m_defaultEtaPhiPair.first;}
static const std::pair< float, float > m_defaultEtaPhiPair

◆ defaultPhi()

double eflowTrackCaloPoints::defaultPhi ( )
static

Definition at line 29 of file eflowTrackCaloPoints.cxx.

29{return (double)m_defaultEtaPhiPair.second;}

◆ getEM1eta()

double eflowTrackCaloPoints::getEM1eta ( ) const
inline

Definition at line 59 of file eflowTrackCaloPoints.h.

59{return getEtaPhiPos(getEM1Layer()).getEta(); }
double getEta() const
Definition eflowUtil.h:87
eflowCalo::LAYER getEM1Layer() const
const eflowEtaPhiPosition & getEtaPhiPos(eflowCalo::LAYER layer) const

◆ getEM1Layer()

eflowCalo::LAYER eflowTrackCaloPoints::getEM1Layer ( ) const
inlineprivate

Definition at line 85 of file eflowTrackCaloPoints.h.

◆ getEM2eta()

double eflowTrackCaloPoints::getEM2eta ( ) const
inline

Definition at line 58 of file eflowTrackCaloPoints.h.

58{return getEM2etaPhiPos().getEta(); }
const eflowEtaPhiPosition & getEM2etaPhiPos() const

◆ getEM2etaPhi()

const std::pair< float, float > eflowTrackCaloPoints::getEM2etaPhi ( ) const
inline

Definition at line 56 of file eflowTrackCaloPoints.h.

56{return (*this)[getEM2Layer()]; }
eflowCalo::LAYER getEM2Layer() const

◆ getEM2etaPhiPos()

const eflowEtaPhiPosition & eflowTrackCaloPoints::getEM2etaPhiPos ( ) const
inline

Definition at line 57 of file eflowTrackCaloPoints.h.

57{return getEtaPhiPos(getEM2Layer()); }

◆ getEM2Layer()

eflowCalo::LAYER eflowTrackCaloPoints::getEM2Layer ( ) const
inlineprivate

Definition at line 84 of file eflowTrackCaloPoints.h.

◆ getEta()

double eflowTrackCaloPoints::getEta ( eflowCalo::LAYER layer) const
inline

Definition at line 50 of file eflowTrackCaloPoints.h.

50{return getEtaPhiPos(layer).getEta();}

◆ getEtaPhiPos()

const eflowEtaPhiPosition & eflowTrackCaloPoints::getEtaPhiPos ( eflowCalo::LAYER layer) const

Definition at line 94 of file eflowTrackCaloPoints.cxx.

94 {
95 std::map< eflowCalo::LAYER, eflowEtaPhiPosition>::const_iterator it = m_etaPhiPositions.find(layer);
96 return (it == m_etaPhiPositions.end()) ? m_defaultEtaPhiPosition : it->second;
97}
static const eflowEtaPhiPosition m_defaultEtaPhiPosition

◆ getFCAL0eta()

double eflowTrackCaloPoints::getFCAL0eta ( ) const
inline

Definition at line 60 of file eflowTrackCaloPoints.h.

◆ getPhi()

double eflowTrackCaloPoints::getPhi ( eflowCalo::LAYER layer) const
inline

Definition at line 51 of file eflowTrackCaloPoints.h.

51{return getEtaPhiPos(layer).getPhiD();}
double getPhiD() const
Definition eflowUtil.h:89

◆ getPosition()

Amg::Vector3D eflowTrackCaloPoints::getPosition ( eflowCalo::LAYER layer)

Definition at line 104 of file eflowTrackCaloPoints.cxx.

104 {
105 std::map<eflowCalo::LAYER, Amg::Vector3D>::const_iterator it = m_positions.find(layer);
106 return (it == m_positions.end()) ? m_nullVector : it->second;
107}
static const Amg::Vector3D m_nullVector

◆ getTileEta()

double eflowTrackCaloPoints::getTileEta ( CaloCell_ID::CaloSample layer) const
inline

Definition at line 53 of file eflowTrackCaloPoints.h.

53{return getTileEtaPhiPos(layer).getEta();}
const eflowEtaPhiPosition & getTileEtaPhiPos(CaloCell_ID::CaloSample layer) const

◆ getTileEtaPhiPos()

const eflowEtaPhiPosition & eflowTrackCaloPoints::getTileEtaPhiPos ( CaloCell_ID::CaloSample layer) const

Definition at line 99 of file eflowTrackCaloPoints.cxx.

99 {
100 std::map< CaloCell_ID::CaloSample , eflowEtaPhiPosition>::const_iterator it = m_tileEtaPhiPositions.find(layer);
101 return (it == m_tileEtaPhiPositions.end()) ? m_defaultEtaPhiPosition : it->second;
102}
std::map< CaloCell_ID::CaloSample, eflowEtaPhiPosition > m_tileEtaPhiPositions
Eta-Phi positions per tile layer in the 3 tile calorimeters - only used for experimental DNN based e/...

◆ getTilePhi()

double eflowTrackCaloPoints::getTilePhi ( CaloCell_ID::CaloSample layer) const
inline

Definition at line 54 of file eflowTrackCaloPoints.h.

54{return getTileEtaPhiPos(layer).getPhiD();}

◆ haveLayer()

bool eflowTrackCaloPoints::haveLayer ( eflowCalo::LAYER layer) const
inline

Definition at line 67 of file eflowTrackCaloPoints.h.

67{ return getEta(layer) != m_defaultEtaPhiPair.first; }
double getEta(eflowCalo::LAYER layer) const

◆ operator[]()

const pair< float, float > eflowTrackCaloPoints::operator[] ( eflowCalo::LAYER layer) const

Definition at line 90 of file eflowTrackCaloPoints.cxx.

90 {
91 eflowEtaPhiPosition thisPosition = getEtaPhiPos(layer);
92 return pair<float, float>(thisPosition.getEta(), thisPosition.getPhiD());
93}

◆ parToPosition() [1/2]

Amg::Vector3D eflowTrackCaloPoints::parToPosition ( const Acts::BoundTrackParameters * extrapolatedParameters,
const Acts::GeometryContext & gctx )
static

Definition at line 113 of file eflowTrackCaloPoints.cxx.

113 {
114 return trackPars->position(gctx);
115}

◆ parToPosition() [2/2]

Amg::Vector3D eflowTrackCaloPoints::parToPosition ( const Trk::TrackParameters * extrapolatedParameters)
static

Definition at line 109 of file eflowTrackCaloPoints.cxx.

109 {
110 return (trackPars != nullptr) ? trackPars->position() : m_nullVector;
111}

◆ setEtaPhi() [1/2]

void eflowTrackCaloPoints::setEtaPhi ( eflowCalo::LAYER lay,
const Amg::Vector3D & vec )

Definition at line 75 of file eflowTrackCaloPoints.cxx.

75 {
76 m_etaPhiPositions[lay] = (vec != m_nullVector) ? eflowEtaPhiPosition(vec.eta(), vec.phi())
78}
std::vector< size_t > vec

◆ setEtaPhi() [2/2]

void eflowTrackCaloPoints::setEtaPhi ( eflowCaloENUM secondLayer,
double eta,
double phi )

Definition at line 86 of file eflowTrackCaloPoints.cxx.

86 {
87 m_etaPhiPositions[layer] = eflowEtaPhiPosition(eta, phi);
88}
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
@ layer
Definition HitInfo.h:79

◆ setEtaPhiTile()

void eflowTrackCaloPoints::setEtaPhiTile ( CaloCell_ID::CaloSample secondLayer,
const Amg::Vector3D & vec )

Definition at line 80 of file eflowTrackCaloPoints.cxx.

80 {
81 m_tileEtaPhiPositions[lay] = (vec != m_nullVector) ? eflowEtaPhiPosition(vec.eta(), vec.phi())
83}

Member Data Documentation

◆ m_defaultEtaPhiPair

const pair< float, float > eflowTrackCaloPoints::m_defaultEtaPhiPair = pair<float, float>(-999.0, -999.0)
staticprivate

Definition at line 88 of file eflowTrackCaloPoints.h.

◆ m_defaultEtaPhiPosition

const eflowEtaPhiPosition eflowTrackCaloPoints::m_defaultEtaPhiPosition = eflowEtaPhiPosition(-999.,-999.)
staticprivate

Definition at line 89 of file eflowTrackCaloPoints.h.

◆ m_etaPhiPositions

std::map<eflowCalo::LAYER, eflowEtaPhiPosition> eflowTrackCaloPoints::m_etaPhiPositions
private

Eta-Phi positions per calorimeter layer using simolified particle flow naming scheme.

Definition at line 93 of file eflowTrackCaloPoints.h.

◆ m_isEM1Barrel

bool eflowTrackCaloPoints::m_isEM1Barrel

Definition at line 77 of file eflowTrackCaloPoints.h.

◆ m_isEM2Barrel

bool eflowTrackCaloPoints::m_isEM2Barrel

Definition at line 78 of file eflowTrackCaloPoints.h.

◆ m_nullVector

const Amg::Vector3D eflowTrackCaloPoints::m_nullVector = Amg::Vector3D(0.0, 0.0, 0.0)
staticprivate

Definition at line 82 of file eflowTrackCaloPoints.h.

◆ m_positions

std::map<eflowCalo::LAYER, Amg::Vector3D > eflowTrackCaloPoints::m_positions
private

Definition at line 91 of file eflowTrackCaloPoints.h.

◆ m_tileEtaPhiPositions

std::map<CaloCell_ID::CaloSample,eflowEtaPhiPosition> eflowTrackCaloPoints::m_tileEtaPhiPositions
private

Eta-Phi positions per tile layer in the 3 tile calorimeters - only used for experimental DNN based e/p.

Definition at line 95 of file eflowTrackCaloPoints.h.


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