|
ATLAS Offline Software
|
Go to the documentation of this file.
40 m_particleHypothesis{},
45 declareInterface<ITrackValidationNtupleTool>(
this);
58 return StatusCode::SUCCESS;
67 return StatusCode::SUCCESS;
71 if (!
tree)
return StatusCode::FAILURE;
76 tree->Branch(
"RunNumber", &m_runNumber );
77 tree->Branch(
"EventNumber", &m_eventNumber );
78 tree->Branch(
"TrackID", &m_TrackID );
79 tree->Branch(
"IterationIndex", &m_iterIndex );
80 tree->Branch(
"nHits", &m_nHits );
81 tree->Branch(
"Chi2overNdof", &m_Rec_chi2overNdof );
82 tree->Branch(
"Ndof", &m_ndof );
83 tree->Branch(
"FitterStatusCode", &m_fitStatusCode );
84 tree->Branch(
"TrackFitAuthor", &m_trackFitAuthor );
85 tree->Branch(
"TrackSeedAuthor", &m_trackSeedAuthor );
86 tree->Branch(
"TrackParticleHypo", &m_particleHypothesis);
89 return StatusCode::SUCCESS;
97 const int iterationIndex,
98 const unsigned int fitStatCode ) {
105 msg(MSG::WARNING) <<
"Could not retrieve event info" <<
endmsg;
106 m_runNumber = (
int)s_errorEntry;
107 m_eventNumber = (
int)s_errorEntry;
109 if (m_lastEventNumber!=
evt->eventNumber()) {
111 m_TrackIDcounter = 0;
112 m_lastEventNumber =
evt->eventNumber();
116 if (iterationIndex == 0) m_TrackIDcounter++;
117 m_TrackID = m_TrackIDcounter;
118 m_iterIndex = iterationIndex;
119 m_eventNumber =
evt->eventNumber();
120 m_runNumber =
evt->runNumber();
123 << m_runNumber <<
" TrackID: " << m_TrackID
124 <<
" iteration index: " << m_iterIndex);
126 m_fitStatusCode =
int(fitStatCode);
127 m_trackFitAuthor =
track.info().trackFitter() ;
128 m_trackSeedAuthor = getSeed(
track.info());
129 m_particleHypothesis =
int(
track.info().particleHypothesis());
130 if (
track.fitQuality() !=
nullptr) {
131 m_Rec_chi2overNdof = (
track.fitQuality()->numberDoF()>0) ?
track.fitQuality()->chiSquared()/
track.fitQuality()->numberDoF() : 0.0;
132 m_ndof=
track.fitQuality()->numberDoF();
134 m_Rec_chi2overNdof = s_errorEntry;
135 m_ndof = s_errorEntry;
138 ATH_MSG_VERBOSE (
"counts # of track states with measurement or outlier");
142 if (trackStates !=
nullptr) {
144 for (
const auto *trackState : *trackStates) {
147 msg(MSG::WARNING) <<
"TrackStateOnSurface == Null" <<
endmsg;
155 msg(MSG::WARNING) <<
"measurementOnTrack == Null for a TrackStateOnSurface "
156 <<
"of type Measurement or Outlier" <<
endmsg;
157 return StatusCode::FAILURE;
163 return StatusCode::SUCCESS;
177 msg(MSG::WARNING) <<
"Could not retrieve event info" <<
endmsg;
178 m_runNumber = (
int)s_errorEntry;
179 m_eventNumber = (
int)s_errorEntry;
181 if (m_lastEventNumber!=
evt->eventNumber()) {
183 m_TrackIDcounter = 0;
184 m_lastEventNumber =
evt->eventNumber();
187 m_TrackID = m_TrackIDcounter++;
188 m_eventNumber =
evt->eventNumber();
189 m_runNumber =
evt->runNumber();
192 << m_runNumber <<
" TrackID: " << m_TrackID);
194 m_trackFitAuthor =
particle.info().trackFitter() ;
195 m_trackSeedAuthor = getSeed(
particle.info());
196 m_particleHypothesis =
int(
particle.info().particleHypothesis());
197 if (
particle.fitQuality() !=
nullptr) {
198 m_Rec_chi2overNdof = (
particle.fitQuality()->numberDoF()>0) ?
particle.fitQuality()->chiSquared()/
particle.fitQuality()->numberDoF() : 0.0;
199 m_ndof=
particle.fitQuality()->numberDoF();
201 m_Rec_chi2overNdof = s_errorEntry;
202 m_ndof = s_errorEntry;
207 if (
summary==
nullptr) m_nHits = -1;
220 return StatusCode::SUCCESS;
@ numberOfPixelHits
number of pixel layers on track with absence of hits
@ MuidCombined
MuidCombined.
Contains information about the 'fitter' of this track.
constexpr ParticleHypothesis particle[PARTICLEHYPOTHESES]
the array of masses
@ TrigTRTxK
TrigInDetTracks produced by TrigTRTxK, running at trigger LVL2.
@ MuidStandAlone
MuidStandalone.
@ Muonboy
Tracks from MuonBoy.
@ SimpleAmbiguityProcessorTool
Added because of compilation problems.
#define ATH_MSG_VERBOSE(x)
@ InDetAmbiTrackSelectionTool
Added because of compilation problems.
@ TRTSeededSingleSpTrackFinder
TRTSeededSingleSpTrackFinder.
@ Outlier
This TSoS contains an outlier, that is, it contains a MeasurementBase/RIO_OnTrack which was not used ...
@ SiSpacePointsSeedMaker_LowMomentum
@ MuGirlUnrefitted
Tracks from MuGirl not refitted with iPat.
::StatusCode StatusCode
StatusCode definition for legacy code.
@ numberOfSCTHits
number of SCT holes
@ MuidVertexAssociator
MuidVertexAssociator.
@ MuGirlLowBeta
MuGirlLowBeta.
@ SiSpacePointsSeedMaker_Cosmic
Entries allowing to distinguish different seed makers.
@ SiSpacePointsSeedMaker_BeamGas
@ STACO
Tracks produced by STACO.
@ FatrasSimulation
Fatras Simulation.
@ InDetAmbiguitySolver
Tracks with InDetAmbiguitySolver used.
@ TrigTRTLUT
TrigInDetTracks produced by TrigTRTLUT, running at trigger LVL2.
@ SiSpacePointsSeedMaker_HeavyIon
@ numberOfTRTHits
number of TRT outliers
A summary of the information contained by a track.
@ TrigIDSCAN
TrigInDetTracks produced by TrigIDSCAN, running at trigger LVL2.
@ TRTSeededTrackFinder
Tracks from TRT Seeded Track finder.
@ SiSPSeededFinder
Tracks from SiSPSeedFinder.
@ SiCTBTracking
Tracks from SiCTBTracking.
@ MuTag
Tracks produced by MuTag.
@ Fatras
Track from FATRAS.
@ TrigSiTrack
TrigInDetTracks produced by TrigSiTrack, running at trigger LVL2.
@ xKalmanLegacyCnv
Added because of compilation problems.
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
@ numberOfMdtHits
number of mdt hits
@ TRTStandalone
TRT Standalone.