ATLAS Offline Software
Loading...
Searching...
No Matches
PerigeeParametersNtupleTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
6// PerigeeParametersNtupleTool.h
7// Header file for PerigeeParametersNtupleTool
9// (c) ATLAS Detector software
11// Sebastian.Fleischmann -at- cern.ch, Wolfgang.Liebig -at- cern.ch
13#ifndef TRK_PERIGEEPARAMETERSNTUPLETOOL_H
14#define TRK_PERIGEEPARAMETERSNTUPLETOOL_H
15
18#include "GaudiKernel/ToolHandle.h"
19
20namespace Trk {
21
22 class IExtrapolator;
23
28
30public:
31
32 // standard AlgToolmethods
33 PerigeeParametersNtupleTool(const std::string&,const std::string&,const IInterface*);
35
36 // standard Athena methods
37 StatusCode initialize();
38 StatusCode finalize();
39
43 virtual StatusCode addNtupleItems ( TTree* tree );
44
47 virtual StatusCode fillTrackData (
48 const Trk::Track&,
49 const int iterationIndex,
50 const unsigned int fitStatCode );
51
54 virtual StatusCode fillTrackParticleData ( const Trk::TrackParticleBase& );
55
57 virtual StatusCode fillTrackTruthData ( const TrackParameters*&,
58 const TrackTruth&,
59 const int);
60
62 virtual void resetVariables( );
63
64private:
65
66 // perigee filling common to Track and TrackParticle input
67 StatusCode fillTrackPerigee(const Trk::Perigee* perigee);
68
69 ToolHandle<Trk::IExtrapolator> m_extrapolator;
70 bool m_doTruth;
71 float m_Rec_d0;
72 float m_Rec_z0;
73 float m_Rec_phi0;
75 float m_Rec_eta;
77
78 float m_errord0;
79 float m_errorz0;
83
84 // Truth information
85 float m_mc_d0;
86 float m_mc_z0;
87 float m_mc_phi0;
88 float m_mc_theta;
91 float m_mc_eta;
92
98
104
109
110 float m_mc_prob;
111
112};
113
114
115} // end of namespace
116
117
118#endif // TRK_PERIGEEPARAMETERSNTUPLETOOL_H
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
MC particle associated with a reco track + the quality of match.
Definition TrackTruth.h:14
Interface class for the extrapolation AlgTool, it inherits from IAlgTool Detailed information about p...
provides the interface for validation tools which write special information about generated tracks in...
float m_mc_prob
match probability for the truth particle (calculated by the job's configured TrackTruthSelector)
float m_Rec_eta
reconstructed track params: pseudorapidity UNIT:1
bool m_doTruth
switch to turn truth on/off
float m_mc_theta
matched MC-truth track params: angle theta at perigee UNIT:rad
float m_mc_qOverPt
matched MC-truth track params: projected curvature q/pT at perigee UNIT:1/MeV
int m_mc_particleID
PDG-ID for matched truth track.
float m_Rec_z0
reconstructed track params: local z0 at perigee UNIT:mm
int m_mc_truthTreeIndex
entry index linking to 'Truth' tree in ntuple
float m_mc_pull_qOverP
parameter-pull for q/p UNIT:1
float m_mc_pull_phi0
parameter-pull for phi UNIT:1
float m_mc_diff_qOverP
difference reconstructed minus true parameter: q/p UNIT:1/MeV
float m_mc_diff_theta
difference reconstructed minus true parameter: angle theta UNIT:rad
float m_Rec_theta
reconstructed track params: angle theta at perigee UNIT:rad
float m_mc_d0
matched MC-truth track params: local d0 at perigee UNIT:mm
StatusCode fillTrackPerigee(const Trk::Perigee *perigee)
fill the perigee in ntuple
PerigeeParametersNtupleTool(const std::string &, const std::string &, const IInterface *)
float m_mc_energy
energy of the truth particle UNIT:MeV
float m_mc_eta
matched MC-truth track params: pseudorapidity
float m_mc_pull_z0
parameter-pull for z0 UNIT:1
float m_mc_diff_d0
difference reconstructed minus true parameter: d0 UNIT:mm
float m_mc_diff_z0
difference reconstructed minus true parameter: z0 UNIT:mm
float m_errord0
error on local d0 at perigee UNIT:mm
float m_mc_pull_theta
parameter-pull for theta UNIT:1
virtual StatusCode fillTrackParticleData(const Trk::TrackParticleBase &)
fill ntuple data of a given TrackParticle without writing the record.
float m_Rec_phi0
reconstructed track params: angle phi at perigee UNIT:rad
virtual StatusCode fillTrackData(const Trk::Track &, const int iterationIndex, const unsigned int fitStatCode)
fill ntuple data of a given track without writing the record.
ToolHandle< Trk::IExtrapolator > m_extrapolator
extrapolator, in case tracks do not have perigee
float m_errorphi0
error on angle phi at perigee UNIT:rad
int m_mc_uniqueID
unique ID for matched truth track
float m_mc_phi0
matched MC-truth track params: angle phi at perigee UNIT:rad
float m_Rec_d0
reconstructed track params: local d0 at perigee UNIT:mm
float m_mc_pull_d0
parameter-pull for d0 UNIT:1
virtual StatusCode fillTrackTruthData(const TrackParameters *&, const TrackTruth &, const int)
fill data about the truth match (score, parameter-pulls etc)
float m_errorz0
error on local z0 at perigee UNIT:mm
float m_errorqoverp
error on curvature q/p UNIT:1/MeV
virtual StatusCode addNtupleItems(TTree *tree)
add branches to the tree Should be called once (per track collection and tree) dunring the initialisa...
float m_mc_qOverP
matched MC-truth track params: curvature q/p at perigee UNIT:1/MeV
float m_mc_z0
matched MC-truth track params: local z0 at perigee UNIT:mm
float m_Rec_qOverP
reconstructed track params: curvature q/p UNIT:1/MeV
virtual void resetVariables()
reset the variables after writing the record to disk ntuple
float m_mc_diff_phi0
difference reconstructed minus true parameter: angle phi UNIT:rad
float m_errortheta0
error on angle theta at perigee UNIT:rad
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
ParametersBase< TrackParametersDim, Charged > TrackParameters
TChain * tree