ATLAS Offline Software
Loading...
Searching...
No Matches
DetailedIDNtupleTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5#ifndef INDETALIGNNTUPLETOOLS_DETAILEDIDNTUPLETOOL_H
6#define INDETALIGNNTUPLETOOLS_DETAILEDIDNTUPLETOOL_H
7
10#include "GaudiKernel/ToolHandle.h"
14
15
21
22class TFile;
23class TTree;
24class TRT_ID;
25
26namespace Trk
27{
28 class AlignTrack;
30 class IAlignModuleTool;
31 class Track;
32}
33
34namespace InDet
35{
37 {
38 public:
39 DetailedIDNtupleTool(const std::string & type, const std::string & name, const IInterface * parent);
40 virtual ~DetailedIDNtupleTool();
41
42 virtual StatusCode initialize() override;
43 virtual StatusCode finalize() override;
44
46 virtual void dumpTrack(int itrk, const Trk::AlignTrack * alignTrack) override;
47
48 virtual void storeHitmap() override;
49 virtual void fillHitmap() override;
50
51 virtual void fillSummary() override;
52 virtual void showStatistics() override;
53
54 virtual void setNtuple(TFile* ntuple) override { m_file=ntuple; }
55 virtual StatusCode fillNtuple() override;
56
57 private:
58 bool retrieveTruthInfo(const Trk::AlignTrack* trk);
59 const Trk::TrackParameters* perigeeParameter(const Trk::AlignTrack* track) const;
60 void initializeNtuple();
61
62 ToolHandle <Trk::ITrackSummaryTool> m_trackSumTool;
63 ToolHandle <Trk::IAlignModuleTool> m_alignModuleTool;
64 PublicToolHandle <Trk::ITruthToTrack> m_truthToTrack
65 {this,"TruthToTrack","Trk::TruthToTrack/InDetTruthToTrack",""};
66 PublicToolHandle <Trk::IExtrapolator> m_extrapolator
67 {this,"Extrapolator","Trk::Extrapolator/AtlasExtrapolator",""};
68
73
74 TFile * m_file;
75 TTree * m_tree;
76
77 std::string m_filename;
78 std::string m_filepath;
79
80 std::string m_trackCollection;
81 std::string m_tracksTruthName;
82
83 // Reconstructed variables
84 int m_runNumber = 0;
85 int m_evtNumber = 0;
86
87 // original track information
88 double m_original_xvtx = 0.0;
89 double m_original_yvtx = 0.0;
90 double m_original_zvtx = 0.0;
91
92 double m_original_d0 = 0.0;
93 double m_original_z0 = 0.0;
94 double m_original_phi0 = 0.0;
95 double m_original_theta = 0.0;
96 double m_original_qoverp = 0.0;
97 double m_original_pt = 0.0;
98
99 double m_original_eta = 0.0;
100 double m_original_chi2 = 0.0;
103
104 double m_original_err_d0 = 0.0;
105 double m_original_err_z0 = 0.0;
109
110 // truth informaiton
111 double m_truth_d0 = 0.0;
112 double m_truth_z0 = 0.0;
113 double m_truth_phi0 = 0.0;
114 double m_truth_theta = 0.0;
115 double m_truth_eta = 0.0;
116 double m_truth_pt = 0.0;
117 double m_truth_qoverp = 0.0;
118 double m_truth_qoverpt = 0.0;
119 double m_truth_charge = 0.0;
120 double m_truth_prod_x = 0.0;
121 double m_truth_prod_y = 0.0;
122 double m_truth_prod_z = 0.0;
123
124 // oroginal track wrt reference points
130
131 // refitted track wrt reference points
132 double m_toRef_d0 = 0.0;
133 double m_toRef_z0 = 0.0;
134 double m_toRef_phi0 = 0.0;
135 double m_toRef_theta = 0.0;
136 double m_toRef_qoverp = 0.0;
137
138 // the AlignTrack information
139 double m_err_d0 = 0.0;
140 double m_err_z0 = 0.0;
141 double m_err_phi0 = 0.0;
142 double m_err_theta = 0.0;
143 double m_err_qoverp = 0.0;
144
145 double m_xvtx = 0.0;
146 double m_yvtx = 0.0;
147 double m_zvtx = 0.0;
148 double m_d0 = 0.0;
149 double m_z0 = 0.0;
150 double m_phi0 = 0.0;
151 double m_theta = 0.0;
152 double m_qoverp = 0.0;
153 double m_pt = 0.0;
154 double m_eta = 0.0;
155 double m_chi2 = 0.0;
156 int m_ndof = 0;
157 double m_chi2prob = 0.0;
158
159 }; // end class
160
161} // end namespace
162
163#endif // INDETALIGNNTUPLETOOLS_DETAILEDIDNTUPLETOOL_H
Extrapolation for HepMC particles.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
bool m_storeTruth
retrieve the truth information
virtual void showStatistics() override
write statistics out to log file
std::string m_filename
name of ntuple file
bool m_storeConstrainedOnly
onlystore the AlignTrack which is normally refitted
DetailedIDNtupleTool(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode fillNtuple() override
writes trees and histograms to ntuple
PublicToolHandle< Trk::IExtrapolator > m_extrapolator
track extrapolator
virtual void storeHitmap() override
stores hitmap for writing to ntuple
ToolHandle< Trk::ITrackSummaryTool > m_trackSumTool
Pointer to track summary tool.
bool m_storeNormalRefittedOnly
only store the AlignTrack which is normally refitted
virtual StatusCode finalize() override
virtual void dumpTrack(int itrk, const Trk::AlignTrack *alignTrack) override
fills track information to ntuple
virtual void fillSummary() override
fills ntuple with event and track summary information
std::string m_filepath
path to ntuple file
virtual void setNtuple(TFile *ntuple) override
sets the output stream for the logfile
PublicToolHandle< Trk::ITruthToTrack > m_truthToTrack
the truth to track Tool
virtual void fillHitmap() override
fills ntuple with hit information
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
Pointer to AlignmModuleTool.
const Trk::TrackParameters * perigeeParameter(const Trk::AlignTrack *track) const
virtual StatusCode initialize() override
bool retrieveTruthInfo(const Trk::AlignTrack *trk)
double m_matchProbability
the probabililty cut in the truth matching
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
Interface for condensing Trk::Track properties and associated hits to a (non-fittable) foot print,...
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters