ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
Trk::ExtrapolationValidation Class Reference

#include <ExtrapolationValidation.h>

Inheritance diagram for Trk::ExtrapolationValidation:
Collaboration diagram for Trk::ExtrapolationValidation:

Public Member Functions

 ExtrapolationValidation (const std::string &name, ISvcLocator *pSvcLocator)
 Standard Athena-Algorithm Constructor. More...
 
 ~ExtrapolationValidation ()
 Default Destructor. More...
 
StatusCode initialize ()
 standard Athena-Algorithm method More...
 
StatusCode execute ()
 standard Athena-Algorithm method More...
 
StatusCode finalize ()
 standard Athena-Algorithm method More...
 
virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Static Private Member Functions

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 More...
 

Private Attributes

const TrackingVolumem_highestVolume
 the highest volume More...
 
ToolHandle< IExtrapolatorm_extrapolator
 The Extrapolator to be retrieved. More...
 
Rndm::Numbers * m_gaussDist
 Random Number setup. More...
 
Rndm::Numbers * m_flatDist
 
bool m_materialCollectionValidation
 run the material collection More...
 
bool m_direct
 
TTree * m_validationTree
 Root Validation Tree. More...
 
std::string m_validationTreeName
 validation tree name - to be acessed by this from root More...
 
std::string m_validationTreeDescription
 validation tree description - second argument in TTree More...
 
std::string m_validationTreeFolder
 stream/folder to for the TTree to be written out More...
 
double m_maximumR
 maximum R of the highest More...
 
double m_maximumZ
 maximum halfZ of the highest tracking volume More...
 
double m_sigmaLoc
 local sigma of start value More...
 
double m_sigmaR
 r sigma of start value More...
 
double m_sigmaZ
 Z sigma of start value. More...
 
double m_minEta
 Minimal eta value. More...
 
double m_maxEta
 Maximal eta value. More...
 
double m_minP
 Minimal p value. More...
 
double m_maxP
 Maximal p value. More...
 
int m_particleType
 the particle typre for the extrap. More...
 
int m_parameters
 maximum 3 : start - destination - backward More...
 
float m_parameterLoc1 [TRKEXALGS_MAXPARAMETERS]
 start local 1 More...
 
float m_parameterLoc2 [TRKEXALGS_MAXPARAMETERS]
 start local 2 More...
 
float m_parameterPhi [TRKEXALGS_MAXPARAMETERS]
 start phi More...
 
float m_parameterTheta [TRKEXALGS_MAXPARAMETERS]
 start theta More...
 
float m_parameterEta [TRKEXALGS_MAXPARAMETERS]
 start eta More...
 
float m_parameterQoverP [TRKEXALGS_MAXPARAMETERS]
 start qOverP More...
 
float m_covarianceLoc1 [TRKEXALGS_MAXPARAMETERS]
 start local 1 More...
 
float m_covarianceLoc2 [TRKEXALGS_MAXPARAMETERS]
 start local 2 More...
 
float m_covariancePhi [TRKEXALGS_MAXPARAMETERS]
 start phi More...
 
float m_covarianceTheta [TRKEXALGS_MAXPARAMETERS]
 start theta More...
 
float m_covarianceQoverP [TRKEXALGS_MAXPARAMETERS]
 start qOverP More...
 
float m_covarianceDeterminant [TRKEXALGS_MAXPARAMETERS]
 start qOverP More...
 
int m_destinationSurfaceType
 destination surface type More...
 
float m_startX
 startX More...
 
float m_startY
 startX More...
 
float m_startR
 startX More...
 
float m_startZ
 startX More...
 
float m_startP
 startP More...
 
float m_estimationX
 estimation in X More...
 
float m_estimationY
 estimation in Y More...
 
float m_estimationR
 estimation in R More...
 
float m_estimationZ
 estimation in Z More...
 
float m_destinationX
 destination in X More...
 
float m_destinationY
 destination in Y More...
 
float m_destinationR
 destination in R More...
 
float m_destinationZ
 destination in Z More...
 
unsigned int m_triesFront
 events front More...
 
unsigned int m_breaksFront
 breaks front More...
 
unsigned int m_triesBack
 events back More...
 
unsigned int m_breaksBack
 breaks More...
 
unsigned int m_collectedLayerFront
 collected material layers forward More...
 
unsigned int m_collectedLayerBack
 collected material layers backwards More...
 
DataObjIDColl m_extendedExtraObjects
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

The ExtrapolationValidation Algorithm runs a number of n test extrapolations from randomly distributed Track Parameters to randombly distributed reference surfcas within

and backwards.

It is the TestAlgorithm for 'the' Extrapolator instance provided to client algorithms.

Author
Andreas Salzburger Andre.nosp@m.as.S.nosp@m.alzbu.nosp@m.rger.nosp@m.@cern.nosp@m..ch

Definition at line 55 of file ExtrapolationValidation.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ ExtrapolationValidation()

Trk::ExtrapolationValidation::ExtrapolationValidation ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Standard Athena-Algorithm Constructor.

Definition at line 27 of file ExtrapolationValidation.cxx.

28  :
29  AthAlgorithm(name,pSvcLocator),
30  m_highestVolume(nullptr),
31  m_extrapolator("Trk::Extrapolator/AtlasExtrapolator"),
32  m_gaussDist(nullptr),
33  m_flatDist(nullptr),
35  m_direct(false),
36  m_validationTree(nullptr),
37  m_validationTreeName("ExtrapolationValidation"),
38  m_validationTreeDescription("Output of the ExtrapolationValidation Algorithm"),
39  m_validationTreeFolder("/val/ExtrapolationValidation"),
40  m_maximumR(0.),
41  m_maximumZ(0.),
45  m_minEta(-3.),
46  m_maxEta(3.),
49  m_particleType(2),
50  m_parameters(0),
51  m_parameterLoc1{},
52  m_parameterLoc2{},
53  m_parameterPhi{},
55  m_parameterEta{},
59  m_covariancePhi{},
64  m_startX{},
65  m_startY{},
66  m_startR{},
67  m_startZ{},
68  m_startP{},
69  m_estimationX(0.),
70  m_estimationY(0.),
71  m_estimationR(0.),
72  m_estimationZ(0.),
73  m_destinationX(0.),
74  m_destinationY(0.),
75  m_destinationR(0.),
76  m_destinationZ(0.),
77  m_triesFront(0),
78  m_breaksFront(0),
79  m_triesBack(0),
80  m_breaksBack(0),
83 {
84  // used algorithms and alg tools
85  declareProperty("Extrapolator", m_extrapolator);
86  declareProperty("ValidateMaterialCollection", m_materialCollectionValidation);
87  declareProperty("ExtrapolateDirectly", m_direct);
88  // TTree handling
89  declareProperty("ValidationTreeName", m_validationTreeName);
90  declareProperty("ValidationTreeDescription", m_validationTreeDescription);
91  declareProperty("ValidationTreeFolder", m_validationTreeFolder);
92  // algorithm steering
93  declareProperty("StartPerigeeSigmaLoc" , m_sigmaLoc);
94  declareProperty("StartPerigeeSigmaR" , m_sigmaR);
95  declareProperty("StartPerigeeSigmaZ" , m_sigmaZ);
96  declareProperty("StartPerigeeMinEta" , m_minEta);
97  declareProperty("StartPerigeeMaxEta" , m_maxEta);
98  declareProperty("StartPerigeeMinP" , m_minP);
99  declareProperty("StartPerigeeMaxP" , m_maxP);
100  declareProperty("ParticleType" , m_particleType);
101 
102 }

◆ ~ExtrapolationValidation()

Trk::ExtrapolationValidation::~ExtrapolationValidation ( )

Default Destructor.

Definition at line 106 of file ExtrapolationValidation.cxx.

107 {
108  // clear random number generators
109  delete m_gaussDist;
110  delete m_flatDist;
111 }

Member Function Documentation

◆ createTransform()

Amg::Transform3D Trk::ExtrapolationValidation::createTransform ( double  x,
double  y,
double  z,
double  phi = 0.,
double  theta = 0.,
double  alphaZ = 0. 
)
staticprivate

private helper method to create a HepTransform

Definition at line 564 of file ExtrapolationValidation.cxx.

565 {
566 
567  if (phi!=0. && theta != 0.){
568  // create the Start Surface
569  Amg::Vector3D surfacePosition(x,y,z);
570  // z direction
571  Amg::Vector3D surfaceZdirection(cos(phi)*sin(theta),
572  sin(phi)*sin(theta),
573  cos(theta));
574  // the global z axis
575  Amg::Vector3D zAxis(0.,0.,1.);
576  // the y direction
577  Amg::Vector3D surfaceYdirection(zAxis.cross(surfaceZdirection));
578  // the x direction
579  Amg::Vector3D surfaceXdirection(surfaceYdirection.cross(surfaceZdirection));
580 
581  double nx = 1./sqrt(surfaceXdirection[0]*surfaceXdirection[0]+surfaceXdirection[1]*surfaceXdirection[1]+surfaceXdirection[2]*surfaceXdirection[2]);
582  double ny = 1./sqrt(surfaceYdirection[0]*surfaceYdirection[0]+surfaceYdirection[1]*surfaceYdirection[1]+surfaceYdirection[2]*surfaceYdirection[2]);
583  surfaceXdirection[0]*=nx;
584  surfaceXdirection[1]*=nx;
585  surfaceXdirection[2]*=nx;
586 
587  surfaceYdirection[0]*=ny;
588  surfaceYdirection[1]*=ny;
589  surfaceYdirection[2]*=ny;
590  // the rotation
591  Amg::RotationMatrix3D surfaceRotation;
592  surfaceRotation.col(0) = surfaceXdirection;
593  surfaceRotation.col(1) = surfaceYdirection;
594  surfaceRotation.col(2) = surfaceZdirection;
595  // return it
596  if (alphaZ==0.)
597  return Amg::Transform3D(surfaceRotation, surfacePosition);
598  Amg::Transform3D nominalTransform(surfaceRotation, surfacePosition);
599  return Amg::Transform3D(nominalTransform*Amg::AngleAxis3D(alphaZ,zAxis));
600 
601  }
602 
604 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Algorithm > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode Trk::ExtrapolationValidation::execute ( )

standard Athena-Algorithm method

Definition at line 204 of file ExtrapolationValidation.cxx.

205 {
206  const EventContext& ctx = Gaudi::Hive::currentContext();
207  // get the overall dimensions
208  if (!m_highestVolume){
209  // get TrackingGeometry and highest volume
210  const Trk::TrackingGeometry* trackingGeometry = m_extrapolator->trackingGeometry();
211  m_highestVolume = trackingGeometry ? trackingGeometry->highestTrackingVolume() : nullptr;
212  const Trk::CylinderVolumeBounds* cylBounds = m_highestVolume ?
213  dynamic_cast<const Trk::CylinderVolumeBounds*>(&(m_highestVolume->volumeBounds())) : nullptr;
214  // bail out
215  if (!cylBounds){
216  ATH_MSG_WARNING("No highest TrackingVolume / no VolumeBounds ... pretty useless! ");
217  return StatusCode::SUCCESS;
218  }
219  // get the numbers
220  m_maximumR = cylBounds->outerRadius();
221  m_maximumZ = cylBounds->halflengthZ();
222  }
223 
224  // intialize the values
225  m_parameters = 0;
227  // -----------> start
228  m_startX = 0.;
229  m_startY = 0.;
230  m_startR = 0.;
231  m_startZ = 0.;
232  // -----------> estimation
233  m_estimationX = 0.;
234  m_estimationY = 0.;
235  m_estimationR = 0.;
236  m_estimationZ = 0.;
237  // -----------> destination
238  m_destinationX = 0.;
239  m_destinationY = 0.;
240  m_destinationR = 0.;
241  m_destinationZ = 0.;
242 
243  // the local start parameters
246  // are adopted for planar and straight line surfaces
248  m_parameterPhi[m_parameters] *= (m_flatDist->shoot() > 0.5 ) ? -1. : 1.;
251 
252 
257 
258  // this is fine
259  double p = m_minP + m_flatDist->shoot()*(m_maxP-m_minP);
260  double charge = (m_flatDist->shoot() > 0.5 ) ? -1. : 1.;
262 
264 
265  // for the momentum logging
266  m_startP = p;
267 
268  // start
269  m_startR = fabs(m_sigmaR * m_gaussDist->shoot());
270  double surfacePhi = M_PI * m_flatDist->shoot();
271  surfacePhi *= (m_flatDist->shoot() > 0.5 ) ? -1. : 1.;
272  m_startX = m_startR*cos(surfacePhi);
273  m_startY = m_startR*sin(surfacePhi);
274  m_startZ = m_sigmaZ * m_gaussDist->shoot();
275 
276  // rotate it around Z
277  double alphaZ = M_PI * m_flatDist->shoot();
278  alphaZ *= (m_flatDist->shoot() > 0.5 ) ? -1. : 1.;
279 
280  // create the plane surface
282  m_startY,
283  m_startZ,
286  alphaZ),
287  10e3,10e3);
288 
289 
290 
291  AmgSymMatrix(5) covariance;
292  covariance.setZero();
294  covariance(0,0) = m_covarianceLoc1[m_parameters];
296  covariance(1,1) = m_covarianceLoc2[m_parameters];
298  covariance(2,2) = m_covariancePhi[m_parameters];
300  covariance(3,3) = m_covarianceTheta[m_parameters];
302  covariance(4,4) = m_covarianceQoverP[m_parameters];
303  ATH_MSG_VERBOSE("Initial Setting: \n"<<covariance);
304 
305 
306  m_covarianceDeterminant[m_parameters] = covariance.determinant();
307 
308  // the initial perigee with random numbers
309  Trk::AtaPlane startParameters(m_parameterLoc1[m_parameters],
314  startSurface,
315  std::move(covariance));
316 
317  ATH_MSG_VERBOSE( "Start Parameters : " << startParameters );
318  if(startParameters.covariance())ATH_MSG_VERBOSE( "Start Covariance : \n" << *startParameters.covariance() );
319 
320 
321  // destination position
322  m_estimationR = m_maximumR * m_flatDist->shoot();
323 
324  // --------------- propagate to find a first intersection ---------------------
325  Amg::Transform3D CylTrf;
326  CylTrf.setIdentity();
327  Trk::CylinderSurface estimationCylinder(CylTrf, m_estimationR, 10e10);
328  const Trk::TrackParameters* estimationParameters = m_extrapolator->extrapolateDirectly(ctx,
329  startParameters,
330  estimationCylinder,
332  false).release();
333  if (!estimationParameters) {
334  ATH_MSG_VERBOSE( "Estimation of intersection did not work - skip event !" );
335  return StatusCode::SUCCESS;
336  }
337  else if (m_highestVolume && estimationParameters && !(m_highestVolume->inside(estimationParameters->position()))){
338  ATH_MSG_VERBOSE( "Estimation of intersection is outside the known world - skip event !" );
339  delete estimationParameters;
340  return StatusCode::SUCCESS;
341  }
342 
343  ATH_MSG_VERBOSE( "Estimation Parameters: " << *estimationParameters );
344 
345  // record the estimation parameters
346  ++m_triesFront;
347  ++m_parameters;
348  m_parameterLoc1[m_parameters] = estimationParameters->parameters()[Trk::loc1];
349  m_parameterLoc2[m_parameters] = estimationParameters->parameters()[Trk::loc2];
350  m_parameterPhi[m_parameters] = estimationParameters->parameters()[Trk::phi];
351  m_parameterEta[m_parameters] = estimationParameters->eta();
352  m_parameterTheta[m_parameters] = estimationParameters->parameters()[Trk::theta];
353  m_parameterQoverP[m_parameters] = estimationParameters->parameters()[Trk::qOverP];
354  if(estimationParameters->covariance()){
355  m_covarianceLoc1[m_parameters] = (*estimationParameters->covariance())(0,0);
356  m_covarianceLoc2[m_parameters] = (*estimationParameters->covariance())(1,1);
357  m_covariancePhi[m_parameters] = (*estimationParameters->covariance())(2,2);
358  m_covarianceTheta[m_parameters] = (*estimationParameters->covariance())(3,3);
359  m_covarianceQoverP[m_parameters] = (*estimationParameters->covariance())(4,4);
360  m_covarianceDeterminant[m_parameters] = (estimationParameters->covariance())->determinant();
361  }
362  else{
369  }
370  // the start Momentum
371 
372  // get the estimated position
373  const Amg::Vector3D& estimatedPosition = estimationParameters->position();
374 
375  m_estimationX = estimatedPosition.x();
376  m_estimationY = estimatedPosition.y();
377  m_estimationZ = estimatedPosition.z();
378 
379  // cleanup for memory reasons
380  delete estimationParameters; estimationParameters = nullptr;
381 
382  // create the radom surface at the destination point
387  m_parameterTheta[m_parameters]), 10e5 , 10e5);
388 
389 
390  ATH_MSG_VERBOSE( "Extrapolation to Destination Surface: " << destinationSurface );
391 
392  // the destination parameters
393  const Trk::TrackParameters* destParameters = nullptr;
394  // the standard validation ...
396  destParameters = m_extrapolator->extrapolate(ctx,
397  startParameters,
398  destinationSurface,
400  false,
402  else if(!m_direct){ // material collection validation
403  // get the vector of TrackStateOnSurfaces back
404  const std::vector<const Trk::TrackStateOnSurface*>*
405  collectedMaterial = m_extrapolator->extrapolateM(ctx,
406  startParameters,
407  destinationSurface,
409  false,
411 
412  // get the last one and clone it
413  if (collectedMaterial && !collectedMaterial->empty()){
414  // get the last track state on surface & clone the destination parameters
415  const Trk::TrackStateOnSurface* destinationState = collectedMaterial->back();
416  destParameters = destinationState->trackParameters() ? destinationState->trackParameters()->clone() : nullptr;
417  m_collectedLayerFront += collectedMaterial->size();
418  // delete the layers / cleanup
419  std::vector<const Trk::TrackStateOnSurface*>::const_iterator tsosIter = collectedMaterial->begin();
420  std::vector<const Trk::TrackStateOnSurface*>::const_iterator tsosIterEnd = collectedMaterial->end();
421  for ( ; tsosIter != tsosIterEnd; delete(*tsosIter), ++tsosIter);
422  }
423  }
424 
425  else{
426  destParameters = m_extrapolator->extrapolateDirectly(ctx,
427  startParameters,
428  destinationSurface,
430  false,
432 
433  }
434  // ----------------------- check if forward call was successful and continue then
435  if (destParameters){
436  // successful tries
437  ++m_triesBack;
438  // record the destination parameters
439  ++m_parameters;
440  m_parameterLoc1[m_parameters] = destParameters->parameters()[Trk::loc1];
441  m_parameterLoc2[m_parameters] = destParameters->parameters()[Trk::loc2];
442  m_parameterPhi[m_parameters] = destParameters->parameters()[Trk::phi];
443  m_parameterEta[m_parameters] = destParameters->eta();
444  m_parameterTheta[m_parameters] = destParameters->parameters()[Trk::theta];
445  m_parameterQoverP[m_parameters] = destParameters->parameters()[Trk::qOverP];
446  if(destParameters->covariance()){
447  m_covarianceLoc1[m_parameters] = (*destParameters->covariance())(0,0);
448  m_covarianceLoc2[m_parameters] = (*destParameters->covariance())(1,1);
449  m_covariancePhi[m_parameters] = (*destParameters->covariance())(2,2);
450  m_covarianceTheta[m_parameters] = (*destParameters->covariance())(3,3);
451  m_covarianceQoverP[m_parameters] = (*destParameters->covariance())(4,4);
452  m_covarianceDeterminant[m_parameters] = (destParameters->covariance())->determinant();
453  }
454  else{
461  }
462  // record the destination parameters
463  const Amg::Vector3D& destinationPosition = destParameters->position();
464  m_destinationX = destinationPosition.x();
465  m_destinationY = destinationPosition.y();
466  m_destinationZ = destinationPosition.z();
467  m_destinationR = destinationPosition.perp();
468 
469  // now simply go backwards
470  const Trk::TrackParameters* backParameters = nullptr;
471  // the standard validation ...
473  backParameters = m_extrapolator->extrapolate(ctx,
474  *destParameters,
475  startSurface,
477  false,
479  else if(!m_direct){ // material collection validation
480  // get the vector of TrackStateOnSurfaces back
481  const std::vector<const Trk::TrackStateOnSurface*>*
482  collectedBackMaterial = m_extrapolator->extrapolateM(ctx,
483  *destParameters,
484  startSurface,
486  false,
488  // get the last one and clone it
489  if (collectedBackMaterial && !collectedBackMaterial->empty()){
490  // get the last track state on surface & clone the destination parameters
491  const Trk::TrackStateOnSurface* startState = collectedBackMaterial->back();
492  // assign the last ones of the call
493  backParameters = startState->trackParameters() ? startState->trackParameters()->clone() : nullptr;
494  m_collectedLayerBack += collectedBackMaterial->size();
495  // delete the layers / cleanup
496  std::vector<const Trk::TrackStateOnSurface*>::const_iterator tsosIter = collectedBackMaterial->begin();
497  std::vector<const Trk::TrackStateOnSurface*>::const_iterator tsosIterEnd = collectedBackMaterial->end();
498  for ( ; tsosIter != tsosIterEnd; delete(*tsosIter), ++tsosIter);
499  }
500  }
501 
502  else{
503  backParameters = m_extrapolator->extrapolateDirectly(ctx,
504  *destParameters,
505  startSurface,
507  false,
509 
510  }
511  // ----------------------- check if backward call was successful and continue then
512  if (backParameters){
513 
514  ATH_MSG_VERBOSE( "Back Parameters : " << *backParameters );
515 
516  // record the back extrapolated ones
517  ++m_parameters;
518  m_parameterLoc1[m_parameters] = backParameters->parameters()[Trk::loc1];
519  m_parameterLoc2[m_parameters] = backParameters->parameters()[Trk::loc2];
520  m_parameterPhi[m_parameters] = backParameters->parameters()[Trk::phi];
521  m_parameterEta[m_parameters] = backParameters->eta();
522  m_parameterTheta[m_parameters] = backParameters->parameters()[Trk::theta];
523  m_parameterQoverP[m_parameters] = backParameters->parameters()[Trk::qOverP];
524  if(backParameters->covariance()){
525  m_covarianceLoc1[m_parameters] = (*backParameters->covariance())(0,0);
526  m_covarianceLoc2[m_parameters] = (*backParameters->covariance())(1,1);
527  m_covariancePhi[m_parameters] = (*backParameters->covariance())(2,2);
528  m_covarianceTheta[m_parameters] = (*backParameters->covariance())(3,3);
529  m_covarianceQoverP[m_parameters] = (*backParameters->covariance())(4,4);
530  m_covarianceDeterminant[m_parameters] = (backParameters->covariance())->determinant();
531  }
532  else{
539  }
540  // memory cleanup
541  delete backParameters;
542  } else
543  ++m_breaksBack;
544  // memory cleanup
545  delete destParameters;
546  } else
547  ++m_breaksFront;
548  // increase ones more
549  ++m_parameters;
550  // memory cleanup
551 
552  if (m_validationTree)
553  m_validationTree->Fill();
554 
555 
556  //std::cout<<"Cleaning up..."<<std::endl;
557  //delete covariance;
558 
559  return StatusCode::SUCCESS;
560 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ extraOutputDeps()

const DataObjIDColl & AthAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 50 of file AthAlgorithm.cxx.

51 {
52  // If we didn't find any symlinks to add, just return the collection
53  // from the base class. Otherwise, return the extended collection.
54  if (!m_extendedExtraObjects.empty()) {
56  }
57  return Algorithm::extraOutputDeps();
58 }

◆ finalize()

StatusCode Trk::ExtrapolationValidation::finalize ( )

standard Athena-Algorithm method

Definition at line 182 of file ExtrapolationValidation.cxx.

183 {
184  // Code entered here will be executed once at the end of the program run.
185  ATH_MSG_INFO("================== Output Statistics =========================");
186  ATH_MSG_INFO("= Navigation : ");
187  ATH_MSG_INFO("= - breaks fwd : " << double(m_breaksFront)/double(m_triesFront)
188  << " (" << m_breaksFront << "/" << m_triesFront << ")");
189  ATH_MSG_INFO("= - breaks bwd : " << double(m_breaksBack)/double(m_triesBack)
190  << " (" << m_breaksBack << "/" << m_triesBack << ")");
192  ATH_MSG_INFO("= Material collection : ");
193  ATH_MSG_INFO("= - layer collected fwd : " << m_collectedLayerFront );
194  ATH_MSG_INFO("= - layer collected bwd : " << m_collectedLayerBack );
195  }
196 
197  ATH_MSG_INFO("==============================================================");
198 
199  return StatusCode::SUCCESS;
200 }

◆ initialize()

StatusCode Trk::ExtrapolationValidation::initialize ( )

standard Athena-Algorithm method

Definition at line 116 of file ExtrapolationValidation.cxx.

117 {
118  // Code entered here will be executed once at program start.
119  ATH_MSG_INFO( " initialize()" );
120 
121  // Get Extrapolator from ToolService
122  ATH_CHECK( m_extrapolator.retrieve());
123 
124  // create the new Tree
126 
127  // the branches for the parameters
128  m_validationTree->Branch("Parameters", &m_parameters, "params/I");
129  m_validationTree->Branch("ParametersLoc1", m_parameterLoc1, "paramLoc1[params]/F");
130  m_validationTree->Branch("ParametersLoc2", m_parameterLoc2, "paramLoc2[params]/F");
131  m_validationTree->Branch("ParametersPhi", m_parameterPhi, "paramPhi[params]/F");
132  m_validationTree->Branch("ParametersTheta", m_parameterTheta, "paramTheta[params]/F");
133  m_validationTree->Branch("ParametersEta", m_parameterEta, "paramEta[params]/F");
134  m_validationTree->Branch("ParametersQoverP", m_parameterQoverP, "paramQoverP[params]/F");
135  // for the covariance diagonals
136  m_validationTree->Branch("CovarianceLoc1", m_covarianceLoc1, "covLoc1[params]/F");
137  m_validationTree->Branch("CovarianceLoc2", m_covarianceLoc2, "covLoc2[params]/F");
138  m_validationTree->Branch("CovariancePhi", m_covariancePhi, "covPhi[params]/F");
139  m_validationTree->Branch("CovarianceTheta", m_covarianceTheta, "covTheta[params]/F");
140  m_validationTree->Branch("CovarianceQoverP", m_covarianceQoverP, "covQoverP[params]/F");
141  m_validationTree->Branch("CovarianceDeterminant", m_covarianceDeterminant, "covDet[params]/F");
142  // the start Momentum
143  m_validationTree->Branch("StartMomentum", &m_startP, "startP/F");
144  // for the start surface
145  m_validationTree->Branch("StartSurfaceX", &m_startX, "startX/F");
146  m_validationTree->Branch("StartSurfaceY", &m_startY, "startY/F");
147  m_validationTree->Branch("StartSurfaceR", &m_startR, "startR/F");
148  m_validationTree->Branch("StartSurfaceZ", &m_startZ, "startZ/F");
149  // the estimation of the parameters
150  m_validationTree->Branch("EstimationSurfaceX", &m_estimationX, "estimateX/F");
151  m_validationTree->Branch("EstimationSurfaceY", &m_estimationY, "estimateY/F");
152  m_validationTree->Branch("EstimationSurfaceR", &m_estimationR, "estimateR/F");
153  m_validationTree->Branch("EstimationSurfaceZ", &m_estimationZ, "estimateZ/F");
154  // for the surface type
155  m_validationTree->Branch("DestinationSurfaceType", &m_destinationSurfaceType, "surfaceType/I");
156  m_validationTree->Branch("DestinationSurfaceX", &m_destinationX, "surfaceX/F");
157  m_validationTree->Branch("DestinationSurfaceY", &m_destinationY, "surfaceY/F");
158  m_validationTree->Branch("DestinationSurfaceR", &m_destinationR, "surfaceR/F");
159  m_validationTree->Branch("DestinationSurfaceZ", &m_destinationZ, "surfaceZ/F");
160 
161  // now register the Tree
162  ITHistSvc* tHistSvc = nullptr;
163  if (service("THistSvc",tHistSvc).isFailure()){
164  ATH_MSG_ERROR("initialize() Could not find Hist Service -> Switching ValidationMode Off !" );
165  delete m_validationTree; m_validationTree = nullptr;
166  }
167  if ((tHistSvc->regTree(m_validationTreeFolder, m_validationTree)).isFailure()) {
168  ATH_MSG_ERROR("initialize() Could not register the validation Tree -> Switching ValidationMode Off !" );
169  delete m_validationTree; m_validationTree = nullptr;
170  }
171 
172  // intialize the random number generators
173  m_gaussDist = new Rndm::Numbers(randSvc(), Rndm::Gauss(0.,1.));
174  m_flatDist = new Rndm::Numbers(randSvc(), Rndm::Flat(0.,1.));
175 
176  ATH_MSG_INFO( "initialize() successful");
177  return StatusCode::SUCCESS;
178 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ msg() [1/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Algorithm >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< Algorithm > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

StatusCode AthAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.

Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, PyAthena::Alg, and AthHistogramAlgorithm.

Definition at line 66 of file AthAlgorithm.cxx.

66  {
68 
69  if (sc.isFailure()) {
70  return sc;
71  }
72  ServiceHandle<ICondSvc> cs("CondSvc",name());
73  for (auto h : outputHandles()) {
74  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
75  // do this inside the loop so we don't create the CondSvc until needed
76  if ( cs.retrieve().isFailure() ) {
77  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
78  return StatusCode::SUCCESS;
79  }
80  if (cs->regHandle(this,*h).isFailure()) {
81  sc = StatusCode::FAILURE;
82  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
83  << " with CondSvc");
84  }
85  }
86  }
87  return sc;
88 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_breaksBack

unsigned int Trk::ExtrapolationValidation::m_breaksBack
private

breaks

Definition at line 144 of file ExtrapolationValidation.h.

◆ m_breaksFront

unsigned int Trk::ExtrapolationValidation::m_breaksFront
private

breaks front

Definition at line 142 of file ExtrapolationValidation.h.

◆ m_collectedLayerBack

unsigned int Trk::ExtrapolationValidation::m_collectedLayerBack
private

collected material layers backwards

Definition at line 147 of file ExtrapolationValidation.h.

◆ m_collectedLayerFront

unsigned int Trk::ExtrapolationValidation::m_collectedLayerFront
private

collected material layers forward

Definition at line 146 of file ExtrapolationValidation.h.

◆ m_covarianceDeterminant

float Trk::ExtrapolationValidation::m_covarianceDeterminant[TRKEXALGS_MAXPARAMETERS]
private

start qOverP

Definition at line 121 of file ExtrapolationValidation.h.

◆ m_covarianceLoc1

float Trk::ExtrapolationValidation::m_covarianceLoc1[TRKEXALGS_MAXPARAMETERS]
private

start local 1

Definition at line 116 of file ExtrapolationValidation.h.

◆ m_covarianceLoc2

float Trk::ExtrapolationValidation::m_covarianceLoc2[TRKEXALGS_MAXPARAMETERS]
private

start local 2

Definition at line 117 of file ExtrapolationValidation.h.

◆ m_covariancePhi

float Trk::ExtrapolationValidation::m_covariancePhi[TRKEXALGS_MAXPARAMETERS]
private

start phi

Definition at line 118 of file ExtrapolationValidation.h.

◆ m_covarianceQoverP

float Trk::ExtrapolationValidation::m_covarianceQoverP[TRKEXALGS_MAXPARAMETERS]
private

start qOverP

Definition at line 120 of file ExtrapolationValidation.h.

◆ m_covarianceTheta

float Trk::ExtrapolationValidation::m_covarianceTheta[TRKEXALGS_MAXPARAMETERS]
private

start theta

Definition at line 119 of file ExtrapolationValidation.h.

◆ m_destinationR

float Trk::ExtrapolationValidation::m_destinationR
private

destination in R

Definition at line 137 of file ExtrapolationValidation.h.

◆ m_destinationSurfaceType

int Trk::ExtrapolationValidation::m_destinationSurfaceType
private

destination surface type

Definition at line 123 of file ExtrapolationValidation.h.

◆ m_destinationX

float Trk::ExtrapolationValidation::m_destinationX
private

destination in X

Definition at line 135 of file ExtrapolationValidation.h.

◆ m_destinationY

float Trk::ExtrapolationValidation::m_destinationY
private

destination in Y

Definition at line 136 of file ExtrapolationValidation.h.

◆ m_destinationZ

float Trk::ExtrapolationValidation::m_destinationZ
private

destination in Z

Definition at line 138 of file ExtrapolationValidation.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_direct

bool Trk::ExtrapolationValidation::m_direct
private

Definition at line 87 of file ExtrapolationValidation.h.

◆ m_estimationR

float Trk::ExtrapolationValidation::m_estimationR
private

estimation in R

Definition at line 132 of file ExtrapolationValidation.h.

◆ m_estimationX

float Trk::ExtrapolationValidation::m_estimationX
private

estimation in X

Definition at line 130 of file ExtrapolationValidation.h.

◆ m_estimationY

float Trk::ExtrapolationValidation::m_estimationY
private

estimation in Y

Definition at line 131 of file ExtrapolationValidation.h.

◆ m_estimationZ

float Trk::ExtrapolationValidation::m_estimationZ
private

estimation in Z

Definition at line 133 of file ExtrapolationValidation.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthAlgorithm::m_extendedExtraObjects
privateinherited

Definition at line 79 of file AthAlgorithm.h.

◆ m_extrapolator

ToolHandle<IExtrapolator> Trk::ExtrapolationValidation::m_extrapolator
private

The Extrapolator to be retrieved.

Definition at line 79 of file ExtrapolationValidation.h.

◆ m_flatDist

Rndm::Numbers* Trk::ExtrapolationValidation::m_flatDist
private

Definition at line 83 of file ExtrapolationValidation.h.

◆ m_gaussDist

Rndm::Numbers* Trk::ExtrapolationValidation::m_gaussDist
private

Random Number setup.

Definition at line 82 of file ExtrapolationValidation.h.

◆ m_highestVolume

const TrackingVolume* Trk::ExtrapolationValidation::m_highestVolume
private

the highest volume

Definition at line 76 of file ExtrapolationValidation.h.

◆ m_materialCollectionValidation

bool Trk::ExtrapolationValidation::m_materialCollectionValidation
private

run the material collection

Definition at line 85 of file ExtrapolationValidation.h.

◆ m_maxEta

double Trk::ExtrapolationValidation::m_maxEta
private

Maximal eta value.

Definition at line 102 of file ExtrapolationValidation.h.

◆ m_maximumR

double Trk::ExtrapolationValidation::m_maximumR
private

maximum R of the highest

Definition at line 95 of file ExtrapolationValidation.h.

◆ m_maximumZ

double Trk::ExtrapolationValidation::m_maximumZ
private

maximum halfZ of the highest tracking volume

Definition at line 96 of file ExtrapolationValidation.h.

◆ m_maxP

double Trk::ExtrapolationValidation::m_maxP
private

Maximal p value.

Definition at line 104 of file ExtrapolationValidation.h.

◆ m_minEta

double Trk::ExtrapolationValidation::m_minEta
private

Minimal eta value.

Definition at line 101 of file ExtrapolationValidation.h.

◆ m_minP

double Trk::ExtrapolationValidation::m_minP
private

Minimal p value.

Definition at line 103 of file ExtrapolationValidation.h.

◆ m_parameterEta

float Trk::ExtrapolationValidation::m_parameterEta[TRKEXALGS_MAXPARAMETERS]
private

start eta

Definition at line 113 of file ExtrapolationValidation.h.

◆ m_parameterLoc1

float Trk::ExtrapolationValidation::m_parameterLoc1[TRKEXALGS_MAXPARAMETERS]
private

start local 1

Definition at line 109 of file ExtrapolationValidation.h.

◆ m_parameterLoc2

float Trk::ExtrapolationValidation::m_parameterLoc2[TRKEXALGS_MAXPARAMETERS]
private

start local 2

Definition at line 110 of file ExtrapolationValidation.h.

◆ m_parameterPhi

float Trk::ExtrapolationValidation::m_parameterPhi[TRKEXALGS_MAXPARAMETERS]
private

start phi

Definition at line 111 of file ExtrapolationValidation.h.

◆ m_parameterQoverP

float Trk::ExtrapolationValidation::m_parameterQoverP[TRKEXALGS_MAXPARAMETERS]
private

start qOverP

Definition at line 114 of file ExtrapolationValidation.h.

◆ m_parameters

int Trk::ExtrapolationValidation::m_parameters
private

maximum 3 : start - destination - backward

Definition at line 108 of file ExtrapolationValidation.h.

◆ m_parameterTheta

float Trk::ExtrapolationValidation::m_parameterTheta[TRKEXALGS_MAXPARAMETERS]
private

start theta

Definition at line 112 of file ExtrapolationValidation.h.

◆ m_particleType

int Trk::ExtrapolationValidation::m_particleType
private

the particle typre for the extrap.

Definition at line 106 of file ExtrapolationValidation.h.

◆ m_sigmaLoc

double Trk::ExtrapolationValidation::m_sigmaLoc
private

local sigma of start value

Definition at line 98 of file ExtrapolationValidation.h.

◆ m_sigmaR

double Trk::ExtrapolationValidation::m_sigmaR
private

r sigma of start value

Definition at line 99 of file ExtrapolationValidation.h.

◆ m_sigmaZ

double Trk::ExtrapolationValidation::m_sigmaZ
private

Z sigma of start value.

Definition at line 100 of file ExtrapolationValidation.h.

◆ m_startP

float Trk::ExtrapolationValidation::m_startP
private

startP

Definition at line 128 of file ExtrapolationValidation.h.

◆ m_startR

float Trk::ExtrapolationValidation::m_startR
private

startX

Definition at line 126 of file ExtrapolationValidation.h.

◆ m_startX

float Trk::ExtrapolationValidation::m_startX
private

startX

Definition at line 124 of file ExtrapolationValidation.h.

◆ m_startY

float Trk::ExtrapolationValidation::m_startY
private

startX

Definition at line 125 of file ExtrapolationValidation.h.

◆ m_startZ

float Trk::ExtrapolationValidation::m_startZ
private

startX

Definition at line 127 of file ExtrapolationValidation.h.

◆ m_triesBack

unsigned int Trk::ExtrapolationValidation::m_triesBack
private

events back

Definition at line 143 of file ExtrapolationValidation.h.

◆ m_triesFront

unsigned int Trk::ExtrapolationValidation::m_triesFront
private

events front

Definition at line 141 of file ExtrapolationValidation.h.

◆ m_validationTree

TTree* Trk::ExtrapolationValidation::m_validationTree
private

Root Validation Tree.

Definition at line 89 of file ExtrapolationValidation.h.

◆ m_validationTreeDescription

std::string Trk::ExtrapolationValidation::m_validationTreeDescription
private

validation tree description - second argument in TTree

Definition at line 92 of file ExtrapolationValidation.h.

◆ m_validationTreeFolder

std::string Trk::ExtrapolationValidation::m_validationTreeFolder
private

stream/folder to for the TTree to be written out

Definition at line 93 of file ExtrapolationValidation.h.

◆ m_validationTreeName

std::string Trk::ExtrapolationValidation::m_validationTreeName
private

validation tree name - to be acessed by this from root

Definition at line 91 of file ExtrapolationValidation.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
Trk::y
@ y
Definition: ParamDefs.h:62
Trk::TrackStateOnSurface::trackParameters
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
Trk::ExtrapolationValidation::m_sigmaR
double m_sigmaR
r sigma of start value
Definition: ExtrapolationValidation.h:99
Trk::ExtrapolationValidation::m_direct
bool m_direct
Definition: ExtrapolationValidation.h:87
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
Trk::z
@ z
global position (cartesian)
Definition: ParamDefs.h:63
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
ActsTrk::Parameters
Acts::TrackStateTraits< 3, false >::Parameters Parameters
Definition: Tracking/Acts/ActsEvent/ActsEvent/TrackSummaryContainer.h:51
PlotCalibFromCool.zAxis
zAxis
Definition: PlotCalibFromCool.py:76
Trk::ExtrapolationValidation::m_covariancePhi
float m_covariancePhi[TRKEXALGS_MAXPARAMETERS]
start phi
Definition: ExtrapolationValidation.h:118
Trk::Volume::inside
bool inside(const Amg::Vector3D &gp, double tol=0.) const
Inside() method for checks.
Definition: Volume.cxx:90
Trk::ParametersBase::position
const Amg::Vector3D & position() const
Access method for the position.
Trk::oppositeMomentum
@ oppositeMomentum
Definition: PropDirection.h:21
Trk::ExtrapolationValidation::m_estimationX
float m_estimationX
estimation in X
Definition: ExtrapolationValidation.h:130
AthCommonDataStore< AthCommonMsg< Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Trk::ExtrapolationValidation::m_triesBack
unsigned int m_triesBack
events back
Definition: ExtrapolationValidation.h:143
Trk::ExtrapolationValidation::m_covarianceDeterminant
float m_covarianceDeterminant[TRKEXALGS_MAXPARAMETERS]
start qOverP
Definition: ExtrapolationValidation.h:121
Trk::ExtrapolationValidation::m_parameterLoc2
float m_parameterLoc2[TRKEXALGS_MAXPARAMETERS]
start local 2
Definition: ExtrapolationValidation.h:110
Trk::ExtrapolationValidation::m_collectedLayerFront
unsigned int m_collectedLayerFront
collected material layers forward
Definition: ExtrapolationValidation.h:146
Trk::ExtrapolationValidation::m_estimationR
float m_estimationR
estimation in R
Definition: ExtrapolationValidation.h:132
M_PI
#define M_PI
Definition: ActiveFraction.h:11
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
Trk::loc2
@ loc2
generic first and second local coordinate
Definition: ParamDefs.h:41
Trk::ExtrapolationValidation::m_minEta
double m_minEta
Minimal eta value.
Definition: ExtrapolationValidation.h:101
Trk::ExtrapolationValidation::m_destinationX
float m_destinationX
destination in X
Definition: ExtrapolationValidation.h:135
Trk::alongMomentum
@ alongMomentum
Definition: PropDirection.h:20
Trk::ExtrapolationValidation::m_parameterPhi
float m_parameterPhi[TRKEXALGS_MAXPARAMETERS]
start phi
Definition: ExtrapolationValidation.h:111
Trk::ExtrapolationValidation::m_triesFront
unsigned int m_triesFront
events front
Definition: ExtrapolationValidation.h:141
Trk::ExtrapolationValidation::m_highestVolume
const TrackingVolume * m_highestVolume
the highest volume
Definition: ExtrapolationValidation.h:76
Trk::ExtrapolationValidation::m_flatDist
Rndm::Numbers * m_flatDist
Definition: ExtrapolationValidation.h:83
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
drawFromPickle.cos
cos
Definition: drawFromPickle.py:36
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
const
bool const RAWDATA *ch2 const
Definition: LArRodBlockPhysicsV0.cxx:562
Trk::TrackParameters
ParametersBase< 5, Charged > TrackParameters
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:24
drawFromPickle.exp
exp
Definition: drawFromPickle.py:36
Trk::ExtrapolationValidation::m_validationTree
TTree * m_validationTree
Root Validation Tree.
Definition: ExtrapolationValidation.h:89
Trk::ExtrapolationValidation::m_parameterTheta
float m_parameterTheta[TRKEXALGS_MAXPARAMETERS]
start theta
Definition: ExtrapolationValidation.h:112
Trk::ExtrapolationValidation::m_destinationY
float m_destinationY
destination in Y
Definition: ExtrapolationValidation.h:136
drawFromPickle.atan
atan
Definition: drawFromPickle.py:36
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Trk::ExtrapolationValidation::m_destinationR
float m_destinationR
destination in R
Definition: ExtrapolationValidation.h:137
Trk::ExtrapolationValidation::m_minP
double m_minP
Minimal p value.
Definition: ExtrapolationValidation.h:103
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:564
Trk::AmgSymMatrix
AmgSymMatrix(5) &GXFTrackState
Definition: GXFTrackState.h:156
Trk::ParticleHypothesis
ParticleHypothesis
Definition: ParticleHypothesis.h:25
Trk::ExtrapolationValidation::m_estimationZ
float m_estimationZ
estimation in Z
Definition: ExtrapolationValidation.h:133
Trk::TrackingGeometry::highestTrackingVolume
const TrackingVolume * highestTrackingVolume() const
return the world
python.SystemOfUnits.millimeter
int millimeter
Definition: SystemOfUnits.py:53
Trk::ExtrapolationValidation::m_destinationSurfaceType
int m_destinationSurfaceType
destination surface type
Definition: ExtrapolationValidation.h:123
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthAlgorithm.cxx:66
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
CheckAppliedSFs.e3
e3
Definition: CheckAppliedSFs.py:264
AthCommonDataStore< AthCommonMsg< Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
Trk::ExtrapolationValidation::m_sigmaZ
double m_sigmaZ
Z sigma of start value.
Definition: ExtrapolationValidation.h:100
beamspotman.n
n
Definition: beamspotman.py:731
Trk::theta
@ theta
Definition: ParamDefs.h:72
Trk::TrackingGeometry
Definition: TrackingGeometry.h:67
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:96
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
ActsTrk::Covariance
Acts::TrackStateTraits< 3, false >::Covariance Covariance
Definition: Tracking/Acts/ActsEvent/ActsEvent/TrackSummaryContainer.h:52
Trk::CylinderVolumeBounds::halflengthZ
double halflengthZ() const
This method returns the halflengthZ.
Definition: CylinderVolumeBounds.h:207
Trk::ExtrapolationValidation::m_covarianceLoc2
float m_covarianceLoc2[TRKEXALGS_MAXPARAMETERS]
start local 2
Definition: ExtrapolationValidation.h:117
Trk::ExtrapolationValidation::m_validationTreeDescription
std::string m_validationTreeDescription
validation tree description - second argument in TTree
Definition: ExtrapolationValidation.h:92
Trk::ExtrapolationValidation::m_gaussDist
Rndm::Numbers * m_gaussDist
Random Number setup.
Definition: ExtrapolationValidation.h:82
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Trk::ExtrapolationValidation::m_breaksFront
unsigned int m_breaksFront
breaks front
Definition: ExtrapolationValidation.h:142
Trk::ExtrapolationValidation::m_sigmaLoc
double m_sigmaLoc
local sigma of start value
Definition: ExtrapolationValidation.h:98
Trk::ExtrapolationValidation::m_validationTreeFolder
std::string m_validationTreeFolder
stream/folder to for the TTree to be written out
Definition: ExtrapolationValidation.h:93
AthCommonDataStore< AthCommonMsg< Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
Trk::ParametersBase
Definition: ParametersBase.h:55
python.SystemOfUnits.micrometer
int micrometer
Definition: SystemOfUnits.py:71
Trk::ExtrapolationValidation::m_parameterQoverP
float m_parameterQoverP[TRKEXALGS_MAXPARAMETERS]
start qOverP
Definition: ExtrapolationValidation.h:114
Trk::ExtrapolationValidation::m_maxP
double m_maxP
Maximal p value.
Definition: ExtrapolationValidation.h:104
Trk::ExtrapolationValidation::m_startX
float m_startX
startX
Definition: ExtrapolationValidation.h:124
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
Trk::ExtrapolationValidation::m_parameters
int m_parameters
maximum 3 : start - destination - backward
Definition: ExtrapolationValidation.h:108
Trk::ExtrapolationValidation::m_startR
float m_startR
startX
Definition: ExtrapolationValidation.h:126
Trk::CylinderVolumeBounds
Definition: CylinderVolumeBounds.h:70
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:119
Amg
Definition of ATLAS Math & Geometry primitives (Amg)
Definition: AmgStringHelpers.h:19
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
python.EventInfoMgtInit.release
release
Definition: EventInfoMgtInit.py:24
Trk::ExtrapolationValidation::m_covarianceQoverP
float m_covarianceQoverP[TRKEXALGS_MAXPARAMETERS]
start qOverP
Definition: ExtrapolationValidation.h:120
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
Trk::CylinderVolumeBounds::outerRadius
double outerRadius() const
This method returns the outer radius.
Definition: CylinderVolumeBounds.h:191
charge
double charge(const T &p)
Definition: AtlasPID.h:494
Trk::ExtrapolationValidation::m_startP
float m_startP
startP
Definition: ExtrapolationValidation.h:128
Trk::ExtrapolationValidation::m_particleType
int m_particleType
the particle typre for the extrap.
Definition: ExtrapolationValidation.h:106
Trk::ExtrapolationValidation::m_breaksBack
unsigned int m_breaksBack
breaks
Definition: ExtrapolationValidation.h:144
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::ExtrapolationValidation::m_destinationZ
float m_destinationZ
destination in Z
Definition: ExtrapolationValidation.h:138
Trk::ExtrapolationValidation::m_maximumR
double m_maximumR
maximum R of the highest
Definition: ExtrapolationValidation.h:95
Trk::ExtrapolationValidation::m_materialCollectionValidation
bool m_materialCollectionValidation
run the material collection
Definition: ExtrapolationValidation.h:85
Trk::AtaPlane
ParametersT< 5, Charged, PlaneSurface > AtaPlane
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:30
AthAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Definition: AthAlgorithm.h:79
Trk::ExtrapolationValidation::m_collectedLayerBack
unsigned int m_collectedLayerBack
collected material layers backwards
Definition: ExtrapolationValidation.h:147
a
TList * a
Definition: liststreamerinfos.cxx:10
h
Trk::ExtrapolationValidation::m_startY
float m_startY
startX
Definition: ExtrapolationValidation.h:125
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Trk::PlaneSurface
Definition: PlaneSurface.h:64
Amg::RotationMatrix3D
Eigen::Matrix< double, 3, 3 > RotationMatrix3D
Definition: GeoPrimitives.h:49
Trk::addNoise
@ addNoise
Definition: MaterialUpdateMode.h:19
Amg::Translation3D
Eigen::Translation< double, 3 > Translation3D
Definition: GeoPrimitives.h:44
Trk::Volume::volumeBounds
const VolumeBounds & volumeBounds() const
returns the volumeBounds()
Definition: Volume.h:97
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:73
if
if(febId1==febId2)
Definition: LArRodBlockPhysicsV0.cxx:569
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
Trk::ParametersBase::eta
double eta() const
Access method for pseudorapidity - from momentum.
Amg::AngleAxis3D
Eigen::AngleAxisd AngleAxis3D
Definition: GeoPrimitives.h:45
AthAlgorithm::AthAlgorithm
AthAlgorithm()
Default constructor:
Trk::phi
@ phi
Definition: ParamDefs.h:81
Trk::ExtrapolationValidation::m_covarianceLoc1
float m_covarianceLoc1[TRKEXALGS_MAXPARAMETERS]
start local 1
Definition: ExtrapolationValidation.h:116
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
Trk::ExtrapolationValidation::m_validationTreeName
std::string m_validationTreeName
validation tree name - to be acessed by this from root
Definition: ExtrapolationValidation.h:91
Trk::x
@ x
Definition: ParamDefs.h:61
Trk::loc1
@ loc1
Definition: ParamDefs.h:40
Trk::removeNoise
@ removeNoise
Definition: MaterialUpdateMode.h:20
Trk::ExtrapolationValidation::m_startZ
float m_startZ
startX
Definition: ExtrapolationValidation.h:127
GeV
#define GeV
Definition: CaloTransverseBalanceVecMon.cxx:30
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
Trk::ExtrapolationValidation::m_maxEta
double m_maxEta
Maximal eta value.
Definition: ExtrapolationValidation.h:102
fitman.k
k
Definition: fitman.py:528
Trk::ParametersBase::clone
virtual ParametersBase< DIM, T > * clone() const override=0
clone method for polymorphic deep copy
Trk::ExtrapolationValidation::m_estimationY
float m_estimationY
estimation in Y
Definition: ExtrapolationValidation.h:131
Trk::ExtrapolationValidation::m_parameterEta
float m_parameterEta[TRKEXALGS_MAXPARAMETERS]
start eta
Definition: ExtrapolationValidation.h:113
ServiceHandle< ICondSvc >
Trk::ExtrapolationValidation::m_extrapolator
ToolHandle< IExtrapolator > m_extrapolator
The Extrapolator to be retrieved.
Definition: ExtrapolationValidation.h:79
Trk::ExtrapolationValidation::m_parameterLoc1
float m_parameterLoc1[TRKEXALGS_MAXPARAMETERS]
start local 1
Definition: ExtrapolationValidation.h:109