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

Explain... More...

#include <PerigeeParametersNtupleTool.h>

Inheritance diagram for Trk::PerigeeParametersNtupleTool:
Collaboration diagram for Trk::PerigeeParametersNtupleTool:

Public Member Functions

 PerigeeParametersNtupleTool (const std::string &, const std::string &, const IInterface *)
 
 ~PerigeeParametersNtupleTool ()
 
StatusCode initialize ()
 
StatusCode finalize ()
 
virtual StatusCode addNtupleItems (TTree *tree)
 add branches to the tree Should be called once (per track collection and tree) dunring the initialisation phase by the calling algorithm (usually Trk::TrackValidationNtupleWriter) More...
 
virtual StatusCode fillTrackData (const Trk::Track &, const int iterationIndex, const unsigned int fitStatCode)
 fill ntuple data of a given track without writing the record. More...
 
virtual StatusCode fillTrackParticleData (const Trk::TrackParticleBase &)
 fill ntuple data of a given TrackParticle without writing the record. More...
 
virtual StatusCode fillTrackTruthData (const TrackParameters *&, const TrackTruth &, const int)
 fill data about the truth match (score, parameter-pulls etc) More...
 
virtual void resetVariables ()
 reset the variables after writing the record to disk ntuple 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 sysInitialize () override
 Perform system initialization for an algorithm. 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
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 Interface ID, declared here, and defined below. More...
 

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

StatusCode fillTrackPerigee (const Trk::Perigee *perigee)
 fill the perigee in ntuple More...
 
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...
 

Private Attributes

ToolHandle< Trk::IExtrapolatorm_extrapolator
 extrapolator, in case tracks do not have perigee More...
 
bool m_doTruth
 switch to turn truth on/off More...
 
float m_Rec_d0
 reconstructed track params: local d0 at perigee UNIT:mm More...
 
float m_Rec_z0
 reconstructed track params: local z0 at perigee UNIT:mm More...
 
float m_Rec_phi0
 reconstructed track params: angle phi at perigee UNIT:rad More...
 
float m_Rec_theta
 reconstructed track params: angle theta at perigee UNIT:rad More...
 
float m_Rec_eta
 reconstructed track params: pseudorapidity UNIT:1 More...
 
float m_Rec_qOverP
 reconstructed track params: curvature q/p UNIT:1/MeV More...
 
float m_errord0
 error on local d0 at perigee UNIT:mm More...
 
float m_errorz0
 error on local z0 at perigee UNIT:mm More...
 
float m_errorphi0
 error on angle phi at perigee UNIT:rad More...
 
float m_errortheta0
 error on angle theta at perigee UNIT:rad More...
 
float m_errorqoverp
 error on curvature q/p UNIT:1/MeV More...
 
float m_mc_d0
 matched MC-truth track params: local d0 at perigee UNIT:mm More...
 
float m_mc_z0
 matched MC-truth track params: local z0 at perigee UNIT:mm More...
 
float m_mc_phi0
 matched MC-truth track params: angle phi at perigee UNIT:rad More...
 
float m_mc_theta
 matched MC-truth track params: angle theta at perigee UNIT:rad More...
 
float m_mc_qOverP
 matched MC-truth track params: curvature q/p at perigee UNIT:1/MeV More...
 
float m_mc_qOverPt
 matched MC-truth track params: projected curvature q/pT at perigee UNIT:1/MeV More...
 
float m_mc_eta
 matched MC-truth track params: pseudorapidity More...
 
float m_mc_diff_d0
 difference reconstructed minus true parameter: d0 UNIT:mm More...
 
float m_mc_diff_z0
 difference reconstructed minus true parameter: z0 UNIT:mm More...
 
float m_mc_diff_phi0
 difference reconstructed minus true parameter: angle phi UNIT:rad More...
 
float m_mc_diff_theta
 difference reconstructed minus true parameter: angle theta UNIT:rad More...
 
float m_mc_diff_qOverP
 difference reconstructed minus true parameter: q/p UNIT:1/MeV More...
 
float m_mc_pull_d0
 parameter-pull for d0 UNIT:1 More...
 
float m_mc_pull_z0
 parameter-pull for z0 UNIT:1 More...
 
float m_mc_pull_phi0
 parameter-pull for phi UNIT:1 More...
 
float m_mc_pull_theta
 parameter-pull for theta UNIT:1 More...
 
float m_mc_pull_qOverP
 parameter-pull for q/p UNIT:1 More...
 
int m_mc_particleID
 PDG-ID for matched truth track. More...
 
int m_mc_barcode
 barcode for matched truth track More...
 
int m_mc_truthTreeIndex
 entry index linking to 'Truth' tree in ntuple More...
 
float m_mc_energy
 energy of the truth particle UNIT:MeV More...
 
float m_mc_prob
 match probability for the truth particle (calculated by the job's configured TrackTruthSelector) More...
 
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

Explain...

Definition at line 29 of file PerigeeParametersNtupleTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ PerigeeParametersNtupleTool()

Trk::PerigeeParametersNtupleTool::PerigeeParametersNtupleTool ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 27 of file PerigeeParametersNtupleTool.cxx.

31  :
32  AthAlgTool(t,n,p),
33  m_extrapolator(""), // ("Trk::Extrapolator/AtlasExtrapolator"),
34  m_doTruth(true),
35  m_Rec_d0{},
36  m_Rec_z0{},
37  m_Rec_phi0{},
38  m_Rec_theta{},
39  m_Rec_eta{},
40  m_Rec_qOverP{},
41 
42  m_errord0{},
43  m_errorz0{},
44  m_errorphi0{},
45  m_errortheta0{},
46  m_errorqoverp{},
47 
48 
49  m_mc_d0{},
50  m_mc_z0{},
51  m_mc_phi0{},
52  m_mc_theta{},
53  m_mc_qOverP{},
54  m_mc_qOverPt{},
55  m_mc_eta{},
56 
57  m_mc_diff_d0{},
58  m_mc_diff_z0{},
62 
63  m_mc_pull_d0{},
64  m_mc_pull_z0{},
68 
70  m_mc_barcode{},
72  m_mc_energy{},
73 
74  m_mc_prob{}
75 
76 {
77  declareInterface<ITrackValidationNtupleTool>(this);
78  declareProperty("ExtrapolatorTool", m_extrapolator, "Extrapolator, eg for tracks without Perigee");
79  declareProperty("DoTruth", m_doTruth, "Toggle if to Write truth data");
80 
81 }

◆ ~PerigeeParametersNtupleTool()

Trk::PerigeeParametersNtupleTool::~PerigeeParametersNtupleTool ( )
default

Member Function Documentation

◆ addNtupleItems()

StatusCode Trk::PerigeeParametersNtupleTool::addNtupleItems ( TTree *  tree)
virtual

add branches to the tree Should be called once (per track collection and tree) dunring the initialisation phase by the calling algorithm (usually Trk::TrackValidationNtupleWriter)

Implements Trk::ITrackValidationNtupleTool.

Definition at line 105 of file PerigeeParametersNtupleTool.cxx.

105  {
106  if (!tree) return StatusCode::FAILURE;
107  //-----------------
108  // add items *** Note: Documentation is in the header file, doxygen and wikis! ***
109  //
110  // reconstructed track parameters
111  tree->Branch("RecD0", &m_Rec_d0 );
112  tree->Branch("RecZ0", &m_Rec_z0 );
113  tree->Branch("RecPhi0", &m_Rec_phi0 );
114  tree->Branch("RecTheta", &m_Rec_theta );
115  tree->Branch("RecEta", &m_Rec_eta );
116  tree->Branch("RecQoverP", &m_Rec_qOverP );
117 
118  // errors of reconstructed track parameters
119  tree->Branch("RecErrD0", &m_errord0 );
120  tree->Branch("RecErrZ0", &m_errorz0 );
121  tree->Branch("RecErrPhi0", &m_errorphi0 );
122  tree->Branch("RecErrTheta", &m_errortheta0 );
123  tree->Branch("RecErrQoverP", &m_errorqoverp );
124 
125  // Truth entries
126  if ( m_doTruth ){
127  tree->Branch( "trk_Mc_d0", &m_mc_d0 );
128  tree->Branch( "trk_Mc_z0", &m_mc_z0 );
129  tree->Branch( "trk_Mc_phi0", &m_mc_phi0 );
130  tree->Branch( "trk_Mc_theta", &m_mc_theta );
131  tree->Branch( "trk_Mc_qOverP", &m_mc_qOverP );
132  tree->Branch( "trk_Mc_qOverPt", &m_mc_qOverPt );
133  tree->Branch( "trk_Mc_eta", &m_mc_eta );
134 
135  tree->Branch( "trk_Mc_diff_d0", &m_mc_diff_d0 );
136  tree->Branch( "trk_Mc_diff_z0", &m_mc_diff_z0 );
137  tree->Branch( "trk_Mc_diff_phi0", &m_mc_diff_phi0 );
138  tree->Branch( "trk_Mc_diff_theta", &m_mc_diff_theta );
139  tree->Branch( "trk_Mc_diff_qOverP", &m_mc_diff_qOverP );
140 
141  tree->Branch( "trk_Mc_pull_d0", &m_mc_pull_d0 );
142  tree->Branch( "trk_Mc_pull_z0", &m_mc_pull_z0 );
143  tree->Branch( "trk_Mc_pull_phi0", &m_mc_pull_phi0 );
144  tree->Branch( "trk_Mc_pull_theta", &m_mc_pull_theta );
145  tree->Branch( "trk_Mc_pull_qOverP", &m_mc_pull_qOverP );
146 
147  tree->Branch( "trk_Mc_particleID", &m_mc_particleID );
148  tree->Branch( "trk_Mc_barcode", &m_mc_barcode );
149  tree->Branch( "trk_Mc_energy", &m_mc_energy );
150  tree->Branch( "trk_Mc_prob", &m_mc_prob );
151  tree->Branch( "trk_Mc_truthTreeIndex",&m_mc_truthTreeIndex );
152  }
153 
154  // general track properties other than perigee are given through
155  // Trk::TrackInformationNtupleTool
156 
157  ATH_MSG_VERBOSE ("added branches to ntuple");
158  return StatusCode::SUCCESS;
159 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::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

◆ fillTrackData()

StatusCode Trk::PerigeeParametersNtupleTool::fillTrackData ( const Trk::Track track,
const int  iterationIndex,
const unsigned int  fitStatCode 
)
virtual

fill ntuple data of a given track without writing the record.

fill track data into variables without actually writing the record

  • if this method is called twice without writing the ntuple inbetween the first data will be lost!

Implements Trk::ITrackValidationNtupleTool.

Definition at line 164 of file PerigeeParametersNtupleTool.cxx.

167  {
168  //const Trk::FitterStatusCode /*fitStatCode*/ ) const {
169 
170  ATH_MSG_VERBOSE ("in fillTrackData(trk, indx)");
171  const EventContext& ctx = Gaudi::Hive::currentContext();
172  //----------------------------------------------
173  // fill track parameters in ntuple
174  const Trk::Perigee* perpars = track.perigeeParameters();
175  if (perpars != nullptr && fillTrackPerigee(perpars).isFailure()) {
176  msg(MSG::WARNING) << "Perigee parameters could not be written to ntuple" << endmsg;
177  }
178  if (perpars == nullptr) {
179  if ( // track.info().author() == Trk::Track::SiSPSeededTrackFinder &&
180  !m_extrapolator.empty() ) {
181  ATH_MSG_VERBOSE ("try extrapolate SiSPSeeded track to perigee");
182  const Trk::PerigeeSurface perSurf;
183  std::unique_ptr<const Trk::TrackParameters> tmp = m_extrapolator->extrapolateTrack(
184  ctx, track, perSurf, Trk::anyDirection, false, Trk::nonInteracting);
185  if (tmp && tmp->associatedSurface().type() == Trk::SurfaceType::Perigee) {
186  perpars = static_cast<const Trk::Perigee *> (tmp.release());
187  }
188  if (perpars != nullptr && fillTrackPerigee(perpars).isFailure()) {
189  msg(MSG::WARNING) << "Newly made perigee parameters could not be "
190  << "written to ntuple" << endmsg;
191  }
192  if (perpars != nullptr) delete perpars;
193  } else
194  msg(MSG::WARNING) << "No perigee parameters, but they are the main validation object!"
195  << endmsg;
196  }
197  return StatusCode::SUCCESS;
198 }

◆ fillTrackParticleData()

StatusCode Trk::PerigeeParametersNtupleTool::fillTrackParticleData ( const Trk::TrackParticleBase particle)
virtual

fill ntuple data of a given TrackParticle without writing the record.

fill trackparticle data into variables without actually writing the record

  • if this method is called twice without writing the ntuple inbetween the first data will be lost!

Implements Trk::ITrackValidationNtupleTool.

Definition at line 203 of file PerigeeParametersNtupleTool.cxx.

205 {
206 
207  //----------------------------------------------
208  // fill track parameters in ntuple
209  const Trk::Perigee* perpars = particle.perigee();
210  if (perpars != nullptr && fillTrackPerigee(perpars).isFailure())
211  ATH_MSG_WARNING ("Perigee parameters could not be written to ntuple");
212  return StatusCode::SUCCESS;
213 }

◆ fillTrackPerigee()

StatusCode Trk::PerigeeParametersNtupleTool::fillTrackPerigee ( const Trk::Perigee perigee)
private

fill the perigee in ntuple

Definition at line 274 of file PerigeeParametersNtupleTool.cxx.

274  {
275 
276  ATH_MSG_VERBOSE ("in fillTrackPerigee");
277 
278  // // get track parameters
279  // const Trk::Perigee *perigee = track->perigeeParameters();
280  if (!perigee) {
281  msg(MSG::WARNING) << "Something is wrong - track has no perigee at all!" << endmsg;
282  m_Rec_d0 = 0;
283  m_Rec_z0 = 0;
284  m_Rec_phi0 = 0;
285  m_Rec_theta = 0;
286  m_Rec_qOverP = 0;
287  return StatusCode::FAILURE;
288  }
289 
290  ATH_MSG_VERBOSE("Fill Perigee Parameters now");
291  // track parameters
292  m_Rec_d0 = perigee->parameters()[Trk::d0];
293  m_Rec_z0 = perigee->parameters()[Trk::z0];
294  m_Rec_phi0 = perigee->parameters()[Trk::phi0];
295  m_Rec_theta = perigee->parameters()[Trk::theta];
296  m_Rec_eta = perigee->eta();
297  m_Rec_qOverP = perigee->parameters()[Trk::qOverP];
298  ATH_MSG_DEBUG ("Trackparameters: q/p=" << m_Rec_qOverP);
299 
300  // get measured track parameters for errors
301  if (perigee->covariance()) {
302 
303  // error of track parameters
304  m_errord0 = Amg::error(*perigee->covariance(),Trk::d0);
305  m_errorz0 = Amg::error(*perigee->covariance(),Trk::z0);
306  m_errorphi0 = Amg::error(*perigee->covariance(),Trk::phi0);
307  m_errortheta0 = Amg::error(*perigee->covariance(),Trk::theta);
308  m_errorqoverp = Amg::error(*perigee->covariance(),Trk::qOverP);
309 
310 
311  } // end if measPerigee
312 
313  // TO-DO treat condition of no measured pars
314 
315  ATH_MSG_DEBUG ("Trackparameters: d0=" << m_Rec_d0 << ", z0=" << m_Rec_z0 << ", phi0=" << m_Rec_phi0 << ", theta=" << m_Rec_theta);
316 
317  return StatusCode::SUCCESS;
318 }

◆ fillTrackTruthData()

StatusCode Trk::PerigeeParametersNtupleTool::fillTrackTruthData ( const TrackParameters *&  truePerigee,
const TrackTruth trackTruth,
const int  indexInTruthTree 
)
virtual

fill data about the truth match (score, parameter-pulls etc)

Implements Trk::ITrackValidationNtupleTool.

Definition at line 222 of file PerigeeParametersNtupleTool.cxx.

223 {
224 
225  if ( !m_doTruth ) return StatusCode::SUCCESS;
226 
227  ATH_MSG_VERBOSE ("Starting fillTrackTruthData()");
228 
229  const HepMcParticleLink& particleLink = trackTruth.particleLink();
230 
231  m_mc_barcode = particleLink.barcode();
232  m_mc_prob=trackTruth.probability();
233  m_mc_truthTreeIndex = indexInTruthTree;
234 
235  HepMC::ConstGenParticlePtr genParticle = particleLink.cptr();
236 
237  if ( genParticle ){
238  m_mc_particleID = genParticle->pdg_id();
239  m_mc_energy = genParticle->momentum().e();
240  }
241 
242  if (truePerigee == nullptr) return StatusCode::SUCCESS; // fake fakes don't have true perigee
243 
244  m_mc_d0 = truePerigee->parameters()[Trk::d0];
245  m_mc_z0 = truePerigee->parameters()[Trk::z0];
246  m_mc_phi0 = truePerigee->parameters()[Trk::phi0];
247  m_mc_theta = truePerigee->parameters()[Trk::theta];
248  m_mc_qOverP = truePerigee->parameters()[Trk::qOverP];
249 
250  if ( sin( m_mc_theta ) != 0. )
252 
253  m_mc_eta = truePerigee->eta();
254 
260 
266 
267  return StatusCode::SUCCESS;
268 
269 }

◆ finalize()

StatusCode Trk::PerigeeParametersNtupleTool::finalize ( )

Definition at line 99 of file PerigeeParametersNtupleTool.cxx.

99  {
100 
101  ATH_MSG_DEBUG ("nothing specific finalized in " << name());
102  return StatusCode::SUCCESS;
103 }

◆ initialize()

StatusCode Trk::PerigeeParametersNtupleTool::initialize ( )

Definition at line 90 of file PerigeeParametersNtupleTool.cxx.

90  {
91 
92  ATH_MSG_DEBUG ("nothing specific initialized in " << name());
93  return StatusCode::SUCCESS;
94 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::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.

◆ interfaceID()

const InterfaceID & Trk::ITrackValidationNtupleTool::interfaceID ( )
inlinestaticinherited

Interface ID, declared here, and defined below.

Definition at line 69 of file ITrackValidationNtupleTool.h.

69  {
70  return IID_ITrackValidationNtupleTool;
71 }

◆ msg() [1/2]

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

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::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< AlgTool >::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< AlgTool > >::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< AlgTool > >::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< AlgTool > >::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  }

◆ resetVariables()

void Trk::PerigeeParametersNtupleTool::resetVariables ( )
virtual

reset the variables after writing the record to disk ntuple

Implements Trk::ITrackValidationNtupleTool.

Definition at line 218 of file PerigeeParametersNtupleTool.cxx.

218  {
219  // reset the counters
220 }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::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< AlgTool > >::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_detStore

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

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_doTruth

bool Trk::PerigeeParametersNtupleTool::m_doTruth
private

switch to turn truth on/off

Definition at line 70 of file PerigeeParametersNtupleTool.h.

◆ m_errord0

float Trk::PerigeeParametersNtupleTool::m_errord0
private

error on local d0 at perigee UNIT:mm

Definition at line 78 of file PerigeeParametersNtupleTool.h.

◆ m_errorphi0

float Trk::PerigeeParametersNtupleTool::m_errorphi0
private

error on angle phi at perigee UNIT:rad

Definition at line 80 of file PerigeeParametersNtupleTool.h.

◆ m_errorqoverp

float Trk::PerigeeParametersNtupleTool::m_errorqoverp
private

error on curvature q/p UNIT:1/MeV

Definition at line 82 of file PerigeeParametersNtupleTool.h.

◆ m_errortheta0

float Trk::PerigeeParametersNtupleTool::m_errortheta0
private

error on angle theta at perigee UNIT:rad

Definition at line 81 of file PerigeeParametersNtupleTool.h.

◆ m_errorz0

float Trk::PerigeeParametersNtupleTool::m_errorz0
private

error on local z0 at perigee UNIT:mm

Definition at line 79 of file PerigeeParametersNtupleTool.h.

◆ m_evtStore

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

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extrapolator

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

extrapolator, in case tracks do not have perigee

Definition at line 69 of file PerigeeParametersNtupleTool.h.

◆ m_mc_barcode

int Trk::PerigeeParametersNtupleTool::m_mc_barcode
private

barcode for matched truth track

Definition at line 106 of file PerigeeParametersNtupleTool.h.

◆ m_mc_d0

float Trk::PerigeeParametersNtupleTool::m_mc_d0
private

matched MC-truth track params: local d0 at perigee UNIT:mm

Definition at line 85 of file PerigeeParametersNtupleTool.h.

◆ m_mc_diff_d0

float Trk::PerigeeParametersNtupleTool::m_mc_diff_d0
private

difference reconstructed minus true parameter: d0 UNIT:mm

Definition at line 93 of file PerigeeParametersNtupleTool.h.

◆ m_mc_diff_phi0

float Trk::PerigeeParametersNtupleTool::m_mc_diff_phi0
private

difference reconstructed minus true parameter: angle phi UNIT:rad

Definition at line 95 of file PerigeeParametersNtupleTool.h.

◆ m_mc_diff_qOverP

float Trk::PerigeeParametersNtupleTool::m_mc_diff_qOverP
private

difference reconstructed minus true parameter: q/p UNIT:1/MeV

Definition at line 97 of file PerigeeParametersNtupleTool.h.

◆ m_mc_diff_theta

float Trk::PerigeeParametersNtupleTool::m_mc_diff_theta
private

difference reconstructed minus true parameter: angle theta UNIT:rad

Definition at line 96 of file PerigeeParametersNtupleTool.h.

◆ m_mc_diff_z0

float Trk::PerigeeParametersNtupleTool::m_mc_diff_z0
private

difference reconstructed minus true parameter: z0 UNIT:mm

Definition at line 94 of file PerigeeParametersNtupleTool.h.

◆ m_mc_energy

float Trk::PerigeeParametersNtupleTool::m_mc_energy
private

energy of the truth particle UNIT:MeV

Definition at line 108 of file PerigeeParametersNtupleTool.h.

◆ m_mc_eta

float Trk::PerigeeParametersNtupleTool::m_mc_eta
private

matched MC-truth track params: pseudorapidity

Definition at line 91 of file PerigeeParametersNtupleTool.h.

◆ m_mc_particleID

int Trk::PerigeeParametersNtupleTool::m_mc_particleID
private

PDG-ID for matched truth track.

Definition at line 105 of file PerigeeParametersNtupleTool.h.

◆ m_mc_phi0

float Trk::PerigeeParametersNtupleTool::m_mc_phi0
private

matched MC-truth track params: angle phi at perigee UNIT:rad

Definition at line 87 of file PerigeeParametersNtupleTool.h.

◆ m_mc_prob

float Trk::PerigeeParametersNtupleTool::m_mc_prob
private

match probability for the truth particle (calculated by the job's configured TrackTruthSelector)

Definition at line 110 of file PerigeeParametersNtupleTool.h.

◆ m_mc_pull_d0

float Trk::PerigeeParametersNtupleTool::m_mc_pull_d0
private

parameter-pull for d0 UNIT:1

Definition at line 99 of file PerigeeParametersNtupleTool.h.

◆ m_mc_pull_phi0

float Trk::PerigeeParametersNtupleTool::m_mc_pull_phi0
private

parameter-pull for phi UNIT:1

Definition at line 101 of file PerigeeParametersNtupleTool.h.

◆ m_mc_pull_qOverP

float Trk::PerigeeParametersNtupleTool::m_mc_pull_qOverP
private

parameter-pull for q/p UNIT:1

Definition at line 103 of file PerigeeParametersNtupleTool.h.

◆ m_mc_pull_theta

float Trk::PerigeeParametersNtupleTool::m_mc_pull_theta
private

parameter-pull for theta UNIT:1

Definition at line 102 of file PerigeeParametersNtupleTool.h.

◆ m_mc_pull_z0

float Trk::PerigeeParametersNtupleTool::m_mc_pull_z0
private

parameter-pull for z0 UNIT:1

Definition at line 100 of file PerigeeParametersNtupleTool.h.

◆ m_mc_qOverP

float Trk::PerigeeParametersNtupleTool::m_mc_qOverP
private

matched MC-truth track params: curvature q/p at perigee UNIT:1/MeV

Definition at line 89 of file PerigeeParametersNtupleTool.h.

◆ m_mc_qOverPt

float Trk::PerigeeParametersNtupleTool::m_mc_qOverPt
private

matched MC-truth track params: projected curvature q/pT at perigee UNIT:1/MeV

Definition at line 90 of file PerigeeParametersNtupleTool.h.

◆ m_mc_theta

float Trk::PerigeeParametersNtupleTool::m_mc_theta
private

matched MC-truth track params: angle theta at perigee UNIT:rad

Definition at line 88 of file PerigeeParametersNtupleTool.h.

◆ m_mc_truthTreeIndex

int Trk::PerigeeParametersNtupleTool::m_mc_truthTreeIndex
private

entry index linking to 'Truth' tree in ntuple

Definition at line 107 of file PerigeeParametersNtupleTool.h.

◆ m_mc_z0

float Trk::PerigeeParametersNtupleTool::m_mc_z0
private

matched MC-truth track params: local z0 at perigee UNIT:mm

Definition at line 86 of file PerigeeParametersNtupleTool.h.

◆ m_Rec_d0

float Trk::PerigeeParametersNtupleTool::m_Rec_d0
private

reconstructed track params: local d0 at perigee UNIT:mm

Definition at line 71 of file PerigeeParametersNtupleTool.h.

◆ m_Rec_eta

float Trk::PerigeeParametersNtupleTool::m_Rec_eta
private

reconstructed track params: pseudorapidity UNIT:1

Definition at line 75 of file PerigeeParametersNtupleTool.h.

◆ m_Rec_phi0

float Trk::PerigeeParametersNtupleTool::m_Rec_phi0
private

reconstructed track params: angle phi at perigee UNIT:rad

Definition at line 73 of file PerigeeParametersNtupleTool.h.

◆ m_Rec_qOverP

float Trk::PerigeeParametersNtupleTool::m_Rec_qOverP
private

reconstructed track params: curvature q/p UNIT:1/MeV

Definition at line 76 of file PerigeeParametersNtupleTool.h.

◆ m_Rec_theta

float Trk::PerigeeParametersNtupleTool::m_Rec_theta
private

reconstructed track params: angle theta at perigee UNIT:rad

Definition at line 74 of file PerigeeParametersNtupleTool.h.

◆ m_Rec_z0

float Trk::PerigeeParametersNtupleTool::m_Rec_z0
private

reconstructed track params: local z0 at perigee UNIT:mm

Definition at line 72 of file PerigeeParametersNtupleTool.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
Trk::anyDirection
@ anyDirection
Definition: PropDirection.h:22
Trk::PerigeeParametersNtupleTool::m_mc_pull_z0
float m_mc_pull_z0
parameter-pull for z0 UNIT:1
Definition: PerigeeParametersNtupleTool.h:100
Trk::PerigeeParametersNtupleTool::m_mc_phi0
float m_mc_phi0
matched MC-truth track params: angle phi at perigee UNIT:rad
Definition: PerigeeParametersNtupleTool.h:87
Trk::ParticleSwitcher::particle
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
Definition: ParticleHypothesis.h:76
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
Trk::PerigeeParametersNtupleTool::m_mc_particleID
int m_mc_particleID
PDG-ID for matched truth track.
Definition: PerigeeParametersNtupleTool.h:105
Trk::PerigeeParametersNtupleTool::m_errorphi0
float m_errorphi0
error on angle phi at perigee UNIT:rad
Definition: PerigeeParametersNtupleTool.h:80
Trk::PerigeeParametersNtupleTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
extrapolator, in case tracks do not have perigee
Definition: PerigeeParametersNtupleTool.h:69
Trk::PerigeeSurface
Definition: PerigeeSurface.h:43
Trk::PerigeeParametersNtupleTool::m_mc_truthTreeIndex
int m_mc_truthTreeIndex
entry index linking to 'Truth' tree in ntuple
Definition: PerigeeParametersNtupleTool.h:107
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
tree
TChain * tree
Definition: tile_monitor.h:30
Trk::PerigeeParametersNtupleTool::m_mc_prob
float m_mc_prob
match probability for the truth particle (calculated by the job's configured TrackTruthSelector)
Definition: PerigeeParametersNtupleTool.h:110
Trk::PerigeeParametersNtupleTool::m_mc_pull_phi0
float m_mc_pull_phi0
parameter-pull for phi UNIT:1
Definition: PerigeeParametersNtupleTool.h:101
Trk::PerigeeParametersNtupleTool::m_Rec_phi0
float m_Rec_phi0
reconstructed track params: angle phi at perigee UNIT:rad
Definition: PerigeeParametersNtupleTool.h:73
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
Trk::PerigeeParametersNtupleTool::m_mc_diff_phi0
float m_mc_diff_phi0
difference reconstructed minus true parameter: angle phi UNIT:rad
Definition: PerigeeParametersNtupleTool.h:95
Trk::PerigeeParametersNtupleTool::m_mc_pull_theta
float m_mc_pull_theta
parameter-pull for theta UNIT:1
Definition: PerigeeParametersNtupleTool.h:102
Trk::z0
@ z0
Definition: ParamDefs.h:70
Trk::PerigeeParametersNtupleTool::m_errorz0
float m_errorz0
error on local z0 at perigee UNIT:mm
Definition: PerigeeParametersNtupleTool.h:79
Trk::PerigeeParametersNtupleTool::m_mc_pull_d0
float m_mc_pull_d0
parameter-pull for d0 UNIT:1
Definition: PerigeeParametersNtupleTool.h:99
Trk::PerigeeParametersNtupleTool::m_mc_diff_theta
float m_mc_diff_theta
difference reconstructed minus true parameter: angle theta UNIT:rad
Definition: PerigeeParametersNtupleTool.h:96
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
Trk::PerigeeParametersNtupleTool::m_mc_pull_qOverP
float m_mc_pull_qOverP
parameter-pull for q/p UNIT:1
Definition: PerigeeParametersNtupleTool.h:103
Trk::PerigeeParametersNtupleTool::m_mc_diff_d0
float m_mc_diff_d0
difference reconstructed minus true parameter: d0 UNIT:mm
Definition: PerigeeParametersNtupleTool.h:93
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Trk::PerigeeParametersNtupleTool::m_Rec_theta
float m_Rec_theta
reconstructed track params: angle theta at perigee UNIT:rad
Definition: PerigeeParametersNtupleTool.h:74
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
Trk::PerigeeParametersNtupleTool::m_mc_qOverP
float m_mc_qOverP
matched MC-truth track params: curvature q/p at perigee UNIT:1/MeV
Definition: PerigeeParametersNtupleTool.h:89
beamspotman.n
n
Definition: beamspotman.py:731
Trk::theta
@ theta
Definition: ParamDefs.h:72
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
Trk::PerigeeParametersNtupleTool::m_mc_diff_qOverP
float m_mc_diff_qOverP
difference reconstructed minus true parameter: q/p UNIT:1/MeV
Definition: PerigeeParametersNtupleTool.h:97
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Trk::PerigeeParametersNtupleTool::m_errorqoverp
float m_errorqoverp
error on curvature q/p UNIT:1/MeV
Definition: PerigeeParametersNtupleTool.h:82
Trk::PerigeeParametersNtupleTool::m_mc_barcode
int m_mc_barcode
barcode for matched truth track
Definition: PerigeeParametersNtupleTool.h:106
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
TrackTruth::particleLink
const HepMcParticleLink & particleLink() const
Definition: TrackTruth.h:26
Trk::PerigeeParametersNtupleTool::m_doTruth
bool m_doTruth
switch to turn truth on/off
Definition: PerigeeParametersNtupleTool.h:70
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
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::PerigeeParametersNtupleTool::m_mc_eta
float m_mc_eta
matched MC-truth track params: pseudorapidity
Definition: PerigeeParametersNtupleTool.h:91
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
Trk::SurfaceType::Perigee
@ Perigee
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Trk::d0
@ d0
Definition: ParamDefs.h:69
Amg::error
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
Definition: EventPrimitivesHelpers.h:40
Trk::nonInteracting
@ nonInteracting
Definition: ParticleHypothesis.h:25
Trk::PerigeeParametersNtupleTool::m_mc_diff_z0
float m_mc_diff_z0
difference reconstructed minus true parameter: z0 UNIT:mm
Definition: PerigeeParametersNtupleTool.h:94
Trk::PerigeeParametersNtupleTool::m_mc_d0
float m_mc_d0
matched MC-truth track params: local d0 at perigee UNIT:mm
Definition: PerigeeParametersNtupleTool.h:85
Trk::PerigeeParametersNtupleTool::m_Rec_eta
float m_Rec_eta
reconstructed track params: pseudorapidity UNIT:1
Definition: PerigeeParametersNtupleTool.h:75
Trk::PerigeeParametersNtupleTool::m_mc_qOverPt
float m_mc_qOverPt
matched MC-truth track params: projected curvature q/pT at perigee UNIT:1/MeV
Definition: PerigeeParametersNtupleTool.h:90
Trk::PerigeeParametersNtupleTool::m_Rec_d0
float m_Rec_d0
reconstructed track params: local d0 at perigee UNIT:mm
Definition: PerigeeParametersNtupleTool.h:71
a
TList * a
Definition: liststreamerinfos.cxx:10
h
Trk::PerigeeParametersNtupleTool::m_Rec_qOverP
float m_Rec_qOverP
reconstructed track params: curvature q/p UNIT:1/MeV
Definition: PerigeeParametersNtupleTool.h:76
Trk::PerigeeParametersNtupleTool::m_errord0
float m_errord0
error on local d0 at perigee UNIT:mm
Definition: PerigeeParametersNtupleTool.h:78
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
TrackTruth::probability
float probability() const
Definition: TrackTruth.h:28
Trk::PerigeeParametersNtupleTool::m_mc_theta
float m_mc_theta
matched MC-truth track params: angle theta at perigee UNIT:rad
Definition: PerigeeParametersNtupleTool.h:88
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
Trk::PerigeeParametersNtupleTool::fillTrackPerigee
StatusCode fillTrackPerigee(const Trk::Perigee *perigee)
fill the perigee in ntuple
Definition: PerigeeParametersNtupleTool.cxx:274
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:73
Trk::PerigeeParametersNtupleTool::m_mc_z0
float m_mc_z0
matched MC-truth track params: local z0 at perigee UNIT:mm
Definition: PerigeeParametersNtupleTool.h:86
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
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
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::PerigeeParametersNtupleTool::m_mc_energy
float m_mc_energy
energy of the truth particle UNIT:MeV
Definition: PerigeeParametersNtupleTool.h:108
Trk::phi0
@ phi0
Definition: ParamDefs.h:71
fitman.k
k
Definition: fitman.py:528
Trk::PerigeeParametersNtupleTool::m_Rec_z0
float m_Rec_z0
reconstructed track params: local z0 at perigee UNIT:mm
Definition: PerigeeParametersNtupleTool.h:72
Trk::PerigeeParametersNtupleTool::m_errortheta0
float m_errortheta0
error on angle theta at perigee UNIT:rad
Definition: PerigeeParametersNtupleTool.h:81