ATLAS Offline Software
Loading...
Searching...
No Matches
InDet::DetailedIDNtupleTool Class Reference

#include <DetailedIDNtupleTool.h>

Inheritance diagram for InDet::DetailedIDNtupleTool:
Collaboration diagram for InDet::DetailedIDNtupleTool:

Public Member Functions

 DetailedIDNtupleTool (const std::string &type, const std::string &name, const IInterface *parent)
virtual ~DetailedIDNtupleTool ()
virtual StatusCode initialize () override
virtual StatusCode finalize () override
virtual void dumpTrack (const EventContext &ctx, int itrk, const Trk::AlignTrack *alignTrack) override
 fills track information to ntuple
virtual void storeHitmap () override
 stores hitmap for writing to ntuple
virtual void fillHitmap () override
 fills ntuple with hit information
virtual void fillSummary () override
 fills ntuple with event and track summary information
virtual void showStatistics () override
 write statistics out to log file
virtual void setNtuple (TFile *ntuple) override
 sets the output stream for the logfile
virtual StatusCode fillNtuple () override
 writes trees and histograms to ntuple
virtual void fillChi2VChamberShift (const int, const int, int *, double **, double **, double **, double **, double **, double **)
 used for numerical derivatives to write chi2 vs.
virtual void setLogStream (std::ostream *os)
 returns pointer to TFile containing ntuple
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm.
virtual StatusCode sysStart () override
 Handle START transition.
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles.
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles.
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T, V, H > &t)
void updateVHKA (Gaudi::Details::PropertyBase &)
MsgStream & msg () const
bool msgLvl (const MSG::Level lvl) const

Static Public Member Functions

static const InterfaceID & interfaceID ()

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution
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.

Protected Attributes

std::ostream * m_logStream = nullptr
 logfile output stream

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t

Private Member Functions

bool retrieveTruthInfo (const Trk::AlignTrack *trk)
const Trk::TrackParametersperigeeParameter (const Trk::AlignTrack *track) const
void initializeNtuple ()
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey>

Private Attributes

ToolHandle< Trk::ITrackSummaryToolm_trackSumTool
 Pointer to track summary tool.
ToolHandle< Trk::IAlignModuleToolm_alignModuleTool
 Pointer to AlignmModuleTool.
PublicToolHandle< Trk::ITruthToTrackm_truthToTrack {this,"TruthToTrack","Trk::TruthToTrack/InDetTruthToTrack",""}
 the truth to track Tool
PublicToolHandle< Trk::IExtrapolatorm_extrapolator {this,"Extrapolator","Trk::Extrapolator/AtlasExtrapolator",""}
 track extrapolator
bool m_storeNormalRefittedOnly
 only store the AlignTrack which is normally refitted
bool m_storeConstrainedOnly
 onlystore the AlignTrack which is normally refitted
bool m_storeTruth
 retrieve the truth information
double m_matchProbability
 the probabililty cut in the truth matching
TFile * m_file
TTree * m_tree
std::string m_filename
 name of ntuple file
std::string m_filepath
 path to ntuple file
std::string m_trackCollection
std::string m_tracksTruthName
int m_runNumber = 0
int m_evtNumber = 0
double m_original_xvtx = 0.0
double m_original_yvtx = 0.0
double m_original_zvtx = 0.0
double m_original_d0 = 0.0
double m_original_z0 = 0.0
double m_original_phi0 = 0.0
double m_original_theta = 0.0
double m_original_qoverp = 0.0
double m_original_pt = 0.0
double m_original_eta = 0.0
double m_original_chi2 = 0.0
int m_original_ndof = 0
double m_original_chi2prob = 0.0
double m_original_err_d0 = 0.0
double m_original_err_z0 = 0.0
double m_original_err_phi0 = 0.0
double m_original_err_theta = 0.0
double m_original_err_qoverp = 0.0
double m_truth_d0 = 0.0
double m_truth_z0 = 0.0
double m_truth_phi0 = 0.0
double m_truth_theta = 0.0
double m_truth_eta = 0.0
double m_truth_pt = 0.0
double m_truth_qoverp = 0.0
double m_truth_qoverpt = 0.0
double m_truth_charge = 0.0
double m_truth_prod_x = 0.0
double m_truth_prod_y = 0.0
double m_truth_prod_z = 0.0
double m_original_toRef_d0 = 0.0
double m_original_toRef_z0 = 0.0
double m_original_toRef_phi0 = 0.0
double m_original_toRef_theta = 0.0
double m_original_toRef_qoverp = 0.0
double m_toRef_d0 = 0.0
double m_toRef_z0 = 0.0
double m_toRef_phi0 = 0.0
double m_toRef_theta = 0.0
double m_toRef_qoverp = 0.0
double m_err_d0 = 0.0
double m_err_z0 = 0.0
double m_err_phi0 = 0.0
double m_err_theta = 0.0
double m_err_qoverp = 0.0
double m_xvtx = 0.0
double m_yvtx = 0.0
double m_zvtx = 0.0
double m_d0 = 0.0
double m_z0 = 0.0
double m_phi0 = 0.0
double m_theta = 0.0
double m_qoverp = 0.0
double m_pt = 0.0
double m_eta = 0.0
double m_chi2 = 0.0
int m_ndof = 0
double m_chi2prob = 0.0
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default).
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default).
std::vector< SG::VarHandleKeyArray * > m_vhka
bool m_varHandleArraysDeclared

Detailed Description

Definition at line 36 of file DetailedIDNtupleTool.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

◆ DetailedIDNtupleTool()

InDet::DetailedIDNtupleTool::DetailedIDNtupleTool ( const std::string & type,
const std::string & name,
const IInterface * parent )

Definition at line 38 of file DetailedIDNtupleTool.cxx.

39 : AthAlgTool(type, name, parent)
40 , m_trackSumTool("Trk::TrackSummaryTool/TrackSummaryTool", this)
44 , m_storeTruth{true}
46 , m_file{}
47 , m_tree{}
48 , m_trackCollection{"Tracks"}
49 , m_tracksTruthName{"TrackTruthCollection"} {
50 declareInterface<Trk::IFillNtupleTool>(this);
51
52 declareProperty("FileName", m_filename = "IDAlign.root");
53 declareProperty("FilePath", m_filepath = "./");
54 declareProperty("TrackCollection", m_trackCollection);
55 declareProperty("TracksTruthName", m_tracksTruthName);
56 declareProperty("TrackSummaryTool", m_trackSumTool);
57 declareProperty("AlignModuleTool", m_alignModuleTool);
58 declareProperty("MatchProbability", m_matchProbability);
59 declareProperty("StoreTruth", m_storeTruth);
60 declareProperty("MatchProbability", m_matchProbability);
61 declareProperty("StoreNormalRefittedOnly", m_storeNormalRefittedOnly);
62 declareProperty("StoreConstrainedOnly", m_storeConstrainedOnly);
63 }
AthAlgTool()
Default constructor:
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
bool m_storeTruth
retrieve the truth information
std::string m_filename
name of ntuple file
bool m_storeConstrainedOnly
onlystore the AlignTrack which is normally refitted
ToolHandle< Trk::ITrackSummaryTool > m_trackSumTool
Pointer to track summary tool.
bool m_storeNormalRefittedOnly
only store the AlignTrack which is normally refitted
std::string m_filepath
path to ntuple file
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
Pointer to AlignmModuleTool.
double m_matchProbability
the probabililty cut in the truth matching

◆ ~DetailedIDNtupleTool()

InDet::DetailedIDNtupleTool::~DetailedIDNtupleTool ( )
virtual

Definition at line 66 of file DetailedIDNtupleTool.cxx.

66 {
67 }

Member Function Documentation

◆ declareGaudiProperty()

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

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

Definition at line 156 of file AthCommonDataStore.h.

158 {
160 hndl.value(),
161 hndl.documentation());
162
163 }

◆ declareProperty()

Gaudi::Details::PropertyBase & AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T, V, H > & t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145 {
146 typedef typename SG::HandleClassifier<T>::type htype;
148 }
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>

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

◆ dumpTrack()

void InDet::DetailedIDNtupleTool::dumpTrack ( const EventContext & ctx,
int itrk,
const Trk::AlignTrack * alignTrack )
overridevirtual

fills track information to ntuple

if match truth fail, return directly

Implements Trk::IFillNtupleTool.

Definition at line 106 of file DetailedIDNtupleTool.cxx.

106 {
107 ATH_MSG_DEBUG("In dumpTrack()");
109 // if hope to dump all the tracks, should set:
110 // m_storeNormalRefittedOnly = false, m_storeConstrainedOnly=false
113 return;
114 }
115
116 // get run and event numbers
117 ATH_MSG_DEBUG("Retrieving event info.");
118 const xAOD::EventInfo* eventInfo;
119 if (evtStore()->retrieve(eventInfo).isFailure()) {
120 ATH_MSG_ERROR("Could not retrieve event info.");
121 } else {
122 m_runNumber = eventInfo->runNumber();
123 m_evtNumber = eventInfo->eventNumber();
124 }
125
126 // initialize variables
127 constexpr double invalidParameterValue{-999.};
128 m_d0 = invalidParameterValue;
129 m_z0 = invalidParameterValue;
130 m_phi0 = invalidParameterValue;
131 m_theta = invalidParameterValue;
132 m_qoverp = invalidParameterValue;
133 m_pt = invalidParameterValue;
134 m_eta = invalidParameterValue;
135 constexpr double invalidChiSq{-1e12};
136 m_chi2 = invalidChiSq;
137 m_chi2prob = invalidChiSq;
138 constexpr int invalidDegreesOfFreedom{-999};
139
140 m_ndof = invalidDegreesOfFreedom;
141 m_xvtx = invalidParameterValue;
142 m_yvtx = invalidParameterValue;
143 m_zvtx = invalidParameterValue;
144
145 m_err_d0 = invalidParameterValue;
146 m_err_z0 = invalidParameterValue;
147 m_err_phi0 = invalidParameterValue;
148 m_err_theta = invalidParameterValue;
149 m_err_qoverp = invalidParameterValue;
150 m_toRef_d0 = invalidParameterValue;
151 m_toRef_z0 = invalidParameterValue;
152 m_toRef_phi0 = invalidParameterValue;
153 m_toRef_theta = invalidParameterValue;
154 m_toRef_qoverp = invalidParameterValue;
155
156
157 m_original_d0 = invalidParameterValue;
158 m_original_z0 = invalidParameterValue;
159 m_original_phi0 = invalidParameterValue;
160 m_original_theta = invalidParameterValue;
161 m_original_qoverp = invalidParameterValue;
162 m_original_pt =invalidParameterValue;
163 m_original_eta = -999.;
164 m_original_chi2 = invalidChiSq;
165 m_original_chi2prob = invalidChiSq;
166 m_original_ndof = invalidDegreesOfFreedom;
167 m_original_xvtx = invalidParameterValue;
168 m_original_yvtx = invalidParameterValue;
169 m_original_zvtx = invalidParameterValue;
170
171 m_original_err_d0 = invalidParameterValue;
172 m_original_err_z0 = invalidParameterValue;
173 m_original_err_phi0 = invalidParameterValue;
174 m_original_err_theta = invalidParameterValue;
175 m_original_err_qoverp = invalidParameterValue;;
176 m_original_toRef_d0 = invalidParameterValue;
177 m_original_toRef_z0 = invalidParameterValue;
178 m_original_toRef_phi0 = invalidParameterValue;
179 m_original_toRef_theta =invalidParameterValue;
180 m_original_toRef_qoverp = invalidParameterValue;;
181
182 m_truth_d0 = invalidParameterValue;
183 m_truth_z0 = invalidParameterValue;
184 m_truth_phi0 = invalidParameterValue;
185 m_truth_theta = invalidParameterValue;
186 m_truth_qoverp = invalidParameterValue;
187 m_truth_pt = invalidParameterValue;
188 m_truth_eta = invalidParameterValue;;
189 m_truth_prod_x = invalidParameterValue;
190 m_truth_prod_y = invalidParameterValue;
191 m_truth_prod_z = invalidParameterValue;;
192
193
194
195 const Trk::Perigee* aMeasPer = (alignTrack->perigeeParameters());
196
197 if (not aMeasPer) {
198 ATH_MSG_ERROR("Could not get Trk::Perigee of the alignTrack");
199 return;
200 } else {
201 m_d0 = aMeasPer->parameters()[Trk::d0];
202 m_z0 = aMeasPer->parameters()[Trk::z0];
203 m_phi0 = aMeasPer->parameters()[Trk::phi0];
204 m_theta = aMeasPer->parameters()[Trk::theta];
205 m_qoverp = aMeasPer->parameters()[Trk::qOverP];
206
207 const AmgSymMatrix(5) * locCov = aMeasPer->covariance();
208 m_err_d0 = Amg::error(*locCov, Trk::d0);
209 m_err_z0 = Amg::error(*locCov, Trk::z0);
210 m_err_phi0 = Amg::error(*locCov, Trk::phi0);
213
214 m_pt =
215 std::sqrt((aMeasPer->momentum().x()) * (aMeasPer->momentum().x()) + (aMeasPer->momentum().y()) *
216 (aMeasPer->momentum().y()));
217 m_eta = aMeasPer->eta();
218
219 m_xvtx = aMeasPer->position().x();
220 m_yvtx = aMeasPer->position().y();
221 m_zvtx = aMeasPer->position().z();
222
223
224
225 // get fit quality and chi2 probability of track
226 const Trk::FitQuality* fitQual = alignTrack->fitQuality();
227 if (not fitQual) ATH_MSG_ERROR("No fit quality assigned to the track");
228 else {
229 if (fitQual->chiSquared() > 0. && fitQual->numberDoF() > 0) {
230 m_chi2 = fitQual->chiSquared();
231 m_ndof = fitQual->numberDoF();
232 m_chi2prob = TMath::Prob(m_chi2, m_ndof);
233
234 ATH_MSG_DEBUG(" - chi2 : " << m_chi2);
235 ATH_MSG_DEBUG(" - ndof : " << m_ndof);
236 ATH_MSG_DEBUG(" - chi2/ndof : " << m_chi2 / (double) m_ndof);
237 ATH_MSG_DEBUG(" - chi2 propability : " << m_chi2prob);
238 }
239 }
240 }
241
242 const Trk::MeasurementBase* measbase = *(alignTrack->measurementsOnTrack()->begin());
243 Amg::Vector3D refPoint = measbase->associatedSurface().center();
244 const Trk::VertexOnTrack* vot = dynamic_cast<const Trk::VertexOnTrack*> (measbase);
245 if (!vot) {
246 ATH_MSG_ERROR(" Seems the pseudo-measuremnt in the alignTrack not exist!");
247 ATH_MSG_ERROR(" this pseudo-measurement has been rejected as outlier in the refitting!");
248 return;
249 } else {
250 ATH_MSG_DEBUG(" VoT get from the alignTrack:" << *vot);
251 }
252
253 ATH_MSG_DEBUG(" the pseudo-measurement position: " << refPoint);
254 const Trk::Track* originalTrack = alignTrack->originalTrack();
255
256 const Trk::Perigee* originalMeasPer = originalTrack->perigeeParameters();
257 if (!originalMeasPer) {
258 ATH_MSG_ERROR("No original track!");
259 } else {
260 m_original_d0 = originalMeasPer->parameters()[Trk::d0];
261 m_original_z0 = originalMeasPer->parameters()[Trk::z0];
262 m_original_phi0 = originalMeasPer->parameters()[Trk::phi0];
263 m_original_theta = originalMeasPer->parameters()[Trk::theta];
264 m_original_qoverp = originalMeasPer->parameters()[Trk::qOverP];
265
266 const AmgSymMatrix(5) * locError = originalMeasPer->covariance();
272
274 m_original_eta = -std::log(std::tan(0.5 * m_original_theta));
275
276 m_original_xvtx = originalMeasPer->position().x();
277 m_original_yvtx = originalMeasPer->position().y();
278 m_original_zvtx = originalMeasPer->position().z();
279
280 // get fit quality and chi2 probability of original Track
281 const Trk::FitQuality* originalFitQual = originalTrack->fitQuality();
282 if (not originalFitQual) ATH_MSG_ERROR("No fit quality assigned to the track");
283 else {
284 if (originalFitQual->chiSquared() > 0. && originalFitQual->numberDoF() > 0) {
285 m_original_chi2 = originalFitQual->chiSquared();
286 m_original_ndof = originalFitQual->numberDoF();
288
289 ATH_MSG_DEBUG(" - original chi2 : " << m_original_chi2);
290 ATH_MSG_DEBUG(" - original ndof : " << m_original_ndof);
291 ATH_MSG_DEBUG(" - original chi2/ndof : " << m_original_chi2 / (double) m_original_ndof);
292 ATH_MSG_DEBUG(" - original chi2 propability : " << m_original_chi2prob);
293 }
294 }
295
296
297 const Trk::PerigeeSurface persf(refPoint);
298 const Trk::Perigee* originalPerigeeAtRef =
299 dynamic_cast<const Trk::Perigee*>(m_extrapolator->extrapolateTrack(ctx, *originalTrack, persf).release());
300 if (!originalPerigeeAtRef) {
301 const Trk::Perigee* originalTrackPerigee = originalTrack->perigeeParameters();
302 if (originalTrackPerigee && ((originalTrackPerigee->associatedSurface())) == persf) {
303 ATH_MSG_DEBUG("Perigee of Track is already expressed to given vertex, a copy is returned.");
304 originalPerigeeAtRef = originalTrackPerigee->clone();
305 } else ATH_MSG_DEBUG("Extrapolation to Perigee failed, NULL pointer is returned.");
306 }
307
308 if (originalPerigeeAtRef) {
309 std::unique_ptr<const Trk::Perigee > originalMeasPerAtRef(originalPerigeeAtRef);
310 m_original_toRef_d0 = originalMeasPerAtRef->parameters()[Trk::d0];
311 m_original_toRef_z0 = originalMeasPerAtRef->parameters()[Trk::z0];
312 m_original_toRef_phi0 = originalMeasPerAtRef->parameters()[Trk::phi0];
313 m_original_toRef_theta = originalMeasPerAtRef->parameters()[Trk::theta];
314 m_original_toRef_qoverp = originalMeasPerAtRef->parameters()[Trk::qOverP];
315 }
316
317 const Trk::Perigee* PerigeeAtRef =
318 dynamic_cast<const Trk::Perigee*>(m_extrapolator->extrapolateTrack(ctx, *alignTrack, persf).release());
319 if (!PerigeeAtRef) {
320 const Trk::Perigee* alignTrackPerigee = alignTrack->perigeeParameters();
321 if (alignTrackPerigee && ((alignTrackPerigee->associatedSurface())) == persf) {
322 ATH_MSG_DEBUG("Perigee of AlignTrack is already expressed to given vertex, a copy is returned.");
323 PerigeeAtRef = alignTrackPerigee->clone();
324 } else ATH_MSG_DEBUG("Extrapolation to Perigee failed, NULL pointer is returned.");
325 }
326
327 //post-eigen, can simply use the TrackParameters * returned by m_extrapolator->extrapolate?
328 if (PerigeeAtRef) {
329 std::unique_ptr<const Trk::Perigee > MeasPerAtRef((PerigeeAtRef));
330 m_toRef_d0 = MeasPerAtRef->parameters()[Trk::d0];
331 m_toRef_z0 = MeasPerAtRef->parameters()[Trk::z0];
332 m_toRef_phi0 = MeasPerAtRef->parameters()[Trk::phi0];
333 m_toRef_theta = MeasPerAtRef->parameters()[Trk::theta];
334 m_toRef_qoverp = MeasPerAtRef->parameters()[Trk::qOverP];
335 }
336 }
337
339 if (m_storeTruth) retrieveTruthInfo(alignTrack);
340
341
342 m_file->cd();
343 m_tree->Fill();
344 ATH_MSG_DEBUG("tree filled");
345
346 return;
347 }
#define ATH_MSG_ERROR(x)
#define ATH_MSG_DEBUG(x)
#define AmgSymMatrix(dim)
ServiceHandle< StoreGateSvc > & evtStore()
PublicToolHandle< Trk::IExtrapolator > m_extrapolator
track extrapolator
bool retrieveTruthInfo(const Trk::AlignTrack *trk)
const Track * originalTrack() const
retrieve pointer to original track
Definition AlignTrack.h:90
@ NormalRefitted
normally refitted, without adding any pseudo-measurement
Definition AlignTrack.h:48
@ BeamspotConstrained
refitted with beamspot constraint
Definition AlignTrack.h:49
AlignTrackType type() const
get and set the refit type
Definition AlignTrack.h:96
virtual const Surface & associatedSurface() const =0
Interface method to get the associated Surface.
const Amg::Vector3D & position() const
Access method for the position.
virtual ParametersT< DIM, T, S > * clone() const override final
Virtual clone.
virtual const S & associatedSurface() const override final
Access to the Surface method.
const Amg::Vector3D & center() const
Returns the center position of the Surface.
const DataVector< const MeasurementBase > * measurementsOnTrack() const
return a pointer to a vector of MeasurementBase (NOT including any that come from outliers).
const Perigee * perigeeParameters() const
return Perigee.
const FitQuality * fitQuality() const
return a pointer to the fit quality const-overload
uint32_t runNumber() const
The current event's run number.
uint64_t eventNumber() const
The current event's event number.
static std::string release
Definition computils.h:50
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 ...
Eigen::Matrix< double, 3, 1 > Vector3D
ParametersT< TrackParametersDim, Charged, PerigeeSurface > Perigee
@ phi0
Definition ParamDefs.h:65
@ theta
Definition ParamDefs.h:66
@ qOverP
perigee
Definition ParamDefs.h:67
@ d0
Definition ParamDefs.h:63
@ z0
Definition ParamDefs.h:64
EventInfo_v1 EventInfo
Definition of the latest event info version.

◆ evtStore()

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.

◆ 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

◆ fillChi2VChamberShift()

virtual void Trk::IFillNtupleTool::fillChi2VChamberShift ( const int ,
const int ,
int * ,
double ** ,
double ** ,
double ** ,
double ** ,
double ** ,
double **  )
inlinevirtualinherited

used for numerical derivatives to write chi2 vs.

chamber positions

Definition at line 59 of file IFillNtupleTool.h.

61 {}

◆ fillHitmap()

void InDet::DetailedIDNtupleTool::fillHitmap ( )
overridevirtual

fills ntuple with hit information

Implements Trk::IFillNtupleTool.

Definition at line 463 of file DetailedIDNtupleTool.cxx.

463 {
464 }

◆ fillNtuple()

StatusCode InDet::DetailedIDNtupleTool::fillNtuple ( )
overridevirtual

writes trees and histograms to ntuple

Implements Trk::IFillNtupleTool.

Definition at line 91 of file DetailedIDNtupleTool.cxx.

91 {
92 if (m_file && m_file->IsOpen()) {
93 m_file->cd();
94 if (m_tree) m_tree->Write();
95 }
96 return StatusCode::SUCCESS;
97 }

◆ fillSummary()

void InDet::DetailedIDNtupleTool::fillSummary ( )
overridevirtual

fills ntuple with event and track summary information

Implements Trk::IFillNtupleTool.

Definition at line 466 of file DetailedIDNtupleTool.cxx.

466 {
467 }

◆ finalize()

StatusCode InDet::DetailedIDNtupleTool::finalize ( )
overridevirtual

Implements Trk::IFillNtupleTool.

Definition at line 100 of file DetailedIDNtupleTool.cxx.

100 {
101 ATH_MSG_DEBUG("finalize() of DetailedIDNtupleTool");
102 return StatusCode::SUCCESS;
103 }

◆ initialize()

StatusCode InDet::DetailedIDNtupleTool::initialize ( )
overridevirtual

Implements Trk::IFillNtupleTool.

Definition at line 70 of file DetailedIDNtupleTool.cxx.

70 {
71 ATH_MSG_DEBUG("initialize() of DetailedIDNtupleTool");
72 ATH_MSG_DEBUG("creating file with name " << m_filepath << m_filename);
73
75 ATH_CHECK(m_truthToTrack.retrieve());
76
77 /* Retrieve extrapolator tool */
78 ATH_CHECK(m_extrapolator.retrieve());
79
80 // get AlignModuleTool
81 if (m_alignModuleTool.empty()) {
82 ATH_MSG_FATAL("m_alignModuleTool is empty in DetailedIDNtupleTool::initialize()");
83 return StatusCode::FAILURE;
84 } else {
85 ATH_CHECK(m_alignModuleTool.retrieve());
86 }
87 return StatusCode::SUCCESS;
88 }
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_FATAL(x)
PublicToolHandle< Trk::ITruthToTrack > m_truthToTrack
the truth to track Tool

◆ initializeNtuple()

void InDet::DetailedIDNtupleTool::initializeNtuple ( )
private

Definition at line 474 of file DetailedIDNtupleTool.cxx.

474 {
475 //m_file = new TFile((m_filepath+m_filename).c_str(), "RECREATE");
476 m_file->cd();
477 m_tree = new TTree("IDAlign", "Inner Detector Alignment Ntuple");
478
479 m_tree->Branch("run", &m_runNumber, "run/I");
480 m_tree->Branch("evt", &m_evtNumber, "evt/I");
481
482 m_tree->Branch("xvtx", &m_xvtx, "xvtx/D");
483 m_tree->Branch("yvtx", &m_yvtx, "yvtx/D");
484 m_tree->Branch("zvtx", &m_zvtx, "zvtx/D");
485 m_tree->Branch("d0", &m_d0, "d0/D");
486 m_tree->Branch("z0", &m_z0, "z0/D");
487 m_tree->Branch("phi0", &m_phi0, "phi0/D");
488 m_tree->Branch("theta", &m_theta, "theta/D");
489 m_tree->Branch("qoverp", &m_qoverp, "qoverp/D");
490 m_tree->Branch("pt", &m_pt, "pt/D");
491 m_tree->Branch("eta", &m_eta, "eta/D");
492 m_tree->Branch("chi2", &m_chi2, "chi2/D");
493 m_tree->Branch("ndof", &m_ndof, "ndof/I");
494 m_tree->Branch("chi2prob", &m_chi2prob, "chi2prob/D");
495 m_tree->Branch("err_d0", &m_err_d0, "err_d0/D");
496 m_tree->Branch("err_z0", &m_err_z0, "err_z0/D");
497 m_tree->Branch("err_phi0", &m_err_phi0, "err_phi0/D");
498 m_tree->Branch("err_theta", &m_err_theta, "err_theta/D");
499 m_tree->Branch("err_qoverp", &m_err_qoverp, "err_qoverp/D");
500
501 if (m_storeTruth) {
502 m_tree->Branch("m_truth_prod_x", &m_truth_prod_x, "truth_prod_x/D");
503 m_tree->Branch("m_truth_prod_y", &m_truth_prod_y, "truth_prod_y/D");
504 m_tree->Branch("m_truth_prod_z", &m_truth_prod_z, "truth_prod_z/D");
505 m_tree->Branch("truth_d0", &m_truth_d0, "truth_d0/D");
506 m_tree->Branch("truth_z0", &m_truth_z0, "truth_z0/D");
507 m_tree->Branch("truth_phi0", &m_truth_phi0, "truth_phi0/D");
508 m_tree->Branch("truth_theta", &m_truth_theta, "truth_theta/D");
509 m_tree->Branch("truth_qoverp", &m_truth_qoverp, "truth_qoverp/D");
510 m_tree->Branch("truth_pt", &m_truth_pt, "truth_pt/D");
511 m_tree->Branch("truth_eta", &m_truth_eta, "truth_eta/D");
512 }
513
514 m_tree->Branch("original_xvtx", &m_original_xvtx, "original_xvtx/D");
515 m_tree->Branch("original_yvtx", &m_original_yvtx, "original_yvtx/D");
516 m_tree->Branch("original_zvtx", &m_original_zvtx, "original_zvtx/D");
517 m_tree->Branch("original_d0", &m_original_d0, "original_d0/D");
518 m_tree->Branch("original_z0", &m_original_z0, "original_z0/D");
519 m_tree->Branch("original_phi0", &m_original_phi0, "original_phi0/D");
520 m_tree->Branch("original_theta", &m_original_theta, "original_theta/D");
521 m_tree->Branch("original_qoverp", &m_original_qoverp, "original_qoverp/D");
522 m_tree->Branch("original_pt", &m_original_pt, "original_pt/D");
523 m_tree->Branch("original_eta", &m_original_eta, "original_eta/D");
524 m_tree->Branch("original_chi2", &m_original_chi2, "original_chi2/D");
525 m_tree->Branch("original_ndof", &m_original_ndof, "original_ndof/I");
526 m_tree->Branch("original_chi2prob", &m_original_chi2prob, "original_chi2prob/D");
527
528 m_tree->Branch("original_err_d0", &m_original_err_d0, "original_err_d0/D");
529 m_tree->Branch("original_err_z0", &m_original_err_z0, "original_err_z0/D");
530 m_tree->Branch("original_err_phi0", &m_original_err_phi0, "original_err_phi0/D");
531 m_tree->Branch("original_err_theta", &m_original_err_theta, "original_err_theta/D");
532 m_tree->Branch("original_err_qoverp", &m_original_err_qoverp, "original_err_qoverp/D");
533
534 m_tree->Branch("toRef_d0", &m_toRef_d0, "toRef_d0/D");
535 m_tree->Branch("toRef_z0", &m_toRef_z0, "toRef_z0/D");
536 m_tree->Branch("toRef_phi0", &m_toRef_phi0, "toRef_phi0/D");
537 m_tree->Branch("toRef_theta", &m_toRef_theta, "toRef_theta/D");
538 m_tree->Branch("toRef_qoverp", &m_toRef_qoverp, "toRef_qoverp/D");
539 m_tree->Branch("original_toRef_d0", &m_original_toRef_d0, "original_toRef_d0/D");
540 m_tree->Branch("original_toRef_z0", &m_original_toRef_z0, "original_toRef_z0/D");
541 m_tree->Branch("original_toRef_phi0", &m_original_toRef_phi0, "original_toRef_phi0/D");
542 m_tree->Branch("original_toRef_theta", &m_original_toRef_theta, "original_toRef_theta/D");
543 m_tree->Branch("original_toRef_qoverp", &m_original_toRef_qoverp, "original_toRef_qoverp/D");
544
545 return;
546 }

◆ 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 & IFillNtupleTool::interfaceID ( )
inlinestaticinherited

Definition at line 80 of file IFillNtupleTool.h.

static const InterfaceID IID_TRKALIGNINTERFACES_IFillNtupleTool("IFillNtupleTool", 1, 0)

◆ msg()

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

Definition at line 24 of file AthCommonMsg.h.

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

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

◆ perigeeParameter()

const Trk::TrackParameters * InDet::DetailedIDNtupleTool::perigeeParameter ( const Trk::AlignTrack * track) const
private

Definition at line 444 of file DetailedIDNtupleTool.cxx.

444 {
445 const Trk::TrackParameters* aMeasPer {};
446
447 for (const auto i:*(alignTrack->trackStateOnSurfaces())) {
449 aMeasPer = (i->trackParameters());
450 break;
451 }
452 }
453 if (not aMeasPer) {
454 ATH_MSG_ERROR("Could not get Trk::MeasuredPerigee of the alignTrack");
455 }
456 return aMeasPer;
457 }
@ Perigee
This represents a perigee, and so will contain a Perigee object only.
ParametersBase< TrackParametersDim, Charged > TrackParameters

◆ 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();
384 }
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)

◆ 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 {
366 }

◆ retrieveTruthInfo()

bool InDet::DetailedIDNtupleTool::retrieveTruthInfo ( const Trk::AlignTrack * trk)
private

Definition at line 349 of file DetailedIDNtupleTool.cxx.

349 {
350 // although we select tracks using the TrackSelectionTool, we still need to get a complete TrackCollection
351 // from StoreGate for use in the track-truth map, otherwise the track-truth matching is screwed up
352
353 const TrackCollection* RecCollection = nullptr;
354
355 if (evtStore()->retrieve(RecCollection, m_trackCollection).isFailure()) {
356 ATH_MSG_WARNING("Track collection \"" << m_trackCollection << "\" not found.");
357 return false;
358 }
359 if (RecCollection) {
361 "Retrieved " << m_trackCollection << " with size " << RecCollection->size() <<
362 " reconstructed tracks from storegate");
363 } else {
364 ATH_MSG_WARNING("RecCollection is null pointer in DetailedIDNtupleTool::retrieveTruthInfo");
365 return false;
366 }
367
368 // get TrackTruthCollection
369 const TrackTruthCollection* TruthMap = nullptr;
370 if (StatusCode::SUCCESS != evtStore()->retrieve(TruthMap, m_tracksTruthName)) {
371 ATH_MSG_DEBUG("Cannot find " << m_tracksTruthName);
372 return false;
373 }
374
376 "Track Truth Collection with name " << m_tracksTruthName << " with size " << TruthMap->size() <<
377 " found in StoreGate");
378
379 bool flag = false;
380 // get fit quality and chi2 probability of track
381 const Trk::Perigee* startPerigee = alignTrack->perigeeParameters();
382 const Trk::Perigee* measPer = startPerigee;
383
384 if (measPer == nullptr) {
385 ATH_MSG_DEBUG("No measured perigee parameters assigned to the track");
386 return false;
387 }
388
389 ElementLink<TrackCollection> tracklink;
390 tracklink.setElement(const_cast<Trk::Track*>(alignTrack->originalTrack()));
391 tracklink.setStorableObject(*RecCollection);
392 const ElementLink<TrackCollection> tracklink2 = tracklink;
393
394 TrackTruthCollection::const_iterator found = TruthMap->find(tracklink2);
395 if ((found != TruthMap->end()) && (found->second.probability() > m_matchProbability)) {
396 TrackTruth trtruth = found->second;
397 const HepMcParticleLink& HMPL = trtruth.particleLink();
398
399 if (HMPL.isValid()) {
400#ifdef HEPMC3
401 HepMC::ConstGenParticlePtr genparptr = HMPL.scptr();
402#else
403 const HepMC::GenParticle* genparptr = HMPL.cptr();
404#endif
405
406 if (genparptr) {
407 if (genparptr->production_vertex()) {
408 if (genparptr->pdg_id() == 0) {
409 ATH_MSG_INFO("PDG ID is zero in DetailedIDNtupleTool::retrieveTruthInfo");
410 } else {
411 const Trk::TrackParameters* generatedTrackPerigee = m_truthToTrack->makePerigeeParameters(genparptr);
412 if (!generatedTrackPerigee) ATH_MSG_WARNING("Unable to extrapolate genparticle to perigee!");
413 else {
414 flag = true;
415 m_truth_qoverpt = generatedTrackPerigee->parameters()[Trk::qOverP] / std::sin(
416 generatedTrackPerigee->parameters()[Trk::theta]);
417 m_truth_qoverp = generatedTrackPerigee->parameters()[Trk::qOverP];
418 m_truth_phi0 = generatedTrackPerigee->parameters()[Trk::phi0];
419 m_truth_d0 = generatedTrackPerigee->parameters()[Trk::d0];
420 m_truth_z0 = generatedTrackPerigee->parameters()[Trk::z0];
421 m_truth_theta = generatedTrackPerigee->parameters()[Trk::theta];
422 m_truth_eta = generatedTrackPerigee->eta();
423 m_truth_prod_x = genparptr->production_vertex()->position().x();
424 m_truth_prod_y = genparptr->production_vertex()->position().y();
425 m_truth_prod_z = genparptr->production_vertex()->position().z();
426
427 delete generatedTrackPerigee;
428 m_truth_pt = 1. / std::abs(m_truth_qoverpt);
429 m_truth_charge = 1;
430 if (m_truth_qoverpt < 0) m_truth_charge = -1;
431 if (m_truth_phi0 < 0) m_truth_phi0 += 2 * M_PI;
432 ATH_MSG_DEBUG("Found matched truth track with phi, PT = " << m_truth_phi0 << ", " << m_truth_pt);
433 }
434 }
435 }
436 }
437 }
438 }
439
440 return flag;
441 }
#define M_PI
#define ATH_MSG_INFO(x)
#define ATH_MSG_WARNING(x)
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
size_type size() const noexcept
Returns the number of elements in the collection.
const HepMcParticleLink & particleLink() const
Definition TrackTruth.h:26
double eta() const
Access method for pseudorapidity - from momentum.
const GenParticle * ConstGenParticlePtr
Definition GenParticle.h:38
bool flag
Definition master.py:29

◆ setLogStream()

virtual void Trk::IFillNtupleTool::setLogStream ( std::ostream * os)
inlinevirtualinherited

returns pointer to TFile containing ntuple

sets the output stream for the logfile

Definition at line 67 of file IFillNtupleTool.h.

67{ m_logStream = os; }
std::ostream * m_logStream
logfile output stream

◆ setNtuple()

virtual void InDet::DetailedIDNtupleTool::setNtuple ( TFile * ntuple)
inlineoverridevirtual

sets the output stream for the logfile

Implements Trk::IFillNtupleTool.

Definition at line 54 of file DetailedIDNtupleTool.h.

54{ m_file=ntuple; }

◆ showStatistics()

void InDet::DetailedIDNtupleTool::showStatistics ( )
overridevirtual

write statistics out to log file

Implements Trk::IFillNtupleTool.

Definition at line 470 of file DetailedIDNtupleTool.cxx.

470 {
471 }

◆ storeHitmap()

void InDet::DetailedIDNtupleTool::storeHitmap ( )
overridevirtual

stores hitmap for writing to ntuple

Implements Trk::IFillNtupleTool.

Definition at line 459 of file DetailedIDNtupleTool.cxx.

459 {
460 }

◆ 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 asg::AsgMetadataTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and DerivationFramework::CfAthAlgTool.

◆ 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) {
313 for (auto k : keys) {
314 k->setOwner(this);
315 }
316 }
317 }
std::vector< SG::VarHandleKeyArray * > m_vhka

Member Data Documentation

◆ m_alignModuleTool

ToolHandle<Trk::IAlignModuleTool> InDet::DetailedIDNtupleTool::m_alignModuleTool
private

Pointer to AlignmModuleTool.

Definition at line 63 of file DetailedIDNtupleTool.h.

◆ m_chi2

double InDet::DetailedIDNtupleTool::m_chi2 = 0.0
private

Definition at line 155 of file DetailedIDNtupleTool.h.

◆ m_chi2prob

double InDet::DetailedIDNtupleTool::m_chi2prob = 0.0
private

Definition at line 157 of file DetailedIDNtupleTool.h.

◆ m_d0

double InDet::DetailedIDNtupleTool::m_d0 = 0.0
private

Definition at line 148 of file DetailedIDNtupleTool.h.

◆ 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_err_d0

double InDet::DetailedIDNtupleTool::m_err_d0 = 0.0
private

Definition at line 139 of file DetailedIDNtupleTool.h.

◆ m_err_phi0

double InDet::DetailedIDNtupleTool::m_err_phi0 = 0.0
private

Definition at line 141 of file DetailedIDNtupleTool.h.

◆ m_err_qoverp

double InDet::DetailedIDNtupleTool::m_err_qoverp = 0.0
private

Definition at line 143 of file DetailedIDNtupleTool.h.

◆ m_err_theta

double InDet::DetailedIDNtupleTool::m_err_theta = 0.0
private

Definition at line 142 of file DetailedIDNtupleTool.h.

◆ m_err_z0

double InDet::DetailedIDNtupleTool::m_err_z0 = 0.0
private

Definition at line 140 of file DetailedIDNtupleTool.h.

◆ m_eta

double InDet::DetailedIDNtupleTool::m_eta = 0.0
private

Definition at line 154 of file DetailedIDNtupleTool.h.

◆ m_evtNumber

int InDet::DetailedIDNtupleTool::m_evtNumber = 0
private

Definition at line 85 of file DetailedIDNtupleTool.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

PublicToolHandle<Trk::IExtrapolator> InDet::DetailedIDNtupleTool::m_extrapolator {this,"Extrapolator","Trk::Extrapolator/AtlasExtrapolator",""}
private

track extrapolator

Definition at line 66 of file DetailedIDNtupleTool.h.

67{this,"Extrapolator","Trk::Extrapolator/AtlasExtrapolator",""};

◆ m_file

TFile* InDet::DetailedIDNtupleTool::m_file
private

Definition at line 74 of file DetailedIDNtupleTool.h.

◆ m_filename

std::string InDet::DetailedIDNtupleTool::m_filename
private

name of ntuple file

Definition at line 77 of file DetailedIDNtupleTool.h.

◆ m_filepath

std::string InDet::DetailedIDNtupleTool::m_filepath
private

path to ntuple file

Definition at line 78 of file DetailedIDNtupleTool.h.

◆ m_logStream

std::ostream* Trk::IFillNtupleTool::m_logStream = nullptr
protectedinherited

logfile output stream

Definition at line 76 of file IFillNtupleTool.h.

◆ m_matchProbability

double InDet::DetailedIDNtupleTool::m_matchProbability
private

the probabililty cut in the truth matching

Definition at line 72 of file DetailedIDNtupleTool.h.

◆ m_ndof

int InDet::DetailedIDNtupleTool::m_ndof = 0
private

Definition at line 156 of file DetailedIDNtupleTool.h.

◆ m_original_chi2

double InDet::DetailedIDNtupleTool::m_original_chi2 = 0.0
private

Definition at line 100 of file DetailedIDNtupleTool.h.

◆ m_original_chi2prob

double InDet::DetailedIDNtupleTool::m_original_chi2prob = 0.0
private

Definition at line 102 of file DetailedIDNtupleTool.h.

◆ m_original_d0

double InDet::DetailedIDNtupleTool::m_original_d0 = 0.0
private

Definition at line 92 of file DetailedIDNtupleTool.h.

◆ m_original_err_d0

double InDet::DetailedIDNtupleTool::m_original_err_d0 = 0.0
private

Definition at line 104 of file DetailedIDNtupleTool.h.

◆ m_original_err_phi0

double InDet::DetailedIDNtupleTool::m_original_err_phi0 = 0.0
private

Definition at line 106 of file DetailedIDNtupleTool.h.

◆ m_original_err_qoverp

double InDet::DetailedIDNtupleTool::m_original_err_qoverp = 0.0
private

Definition at line 108 of file DetailedIDNtupleTool.h.

◆ m_original_err_theta

double InDet::DetailedIDNtupleTool::m_original_err_theta = 0.0
private

Definition at line 107 of file DetailedIDNtupleTool.h.

◆ m_original_err_z0

double InDet::DetailedIDNtupleTool::m_original_err_z0 = 0.0
private

Definition at line 105 of file DetailedIDNtupleTool.h.

◆ m_original_eta

double InDet::DetailedIDNtupleTool::m_original_eta = 0.0
private

Definition at line 99 of file DetailedIDNtupleTool.h.

◆ m_original_ndof

int InDet::DetailedIDNtupleTool::m_original_ndof = 0
private

Definition at line 101 of file DetailedIDNtupleTool.h.

◆ m_original_phi0

double InDet::DetailedIDNtupleTool::m_original_phi0 = 0.0
private

Definition at line 94 of file DetailedIDNtupleTool.h.

◆ m_original_pt

double InDet::DetailedIDNtupleTool::m_original_pt = 0.0
private

Definition at line 97 of file DetailedIDNtupleTool.h.

◆ m_original_qoverp

double InDet::DetailedIDNtupleTool::m_original_qoverp = 0.0
private

Definition at line 96 of file DetailedIDNtupleTool.h.

◆ m_original_theta

double InDet::DetailedIDNtupleTool::m_original_theta = 0.0
private

Definition at line 95 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_d0

double InDet::DetailedIDNtupleTool::m_original_toRef_d0 = 0.0
private

Definition at line 125 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_phi0

double InDet::DetailedIDNtupleTool::m_original_toRef_phi0 = 0.0
private

Definition at line 127 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_qoverp

double InDet::DetailedIDNtupleTool::m_original_toRef_qoverp = 0.0
private

Definition at line 129 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_theta

double InDet::DetailedIDNtupleTool::m_original_toRef_theta = 0.0
private

Definition at line 128 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_z0

double InDet::DetailedIDNtupleTool::m_original_toRef_z0 = 0.0
private

Definition at line 126 of file DetailedIDNtupleTool.h.

◆ m_original_xvtx

double InDet::DetailedIDNtupleTool::m_original_xvtx = 0.0
private

Definition at line 88 of file DetailedIDNtupleTool.h.

◆ m_original_yvtx

double InDet::DetailedIDNtupleTool::m_original_yvtx = 0.0
private

Definition at line 89 of file DetailedIDNtupleTool.h.

◆ m_original_z0

double InDet::DetailedIDNtupleTool::m_original_z0 = 0.0
private

Definition at line 93 of file DetailedIDNtupleTool.h.

◆ m_original_zvtx

double InDet::DetailedIDNtupleTool::m_original_zvtx = 0.0
private

Definition at line 90 of file DetailedIDNtupleTool.h.

◆ m_phi0

double InDet::DetailedIDNtupleTool::m_phi0 = 0.0
private

Definition at line 150 of file DetailedIDNtupleTool.h.

◆ m_pt

double InDet::DetailedIDNtupleTool::m_pt = 0.0
private

Definition at line 153 of file DetailedIDNtupleTool.h.

◆ m_qoverp

double InDet::DetailedIDNtupleTool::m_qoverp = 0.0
private

Definition at line 152 of file DetailedIDNtupleTool.h.

◆ m_runNumber

int InDet::DetailedIDNtupleTool::m_runNumber = 0
private

Definition at line 84 of file DetailedIDNtupleTool.h.

◆ m_storeConstrainedOnly

bool InDet::DetailedIDNtupleTool::m_storeConstrainedOnly
private

onlystore the AlignTrack which is normally refitted

Definition at line 70 of file DetailedIDNtupleTool.h.

◆ m_storeNormalRefittedOnly

bool InDet::DetailedIDNtupleTool::m_storeNormalRefittedOnly
private

only store the AlignTrack which is normally refitted

Definition at line 69 of file DetailedIDNtupleTool.h.

◆ m_storeTruth

bool InDet::DetailedIDNtupleTool::m_storeTruth
private

retrieve the truth information

Definition at line 71 of file DetailedIDNtupleTool.h.

◆ m_theta

double InDet::DetailedIDNtupleTool::m_theta = 0.0
private

Definition at line 151 of file DetailedIDNtupleTool.h.

◆ m_toRef_d0

double InDet::DetailedIDNtupleTool::m_toRef_d0 = 0.0
private

Definition at line 132 of file DetailedIDNtupleTool.h.

◆ m_toRef_phi0

double InDet::DetailedIDNtupleTool::m_toRef_phi0 = 0.0
private

Definition at line 134 of file DetailedIDNtupleTool.h.

◆ m_toRef_qoverp

double InDet::DetailedIDNtupleTool::m_toRef_qoverp = 0.0
private

Definition at line 136 of file DetailedIDNtupleTool.h.

◆ m_toRef_theta

double InDet::DetailedIDNtupleTool::m_toRef_theta = 0.0
private

Definition at line 135 of file DetailedIDNtupleTool.h.

◆ m_toRef_z0

double InDet::DetailedIDNtupleTool::m_toRef_z0 = 0.0
private

Definition at line 133 of file DetailedIDNtupleTool.h.

◆ m_trackCollection

std::string InDet::DetailedIDNtupleTool::m_trackCollection
private

Definition at line 80 of file DetailedIDNtupleTool.h.

◆ m_tracksTruthName

std::string InDet::DetailedIDNtupleTool::m_tracksTruthName
private

Definition at line 81 of file DetailedIDNtupleTool.h.

◆ m_trackSumTool

ToolHandle<Trk::ITrackSummaryTool> InDet::DetailedIDNtupleTool::m_trackSumTool
private

Pointer to track summary tool.

Definition at line 62 of file DetailedIDNtupleTool.h.

◆ m_tree

TTree* InDet::DetailedIDNtupleTool::m_tree
private

Definition at line 75 of file DetailedIDNtupleTool.h.

◆ m_truth_charge

double InDet::DetailedIDNtupleTool::m_truth_charge = 0.0
private

Definition at line 119 of file DetailedIDNtupleTool.h.

◆ m_truth_d0

double InDet::DetailedIDNtupleTool::m_truth_d0 = 0.0
private

Definition at line 111 of file DetailedIDNtupleTool.h.

◆ m_truth_eta

double InDet::DetailedIDNtupleTool::m_truth_eta = 0.0
private

Definition at line 115 of file DetailedIDNtupleTool.h.

◆ m_truth_phi0

double InDet::DetailedIDNtupleTool::m_truth_phi0 = 0.0
private

Definition at line 113 of file DetailedIDNtupleTool.h.

◆ m_truth_prod_x

double InDet::DetailedIDNtupleTool::m_truth_prod_x = 0.0
private

Definition at line 120 of file DetailedIDNtupleTool.h.

◆ m_truth_prod_y

double InDet::DetailedIDNtupleTool::m_truth_prod_y = 0.0
private

Definition at line 121 of file DetailedIDNtupleTool.h.

◆ m_truth_prod_z

double InDet::DetailedIDNtupleTool::m_truth_prod_z = 0.0
private

Definition at line 122 of file DetailedIDNtupleTool.h.

◆ m_truth_pt

double InDet::DetailedIDNtupleTool::m_truth_pt = 0.0
private

Definition at line 116 of file DetailedIDNtupleTool.h.

◆ m_truth_qoverp

double InDet::DetailedIDNtupleTool::m_truth_qoverp = 0.0
private

Definition at line 117 of file DetailedIDNtupleTool.h.

◆ m_truth_qoverpt

double InDet::DetailedIDNtupleTool::m_truth_qoverpt = 0.0
private

Definition at line 118 of file DetailedIDNtupleTool.h.

◆ m_truth_theta

double InDet::DetailedIDNtupleTool::m_truth_theta = 0.0
private

Definition at line 114 of file DetailedIDNtupleTool.h.

◆ m_truth_z0

double InDet::DetailedIDNtupleTool::m_truth_z0 = 0.0
private

Definition at line 112 of file DetailedIDNtupleTool.h.

◆ m_truthToTrack

PublicToolHandle<Trk::ITruthToTrack> InDet::DetailedIDNtupleTool::m_truthToTrack {this,"TruthToTrack","Trk::TruthToTrack/InDetTruthToTrack",""}
private

the truth to track Tool

Definition at line 64 of file DetailedIDNtupleTool.h.

65{this,"TruthToTrack","Trk::TruthToTrack/InDetTruthToTrack",""};

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

◆ m_xvtx

double InDet::DetailedIDNtupleTool::m_xvtx = 0.0
private

Definition at line 145 of file DetailedIDNtupleTool.h.

◆ m_yvtx

double InDet::DetailedIDNtupleTool::m_yvtx = 0.0
private

Definition at line 146 of file DetailedIDNtupleTool.h.

◆ m_z0

double InDet::DetailedIDNtupleTool::m_z0 = 0.0
private

Definition at line 149 of file DetailedIDNtupleTool.h.

◆ m_zvtx

double InDet::DetailedIDNtupleTool::m_zvtx = 0.0
private

Definition at line 147 of file DetailedIDNtupleTool.h.


The documentation for this class was generated from the following files: