Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
ExtrapolationValidation.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
6 // ExtrapolationValidation.h, (c) ATLAS Detector software
8 
9 #ifndef TRKEXALGS_EXTRAPOLATIONVALIDATION_H
10 #define TRKEXALGS_EXTRAPOLATIONVALIDATION_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 "GaudiKernel/SystemOfUnits.h"
21 #include <string>
22 
24 
25 class TTree;
26 
27 #ifndef TRKEXALGS_MAXPARAMETERS
28 #define TRKEXALGS_MAXPARAMETERS 10
29 #endif
30 
31 namespace Trk
32 {
33 
34  class Surface;
35  class TrackingGeometry;
36  class TrackingVolume;
37 
57  {
58  public:
59 
61  ExtrapolationValidation(const std::string& name, ISvcLocator* pSvcLocator);
64 
71 
72  private:
74  static Amg::Transform3D createTransform(double x, double y, double z, double phi=0., double theta=0., double alphaZ=0.);
75 
77  const TrackingVolume* m_highestVolume = nullptr;
78 
80  ToolHandle<IExtrapolator> m_extrapolator
81  {this, "Extrapolator", "Trk::Extrapolator/AtlasExtrapolator"};
82 
84  Rndm::Numbers* m_gaussDist = nullptr;
85  Rndm::Numbers* m_flatDist = nullptr;
86 
88  {this, "ValidateMaterialCollection", true};
89 
90  BooleanProperty m_direct{this, "ExtrapolateDirectly", false,
91  "extrapolate directly"};
92 
93  TTree* m_validationTree = nullptr;
94 
95  StringProperty m_validationTreeName
96  {this, "ValidationTreeName", "ExtrapolationValidation",
97  "validation tree name - to be acessed by this from root"};
99  {this, "ValidationTreeDescription",
100  "Output of the ExtrapolationValidation Algorithm",
101  "validation tree description - second argument in TTree"};
102  StringProperty m_validationTreeFolder
103  {this, "ValidationTreeFolder", "/val/ExtrapolationValidation",
104  "stream/folder to for the TTree to be written out"};
105 
106  double m_maximumR = 0.;
107  double m_maximumZ = 0.;
108 
109  DoubleProperty m_sigmaLoc{this, "StartPerigeeSigmaLoc",
110  10.*Gaudi::Units::micrometer, "local sigma of start value"};
111  DoubleProperty m_sigmaR{this, "StartPerigeeSigmaR",
112  17.*Gaudi::Units::micrometer, "r sigma of start value"};
113  DoubleProperty m_sigmaZ{this, "StartPerigeeSigmaZ",
114  50.*Gaudi::Units::millimeter, "Z sigma of start value"};
115  DoubleProperty m_minEta{this, "StartPerigeeMinEta", -3.};
116  DoubleProperty m_maxEta{this, "StartPerigeeMaxEta", 3.};
117  DoubleProperty m_minP{this, "StartPerigeeMinP", 0.5*Gaudi::Units::GeV};
118  DoubleProperty m_maxP{this, "StartPerigeeMaxP", 100.*Gaudi::Units::GeV};
119 
120  IntegerProperty m_particleType{this, "ParticleType", 2,
121  "the particle type for the extrap."};
122 
123  int m_parameters = 0;
130 
137 
139  float m_startX = 0.;
140  float m_startY = 0.;
141  float m_startR = 0.;
142  float m_startZ = 0.;
143  float m_startP = 0.;
144 
145  float m_estimationX = 0.;
146  float m_estimationY = 0.;
147  float m_estimationR = 0.;
148  float m_estimationZ = 0.;
149 
150  float m_destinationX = 0.;
151  float m_destinationY = 0.;
152  float m_destinationR = 0.;
153  float m_destinationZ = 0.;
154 
155  // ---- output statistics
156  unsigned int m_triesFront = 0;
157  unsigned int m_breaksFront = 0;
158  unsigned int m_triesBack = 0;
159  unsigned int m_breaksBack = 0;
160 
161  unsigned int m_collectedLayerFront = 0;
162  unsigned int m_collectedLayerBack = 0;
163 
164  };
165 } // end of namespace
166 
167 #endif
Trk::y
@ y
Definition: ParamDefs.h:56
Trk::ExtrapolationValidation::m_sigmaR
DoubleProperty m_sigmaR
Definition: ExtrapolationValidation.h:111
GeV
#define GeV
Definition: PhysicsAnalysis/TauID/TauAnalysisTools/Root/HelperFunctions.cxx:17
Trk::z
@ z
global position (cartesian)
Definition: ParamDefs.h:57
Trk::ExtrapolationValidation::m_minEta
DoubleProperty m_minEta
Definition: ExtrapolationValidation.h:115
Trk::ExtrapolationValidation::m_covariancePhi
float m_covariancePhi[TRKEXALGS_MAXPARAMETERS]
start phi
Definition: ExtrapolationValidation.h:133
Trk::ExtrapolationValidation::m_estimationX
float m_estimationX
estimation in X
Definition: ExtrapolationValidation.h:145
Trk::ExtrapolationValidation::m_triesBack
unsigned int m_triesBack
events back
Definition: ExtrapolationValidation.h:158
Trk::ExtrapolationValidation::m_covarianceDeterminant
float m_covarianceDeterminant[TRKEXALGS_MAXPARAMETERS]
start qOverP
Definition: ExtrapolationValidation.h:136
Trk::ExtrapolationValidation::m_parameterLoc2
float m_parameterLoc2[TRKEXALGS_MAXPARAMETERS]
start local 2
Definition: ExtrapolationValidation.h:125
Trk::ExtrapolationValidation::m_collectedLayerFront
unsigned int m_collectedLayerFront
collected material layers forward
Definition: ExtrapolationValidation.h:161
Trk::ExtrapolationValidation::m_estimationR
float m_estimationR
estimation in R
Definition: ExtrapolationValidation.h:147
Surface
Definition: Trigger/TrigAccel/TrigCudaFitter/src/Surface.h:8
IExtrapolator.h
Trk::ExtrapolationValidation::m_destinationX
float m_destinationX
destination in X
Definition: ExtrapolationValidation.h:150
Trk::ExtrapolationValidation::m_parameterPhi
float m_parameterPhi[TRKEXALGS_MAXPARAMETERS]
start phi
Definition: ExtrapolationValidation.h:126
Trk::ExtrapolationValidation::m_triesFront
unsigned int m_triesFront
events front
Definition: ExtrapolationValidation.h:156
Trk::ExtrapolationValidation::m_highestVolume
const TrackingVolume * m_highestVolume
the highest volume
Definition: ExtrapolationValidation.h:77
Trk::ExtrapolationValidation::m_flatDist
Rndm::Numbers * m_flatDist
Definition: ExtrapolationValidation.h:85
Trk::ExtrapolationValidation::~ExtrapolationValidation
~ExtrapolationValidation()
Default Destructor.
Definition: ExtrapolationValidation.cxx:33
Trk::ExtrapolationValidation::m_validationTree
TTree * m_validationTree
Root Validation Tree.
Definition: ExtrapolationValidation.h:93
Trk::ExtrapolationValidation::m_parameterTheta
float m_parameterTheta[TRKEXALGS_MAXPARAMETERS]
start theta
Definition: ExtrapolationValidation.h:127
Trk::ExtrapolationValidation::m_destinationY
float m_destinationY
destination in Y
Definition: ExtrapolationValidation.h:151
Trk::ExtrapolationValidation::finalize
StatusCode finalize()
standard Athena-Algorithm method
Definition: ExtrapolationValidation.cxx:110
Trk::ExtrapolationValidation::m_destinationR
float m_destinationR
destination in R
Definition: ExtrapolationValidation.h:152
Trk::ExtrapolationValidation::m_validationTreeDescription
StringProperty m_validationTreeDescription
Definition: ExtrapolationValidation.h:99
Trk::ExtrapolationValidation
Definition: ExtrapolationValidation.h:57
Trk::ExtrapolationValidation::createTransform
static Amg::Transform3D createTransform(double x, double y, double z, double phi=0., double theta=0., double alphaZ=0.)
private helper method to create a HepTransform
Definition: ExtrapolationValidation.cxx:493
AthAlgorithm.h
Trk::ExtrapolationValidation::m_estimationZ
float m_estimationZ
estimation in Z
Definition: ExtrapolationValidation.h:148
python.SystemOfUnits.millimeter
int millimeter
Definition: SystemOfUnits.py:53
Trk::ExtrapolationValidation::m_destinationSurfaceType
int m_destinationSurfaceType
destination surface type
Definition: ExtrapolationValidation.h:138
Trk::ExtrapolationValidation::m_sigmaLoc
DoubleProperty m_sigmaLoc
Definition: ExtrapolationValidation.h:109
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::ExtrapolationValidation::m_maximumZ
double m_maximumZ
maximum halfZ of the highest tracking volume
Definition: ExtrapolationValidation.h:107
Trk::ExtrapolationValidation::m_direct
BooleanProperty m_direct
Definition: ExtrapolationValidation.h:90
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
Trk::ExtrapolationValidation::m_materialCollectionValidation
BooleanProperty m_materialCollectionValidation
Definition: ExtrapolationValidation.h:88
Trk::ExtrapolationValidation::m_covarianceLoc2
float m_covarianceLoc2[TRKEXALGS_MAXPARAMETERS]
start local 2
Definition: ExtrapolationValidation.h:132
Trk::ExtrapolationValidation::m_gaussDist
Rndm::Numbers * m_gaussDist
Random Number setup.
Definition: ExtrapolationValidation.h:84
Trk::ExtrapolationValidation::m_breaksFront
unsigned int m_breaksFront
breaks front
Definition: ExtrapolationValidation.h:157
Trk::ExtrapolationValidation::m_validationTreeName
StringProperty m_validationTreeName
Definition: ExtrapolationValidation.h:96
python.SystemOfUnits.micrometer
int micrometer
Definition: SystemOfUnits.py:71
Trk::ExtrapolationValidation::ExtrapolationValidation
ExtrapolationValidation(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition: ExtrapolationValidation.cxx:27
Trk::ExtrapolationValidation::m_parameterQoverP
float m_parameterQoverP[TRKEXALGS_MAXPARAMETERS]
start qOverP
Definition: ExtrapolationValidation.h:129
Trk::ExtrapolationValidation::m_minP
DoubleProperty m_minP
Definition: ExtrapolationValidation.h:117
Trk::ExtrapolationValidation::m_particleType
IntegerProperty m_particleType
Definition: ExtrapolationValidation.h:120
TRKEXALGS_MAXPARAMETERS
#define TRKEXALGS_MAXPARAMETERS
Definition: ExtrapolationValidation.h:28
AthAlgorithm
Definition: AthAlgorithm.h:47
Trk::ExtrapolationValidation::m_startX
float m_startX
startX
Definition: ExtrapolationValidation.h:139
Trk::ExtrapolationValidation::m_parameters
int m_parameters
maximum 3 : start - destination - backward
Definition: ExtrapolationValidation.h:123
Trk::ExtrapolationValidation::m_startR
float m_startR
startX
Definition: ExtrapolationValidation.h:141
EventPrimitives.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::ExtrapolationValidation::m_covarianceTheta
float m_covarianceTheta[TRKEXALGS_MAXPARAMETERS]
start theta
Definition: ExtrapolationValidation.h:134
Trk::ExtrapolationValidation::m_covarianceQoverP
float m_covarianceQoverP[TRKEXALGS_MAXPARAMETERS]
start qOverP
Definition: ExtrapolationValidation.h:135
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
Trk::ExtrapolationValidation::m_validationTreeFolder
StringProperty m_validationTreeFolder
Definition: ExtrapolationValidation.h:103
Trk::ExtrapolationValidation::m_startP
float m_startP
startP
Definition: ExtrapolationValidation.h:143
Trk::ExtrapolationValidation::m_breaksBack
unsigned int m_breaksBack
breaks
Definition: ExtrapolationValidation.h:159
Trk::ExtrapolationValidation::m_sigmaZ
DoubleProperty m_sigmaZ
Definition: ExtrapolationValidation.h:113
Trk::ExtrapolationValidation::m_destinationZ
float m_destinationZ
destination in Z
Definition: ExtrapolationValidation.h:153
Trk::ExtrapolationValidation::initialize
StatusCode initialize()
standard Athena-Algorithm method
Definition: ExtrapolationValidation.cxx:43
Trk::ExtrapolationValidation::m_maximumR
double m_maximumR
maximum R of the highest
Definition: ExtrapolationValidation.h:106
Trk::ExtrapolationValidation::m_collectedLayerBack
unsigned int m_collectedLayerBack
collected material layers backwards
Definition: ExtrapolationValidation.h:162
Trk::ExtrapolationValidation::m_maxP
DoubleProperty m_maxP
Definition: ExtrapolationValidation.h:118
Trk::ExtrapolationValidation::m_startY
float m_startY
startX
Definition: ExtrapolationValidation.h:140
GeoPrimitivesHelpers.h
Trk::phi
@ phi
Definition: ParamDefs.h:75
Trk::ExtrapolationValidation::m_covarianceLoc1
float m_covarianceLoc1[TRKEXALGS_MAXPARAMETERS]
start local 1
Definition: ExtrapolationValidation.h:131
Trk::x
@ x
Definition: ParamDefs.h:55
Trk::ExtrapolationValidation::execute
StatusCode execute()
standard Athena-Algorithm method
Definition: ExtrapolationValidation.cxx:132
Trk::ExtrapolationValidation::m_maxEta
DoubleProperty m_maxEta
Definition: ExtrapolationValidation.h:116
Trk::TrackingVolume
Definition: TrackingVolume.h:121
Trk::ExtrapolationValidation::m_startZ
float m_startZ
startX
Definition: ExtrapolationValidation.h:142
Trk::ExtrapolationValidation::m_estimationY
float m_estimationY
estimation in Y
Definition: ExtrapolationValidation.h:146
Trk::ExtrapolationValidation::m_parameterEta
float m_parameterEta[TRKEXALGS_MAXPARAMETERS]
start eta
Definition: ExtrapolationValidation.h:128
Trk::ExtrapolationValidation::m_extrapolator
ToolHandle< IExtrapolator > m_extrapolator
The Extrapolator to be retrieved.
Definition: ExtrapolationValidation.h:81
Trk::ExtrapolationValidation::m_parameterLoc1
float m_parameterLoc1[TRKEXALGS_MAXPARAMETERS]
start local 1
Definition: ExtrapolationValidation.h:124