ATLAS Offline Software
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 ()
 
StatusCode initialize ()
 
StatusCode finalize ()
 
void dumpTrack (int itrk, const Trk::AlignTrack *alignTrack)
 fills track information to ntuple More...
 
void storeHitmap ()
 stores hitmap for writing to ntuple More...
 
void fillHitmap ()
 fills ntuple with hit information More...
 
void fillSummary ()
 fills ntuple with event and track summary information More...
 
void showStatistics ()
 write statistics out to log file More...
 
void setNtuple (TFile *ntuple)
 sets the output stream for the logfile More...
 
StatusCode fillNtuple ()
 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 46 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 39 of file DetailedIDNtupleTool.cxx.

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

◆ ~DetailedIDNtupleTool()

InDet::DetailedIDNtupleTool::~DetailedIDNtupleTool ( )
virtual

Definition at line 67 of file DetailedIDNtupleTool.cxx.

67  {
68  }

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 
)
virtual

fills track information to ntuple

if match truth fail, return directly

Implements Trk::IFillNtupleTool.

Definition at line 107 of file DetailedIDNtupleTool.cxx.

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

◆ 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 ( )
virtual

fills ntuple with hit information

Implements Trk::IFillNtupleTool.

Definition at line 467 of file DetailedIDNtupleTool.cxx.

467  {
468  }

◆ fillNtuple()

StatusCode InDet::DetailedIDNtupleTool::fillNtuple ( )
virtual

writes trees and histograms to ntuple

Implements Trk::IFillNtupleTool.

Definition at line 92 of file DetailedIDNtupleTool.cxx.

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

◆ fillSummary()

void InDet::DetailedIDNtupleTool::fillSummary ( )
virtual

fills ntuple with event and track summary information

Implements Trk::IFillNtupleTool.

Definition at line 470 of file DetailedIDNtupleTool.cxx.

470  {
471  }

◆ finalize()

StatusCode InDet::DetailedIDNtupleTool::finalize ( )
virtual

Implements Trk::IFillNtupleTool.

Definition at line 101 of file DetailedIDNtupleTool.cxx.

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

◆ initialize()

StatusCode InDet::DetailedIDNtupleTool::initialize ( )
virtual

Implements Trk::IFillNtupleTool.

Definition at line 71 of file DetailedIDNtupleTool.cxx.

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

◆ initializeNtuple()

void InDet::DetailedIDNtupleTool::initializeNtuple ( )
private

Definition at line 478 of file DetailedIDNtupleTool.cxx.

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

◆ 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 448 of file DetailedIDNtupleTool.cxx.

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

◆ 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 351 of file DetailedIDNtupleTool.cxx.

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

◆ 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()

void InDet::DetailedIDNtupleTool::setNtuple ( TFile *  ntuple)
inlinevirtual

sets the output stream for the logfile

Implements Trk::IFillNtupleTool.

Definition at line 65 of file DetailedIDNtupleTool.h.

65 { m_file=ntuple; }

◆ showStatistics()

void InDet::DetailedIDNtupleTool::showStatistics ( )
virtual

write statistics out to log file

Implements Trk::IFillNtupleTool.

Definition at line 474 of file DetailedIDNtupleTool.cxx.

474  {
475  }

◆ storeHitmap()

void InDet::DetailedIDNtupleTool::storeHitmap ( )
virtual

stores hitmap for writing to ntuple

Implements Trk::IFillNtupleTool.

Definition at line 463 of file DetailedIDNtupleTool.cxx.

463  {
464  }

◆ 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 75 of file DetailedIDNtupleTool.h.

◆ m_chi2

double InDet::DetailedIDNtupleTool::m_chi2 = 0.0
private

Definition at line 169 of file DetailedIDNtupleTool.h.

◆ m_chi2prob

double InDet::DetailedIDNtupleTool::m_chi2prob = 0.0
private

Definition at line 171 of file DetailedIDNtupleTool.h.

◆ m_d0

double InDet::DetailedIDNtupleTool::m_d0 = 0.0
private

Definition at line 162 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 153 of file DetailedIDNtupleTool.h.

◆ m_err_phi0

double InDet::DetailedIDNtupleTool::m_err_phi0 = 0.0
private

Definition at line 155 of file DetailedIDNtupleTool.h.

◆ m_err_qoverp

double InDet::DetailedIDNtupleTool::m_err_qoverp = 0.0
private

Definition at line 157 of file DetailedIDNtupleTool.h.

◆ m_err_theta

double InDet::DetailedIDNtupleTool::m_err_theta = 0.0
private

Definition at line 156 of file DetailedIDNtupleTool.h.

◆ m_err_z0

double InDet::DetailedIDNtupleTool::m_err_z0 = 0.0
private

Definition at line 154 of file DetailedIDNtupleTool.h.

◆ m_eta

double InDet::DetailedIDNtupleTool::m_eta = 0.0
private

Definition at line 168 of file DetailedIDNtupleTool.h.

◆ m_evtNumber

int InDet::DetailedIDNtupleTool::m_evtNumber = 0
private

Definition at line 98 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 78 of file DetailedIDNtupleTool.h.

◆ m_file

TFile* InDet::DetailedIDNtupleTool::m_file
private

Definition at line 86 of file DetailedIDNtupleTool.h.

◆ m_filename

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

name of ntuple file

Definition at line 89 of file DetailedIDNtupleTool.h.

◆ m_filepath

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

path to ntuple file

Definition at line 90 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 84 of file DetailedIDNtupleTool.h.

◆ m_ndof

int InDet::DetailedIDNtupleTool::m_ndof = 0
private

Definition at line 170 of file DetailedIDNtupleTool.h.

◆ m_original_chi2

double InDet::DetailedIDNtupleTool::m_original_chi2 = 0.0
private

Definition at line 114 of file DetailedIDNtupleTool.h.

◆ m_original_chi2prob

double InDet::DetailedIDNtupleTool::m_original_chi2prob = 0.0
private

Definition at line 116 of file DetailedIDNtupleTool.h.

◆ m_original_d0

double InDet::DetailedIDNtupleTool::m_original_d0 = 0.0
private

Definition at line 106 of file DetailedIDNtupleTool.h.

◆ m_original_err_d0

double InDet::DetailedIDNtupleTool::m_original_err_d0 = 0.0
private

Definition at line 118 of file DetailedIDNtupleTool.h.

◆ m_original_err_phi0

double InDet::DetailedIDNtupleTool::m_original_err_phi0 = 0.0
private

Definition at line 120 of file DetailedIDNtupleTool.h.

◆ m_original_err_qoverp

double InDet::DetailedIDNtupleTool::m_original_err_qoverp = 0.0
private

Definition at line 122 of file DetailedIDNtupleTool.h.

◆ m_original_err_theta

double InDet::DetailedIDNtupleTool::m_original_err_theta = 0.0
private

Definition at line 121 of file DetailedIDNtupleTool.h.

◆ m_original_err_z0

double InDet::DetailedIDNtupleTool::m_original_err_z0 = 0.0
private

Definition at line 119 of file DetailedIDNtupleTool.h.

◆ m_original_eta

double InDet::DetailedIDNtupleTool::m_original_eta = 0.0
private

Definition at line 113 of file DetailedIDNtupleTool.h.

◆ m_original_ndof

int InDet::DetailedIDNtupleTool::m_original_ndof = 0
private

Definition at line 115 of file DetailedIDNtupleTool.h.

◆ m_original_phi0

double InDet::DetailedIDNtupleTool::m_original_phi0 = 0.0
private

Definition at line 108 of file DetailedIDNtupleTool.h.

◆ m_original_pt

double InDet::DetailedIDNtupleTool::m_original_pt = 0.0
private

Definition at line 111 of file DetailedIDNtupleTool.h.

◆ m_original_qoverp

double InDet::DetailedIDNtupleTool::m_original_qoverp = 0.0
private

Definition at line 110 of file DetailedIDNtupleTool.h.

◆ m_original_theta

double InDet::DetailedIDNtupleTool::m_original_theta = 0.0
private

Definition at line 109 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_d0

double InDet::DetailedIDNtupleTool::m_original_toRef_d0 = 0.0
private

Definition at line 139 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_phi0

double InDet::DetailedIDNtupleTool::m_original_toRef_phi0 = 0.0
private

Definition at line 141 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_qoverp

double InDet::DetailedIDNtupleTool::m_original_toRef_qoverp = 0.0
private

Definition at line 143 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_theta

double InDet::DetailedIDNtupleTool::m_original_toRef_theta = 0.0
private

Definition at line 142 of file DetailedIDNtupleTool.h.

◆ m_original_toRef_z0

double InDet::DetailedIDNtupleTool::m_original_toRef_z0 = 0.0
private

Definition at line 140 of file DetailedIDNtupleTool.h.

◆ m_original_xvtx

double InDet::DetailedIDNtupleTool::m_original_xvtx = 0.0
private

Definition at line 102 of file DetailedIDNtupleTool.h.

◆ m_original_yvtx

double InDet::DetailedIDNtupleTool::m_original_yvtx = 0.0
private

Definition at line 103 of file DetailedIDNtupleTool.h.

◆ m_original_z0

double InDet::DetailedIDNtupleTool::m_original_z0 = 0.0
private

Definition at line 107 of file DetailedIDNtupleTool.h.

◆ m_original_zvtx

double InDet::DetailedIDNtupleTool::m_original_zvtx = 0.0
private

Definition at line 104 of file DetailedIDNtupleTool.h.

◆ m_phi0

double InDet::DetailedIDNtupleTool::m_phi0 = 0.0
private

Definition at line 164 of file DetailedIDNtupleTool.h.

◆ m_pt

double InDet::DetailedIDNtupleTool::m_pt = 0.0
private

Definition at line 167 of file DetailedIDNtupleTool.h.

◆ m_qoverp

double InDet::DetailedIDNtupleTool::m_qoverp = 0.0
private

Definition at line 166 of file DetailedIDNtupleTool.h.

◆ m_runNumber

int InDet::DetailedIDNtupleTool::m_runNumber = 0
private

Definition at line 97 of file DetailedIDNtupleTool.h.

◆ m_storeConstrainedOnly

bool InDet::DetailedIDNtupleTool::m_storeConstrainedOnly
private

onlystore the AlignTrack which is normally refitted

Definition at line 82 of file DetailedIDNtupleTool.h.

◆ m_storeNormalRefittedOnly

bool InDet::DetailedIDNtupleTool::m_storeNormalRefittedOnly
private

only store the AlignTrack which is normally refitted

Definition at line 81 of file DetailedIDNtupleTool.h.

◆ m_storeTruth

bool InDet::DetailedIDNtupleTool::m_storeTruth
private

retrieve the truth information

Definition at line 83 of file DetailedIDNtupleTool.h.

◆ m_theta

double InDet::DetailedIDNtupleTool::m_theta = 0.0
private

Definition at line 165 of file DetailedIDNtupleTool.h.

◆ m_toRef_d0

double InDet::DetailedIDNtupleTool::m_toRef_d0 = 0.0
private

Definition at line 146 of file DetailedIDNtupleTool.h.

◆ m_toRef_phi0

double InDet::DetailedIDNtupleTool::m_toRef_phi0 = 0.0
private

Definition at line 148 of file DetailedIDNtupleTool.h.

◆ m_toRef_qoverp

double InDet::DetailedIDNtupleTool::m_toRef_qoverp = 0.0
private

Definition at line 150 of file DetailedIDNtupleTool.h.

◆ m_toRef_theta

double InDet::DetailedIDNtupleTool::m_toRef_theta = 0.0
private

Definition at line 149 of file DetailedIDNtupleTool.h.

◆ m_toRef_z0

double InDet::DetailedIDNtupleTool::m_toRef_z0 = 0.0
private

Definition at line 147 of file DetailedIDNtupleTool.h.

◆ m_trackCollection

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

Definition at line 92 of file DetailedIDNtupleTool.h.

◆ m_tracksTruthName

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

Definition at line 93 of file DetailedIDNtupleTool.h.

◆ m_trackSumTool

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

Pointer to track summary tool.

Definition at line 74 of file DetailedIDNtupleTool.h.

◆ m_tree

TTree* InDet::DetailedIDNtupleTool::m_tree
private

Definition at line 87 of file DetailedIDNtupleTool.h.

◆ m_truth_charge

double InDet::DetailedIDNtupleTool::m_truth_charge = 0.0
private

Definition at line 133 of file DetailedIDNtupleTool.h.

◆ m_truth_d0

double InDet::DetailedIDNtupleTool::m_truth_d0 = 0.0
private

Definition at line 125 of file DetailedIDNtupleTool.h.

◆ m_truth_eta

double InDet::DetailedIDNtupleTool::m_truth_eta = 0.0
private

Definition at line 129 of file DetailedIDNtupleTool.h.

◆ m_truth_phi0

double InDet::DetailedIDNtupleTool::m_truth_phi0 = 0.0
private

Definition at line 127 of file DetailedIDNtupleTool.h.

◆ m_truth_prod_x

double InDet::DetailedIDNtupleTool::m_truth_prod_x = 0.0
private

Definition at line 134 of file DetailedIDNtupleTool.h.

◆ m_truth_prod_y

double InDet::DetailedIDNtupleTool::m_truth_prod_y = 0.0
private

Definition at line 135 of file DetailedIDNtupleTool.h.

◆ m_truth_prod_z

double InDet::DetailedIDNtupleTool::m_truth_prod_z = 0.0
private

Definition at line 136 of file DetailedIDNtupleTool.h.

◆ m_truth_pt

double InDet::DetailedIDNtupleTool::m_truth_pt = 0.0
private

Definition at line 130 of file DetailedIDNtupleTool.h.

◆ m_truth_qoverp

double InDet::DetailedIDNtupleTool::m_truth_qoverp = 0.0
private

Definition at line 131 of file DetailedIDNtupleTool.h.

◆ m_truth_qoverpt

double InDet::DetailedIDNtupleTool::m_truth_qoverpt = 0.0
private

Definition at line 132 of file DetailedIDNtupleTool.h.

◆ m_truth_theta

double InDet::DetailedIDNtupleTool::m_truth_theta = 0.0
private

Definition at line 128 of file DetailedIDNtupleTool.h.

◆ m_truth_z0

double InDet::DetailedIDNtupleTool::m_truth_z0 = 0.0
private

Definition at line 126 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 76 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 159 of file DetailedIDNtupleTool.h.

◆ m_yvtx

double InDet::DetailedIDNtupleTool::m_yvtx = 0.0
private

Definition at line 160 of file DetailedIDNtupleTool.h.

◆ m_z0

double InDet::DetailedIDNtupleTool::m_z0 = 0.0
private

Definition at line 163 of file DetailedIDNtupleTool.h.

◆ m_zvtx

double InDet::DetailedIDNtupleTool::m_zvtx = 0.0
private

Definition at line 161 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:82
InDet::DetailedIDNtupleTool::m_original_chi2prob
double m_original_chi2prob
Definition: DetailedIDNtupleTool.h:116
InDet::DetailedIDNtupleTool::m_original_err_z0
double m_original_err_z0
Definition: DetailedIDNtupleTool.h:119
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:90
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::EventInfo_v1::eventNumber
uint64_t eventNumber() const
The current event's event number.
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:165
InDet::DetailedIDNtupleTool::m_chi2prob
double m_chi2prob
Definition: DetailedIDNtupleTool.h:171
InDet::DetailedIDNtupleTool::m_original_ndof
int m_original_ndof
Definition: DetailedIDNtupleTool.h:115
InDet::DetailedIDNtupleTool::m_original_pt
double m_original_pt
Definition: DetailedIDNtupleTool.h:111
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:83
InDet::DetailedIDNtupleTool::m_original_d0
double m_original_d0
Definition: DetailedIDNtupleTool.h:106
M_PI
#define M_PI
Definition: ActiveFraction.h:11
InDet::DetailedIDNtupleTool::m_original_yvtx
double m_original_yvtx
Definition: DetailedIDNtupleTool.h:103
InDet::DetailedIDNtupleTool::m_original_err_d0
double m_original_err_d0
Definition: DetailedIDNtupleTool.h:118
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:169
InDet::DetailedIDNtupleTool::m_pt
double m_pt
Definition: DetailedIDNtupleTool.h:167
Trk::z0
@ z0
Definition: ParamDefs.h:70
InDet::DetailedIDNtupleTool::m_runNumber
int m_runNumber
Definition: DetailedIDNtupleTool.h:97
InDet::DetailedIDNtupleTool::m_truth_charge
double m_truth_charge
Definition: DetailedIDNtupleTool.h:133
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:135
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:110
AmgSymMatrix
#define AmgSymMatrix(dim)
Definition: EventPrimitives.h:52
xAOD::EventInfo_v1::runNumber
uint32_t runNumber() const
The current event's run number.
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
InDet::DetailedIDNtupleTool::m_truth_z0
double m_truth_z0
Definition: DetailedIDNtupleTool.h:126
InDet::DetailedIDNtupleTool::m_truth_eta
double m_truth_eta
Definition: DetailedIDNtupleTool.h:129
InDet::DetailedIDNtupleTool::m_original_zvtx
double m_original_zvtx
Definition: DetailedIDNtupleTool.h:104
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:156
InDet::DetailedIDNtupleTool::m_truth_pt
double m_truth_pt
Definition: DetailedIDNtupleTool.h:130
InDet::DetailedIDNtupleTool::m_filename
std::string m_filename
name of ntuple file
Definition: DetailedIDNtupleTool.h:89
InDet::DetailedIDNtupleTool::m_err_phi0
double m_err_phi0
Definition: DetailedIDNtupleTool.h:155
TrackTruthCollection
Definition: TrackTruthCollection.h:21
InDet::DetailedIDNtupleTool::m_qoverp
double m_qoverp
Definition: DetailedIDNtupleTool.h:166
InDet::DetailedIDNtupleTool::m_truth_phi0
double m_truth_phi0
Definition: DetailedIDNtupleTool.h:127
InDet::DetailedIDNtupleTool::m_original_toRef_phi0
double m_original_toRef_phi0
Definition: DetailedIDNtupleTool.h:141
AthCommonDataStore
Definition: AthCommonDataStore.h:52
InDet::DetailedIDNtupleTool::m_xvtx
double m_xvtx
Definition: DetailedIDNtupleTool.h:159
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:140
InDet::DetailedIDNtupleTool::m_original_err_theta
double m_original_err_theta
Definition: DetailedIDNtupleTool.h:121
lumiFormat.i
int i
Definition: lumiFormat.py:92
InDet::DetailedIDNtupleTool::m_extrapolator
PublicToolHandle< Trk::IExtrapolator > m_extrapolator
track extrapolator
Definition: DetailedIDNtupleTool.h:79
Trk::theta
@ theta
Definition: ParamDefs.h:72
InDet::DetailedIDNtupleTool::m_toRef_d0
double m_toRef_d0
Definition: DetailedIDNtupleTool.h:146
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
InDet::DetailedIDNtupleTool::m_err_z0
double m_err_z0
Definition: DetailedIDNtupleTool.h:154
master.flag
bool flag
Definition: master.py:29
InDet::DetailedIDNtupleTool::m_file
TFile * m_file
Definition: DetailedIDNtupleTool.h:86
InDet::DetailedIDNtupleTool::m_err_d0
double m_err_d0
Definition: DetailedIDNtupleTool.h:153
test_pyathena.parent
parent
Definition: test_pyathena.py:15
InDet::DetailedIDNtupleTool::m_original_chi2
double m_original_chi2
Definition: DetailedIDNtupleTool.h:114
InDet::DetailedIDNtupleTool::m_phi0
double m_phi0
Definition: DetailedIDNtupleTool.h:164
InDet::DetailedIDNtupleTool::retrieveTruthInfo
bool retrieveTruthInfo(const Trk::AlignTrack *trk)
Definition: DetailedIDNtupleTool.cxx:351
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
InDet::DetailedIDNtupleTool::m_original_phi0
double m_original_phi0
Definition: DetailedIDNtupleTool.h:108
InDet::DetailedIDNtupleTool::m_storeNormalRefittedOnly
bool m_storeNormalRefittedOnly
only store the AlignTrack which is normally refitted
Definition: DetailedIDNtupleTool.h:81
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:157
DataVector< Trk::Track >
ReadFromCoolCompare.os
os
Definition: ReadFromCoolCompare.py:231
InDet::DetailedIDNtupleTool::m_yvtx
double m_yvtx
Definition: DetailedIDNtupleTool.h:160
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:120
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:161
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:139
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
Trk::MeasurementBase::associatedSurface
virtual const Surface & associatedSurface() const =0
Interface method to get the associated Surface.
Trk::d0
@ d0
Definition: ParamDefs.h:69
Amg::error
double error(const Amg::MatrixX &mat, int index)
return diagonal error of the matrix caller should ensure the matrix is symmetric and the index is in ...
Definition: EventPrimitivesHelpers.h:40
InDet::DetailedIDNtupleTool::m_truth_qoverpt
double m_truth_qoverpt
Definition: DetailedIDNtupleTool.h:132
InDet::DetailedIDNtupleTool::m_original_toRef_theta
double m_original_toRef_theta
Definition: DetailedIDNtupleTool.h:142
InDet::DetailedIDNtupleTool::m_original_z0
double m_original_z0
Definition: DetailedIDNtupleTool.h:107
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
InDet::DetailedIDNtupleTool::m_eta
double m_eta
Definition: DetailedIDNtupleTool.h:168
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:147
InDet::DetailedIDNtupleTool::m_truth_theta
double m_truth_theta
Definition: DetailedIDNtupleTool.h:128
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:87
h
CondAlgsOpts.found
int found
Definition: CondAlgsOpts.py:101
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
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
InDet::DetailedIDNtupleTool::m_alignModuleTool
ToolHandle< Trk::IAlignModuleTool > m_alignModuleTool
Pointer to AlignmModuleTool.
Definition: DetailedIDNtupleTool.h:75
InDet::DetailedIDNtupleTool::m_original_eta
double m_original_eta
Definition: DetailedIDNtupleTool.h:113
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:73
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:77
InDet::DetailedIDNtupleTool::m_toRef_phi0
double m_toRef_phi0
Definition: DetailedIDNtupleTool.h:148
InDet::DetailedIDNtupleTool::m_d0
double m_d0
Definition: DetailedIDNtupleTool.h:162
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
InDet::DetailedIDNtupleTool::m_truth_prod_x
double m_truth_prod_x
Definition: DetailedIDNtupleTool.h:134
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
Trk::ParametersBase::eta
double eta() const
Access method for pseudorapidity - from momentum.
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
InDet::DetailedIDNtupleTool::m_truth_prod_z
double m_truth_prod_z
Definition: DetailedIDNtupleTool.h:136
InDet::DetailedIDNtupleTool::m_original_xvtx
double m_original_xvtx
Definition: DetailedIDNtupleTool.h:102
InDet::DetailedIDNtupleTool::initializeNtuple
void initializeNtuple()
Definition: DetailedIDNtupleTool.cxx:478
InDet::DetailedIDNtupleTool::m_truth_qoverp
double m_truth_qoverp
Definition: DetailedIDNtupleTool.h:131
InDet::DetailedIDNtupleTool::m_evtNumber
int m_evtNumber
Definition: DetailedIDNtupleTool.h:98
InDet::DetailedIDNtupleTool::m_trackCollection
std::string m_trackCollection
Definition: DetailedIDNtupleTool.h:92
InDet::DetailedIDNtupleTool::m_original_theta
double m_original_theta
Definition: DetailedIDNtupleTool.h:109
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
InDet::DetailedIDNtupleTool::m_matchProbability
double m_matchProbability
the probabililty cut in the truth matching
Definition: DetailedIDNtupleTool.h:84
InDet::DetailedIDNtupleTool::m_trackSumTool
ToolHandle< Trk::ITrackSummaryTool > m_trackSumTool
Pointer to track summary tool.
Definition: DetailedIDNtupleTool.h:74
InDet::DetailedIDNtupleTool::m_original_toRef_qoverp
double m_original_toRef_qoverp
Definition: DetailedIDNtupleTool.h:143
InDet::DetailedIDNtupleTool::m_z0
double m_z0
Definition: DetailedIDNtupleTool.h:163
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:93
InDet::DetailedIDNtupleTool::m_original_err_qoverp
double m_original_err_qoverp
Definition: DetailedIDNtupleTool.h:122
InDet::DetailedIDNtupleTool::m_toRef_theta
double m_toRef_theta
Definition: DetailedIDNtupleTool.h:149
InDet::DetailedIDNtupleTool::m_truth_d0
double m_truth_d0
Definition: DetailedIDNtupleTool.h:125
Trk::phi0
@ phi0
Definition: ParamDefs.h:71
InDet::DetailedIDNtupleTool::m_toRef_qoverp
double m_toRef_qoverp
Definition: DetailedIDNtupleTool.h:150
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:170