|
ATLAS Offline Software
|
Go to the documentation of this file.
16 #include "GaudiKernel/SmartDataPtr.h"
17 #include "GaudiKernel/ITHistSvc.h"
19 #include "GaudiKernel/ISvcLocator.h"
45 m_thicknessInX0(nullptr),
47 m_dnaDirection(nullptr),
48 m_trackStateIndices(nullptr)
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>();
67 m_trkQoverP =
new std::vector<float>();
68 m_thicknessInX0 =
new std::vector<float>();
69 m_dna =
new std::vector<float>();
70 m_dnaDirection =
new std::vector<int>();
71 m_trackStateIndices =
new std::vector<int>();
74 return StatusCode::SUCCESS;
86 delete m_thicknessInX0;
88 delete m_dnaDirection;
89 delete m_trackStateIndices;
92 return StatusCode::SUCCESS;
104 tree->Branch(
"BremEffectsX", &m_bremX);
105 tree->Branch(
"BremEffectsY", &m_bremY);
106 tree->Branch(
"BremEffectsZ", &m_bremZ);
107 tree->Branch(
"BremCurrentQoverP", &m_trkQoverP);
108 tree->Branch(
"BremThicknessInX0", &m_thicknessInX0);
109 tree->Branch(
"BremDnaValue", &m_dna);
110 tree->Branch(
"BremDnaDirection",&m_dnaDirection);
111 tree->Branch(
"BremToTrackStateIndex",&m_trackStateIndices);
114 return StatusCode::SUCCESS;
126 return StatusCode::SUCCESS;
134 m_trkQoverP->clear();
135 m_thicknessInX0->clear();
137 m_dnaDirection->clear();
138 m_trackStateIndices->clear();
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()) );
163 m_trkQoverP->push_back( (
float) tParameter->parameters()[
Trk::qOverP]);
164 m_thicknessInX0->push_back((
float) mEffect->
thicknessInX0());
166 m_dna->push_back(dna);
168 m_trackStateIndices->push_back(bremToTrackIndex);
170 return StatusCode::SUCCESS;
const Amg::Vector3D & position() const
Access method for the position.
StatusCode finalize()
finalize
BremPositionNtupleHelper(const std::string &, const std::string &, const IInterface *)
double thicknessInX0() const
returns the actually traversed material .
#define ATH_MSG_VERBOSE(x)
base class to integrate material effects on Trk::Track in a flexible way.
virtual StatusCode resetVariables(const int &detectorType)
reset ntuple variables
~BremPositionNtupleHelper()
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...
const MaterialEffectsBase * materialEffectsOnTrack() const
return material effects const overload
::StatusCode StatusCode
StatusCode definition for legacy code.
SearchDirection searchDirection() const
returns if the brem was discovered with a particular search direction
StatusCode initialize()
initialize
virtual StatusCode fillMeasurementData(const Trk::MeasurementBase *, const Trk::TrackParameters *, const int &detectorType, const bool &isOutlier)
fill hit position data
represents the track state (measurement, material, fit parameters and quality) at a surface.
Eigen::Matrix< double, 3, 1 > Vector3D
const Amg::Vector3D & momentum() const
Access method for the momentum.
class holding information about momentum reduction and an additional noise term due to significant en...
virtual StatusCode fillHoleData(const Trk::TrackStateOnSurface &, const int &)
fill special data about holes on track (here: do nothing)
double sigmaQoverPsquared() const
returns the additional noise term