ATLAS Offline Software
Classes | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Types | Private Member Functions | Private Attributes | List of all members
InDet::TRT_TrackExtensionTool_xk Class Reference

#include <TRT_TrackExtensionTool_xk.h>

Inheritance diagram for InDet::TRT_TrackExtensionTool_xk:
Collaboration diagram for InDet::TRT_TrackExtensionTool_xk:

Classes

class  EventData
 

Public Member Functions

 TRT_TrackExtensionTool_xk (const std::string &, const std::string &, const IInterface *)
 
virtual ~TRT_TrackExtensionTool_xk ()
 
virtual StatusCode initialize () override
 
virtual StatusCode finalize () override
 
virtual std::vector< const Trk::MeasurementBase * > & extendTrack (const EventContext &ctx, const Trk::Track &, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override
 
virtual std::vector< const Trk::MeasurementBase * > & extendTrack (const EventContext &ctx, const Trk::TrackParameters *, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override
 
virtual Trk::TrackSegmentfindSegment (const EventContext &ctx, const Trk::TrackParameters *, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override
 
virtual Trk::TracknewTrack (const EventContext &ctx, const Trk::Track &, InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override
 
virtual std::unique_ptr< InDet::ITRT_TrackExtensionTool::IEventDatanewEvent (const EventContext &ctx) const override
 
virtual MsgStream & dump (MsgStream &out) const override
 
virtual std::ostream & dump (std::ostream &out) const override
 
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

std::vector< const Trk::MeasurementBase * > & extendTrackFromParameters (const EventContext &ctx, const Trk::TrackParameters *, InDet::TRT_TrackExtensionTool_xk::EventData &event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const
 
void magneticFieldInit ()
 
StatusCode magneticFieldInit (IOVSVC_CALLBACK_ARGS)
 
bool isGoodExtension (const EventContext &ctx, const Trk::TrackParameters *, InDet::TRT_TrackExtensionTool_xk::EventData &event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const
 
bool numberPIXandSCTclustersCut (const Trk::Track &) const
 
MsgStream & dumpConditions (MsgStream &out) const
 
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...
 

Static Protected Member Functions

static MsgStream & dumpEvent (MsgStream &out)
 

Protected Attributes

const TRT_IDm_trtid {}
 
ToolHandle< ITRT_DetElementsRoadMakerm_roadtool {this, "RoadTool", "InDet::TRT_DetElementsRoadMaker_xk"}
 
PublicToolHandle< Trk::IPatternParametersPropagatorm_proptool {this, "PropagatorTool", "Trk::RungeKuttaPropagator"}
 
PublicToolHandle< Trk::IPatternParametersUpdatorm_updatortool {this, "UpdatorTool", "Trk::KalmanUpdator_xk"}
 
PublicToolHandle< ITrtDriftCircleCutToolm_selectortool {this, "DriftCircleCutTool", "InDet::InDetTrtDriftCircleCutTool"}
 
ToolHandle< Trk::IRIO_OnTrackCreatorm_riontrackD {this, "RIOonTrackToolYesDr", "InDet::TRT_DriftCircleOnTrackTool/TRT_DriftCircleOnTrackTool"}
 
ToolHandle< Trk::IRIO_OnTrackCreatorm_riontrackN {this, "RIOonTrackToolNoDr", "InDet::TRT_DriftCircleOnTrackNoDriftTimeTool/TRT_DriftCircleOnTrackNoDriftTimeTool"}
 
SG::ReadCondHandleKey< AtlasFieldCacheCondObjm_fieldCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"}
 
int m_segmentFindMode
 
int m_outputlevel {}
 
int m_nprint {}
 
int m_minNumberDCs
 
int m_minNumberSCT
 
int m_minNumberPIX
 
double m_roadwidth
 
double m_maxslope
 
double m_zVertexWidth
 
double m_impact
 
bool m_usedriftrad
 
bool m_parameterization
 
double m_scale_error
 
std::string m_fieldmode
 
Trk::MagneticFieldProperties m_fieldprop
 
SG::ReadHandleKey< TRT_DriftCircleContainerm_trtname {this,"TRT_ClustersContainer","TRT_DriftCircles","RHK to retrieve TRT_DriftCircleContainer"}
 
double m_minTRTSegmentpT
 

Private Types

typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

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

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

InDet::TRT_TrackExtensionTool_xk is algorithm which produce track extension to TRT

Author
Igor..nosp@m.Gavr.nosp@m.ilenk.nosp@m.o@ce.nosp@m.rn.ch

Definition at line 50 of file TRT_TrackExtensionTool_xk.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

◆ TRT_TrackExtensionTool_xk()

InDet::TRT_TrackExtensionTool_xk::TRT_TrackExtensionTool_xk ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 44 of file TRT_TrackExtensionTool_xk.cxx.

46  : AthAlgTool(t,n,p),
48  m_minNumberDCs (9),
49  m_minNumberSCT (5),
50  m_minNumberPIX (2),
51  m_roadwidth (10.),
52  m_maxslope (.00005),
53  m_zVertexWidth (150.),
54  m_impact (50.),
55  m_usedriftrad (true),
56  m_parameterization(true),
57  m_scale_error (2.),
58  m_fieldmode ("MapSolenoid")
59 {
60  declareInterface<ITRT_TrackExtensionTool>(this);
61  declareProperty("RoadWidth" ,m_roadwidth );
62  declareProperty("ZVertexHalfWidth" ,m_zVertexWidth );
63  declareProperty("maxImpactParameter" ,m_impact );
64  declareProperty("Maxslope" ,m_maxslope );
65  declareProperty("MinNumberDriftCircles" ,m_minNumberDCs );
66  declareProperty("UseParameterization" ,m_parameterization);
67  declareProperty("UseDriftRadius" ,m_usedriftrad );
68  declareProperty("ScaleHitUncertainty" ,m_scale_error );
69  declareProperty("SegmentFindMode" ,m_segmentFindMode );
70  declareProperty("MagneticFieldMode" ,m_fieldmode );
71  declareProperty("MinNumberSCTclusters" ,m_minNumberSCT );
72  declareProperty("MinNumberPIXclusters" ,m_minNumberPIX );
73  declareProperty("minTRTSegmentpT" ,m_minTRTSegmentpT=300. );
74 }

◆ ~TRT_TrackExtensionTool_xk()

InDet::TRT_TrackExtensionTool_xk::~TRT_TrackExtensionTool_xk ( )
virtualdefault

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

◆ dump() [1/2]

MsgStream & InDet::TRT_TrackExtensionTool_xk::dump ( MsgStream &  out) const
overridevirtual

Implements InDet::ITRT_TrackExtensionTool.

Definition at line 159 of file TRT_TrackExtensionTool_xk.cxx.

160 {
161  out<<std::endl;
162  if(m_nprint) return dumpEvent(out);
163  return dumpConditions(out);
164 }

◆ dump() [2/2]

std::ostream & InDet::TRT_TrackExtensionTool_xk::dump ( std::ostream &  out) const
overridevirtual

Implements InDet::ITRT_TrackExtensionTool.

Definition at line 220 of file TRT_TrackExtensionTool_xk.cxx.

221 {
222  return out;
223 }

◆ dumpConditions()

MsgStream & InDet::TRT_TrackExtensionTool_xk::dumpConditions ( MsgStream &  out) const
protected

Definition at line 171 of file TRT_TrackExtensionTool_xk.cxx.

172 {
173  auto pad = [](const std::string & s)->std::string{
174  std::string s1(s.size(),' ');
175  s1+="|";
176  return s + s1 +"\n";
177  };
178  const std::array<std::string,9> fieldmode{"NoField" ,"ConstantField","SolenoidalField",
179  "ToroidalField" ,"Grid3DField" ,"RealisticField" ,
180  "UndefinedField","AthenaField" , "?????" };
182  if(mode<0 || mode>8 ) mode = 8;
183  std::string lineSeparator(90,'-');
184  lineSeparator = "|" + lineSeparator + "|\n";
185  const auto & w12 = std::setw(12);
186  const auto & sp5 = std::setprecision(5);
187  const std::string spaces = " |\n";
188  out<< lineSeparator;
189  out<<"| TRT container | "<< pad(m_trtname.key());
190  out<<"| Tool for propagation | "<< pad(m_proptool.type());
191  out<<"| Tool for updator | "<< pad(m_updatortool.type());
192  out<<"| Tool for rio on trackD | "<< pad(m_riontrackD.type());
193  out<<"| Tool for rio on trackN | "<< pad(m_riontrackN.type());
194  out<<"| Tool for road builder | "<< pad(m_roadtool.type());
195  out<<"| Magnetic field mode | "<< pad(fieldmode[mode]);
196  out<<"| Segments find mode | "<< w12 << m_segmentFindMode << spaces;
197  out<<"| TRT road half width (mm)| "<< w12 << sp5<< m_roadwidth << spaces;
198  out<<"| Min number DriftCircles | "<< w12 << m_minNumberDCs << spaces;
199  out<<"| Use drift time ? | "<< w12 << m_usedriftrad << spaces;
200  out<<"| Z vertex half width | "<< w12 << m_zVertexWidth << spaces;
201  out<<"| Scalefactor hit error | "<< w12 << m_scale_error <<spaces;
202  out<<"| Max impact parameter | "<< w12 << m_impact <<spaces;
203  out<< lineSeparator;
204  return out;
205 }

◆ dumpEvent()

MsgStream & InDet::TRT_TrackExtensionTool_xk::dumpEvent ( MsgStream &  out)
staticprotected

Definition at line 211 of file TRT_TrackExtensionTool_xk.cxx.

212 {
213  return out;
214 }

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

◆ extendTrack() [1/2]

std::vector< const Trk::MeasurementBase * > & InDet::TRT_TrackExtensionTool_xk::extendTrack ( const EventContext &  ctx,
const Trk::Track Tr,
InDet::ITRT_TrackExtensionTool::IEventData virt_event_data,
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap used 
) const
overridevirtual

Implements InDet::ITRT_TrackExtensionTool.

Definition at line 296 of file TRT_TrackExtensionTool_xk.cxx.

300 {
303  event_data.m_measurement.clear();
304  const Trk::TrackStates* tsos = Tr.trackStateOnSurfaces();
305  const Trk::TrackParameters* par = tsos->back()->trackParameters(); //tsos owns this
306  if(!par ) return event_data.m_measurement;
307  const Trk::TrackParameters* parb = tsos->front()->trackParameters(); //tsos owns this
308  if(parb && par!=parb) {
309  const Amg::Vector3D& g1 = par ->position();
310  const Amg::Vector3D& g2 = parb->position();
311  if((g2.x()*g2.x()+g2.y()*g2.y()) > (g1.x()*g1.x()+g1.y()*g1.y())) par=parb;
312  }
313  return extendTrackFromParameters(ctx, par, event_data,used);
314 }

◆ extendTrack() [2/2]

std::vector< const Trk::MeasurementBase * > & InDet::TRT_TrackExtensionTool_xk::extendTrack ( const EventContext &  ctx,
const Trk::TrackParameters par,
InDet::ITRT_TrackExtensionTool::IEventData virt_event_data,
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap used 
) const
overridevirtual

Implements InDet::ITRT_TrackExtensionTool.

Definition at line 321 of file TRT_TrackExtensionTool_xk.cxx.

325 {
328  return extendTrackFromParameters(ctx, par, event_data, used);
329 }

◆ extendTrackFromParameters()

std::vector< const Trk::MeasurementBase * > & InDet::TRT_TrackExtensionTool_xk::extendTrackFromParameters ( const EventContext &  ctx,
const Trk::TrackParameters par,
InDet::TRT_TrackExtensionTool_xk::EventData event_data,
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap used 
) const
protected

Definition at line 333 of file TRT_TrackExtensionTool_xk.cxx.

337 {
338  event_data.m_measurement.clear();
339  if(isGoodExtension(ctx, par,event_data,used)) event_data.m_trajectory.convert(event_data.m_measurement);
340  return event_data.m_measurement;
341 }

◆ 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

◆ finalize()

StatusCode InDet::TRT_TrackExtensionTool_xk::finalize ( )
overridevirtual

Definition at line 150 of file TRT_TrackExtensionTool_xk.cxx.

151 {
152  return StatusCode::SUCCESS;
153 }

◆ findSegment()

Trk::TrackSegment * InDet::TRT_TrackExtensionTool_xk::findSegment ( const EventContext &  ctx,
const Trk::TrackParameters par,
InDet::ITRT_TrackExtensionTool::IEventData virt_event_data,
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap used 
) const
overridevirtual

Implements InDet::ITRT_TrackExtensionTool.

Definition at line 348 of file TRT_TrackExtensionTool_xk.cxx.

352 {
355 
356  int nCut = m_minNumberDCs;
357  if(m_parameterization) {nCut = m_selectortool->minNumberDCs(par);
358  if(nCut<m_minNumberDCs) nCut=m_minNumberDCs;}
359 
360  // Get AtlasFieldCache
361  MagField::AtlasFieldCache fieldCache;
362 
364  const AtlasFieldCacheCondObj* fieldCondObj{*readHandle};
365  if (fieldCondObj == nullptr) {
366  ATH_MSG_ERROR("InDet::TRT_TrackExtensionTool_xk::findSegment: Failed to retrieve AtlasFieldCacheCondObj with key " << m_fieldCondObjInputKey.key());
367  return nullptr;
368  }
369  fieldCondObj->getInitializedCache (fieldCache);
370 
371  // TRT detector elements road builder
372  //
373  const std::vector<const InDetDD::TRT_BaseElement*>& detectorElements =
374  m_roadtool->detElementsRoad(ctx, fieldCache, *par, Trk::alongMomentum,
375  used);
376 
377  if(int(detectorElements.size())< nCut) return nullptr;
378 
379  // Array pointers to surface preparation
380  //
381  auto surfaces =vectorOfSurfacesFromVectorOfElements(detectorElements);
382 
383  // Global position on surfaces production
384  //
386  if(!Tp.production(par)) return nullptr;
387  std::vector< std::pair<Amg::Vector3D,double> > gpos;
388  m_proptool->globalPositions(ctx, Tp, surfaces, gpos, m_fieldprop);
389 
390  // Initiate trajectory
391  //
392  event_data.m_trajectory.initiateForTRTSeed(gpos,detectorElements,event_data.m_trtcontainer,Tp);
393  if(event_data.m_trajectory.naElements() < nCut) return nullptr;
394  event_data.m_maxslope = .0002 ;
395  if(event_data.m_trajectory.isFirstElementBarrel()) {
397  else event_data.m_trajectory.trackFindingWithoutDriftTime(event_data.m_maxslope);
398  if(!event_data.m_trajectory.searchStartStop()) {return nullptr;}
399  } else {
401  if(!event_data.m_trajectory.searchStartStop()) { return nullptr;}
402  event_data.m_trajectory.radiusCorrection();
404  else event_data.m_trajectory.trackFindingWithoutDriftTimeBL(event_data.m_maxslope);
405  if(!event_data.m_trajectory.searchStartStop()) { return nullptr;}
406  }
407 
408  // Track associate with clusters and holes
409  //
411  event_data.m_maxslope = m_maxslope;
412 
413  // Trajectory quality test
414  //
415  int nc = event_data.m_trajectory.nclusters();
416  int nh = event_data.m_trajectory.nholes ();
417  if( nc < nCut || (1000*nc) < (700*(nc+nh)) ) return nullptr;
418 
419  if (m_segmentFindMode==0) {
421  return nullptr;
422  }
423  else if(m_segmentFindMode==1) {
425  return nullptr;
426  }
427  else if(m_segmentFindMode==2) {
429  return nullptr;
430  }
431  else {
432  if(!event_data.m_trajectory.fitter())
433  return nullptr;
434  }
435 
436  if(event_data.m_trajectory.nclusters() < nCut) return nullptr;
437 
438  // Trk::TrackSegment production
439  //
440  return event_data.m_trajectory.convert();
441 }

◆ initialize()

StatusCode InDet::TRT_TrackExtensionTool_xk::initialize ( )
overridevirtual

Definition at line 87 of file TRT_TrackExtensionTool_xk.cxx.

88 {
89 
90  // Get tTools service
91  //
92  IToolSvc* toolSvc;
93  ATH_CHECK(service("ToolSvc", toolSvc));
94 
95  // Get magnetic field service
96  //
97  if(m_fieldmode != "NoField" ) {
99  }
100 
104 
105  // Get RIO_OnTrack creator with drift time information
106  //
107  ATH_CHECK(m_riontrackD.retrieve());
108  ATH_MSG_DEBUG("Retrieved tool " << m_riontrackD);
109 
110  // Get RIO_OnTrack creator without drift time information
111  //
112  ATH_CHECK(m_riontrackN.retrieve());
113  ATH_MSG_DEBUG("Retrieved tool " << m_riontrackN ) ;
114 
115  // Get detector elements road maker tool
116  //
117  ATH_CHECK(m_roadtool.retrieve());
118  ATH_MSG_DEBUG("Retrieved tool " << m_roadtool);
119 
120  // Get propagator tool
121  //
122  ATH_CHECK(m_proptool.retrieve());
123  ATH_MSG_DEBUG("Retrieved tool " << m_proptool);
124 
125  // Get updator tool
126  //
127  ATH_CHECK(m_updatortool.retrieve());
128  ATH_MSG_DEBUG("Retrieved tool " << m_updatortool);
129 
130  // Get segment selector tool
131  //
132  ATH_CHECK(m_selectortool.retrieve(DisableTool { !m_parameterization } ));
133 
134  // TRT
135  ATH_CHECK(detStore()->retrieve(m_trtid,"TRT_ID"));
136 
137  //Initialize container
139 
140  // Get output print level
141  //
142  m_outputlevel = msg().level()-MSG::DEBUG;
143  return StatusCode::SUCCESS;
144 }

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

Definition at line 116 of file ITRT_TrackExtensionTool.h.

117  {
118  return IID_ITRT_TrackExtensionTool;
119  }

◆ isGoodExtension()

bool InDet::TRT_TrackExtensionTool_xk::isGoodExtension ( const EventContext &  ctx,
const Trk::TrackParameters par,
InDet::TRT_TrackExtensionTool_xk::EventData event_data,
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap used 
) const
protected

Definition at line 448 of file TRT_TrackExtensionTool_xk.cxx.

452 {
453  // Get AtlasFieldCache
454  MagField::AtlasFieldCache fieldCache;
455 
457  const AtlasFieldCacheCondObj* fieldCondObj{*readHandle};
458  if (fieldCondObj == nullptr) {
459  ATH_MSG_ERROR("InDet::TRT_TrackExtensionTool_xk::findSegment: Failed to retrieve AtlasFieldCacheCondObj with key " << m_fieldCondObjInputKey.key());
460  return false;
461  }
462  fieldCondObj->getInitializedCache (fieldCache);
463  // TRT detector elements road builder
464  //
465  const std::vector<const InDetDD::TRT_BaseElement*>& detectorElements =
466  m_roadtool->detElementsRoad(ctx, fieldCache, *par, Trk::alongMomentum, used);
467  if (int(detectorElements.size()) < m_minNumberDCs)
468  return false;
469  // Array pointers to surface preparation
470  //
471  auto surfaces = vectorOfSurfacesFromVectorOfElements(detectorElements);
472 
473  // Global position on surfaces production
474  //
476  if(!Tp.production(par)) return false;
477  std::vector< std::pair<Amg::Vector3D,double> > gpos;
478  m_proptool->globalPositions(ctx, Tp,surfaces,gpos,m_fieldprop);
479 
480  // Initiate trajectory
481  //
482 
483  event_data.m_trajectory.initiateForPrecisionSeed(gpos,detectorElements,event_data.m_trtcontainer,Tp);
484  if(event_data.m_trajectory.naElements() < m_minNumberDCs) return false;
485 
486  // Track finding
487  //
489  else event_data.m_trajectory.trackFindingWithoutDriftTime(event_data.m_maxslope);
490 
491  // Track associate with clusters and holes
492  //
494 
495  // Final test quality
496  //
497  return event_data.m_trajectory.nclusters() >= m_minNumberDCs;
498 }

◆ magneticFieldInit() [1/2]

void InDet::TRT_TrackExtensionTool_xk::magneticFieldInit ( )
protected

◆ magneticFieldInit() [2/2]

StatusCode InDet::TRT_TrackExtensionTool_xk::magneticFieldInit ( IOVSVC_CALLBACK_ARGS  )
protected

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

◆ newEvent()

std::unique_ptr< InDet::ITRT_TrackExtensionTool::IEventData > InDet::TRT_TrackExtensionTool_xk::newEvent ( const EventContext &  ctx) const
overridevirtual

Implements InDet::ITRT_TrackExtensionTool.

Definition at line 250 of file TRT_TrackExtensionTool_xk.cxx.

251 {
253 
254  if((not trtcontainer.isValid()) && m_outputlevel<=0) {
255  std::stringstream msg;
256  msg << "Missing TRT_DriftCircleContainer " << m_trtname.key();
257  throw std::runtime_error( msg.str() );
258  }
259 
260  // Get AtlasFieldCache
261  MagField::AtlasFieldCache fieldCache;
262 
264  const AtlasFieldCacheCondObj* fieldCondObj{*readHandle};
265  if (fieldCondObj == nullptr) {
266  ATH_MSG_ERROR("InDet::TRT_TrackExtensionTool_xk::findSegment: Failed to retrieve AtlasFieldCacheCondObj with key " << m_fieldCondObjInputKey.key());
267  return nullptr;
268  }
269  fieldCondObj->getInitializedCache (fieldCache);
270 
271  Trk::MagneticFieldProperties fieldprop = ( fieldCache.solenoidOn()
272  ? m_fieldprop
274 
275  auto event_data = std::make_unique<EventData>(EventData(trtcontainer.cptr(), m_maxslope));
276  event_data->m_trajectory.set(fieldprop, fieldCondObj);
277  event_data->m_trajectory.set (m_trtid,
278  m_proptool.get(),
279  m_updatortool.get(),
280  m_riontrackD.get(),
281  m_riontrackN.get(),
282  m_roadwidth,
284  m_impact,
287  event_data->m_measurement.reserve(200);
288  return event_data;
289 }

◆ newTrack()

Trk::Track * InDet::TRT_TrackExtensionTool_xk::newTrack ( const EventContext &  ctx,
const Trk::Track Tr,
InDet::ITRT_TrackExtensionTool::IEventData virt_event_data,
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap used 
) const
overridevirtual

Implements InDet::ITRT_TrackExtensionTool.

Definition at line 506 of file TRT_TrackExtensionTool_xk.cxx.

510 {
513 
514  const Trk::TrackStates* tsos = Tr.trackStateOnSurfaces();
515 
516  // Test conditions to start track extension to TRT
517  //
518  const Trk::TrackParameters* pe = tsos->back()->trackParameters();
519  if(!pe) return nullptr;
520  if(!pe->covariance()) return nullptr;
521  const Trk::TrackParameters* pb = tsos->front()->trackParameters();
522  if(!pb) return nullptr;
523  if(!pb->covariance()) return nullptr;
524 
525  // Number PIX and SCT clusters cuts
526  //
527  if(!numberPIXandSCTclustersCut(Tr)) return nullptr;
528 
529  // Test possibility extend track and new track production
530  //
531  if(isGoodExtension(ctx, pe,event_data,used)) return event_data.m_trajectory.convert(Tr);
532  return nullptr;
533 }

◆ numberPIXandSCTclustersCut()

bool InDet::TRT_TrackExtensionTool_xk::numberPIXandSCTclustersCut ( const Trk::Track Tr) const
protected

Definition at line 540 of file TRT_TrackExtensionTool_xk.cxx.

541 {
542  if(m_minNumberSCT <=0 && m_minNumberPIX <=0) return true;
543  const Trk::TrackStates*tsos = Tr.trackStateOnSurfaces();
544  Trk::TrackStates::const_iterator s = tsos->begin(), se = tsos->end();
545  int npix = 0;
546  int nsct = 0;
547  for(; s!=se; ++s) {
548  if((*s)->type(Trk::TrackStateOnSurface::Measurement)) {
549  const Trk::MeasurementBase* mb = (*s)->measurementOnTrack();
550  if(!mb) continue;
551  const Trk::RIO_OnTrack* ri = dynamic_cast<const Trk::RIO_OnTrack*>(mb);
552  if(!ri) continue;
553  const Trk::PrepRawData* rd = ri->prepRawData();
554  if(!rd) continue;
555  const InDet::SiCluster* si = dynamic_cast<const InDet::SiCluster*>(rd);
556  if(si) {
557  if(dynamic_cast<const InDet::SCT_Cluster*>(si)) ++nsct;
558  else ++npix;
559  }
560  else return false;
561  }
562  }
563  return npix >= m_minNumberPIX && nsct >= m_minNumberSCT;
564 }

◆ outputHandles()

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

Return this algorithm's output handles.

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

◆ renounce()

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

Definition at line 380 of file AthCommonDataStore.h.

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

◆ renounceArray()

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

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ 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_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_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_fieldCondObjInputKey

SG::ReadCondHandleKey<AtlasFieldCacheCondObj> InDet::TRT_TrackExtensionTool_xk::m_fieldCondObjInputKey {this, "AtlasFieldCacheCondObj", "fieldCondObj", "Name of the Magnetic Field conditions object key"}
protected

Definition at line 146 of file TRT_TrackExtensionTool_xk.h.

◆ m_fieldmode

std::string InDet::TRT_TrackExtensionTool_xk::m_fieldmode
protected

Definition at line 162 of file TRT_TrackExtensionTool_xk.h.

◆ m_fieldprop

Trk::MagneticFieldProperties InDet::TRT_TrackExtensionTool_xk::m_fieldprop
protected

Definition at line 164 of file TRT_TrackExtensionTool_xk.h.

◆ m_impact

double InDet::TRT_TrackExtensionTool_xk::m_impact
protected

Definition at line 158 of file TRT_TrackExtensionTool_xk.h.

◆ m_maxslope

double InDet::TRT_TrackExtensionTool_xk::m_maxslope
protected

Definition at line 156 of file TRT_TrackExtensionTool_xk.h.

◆ m_minNumberDCs

int InDet::TRT_TrackExtensionTool_xk::m_minNumberDCs
protected

Definition at line 152 of file TRT_TrackExtensionTool_xk.h.

◆ m_minNumberPIX

int InDet::TRT_TrackExtensionTool_xk::m_minNumberPIX
protected

Definition at line 154 of file TRT_TrackExtensionTool_xk.h.

◆ m_minNumberSCT

int InDet::TRT_TrackExtensionTool_xk::m_minNumberSCT
protected

Definition at line 153 of file TRT_TrackExtensionTool_xk.h.

◆ m_minTRTSegmentpT

double InDet::TRT_TrackExtensionTool_xk::m_minTRTSegmentpT
protected

Definition at line 167 of file TRT_TrackExtensionTool_xk.h.

◆ m_nprint

int InDet::TRT_TrackExtensionTool_xk::m_nprint {}
protected

Definition at line 151 of file TRT_TrackExtensionTool_xk.h.

◆ m_outputlevel

int InDet::TRT_TrackExtensionTool_xk::m_outputlevel {}
protected

Definition at line 150 of file TRT_TrackExtensionTool_xk.h.

◆ m_parameterization

bool InDet::TRT_TrackExtensionTool_xk::m_parameterization
protected

Definition at line 160 of file TRT_TrackExtensionTool_xk.h.

◆ m_proptool

PublicToolHandle<Trk::IPatternParametersPropagator> InDet::TRT_TrackExtensionTool_xk::m_proptool {this, "PropagatorTool", "Trk::RungeKuttaPropagator"}
protected

Definition at line 135 of file TRT_TrackExtensionTool_xk.h.

◆ m_riontrackD

ToolHandle<Trk::IRIO_OnTrackCreator> InDet::TRT_TrackExtensionTool_xk::m_riontrackD {this, "RIOonTrackToolYesDr", "InDet::TRT_DriftCircleOnTrackTool/TRT_DriftCircleOnTrackTool"}
protected

Definition at line 141 of file TRT_TrackExtensionTool_xk.h.

◆ m_riontrackN

ToolHandle<Trk::IRIO_OnTrackCreator> InDet::TRT_TrackExtensionTool_xk::m_riontrackN {this, "RIOonTrackToolNoDr", "InDet::TRT_DriftCircleOnTrackNoDriftTimeTool/TRT_DriftCircleOnTrackNoDriftTimeTool"}
protected

Definition at line 143 of file TRT_TrackExtensionTool_xk.h.

◆ m_roadtool

ToolHandle<ITRT_DetElementsRoadMaker> InDet::TRT_TrackExtensionTool_xk::m_roadtool {this, "RoadTool", "InDet::TRT_DetElementsRoadMaker_xk"}
protected

Definition at line 133 of file TRT_TrackExtensionTool_xk.h.

◆ m_roadwidth

double InDet::TRT_TrackExtensionTool_xk::m_roadwidth
protected

Definition at line 155 of file TRT_TrackExtensionTool_xk.h.

◆ m_scale_error

double InDet::TRT_TrackExtensionTool_xk::m_scale_error
protected

Definition at line 161 of file TRT_TrackExtensionTool_xk.h.

◆ m_segmentFindMode

int InDet::TRT_TrackExtensionTool_xk::m_segmentFindMode
protected

Definition at line 149 of file TRT_TrackExtensionTool_xk.h.

◆ m_selectortool

PublicToolHandle<ITrtDriftCircleCutTool> InDet::TRT_TrackExtensionTool_xk::m_selectortool {this, "DriftCircleCutTool", "InDet::InDetTrtDriftCircleCutTool"}
protected

Definition at line 139 of file TRT_TrackExtensionTool_xk.h.

◆ m_trtid

const TRT_ID* InDet::TRT_TrackExtensionTool_xk::m_trtid {}
protected

Definition at line 132 of file TRT_TrackExtensionTool_xk.h.

◆ m_trtname

SG::ReadHandleKey<TRT_DriftCircleContainer> InDet::TRT_TrackExtensionTool_xk::m_trtname {this,"TRT_ClustersContainer","TRT_DriftCircles","RHK to retrieve TRT_DriftCircleContainer"}
protected

Definition at line 165 of file TRT_TrackExtensionTool_xk.h.

◆ m_updatortool

PublicToolHandle<Trk::IPatternParametersUpdator> InDet::TRT_TrackExtensionTool_xk::m_updatortool {this, "UpdatorTool", "Trk::KalmanUpdator_xk"}
protected

Definition at line 137 of file TRT_TrackExtensionTool_xk.h.

◆ m_usedriftrad

bool InDet::TRT_TrackExtensionTool_xk::m_usedriftrad
protected

Definition at line 159 of file TRT_TrackExtensionTool_xk.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_zVertexWidth

double InDet::TRT_TrackExtensionTool_xk::m_zVertexWidth
protected

Definition at line 157 of file TRT_TrackExtensionTool_xk.h.


The documentation for this class was generated from the following files:
InDet::TRT_TrackExtensionTool_xk::numberPIXandSCTclustersCut
bool numberPIXandSCTclustersCut(const Trk::Track &) const
Definition: TRT_TrackExtensionTool_xk.cxx:540
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
used
Trk::TrackStateOnSurface::trackParameters
const TrackParameters * trackParameters() const
return ptr to trackparameters const overload
ReadCellNoiseFromCoolCompare.s1
s1
Definition: ReadCellNoiseFromCoolCompare.py:378
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
InDet::TRT_TrackExtensionTool_xk::m_scale_error
double m_scale_error
Definition: TRT_TrackExtensionTool_xk.h:161
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
InDet::TRT_Trajectory_xk::fitter
bool fitter()
Definition: TRT_Trajectory_xk.cxx:753
keylayer_zslicemap.pb
pb
Definition: keylayer_zslicemap.py:188
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
Trk::MagneticFieldProperties
Definition: MagneticFieldProperties.h:31
AtlasFieldCacheCondObj
Definition: AtlasFieldCacheCondObj.h:19
InDet::TRT_TrackExtensionTool_xk::EventData::m_measurement
std::vector< const Trk::MeasurementBase * > m_measurement
Definition: TRT_TrackExtensionTool_xk.h:116
InDet::TRT_Trajectory_xk::convert
void convert(std::vector< const Trk::MeasurementBase * > &)
Definition: TRT_Trajectory_xk.cxx:526
Trk::ParametersBase::position
const Amg::Vector3D & position() const
Access method for the position.
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
InDet::TRT_TrackExtensionTool_xk::m_segmentFindMode
int m_segmentFindMode
Definition: TRT_TrackExtensionTool_xk.h:149
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
InDet::TRT_TrackExtensionTool_xk::m_minNumberSCT
int m_minNumberSCT
Definition: TRT_TrackExtensionTool_xk.h:153
InDet::TRT_TrackExtensionTool_xk::m_usedriftrad
bool m_usedriftrad
Definition: TRT_TrackExtensionTool_xk.h:159
Trk::Track::trackStateOnSurfaces
const Trk::TrackStates * trackStateOnSurfaces() const
return a pointer to a const DataVector of const TrackStateOnSurfaces.
InDet::TRT_TrackExtensionTool_xk::m_updatortool
PublicToolHandle< Trk::IPatternParametersUpdator > m_updatortool
Definition: TRT_TrackExtensionTool_xk.h:138
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
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::TRT_TrackExtensionTool_xk::m_trtid
const TRT_ID * m_trtid
Definition: TRT_TrackExtensionTool_xk.h:132
InDet::TRT_TrackExtensionTool_xk::m_outputlevel
int m_outputlevel
Definition: TRT_TrackExtensionTool_xk.h:150
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
Trk::alongMomentum
@ alongMomentum
Definition: PropDirection.h:20
InDet::TRT_Trajectory_xk::trackFindingWithoutDriftTime
void trackFindingWithoutDriftTime(double)
Definition: TRT_Trajectory_xk.cxx:290
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::TRT_TrackExtensionTool_xk::dumpConditions
MsgStream & dumpConditions(MsgStream &out) const
Definition: TRT_TrackExtensionTool_xk.cxx:171
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
InDet::TRT_TrackExtensionTool_xk::EventData::m_trtcontainer
const TRT_DriftCircleContainer * m_trtcontainer
Definition: TRT_TrackExtensionTool_xk.h:115
keylayer_zslicemap.se
se
Definition: keylayer_zslicemap.py:194
InDet::TRT_TrackExtensionTool_xk::m_fieldCondObjInputKey
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
Definition: TRT_TrackExtensionTool_xk.h:146
LArG4AODNtuplePlotter.pe
pe
Definition: LArG4AODNtuplePlotter.py:116
InDet::TRT_Trajectory_xk::buildTrajectoryForPrecisionSeed
void buildTrajectoryForPrecisionSeed(bool)
Definition: TRT_Trajectory_xk.cxx:438
InDet::TRT_TrackExtensionTool_xk::m_maxslope
double m_maxslope
Definition: TRT_TrackExtensionTool_xk.h:156
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
Trk::FastField
@ FastField
call the fast field access method of the FieldSvc
Definition: MagneticFieldMode.h:20
InDet::TRT_TrackExtensionTool_xk::m_parameterization
bool m_parameterization
Definition: TRT_TrackExtensionTool_xk.h:160
InDet::TRT_Trajectory_xk::trackParametersEstimationForFirstPointWithVertexConstraint
bool trackParametersEstimationForFirstPointWithVertexConstraint()
Definition: TRT_Trajectory_xk.cxx:732
InDet::TRT_Trajectory_xk::initiateForPrecisionSeed
void initiateForPrecisionSeed(std::vector< std::pair< Amg::Vector3D, double > > &, const std::vector< const InDetDD::TRT_BaseElement * > &, const TRT_DriftCircleContainer *&, const Trk::PatternTrackParameters &)
Definition: TRT_Trajectory_xk.cxx:52
Trk::PatternTrackParameters::production
bool production(const ParametersBase< 5, Trk::Charged > *)
Definition: PatternTrackParameters.cxx:42
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
InDet::TRT_Trajectory_xk::trackFindingWithoutDriftTimeBL
void trackFindingWithoutDriftTimeBL(double)
Definition: TRT_Trajectory_xk.cxx:369
fitman.g1
g1
Definition: fitman.py:619
beamspotman.n
n
Definition: beamspotman.py:731
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
InDet::TRT_Trajectory_xk::trackParametersEstimationForFirstPoint
bool trackParametersEstimationForFirstPoint()
Definition: TRT_Trajectory_xk.cxx:715
InDet::TRT_TrackExtensionTool_xk::m_riontrackD
ToolHandle< Trk::IRIO_OnTrackCreator > m_riontrackD
Definition: TRT_TrackExtensionTool_xk.h:142
DataVector::front
const T * front() const
Access the first element in the collection as an rvalue.
InDet::TRT_Trajectory_xk::trackFindingWithDriftTimeBL
void trackFindingWithDriftTimeBL(double)
Definition: TRT_Trajectory_xk.cxx:329
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Preparation.mode
mode
Definition: Preparation.py:95
InDet::TRT_TrackExtensionTool_xk::EventData::m_trajectory
TRT_Trajectory_xk m_trajectory
Definition: TRT_TrackExtensionTool_xk.h:117
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
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
InDet::SCT_Cluster
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SCT_Cluster.h:34
DataVector::back
const T * back() const
Access the last element in the collection as an rvalue.
DataVector< const Trk::TrackStateOnSurface >
MagField::AtlasFieldCache::solenoidOn
bool solenoidOn() const
status of the magnets
Trk::FullField
@ FullField
Field is set to be realistic, but within a given Volume.
Definition: MagneticFieldMode.h:21
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
InDet::TRT_Trajectory_xk::nclusters
const int & nclusters() const
Definition: TRT_Trajectory_xk.h:57
InDet::TRT_TrackExtensionTool_xk::m_proptool
PublicToolHandle< Trk::IPatternParametersPropagator > m_proptool
Definition: TRT_TrackExtensionTool_xk.h:136
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
InDet::TRT_Trajectory_xk::searchStartStop
bool searchStartStop()
Definition: TRT_Trajectory_xk.cxx:394
Trk::PrepRawData
Definition: PrepRawData.h:62
InDet::TRT_TrackExtensionTool_xk::m_fieldprop
Trk::MagneticFieldProperties m_fieldprop
Definition: TRT_TrackExtensionTool_xk.h:164
Trk::MeasurementBase
Definition: MeasurementBase.h:58
InDet::TRT_TrackExtensionTool_xk::m_selectortool
PublicToolHandle< ITrtDriftCircleCutTool > m_selectortool
Definition: TRT_TrackExtensionTool_xk.h:140
InDet::TRT_Trajectory_xk::initiateForTRTSeed
void initiateForTRTSeed(std::vector< std::pair< Amg::Vector3D, double > > &, const std::vector< const InDetDD::TRT_BaseElement * > &, const TRT_DriftCircleContainer *&, const Trk::PatternTrackParameters &)
Definition: TRT_Trajectory_xk.cxx:134
Trk::NoField
@ NoField
Field is set to 0., 0., 0.,.
Definition: MagneticFieldMode.h:18
InDet::TRT_Trajectory_xk::buildTrajectoryForTRTSeed
void buildTrajectoryForTRTSeed(bool)
Definition: TRT_Trajectory_xk.cxx:468
fitman.g2
g2
Definition: fitman.py:624
InDet::TRT_Trajectory_xk::trackFindingWithDriftTime
void trackFindingWithDriftTime(double)
Definition: TRT_Trajectory_xk.cxx:238
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
createCoolChannelIdFile.par
par
Definition: createCoolChannelIdFile.py:29
InDet::TRT_TrackExtensionTool_xk::m_nprint
int m_nprint
Definition: TRT_TrackExtensionTool_xk.h:151
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
InDet::TRT_TrackExtensionTool_xk::EventData
Definition: TRT_TrackExtensionTool_xk.h:106
InDet::TRT_TrackExtensionTool_xk::EventData::m_maxslope
double m_maxslope
Definition: TRT_TrackExtensionTool_xk.h:118
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
Trk::MagneticFieldProperties::magneticFieldMode
MagneticFieldMode magneticFieldMode() const
Returns the MagneticFieldMode as specified.
Trk::RIO_OnTrack::prepRawData
virtual const Trk::PrepRawData * prepRawData() const =0
returns the PrepRawData (also known as RIO) object to which this RIO_OnTrack is associated.
InDet::TRT_TrackExtensionTool_xk::m_minNumberPIX
int m_minNumberPIX
Definition: TRT_TrackExtensionTool_xk.h:154
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
InDet::TRT_Trajectory_xk::naElements
const int & naElements() const
Definition: TRT_Trajectory_xk.h:60
a
TList * a
Definition: liststreamerinfos.cxx:10
h
InDet::TRT_Trajectory_xk::isFirstElementBarrel
bool isFirstElementBarrel()
Definition: TRT_Trajectory_xk.h:261
InDet::TRT_TrackExtensionTool_xk::m_minTRTSegmentpT
double m_minTRTSegmentpT
Definition: TRT_TrackExtensionTool_xk.h:167
InDet::TRT_TrackExtensionTool_xk::m_zVertexWidth
double m_zVertexWidth
Definition: TRT_TrackExtensionTool_xk.h:157
TRT_PAI_physicsConstants::mb
const double mb
1mb to cm2
Definition: TRT_PAI_physicsConstants.h:15
Trk::PatternTrackParameters
Definition: PatternTrackParameters.h:38
InDet::TRT_Trajectory_xk::radiusCorrection
void radiusCorrection()
Definition: TRT_Trajectory_xk.cxx:497
DEBUG
#define DEBUG
Definition: page_access.h:11
InDet::TRT_Trajectory_xk::nholes
const int & nholes() const
Definition: TRT_Trajectory_xk.h:53
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
MagField::AtlasFieldCache
Local cache for magnetic field (based on MagFieldServices/AtlasFieldSvcTLS.h)
Definition: AtlasFieldCache.h:43
InDet::TRT_TrackExtensionTool_xk::dumpEvent
static MsgStream & dumpEvent(MsgStream &out)
Definition: TRT_TrackExtensionTool_xk.cxx:211
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
InDet::TRT_TrackExtensionTool_xk::m_roadtool
ToolHandle< ITRT_DetElementsRoadMaker > m_roadtool
Definition: TRT_TrackExtensionTool_xk.h:134
InDet::TRT_Trajectory_xk::trackParametersEstimationForPerigeeWithVertexConstraint
bool trackParametersEstimationForPerigeeWithVertexConstraint()
Definition: TRT_Trajectory_xk.cxx:743
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
InDet::EventData
SiSpacePointsSeedMakerEventData EventData
Definition: SiSpacePointsSeedMaker_ATLxk.h:46
InDet::TRT_TrackExtensionTool_xk::m_trtname
SG::ReadHandleKey< TRT_DriftCircleContainer > m_trtname
Definition: TRT_TrackExtensionTool_xk.h:165
Trk::EventDataBase< EventData, InDet::ITRT_TrackExtensionTool::IEventData >::getPrivateEventData
static EventData & getPrivateEventData(InDet::ITRT_TrackExtensionTool::IEventData &virt_event_data)
Definition: EventDataBase.h:19
InDet::TRT_TrackExtensionTool_xk::extendTrackFromParameters
std::vector< const Trk::MeasurementBase * > & extendTrackFromParameters(const EventContext &ctx, const Trk::TrackParameters *, InDet::TRT_TrackExtensionTool_xk::EventData &event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const
Definition: TRT_TrackExtensionTool_xk.cxx:333
InDet::TRT_TrackExtensionTool_xk::m_riontrackN
ToolHandle< Trk::IRIO_OnTrackCreator > m_riontrackN
Definition: TRT_TrackExtensionTool_xk.h:144
InDet::TRT_TrackExtensionTool_xk::m_impact
double m_impact
Definition: TRT_TrackExtensionTool_xk.h:158
InDet::TRT_TrackExtensionTool_xk::m_roadwidth
double m_roadwidth
Definition: TRT_TrackExtensionTool_xk.h:155
InDet::TRT_TrackExtensionTool_xk::m_fieldmode
std::string m_fieldmode
Definition: TRT_TrackExtensionTool_xk.h:162
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::SiCluster
Definition: InnerDetector/InDetRecEvent/InDetPrepRawData/InDetPrepRawData/SiCluster.h:40
plotBeamSpotMon.nc
int nc
Definition: plotBeamSpotMon.py:83
Trk::TrackStateOnSurface::Measurement
@ Measurement
This is a measurement, and will at least contain a Trk::MeasurementBase.
Definition: TrackStateOnSurface.h:101
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
fitman.k
k
Definition: fitman.py:528
InDet::TRT_TrackExtensionTool_xk::m_minNumberDCs
int m_minNumberDCs
Definition: TRT_TrackExtensionTool_xk.h:152
InDet::TRT_TrackExtensionTool_xk::isGoodExtension
bool isGoodExtension(const EventContext &ctx, const Trk::TrackParameters *, InDet::TRT_TrackExtensionTool_xk::EventData &event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const
Definition: TRT_TrackExtensionTool_xk.cxx:448