ATLAS Offline Software
Loading...
Searching...
No Matches
MeasurementVectorNtupleTool.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2022 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_MEASUREMENTVECTORNTUPLETOOL_H
14#define TRK_MEASUREMENTVECTORNTUPLETOOL_H
15
18#include "GaudiKernel/ToolHandle.h"
20
21class AtlasDetectorID;
22
23namespace Trk {
24
25 class IUpdator;
29 class MeasurementBase;
31
51
53public:
54
55 // standard AlgToolmethods
56 MeasurementVectorNtupleTool(const std::string&,const std::string&,const IInterface*);
58
59 // standard Athena methods
60 StatusCode initialize();
61 StatusCode finalize();
62
66 virtual StatusCode addNtupleItems ( TTree* tree );
67
70 virtual StatusCode fillTrackData (
71 const Trk::Track&,
72 const int iterationIndex,
73 const unsigned int fitStatCode );
74
77 virtual StatusCode fillTrackParticleData ( const Trk::TrackParticleBase& );
78
80 virtual StatusCode fillTrackTruthData ( const TrackParameters*&,
81 const TrackTruth&,
82 const int);
83
85 virtual void resetVariables( );
86
87private:
88
90 StatusCode fillMeasurementData (
93 const bool& isOutlier,
94 const int& detectorType);
96 StatusCode callHelperTools (
99 const bool& isOutlier,
100 const int& detectorType,
101 const int& nCurrentHit);
103 virtual StatusCode fillHoleData (
105
108
109 ToolHandle<Trk::IUpdator> m_updatorHandle;
111
112 ToolHandle<Trk::IResidualPullCalculator> m_residualPullCalculator;
113 ToolHandle<Trk::ITrackHoleSearchTool> m_holeSearchTool;
114 ToolHandleArray<IValidationNtupleHelperTool> m_PixelNtupleHelperToolHandles;
115 ToolHandleArray<IValidationNtupleHelperTool> m_SCTNtupleHelperToolHandles;
116 ToolHandleArray<IValidationNtupleHelperTool> m_TRTNtupleHelperToolHandles;
117 ToolHandleArray<IValidationNtupleHelperTool> m_MDTNtupleHelperToolHandles;
118 ToolHandleArray<IValidationNtupleHelperTool> m_CSCNtupleHelperToolHandles;
119 ToolHandleArray<IValidationNtupleHelperTool> m_RPCNtupleHelperToolHandles;
120 ToolHandleArray<IValidationNtupleHelperTool> m_TGCNtupleHelperToolHandles;
121 ToolHandleArray<IValidationNtupleHelperTool> m_GeneralNtupleHelperToolHandles;
122
125 std::vector<IValidationNtupleHelperTool*> m_PixelHelperTools;
126 std::vector<IValidationNtupleHelperTool*> m_SCTHelperTools;
127 std::vector<IValidationNtupleHelperTool*> m_TRTHelperTools;
128 std::vector<IValidationNtupleHelperTool*> m_MDTHelperTools;
129 std::vector<IValidationNtupleHelperTool*> m_CSCHelperTools;
130 std::vector<IValidationNtupleHelperTool*> m_RPCHelperTools;
131 std::vector<IValidationNtupleHelperTool*> m_TGCHelperTools;
132 std::vector<IValidationNtupleHelperTool*> m_GeneralHelperTools;
133 // DNA ToolHandle< ITrackBreakpointAnalyser > m_brempointAnalyser;
139 std::map<const IValidationNtupleHelperTool*, bool> m_helperToolWarning;
140
142 std::vector<float>* m_residualLocX;
143 std::vector<float>* m_residualLocY;
144 std::vector<float>* m_pullLocX;
145 std::vector<float>* m_pullLocY;
146 std::vector<int>* m_DetectorType;
147 std::vector<int>* m_isOutlier;
148
156
157 std::vector<int>* m_pixelHitIndex;
158 std::vector<int>* m_sctHitIndex;
159 std::vector<int>* m_trtHitIndex;
160 std::vector<int>* m_mdtHitIndex;
161 std::vector<int>* m_cscHitIndex;
162 std::vector<int>* m_rpcHitIndex;
163 std::vector<int>* m_tgcHitIndex;
164
165 // hole data:
169 std::vector<int>* m_HoleDetectorType;
170
171
172};
173
174
175} // end of namespace
176
177
178#endif // TRK_PERIGEEPARAMETERSNTUPLETOOL_H
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
MC particle associated with a reco track + the quality of match.
Definition TrackTruth.h:14
provides the interface for tools which calculate residuals and pulls.
interface for searching, counting and adding holes on tracks anywhere in ATLAS.
provides the interface for validation tools which write special information about generated tracks in...
Set of interfaces for methods operating on track states, mainly for Kalman filtering.
Definition IUpdator.h:64
provides the interface for validation helper tools which write special information about generated tr...
This class is the pure abstract base class for all fittable tracking measurements.
classifies a MeasurementBase into one of the known inherited flavours or one of the detector types fo...
virtual StatusCode fillHoleData(const Trk::TrackStateOnSurface &)
fill ntuple data of holes on track without writing the record
StatusCode callHelperTools(const Trk::MeasurementBase *, const Trk::TrackParameters *, const bool &isOutlier, const int &detectorType, const int &nCurrentHit)
call the helper tools
const AtlasDetectorID * m_idHelper
Used to find out the sub-det from PRD->identify().
StatusCode fillMeasurementData(const Trk::MeasurementBase *, const Trk::TrackParameters *, const bool &isOutlier, const int &detectorType)
fill variables with call for each measurement TSoS
virtual StatusCode fillTrackData(const Trk::Track &, const int iterationIndex, const unsigned int fitStatCode)
fill ntuple data of a given track without writing the record.
std::vector< float > * m_pullLocY
pull in Trk::LocY for each measurement on the track (value is set to -1000 if no second local coord.
bool m_useROTwithMaxAssgnProb
jobOption: use ROT with max.
std::vector< IValidationNtupleHelperTool * > m_MDTHelperTools
the helper tools for MDT data
ToolHandle< Trk::IUpdator > m_updatorHandle
Tool handle of updator for unbiased states.
bool m_doTruth
switch to turn truth on/off
std::vector< int > * m_HoleDetectorType
detector type of the hole (vector of size nHoles)
bool m_ignoreMissTrkCov
jobOption: ignore missing covariance of track parameters for pull calculation?
ToolHandleArray< IValidationNtupleHelperTool > m_TGCNtupleHelperToolHandles
jobOption: List of Ntuple validation helper tools for TGC
bool m_doHoleSearch
switch to turn hole search on/off
ToolHandle< Trk::IResidualPullCalculator > m_residualPullCalculator
The residual and pull calculator tool.
std::vector< int > * m_tgcHitIndex
icorresp.
std::vector< int > * m_pixelHitIndex
corresp.
std::vector< IValidationNtupleHelperTool * > m_TGCHelperTools
the helper tools for TGC data
int m_nSCTHits
number of measurements in the SCT (without outliers)
int m_nPixelHoles
number of Pixel holes on track
std::vector< IValidationNtupleHelperTool * > m_PixelHelperTools
the helper tools for Pixel data
std::vector< float > * m_residualLocX
residual in Trk::LocX for each measurement on the track, vector of size nHits, value set to -1000 if ...
std::map< const IValidationNtupleHelperTool *, bool > m_helperToolWarning
bool m_UpdatorWarning
warn only ones, if unbiased track states can not be calculated
virtual StatusCode addNtupleItems(TTree *tree)
add branches to the tree Should be called once (per track collection and tree) dunring the initialisa...
int m_nMDTHits
number of measurements in the MDTs (without outliers)
virtual StatusCode fillTrackTruthData(const TrackParameters *&, const TrackTruth &, const int)
fill data about the truth match (score, parameter-pulls etc)
MeasurementVectorNtupleTool(const std::string &, const std::string &, const IInterface *)
int m_nTRTHits
number of measurements in the TRT (without outliers)
virtual void resetVariables()
reset the variables after writing the record to disk ntuple
int m_nRPCHits
number of measurements in the RPC (without outliers)
ToolHandleArray< IValidationNtupleHelperTool > m_TRTNtupleHelperToolHandles
jobOption: List of Ntuple validation helper tools for TRT
ToolHandleArray< IValidationNtupleHelperTool > m_SCTNtupleHelperToolHandles
jobOption: List of Ntuple validation helper tools for SCT
ToolHandleArray< IValidationNtupleHelperTool > m_MDTNtupleHelperToolHandles
jobOption: List of Ntuple validation helper tools for MDT
ToolHandleArray< IValidationNtupleHelperTool > m_CSCNtupleHelperToolHandles
jobOption: List of Ntuple validation helper tools for CSC
bool m_trkParametersWarning
warn once only, if no track parameters exist
ToolHandle< Trk::ITrackHoleSearchTool > m_holeSearchTool
The hole search tool.
ToolHandleArray< IValidationNtupleHelperTool > m_GeneralNtupleHelperToolHandles
jobOption: List of Ntuple validation helper tools for data independent from detector technology
std::vector< float > * m_residualLocY
residual in Trk::LocY for each meas't on the track (value is set to -1000 if no second local coord.
bool m_pullWarning
warn only ones, if pull cannot be calculated
Trk::IUpdator * m_updator
updator for unbiased states
std::vector< IValidationNtupleHelperTool * > m_CSCHelperTools
the helper tools for CSC data
std::vector< float > * m_pullLocX
pull in Trk::LocX for each measurement on the track, vector of size nHits, value set to -1000 if meas...
int m_nPixelHits
number of measurements in the Pixels (without outliers)
int m_nCSCHits
number of measurements in the CSC (without outliers)
int m_isUnbiased
flag if track states are unbiased to the related measurements (0:no, 1:yes)
std::vector< IValidationNtupleHelperTool * > m_TRTHelperTools
the helper tools for TRT data
std::vector< int > * m_DetectorType
Detector type of the measurement, enum according to TrkEventPrimitives/TrackStateDefs....
int m_nTGCHits
number of measurements in the TGC (without outliers)
int m_nSctHoles
number of SCT holes on track
std::vector< int > * m_isOutlier
flag if measurement is outlier (1) or not (0), vector of size nHits UNIT:0:no, 1:yes
virtual StatusCode fillTrackParticleData(const Trk::TrackParticleBase &)
fill ntuple data of a given TrackParticle without writing the record.
std::vector< IValidationNtupleHelperTool * > m_SCTHelperTools
the helper tools for SCT data
std::vector< IValidationNtupleHelperTool * > m_RPCHelperTools
the helper tools for RPC data
std::vector< IValidationNtupleHelperTool * > m_GeneralHelperTools
the helper tools for data independent from detector technology
ToolHandleArray< IValidationNtupleHelperTool > m_PixelNtupleHelperToolHandles
jobOption: List of Ntuple validation helper tools for Pixel
ToolHandleArray< IValidationNtupleHelperTool > m_RPCNtupleHelperToolHandles
jobOption: List of Ntuple validation helper tools for RPC
represents the track state (measurement, material, fit parameters and quality) at a surface.
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters
TChain * tree