ATLAS Offline Software
Tracking
TrkExtrapolation
TrkExAlgs
TrkExAlgs
EnergyLossExtrapolationValidation.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// EnergyLossValidation.h, (c) ATLAS Detector software
8
9
#ifndef TRKEXALGS_ENERGYLOSSEXTRAPOLATIONVALIDATION_H
10
#define TRKEXALGS_ENERGYLOSSEXTRAPOLATIONVALIDATION_H
11
12
// Gaudi includes
13
#include "
AthenaBaseComps/AthAlgorithm.h
"
14
#include "GaudiKernel/MsgStream.h"
15
#include "GaudiKernel/ToolHandle.h"
16
#include "GaudiKernel/IRndmGenSvc.h"
17
#include "GaudiKernel/RndmGenerators.h"
18
#include <string>
19
#include "
AthContainers/DataVector.h
"
20
// CylinderSurfaces
21
#include "
TrkSurfaces/CylinderSurface.h
"
22
#include "
TrkSurfaces/DiscSurface.h
"
23
//
24
#include <memory>
25
class
TTree;
26
27
#ifndef TRKEXALGS_MAXPARAMETERS
28
#define TRKEXALGS_MAXPARAMETERS 10
29
#endif
30
31
32
namespace
Trk
33
{
34
35
class
IExtrapolator;
36
class
Surface
;
37
class
TrackingGeometry;
38
class
TrackingVolume;
39
60
class
EnergyLossExtrapolationValidation
:
public
AthAlgorithm
61
{
62
public
:
63
65
EnergyLossExtrapolationValidation
(
const
std::string&
name
, ISvcLocator* pSvcLocator);
67
~EnergyLossExtrapolationValidation
();
68
70
StatusCode
initialize
();
72
StatusCode
execute
();
74
StatusCode
finalize
();
75
76
private
:
78
static
std::unique_ptr<Amg::Transform3D>
createTransform
(
double
x
,
79
double
y
,
80
double
z
,
81
double
phi
= 0.,
82
double
theta
= 0.,
83
double
alphaZ = 0.);
84
86
const
TrackingVolume
*
m_highestVolume
;
87
89
ToolHandle<IExtrapolator>
m_extrapolator
;
90
92
Rndm::Numbers*
m_gaussDist
;
93
Rndm::Numbers*
m_flatDist
;
94
95
bool
m_materialCollectionValidation
;
96
97
TTree*
m_validationTree
;
98
TTree*
m_validationRunTree
;
99
100
std::string
m_validationTreeFolder
;
101
std::string
m_validationTreeName
;
102
std::string
m_validationTreeDescription
;
103
std::string
m_validationRunTreeFolder
;
104
std::string
m_validationRunTreeName
;
105
std::string
m_validationRunTreeDescription
;
106
107
double
m_maximumR
;
108
double
m_maximumZ
;
109
110
111
size_t
m_cylinders
;
112
bool
m_onion
;
113
float
m_momentum
;
114
bool
m_usePt
;
115
float
m_minEta
;
116
float
m_maxEta
;
117
118
size_t
m_events
;
119
int
m_totalRecordedLayers
;
120
float
m_avgRecordedLayers
;
121
122
int
m_pdg
;
123
int
m_particleType
;
124
125
// ---- variables for the ROOT event tree
126
size_t
m_entries
;
127
float
m_energy
[
TRKEXALGS_MAXPARAMETERS
];
128
float
m_energyLoss
[
TRKEXALGS_MAXPARAMETERS
];
129
float
m_parameterX0
[
TRKEXALGS_MAXPARAMETERS
];
130
float
m_radius
[
TRKEXALGS_MAXPARAMETERS
];
131
// float m_parameterLoc1[TRKEXALGS_MAXPARAMETERS]; //!< local 1
132
// float m_parameterLoc2[TRKEXALGS_MAXPARAMETERS]; //!< local 2
133
float
m_positionX
[
TRKEXALGS_MAXPARAMETERS
];
134
float
m_positionY
[
TRKEXALGS_MAXPARAMETERS
];
135
float
m_positionZ
[
TRKEXALGS_MAXPARAMETERS
];
136
float
m_parameterPhi
[
TRKEXALGS_MAXPARAMETERS
];
137
float
m_parameterEta
[
TRKEXALGS_MAXPARAMETERS
];
138
float
m_parameterTheta
[
TRKEXALGS_MAXPARAMETERS
];
139
float
m_parameterQoverP
[
TRKEXALGS_MAXPARAMETERS
];
140
float
m_parameterP
[
TRKEXALGS_MAXPARAMETERS
];
141
size_t
m_layer
[
TRKEXALGS_MAXPARAMETERS
];
142
143
// ---- output statistics
144
size_t
m_triesForward
;
145
size_t
m_breaksForward
;
146
size_t
m_triesBack
;
147
size_t
m_breaksBack
;
148
149
size_t
m_collectedLayerForward
;
150
size_t
m_collectedLayerBack
;
151
152
153
// ---- cylinders and discs
154
float
m_cylinderR
[
TRKEXALGS_MAXPARAMETERS
];
155
float
m_cylinderZ
[
TRKEXALGS_MAXPARAMETERS
];
156
DataVector<const Trk::CylinderSurface>
*
m_theCylinders
;
157
DataVector<const Trk::DiscSurface>
*
m_theDiscs1
;
158
DataVector<const Trk::DiscSurface>
*
m_theDiscs2
;
159
std::vector<float>
m_cylinderVR
;
160
std::vector<float>
m_cylinderVZ
;
161
};
162
}
// end of namespace
163
164
#endif
Trk::EnergyLossExtrapolationValidation::initialize
StatusCode initialize()
standard Athena-Algorithm method
Definition:
EnergyLossExtrapolationValidation.cxx:129
Trk::EnergyLossExtrapolationValidation::m_collectedLayerBack
size_t m_collectedLayerBack
collected material layers backward
Definition:
EnergyLossExtrapolationValidation.h:150
Trk::y
@ y
Definition:
ParamDefs.h:56
Trk::EnergyLossExtrapolationValidation::m_parameterX0
float m_parameterX0[TRKEXALGS_MAXPARAMETERS]
thickness in X0
Definition:
EnergyLossExtrapolationValidation.h:129
Trk::z
@ z
global position (cartesian)
Definition:
ParamDefs.h:57
Trk::EnergyLossExtrapolationValidation::m_maximumR
double m_maximumR
maximum R of the highest
Definition:
EnergyLossExtrapolationValidation.h:107
Trk::EnergyLossExtrapolationValidation::m_validationTreeFolder
std::string m_validationTreeFolder
stream/folder to for the TTree to be written out
Definition:
EnergyLossExtrapolationValidation.h:100
Trk::EnergyLossExtrapolationValidation::m_minEta
float m_minEta
Minimal eta value.
Definition:
EnergyLossExtrapolationValidation.h:115
Trk::EnergyLossExtrapolationValidation::m_parameterEta
float m_parameterEta[TRKEXALGS_MAXPARAMETERS]
eta
Definition:
EnergyLossExtrapolationValidation.h:137
Trk::EnergyLossExtrapolationValidation::m_validationRunTreeDescription
std::string m_validationRunTreeDescription
run stats tree description - second argument in TTree
Definition:
EnergyLossExtrapolationValidation.h:105
Trk::EnergyLossExtrapolationValidation::m_highestVolume
const TrackingVolume * m_highestVolume
the highest volume
Definition:
EnergyLossExtrapolationValidation.h:86
Trk::EnergyLossExtrapolationValidation::m_parameterP
float m_parameterP[TRKEXALGS_MAXPARAMETERS]
P.
Definition:
EnergyLossExtrapolationValidation.h:140
Surface
Definition:
Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
Trk::EnergyLossExtrapolationValidation::createTransform
static std::unique_ptr< Amg::Transform3D > createTransform(double x, double y, double z, double phi=0., double theta=0., double alphaZ=0.)
private helper method to create a Transform
Definition:
EnergyLossExtrapolationValidation.cxx:551
Trk::EnergyLossExtrapolationValidation::m_totalRecordedLayers
int m_totalRecordedLayers
total number of recorded layers
Definition:
EnergyLossExtrapolationValidation.h:119
Trk::EnergyLossExtrapolationValidation::m_events
size_t m_events
total number of recorded events
Definition:
EnergyLossExtrapolationValidation.h:118
Trk::EnergyLossExtrapolationValidation::m_triesForward
size_t m_triesForward
extrapolation events forward
Definition:
EnergyLossExtrapolationValidation.h:144
Trk::EnergyLossExtrapolationValidation::m_cylinderR
float m_cylinderR[TRKEXALGS_MAXPARAMETERS]
radius of cylinder layers (for ROOT tree)
Definition:
EnergyLossExtrapolationValidation.h:154
Trk::EnergyLossExtrapolationValidation::m_particleType
int m_particleType
the particle type for the extrapolation
Definition:
EnergyLossExtrapolationValidation.h:123
Trk::EnergyLossExtrapolationValidation::m_theDiscs2
DataVector< const Trk::DiscSurface > * m_theDiscs2
Definition:
EnergyLossExtrapolationValidation.h:158
Trk::EnergyLossExtrapolationValidation::m_triesBack
size_t m_triesBack
extrapolation events backward
Definition:
EnergyLossExtrapolationValidation.h:146
Trk::EnergyLossExtrapolationValidation::m_entries
size_t m_entries
effective number of used entries (recorded layers) in this event
Definition:
EnergyLossExtrapolationValidation.h:126
AthAlgorithm.h
Trk::EnergyLossExtrapolationValidation::finalize
StatusCode finalize()
standard Athena-Algorithm method
Definition:
EnergyLossExtrapolationValidation.cxx:243
Trk::EnergyLossExtrapolationValidation::m_theCylinders
DataVector< const Trk::CylinderSurface > * m_theCylinders
Definition:
EnergyLossExtrapolationValidation.h:156
Trk::EnergyLossExtrapolationValidation::m_energy
float m_energy[TRKEXALGS_MAXPARAMETERS]
energy
Definition:
EnergyLossExtrapolationValidation.h:127
Trk::EnergyLossExtrapolationValidation::m_cylinderVZ
std::vector< float > m_cylinderVZ
length of cylinder layers (vector from jobOptions)
Definition:
EnergyLossExtrapolationValidation.h:160
Trk::EnergyLossExtrapolationValidation::m_validationRunTreeFolder
std::string m_validationRunTreeFolder
stream/folder to for the second TTree to be written out
Definition:
EnergyLossExtrapolationValidation.h:103
Trk::EnergyLossExtrapolationValidation::m_extrapolator
ToolHandle< IExtrapolator > m_extrapolator
The Extrapolator to be retrieved.
Definition:
EnergyLossExtrapolationValidation.h:89
Trk::EnergyLossExtrapolationValidation::m_parameterQoverP
float m_parameterQoverP[TRKEXALGS_MAXPARAMETERS]
qOverP
Definition:
EnergyLossExtrapolationValidation.h:139
Trk::EnergyLossExtrapolationValidation::m_breaksBack
size_t m_breaksBack
extrapolation breaks backward
Definition:
EnergyLossExtrapolationValidation.h:147
Trk::theta
@ theta
Definition:
ParamDefs.h:66
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition:
PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::EnergyLossExtrapolationValidation::m_validationTreeDescription
std::string m_validationTreeDescription
validation tree description - second argument in TTree
Definition:
EnergyLossExtrapolationValidation.h:102
CylinderSurface.h
Trk::EnergyLossExtrapolationValidation::m_collectedLayerForward
size_t m_collectedLayerForward
collected material layers forward
Definition:
EnergyLossExtrapolationValidation.h:149
Trk::EnergyLossExtrapolationValidation::m_avgRecordedLayers
float m_avgRecordedLayers
average recorded layers per event
Definition:
EnergyLossExtrapolationValidation.h:120
TRKEXALGS_MAXPARAMETERS
#define TRKEXALGS_MAXPARAMETERS
Definition:
EnergyLossExtrapolationValidation.h:28
Trk::EnergyLossExtrapolationValidation::m_positionZ
float m_positionZ[TRKEXALGS_MAXPARAMETERS]
position Z
Definition:
EnergyLossExtrapolationValidation.h:135
DataVector< const Trk::CylinderSurface >
Trk::EnergyLossExtrapolationValidation::m_breaksForward
size_t m_breaksForward
extrapolation breaks forward
Definition:
EnergyLossExtrapolationValidation.h:145
Trk::EnergyLossExtrapolationValidation::m_usePt
bool m_usePt
use pt instead of p
Definition:
EnergyLossExtrapolationValidation.h:114
AthAlgorithm
Definition:
AthAlgorithm.h:47
Trk::EnergyLossExtrapolationValidation::m_theDiscs1
DataVector< const Trk::DiscSurface > * m_theDiscs1
Definition:
EnergyLossExtrapolationValidation.h:157
Trk::EnergyLossExtrapolationValidation::m_validationRunTree
TTree * m_validationRunTree
Root Run Stats Tree.
Definition:
EnergyLossExtrapolationValidation.h:98
Trk::EnergyLossExtrapolationValidation::m_positionY
float m_positionY[TRKEXALGS_MAXPARAMETERS]
position Y
Definition:
EnergyLossExtrapolationValidation.h:134
Trk::EnergyLossExtrapolationValidation
Definition:
EnergyLossExtrapolationValidation.h:61
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition:
FakeTrackBuilder.h:9
Trk::EnergyLossExtrapolationValidation::~EnergyLossExtrapolationValidation
~EnergyLossExtrapolationValidation()
Default Destructor.
Definition:
EnergyLossExtrapolationValidation.cxx:114
name
std::string name
Definition:
Control/AthContainers/Root/debug.cxx:221
Trk::EnergyLossExtrapolationValidation::m_onion
bool m_onion
strictly hierarchical ordering (onion-like)
Definition:
EnergyLossExtrapolationValidation.h:112
Trk::EnergyLossExtrapolationValidation::m_validationTreeName
std::string m_validationTreeName
validation tree name - to be accessed by this from root
Definition:
EnergyLossExtrapolationValidation.h:101
Trk::EnergyLossExtrapolationValidation::m_radius
float m_radius[TRKEXALGS_MAXPARAMETERS]
position radius
Definition:
EnergyLossExtrapolationValidation.h:130
Trk::EnergyLossExtrapolationValidation::m_maximumZ
double m_maximumZ
maximum halfZ of the highest tracking volume
Definition:
EnergyLossExtrapolationValidation.h:108
Trk::EnergyLossExtrapolationValidation::m_validationRunTreeName
std::string m_validationRunTreeName
run stats tree name - to be accessed by this from root
Definition:
EnergyLossExtrapolationValidation.h:104
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
Trk::EnergyLossExtrapolationValidation::m_layer
size_t m_layer[TRKEXALGS_MAXPARAMETERS]
layer id
Definition:
EnergyLossExtrapolationValidation.h:141
Trk::EnergyLossExtrapolationValidation::EnergyLossExtrapolationValidation
EnergyLossExtrapolationValidation(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition:
EnergyLossExtrapolationValidation.cxx:33
Trk::EnergyLossExtrapolationValidation::m_energyLoss
float m_energyLoss[TRKEXALGS_MAXPARAMETERS]
energy loss
Definition:
EnergyLossExtrapolationValidation.h:128
Trk::EnergyLossExtrapolationValidation::m_cylinderZ
float m_cylinderZ[TRKEXALGS_MAXPARAMETERS]
length of cylinder layers (for ROOT tree)
Definition:
EnergyLossExtrapolationValidation.h:155
Trk::EnergyLossExtrapolationValidation::m_pdg
int m_pdg
PDG code corresponding to m_particleType.
Definition:
EnergyLossExtrapolationValidation.h:122
Trk::EnergyLossExtrapolationValidation::m_parameterPhi
float m_parameterPhi[TRKEXALGS_MAXPARAMETERS]
phi
Definition:
EnergyLossExtrapolationValidation.h:136
Trk::EnergyLossExtrapolationValidation::m_maxEta
float m_maxEta
Maximal eta value.
Definition:
EnergyLossExtrapolationValidation.h:116
Trk::EnergyLossExtrapolationValidation::m_positionX
float m_positionX[TRKEXALGS_MAXPARAMETERS]
position X
Definition:
EnergyLossExtrapolationValidation.h:133
Trk::EnergyLossExtrapolationValidation::m_materialCollectionValidation
bool m_materialCollectionValidation
use the material collection (extrapolateM)
Definition:
EnergyLossExtrapolationValidation.h:95
DiscSurface.h
Trk::phi
@ phi
Definition:
ParamDefs.h:75
Trk::EnergyLossExtrapolationValidation::m_cylinders
size_t m_cylinders
number of cylinder layers
Definition:
EnergyLossExtrapolationValidation.h:111
Trk::EnergyLossExtrapolationValidation::m_flatDist
Rndm::Numbers * m_flatDist
Definition:
EnergyLossExtrapolationValidation.h:93
Trk::x
@ x
Definition:
ParamDefs.h:55
Trk::EnergyLossExtrapolationValidation::m_gaussDist
Rndm::Numbers * m_gaussDist
Random Number setup.
Definition:
EnergyLossExtrapolationValidation.h:92
Trk::EnergyLossExtrapolationValidation::m_parameterTheta
float m_parameterTheta[TRKEXALGS_MAXPARAMETERS]
theta
Definition:
EnergyLossExtrapolationValidation.h:138
Trk::TrackingVolume
Definition:
TrackingVolume.h:121
Trk::EnergyLossExtrapolationValidation::m_momentum
float m_momentum
momentum value
Definition:
EnergyLossExtrapolationValidation.h:113
Trk::EnergyLossExtrapolationValidation::m_validationTree
TTree * m_validationTree
Root Validation Tree.
Definition:
EnergyLossExtrapolationValidation.h:97
Trk::EnergyLossExtrapolationValidation::execute
StatusCode execute()
standard Athena-Algorithm method
Definition:
EnergyLossExtrapolationValidation.cxx:270
Trk::EnergyLossExtrapolationValidation::m_cylinderVR
std::vector< float > m_cylinderVR
radius of cylinder layers (vector from jobOptions)
Definition:
EnergyLossExtrapolationValidation.h:159
Generated on Thu Nov 7 2024 21:14:47 for ATLAS Offline Software by
1.8.18