16#include "GaudiKernel/SmartDataPtr.h"
17#include "GaudiKernel/ITHistSvc.h"
19#include "GaudiKernel/ISvcLocator.h"
51 declareInterface<IValidationNtupleHelperTool>(
this);
64 m_bremX =
new std::vector<float>();
65 m_bremY =
new std::vector<float>();
66 m_bremZ =
new std::vector<float>();
69 m_dna =
new std::vector<float>();
74 return StatusCode::SUCCESS;
92 return StatusCode::SUCCESS;
114 return StatusCode::SUCCESS;
126 return StatusCode::SUCCESS;
139 return StatusCode::SUCCESS;
146 const int& bremToTrackIndex ) {
152 if (ebrot ==
nullptr || tParameter ==
nullptr) {
154 << tParameter <<
" and &EB=" << ebrot);
155 return StatusCode::SUCCESS;
160 m_bremX->push_back(
float(gpos.x()) );
161 m_bremY->push_back(
float(gpos.y()) );
162 m_bremZ->push_back(
float(gpos.z()) );
166 m_dna->push_back(dna);
170 return StatusCode::SUCCESS;
#define ATH_MSG_VERBOSE(x)
BremPositionNtupleHelper(const std::string &, const std::string &, const IInterface *)
std::vector< float > * m_trkQoverP
curvature q/p of track at brem UNIT:1/MeV
std::vector< float > * m_bremZ
global position Z of track at estimated brem surface UNIT:mm
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...
virtual StatusCode fillMeasurementData(const Trk::MeasurementBase *, const Trk::TrackParameters *, const int &detectorType, const bool &isOutlier)
fill hit position data
std::vector< float > * m_bremX
global position X of track at estimated brem surface UNIT:mm
std::vector< float > * m_dna
DNA-value q*sigma2(q/p) as additional noise term UNIT:1.
StatusCode finalize()
finalize
std::vector< int > * m_dnaDirection
DNA-direction along momentum (1) opposite (-1) or both (0) UNIT:alongP:1.
virtual StatusCode resetVariables(const int &detectorType)
reset ntuple variables
std::vector< int > * m_trackStateIndices
index of track state in full nHits vector
std::vector< float > * m_thicknessInX0
thickness of material layer at brem UNIT:fraction of X0
virtual StatusCode fillHoleData(const Trk::TrackStateOnSurface &, const int &)
fill special data about holes on track (here: do nothing)
~BremPositionNtupleHelper()
std::vector< float > * m_bremY
global position Y of track at estimated brem surface UNIT:mm
StatusCode initialize()
initialize
class holding information about momentum reduction and an additional noise term due to significant en...
double sigmaQoverPsquared() const
returns the additional noise term
SearchDirection searchDirection() const
returns if the brem was discovered with a particular search direction
base class to integrate material effects on Trk::Track in a flexible way.
double thicknessInX0() const
returns the actually traversed material .
This class is the pure abstract base class for all fittable tracking measurements.
const Amg::Vector3D & momentum() const
Access method for the momentum.
const Amg::Vector3D & position() const
Access method for the position.
represents the track state (measurement, material, fit parameters and quality) at a surface.
const MaterialEffectsBase * materialEffectsOnTrack() const
return material effects const overload
Eigen::Matrix< double, 3, 1 > Vector3D
ParametersBase< TrackParametersDim, Charged > TrackParameters