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 123 of file BasicValTrkParticleNtupleTool.cxx.

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

◆ 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 311 of file BasicValTrkParticleNtupleTool.cxx.

311  {
312  if (!fitQuality) {
313  ATH_MSG_WARNING("Something is wrong - track has no fit quality data !!");
314  m_chi2 = 0;
315 
316  return StatusCode::FAILURE;
317  }
318 
319  if(fitQuality->numberDoF() == 0) {
320  ATH_MSG_WARNING("Number of DOF is zero !! Could not normalize chi2 ");
321  return StatusCode::FAILURE;
322  }
323 
325 
326  return StatusCode::SUCCESS;
327 }

◆ 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 382 of file BasicValTrkParticleNtupleTool.cxx.

383  {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 371 of file BasicValTrkParticleNtupleTool.cxx.

373  {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 376 of file BasicValTrkParticleNtupleTool.cxx.

379  {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 359 of file BasicValTrkParticleNtupleTool.cxx.

362  {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 366 of file BasicValTrkParticleNtupleTool.cxx.

368  {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 190 of file BasicValTrkParticleNtupleTool.cxx.

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

◆ 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 386 of file BasicValTrkParticleNtupleTool.cxx.

389  {return StatusCode::SUCCESS;}

◆ fillTrkParticlePerigee()

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

fill the perigee in ntuple

Definition at line 233 of file BasicValTrkParticleNtupleTool.cxx.

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

◆ fillTrkParticleSummary()

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

fill the perigee in ntuple

Definition at line 274 of file BasicValTrkParticleNtupleTool.cxx.

274  {
275 
276  ATH_MSG_VERBOSE ("in fillTrackSummary");
277 
278  if (!summary) {
279  ATH_MSG_WARNING("Something is wrong - track has no summary at all!");
281  m_numberOfSCTHits = 0;
282 
283  return StatusCode::FAILURE;
284  }
285 
286  ATH_MSG_VERBOSE("Fill Summary Parameters now");
287  // summary of the track
299 
300  std::bitset<Trk::numberOfDetectorTypes> hitPattern; // all position are set to 0
301  for (int i=0; i<Trk::numberOfDetectorTypes; ++i) {
302  if (summary->isHit(static_cast<Trk::DetectorType>(i))) hitPattern.set(i,1); // set position i to 1
303  }
304  m_idHitPattern = hitPattern.to_ulong();
305 
306  ATH_MSG_DEBUG ("Track summary: number of Pixel hit=" << m_numberOfPixelHits << ", number of SCT hits=" << m_numberOfSCTHits );
307 
308  return StatusCode::SUCCESS;
309 }

◆ finalize()

StatusCode Trk::BasicValTrkParticleNtupleTool::finalize ( )

finalize

Definition at line 112 of file BasicValTrkParticleNtupleTool.cxx.

112  {
113 
114  ATH_MSG_DEBUG("start finalize() in " << name());
115  if (m_nt) {
116  delete m_nt;
117  m_nt = nullptr;
118  }
119 
120  return StatusCode::SUCCESS;
121 }

◆ 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  // retrieve pointer to THistSvc
89  SmartIF<ITHistSvc> tHistSvc{service("THistSvc")};
90  ATH_CHECK( tHistSvc.isValid() );
91 
92  // ---------------------------
93  // create tree and register it to THistSvc
94 
95  m_nt = new TTree(TString(m_ntupleTreeName), "Track Particle Validation");
96  // NB: we must not delete the tree, this is done by THistSvc
97 
98  std::string fullNtupleName = "/"+m_ntupleFileName+"/"+m_ntupleDirName+"/"+m_ntupleTreeName;
99  ATH_CHECK( tHistSvc->regTree(fullNtupleName, m_nt) );
100 
101  // add the ntuple branches (this function has to be called by the client of this tool, if m_bookNewNtuple is set to false...)
103  }
104 
105  m_TrackIDcounter = 0;
106  return StatusCode::SUCCESS;
107 }

◆ 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 329 of file BasicValTrkParticleNtupleTool.cxx.

329  {
330  if (!tree) return StatusCode::FAILURE;
331  ATH_MSG_VERBOSE ("Writting Track Particles into the Tree");
332  tree->Fill();
333  resetVariables();
334  return StatusCode::SUCCESS;
335 }

◆ 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 352 of file BasicValTrkParticleNtupleTool.cxx.

355  {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 171 of file BasicValTrkParticleNtupleTool.cxx.

172  {
173  if (!m_nt) {
174  ATH_MSG_ERROR("writeTrackParticleData(...) can only be used, if property BookNewNtuple is set to true" );
175  return StatusCode::FAILURE;
176  }
177  StatusCode sc;
178 
179  ATH_MSG_DEBUG ("in writeTrackParticleData(trk, indx)");
180 
182  if (sc.isFailure()) return sc;
183 
184  return writeRecord(m_nt);
185 }

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:329
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
Trk::BasicValTrkParticleNtupleTool::resetVariables
void resetVariables()
Definition: BasicValTrkParticleNtupleTool.cxx:337
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:64
Trk::BasicValTrkParticleNtupleTool::fillTrkParticleSummary
StatusCode fillTrkParticleSummary(const Trk::TrackSummary *summary)
fill the perigee in ntuple
Definition: BasicValTrkParticleNtupleTool.cxx:274
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
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
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:85
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:66
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:228
Trk::d0
@ d0
Definition: ParamDefs.h:63
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:123
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:67
Trk::BasicValTrkParticleNtupleTool::fillFitQualityData
StatusCode fillFitQualityData(const Trk::FitQuality *fitQuality)
Definition: BasicValTrkParticleNtupleTool.cxx:311
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:623
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
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:233
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:65
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:190
SCT_Monitoring::summary
@ summary
Definition: SCT_MonitoringNumbers.h:65