ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Reconstruction
eflowRec
src
eflowTrackCaloPoints.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
6
#ifndef EFLOWREC_EFLOW_TRACK_CALO_POINTS_H
7
#define EFLOWREC_EFLOW_TRACK_CALO_POINTS_H
8
9
/********************************************************************
10
11
NAME: eflowTrackCaloPoints.h
12
PACKAGE: offline/Reconstruction/eflowRec
13
14
AUTHORS: R. Duxfield
15
CREATED: 4th January, 2006
16
17
********************************************************************/
18
19
#include <map>
20
21
22
#include "
eflowCaloRegions.h
"
23
#include "
GeoPrimitives/GeoPrimitives.h
"
// compiles without, throws down warning: CHECKREQ---> The following packages are apparently not needed. (severity 2)
24
#include "
TrkParameters/TrackParameters.h
"
// typedef
25
#include "
eflowUtil.h
"
26
27
#include "Acts/Propagator/detail/SteppingLogger.hpp"
28
29
class
MsgStream;
30
34
class
eflowTrackCaloPoints
{
35
public
:
36
37
eflowTrackCaloPoints
(
const
std::map<eflowCalo::LAYER, const Trk::TrackParameters*> & trackParameters);
38
eflowTrackCaloPoints
(
const
std::map<eflowCalo::LAYER, const Trk::TrackParameters*> & trackParameters,
39
std::map<CaloCell_ID::CaloSample,const Trk::TrackParameters*>& tileTrackParamaters);
40
//Constructor when using Acts data structures
41
eflowTrackCaloPoints
(
const
std::map<eflowCalo::LAYER, const Acts::BoundTrackParameters*> & trackParameters,
const
Acts::GeometryContext& gctx);
42
43
eflowTrackCaloPoints
() :
m_isEM1Barrel
(false),
m_isEM2Barrel
(false) {}
44
~eflowTrackCaloPoints
();
45
46
const
std::pair<float, float>
operator[]
(
eflowCalo::LAYER
layer)
const
;
47
const
eflowEtaPhiPosition
&
getEtaPhiPos
(
eflowCalo::LAYER
layer)
const
;
48
const
eflowEtaPhiPosition
&
getTileEtaPhiPos
(
CaloCell_ID::CaloSample
layer)
const
;
49
50
double
getEta
(
eflowCalo::LAYER
layer)
const
{
return
getEtaPhiPos
(layer).
getEta
();}
51
double
getPhi
(
eflowCalo::LAYER
layer)
const
{
return
getEtaPhiPos
(layer).
getPhiD
();}
52
53
double
getTileEta
(
CaloCell_ID::CaloSample
layer)
const
{
return
getTileEtaPhiPos
(layer).
getEta
();}
54
double
getTilePhi
(
CaloCell_ID::CaloSample
layer)
const
{
return
getTileEtaPhiPos
(layer).
getPhiD
();}
55
56
const
std::pair<float, float>
getEM2etaPhi
()
const
{
return
(*
this
)[
getEM2Layer
()]; }
57
const
eflowEtaPhiPosition
&
getEM2etaPhiPos
()
const
{
return
getEtaPhiPos
(
getEM2Layer
()); }
58
double
getEM2eta
()
const
{
return
getEM2etaPhiPos
().
getEta
(); }
59
double
getEM1eta
()
const
{
return
getEtaPhiPos
(
getEM1Layer
()).
getEta
(); }
60
double
getFCAL0eta
()
const
{
return
getEtaPhiPos
(
eflowCalo::FCAL0
).
getEta
(); }
61
62
Amg::Vector3D
getPosition
(
eflowCalo::LAYER
layer);
63
64
static
double
defaultEta
();
65
static
double
defaultPhi
();
66
67
inline
bool
haveLayer
(
eflowCalo::LAYER
layer)
const
{
return
getEta
(layer) !=
m_defaultEtaPhiPair
.first; }
68
69
void
setEtaPhi
(
eflowCaloENUM
secondLayer,
double
eta
,
double
phi
);
70
void
setEtaPhiTile
(
CaloCell_ID::CaloSample
secondLayer,
const
Amg::Vector3D
&
vec
);
71
void
setEtaPhi
(
eflowCalo::LAYER
lay,
const
Amg::Vector3D
&
vec
);
72
void
copyEtaPhi
(
eflowCalo::LAYER
fromLay,
eflowCalo::LAYER
toLay);
73
74
static
Amg::Vector3D
parToPosition
(
const
Trk::TrackParameters
* extrapolatedParameters);
75
static
Amg::Vector3D
parToPosition
(
const
Acts::BoundTrackParameters* extrapolatedParameters,
const
Acts::GeometryContext& gctx);
76
77
bool
m_isEM1Barrel
;
78
bool
m_isEM2Barrel
;
79
80
private
:
81
82
static
const
Amg::Vector3D
m_nullVector
;
83
84
inline
eflowCalo::LAYER
getEM2Layer
()
const
{
return
m_isEM2Barrel
?
eflowCalo::EMB2
:
eflowCalo::EME2
; }
85
inline
eflowCalo::LAYER
getEM1Layer
()
const
{
return
m_isEM1Barrel
?
eflowCalo::EMB1
:
eflowCalo::EME1
; }
86
87
88
static
const
std::pair<float, float>
m_defaultEtaPhiPair
;
89
static
const
eflowEtaPhiPosition
m_defaultEtaPhiPosition
;
90
91
std::map<eflowCalo::LAYER, Amg::Vector3D >
m_positions
;
93
std::map<eflowCalo::LAYER, eflowEtaPhiPosition>
m_etaPhiPositions
;
95
std::map<CaloCell_ID::CaloSample,eflowEtaPhiPosition>
m_tileEtaPhiPositions
;
96
};
97
98
inline
void
eflowTrackCaloPoints::copyEtaPhi
(
eflowCalo::LAYER
fromLay,
eflowCalo::LAYER
toLay) {
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
}
104
105
106
#endif
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
phi
Scalar phi() const
phi method
Definition
AmgMatrixBasePlugin.h:67
vec
std::vector< size_t > vec
Definition
CombinationsGeneratorTest.cxx:9
GeoPrimitives.h
TrackParameters.h
CaloCell_ID::CaloSample
CaloSampling::CaloSample CaloSample
Definition
CaloCell_ID.h:53
eflowCalo::LAYER
LAYER
Definition
eflowCaloRegions.h:28
eflowCalo::EMB1
@ EMB1
Definition
eflowCaloRegions.h:29
eflowCalo::EME2
@ EME2
Definition
eflowCaloRegions.h:30
eflowCalo::EMB2
@ EMB2
Definition
eflowCaloRegions.h:29
eflowCalo::FCAL0
@ FCAL0
Definition
eflowCaloRegions.h:33
eflowCalo::EME1
@ EME1
Definition
eflowCaloRegions.h:30
eflowEtaPhiPosition
Definition
eflowUtil.h:82
eflowEtaPhiPosition::getPhiD
double getPhiD() const
Definition
eflowUtil.h:89
eflowEtaPhiPosition::getEta
double getEta() const
Definition
eflowUtil.h:87
eflowTrackCaloPoints::m_isEM1Barrel
bool m_isEM1Barrel
Definition
eflowTrackCaloPoints.h:77
eflowTrackCaloPoints::getFCAL0eta
double getFCAL0eta() const
Definition
eflowTrackCaloPoints.h:60
eflowTrackCaloPoints::getEM2etaPhiPos
const eflowEtaPhiPosition & getEM2etaPhiPos() const
Definition
eflowTrackCaloPoints.h:57
eflowTrackCaloPoints::eflowTrackCaloPoints
eflowTrackCaloPoints(const std::map< eflowCalo::LAYER, const Trk::TrackParameters * > &trackParameters)
Definition
eflowTrackCaloPoints.cxx:31
eflowTrackCaloPoints::defaultEta
static double defaultEta()
Definition
eflowTrackCaloPoints.cxx:28
eflowTrackCaloPoints::getTileEta
double getTileEta(CaloCell_ID::CaloSample layer) const
Definition
eflowTrackCaloPoints.h:53
eflowTrackCaloPoints::getEM1eta
double getEM1eta() const
Definition
eflowTrackCaloPoints.h:59
eflowTrackCaloPoints::parToPosition
static Amg::Vector3D parToPosition(const Trk::TrackParameters *extrapolatedParameters)
Definition
eflowTrackCaloPoints.cxx:109
eflowTrackCaloPoints::eflowTrackCaloPoints
eflowTrackCaloPoints()
Definition
eflowTrackCaloPoints.h:43
eflowTrackCaloPoints::getEM1Layer
eflowCalo::LAYER getEM1Layer() const
Definition
eflowTrackCaloPoints.h:85
eflowTrackCaloPoints::defaultPhi
static double defaultPhi()
Definition
eflowTrackCaloPoints.cxx:29
eflowTrackCaloPoints::m_nullVector
static const Amg::Vector3D m_nullVector
Definition
eflowTrackCaloPoints.h:82
eflowTrackCaloPoints::copyEtaPhi
void copyEtaPhi(eflowCalo::LAYER fromLay, eflowCalo::LAYER toLay)
Definition
eflowTrackCaloPoints.h:98
eflowTrackCaloPoints::m_defaultEtaPhiPair
static const std::pair< float, float > m_defaultEtaPhiPair
Definition
eflowTrackCaloPoints.h:88
eflowTrackCaloPoints::getPhi
double getPhi(eflowCalo::LAYER layer) const
Definition
eflowTrackCaloPoints.h:51
eflowTrackCaloPoints::getPosition
Amg::Vector3D getPosition(eflowCalo::LAYER layer)
Definition
eflowTrackCaloPoints.cxx:104
eflowTrackCaloPoints::getEtaPhiPos
const eflowEtaPhiPosition & getEtaPhiPos(eflowCalo::LAYER layer) const
Definition
eflowTrackCaloPoints.cxx:94
eflowTrackCaloPoints::getEta
double getEta(eflowCalo::LAYER layer) const
Definition
eflowTrackCaloPoints.h:50
eflowTrackCaloPoints::getTilePhi
double getTilePhi(CaloCell_ID::CaloSample layer) const
Definition
eflowTrackCaloPoints.h:54
eflowTrackCaloPoints::setEtaPhi
void setEtaPhi(eflowCaloENUM secondLayer, double eta, double phi)
Definition
eflowTrackCaloPoints.cxx:86
eflowTrackCaloPoints::m_isEM2Barrel
bool m_isEM2Barrel
Definition
eflowTrackCaloPoints.h:78
eflowTrackCaloPoints::getTileEtaPhiPos
const eflowEtaPhiPosition & getTileEtaPhiPos(CaloCell_ID::CaloSample layer) const
Definition
eflowTrackCaloPoints.cxx:99
eflowTrackCaloPoints::getEM2eta
double getEM2eta() const
Definition
eflowTrackCaloPoints.h:58
eflowTrackCaloPoints::getEM2etaPhi
const std::pair< float, float > getEM2etaPhi() const
Definition
eflowTrackCaloPoints.h:56
eflowTrackCaloPoints::operator[]
const std::pair< float, float > operator[](eflowCalo::LAYER layer) const
Definition
eflowTrackCaloPoints.cxx:90
eflowTrackCaloPoints::m_tileEtaPhiPositions
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/...
Definition
eflowTrackCaloPoints.h:95
eflowTrackCaloPoints::haveLayer
bool haveLayer(eflowCalo::LAYER layer) const
Definition
eflowTrackCaloPoints.h:67
eflowTrackCaloPoints::m_defaultEtaPhiPosition
static const eflowEtaPhiPosition m_defaultEtaPhiPosition
Definition
eflowTrackCaloPoints.h:89
eflowTrackCaloPoints::setEtaPhiTile
void setEtaPhiTile(CaloCell_ID::CaloSample secondLayer, const Amg::Vector3D &vec)
Definition
eflowTrackCaloPoints.cxx:80
eflowTrackCaloPoints::getEM2Layer
eflowCalo::LAYER getEM2Layer() const
Definition
eflowTrackCaloPoints.h:84
eflowTrackCaloPoints::m_positions
std::map< eflowCalo::LAYER, Amg::Vector3D > m_positions
Definition
eflowTrackCaloPoints.h:91
eflowTrackCaloPoints::~eflowTrackCaloPoints
~eflowTrackCaloPoints()
eflowTrackCaloPoints::m_etaPhiPositions
std::map< eflowCalo::LAYER, eflowEtaPhiPosition > m_etaPhiPositions
Eta-Phi positions per calorimeter layer using simolified particle flow naming scheme.
Definition
eflowTrackCaloPoints.h:93
eflowCaloRegions.h
eflowCaloENUM
eflowCalo::LAYER eflowCaloENUM
Definition
eflowCaloRegions.h:49
eflowUtil.h
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:48
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
Generated on
for ATLAS Offline Software by
1.17.0