ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
Trk::BasicValTrkParticleNtupleTool Class Reference

This validation tool writes basic information about Trk::TrackParticleBase into an ntuple;. More...

#include <BasicValTrkParticleNtupleTool.h>

Inheritance diagram for Trk::BasicValTrkParticleNtupleTool:
Collaboration diagram for Trk::BasicValTrkParticleNtupleTool:

Public Member Functions

 BasicValTrkParticleNtupleTool (const std::string &, const std::string &, const IInterface *)
 
 ~BasicValTrkParticleNtupleTool ()
 
StatusCode initialize ()
 
StatusCode finalize ()
 finalize More...
 
virtual StatusCode addNtupleItems (TTree *tree)
 add branches to the tree Should be called once (per track collection and tree) dunring the initialisation phase by the calling algorithm (usually Trk::TrackValidationNtupleWriter) More...
 
virtual StatusCode writeTrackData (const Trk::Track &, const int iterationIndex, const unsigned int fitStatCode)
 fill AND write ntuple data of a given track More...
 
virtual StatusCode writeTrackParticleData (const Trk::TrackParticleBase &)
 fill AND write ntuple data of a given track particle More...
 
virtual StatusCode fillTrackData (const Trk::Track &, const int iterationIndex, const unsigned int fitStatCode)
 fill ntuple data of a given track without writing the record. More...
 
virtual StatusCode fillTrackParticleData (const Trk::TrackParticleBase &)
 fill ntuple data of a given track particle without writing the record. More...
 
virtual StatusCode fillTrackParameter (const Trk::TrackParameters *, const int iterationIndex)
 fill ntuple data of a given track without writing the record. More...
 
virtual StatusCode fillMeasurementData (const Trk::MeasurementBase *, const Trk::TrackParameters *)
 fill ntuple data of given measurement and track parameters without writing the record More...
 
virtual StatusCode fillOutlierData (const Trk::MeasurementBase *, const Trk::TrackParameters *, const Trk::FitQualityOnSurface *)
 fill ntuple data of an outlier measurement (without writing the record yet). More...
 
virtual StatusCode fillHoleData (const Trk::TrackStateOnSurface &)
 fill ntuple data of holes on track without writing the record More...
 
virtual StatusCode fillTrackTruthData (const TrackParameters *&, const TrackTruth &, const int truthIndex=-1)
 fill ntuple data of holes on track without writing the record More...
 
virtual StatusCode writeRecord (TTree *tree)
 write the filled data into the ntuple More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 Interface ID, declared here, and defined below. More...
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

StatusCode fillTrkParticlePerigee (const Trk::Perigee *perigee)
 fill the perigee in ntuple More...
 
StatusCode fillTrkParticleSummary (const Trk::TrackSummary *summary)
 fill the perigee in ntuple More...
 
StatusCode fillFitQualityData (const Trk::FitQuality *fitQuality)
 
void resetVariables ()
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

bool m_bookNewNtuple
 jobOption: book new ntuple? More...
 
std::string m_ntupleFileName
 jobOption: Ntuple file name More...
 
std::string m_ntupleDirName
 jobOption: Ntuple directory name More...
 
std::string m_ntupleTreeName
 jobOption: Ntuple tree name More...
 
TTree * m_nt
 Pointer to the NTuple tree. More...
 
int m_TrackIDcounter
 help variable to link with event property tree More...
 
unsigned int m_lastEventNumber
 help variable to link with event property tree More...
 
int m_runNumber
 run number the track belongs to More...
 
int m_eventNumber
 event number the track belongs to More...
 
unsigned char m_TrackID
 number of the track within the current event More...
 
float m_Rec_d0
 reconstructed track params: local d0 at perigee UNIT:mm More...
 
float m_Rec_z0
 reconstructed track params: local z0 at perigee UNIT:mm More...
 
float m_Rec_phi0
 reconstructed track params: angle phi at perigee UNIT:rad More...
 
float m_Rec_eta
 reconstructed track params: pseudorapidity UNIT:1 More...
 
float m_Rec_qOverP
 reconstructed track params: curvature q/p UNIT:1/MeV More...
 
float m_errord0
 error on local d0 at perigee UNIT:mm More...
 
float m_errorz0
 error on local z0 at perigee UNIT:mm More...
 
float m_errorphi0
 error on angle phi at perigee UNIT:rad More...
 
float m_errortheta0
 error on angle theta at perigee UNIT:rad More...
 
float m_errorqoverp
 error on curvature q/p UNIT:1/MeV More...
 
float m_chi2
 chi sqared of the track fit normalized to DOF More...
 
unsigned char m_numberOfPixelHits
 number of measurements in the Pixels
More...
 
unsigned char m_numberOfContribPixelLayers
 number of contributing layers of the pixel detector More...
 
unsigned char m_numberOfPixelHoles
 number of pixel layers on track with absence of hits More...
 
unsigned char m_numberOfPixelDeadSensors
 number of dead pixel sensors crossed More...
 
unsigned char m_numberOfSCTHits
 number of measurements in the SCT More...
 
unsigned char m_numberOfSCTHoles
 number of SCT holes More...
 
unsigned char m_numberOfSCTDeadSensors
 number of dead SCT sensors crossed More...
 
unsigned char m_numberOfTRTHits
 number of TRT hits More...
 
unsigned char m_numberOfTRTHoles
 number of TRT holes More...
 
unsigned char m_numberOfTRTDeadStraws
 number of dead TRT straws crossed More...
 
unsigned char m_numberOfTRTHighThresholdHits
 number of TRT hits which pass the high threshold More...
 
unsigned long m_idHitPattern
 bit word carrying information about hit layers More...
 
SG::ReadHandleKey< xAOD::EventInfom_evt {this, "EvtInfo", "EventInfo", "EventInfo name"}
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Static Private Attributes

static const float s_errorEntry = -99999.0
 error entry costant More...
 

Detailed Description

This validation tool writes basic information about Trk::TrackParticleBase into an ntuple;.

It can book the ntuple, create the tree directory and add basic entries. This tool is also able to write the current record to the ntuple file and start a new entry. You can also use an existing ntuple tree (which has to have the same track-wise structure) and just use the Trk::BasicValidationNtupleTool to add some ntuple variables.

Every entry (Rec:TrackPartcile) contains the event number, a track id (numbering the tracks within one event).

Perigee parameters and track summary are filled for every track if available.

Author
Pavel.nosp@m..Ruz.nosp@m.icka@.nosp@m.cern.nosp@m..ch

Definition at line 39 of file BasicValTrkParticleNtupleTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ BasicValTrkParticleNtupleTool()

Trk::BasicValTrkParticleNtupleTool::BasicValTrkParticleNtupleTool ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 27 of file BasicValTrkParticleNtupleTool.cxx.

31  :
32  AthAlgTool(t,n,p), // retrieve as private tools
34  m_nt(nullptr),
37  m_runNumber{},
38  m_eventNumber{},
39  m_TrackID{},
40  m_Rec_d0{},
41  m_Rec_z0{},
42  m_Rec_phi0{},
43  m_Rec_eta{},
44  m_Rec_qOverP{},
45 
46  m_errord0{},
47  m_errorz0{},
48  m_errorphi0{},
49  m_errortheta0{},
50  m_errorqoverp{},
51  m_chi2{},
64 {
65 
66  declareInterface<IValidationNtupleTool>(this);
67  // Declare the properties
68  declareProperty("BookNewNtuple", m_bookNewNtuple = false, "Create the ntuple tree or use existing one?");
69  declareProperty("NtupleFileName", m_ntupleFileName = "/NTUPLES/FILE1", "Ntuple file handle");
70  declareProperty("NtupleDirectoryName", m_ntupleDirName = "FitterValidation", "dircetory name for ntuple tree");
71  declareProperty("NtupleTreeName", m_ntupleTreeName = "Validation", "Name of the ntuple tree");
72 }

◆ ~BasicValTrkParticleNtupleTool()

Trk::BasicValTrkParticleNtupleTool::~BasicValTrkParticleNtupleTool ( )
default

Member Function Documentation

◆ addNtupleItems()

StatusCode Trk::BasicValTrkParticleNtupleTool::addNtupleItems ( TTree *  tree)
virtual

add branches to the tree Should be called once (per track collection and tree) dunring the initialisation phase by the calling algorithm (usually Trk::TrackValidationNtupleWriter)

Implements Trk::IValidationNtupleTool.

Definition at line 130 of file BasicValTrkParticleNtupleTool.cxx.

130  {
131  if (!tree) return StatusCode::FAILURE;
132  //-----------------
133  // add items *** Note: Documentation is in the header file, doxygen and wikis! ***
134  //
135  // event info:
136  tree->Branch("RunNumber", &m_runNumber, "run_number/I");
137  tree->Branch("EventNumber", &m_eventNumber, "event_number/I");
138  tree->Branch("TrackID", &m_TrackID, "ID_of_track_in_event/b");
139 
140  // reconstructed track parameters
141  tree->Branch("RecD0", &m_Rec_d0, "Reconstructed_d0/F");
142  tree->Branch("RecZ0", &m_Rec_z0, "Reconstructed_z0/F");
143  tree->Branch("RecPhi0", &m_Rec_phi0, "Reconstructed_phi0/F");
144  tree->Branch("RecEta", &m_Rec_eta, "Reconstructed_eta/F");
145  tree->Branch("RecQoverP", &m_Rec_qOverP, "Reconstructed_Q_over_p/F");
146 
147  // errors of reconstructed track parameters
148  tree->Branch("RecErrD0", &m_errord0, "err_d0/F");
149  tree->Branch("RecErrZ0", &m_errorz0, "err_z0/F");
150  tree->Branch("RecErrPhi0", &m_errorphi0, "err_phi0/F");
151  tree->Branch("RecErrTheta", &m_errortheta0, "err_theta/F");
152  tree->Branch("RecErrQoverP", &m_errorqoverp, "err_Q_over_p/F");
153 
154  // fit quality parameters
155  tree->Branch("chi2", &m_chi2, "chi2/F");
156 
157  //track particle summary parameters
158  tree->Branch("nPixelHits", &m_numberOfPixelHits, "numberOfPixelHits/b");
159  tree->Branch("nContribPixelLayers", &m_numberOfContribPixelLayers, "numberOfContribPixelLayers/b");
160  tree->Branch("nPixelHoles", &m_numberOfPixelHoles, "numberOfPixelHoles/b");
161  tree->Branch("nPixelDeadSensors", &m_numberOfPixelDeadSensors, "numberOfPixelDeadSensors/b");
162  tree->Branch("nSCTHits", &m_numberOfSCTHits, "numberOfSCTHits/b");
163  tree->Branch("nSCTHoles", &m_numberOfSCTHoles, "numberOfSCTHoles/b");
164  tree->Branch("nSCTDeadSensors" , &m_numberOfSCTDeadSensors, "numberOfSCTDeadSensors/b");
165  tree->Branch("nTRTHits" , &m_numberOfTRTHits, "numberOfTRTHits/b");
166  tree->Branch("nTRTHoles", &m_numberOfTRTHoles, "numberOfTRTHoles/b");
167  tree->Branch("nTRTDeadStraws", &m_numberOfTRTDeadStraws, "numberOfTRTDeadStraws/b");
168  tree->Branch("nTRTHighThresholdHits", &m_numberOfTRTHighThresholdHits, "numberOfTRTHighThresholdHits/b");
169 
170  tree->Branch("idHitPattern", &m_idHitPattern, "idHitPattern/l");
171 
172  ATH_MSG_DEBUG ("added own branches to ntuple");
173 
174  return StatusCode::SUCCESS;
175 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ fillFitQualityData()

StatusCode Trk::BasicValTrkParticleNtupleTool::fillFitQualityData ( const Trk::FitQuality fitQuality)
private

Definition at line 318 of file BasicValTrkParticleNtupleTool.cxx.

318  {
319  if (!fitQuality) {
320  ATH_MSG_WARNING("Something is wrong - track has no fit quality data !!");
321  m_chi2 = 0;
322 
323  return StatusCode::FAILURE;
324  }
325 
326  if(fitQuality->numberDoF() == 0) {
327  ATH_MSG_WARNING("Number of DOF is zero !! Could not normalize chi2 ");
328  return StatusCode::FAILURE;
329  }
330 
332 
333  return StatusCode::SUCCESS;
334 }

◆ fillHoleData()

StatusCode Trk::BasicValTrkParticleNtupleTool::fillHoleData ( const Trk::TrackStateOnSurface )
virtual

fill ntuple data of holes on track without writing the record

Implements Trk::IValidationNtupleTool.

Definition at line 389 of file BasicValTrkParticleNtupleTool.cxx.

390  {return StatusCode::SUCCESS;}

◆ fillMeasurementData()

StatusCode Trk::BasicValTrkParticleNtupleTool::fillMeasurementData ( const Trk::MeasurementBase ,
const Trk::TrackParameters  
)
virtual

fill ntuple data of given measurement and track parameters without writing the record

Implements Trk::IValidationNtupleTool.

Definition at line 378 of file BasicValTrkParticleNtupleTool.cxx.

380  {return StatusCode::SUCCESS;}

◆ fillOutlierData()

StatusCode Trk::BasicValTrkParticleNtupleTool::fillOutlierData ( const Trk::MeasurementBase ,
const Trk::TrackParameters ,
const Trk::FitQualityOnSurface  
)
virtual

fill ntuple data of an outlier measurement (without writing the record yet).

The TrackParameters and FQoS are optional, i.e. NULL pointers should be handled by the implementation

Implements Trk::IValidationNtupleTool.

Definition at line 383 of file BasicValTrkParticleNtupleTool.cxx.

386  {return StatusCode::SUCCESS;}

◆ fillTrackData()

StatusCode Trk::BasicValTrkParticleNtupleTool::fillTrackData ( const Trk::Track ,
const int  iterationIndex,
const unsigned int  fitStatCode 
)
virtual

fill ntuple data of a given track without writing the record.

  • if this method is called twice without writing the ntuple inbetween the first data will be lost!

Implements Trk::IValidationNtupleTool.

Definition at line 366 of file BasicValTrkParticleNtupleTool.cxx.

369  {return StatusCode::SUCCESS;}

◆ fillTrackParameter()

StatusCode Trk::BasicValTrkParticleNtupleTool::fillTrackParameter ( const Trk::TrackParameters ,
const int  iterationIndex 
)
virtual

fill ntuple data of a given track without writing the record.

  • if this method is called twice without writing the ntuple inbetween the first data will be lost!

Implements Trk::IValidationNtupleTool.

Definition at line 373 of file BasicValTrkParticleNtupleTool.cxx.

375  {return StatusCode::SUCCESS;}

◆ fillTrackParticleData()

StatusCode Trk::BasicValTrkParticleNtupleTool::fillTrackParticleData ( const Trk::TrackParticleBase track)
virtual

fill ntuple data of a given track particle without writing the record.

fill track data into variables without actually writing the record

  • if this method is called twice without writing the ntuple inbetween the first data will be lost!

Implements Trk::IValidationNtupleTool.

Definition at line 197 of file BasicValTrkParticleNtupleTool.cxx.

198  {
199 
200  // ---------------------------------------
201  // detect new event, reset TrackParticle counter if new event
203  if (!evt.isValid()) {
204  ATH_MSG_WARNING("Could not retrieve event info");
207  return StatusCode::FAILURE;
208  }
209 
210  if (m_lastEventNumber!=evt->eventNumber()) {
211  // we have a new event, reset TrackParticleID:
212  m_TrackIDcounter = 0;
213  m_lastEventNumber = evt->eventNumber();
214  }
216  m_TrackID = (unsigned char)m_TrackIDcounter;
217  m_eventNumber = evt->eventNumber();
218  m_runNumber = evt->runNumber();
219 
220  ATH_MSG_VERBOSE ("Event: " << m_eventNumber << ", Run: "<< m_runNumber << " TrackID: " << m_TrackID);
221 
222  //----------------------------------------------
223  // fill track parameters in ntuple
224  const Trk::Perigee* perpars = track.perigee();
225  if (perpars != nullptr && fillTrkParticlePerigee(perpars).isFailure()) ATH_MSG_WARNING("Perigee parameters could not be written to ntuple");
226 
227  const Trk::TrackSummary* summary = track.trackSummary();
228  if((!summary) || fillTrkParticleSummary(summary).isFailure()) ATH_MSG_WARNING("Summary parameters could not be written to ntuple");
229 
230  const Trk::FitQuality* fitQuality = track.fitQuality();
231  if((!fitQuality) || fillFitQualityData(fitQuality).isFailure() ) ATH_MSG_WARNING("Fit Quality data could not be written to ntuple");
232 
233  return StatusCode::SUCCESS;
234 }

◆ fillTrackTruthData()

StatusCode Trk::BasicValTrkParticleNtupleTool::fillTrackTruthData ( const TrackParameters *&  ,
const TrackTruth ,
const int  truthIndex = -1 
)
virtual

fill ntuple data of holes on track without writing the record

Implements Trk::IValidationNtupleTool.

Definition at line 393 of file BasicValTrkParticleNtupleTool.cxx.

396  {return StatusCode::SUCCESS;}

◆ fillTrkParticlePerigee()

StatusCode Trk::BasicValTrkParticleNtupleTool::fillTrkParticlePerigee ( const Trk::Perigee perigee)
private

fill the perigee in ntuple

Definition at line 240 of file BasicValTrkParticleNtupleTool.cxx.

240  {
241 
242  ATH_MSG_VERBOSE ("in fillTrackPerigee");
243 
244  if (!perigee) {
245  ATH_MSG_WARNING("Something is wrong - track has no perigee at all!");
246  m_Rec_d0 = 0;
247  m_Rec_z0 = 0;
248  m_Rec_phi0 = 0;
249  m_Rec_eta = 0;
250  m_Rec_qOverP = 0;
251  return StatusCode::FAILURE;
252  }
253 
254  ATH_MSG_VERBOSE("Fill Perigee Parameters now");
255  // track parameters
256  m_Rec_d0 = perigee->parameters()[Trk::d0];
257  m_Rec_z0 = perigee->parameters()[Trk::z0];
258  m_Rec_phi0 = perigee->parameters()[Trk::phi0];
259  m_Rec_eta = perigee->eta();
260  m_Rec_qOverP = perigee->parameters()[Trk::qOverP];
261 
262  if (perigee->covariance()) {
263 
264  // error of track parameters
265  m_errord0 = Amg::error(*perigee->covariance(),Trk::d0);
266  m_errorz0 = Amg::error(*perigee->covariance(),Trk::z0);
267  m_errorphi0 = Amg::error(*perigee->covariance(),Trk::phi0);
268  m_errortheta0 = Amg::error(*perigee->covariance(),Trk::theta);
269  m_errorqoverp = Amg::error(*perigee->covariance(),Trk::qOverP);
270 
271 
272  } // end if measPerigee
273  ATH_MSG_DEBUG ("Trackparameters: d0=" << m_Rec_d0 << ", z0=" << m_Rec_z0 << ", phi0=" << m_Rec_phi0 << ", eta=" << m_Rec_eta);
274 
275  return StatusCode::SUCCESS;
276 }

◆ fillTrkParticleSummary()

StatusCode Trk::BasicValTrkParticleNtupleTool::fillTrkParticleSummary ( const Trk::TrackSummary summary)
private

fill the perigee in ntuple

Definition at line 281 of file BasicValTrkParticleNtupleTool.cxx.

281  {
282 
283  ATH_MSG_VERBOSE ("in fillTrackSummary");
284 
285  if (!summary) {
286  ATH_MSG_WARNING("Something is wrong - track has no summary at all!");
288  m_numberOfSCTHits = 0;
289 
290  return StatusCode::FAILURE;
291  }
292 
293  ATH_MSG_VERBOSE("Fill Summary Parameters now");
294  // summary of the track
306 
307  std::bitset<Trk::numberOfDetectorTypes> hitPattern; // all position are set to 0
308  for (int i=0; i<Trk::numberOfDetectorTypes; ++i) {
309  if (summary->isHit(static_cast<Trk::DetectorType>(i))) hitPattern.set(i,1); // set position i to 1
310  }
311  m_idHitPattern = hitPattern.to_ulong();
312 
313  ATH_MSG_DEBUG ("Track summary: number of Pixel hit=" << m_numberOfPixelHits << ", number of SCT hits=" << m_numberOfSCTHits );
314 
315  return StatusCode::SUCCESS;
316 }

◆ finalize()

StatusCode Trk::BasicValTrkParticleNtupleTool::finalize ( )

finalize

Definition at line 119 of file BasicValTrkParticleNtupleTool.cxx.

119  {
120 
121  ATH_MSG_DEBUG("start finalize() in " << name());
122  if (m_nt) {
123  delete m_nt;
124  m_nt = nullptr;
125  }
126 
127  return StatusCode::SUCCESS;
128 }

◆ initialize()

StatusCode Trk::BasicValTrkParticleNtupleTool::initialize ( )

Definition at line 81 of file BasicValTrkParticleNtupleTool.cxx.

81  {
82 
84 
85  // create ntuple tree
86  if (m_bookNewNtuple) {
87  // ---------------------------
88  // retrive pointer to THistSvc
89  ITHistSvc *tHistSvc;
90  StatusCode sc = service("THistSvc", tHistSvc);
91  if (sc.isFailure()) {
92  ATH_MSG_ERROR("Unable to retrieve pointer to THistSvc");
93  return sc;
94  }
95 
96  // ---------------------------
97  // create tree and register it to THistSvc
98 
99  m_nt = new TTree(TString(m_ntupleTreeName), "Track Particle Validation");
100  // NB: we must not delete the tree, this is done by THistSvc
101 
102  std::string fullNtupleName = "/"+m_ntupleFileName+"/"+m_ntupleDirName+"/"+m_ntupleTreeName;
103  sc = tHistSvc->regTree(fullNtupleName, m_nt);
104  if (sc.isFailure()) {
105  ATH_MSG_ERROR("Unable to register TTree : " << fullNtupleName);
106  return sc;
107  }
108  // add the ntuple branches (this function has to be called by the client of this tool, if m_bookNewNtuple is set to false...)
110  }
111 
112  m_TrackIDcounter = 0;
113  return StatusCode::SUCCESS;
114 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::inputHandles ( ) const
overridevirtualinherited

Return this algorithm's input handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ interfaceID()

const InterfaceID & Trk::IValidationNtupleTool::interfaceID ( )
inlinestaticinherited

Interface ID, declared here, and defined below.

Definition at line 105 of file IValidationNtupleTool.h.

105  {
106  return IID_IValidationNtupleTool;
107 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< AlgTool > >::outputHandles ( ) const
overridevirtualinherited

Return this algorithm's output handles.

We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.

◆ renounce()

std::enable_if_t<std::is_void_v<std::result_of_t<decltype(&T::renounce)(T)> > && !std::is_base_of_v<SG::VarHandleKeyArray, T> && std::is_base_of_v<Gaudi::DataHandle, T>, void> AthCommonDataStore< AthCommonMsg< AlgTool > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ resetVariables()

void Trk::BasicValTrkParticleNtupleTool::resetVariables ( )
private

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

◆ writeRecord()

StatusCode Trk::BasicValTrkParticleNtupleTool::writeRecord ( TTree *  tree)
virtual

write the filled data into the ntuple

Implements Trk::IValidationNtupleTool.

Definition at line 336 of file BasicValTrkParticleNtupleTool.cxx.

336  {
337  if (!tree) return StatusCode::FAILURE;
338  ATH_MSG_VERBOSE ("Writting Track Particles into the Tree");
339  tree->Fill();
340  resetVariables();
341  return StatusCode::SUCCESS;
342 }

◆ writeTrackData()

StatusCode Trk::BasicValTrkParticleNtupleTool::writeTrackData ( const Trk::Track ,
const int  iterationIndex,
const unsigned int  fitStatCode 
)
virtual

fill AND write ntuple data of a given track

Implements Trk::IValidationNtupleTool.

Definition at line 359 of file BasicValTrkParticleNtupleTool.cxx.

362  {return StatusCode::SUCCESS;}

◆ writeTrackParticleData()

StatusCode Trk::BasicValTrkParticleNtupleTool::writeTrackParticleData ( const Trk::TrackParticleBase track)
virtual

fill AND write ntuple data of a given track particle

Implements Trk::IValidationNtupleTool.

Definition at line 178 of file BasicValTrkParticleNtupleTool.cxx.

179  {
180  if (!m_nt) {
181  ATH_MSG_ERROR("writeTrackParticleData(...) can only be used, if property BookNewNtuple is set to true" );
182  return StatusCode::FAILURE;
183  }
184  StatusCode sc;
185 
186  ATH_MSG_DEBUG ("in writeTrackParticleData(trk, indx)");
187 
189  if (sc.isFailure()) return sc;
190 
191  return writeRecord(m_nt);
192 }

Member Data Documentation

◆ m_bookNewNtuple

bool Trk::BasicValTrkParticleNtupleTool::m_bookNewNtuple
private

jobOption: book new ntuple?

Definition at line 114 of file BasicValTrkParticleNtupleTool.h.

◆ m_chi2

float Trk::BasicValTrkParticleNtupleTool::m_chi2
private

chi sqared of the track fit normalized to DOF

Definition at line 143 of file BasicValTrkParticleNtupleTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_errord0

float Trk::BasicValTrkParticleNtupleTool::m_errord0
private

error on local d0 at perigee UNIT:mm

Definition at line 136 of file BasicValTrkParticleNtupleTool.h.

◆ m_errorphi0

float Trk::BasicValTrkParticleNtupleTool::m_errorphi0
private

error on angle phi at perigee UNIT:rad

Definition at line 138 of file BasicValTrkParticleNtupleTool.h.

◆ m_errorqoverp

float Trk::BasicValTrkParticleNtupleTool::m_errorqoverp
private

error on curvature q/p UNIT:1/MeV

Definition at line 140 of file BasicValTrkParticleNtupleTool.h.

◆ m_errortheta0

float Trk::BasicValTrkParticleNtupleTool::m_errortheta0
private

error on angle theta at perigee UNIT:rad

Definition at line 139 of file BasicValTrkParticleNtupleTool.h.

◆ m_errorz0

float Trk::BasicValTrkParticleNtupleTool::m_errorz0
private

error on local z0 at perigee UNIT:mm

Definition at line 137 of file BasicValTrkParticleNtupleTool.h.

◆ m_eventNumber

int Trk::BasicValTrkParticleNtupleTool::m_eventNumber
private

event number the track belongs to

Definition at line 126 of file BasicValTrkParticleNtupleTool.h.

◆ m_evt

SG::ReadHandleKey<xAOD::EventInfo> Trk::BasicValTrkParticleNtupleTool::m_evt {this, "EvtInfo", "EventInfo", "EventInfo name"}
private

Definition at line 162 of file BasicValTrkParticleNtupleTool.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_idHitPattern

unsigned long Trk::BasicValTrkParticleNtupleTool::m_idHitPattern
private

bit word carrying information about hit layers

Definition at line 158 of file BasicValTrkParticleNtupleTool.h.

◆ m_lastEventNumber

unsigned int Trk::BasicValTrkParticleNtupleTool::m_lastEventNumber
private

help variable to link with event property tree

Definition at line 122 of file BasicValTrkParticleNtupleTool.h.

◆ m_nt

TTree* Trk::BasicValTrkParticleNtupleTool::m_nt
private

Pointer to the NTuple tree.

Definition at line 119 of file BasicValTrkParticleNtupleTool.h.

◆ m_ntupleDirName

std::string Trk::BasicValTrkParticleNtupleTool::m_ntupleDirName
private

jobOption: Ntuple directory name

Definition at line 116 of file BasicValTrkParticleNtupleTool.h.

◆ m_ntupleFileName

std::string Trk::BasicValTrkParticleNtupleTool::m_ntupleFileName
private

jobOption: Ntuple file name

Definition at line 115 of file BasicValTrkParticleNtupleTool.h.

◆ m_ntupleTreeName

std::string Trk::BasicValTrkParticleNtupleTool::m_ntupleTreeName
private

jobOption: Ntuple tree name

Definition at line 117 of file BasicValTrkParticleNtupleTool.h.

◆ m_numberOfContribPixelLayers

unsigned char Trk::BasicValTrkParticleNtupleTool::m_numberOfContribPixelLayers
private

number of contributing layers of the pixel detector

Definition at line 147 of file BasicValTrkParticleNtupleTool.h.

◆ m_numberOfPixelDeadSensors

unsigned char Trk::BasicValTrkParticleNtupleTool::m_numberOfPixelDeadSensors
private

number of dead pixel sensors crossed

Definition at line 149 of file BasicValTrkParticleNtupleTool.h.

◆ m_numberOfPixelHits

unsigned char Trk::BasicValTrkParticleNtupleTool::m_numberOfPixelHits
private

number of measurements in the Pixels

Definition at line 146 of file BasicValTrkParticleNtupleTool.h.

◆ m_numberOfPixelHoles

unsigned char Trk::BasicValTrkParticleNtupleTool::m_numberOfPixelHoles
private

number of pixel layers on track with absence of hits

Definition at line 148 of file BasicValTrkParticleNtupleTool.h.

◆ m_numberOfSCTDeadSensors

unsigned char Trk::BasicValTrkParticleNtupleTool::m_numberOfSCTDeadSensors
private

number of dead SCT sensors crossed

Definition at line 152 of file BasicValTrkParticleNtupleTool.h.

◆ m_numberOfSCTHits

unsigned char Trk::BasicValTrkParticleNtupleTool::m_numberOfSCTHits
private

number of measurements in the SCT

Definition at line 150 of file BasicValTrkParticleNtupleTool.h.

◆ m_numberOfSCTHoles

unsigned char Trk::BasicValTrkParticleNtupleTool::m_numberOfSCTHoles
private

number of SCT holes

Definition at line 151 of file BasicValTrkParticleNtupleTool.h.

◆ m_numberOfTRTDeadStraws

unsigned char Trk::BasicValTrkParticleNtupleTool::m_numberOfTRTDeadStraws
private

number of dead TRT straws crossed

Definition at line 155 of file BasicValTrkParticleNtupleTool.h.

◆ m_numberOfTRTHighThresholdHits

unsigned char Trk::BasicValTrkParticleNtupleTool::m_numberOfTRTHighThresholdHits
private

number of TRT hits which pass the high threshold

Definition at line 156 of file BasicValTrkParticleNtupleTool.h.

◆ m_numberOfTRTHits

unsigned char Trk::BasicValTrkParticleNtupleTool::m_numberOfTRTHits
private

number of TRT hits

Definition at line 153 of file BasicValTrkParticleNtupleTool.h.

◆ m_numberOfTRTHoles

unsigned char Trk::BasicValTrkParticleNtupleTool::m_numberOfTRTHoles
private

number of TRT holes

Definition at line 154 of file BasicValTrkParticleNtupleTool.h.

◆ m_Rec_d0

float Trk::BasicValTrkParticleNtupleTool::m_Rec_d0
private

reconstructed track params: local d0 at perigee UNIT:mm

Definition at line 130 of file BasicValTrkParticleNtupleTool.h.

◆ m_Rec_eta

float Trk::BasicValTrkParticleNtupleTool::m_Rec_eta
private

reconstructed track params: pseudorapidity UNIT:1

Definition at line 133 of file BasicValTrkParticleNtupleTool.h.

◆ m_Rec_phi0

float Trk::BasicValTrkParticleNtupleTool::m_Rec_phi0
private

reconstructed track params: angle phi at perigee UNIT:rad

Definition at line 132 of file BasicValTrkParticleNtupleTool.h.

◆ m_Rec_qOverP

float Trk::BasicValTrkParticleNtupleTool::m_Rec_qOverP
private

reconstructed track params: curvature q/p UNIT:1/MeV

Definition at line 134 of file BasicValTrkParticleNtupleTool.h.

◆ m_Rec_z0

float Trk::BasicValTrkParticleNtupleTool::m_Rec_z0
private

reconstructed track params: local z0 at perigee UNIT:mm

Definition at line 131 of file BasicValTrkParticleNtupleTool.h.

◆ m_runNumber

int Trk::BasicValTrkParticleNtupleTool::m_runNumber
private

run number the track belongs to

Definition at line 125 of file BasicValTrkParticleNtupleTool.h.

◆ m_TrackID

unsigned char Trk::BasicValTrkParticleNtupleTool::m_TrackID
private

number of the track within the current event

Definition at line 127 of file BasicValTrkParticleNtupleTool.h.

◆ m_TrackIDcounter

int Trk::BasicValTrkParticleNtupleTool::m_TrackIDcounter
private

help variable to link with event property tree

Definition at line 121 of file BasicValTrkParticleNtupleTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ s_errorEntry

const float Trk::BasicValTrkParticleNtupleTool::s_errorEntry = -99999.0
staticprivate

error entry costant

Definition at line 160 of file BasicValTrkParticleNtupleTool.h.


The documentation for this class was generated from the following files:
Trk::numberOfPixelHits
@ numberOfPixelHits
number of pixel layers on track with absence of hits
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:57
Trk::numberOfContribPixelLayers
@ numberOfContribPixelLayers
number of contributing layers of the pixel detector
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:49
Trk::BasicValTrkParticleNtupleTool::m_chi2
float m_chi2
chi sqared of the track fit normalized to DOF
Definition: BasicValTrkParticleNtupleTool.h:143
Trk::BasicValTrkParticleNtupleTool::writeRecord
virtual StatusCode writeRecord(TTree *tree)
write the filled data into the ntuple
Definition: BasicValTrkParticleNtupleTool.cxx:336
Trk::BasicValTrkParticleNtupleTool::m_TrackID
unsigned char m_TrackID
number of the track within the current event
Definition: BasicValTrkParticleNtupleTool.h:127
Trk::BasicValTrkParticleNtupleTool::m_errortheta0
float m_errortheta0
error on angle theta at perigee UNIT:rad
Definition: BasicValTrkParticleNtupleTool.h:139
Trk::BasicValTrkParticleNtupleTool::m_numberOfSCTHoles
unsigned char m_numberOfSCTHoles
number of SCT holes
Definition: BasicValTrkParticleNtupleTool.h:151
Trk::numberOfTRTHighThresholdHits
@ numberOfTRTHighThresholdHits
total number of TRT hits which pass the high threshold
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:87
Trk::BasicValTrkParticleNtupleTool::s_errorEntry
static const float s_errorEntry
error entry costant
Definition: BasicValTrkParticleNtupleTool.h:160
Trk::BasicValTrkParticleNtupleTool::m_numberOfPixelDeadSensors
unsigned char m_numberOfPixelDeadSensors
number of dead pixel sensors crossed
Definition: BasicValTrkParticleNtupleTool.h:149
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
Trk::BasicValTrkParticleNtupleTool::resetVariables
void resetVariables()
Definition: BasicValTrkParticleNtupleTool.cxx:344
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
Trk::BasicValTrkParticleNtupleTool::m_Rec_qOverP
float m_Rec_qOverP
reconstructed track params: curvature q/p UNIT:1/MeV
Definition: BasicValTrkParticleNtupleTool.h:134
Trk::BasicValTrkParticleNtupleTool::m_eventNumber
int m_eventNumber
event number the track belongs to
Definition: BasicValTrkParticleNtupleTool.h:126
Trk::BasicValTrkParticleNtupleTool::m_errorphi0
float m_errorphi0
error on angle phi at perigee UNIT:rad
Definition: BasicValTrkParticleNtupleTool.h:138
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Trk::numberOfSCTDeadSensors
@ numberOfSCTDeadSensors
number of TRT hits
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:76
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
xAOD::char
char
Definition: TrigDecision_v1.cxx:38
Trk::BasicValTrkParticleNtupleTool::m_numberOfPixelHoles
unsigned char m_numberOfPixelHoles
number of pixel layers on track with absence of hits
Definition: BasicValTrkParticleNtupleTool.h:148
tree
TChain * tree
Definition: tile_monitor.h:30
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
Trk::z0
@ z0
Definition: ParamDefs.h:70
Trk::BasicValTrkParticleNtupleTool::fillTrkParticleSummary
StatusCode fillTrkParticleSummary(const Trk::TrackSummary *summary)
fill the perigee in ntuple
Definition: BasicValTrkParticleNtupleTool.cxx:281
Trk::BasicValTrkParticleNtupleTool::m_numberOfSCTHits
unsigned char m_numberOfSCTHits
number of measurements in the SCT
Definition: BasicValTrkParticleNtupleTool.h:150
LArG4FSStartPointFilter.evt
evt
Definition: LArG4FSStartPointFilter.py:42
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
Trk::BasicValTrkParticleNtupleTool::m_numberOfTRTHits
unsigned char m_numberOfTRTHits
number of TRT hits
Definition: BasicValTrkParticleNtupleTool.h:153
Trk::BasicValTrkParticleNtupleTool::m_runNumber
int m_runNumber
run number the track belongs to
Definition: BasicValTrkParticleNtupleTool.h:125
Trk::numberOfSCTHoles
@ numberOfSCTHoles
number of Holes in both sides of a SCT module
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:73
Trk::numberOfTRTHoles
@ numberOfTRTHoles
number of TRT hits which pass the high threshold (only xenon counted) total number of TRT hits which ...
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:83
Trk::BasicValTrkParticleNtupleTool::m_errord0
float m_errord0
error on local d0 at perigee UNIT:mm
Definition: BasicValTrkParticleNtupleTool.h:136
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Trk::numberOfTRTDeadStraws
@ numberOfTRTDeadStraws
number of TRT tube hits
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:95
Trk::BasicValTrkParticleNtupleTool::m_numberOfSCTDeadSensors
unsigned char m_numberOfSCTDeadSensors
number of dead SCT sensors crossed
Definition: BasicValTrkParticleNtupleTool.h:152
Trk::BasicValTrkParticleNtupleTool::m_numberOfTRTDeadStraws
unsigned char m_numberOfTRTDeadStraws
number of dead TRT straws crossed
Definition: BasicValTrkParticleNtupleTool.h:155
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:92
Trk::BasicValTrkParticleNtupleTool::m_TrackIDcounter
int m_TrackIDcounter
help variable to link with event property tree
Definition: BasicValTrkParticleNtupleTool.h:121
beamspotman.n
n
Definition: beamspotman.py:731
Trk::theta
@ theta
Definition: ParamDefs.h:72
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
Trk::numberOfSCTHits
@ numberOfSCTHits
number of SCT holes
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:71
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Trk::BasicValTrkParticleNtupleTool::m_Rec_d0
float m_Rec_d0
reconstructed track params: local d0 at perigee UNIT:mm
Definition: BasicValTrkParticleNtupleTool.h:130
Trk::BasicValTrkParticleNtupleTool::m_ntupleDirName
std::string m_ntupleDirName
jobOption: Ntuple directory name
Definition: BasicValTrkParticleNtupleTool.h:116
Trk::numberOfPixelDeadSensors
@ numberOfPixelDeadSensors
number of pixel hits with broad errors (width/sqrt(12))
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:65
Trk::BasicValTrkParticleNtupleTool::m_evt
SG::ReadHandleKey< xAOD::EventInfo > m_evt
Definition: BasicValTrkParticleNtupleTool.h:162
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Trk::BasicValTrkParticleNtupleTool::m_ntupleFileName
std::string m_ntupleFileName
jobOption: Ntuple file name
Definition: BasicValTrkParticleNtupleTool.h:115
Trk::FitQuality
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition: FitQuality.h:97
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
Trk::BasicValTrkParticleNtupleTool::m_numberOfPixelHits
unsigned char m_numberOfPixelHits
number of measurements in the Pixels
Definition: BasicValTrkParticleNtupleTool.h:146
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
Trk::BasicValTrkParticleNtupleTool::m_Rec_eta
float m_Rec_eta
reconstructed track params: pseudorapidity UNIT:1
Definition: BasicValTrkParticleNtupleTool.h:133
Trk::FitQualityOnSurface::numberDoF
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition: FitQuality.h:60
Trk::BasicValTrkParticleNtupleTool::m_Rec_phi0
float m_Rec_phi0
reconstructed track params: angle phi at perigee UNIT:rad
Definition: BasicValTrkParticleNtupleTool.h:132
Trk::BasicValTrkParticleNtupleTool::m_lastEventNumber
unsigned int m_lastEventNumber
help variable to link with event property tree
Definition: BasicValTrkParticleNtupleTool.h:122
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
Trk::numberOfPixelHoles
@ numberOfPixelHoles
number of pixels which have a ganged ambiguity.
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:59
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
Trk::numberOfTRTHits
@ numberOfTRTHits
number of TRT outliers
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:79
Trk::BasicValTrkParticleNtupleTool::m_idHitPattern
unsigned long m_idHitPattern
bit word carrying information about hit layers
Definition: BasicValTrkParticleNtupleTool.h:158
Trk::BasicValTrkParticleNtupleTool::m_numberOfContribPixelLayers
unsigned char m_numberOfContribPixelLayers
number of contributing layers of the pixel detector
Definition: BasicValTrkParticleNtupleTool.h:147
Trk::BasicValTrkParticleNtupleTool::m_errorqoverp
float m_errorqoverp
error on curvature q/p UNIT:1/MeV
Definition: BasicValTrkParticleNtupleTool.h:140
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
Trk::BasicValTrkParticleNtupleTool::m_numberOfTRTHighThresholdHits
unsigned char m_numberOfTRTHighThresholdHits
number of TRT hits which pass the high threshold
Definition: BasicValTrkParticleNtupleTool.h:156
Trk::TrackSummary
A summary of the information contained by a track.
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:287
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Trk::d0
@ d0
Definition: ParamDefs.h:69
Amg::error
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
Definition: EventPrimitivesHelpers.h:40
Trk::GsfMeasurementUpdator::fitQuality
FitQualityOnSurface fitQuality(const MultiComponentState &, const MeasurementBase &)
Method for determining the chi2 of the multi-component state and the number of degrees of freedom.
Definition: GsfMeasurementUpdator.cxx:845
Trk::DetectorType
DetectorType
enumerates the various detector types currently accessible from the isHit() method.
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:231
a
TList * a
Definition: liststreamerinfos.cxx:10
h
Trk::BasicValTrkParticleNtupleTool::m_ntupleTreeName
std::string m_ntupleTreeName
jobOption: Ntuple tree name
Definition: BasicValTrkParticleNtupleTool.h:117
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Trk::BasicValTrkParticleNtupleTool::addNtupleItems
virtual StatusCode addNtupleItems(TTree *tree)
add branches to the tree Should be called once (per track collection and tree) dunring the initialisa...
Definition: BasicValTrkParticleNtupleTool.cxx:130
Trk::BasicValTrkParticleNtupleTool::m_numberOfTRTHoles
unsigned char m_numberOfTRTHoles
number of TRT holes
Definition: BasicValTrkParticleNtupleTool.h:154
Trk::numberOfDetectorTypes
@ numberOfDetectorTypes
Definition: Tracking/TrkEvent/TrkTrackSummary/TrkTrackSummary/TrackSummary.h:263
Trk::BasicValTrkParticleNtupleTool::m_errorz0
float m_errorz0
error on local z0 at perigee UNIT:mm
Definition: BasicValTrkParticleNtupleTool.h:137
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:73
Trk::BasicValTrkParticleNtupleTool::fillFitQualityData
StatusCode fillFitQualityData(const Trk::FitQuality *fitQuality)
Definition: BasicValTrkParticleNtupleTool.cxx:318
Trk::BasicValTrkParticleNtupleTool::m_Rec_z0
float m_Rec_z0
reconstructed track params: local z0 at perigee UNIT:mm
Definition: BasicValTrkParticleNtupleTool.h:131
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
Trk::BasicValTrkParticleNtupleTool::m_bookNewNtuple
bool m_bookNewNtuple
jobOption: book new ntuple?
Definition: BasicValTrkParticleNtupleTool.h:114
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
Trk::BasicValTrkParticleNtupleTool::fillTrkParticlePerigee
StatusCode fillTrkParticlePerigee(const Trk::Perigee *perigee)
fill the perigee in ntuple
Definition: BasicValTrkParticleNtupleTool.cxx:240
Trk::BasicValTrkParticleNtupleTool::m_nt
TTree * m_nt
Pointer to the NTuple tree.
Definition: BasicValTrkParticleNtupleTool.h:119
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
readCCLHist.float
float
Definition: readCCLHist.py:83
Trk::FitQualityOnSurface::chiSquared
double chiSquared() const
returns the of the overall track fit
Definition: FitQuality.h:56
Trk::phi0
@ phi0
Definition: ParamDefs.h:71
fitman.k
k
Definition: fitman.py:528
Trk::BasicValTrkParticleNtupleTool::fillTrackParticleData
virtual StatusCode fillTrackParticleData(const Trk::TrackParticleBase &)
fill ntuple data of a given track particle without writing the record.
Definition: BasicValTrkParticleNtupleTool.cxx:197
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65