Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
InDet::DetailedIDNtupleTool Class Reference

#include <DetailedIDNtupleTool.h>

Inheritance diagram for InDet::DetailedIDNtupleTool:
Collaboration diagram for InDet::DetailedIDNtupleTool:

Public Member Functions

 DetailedIDNtupleTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~DetailedIDNtupleTool ()
 
virtual StatusCode initialize () override
 
virtual StatusCode finalize () override
 
virtual void dumpTrack (int itrk, const Trk::AlignTrack *alignTrack) override
 fills track information to ntuple More...
 
virtual void storeHitmap () override
 stores hitmap for writing to ntuple More...
 
virtual void fillHitmap () override
 fills ntuple with hit information More...
 
virtual void fillSummary () override
 fills ntuple with event and track summary information More...
 
virtual void showStatistics () override
 write statistics out to log file More...
 
virtual void setNtuple (TFile *ntuple) override
 sets the output stream for the logfile More...
 
virtual StatusCode fillNtuple () override
 writes trees and histograms to ntuple More...
 
virtual void fillChi2VChamberShift (const int, const int, int *, double **, double **, double **, double **, double **, double **)
 used for numerical derivatives to write chi2 vs. More...
 
virtual void setLogStream (std::ostream *os)
 returns pointer to TFile containing 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 ()
 

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...
 

Protected Attributes

std::ostream * m_logStream = nullptr
 logfile output stream More...
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

bool retrieveTruthInfo (const Trk::AlignTrack *trk)
 
const Trk::TrackParametersperigeeParameter (const Trk::AlignTrack *track) const
 
void initializeNtuple ()
 
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

ToolHandle< Trk::ITrackSummaryToolm_trackSumTool
 Pointer to track summary tool. More...
 
ToolHandle< Trk::IAlignModuleToolm_alignModuleTool
 Pointer to AlignmModuleTool. More...
 
PublicToolHandle< Trk::ITruthToTrackm_truthToTrack {this,"TruthToTrack","Trk::TruthToTrack/InDetTruthToTrack",""}
 the truth to track Tool More...
 
PublicToolHandle< Trk::IExtrapolatorm_extrapolator {this,"Extrapolator","Trk::Extrapolator/AtlasExtrapolator",""}
 track extrapolator More...
 
bool m_storeNormalRefittedOnly
 only store the AlignTrack which is normally refitted More...
 
bool m_storeConstrainedOnly
 onlystore the AlignTrack which is normally refitted More...
 
bool m_storeTruth
 retrieve the truth information More...
 
double m_matchProbability
 the probabililty cut in the truth matching More...
 
TFile * m_file
 
TTree * m_tree
 
std::string m_filename
 name of ntuple file More...
 
std::string m_filepath
 path to ntuple file More...
 
std::string m_trackCollection
 
std::string m_tracksTruthName
 
int m_runNumber = 0
 
int m_evtNumber = 0
 
double m_original_xvtx = 0.0
 
double m_original_yvtx = 0.0
 
double m_original_zvtx = 0.0
 
double m_original_d0 = 0.0
 
double m_original_z0 = 0.0
 
double m_original_phi0 = 0.0
 
double m_original_theta = 0.0
 
double m_original_qoverp = 0.0
 
double m_original_pt = 0.0
 
double m_original_eta = 0.0
 
double m_original_chi2 = 0.0
 
int m_original_ndof = 0
 
double m_original_chi2prob = 0.0
 
double m_original_err_d0 = 0.0
 
double m_original_err_z0 = 0.0
 
double m_original_err_phi0 = 0.0
 
double m_original_err_theta = 0.0
 
double m_original_err_qoverp = 0.0
 
double m_truth_d0 = 0.0
 
double m_truth_z0 = 0.0
 
double m_truth_phi0 = 0.0
 
double m_truth_theta = 0.0
 
double m_truth_eta = 0.0
 
double m_truth_pt = 0.0
 
double m_truth_qoverp = 0.0
 
double m_truth_qoverpt = 0.0
 
double m_truth_charge = 0.0
 
double m_truth_prod_x = 0.0
 
double m_truth_prod_y = 0.0
 
double m_truth_prod_z = 0.0
 
double m_original_toRef_d0 = 0.0
 
double m_original_toRef_z0 = 0.0
 
double m_original_toRef_phi0 = 0.0
 
double m_original_toRef_theta = 0.0
 
double m_original_toRef_qoverp = 0.0
 
double m_toRef_d0 = 0.0
 
double m_toRef_z0 = 0.0
 
double m_toRef_phi0 = 0.0
 
double m_toRef_theta = 0.0
 
double m_toRef_qoverp = 0.0
 
double m_err_d0 = 0.0
 
double m_err_z0 = 0.0
 
double m_err_phi0 = 0.0
 
double m_err_theta = 0.0
 
double m_err_qoverp = 0.0
 
double m_xvtx = 0.0
 
double m_yvtx = 0.0
 
double m_zvtx = 0.0
 
double m_d0 = 0.0
 
double m_z0 = 0.0
 
double m_phi0 = 0.0
 
double m_theta = 0.0
 
double m_qoverp = 0.0
 
double m_pt = 0.0
 
double m_eta = 0.0
 
double m_chi2 = 0.0
 
int m_ndof = 0
 
double m_chi2prob = 0.0
 
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
 

Detailed Description

Definition at line 36 of file DetailedIDNtupleTool.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

◆ DetailedIDNtupleTool()

InDet::DetailedIDNtupleTool::DetailedIDNtupleTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 38 of file DetailedIDNtupleTool.cxx.

40  , m_trackSumTool("Trk::TrackSummaryTool/TrackSummaryTool", this)
44  , m_storeTruth{true}
45  , m_matchProbability{0.8}
46  , m_file{}
47  , m_tree{}
48  , m_trackCollection{"Tracks"}
49  , m_tracksTruthName{"TrackTruthCollection"} {
50  declareInterface<Trk::IFillNtupleTool>(this);
51 
52  declareProperty("FileName", m_filename = "IDAlign.root");
53  declareProperty("FilePath", m_filepath = "./");
54  declareProperty("TrackCollection", m_trackCollection);
55  declareProperty("TracksTruthName", m_tracksTruthName);
56  declareProperty("TrackSummaryTool", m_trackSumTool);
57  declareProperty("AlignModuleTool", m_alignModuleTool);
58  declareProperty("MatchProbability", m_matchProbability);
59  declareProperty("StoreTruth", m_storeTruth);
60  declareProperty("MatchProbability", m_matchProbability);
61  declareProperty("StoreNormalRefittedOnly", m_storeNormalRefittedOnly);
62  declareProperty("StoreConstrainedOnly", m_storeConstrainedOnly);
63  }

◆ ~DetailedIDNtupleTool()

InDet::DetailedIDNtupleTool::~DetailedIDNtupleTool ( )
virtual

Definition at line 66 of file DetailedIDNtupleTool.cxx.

66  {
67  }

Member Function Documentation

◆ 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; }

◆ dumpTrack()

void InDet::DetailedIDNtupleTool::dumpTrack ( int  itrk,
const Trk::AlignTrack alignTrack 
)
overridevirtual

fills track information to ntuple

if match truth fail, return directly

Implements Trk::IFillNtupleTool.

Definition at line 106 of file DetailedIDNtupleTool.cxx.

106  {
107  ATH_MSG_DEBUG("In dumpTrack()");
108  Trk::AlignTrack::AlignTrackType type = alignTrack->type();
109  const EventContext& ctx = Gaudi::Hive::currentContext();
110  // if hope to dump all the tracks, should set:
111  // m_storeNormalRefittedOnly = false, m_storeConstrainedOnly=false
114  return;
115  }
116 
117  // get run and event numbers
118  ATH_MSG_DEBUG("Retrieving event info.");
119  const xAOD::EventInfo* eventInfo;
120  if (evtStore()->retrieve(eventInfo).isFailure()) {
121  ATH_MSG_ERROR("Could not retrieve event info.");
122  } else {
123  m_runNumber = eventInfo->runNumber();
124  m_evtNumber = eventInfo->eventNumber();
125  }
126 
127  // initialize variables
128  constexpr double invalidParameterValue{-999.};
129  m_d0 = invalidParameterValue;
130  m_z0 = invalidParameterValue;
131  m_phi0 = invalidParameterValue;
132  m_theta = invalidParameterValue;
133  m_qoverp = invalidParameterValue;
134  m_pt = invalidParameterValue;
135  m_eta = invalidParameterValue;
136  constexpr double invalidChiSq{-1e12};
137  m_chi2 = invalidChiSq;
138  m_chi2prob = invalidChiSq;
139  constexpr int invalidDegreesOfFreedom{-999};
140 
141  m_ndof = invalidDegreesOfFreedom;
142  m_xvtx = invalidParameterValue;
143  m_yvtx = invalidParameterValue;
144  m_zvtx = invalidParameterValue;
145 
146  m_err_d0 = invalidParameterValue;
147  m_err_z0 = invalidParameterValue;
148  m_err_phi0 = invalidParameterValue;
149  m_err_theta = invalidParameterValue;
150  m_err_qoverp = invalidParameterValue;
151  m_toRef_d0 = invalidParameterValue;
152  m_toRef_z0 = invalidParameterValue;
153  m_toRef_phi0 = invalidParameterValue;
154  m_toRef_theta = invalidParameterValue;
155  m_toRef_qoverp = invalidParameterValue;
156 
157 
158  m_original_d0 = invalidParameterValue;
159  m_original_z0 = invalidParameterValue;
160  m_original_phi0 = invalidParameterValue;
161  m_original_theta = invalidParameterValue;
162  m_original_qoverp = invalidParameterValue;
163  m_original_pt =invalidParameterValue;
164  m_original_eta = -999.;
165  m_original_chi2 = invalidChiSq;
166  m_original_chi2prob = invalidChiSq;
167  m_original_ndof = invalidDegreesOfFreedom;
168  m_original_xvtx = invalidParameterValue;
169  m_original_yvtx = invalidParameterValue;
170  m_original_zvtx = invalidParameterValue;
171 
172  m_original_err_d0 = invalidParameterValue;
173  m_original_err_z0 = invalidParameterValue;
174  m_original_err_phi0 = invalidParameterValue;
175  m_original_err_theta = invalidParameterValue;
176  m_original_err_qoverp = invalidParameterValue;;
177  m_original_toRef_d0 = invalidParameterValue;
178  m_original_toRef_z0 = invalidParameterValue;
179  m_original_toRef_phi0 = invalidParameterValue;
180  m_original_toRef_theta =invalidParameterValue;
181  m_original_toRef_qoverp = invalidParameterValue;;
182 
183  m_truth_d0 = invalidParameterValue;
184  m_truth_z0 = invalidParameterValue;
185  m_truth_phi0 = invalidParameterValue;
186  m_truth_theta = invalidParameterValue;
187  m_truth_qoverp = invalidParameterValue;
188  m_truth_pt = invalidParameterValue;
189  m_truth_eta = invalidParameterValue;;
190  m_truth_prod_x = invalidParameterValue;
191  m_truth_prod_y = invalidParameterValue;
192  m_truth_prod_z = invalidParameterValue;;
193 
194 
195 
196  const Trk::Perigee* aMeasPer = (alignTrack->perigeeParameters());
197 
198  if (not aMeasPer) {
199  ATH_MSG_ERROR("Could not get Trk::Perigee of the alignTrack");
200  return;
201  } else {
202  m_d0 = aMeasPer->parameters()[Trk::d0];
203  m_z0 = aMeasPer->parameters()[Trk::z0];
204  m_phi0 = aMeasPer->parameters()[Trk::phi0];
205  m_theta = aMeasPer->parameters()[Trk::theta];
206  m_qoverp = aMeasPer->parameters()[Trk::qOverP];
207 
208  const AmgSymMatrix(5) * locCov = aMeasPer->covariance();
209  m_err_d0 = Amg::error(*locCov, Trk::d0);
210  m_err_z0 = Amg::error(*locCov, Trk::z0);
211  m_err_phi0 = Amg::error(*locCov, Trk::phi0);
212  m_err_theta = Amg::error(*locCov, Trk::theta);
213  m_err_qoverp = Amg::error(*locCov, Trk::qOverP);
214 
215  m_pt =
216  std::sqrt((aMeasPer->momentum().x()) * (aMeasPer->momentum().x()) + (aMeasPer->momentum().y()) *
217  (aMeasPer->momentum().y()));
218  m_eta = aMeasPer->eta();
219 
220  m_xvtx = aMeasPer->position().x();
221  m_yvtx = aMeasPer->position().y();
222  m_zvtx = aMeasPer->position().z();
223 
224 
225 
226  // get fit quality and chi2 probability of track
227  const Trk::FitQuality* fitQual = alignTrack->fitQuality();
228  if (not fitQual) ATH_MSG_ERROR("No fit quality assigned to the track");
229  else {
230  if (fitQual->chiSquared() > 0. && fitQual->numberDoF() > 0) {
231  m_chi2 = fitQual->chiSquared();
232  m_ndof = fitQual->numberDoF();
233  m_chi2prob = TMath::Prob(m_chi2, m_ndof);
234 
235  ATH_MSG_DEBUG(" - chi2 : " << m_chi2);
236  ATH_MSG_DEBUG(" - ndof : " << m_ndof);
237  ATH_MSG_DEBUG(" - chi2/ndof : " << m_chi2 / (double) m_ndof);
238  ATH_MSG_DEBUG(" - chi2 propability : " << m_chi2prob);
239  }
240  }
241  }
242 
243  const Trk::MeasurementBase* measbase = *(alignTrack->measurementsOnTrack()->begin());
244  Amg::Vector3D refPoint = measbase->associatedSurface().center();
245  const Trk::VertexOnTrack* vot = dynamic_cast<const Trk::VertexOnTrack*> (measbase);
246  if (!vot) {
247  ATH_MSG_ERROR(" Seems the pseudo-measuremnt in the alignTrack not exist!");
248  ATH_MSG_ERROR(" this pseudo-measurement has been rejected as outlier in the refitting!");
249  return;
250  } else {
251  ATH_MSG_DEBUG(" VoT get from the alignTrack:" << *vot);
252  }
253 
254  ATH_MSG_DEBUG(" the pseudo-measurement position: " << refPoint);
255  const Trk::Track* originalTrack = alignTrack->originalTrack();
256 
257  const Trk::Perigee* originalMeasPer = originalTrack->perigeeParameters();
258  if (!originalMeasPer) {
259  ATH_MSG_ERROR("No original track!");
260  } else {
261  m_original_d0 = originalMeasPer->parameters()[Trk::d0];
262  m_original_z0 = originalMeasPer->parameters()[Trk::z0];
263  m_original_phi0 = originalMeasPer->parameters()[Trk::phi0];
264  m_original_theta = originalMeasPer->parameters()[Trk::theta];
265  m_original_qoverp = originalMeasPer->parameters()[Trk::qOverP];
266 
267  const AmgSymMatrix(5) * locError = originalMeasPer->covariance();
268  m_original_err_d0 = Amg::error(*locError, Trk::d0);
269  m_original_err_z0 = Amg::error(*locError, Trk::z0);
273 
276 
277  m_original_xvtx = originalMeasPer->position().x();
278  m_original_yvtx = originalMeasPer->position().y();
279  m_original_zvtx = originalMeasPer->position().z();
280 
281  // get fit quality and chi2 probability of original Track
282  const Trk::FitQuality* originalFitQual = originalTrack->fitQuality();
283  if (not originalFitQual) ATH_MSG_ERROR("No fit quality assigned to the track");
284  else {
285  if (originalFitQual->chiSquared() > 0. && originalFitQual->numberDoF() > 0) {
286  m_original_chi2 = originalFitQual->chiSquared();
287  m_original_ndof = originalFitQual->numberDoF();
289 
290  ATH_MSG_DEBUG(" - original chi2 : " << m_original_chi2);
291  ATH_MSG_DEBUG(" - original ndof : " << m_original_ndof);
292  ATH_MSG_DEBUG(" - original chi2/ndof : " << m_original_chi2 / (double) m_original_ndof);
293  ATH_MSG_DEBUG(" - original chi2 propability : " << m_original_chi2prob);
294  }
295  }
296 
297 
298  const Trk::PerigeeSurface persf(refPoint);
299  const Trk::Perigee* originalPerigeeAtRef =
300  dynamic_cast<const Trk::Perigee*>(m_extrapolator->extrapolateTrack(ctx, *originalTrack, persf).release());
301  if (!originalPerigeeAtRef) {
302  const Trk::Perigee* originalTrackPerigee = originalTrack->perigeeParameters();
303  if (originalTrackPerigee && ((originalTrackPerigee->associatedSurface())) == persf) {
304  ATH_MSG_DEBUG("Perigee of Track is already expressed to given vertex, a copy is returned.");
305  originalPerigeeAtRef = originalTrackPerigee->clone();
306  } else ATH_MSG_DEBUG("Extrapolation to Perigee failed, NULL pointer is returned.");
307  }
308 
309  if (originalPerigeeAtRef) {
310  std::unique_ptr<const Trk::Perigee > originalMeasPerAtRef(originalPerigeeAtRef);
311  m_original_toRef_d0 = originalMeasPerAtRef->parameters()[Trk::d0];
312  m_original_toRef_z0 = originalMeasPerAtRef->parameters()[Trk::z0];
313  m_original_toRef_phi0 = originalMeasPerAtRef->parameters()[Trk::phi0];
314  m_original_toRef_theta = originalMeasPerAtRef->parameters()[Trk::theta];
315  m_original_toRef_qoverp = originalMeasPerAtRef->parameters()[Trk::qOverP];
316  }
317 
318  const Trk::Perigee* PerigeeAtRef =
319  dynamic_cast<const Trk::Perigee*>(m_extrapolator->extrapolateTrack(ctx, *alignTrack, persf).release());
320  if (!PerigeeAtRef) {
321  const Trk::Perigee* alignTrackPerigee = alignTrack->perigeeParameters();
322  if (alignTrackPerigee && ((alignTrackPerigee->associatedSurface())) == persf) {
323  ATH_MSG_DEBUG("Perigee of AlignTrack is already expressed to given vertex, a copy is returned.");
324  PerigeeAtRef = alignTrackPerigee->clone();
325  } else ATH_MSG_DEBUG("Extrapolation to Perigee failed, NULL pointer is returned.");
326  }
327 
328  //post-eigen, can simply use the TrackParameters * returned by m_extrapolator->extrapolate?
329  if (PerigeeAtRef) {
330  std::unique_ptr<const Trk::Perigee > MeasPerAtRef((PerigeeAtRef));
331  m_toRef_d0 = MeasPerAtRef->parameters()[Trk::d0];
332  m_toRef_z0 = MeasPerAtRef->parameters()[Trk::z0];
333  m_toRef_phi0 = MeasPerAtRef->parameters()[Trk::phi0];
334  m_toRef_theta = MeasPerAtRef->parameters()[Trk::theta];
335  m_toRef_qoverp = MeasPerAtRef->parameters()[Trk::qOverP];
336  }
337  }
338 
340  if (m_storeTruth) retrieveTruthInfo(alignTrack);
341 
342 
343  m_file->cd();
344  m_tree->Fill();
345  ATH_MSG_DEBUG("tree filled");
346 
347  return;
348  }

◆ 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

◆ fillChi2VChamberShift()

virtual void Trk::IFillNtupleTool::fillChi2VChamberShift ( const int  ,
const int  ,
int *  ,
double **  ,
double **  ,
double **  ,
double **  ,
double **  ,
double **   
)
inlinevirtualinherited

used for numerical derivatives to write chi2 vs.

chamber positions

Definition at line 59 of file IFillNtupleTool.h.

61  {}

◆ fillHitmap()

void InDet::DetailedIDNtupleTool::fillHitmap ( )
overridevirtual

fills ntuple with hit information

Implements Trk::IFillNtupleTool.

Definition at line 464 of file DetailedIDNtupleTool.cxx.

464  {
465  }

◆ fillNtuple()

StatusCode InDet::DetailedIDNtupleTool::fillNtuple ( )
overridevirtual

writes trees and histograms to ntuple

Implements Trk::IFillNtupleTool.

Definition at line 91 of file DetailedIDNtupleTool.cxx.

91  {
92  if (m_file && m_file->IsOpen()) {
93  m_file->cd();
94  if (m_tree) m_tree->Write();
95  }
96  return StatusCode::SUCCESS;
97  }

◆ fillSummary()

void InDet::DetailedIDNtupleTool::fillSummary ( )
overridevirtual

fills ntuple with event and track summary information

Implements Trk::IFillNtupleTool.

Definition at line 467 of file DetailedIDNtupleTool.cxx.

467  {
468  }

◆ finalize()

StatusCode InDet::DetailedIDNtupleTool::finalize ( )
overridevirtual

Implements Trk::IFillNtupleTool.

Definition at line 100 of file DetailedIDNtupleTool.cxx.

100  {
101  ATH_MSG_DEBUG("finalize() of DetailedIDNtupleTool");
102  return StatusCode::SUCCESS;
103  }

◆ initialize()

StatusCode InDet::DetailedIDNtupleTool::initialize ( )
overridevirtual

Implements Trk::IFillNtupleTool.

Definition at line 70 of file DetailedIDNtupleTool.cxx.

70  {
71  ATH_MSG_DEBUG("initialize() of DetailedIDNtupleTool");
72  ATH_MSG_DEBUG("creating file with name " << m_filepath << m_filename);
73 
74  if (!m_tree) initializeNtuple();
75  ATH_CHECK(m_truthToTrack.retrieve());
76 
77  /* Retrieve extrapolator tool */
78  ATH_CHECK(m_extrapolator.retrieve());
79 
80  // get AlignModuleTool
81  if (m_alignModuleTool.empty()) {
82  ATH_MSG_FATAL("m_alignModuleTool is empty in DetailedIDNtupleTool::initialize()");
83  return StatusCode::FAILURE;
84  } else {
85  ATH_CHECK(m_alignModuleTool.retrieve());
86  }
87  return StatusCode::SUCCESS;
88  }

◆ initializeNtuple()

void InDet::DetailedIDNtupleTool::initializeNtuple ( )
private

Definition at line 475 of file DetailedIDNtupleTool.cxx.

475  {
476  //m_file = new TFile((m_filepath+m_filename).c_str(), "RECREATE");
477  m_file->cd();
478  m_tree = new TTree("IDAlign", "Inner Detector Alignment Ntuple");
479 
480  m_tree->Branch("run", &m_runNumber, "run/I");
481  m_tree->Branch("evt", &m_evtNumber, "evt/I");
482 
483  m_tree->Branch("xvtx", &m_xvtx, "xvtx/D");
484  m_tree->Branch("yvtx", &m_yvtx, "yvtx/D");
485  m_tree->Branch("zvtx", &m_zvtx, "zvtx/D");
486  m_tree->Branch("d0", &m_d0, "d0/D");
487  m_tree->Branch("z0", &m_z0, "z0/D");
488  m_tree->Branch("phi0", &m_phi0, "phi0/D");
489  m_tree->Branch("theta", &m_theta, "theta/D");
490  m_tree->Branch("qoverp", &m_qoverp, "qoverp/D");
491  m_tree->Branch("pt", &m_pt, "pt/D");
492  m_tree->Branch("eta", &m_eta, "eta/D");
493  m_tree->Branch("chi2", &m_chi2, "chi2/D");
494  m_tree->Branch("ndof", &m_ndof, "ndof/I");
495  m_tree->Branch("chi2prob", &m_chi2prob, "chi2prob/D");
496  m_tree->Branch("err_d0", &m_err_d0, "err_d0/D");
497  m_tree->Branch("err_z0", &m_err_z0, "err_z0/D");
498  m_tree->Branch("err_phi0", &m_err_phi0, "err_phi0/D");
499  m_tree->Branch("err_theta", &m_err_theta, "err_theta/D");
500  m_tree->Branch("err_qoverp", &m_err_qoverp, "err_qoverp/D");
501 
502  if (m_storeTruth) {
503  m_tree->Branch("m_truth_prod_x", &m_truth_prod_x, "truth_prod_x/D");
504  m_tree->Branch("m_truth_prod_y", &m_truth_prod_y, "truth_prod_y/D");
505  m_tree->Branch("m_truth_prod_z", &m_truth_prod_z, "truth_prod_z/D");
506  m_tree->Branch("truth_d0", &m_truth_d0, "truth_d0/D");
507  m_tree->Branch("truth_z0", &m_truth_z0, "truth_z0/D");
508  m_tree->Branch("truth_phi0", &m_truth_phi0, "truth_phi0/D");
509  m_tree->Branch("truth_theta", &m_truth_theta, "truth_theta/D");
510  m_tree->Branch("truth_qoverp", &m_truth_qoverp, "truth_qoverp/D");
511  m_tree->Branch("truth_pt", &m_truth_pt, "truth_pt/D");
512  m_tree->Branch("truth_eta", &m_truth_eta, "truth_eta/D");
513  }
514 
515  m_tree->Branch("original_xvtx", &m_original_xvtx, "original_xvtx/D");
516  m_tree->Branch("original_yvtx", &m_original_yvtx, "original_yvtx/D");
517  m_tree->Branch("original_zvtx", &m_original_zvtx, "original_zvtx/D");
518  m_tree->Branch("original_d0", &m_original_d0, "original_d0/D");
519  m_tree->Branch("original_z0", &m_original_z0, "original_z0/D");
520  m_tree->Branch("original_phi0", &m_original_phi0, "original_phi0/D");
521  m_tree->Branch("original_theta", &m_original_theta, "original_theta/D");
522  m_tree->Branch("original_qoverp", &m_original_qoverp, "original_qoverp/D");
523  m_tree->Branch("original_pt", &m_original_pt, "original_pt/D");
524  m_tree->Branch("original_eta", &m_original_eta, "original_eta/D");
525  m_tree->Branch("original_chi2", &m_original_chi2, "original_chi2/D");
526  m_tree->Branch("original_ndof", &m_original_ndof, "original_ndof/I");
527  m_tree->Branch("original_chi2prob", &m_original_chi2prob, "original_chi2prob/D");
528 
529  m_tree->Branch("original_err_d0", &m_original_err_d0, "original_err_d0/D");
530  m_tree->Branch("original_err_z0", &m_original_err_z0, "original_err_z0/D");
531  m_tree->Branch("original_err_phi0", &m_original_err_phi0, "original_err_phi0/D");
532  m_tree->Branch("original_err_theta", &m_original_err_theta, "original_err_theta/D");
533  m_tree->Branch("original_err_qoverp", &m_original_err_qoverp, "original_err_qoverp/D");
534 
535  m_tree->Branch("toRef_d0", &m_toRef_d0, "toRef_d0/D");
536  m_tree->Branch("toRef_z0", &m_toRef_z0, "toRef_z0/D");
537  m_tree->Branch("toRef_phi0", &m_toRef_phi0, "toRef_phi0/D");
538  m_tree->Branch("toRef_theta", &m_toRef_theta, "toRef_theta/D");
539  m_tree->Branch("toRef_qoverp", &m_toRef_qoverp, "toRef_qoverp/D");
540  m_tree->Branch("original_toRef_d0", &m_original_toRef_d0, "original_toRef_d0/D");
541  m_tree->Branch("original_toRef_z0", &m_original_toRef_z0, "original_toRef_z0/D");
542  m_tree->Branch("original_toRef_phi0", &m_original_toRef_phi0, "original_toRef_phi0/D");
543  m_tree->Branch("original_toRef_theta", &m_original_toRef_theta, "original_toRef_theta/D");
544  m_tree->Branch("original_toRef_qoverp", &m_original_toRef_qoverp, "original_toRef_qoverp/D");
545 
546  return;
547  }

◆ 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 & IFillNtupleTool::interfaceID ( )
inlinestaticinherited

Definition at line 80 of file IFillNtupleTool.h.

81  { return IID_TRKALIGNINTERFACES_IFillNtupleTool; }

◆ 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.

◆ perigeeParameter()

const Trk::TrackParameters * InDet::DetailedIDNtupleTool::perigeeParameter ( const Trk::AlignTrack track) const
private

Definition at line 445 of file DetailedIDNtupleTool.cxx.

445  {
446  const Trk::TrackParameters* aMeasPer {};
447 
448  for (const auto i:*(alignTrack->trackStateOnSurfaces())) {
450  aMeasPer = (i->trackParameters());
451  break;
452  }
453  }
454  if (not aMeasPer) {
455  ATH_MSG_ERROR("Could not get Trk::MeasuredPerigee of the alignTrack");
456  }
457  return aMeasPer;
458  }

◆ 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  }

◆ retrieveTruthInfo()

bool InDet::DetailedIDNtupleTool::retrieveTruthInfo ( const Trk::AlignTrack trk)
private

Definition at line 350 of file DetailedIDNtupleTool.cxx.

350  {
351  // although we select tracks using the TrackSelectionTool, we still need to get a complete TrackCollection
352  // from StoreGate for use in the track-truth map, otherwise the track-truth matching is screwed up
353 
354  const TrackCollection* RecCollection = nullptr;
355 
356  if (evtStore()->retrieve(RecCollection, m_trackCollection).isFailure()) {
357  ATH_MSG_WARNING("Track collection \"" << m_trackCollection << "\" not found.");
358  return false;
359  }
360  if (RecCollection) {
362  "Retrieved " << m_trackCollection << " with size " << RecCollection->size() <<
363  " reconstructed tracks from storegate");
364  } else {
365  ATH_MSG_WARNING("RecCollection is null pointer in DetailedIDNtupleTool::retrieveTruthInfo");
366  return false;
367  }
368 
369  // get TrackTruthCollection
370  const TrackTruthCollection* TruthMap = nullptr;
371  if (StatusCode::SUCCESS != evtStore()->retrieve(TruthMap, m_tracksTruthName)) {
372  ATH_MSG_DEBUG("Cannot find " << m_tracksTruthName);
373  return false;
374  }
375 
377  "Track Truth Collection with name " << m_tracksTruthName << " with size " << TruthMap->size() <<
378  " found in StoreGate");
379 
380  bool flag = false;
381  // get fit quality and chi2 probability of track
382  const Trk::Perigee* startPerigee = alignTrack->perigeeParameters();
383  const Trk::Perigee* measPer = startPerigee;
384 
385  if (measPer == nullptr) {
386  ATH_MSG_DEBUG("No measured perigee parameters assigned to the track");
387  return false;
388  }
389 
391  tracklink.setElement(const_cast<Trk::Track*>(alignTrack->originalTrack()));
392  tracklink.setStorableObject(*RecCollection);
393  const ElementLink<TrackCollection> tracklink2 = tracklink;
394 
395  TrackTruthCollection::const_iterator found = TruthMap->find(tracklink2);
396  if ((found != TruthMap->end()) && (found->second.probability() > m_matchProbability)) {
397  TrackTruth trtruth = found->second;
398  const HepMcParticleLink& HMPL = trtruth.particleLink();
399 
400  if (HMPL.isValid()) {
401 #ifdef HEPMC3
402  HepMC::ConstGenParticlePtr genparptr = HMPL.scptr();
403 #else
404  const HepMC::GenParticle* genparptr = HMPL.cptr();
405 #endif
406 
407  if (genparptr) {
408  if (genparptr->production_vertex()) {
409  if (genparptr->pdg_id() == 0) {
410  ATH_MSG_INFO("PDG ID is zero in DetailedIDNtupleTool::retrieveTruthInfo");
411  } else {
412  const Trk::TrackParameters* generatedTrackPerigee = m_truthToTrack->makePerigeeParameters(genparptr);
413  if (!generatedTrackPerigee) ATH_MSG_WARNING("Unable to extrapolate genparticle to perigee!");
414  else {
415  flag = true;
416  m_truth_qoverpt = generatedTrackPerigee->parameters()[Trk::qOverP] / std::sin(
417  generatedTrackPerigee->parameters()[Trk::theta]);
418  m_truth_qoverp = generatedTrackPerigee->parameters()[Trk::qOverP];
419  m_truth_phi0 = generatedTrackPerigee->parameters()[Trk::phi0];
420  m_truth_d0 = generatedTrackPerigee->parameters()[Trk::d0];
421  m_truth_z0 = generatedTrackPerigee->parameters()[Trk::z0];
422  m_truth_theta = generatedTrackPerigee->parameters()[Trk::theta];
423  m_truth_eta = generatedTrackPerigee->eta();
424  m_truth_prod_x = genparptr->production_vertex()->position().x();
425  m_truth_prod_y = genparptr->production_vertex()->position().y();
426  m_truth_prod_z = genparptr->production_vertex()->position().z();
427 
428  delete generatedTrackPerigee;
429  m_truth_pt = 1. / std::abs(m_truth_qoverpt);
430  m_truth_charge = 1;
431  if (m_truth_qoverpt < 0) m_truth_charge = -1;
432  if (m_truth_phi0 < 0) m_truth_phi0 += 2 * M_PI;
433  ATH_MSG_DEBUG("Found matched truth track with phi, PT = " << m_truth_phi0 << ", " << m_truth_pt);
434  }
435  }
436  }
437  }
438  }
439  }
440 
441  return flag;
442  }

◆ setLogStream()

virtual void Trk::IFillNtupleTool::setLogStream ( std::ostream *  os)
inlinevirtualinherited

returns pointer to TFile containing ntuple

sets the output stream for the logfile

Definition at line 67 of file IFillNtupleTool.h.

67 { m_logStream = os; }

◆ setNtuple()

virtual void InDet::DetailedIDNtupleTool::setNtuple ( TFile *  ntuple)
inlineoverridevirtual

sets the output stream for the logfile

Implements Trk::IFillNtupleTool.

Definition at line 54 of file DetailedIDNtupleTool.h.

54 { m_file=ntuple; }

◆ showStatistics()

void InDet::DetailedIDNtupleTool::showStatistics ( )
overridevirtual

write statistics out to log file

Implements Trk::IFillNtupleTool.

Definition at line 471 of file DetailedIDNtupleTool.cxx.

471  {
472  }

◆ storeHitmap()

void InDet::DetailedIDNtupleTool::storeHitmap ( )
overridevirtual

stores hitmap for writing to ntuple

Implements Trk::IFillNtupleTool.

Definition at line 460 of file DetailedIDNtupleTool.cxx.

460  {
461  }

◆ 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  }

Member Data Documentation

◆ m_alignModuleTool

ToolHandle<Trk::IAlignModuleTool> InDet::DetailedIDNtupleTool::m_alignModuleTool
private

Pointer to AlignmModuleTool.

Definition at line 63 of file DetailedIDNtupleTool.h.

◆ m_chi2

double InDet::DetailedIDNtupleTool::m_chi2 = 0.0
private

Definition at line 155 of file DetailedIDNtupleTool.h.

◆ m_chi2prob

double InDet::DetailedIDNtupleTool::m_chi2prob = 0.0
private

Definition at line 157 of file DetailedIDNtupleTool.h.

◆ m_d0

double InDet::DetailedIDNtupleTool::m_d0 = 0.0
private

Definition at line 148 of file DetailedIDNtupleTool.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_err_d0

double InDet::DetailedIDNtupleTool::m_err_d0 = 0.0
private

Definition at line 139 of file DetailedIDNtupleTool.h.

◆ m_err_phi0

double InDet::DetailedIDNtupleTool::m_err_phi0 = 0.0
private

Definition at line 141 of file DetailedIDNtupleTool.h.

◆ m_err_qoverp

double InDet::DetailedIDNtupleTool::m_err_qoverp = 0.0
private

Definition at line 143 of file DetailedIDNtupleTool.h.

◆ m_err_theta

double InDet::DetailedIDNtupleTool::m_err_theta = 0.0
private

Definition at line 142 of file DetailedIDNtupleTool.h.

◆ m_err_z0

double InDet::DetailedIDNtupleTool::m_err_z0 = 0.0
private

Definition at line 140 of file DetailedIDNtupleTool.h.

◆ m_eta

double InDet::DetailedIDNtupleTool::m_eta = 0.0
private

Definition at line 154 of file DetailedIDNtupleTool.h.

◆ m_evtNumber

int InDet::DetailedIDNtupleTool::m_evtNumber = 0
private

Definition at line 85 of file DetailedIDNtupleTool.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_extrapolator

PublicToolHandle<Trk::IExtrapolator> InDet::DetailedIDNtupleTool::m_extrapolator {this,"Extrapolator","Trk::Extrapolator/AtlasExtrapolator",""}
private

track extrapolator

Definition at line 66 of file DetailedIDNtupleTool.h.

◆ m_file

TFile* InDet::DetailedIDNtupleTool::m_file
private

Definition at line 74 of file DetailedIDNtupleTool.h.

◆ m_filename

std::string InDet::DetailedIDNtupleTool::m_filename
private

name of ntuple file

Definition at line 77 of file DetailedIDNtupleTool.h.

◆ m_filepath

std::string InDet::DetailedIDNtupleTool::m_filepath
private

path to ntuple file

Definition at line 78 of file DetailedIDNtupleTool.h.

◆ m_logStream

std::ostream* Trk::IFillNtupleTool::m_logStream = nullptr
protectedinherited

logfile output stream

Definition at line 76 of file IFillNtupleTool.h.

◆ m_matchProbability

double InDet::DetailedIDNtupleTool::m_matchProbability
private

the probabililty cut in the truth matching

Definition at line 72 of file DetailedIDNtupleTool.h.

◆ m_ndof

int InDet::DetailedIDNtupleTool::m_ndof = 0
private

Definition at line 156 of file DetailedIDNtupleTool.h.

◆ m_original_chi2

double InDet::DetailedIDNtupleTool::m_original_chi2 = 0.0
private

Definition at line 100 of file DetailedIDNtupleTool.h.

◆ m_original_chi2prob

double InDet::DetailedIDNtupleTool::m_original_chi2prob = 0.0
private

Definition at line 102 of file DetailedIDNtupleTool.h.

◆ m_original_d0

double InDet::DetailedIDNtupleTool::m_original_d0 = 0.0
private

Definition at line 92 of file DetailedIDNtupleTool.h.

◆ m_original_err_d0

double InDet::DetailedIDNtupleTool::m_original_err_d0 = 0.0
private

Definition at line 104 of file DetailedIDNtupleTool.h.

◆ m_original_err_phi0

double InDet::DetailedIDNtupleTool::m_original_err_phi0 = 0.0
private

Definition at line 106 of file DetailedIDNtupleTool.h.

◆ m_original_err_qoverp

double InDet::DetailedIDNtupleTool::m_original_err_qoverp = 0.0
private

Definition at line 108 of file DetailedIDNtupleTool.h.

◆ m_original_err_theta

double InDet::DetailedIDNtupleTool::m_original_err_theta = 0.0
private

Definition at line 107 of file DetailedIDNtupleTool.h.

◆ m_original_err_z0

double InDet::DetailedIDNtupleTool::m_original_err_z0 = 0.0
private

Definition at line 105 of file DetailedIDNtupleTool.h.

◆ m_original_eta

double InDet::DetailedIDNtupleTool::m_original_eta = 0.0
private

Definition at line 99 of file DetailedIDNtupleTool.h.

◆ m_original_ndof

int InDet::DetailedIDNtupleTool::m_original_ndof = 0
private

Definition at line 101 of file DetailedIDNtupleTool.h.

◆ m_original_phi0

double InDet::DetailedIDNtupleTool::m_original_phi0 = 0.0
private

Definition at line 94 of file DetailedIDNtupleTool.h.

◆ m_original_pt

double InDet::DetailedIDNtupleTool::m_original_pt = 0.0
private

Definition at line 97 of file DetailedIDNtupleTool.h.

◆ m_original_qoverp

double InDet::DetailedIDNtupleTool::m_original_qoverp = 0.0
private

Definition at line 96 of file DetailedIDNtupleTool.h.

◆ m_original_theta

double InDet::DetailedIDNtupleTool::m_original_theta = 0.0
private

Definition at line 95 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_d0

double InDet::DetailedIDNtupleTool::m_original_toRef_d0 = 0.0
private

Definition at line 125 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_phi0

double InDet::DetailedIDNtupleTool::m_original_toRef_phi0 = 0.0
private

Definition at line 127 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_qoverp

double InDet::DetailedIDNtupleTool::m_original_toRef_qoverp = 0.0
private

Definition at line 129 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_theta

double InDet::DetailedIDNtupleTool::m_original_toRef_theta = 0.0
private

Definition at line 128 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_z0

double InDet::DetailedIDNtupleTool::m_original_toRef_z0 = 0.0
private

Definition at line 126 of file DetailedIDNtupleTool.h.

◆ m_original_xvtx

double InDet::DetailedIDNtupleTool::m_original_xvtx = 0.0
private

Definition at line 88 of file DetailedIDNtupleTool.h.

◆ m_original_yvtx

double InDet::DetailedIDNtupleTool::m_original_yvtx = 0.0
private

Definition at line 89 of file DetailedIDNtupleTool.h.

◆ m_original_z0

double InDet::DetailedIDNtupleTool::m_original_z0 = 0.0
private

Definition at line 93 of file DetailedIDNtupleTool.h.

◆ m_original_zvtx

double InDet::DetailedIDNtupleTool::m_original_zvtx = 0.0
private

Definition at line 90 of file DetailedIDNtupleTool.h.

◆ m_phi0

double InDet::DetailedIDNtupleTool::m_phi0 = 0.0
private

Definition at line 150 of file DetailedIDNtupleTool.h.

◆ m_pt

double InDet::DetailedIDNtupleTool::m_pt = 0.0
private

Definition at line 153 of file DetailedIDNtupleTool.h.

◆ m_qoverp

double InDet::DetailedIDNtupleTool::m_qoverp = 0.0
private

Definition at line 152 of file DetailedIDNtupleTool.h.

◆ m_runNumber

int InDet::DetailedIDNtupleTool::m_runNumber = 0
private

Definition at line 84 of file DetailedIDNtupleTool.h.

◆ m_storeConstrainedOnly

bool InDet::DetailedIDNtupleTool::m_storeConstrainedOnly
private

onlystore the AlignTrack which is normally refitted

Definition at line 70 of file DetailedIDNtupleTool.h.

◆ m_storeNormalRefittedOnly

bool InDet::DetailedIDNtupleTool::m_storeNormalRefittedOnly
private

only store the AlignTrack which is normally refitted

Definition at line 69 of file DetailedIDNtupleTool.h.

◆ m_storeTruth

bool InDet::DetailedIDNtupleTool::m_storeTruth
private

retrieve the truth information

Definition at line 71 of file DetailedIDNtupleTool.h.

◆ m_theta

double InDet::DetailedIDNtupleTool::m_theta = 0.0
private

Definition at line 151 of file DetailedIDNtupleTool.h.

◆ m_toRef_d0

double InDet::DetailedIDNtupleTool::m_toRef_d0 = 0.0
private

Definition at line 132 of file DetailedIDNtupleTool.h.

◆ m_toRef_phi0

double InDet::DetailedIDNtupleTool::m_toRef_phi0 = 0.0
private

Definition at line 134 of file DetailedIDNtupleTool.h.

◆ m_toRef_qoverp

double InDet::DetailedIDNtupleTool::m_toRef_qoverp = 0.0
private

Definition at line 136 of file DetailedIDNtupleTool.h.

◆ m_toRef_theta

double InDet::DetailedIDNtupleTool::m_toRef_theta = 0.0
private

Definition at line 135 of file DetailedIDNtupleTool.h.

◆ m_toRef_z0

double InDet::DetailedIDNtupleTool::m_toRef_z0 = 0.0
private

Definition at line 133 of file DetailedIDNtupleTool.h.

◆ m_trackCollection

std::string InDet::DetailedIDNtupleTool::m_trackCollection
private

Definition at line 80 of file DetailedIDNtupleTool.h.

◆ m_tracksTruthName

std::string InDet::DetailedIDNtupleTool::m_tracksTruthName
private

Definition at line 81 of file DetailedIDNtupleTool.h.

◆ m_trackSumTool

ToolHandle<Trk::ITrackSummaryTool> InDet::DetailedIDNtupleTool::m_trackSumTool
private

Pointer to track summary tool.

Definition at line 62 of file DetailedIDNtupleTool.h.

◆ m_tree

TTree* InDet::DetailedIDNtupleTool::m_tree
private

Definition at line 75 of file DetailedIDNtupleTool.h.

◆ m_truth_charge

double InDet::DetailedIDNtupleTool::m_truth_charge = 0.0
private

Definition at line 119 of file DetailedIDNtupleTool.h.

◆ m_truth_d0

double InDet::DetailedIDNtupleTool::m_truth_d0 = 0.0
private

Definition at line 111 of file DetailedIDNtupleTool.h.

◆ m_truth_eta

double InDet::DetailedIDNtupleTool::m_truth_eta = 0.0
private

Definition at line 115 of file DetailedIDNtupleTool.h.

◆ m_truth_phi0

double InDet::DetailedIDNtupleTool::m_truth_phi0 = 0.0
private

Definition at line 113 of file DetailedIDNtupleTool.h.

◆ m_truth_prod_x

double InDet::DetailedIDNtupleTool::m_truth_prod_x = 0.0
private

Definition at line 120 of file DetailedIDNtupleTool.h.

◆ m_truth_prod_y

double InDet::DetailedIDNtupleTool::m_truth_prod_y = 0.0
private

Definition at line 121 of file DetailedIDNtupleTool.h.

◆ m_truth_prod_z

double InDet::DetailedIDNtupleTool::m_truth_prod_z = 0.0
private

Definition at line 122 of file DetailedIDNtupleTool.h.

◆ m_truth_pt

double InDet::DetailedIDNtupleTool::m_truth_pt = 0.0
private

Definition at line 116 of file DetailedIDNtupleTool.h.

◆ m_truth_qoverp

double InDet::DetailedIDNtupleTool::m_truth_qoverp = 0.0
private

Definition at line 117 of file DetailedIDNtupleTool.h.

◆ m_truth_qoverpt

double InDet::DetailedIDNtupleTool::m_truth_qoverpt = 0.0
private

Definition at line 118 of file DetailedIDNtupleTool.h.

◆ m_truth_theta

double InDet::DetailedIDNtupleTool::m_truth_theta = 0.0
private

Definition at line 114 of file DetailedIDNtupleTool.h.

◆ m_truth_z0

double InDet::DetailedIDNtupleTool::m_truth_z0 = 0.0
private

Definition at line 112 of file DetailedIDNtupleTool.h.

◆ m_truthToTrack

PublicToolHandle<Trk::ITruthToTrack> InDet::DetailedIDNtupleTool::m_truthToTrack {this,"TruthToTrack","Trk::TruthToTrack/InDetTruthToTrack",""}
private

the truth to track Tool

Definition at line 64 of file DetailedIDNtupleTool.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.

◆ m_xvtx

double InDet::DetailedIDNtupleTool::m_xvtx = 0.0
private

Definition at line 145 of file DetailedIDNtupleTool.h.

◆ m_yvtx

double InDet::DetailedIDNtupleTool::m_yvtx = 0.0
private

Definition at line 146 of file DetailedIDNtupleTool.h.

◆ m_z0

double InDet::DetailedIDNtupleTool::m_z0 = 0.0
private

Definition at line 149 of file DetailedIDNtupleTool.h.

◆ m_zvtx

double InDet::DetailedIDNtupleTool::m_zvtx = 0.0
private

Definition at line 147 of file DetailedIDNtupleTool.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
InDet::DetailedIDNtupleTool::m_storeConstrainedOnly
bool m_storeConstrainedOnly
onlystore the AlignTrack which is normally refitted
Definition: DetailedIDNtupleTool.h:70
InDet::DetailedIDNtupleTool::m_original_chi2prob
double m_original_chi2prob
Definition: DetailedIDNtupleTool.h:102
InDet::DetailedIDNtupleTool::m_original_err_z0
double m_original_err_z0
Definition: DetailedIDNtupleTool.h:105
Trk::TrackStateOnSurface::Perigee
@ Perigee
This represents a perigee, and so will contain a Perigee object only.
Definition: TrackStateOnSurface.h:117
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
Trk::Track::fitQuality
const FitQuality * fitQuality() const
return a pointer to the fit quality const-overload
InDet::DetailedIDNtupleTool::m_filepath
std::string m_filepath
path to ntuple file
Definition: DetailedIDNtupleTool.h:78
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::PerigeeSurface
Definition: PerigeeSurface.h:43
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
InDet::DetailedIDNtupleTool::m_theta
double m_theta
Definition: DetailedIDNtupleTool.h:151
InDet::DetailedIDNtupleTool::m_chi2prob
double m_chi2prob
Definition: DetailedIDNtupleTool.h:157
InDet::DetailedIDNtupleTool::m_original_ndof
int m_original_ndof
Definition: DetailedIDNtupleTool.h:101
InDet::DetailedIDNtupleTool::m_original_pt
double m_original_pt
Definition: DetailedIDNtupleTool.h:97
Trk::IFillNtupleTool::m_logStream
std::ostream * m_logStream
logfile output stream
Definition: IFillNtupleTool.h:76
InDet::DetailedIDNtupleTool::m_storeTruth
bool m_storeTruth
retrieve the truth information
Definition: DetailedIDNtupleTool.h:71
InDet::DetailedIDNtupleTool::m_original_d0
double m_original_d0
Definition: DetailedIDNtupleTool.h:92
M_PI
#define M_PI
Definition: ActiveFraction.h:11
InDet::DetailedIDNtupleTool::m_original_yvtx
double m_original_yvtx
Definition: DetailedIDNtupleTool.h:89
InDet::DetailedIDNtupleTool::m_original_err_d0
double m_original_err_d0
Definition: DetailedIDNtupleTool.h:104
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
InDet::DetailedIDNtupleTool::m_chi2
double m_chi2
Definition: DetailedIDNtupleTool.h:155
InDet::DetailedIDNtupleTool::m_pt
double m_pt
Definition: DetailedIDNtupleTool.h:153
Trk::z0
@ z0
Definition: ParamDefs.h:64
InDet::DetailedIDNtupleTool::m_runNumber
int m_runNumber
Definition: DetailedIDNtupleTool.h:84
InDet::DetailedIDNtupleTool::m_truth_charge
double m_truth_charge
Definition: DetailedIDNtupleTool.h:119
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
Trk::AlignTrack::AlignTrackType
AlignTrackType
Definition: AlignTrack.h:45
InDet::DetailedIDNtupleTool::m_truth_prod_y
double m_truth_prod_y
Definition: DetailedIDNtupleTool.h:121
Trk::Surface::center
const Amg::Vector3D & center() const
Returns the center position of the Surface.
InDet::DetailedIDNtupleTool::m_original_qoverp
double m_original_qoverp
Definition: DetailedIDNtupleTool.h:96
AmgSymMatrix
#define AmgSymMatrix(dim)
Definition: EventPrimitives.h:50
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
InDet::DetailedIDNtupleTool::m_truth_z0
double m_truth_z0
Definition: DetailedIDNtupleTool.h:112
InDet::DetailedIDNtupleTool::m_truth_eta
double m_truth_eta
Definition: DetailedIDNtupleTool.h:115
InDet::DetailedIDNtupleTool::m_original_zvtx
double m_original_zvtx
Definition: DetailedIDNtupleTool.h:90
Trk::ParametersT::associatedSurface
virtual const S & associatedSurface() const override final
Access to the Surface method.
AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore
ServiceHandle< StoreGateSvc > & evtStore()
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:85
InDet::DetailedIDNtupleTool::m_err_theta
double m_err_theta
Definition: DetailedIDNtupleTool.h:142
InDet::DetailedIDNtupleTool::m_truth_pt
double m_truth_pt
Definition: DetailedIDNtupleTool.h:116
InDet::DetailedIDNtupleTool::m_filename
std::string m_filename
name of ntuple file
Definition: DetailedIDNtupleTool.h:77
InDet::DetailedIDNtupleTool::m_err_phi0
double m_err_phi0
Definition: DetailedIDNtupleTool.h:141
TrackTruthCollection
Definition: TrackTruthCollection.h:21
InDet::DetailedIDNtupleTool::m_qoverp
double m_qoverp
Definition: DetailedIDNtupleTool.h:152
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
InDet::DetailedIDNtupleTool::m_truth_phi0
double m_truth_phi0
Definition: DetailedIDNtupleTool.h:113
InDet::DetailedIDNtupleTool::m_original_toRef_phi0
double m_original_toRef_phi0
Definition: DetailedIDNtupleTool.h:127
AthCommonDataStore
Definition: AthCommonDataStore.h:52
InDet::DetailedIDNtupleTool::m_xvtx
double m_xvtx
Definition: DetailedIDNtupleTool.h:145
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
Trk::AlignTrack::BeamspotConstrained
@ BeamspotConstrained
refitted with beamspot constraint
Definition: AlignTrack.h:49
InDet::DetailedIDNtupleTool::m_original_toRef_z0
double m_original_toRef_z0
Definition: DetailedIDNtupleTool.h:126
InDet::DetailedIDNtupleTool::m_original_err_theta
double m_original_err_theta
Definition: DetailedIDNtupleTool.h:107
lumiFormat.i
int i
Definition: lumiFormat.py:85
InDet::DetailedIDNtupleTool::m_extrapolator
PublicToolHandle< Trk::IExtrapolator > m_extrapolator
track extrapolator
Definition: DetailedIDNtupleTool.h:67
Trk::theta
@ theta
Definition: ParamDefs.h:66
InDet::DetailedIDNtupleTool::m_toRef_d0
double m_toRef_d0
Definition: DetailedIDNtupleTool.h:132
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
InDet::DetailedIDNtupleTool::m_err_z0
double m_err_z0
Definition: DetailedIDNtupleTool.h:140
master.flag
bool flag
Definition: master.py:29
InDet::DetailedIDNtupleTool::m_file
TFile * m_file
Definition: DetailedIDNtupleTool.h:74
InDet::DetailedIDNtupleTool::m_err_d0
double m_err_d0
Definition: DetailedIDNtupleTool.h:139
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDet::DetailedIDNtupleTool::m_original_chi2
double m_original_chi2
Definition: DetailedIDNtupleTool.h:100
InDet::DetailedIDNtupleTool::m_phi0
double m_phi0
Definition: DetailedIDNtupleTool.h:150
InDet::DetailedIDNtupleTool::retrieveTruthInfo
bool retrieveTruthInfo(const Trk::AlignTrack *trk)
Definition: DetailedIDNtupleTool.cxx:350
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
InDet::DetailedIDNtupleTool::m_original_phi0
double m_original_phi0
Definition: DetailedIDNtupleTool.h:94
InDet::DetailedIDNtupleTool::m_storeNormalRefittedOnly
bool m_storeNormalRefittedOnly
only store the AlignTrack which is normally refitted
Definition: DetailedIDNtupleTool.h:69
drawFromPickle.tan
tan
Definition: drawFromPickle.py:36
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::ParametersBase
Definition: ParametersBase.h:55
InDet::DetailedIDNtupleTool::m_err_qoverp
double m_err_qoverp
Definition: DetailedIDNtupleTool.h:143
DataVector< Trk::Track >
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
InDet::DetailedIDNtupleTool::m_yvtx
double m_yvtx
Definition: DetailedIDNtupleTool.h:146
TrackTruth::particleLink
const HepMcParticleLink & particleLink() const
Definition: TrackTruth.h:26
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
Trk::VertexOnTrack
Definition: VertexOnTrack.h:45
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
InDet::DetailedIDNtupleTool::m_original_err_phi0
double m_original_err_phi0
Definition: DetailedIDNtupleTool.h:106
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
Trk::MeasurementBase
Definition: MeasurementBase.h:58
Trk::Track::perigeeParameters
const Perigee * perigeeParameters() const
return Perigee.
Definition: Tracking/TrkEvent/TrkTrack/src/Track.cxx:163
HepMC::ConstGenParticlePtr
const GenParticle * ConstGenParticlePtr
Definition: GenParticle.h:38
InDet::DetailedIDNtupleTool::m_zvtx
double m_zvtx
Definition: DetailedIDNtupleTool.h:147
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
InDet::DetailedIDNtupleTool::m_original_toRef_d0
double m_original_toRef_d0
Definition: DetailedIDNtupleTool.h:125
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
Trk::MeasurementBase::associatedSurface
virtual const Surface & associatedSurface() const =0
Interface method to get the associated Surface.
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
InDet::DetailedIDNtupleTool::m_truth_qoverpt
double m_truth_qoverpt
Definition: DetailedIDNtupleTool.h:118
InDet::DetailedIDNtupleTool::m_original_toRef_theta
double m_original_toRef_theta
Definition: DetailedIDNtupleTool.h:128
checkTriggerxAOD.found
found
Definition: checkTriggerxAOD.py:328
InDet::DetailedIDNtupleTool::m_original_z0
double m_original_z0
Definition: DetailedIDNtupleTool.h:93
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::AlignTrack::originalTrack
const Track * originalTrack() const
retrieve pointer to original track
Definition: AlignTrack.h:90
columnar::ContainerId::eventInfo
@ eventInfo
InDet::DetailedIDNtupleTool::m_eta
double m_eta
Definition: DetailedIDNtupleTool.h:154
xAOD::EventInfo_v1
Class describing the basic event information.
Definition: EventInfo_v1.h:43
InDet::DetailedIDNtupleTool::m_toRef_z0
double m_toRef_z0
Definition: DetailedIDNtupleTool.h:133
InDet::DetailedIDNtupleTool::m_truth_theta
double m_truth_theta
Definition: DetailedIDNtupleTool.h:114
Trk::Track::measurementsOnTrack
const DataVector< const MeasurementBase > * measurementsOnTrack() const
return a pointer to a vector of MeasurementBase (NOT including any that come from outliers).
Definition: Tracking/TrkEvent/TrkTrack/src/Track.cxx:178
TrackTruth
MC particle associated with a reco track + the quality of match.
Definition: TrackTruth.h:14
a
TList * a
Definition: liststreamerinfos.cxx:10
InDet::DetailedIDNtupleTool::m_tree
TTree * m_tree
Definition: DetailedIDNtupleTool.h:75
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
Trk::AlignTrack::NormalRefitted
@ NormalRefitted
normally refitted, without adding any pseudo-measurement
Definition: AlignTrack.h:48
InDet::DetailedIDNtupleTool::m_alignModuleTool
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
Pointer to AlignmModuleTool.
Definition: DetailedIDNtupleTool.h:63
InDet::DetailedIDNtupleTool::m_original_eta
double m_original_eta
Definition: DetailedIDNtupleTool.h:99
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:67
python.CaloCondTools.log
log
Definition: CaloCondTools.py:20
InDet::DetailedIDNtupleTool::m_truthToTrack
PublicToolHandle< Trk::ITruthToTrack > m_truthToTrack
the truth to track Tool
Definition: DetailedIDNtupleTool.h:65
InDet::DetailedIDNtupleTool::m_toRef_phi0
double m_toRef_phi0
Definition: DetailedIDNtupleTool.h:134
InDet::DetailedIDNtupleTool::m_d0
double m_d0
Definition: DetailedIDNtupleTool.h:148
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
InDet::DetailedIDNtupleTool::m_truth_prod_x
double m_truth_prod_x
Definition: DetailedIDNtupleTool.h:120
Trk::ParametersBase::eta
double eta() const
Access method for pseudorapidity - from momentum.
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
InDet::DetailedIDNtupleTool::m_truth_prod_z
double m_truth_prod_z
Definition: DetailedIDNtupleTool.h:122
InDet::DetailedIDNtupleTool::m_original_xvtx
double m_original_xvtx
Definition: DetailedIDNtupleTool.h:88
InDet::DetailedIDNtupleTool::initializeNtuple
void initializeNtuple()
Definition: DetailedIDNtupleTool.cxx:475
InDet::DetailedIDNtupleTool::m_truth_qoverp
double m_truth_qoverp
Definition: DetailedIDNtupleTool.h:117
InDet::DetailedIDNtupleTool::m_evtNumber
int m_evtNumber
Definition: DetailedIDNtupleTool.h:85
InDet::DetailedIDNtupleTool::m_trackCollection
std::string m_trackCollection
Definition: DetailedIDNtupleTool.h:80
InDet::DetailedIDNtupleTool::m_original_theta
double m_original_theta
Definition: DetailedIDNtupleTool.h:95
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
InDet::DetailedIDNtupleTool::m_matchProbability
double m_matchProbability
the probabililty cut in the truth matching
Definition: DetailedIDNtupleTool.h:72
InDet::DetailedIDNtupleTool::m_trackSumTool
ToolHandle< Trk::ITrackSummaryTool > m_trackSumTool
Pointer to track summary tool.
Definition: DetailedIDNtupleTool.h:62
InDet::DetailedIDNtupleTool::m_original_toRef_qoverp
double m_original_toRef_qoverp
Definition: DetailedIDNtupleTool.h:129
InDet::DetailedIDNtupleTool::m_z0
double m_z0
Definition: DetailedIDNtupleTool.h:149
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
Trk::ParametersT::clone
virtual ParametersT< DIM, T, S > * clone() const override final
Virtual clone.
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
InDet::DetailedIDNtupleTool::m_tracksTruthName
std::string m_tracksTruthName
Definition: DetailedIDNtupleTool.h:81
InDet::DetailedIDNtupleTool::m_original_err_qoverp
double m_original_err_qoverp
Definition: DetailedIDNtupleTool.h:108
InDet::DetailedIDNtupleTool::m_toRef_theta
double m_toRef_theta
Definition: DetailedIDNtupleTool.h:135
InDet::DetailedIDNtupleTool::m_truth_d0
double m_truth_d0
Definition: DetailedIDNtupleTool.h:111
Trk::phi0
@ phi0
Definition: ParamDefs.h:65
InDet::DetailedIDNtupleTool::m_toRef_qoverp
double m_toRef_qoverp
Definition: DetailedIDNtupleTool.h:136
fitman.k
k
Definition: fitman.py:528
GenParticle
@ GenParticle
Definition: TruthClasses.h:30
Trk::AlignTrack::type
AlignTrackType type() const
get and set the refit type
Definition: AlignTrack.h:96
InDet::DetailedIDNtupleTool::m_ndof
int m_ndof
Definition: DetailedIDNtupleTool.h:156