16#include "GaudiKernel/SmartDataPtr.h"
17#include "GaudiKernel/ITHistSvc.h"
19#include "GaudiKernel/ISvcLocator.h"
49 declareInterface<IValidationNtupleHelperTool>(
this);
50 declareProperty(
"IgnoreMissingTrackCovarianceForPulls",
m_ignoreMissTrkCov =
false,
"Do not warn, if track states do not have covariance matries when calculating pulls");
74 return StatusCode::SUCCESS;
82 return StatusCode::SUCCESS;
95 TBranch* trackStatesUnbiasedBranch =
tree->GetBranch(
"TrackStatesUnbiased");
96 if (!trackStatesUnbiasedBranch) {
97 ATH_MSG_ERROR (
"Unable to get Branch TrackStatesUnbiased in ntuple" );
98 return StatusCode::FAILURE;
100 void* variableAdr =
static_cast<void*
>(trackStatesUnbiasedBranch->GetAddress());
102 ATH_MSG_ERROR (
"Unable to get variable address of Branch TrackStatesUnbiased" );
103 return StatusCode::FAILURE;
117 return StatusCode::SUCCESS;
129 const bool& isOutlier) {
133 return StatusCode::SUCCESS;
135 if (!trkParameters) {
137 return StatusCode::FAILURE;
142 ATH_MSG_VERBOSE (
"measurement is CompetingRIOsOnTrack, fill ntuple variables" );
154 ATH_MSG_VERBOSE (
"measurement is not a CompetingRIOsOnTrack, ignore it");
156 return StatusCode::SUCCESS;
164 return StatusCode::SUCCESS;
171 return StatusCode::SUCCESS;
#define ATH_MSG_VERBOSE(x)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Base class for all CompetingRIOsOnTack implementations, extends the common MeasurementBase.
AssignmentProb assignmentProbability(unsigned int indx) const
returns the AssignmentProbability depending on the integer.
virtual unsigned int numberOfContainedROTs() const =0
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
unsigned int indexOfMaxAssignProb() const
Index of the ROT with the highest assignment probability.
StatusCode finalize()
finalize
~DAF_ValidationNtupleHelper()
std::vector< int > * m_indexOfMaxAssgnProb
virtual StatusCode fillHoleData(const Trk::TrackStateOnSurface &, const int &)
fill special data about holes on track (here: do nothing)
std::vector< int > * m_nContainedROTs
std::vector< float > * m_maxAssgnProb
ToolHandle< Trk::IResidualPullCalculator > m_residualPullCalculator
The residual and pull calculator tool.
virtual StatusCode fillMeasurementData(const Trk::MeasurementBase *, const Trk::TrackParameters *, const int &detectorType, const bool &isOutlier)
fill Trk::CompetingRIOsOnTrack data
virtual StatusCode resetVariables(const int &detectorType)
reset ntuple variables
bool m_writeHitPositions
jobOption: shall the positions of the contained ROTs be written?
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...
StatusCode initialize()
initialize
DAF_ValidationNtupleHelper(const std::string &, const std::string &, const IInterface *)
This class is the pure abstract base class for all fittable tracking measurements.
represents the track state (measurement, material, fit parameters and quality) at a surface.
ParametersBase< TrackParametersDim, Charged > TrackParameters