14#ifndef TRK_RESIDUALVALIDATIONNTUPLEHELPER_H
15#define TRK_RESIDUALVALIDATIONNTUPLEHELPER_H
18#include "GaudiKernel/ToolHandle.h"
54 const int& detectorType,
55 const bool& isOutlier );
67 const int& detectorType );
71 const int& detectorType );
76 const double residual,
77 const double locMesCov,
78 const double locTrkCov )
const;
80 void fillValues(
const int& detectorType,
double res1=-1000.,
double pull1=-1000.,
double res2=-1000.,
double pull2=-1000.);
119 [[maybe_unused]]
static const bool pullWarningOnce = [&]() {
120 msg(MSG::WARNING) <<
"no covariance of the track parameters given, can not calc pull!" <<
endmsg;
121 msg(MSG::WARNING) <<
"you may want to use the jobOption 'IgnoreMissingTrackCovariance' to calculate it anyhow." <<
endmsg;
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
provides the interface for tools which calculate residuals and pulls.
This class is the pure abstract base class for all fittable tracking measurements.
std::vector< float > * m_TGCRes
hit residual in TGC strip coordinate for each TGC meas't, vector of size nTGCHits UNIT:mm
StatusCode finalize()
finalize
std::vector< float > * m_TGCPull
hit pull in TGC strip coordinate for each TGC meas't (corrects for fan-shaped strip arrangement),...
std::vector< float > * m_CSCRes
hit residual in CSC ?
std::vector< float > * m_TRTRes
hit residual in TRT drift radius for each TRT meas't, vector of size nTRTHits UNIT:mm
std::vector< float > * m_PixPullPhi
hit pull in pixel local phi coord for each Pixel meas't, vector of size nPixelHits UNIT:1
std::vector< float > * m_MDTPull
hit pull in MDT drift radius for each MDT meas't, vector of size nMDTHits UNIT:1
void givePullWarning() const
std::vector< float > * m_PixResPhi
hit residual in pixel local phi for each Pixel meas't, vector of size nPixelHits UNIT:mm
virtual StatusCode fillMeasurementData(const Trk::MeasurementBase *, const Trk::TrackParameters *, const int &detectorType, const bool &isOutlier)
fill residual data
virtual StatusCode resetVariables(const int &detectorType)
reset ntuple variables
ResidualValidationNtupleHelper(const std::string &, const std::string &, const IInterface *)
ToolHandle< Trk::IResidualPullCalculator > m_residualPullCalculator
The residual and pull calculator tool.
std::vector< float > * m_RPCPull
hit pull in RPC strip coordinate for each RPC meas't, vector of size nRPCHits UNIT:1
virtual StatusCode fillHoleData(const Trk::TrackStateOnSurface &, const int &)
fill special data about holes on track (here: do nothing)
void fillValues(const int &detectorType, double res1=-1000., double pull1=-1000., double res2=-1000., double pull2=-1000.)
std::vector< float > * m_PixPullEta
hit pull in pixel local eta coord for each Pixel meas't, vector of size nPixelHits UNIT:1
std::vector< float > * m_SCTRes
hit residual in SCT local strip coord for each SCT meas't (corrects for fan-shaped strip arrangement ...
bool m_pullWarning
warn only once, if pull cannot be calculated
std::vector< float > * m_MDTRes
hit residual in MDT drift radius for each MDT meas't, vector of size nMDTHits UNIT:mm
StatusCode initialize()
initialize
~ResidualValidationNtupleHelper()
std::vector< float > * m_RPCRes
hit residual in RPC coordinate for each RPC meas't, vector of size nRPCHits UNIT:mm
bool m_trkParametersWarning
warn only once, if no track parameters exist
std::vector< float > * m_SCTPull
hit pull in SCT local strip coord for each SCT meas't (corrects for fan-shaped strip arrangement in e...
std::vector< float > * m_PixResEta
hit residual in pixel local eta for each Pixel meas't, vector of size nPixelHits UNIT:mm
double calcPull(const double residual, const double locMesCov, const double locTrkCov) const
virtual StatusCode addNtupleItems(TTree *tree, const int &detectorType)
add items to the ntuple and configure the helper tool: should be called once (per detector type) by t...
std::vector< float > * m_CSCPull
hit pull in CSC ?
std::vector< float > * m_TRTPull
hit pull in TRT drift radius for each TRT meas't, vector of size nTRTHits UNIT:1
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