ATLAS Offline Software
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
14 #include "GaudiKernel/MsgStream.h"
15 #include "GaudiKernel/ToolHandle.h"
16 #include "GaudiKernel/IRndmGenSvc.h"
17 #include "GaudiKernel/RndmGenerators.h"
18 #include <string>
20 // CylinderSurfaces
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 
61  {
62  public:
63 
65  EnergyLossExtrapolationValidation(const std::string& name, ISvcLocator* pSvcLocator);
68 
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 
87 
89  ToolHandle<IExtrapolator> m_extrapolator;
90 
92  Rndm::Numbers* m_gaussDist;
93  Rndm::Numbers* m_flatDist;
94 
96 
99 
101  std::string m_validationTreeName;
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;
121 
122  int m_pdg;
124 
125  // ---- variables for the ROOT event tree
126  size_t m_entries;
131 // float m_parameterLoc1[TRKEXALGS_MAXPARAMETERS]; //!< local 1
132 // float m_parameterLoc2[TRKEXALGS_MAXPARAMETERS]; //!< local 2
142 
143  // ---- output statistics
144  size_t m_triesForward;
146  size_t m_triesBack;
147  size_t m_breaksBack;
148 
151 
152 
153  // ---- cylinders and discs
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:127
Trk::EnergyLossExtrapolationValidation::m_collectedLayerBack
size_t m_collectedLayerBack
collected material layers backward
Definition: EnergyLossExtrapolationValidation.h:150
Trk::y
@ y
Definition: ParamDefs.h:62
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:63
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:7
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:549
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:241
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:72
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:112
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
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:31
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:81
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:61
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:268
Trk::EnergyLossExtrapolationValidation::m_cylinderVR
std::vector< float > m_cylinderVR
radius of cylinder layers (vector from jobOptions)
Definition: EnergyLossExtrapolationValidation.h:159