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_TrackSegmentsMaker_ATLxk Class Reference

#include <TRT_TrackSegmentsMaker_ATLxk.h>

Inheritance diagram for InDet::TRT_TrackSegmentsMaker_ATLxk:
Collaboration diagram for InDet::TRT_TrackSegmentsMaker_ATLxk:

Classes

class  EventData
 

Public Member Functions

 TRT_TrackSegmentsMaker_ATLxk (const std::string &, const std::string &, const IInterface *)
 
virtual ~TRT_TrackSegmentsMaker_ATLxk ()
 
virtual StatusCode initialize () override
 
virtual StatusCode finalize () override
 
virtual std::unique_ptr< InDet::ITRT_TrackSegmentsMaker::IEventDatanewEvent (const EventContext &ctx) const override
 
virtual std::unique_ptr< InDet::ITRT_TrackSegmentsMaker::IEventDatanewRegion (const EventContext &ctx, const std::vector< IdentifierHash > &) const override
 
void endEvent (InDet::ITRT_TrackSegmentsMaker::IEventData &event_data) const override
 
virtual void find (const EventContext &ctx, InDet::ITRT_TrackSegmentsMaker::IEventData &event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const override
 
virtual Trk::TrackSegmentnext (InDet::ITRT_TrackSegmentsMaker::IEventData &event_data) 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

const TRT_TrackSegmentsToolCondData_xkgetConditionsData () const
 
void magneticFieldInit ()
 
void eraseHistogramm (TRT_TrackSegmentsMaker_ATLxk::EventData &event_data) const
 
void fillHistogramm (float, int, TRT_TrackSegmentsMaker_ATLxk::EventData &event_data) const
 
void analyseHistogramm (unsigned char &, unsigned int &, float, int, TRT_TrackSegmentsMaker_ATLxk::EventData &event_data) const
 
unsigned int localMaximum (unsigned int, TRT_TrackSegmentsMaker_ATLxk::EventData &event_data) const
 
void findLocaly (const EventContext &ctx, unsigned int, const Trk::PRDtoTrackMap *prd_to_track_map, TRT_TrackSegmentsMaker_ATLxk::EventData &event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) 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 void segmentsPreparation (TRT_TrackSegmentsMaker_ATLxk::EventData &event_data)
 
static MsgStream & dumpEvent (MsgStream &out, InDet::ITRT_TrackSegmentsMaker::IEventData &event_data)
 

Protected Attributes

StringProperty m_fieldmode
 
ToolHandle< ITRT_TrackExtensionToolm_extensionTool {this, "TrackExtensionTool", "InDet::TRT_TrackExtensionTool_xk"}
 
Trk::MagneticFieldProperties m_fieldprop
 
const TRT_IDm_trtid {}
 
SG::ReadHandleKey< InDet::TRT_DriftCircleContainerm_trtname {this,"TRT_ClustersContainer","TRT_DriftCircles","RHK to retrieve TRT_DriftCircles"}
 
SG::ReadCondHandleKey< InDet::TRT_TrackSegmentsToolCondData_xkm_condDataKey {this, "CondDataKey","TRT_TrackSegmentsToolCondData_xk", "Key of TRT_TrackSegmentsToolCondData"}
 
SG::ReadHandleKey< Trk::PRDtoTrackMapm_prdToTrackMap {this,"PRDtoTrackMap",""}
 
BooleanProperty m_removeNoise {this, "RemoveNoiseDriftCircles", true}
 
IntegerProperty m_clustersCut {this, "MinNumberDriftCircles", 10}
 
FloatProperty m_pTmin {this, "pTmin", 500.}
 
FloatProperty m_sharedfrac {this, "sharedFrac", 0.3}
 
IntegerProperty m_nPhi
 
IntegerProperty m_nMom
 
int m_outputlevel {}
 
int m_Ts {}
 
int m_Ns128 {}
 
float m_Psi {}
 
float m_Psi128 {}
 
float m_A {}
 
float m_Ai {}
 
int m_histsize {}
 

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

Definition at line 44 of file TRT_TrackSegmentsMaker_ATLxk.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_TrackSegmentsMaker_ATLxk()

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

Definition at line 31 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

33  : AthAlgTool(t,n,p)
34 {
35  declareInterface<ITRT_TrackSegmentsMaker>(this);
36 }

◆ ~TRT_TrackSegmentsMaker_ATLxk()

InDet::TRT_TrackSegmentsMaker_ATLxk::~TRT_TrackSegmentsMaker_ATLxk ( )
virtualdefault

Member Function Documentation

◆ analyseHistogramm()

void InDet::TRT_TrackSegmentsMaker_ATLxk::analyseHistogramm ( unsigned char &  max,
unsigned int &  maxbin,
float  Fs,
int  s,
TRT_TrackSegmentsMaker_ATLxk::EventData event_data 
) const
protected

Definition at line 568 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

570 {
571  const TRT_TrackSegmentsToolCondData_xk &condData = *getConditionsData();
572 
573  int s0 = condData.m_ndzdr[s]*m_Ts;
574  int f = int((Fs*m_A-condData.m_slope[s])*128.); if(f<0) f+=m_Ns128;
575  int sf = condData.m_islope[s];
576 
577  // Loop through all momentum slopes
578  //
579  for(int i=s0; i!=s0+m_Ts; i+=m_nPhi) {
580  int k =(f>>7); f+=sf; if(k>=m_nPhi) k-=m_nPhi;
581  if(event_data.m_U.H[k+i] > max) max = event_data.m_U.H[maxbin = k+i];
582  }
583 }

◆ 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_TrackSegmentsMaker_ATLxk::dump ( MsgStream &  out) const
overridevirtual

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 393 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

394 {
395  out<<std::endl;
396  return dumpConditions(out);
397 }

◆ dump() [2/2]

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

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 516 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

517 {
518  return out;
519 }

◆ dumpConditions()

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

Definition at line 403 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

404 {
405 
406  const TRT_TrackSegmentsToolCondData_xk &condData = *getConditionsData();
407 
408  std::string fieldmode[9] ={"NoField" ,"ConstantField","SolenoidalField",
409  "ToroidalField" ,"Grid3DField" ,"RealisticField" ,
410  "UndefinedField","AthenaField" , "?????" };
411 
413  if(mode<0 || mode>8 ) mode = 8;
414 
415  int n = 62-fieldmode[mode].size();
416  std::string s3; for(int i=0; i<n; ++i) s3.append(" "); s3.append("|");
417 
418  n = 62-m_trtname.key().size();
419  std::string s4; for(int i=0; i<n; ++i) s4.append(" "); s4.append("|");
420 
421  n = 62-m_extensionTool.type().size();
422  std::string s7; for(int i=0; i<n; ++i) s7.append(" "); s7.append("|");
423 
424 
425  out<<"|----------------------------------------------------------------------"
426  <<"-------------------|"
427  <<std::endl;
428  out<<"| Tool tracks extension | "<<m_extensionTool.type()<<s7<<std::endl;
429  out<<"| Magnetic field mode | "<<fieldmode[mode] <<s3<<std::endl;
430  out<<"| TRT container | "<<m_trtname.key().size() <<s4<<std::endl;
431  out<<"| Min. number straws | "
432  <<std::setw(12)<<m_clustersCut
433  <<" |"<<std::endl;
434  out<<"| Number neg. bar. layers | "
435  <<std::setw(12)<<condData.m_nlayers[1]
436  <<" |"<<std::endl;
437  out<<"| Number pos. bar. layers | "
438  <<std::setw(12)<<condData.m_nlayers[2]
439  <<" |"<<std::endl;
440  out<<"| Number neg. end. layers | "
441  <<std::setw(12)<<condData.m_nlayers[0]
442  <<" |"<<std::endl;
443  out<<"| Number pos. end. layers | "
444  <<std::setw(12)<<condData.m_nlayers[3]
445  <<" |"<<std::endl;
446  out<<"| Number neg. bar. straws | "
447  <<std::setw(12)<<condData.m_nstraws[1]
448  <<" |"<<std::endl;
449  out<<"| Number pos. bar. straws | "
450  <<std::setw(12)<<condData.m_nstraws[2]
451  <<" |"<<std::endl;
452  out<<"| Number neg. end. straws | "
453  <<std::setw(12)<<condData.m_nstraws[0]
454  <<" |"<<std::endl;
455  out<<"| Number pos. end. straws | "
456  <<std::setw(12)<<condData.m_nstraws[3]
457  <<" |"<<std::endl;
458  out<<"| Number azimut. channels | "
459  <<std::setw(12)<<m_nPhi
460  <<" |"<<std::endl;
461  out<<"| Number moment. channels | "
462  <<std::setw(12)<<m_nMom
463  <<" |"<<std::endl;
464  out<<"| Number histog. channels | "
465  <<std::setw(12)<<m_histsize
466  <<" |"<<std::endl;
467  out<<"| Number cluster links | "
468  <<std::setw(12)<<condData.m_cirsize
469  <<" |"<<std::endl;
470  out<<"| Use PRD-to-track assoc.?| "
471  <<std::setw(12)<< (!m_prdToTrackMap.key().empty() ? "yes" : "no ")
472  <<" |"<<std::endl;
473  out<<"| Remove noise ? | "
474  <<std::setw(12)<<m_removeNoise
475  <<" |"<<std::endl;
476  out<<"|----------------------------------------------------------------------"
477  <<"-------------------|"
478  <<std::endl;
479  return out;
480 }

◆ dumpEvent()

MsgStream & InDet::TRT_TrackSegmentsMaker_ATLxk::dumpEvent ( MsgStream &  out,
InDet::ITRT_TrackSegmentsMaker::IEventData event_data 
)
staticprotected

Definition at line 486 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

488 {
491  out<<"|----------------------------------------------------------------------"
492  <<"-------------------|"
493  <<std::endl;
494  out<<"| Number drift circles | "
495  <<std::setw(12)<<event_data.m_clusters
496  <<" |"<<std::endl;
497  out<<"| Number local calls | "
498  <<std::setw(12)<<event_data.m_nlocal
499  <<" |"<<std::endl;
500  out<<"| Number found segments | "
501  <<std::setw(12)<<event_data.m_nsegments
502  <<" |"<<std::endl;
503  out<<"| Number save segments | "
504  <<std::setw(12)<<event_data.m_segments.size()
505  <<" |"<<std::endl;
506  out<<"|----------------------------------------------------------------------"
507  <<"-------------------|"
508  <<std::endl;
509  return out;
510 }

◆ endEvent()

void InDet::TRT_TrackSegmentsMaker_ATLxk::endEvent ( InDet::ITRT_TrackSegmentsMaker::IEventData event_data) const
overridevirtual

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 281 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

282 {
283  if (msgLvl(MSG::DEBUG)) {
286  dumpEvent(msg(MSG::DEBUG),event_data);
288  msg(MSG::DEBUG) << endmsg;
289  }
290 }

◆ eraseHistogramm()

void InDet::TRT_TrackSegmentsMaker_ATLxk::eraseHistogramm ( TRT_TrackSegmentsMaker_ATLxk::EventData event_data) const
protected

Definition at line 525 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

526 {
527  for(int i=0; i!=m_histsize; i+=10) {
528 
529  event_data.m_U.H4[i ]=0;
530 
531  event_data.m_U.H4[i+1]=0;
532  event_data.m_U.H4[i+2]=0;
533  event_data.m_U.H4[i+3]=0;
534  event_data.m_U.H4[i+4]=0;
535  event_data.m_U.H4[i+5]=0;
536  event_data.m_U.H4[i+6]=0;
537  event_data.m_U.H4[i+7]=0;
538  event_data.m_U.H4[i+8]=0;
539  event_data.m_U.H4[i+9]=0;
540  }
541 }

◆ 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

◆ fillHistogramm()

void InDet::TRT_TrackSegmentsMaker_ATLxk::fillHistogramm ( float  Fs,
int  s,
TRT_TrackSegmentsMaker_ATLxk::EventData event_data 
) const
protected

Definition at line 547 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

549 {
550  const TRT_TrackSegmentsToolCondData_xk &condData = *getConditionsData();
551 
552  int s0 = condData.m_ndzdr[s]*m_Ts;
553  int f = int((Fs*m_A-condData.m_slope[s])*128.); if(f<0) f+=m_Ns128;
554  int sf = condData.m_islope[s];
555 
556  // Loop through all momentum slopes
557  //
558  for(int i=s0; i!=s0+m_Ts; i+=m_nPhi) {
559  int k =(f>>7); f+=sf; k<m_nPhi ? ++event_data.m_U.H[k+i] : ++event_data.m_U.H[k+i-m_nPhi];
560  }
561 }

◆ finalize()

StatusCode InDet::TRT_TrackSegmentsMaker_ATLxk::finalize ( )
overridevirtual

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 99 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

100 {
101  StatusCode sc = AlgTool::finalize(); return sc;
102 }

◆ find()

void InDet::TRT_TrackSegmentsMaker_ATLxk::find ( const EventContext &  ctx,
InDet::ITRT_TrackSegmentsMaker::IEventData event_data,
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap used 
) const
overridevirtual

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 295 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

298 {
301 
302  event_data.m_sizebin_iterator = event_data.m_sizebin.rbegin();
303 
304  if(event_data.m_clusters<m_clustersCut) return;
305 
306  const TRT_TrackSegmentsToolCondData_xk &condData = *getConditionsData();
307 
308  event_data.m_clusterSegment.clear();
309  event_data.m_qualitySegment.clear();
310 
311  unsigned int mc = event_data.m_clusters;
312 
313  for(unsigned int n=0; n!=mc; ++n) {
314 
315  unsigned int b = event_data.m_circles[n].buffer();
316  unsigned int l = event_data.m_circles[n].layer ();
317  unsigned int sb = condData.m_begin[b][l];
318  unsigned int se = condData.m_end [b][l];
319 
320  // Loop through all dz/dr for given cluster
321  //
322  unsigned char max = 0;
323  unsigned int maxbin = 0;
324 
325  for(unsigned int s=sb; s<=se; ++s) {
326  analyseHistogramm(max,maxbin,event_data.m_circles[n].phi(),s,event_data);
327  }
328 
329  if(int(max) > m_clustersCut) {
330  event_data.m_bincluster.insert(std::make_pair(localMaximum(maxbin,event_data),n));
331  }
332  }
333 
335  bc,bce =event_data.m_bincluster.end();
336 
337  unsigned int nbins = 0 ;
338  unsigned int fbin = 99999999;
339  for(bc = event_data.m_bincluster.begin(); bc!=bce; ++bc) {
340 
341  if((*bc).first==fbin) ++nbins;
342  else {
343  if(fbin!=99999999 && nbins>=5) event_data.m_sizebin.insert(std::make_pair(nbins,fbin));
344  fbin=(*bc).first; nbins = 1;
345  }
346  }
347  if(fbin!=99999999 && nbins>=5) event_data.m_sizebin.insert(std::make_pair(nbins,fbin));
348  event_data.m_sizebin_iterator = event_data.m_sizebin.rbegin();
349 
350  // @TODO add to event data
351  SG::ReadHandle<Trk::PRDtoTrackMap> prd_to_track_map;
352  const Trk::PRDtoTrackMap *prd_to_track_map_cptr = nullptr;
353  if (!m_prdToTrackMap.key().empty()) {
355  if (!prd_to_track_map.isValid()) {
356  ATH_MSG_ERROR("Failed to read PRD to track association map: " << m_prdToTrackMap.key());
357  }
358  prd_to_track_map_cptr = prd_to_track_map.cptr();
359  }
360 
361  // Local reconstruction and track segments production
362  //
363  while(event_data.m_sizebin_iterator!=event_data.m_sizebin.rend()) {
364 
365  unsigned int bin =(*event_data.m_sizebin_iterator++).second;
366  findLocaly(ctx, bin,prd_to_track_map_cptr, event_data, used);
367  }
368 
369  // Final segments preparation
370  //
371  segmentsPreparation(event_data);
372 
373  event_data.m_segiterator = event_data.m_segments.begin();
374 }

◆ findLocaly()

void InDet::TRT_TrackSegmentsMaker_ATLxk::findLocaly ( const EventContext &  ctx,
unsigned int  bin,
const Trk::PRDtoTrackMap prd_to_track_map,
TRT_TrackSegmentsMaker_ATLxk::EventData event_data,
InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap used 
) const
protected

Definition at line 589 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

594 {
595  const TRT_TrackSegmentsToolCondData_xk &condData = *getConditionsData();
596 
597  const double pi=M_PI, pi2 = 2.*M_PI;
598 
599  std::multimap<const InDet::TRT_DriftCircle*,Trk::TrackSegment*>::const_iterator
600  cse = event_data.m_clusterSegment.end();
601 
603  bc ,
604  bcb = event_data.m_bincluster.find(bin),
605  bce = event_data.m_bincluster.end() ;
606  int nfree = 0;
607  for(bc=bcb; bc!=bce; ++bc) {
608 
609  if((*bc).first!=bin) break;
610  if(event_data.m_clusterSegment.find(event_data.m_circles[(*bc).second].circle())==cse) ++nfree;
611  }
612  if(nfree<5) return;
613  unsigned int ndzdr = bin/m_Ts;
614  unsigned int b = bin-ndzdr*m_Ts;
615  unsigned int m = b/m_nPhi;
616  float c0 = (1.-float(m)*m_Psi)*m_Ai;
617 
618  bce=bc;
619  float fm = 0. ;
620  float Fo = 0. ;
621  bool first = false;
622  for(bc=bcb; bc!=bce; ++bc) {
623 
624  unsigned int n = (*bc).second;
625 
626  unsigned int b = event_data.m_circles[n].buffer();
627  unsigned int l = event_data.m_circles[n].layer ();
628  unsigned int s = condData.m_begin[b][l];
629  unsigned int se = condData.m_end [b][l];
630 
631  for(; s<= se; ++s) {if(condData.m_ndzdr[s]==ndzdr) break;}
632  if(s>se) continue;
633  float F = event_data.m_circles[n].phi()-condData.m_slope[s]*c0;
634 
635  if(!first) {
636  Fo = F; first = true;
637  }
638  else {
639  float df = F-Fo;
640  if (df > pi) df-=pi2;
641  else if(df <-pi) df+=pi2;
642  fm+=df;
643  }
644  }
645  fm = Fo+fm/float(nfree);
646 
647  if (fm > pi) fm = fmod(fm+pi,pi2)-pi;
648  else if(fm <-pi) fm = fmod(fm-pi,pi2)+pi;
649 
650  double pT = m_pTmin/(double(m)*m_Psi-1.);
651 
652  double pin = 1./(pT*std::sqrt((1.+condData.m_dzdr[ndzdr]*condData.m_dzdr[ndzdr])));
653 
654  Amg::Vector3D PSV(0.,0.,0.); Trk::PerigeeSurface PS(PSV);
655  auto Tp = PS.createUniqueTrackParameters(
656  0., 0., fm, std::atan2(1., condData.m_dzdr[ndzdr]), pin, std::nullopt);
657  ++event_data.m_nlocal;
658 
659  Trk::TrackSegment* seg = m_extensionTool->findSegment(ctx, Tp.get(), *(event_data.m_extEventData),used);
660  if(!seg) return;
661 
662  // Momentum cut
663  //
664  double T = seg->localParameters().get(Trk::theta );
665  double iP = seg->localParameters().get(Trk::qOverP);
666 
667  // ME: let's not use a soft cut here
668  if(std::sin(T) < 0.9*m_pTmin*std::abs(iP)) {delete seg; return;}
669 
670 
671  ++event_data.m_nsegments;
672 
673  bool isbarrel=false;
674  const Trk::MeasurementBase *lastmeas=seg->containedMeasurements().back();
675  if (std::abs(lastmeas->globalPosition().z())<750.) isbarrel=true;
676  // Number drift circles test
677  //
678  unsigned int size = isbarrel ? seg->numberOfMeasurementBases()-1 : seg->numberOfMeasurementBases()-2;
679 
680  if(int(size) < m_clustersCut) {delete seg; return;}
681 
682  std::vector<const Trk::MeasurementBase*>::const_iterator
683  s = seg->containedMeasurements().begin(), se = seg->containedMeasurements().end();
684 
685  if(prd_to_track_map) {
686 
687  // Test number unused drift circles
688  //
689  int nu = 0, ntot = 0;
690  for(++s; s!=se; ++s) {
691 
692  const Trk::RIO_OnTrack* rio = dynamic_cast<const Trk::RIO_OnTrack*>(*s);
693  if(rio) {
694  ++ntot;
695  if (prd_to_track_map->isUsed(*rio->prepRawData())) ++nu;
696  }
697  }
698  // ME: use fraction cut
699  if( nu > int(ntot*m_sharedfrac)) {delete seg; return;}
700  }
701 
702  // Save information about qiality and segment
703  //
704  int quality = size;
705  double Xi2 = seg->fitQuality()->chiSquared()/double(seg->fitQuality()->numberDoF());
706 
707  if(Xi2 > .5) {
708  if (Xi2 > 6) quality-=9;
709  else if(Xi2 > 5.) quality-=7;
710  else if(Xi2 > 3.) quality-=5;
711  else if(Xi2 > 2.) quality-=3;
712  else if(Xi2 > 1.) quality-=1;
713  }
714 
715  event_data.m_qualitySegment.insert(std::make_pair(quality,seg));
716 
717  s = seg->containedMeasurements().begin();
718 
719  // Save information about TRT clusters and segments
720  //
721  for(++s; s!=se; ++s) {
722  const Trk::RIO_OnTrack* rio = dynamic_cast<const Trk::RIO_OnTrack*>(*s);
723  if (!rio) continue;
724  const InDet::TRT_DriftCircle* dc = ((const InDet::TRT_DriftCircleOnTrack*)(*s))->prepRawData();
725  if(dc) event_data.m_clusterSegment.insert(std::make_pair(dc,seg));
726  }
727 }

◆ getConditionsData()

const TRT_TrackSegmentsToolCondData_xk* InDet::TRT_TrackSegmentsMaker_ATLxk::getConditionsData ( ) const
inlineprotected

Definition at line 174 of file TRT_TrackSegmentsMaker_ATLxk.h.

174  {
176  if (not condDataHandle.isValid()) {
177  ATH_MSG_FATAL("Failed to get " << m_condDataKey.key());
178  }
179  return *condDataHandle;
180  }

◆ initialize()

StatusCode InDet::TRT_TrackSegmentsMaker_ATLxk::initialize ( )
overridevirtual

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 50 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

51 {
53 
54  // Initiate magnetic field properties
55  //
57 
58  // Initialize ReadHandle
59  //
61 
62  // Get tool for track extension to TRT
63  //
64  if(m_extensionTool.retrieve().isFailure()) {
65  ATH_MSG_FATAL("Failed to retrieve tool "<< m_extensionTool);
66  return StatusCode::FAILURE;
67  }
68  ATH_MSG_DEBUG("Retrieved tool " << m_extensionTool);
69 
70  // PRD-to-track association (optional)
73 
74  // TRT
75  if (detStore()->retrieve(m_trtid, "TRT_ID").isFailure()) {
76  ATH_MSG_FATAL("Could not get TRT ID helper");
77  return StatusCode::FAILURE;
78  }
79 
80  //Define set of private variables
81  m_Ts = m_nPhi*m_nMom ;
82  m_Psi = 2./float(m_nMom-1) ;
83  m_Psi128 = m_Psi*128. ;
84  m_Ns128 = m_nPhi*128 ;
85  m_A = float(m_nPhi)/(2.*M_PI) ;
86  m_Ai = 1./m_A ;
87  m_histsize = (m_nPhi*m_nMom*26/4) ;
88 
89  // Get output print level
90  //
91  m_outputlevel = msg().level()-MSG::DEBUG;
92  return sc;
93 }

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

Definition at line 110 of file ITRT_TrackSegmentsMaker.h.

111  {
112  return IID_ITRT_TrackSegmentsMaker;
113  }

◆ localMaximum()

unsigned int InDet::TRT_TrackSegmentsMaker_ATLxk::localMaximum ( unsigned int  bin,
TRT_TrackSegmentsMaker_ATLxk::EventData event_data 
) const
protected

Definition at line 762 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

764 {
765  int b = bin-(bin/m_Ts)*m_Ts ;
766  int m = b/m_nPhi ;
767  int f = b-m*m_nPhi ;
768  unsigned int maxb = bin ;
769  unsigned char max = event_data.m_U.H[bin];
770 
771  int a1 = bin-1; if(f== 0 ) a1+=m_nPhi; if(event_data.m_U.H[a1]>max) {max=event_data.m_U.H[a1]; maxb=a1;}
772  int a2 = bin+1; if(f==m_nPhi-1) a2-=m_nPhi; if(event_data.m_U.H[a2]>max) {max=event_data.m_U.H[a2]; maxb=a2;}
773 
774  if ( m < m_nMom-1) {
775 
776  int a = bin+m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
777  a = a1 +m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
778  a = a2 +m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
779 
780  }
781  if ( m > 0 ) {
782 
783  int a = bin-m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
784  a = a1 -m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
785  a = a2 -m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
786  }
787  return maxb;
788 }

◆ magneticFieldInit()

void InDet::TRT_TrackSegmentsMaker_ATLxk::magneticFieldInit ( )
protected

Definition at line 790 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

791 {
792  // Build MagneticFieldProperties
793  //
797 }

◆ 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_TrackSegmentsMaker::IEventData > InDet::TRT_TrackSegmentsMaker_ATLxk::newEvent ( const EventContext &  ctx) const
overridevirtual

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 109 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

110 {
111 
112  const float pi2 = 2.*M_PI;
113 
114  const TRT_TrackSegmentsToolCondData_xk &condData = *getConditionsData();
115 
116  // Get drift circles collection
117  //
119  if(not trtcontainer.isValid()) {
120  std::stringstream msg;
121  msg << name() << " Missing TRT_DriftCircleContainer " << m_trtname.key();
122  throw std::runtime_error(msg.str());
123  }
124 
125  SG::ReadHandle<Trk::PRDtoTrackMap> prd_to_track_map;
126  const Trk::PRDtoTrackMap *prd_to_track_map_cptr = nullptr;
127  if (!m_prdToTrackMap.key().empty()) {
129  if (!prd_to_track_map.isValid()) {
130  ATH_MSG_ERROR("Failed to read PRD to track association map: " << m_prdToTrackMap.key());
131  }
132  prd_to_track_map_cptr = prd_to_track_map.cptr();
133  }
134 
135 
136  std::unique_ptr<TRT_TrackSegmentsMaker_ATLxk::EventData>
137  event_data = std::make_unique<TRT_TrackSegmentsMaker_ATLxk::EventData>(trtcontainer.cptr(), condData.m_cirsize);
138 
139  // Initiate extension tool
140  //
141  event_data->m_extEventData = m_extensionTool->newEvent(ctx);
142 
143  InDet::TRT_DriftCircleContainer::const_iterator
144  w = trtcontainer->begin(),we = trtcontainer->end();
145  int n = 0;
146  if(w!=we) {
147 
148  eraseHistogramm(*event_data);
149 
150  for(; w!=we; ++w) {
151 
152  if(n >= condData.m_cirsize) break;
153 
154  Identifier ID = (*w)->identify();
155  int be = m_trtid->barrel_ec (ID);
156  int lw = m_trtid->layer_or_wheel(ID);
157  int sl = m_trtid->straw_layer (ID);
158 
159  int b; be < 0 ? b = be+2 : b = be+1;
160  int l = condData.m_flayers[b][lw]+sl;
161  unsigned int sb = condData.m_begin[b][l];
162  unsigned int se = condData.m_end [b][l];
163  unsigned int ad = 1000*b+l;
164 
165  // Loop through all clusters from given detector element
166  //
167  InDet::TRT_DriftCircleCollection::const_iterator
168  c = (*w)->begin(), ce = (*w)->end();
169  for(; c!=ce; ++c) {
170 
171  if(prd_to_track_map_cptr && prd_to_track_map_cptr->isUsed(*(*c))) continue;
172  if(m_removeNoise && (*c)->isNoise() ) continue;
173 
174  if(n >= condData.m_cirsize) break;
175 
176  int ns = m_trtid->straw((*c)->identify());
177  const Amg::Vector3D& sc = (*c)->detectorElement()->strawCenter(ns);
178  float Fs = std::atan2(sc.y(),sc.x()); if(Fs<0.) Fs+=pi2;
179  event_data->m_circles[n].set((*c),Fs,ad);
180 
181  // Loop through all dz/dr for given cluster
182  //
183  for(unsigned int s=sb; s<=se; ++s) fillHistogramm (Fs,s,*event_data);
184  ++n;
185  }
186  }
187  }
188  event_data->m_clusters = n;
189  return std::unique_ptr<InDet::ITRT_TrackSegmentsMaker::IEventData>(event_data.release());
190 }

◆ newRegion()

std::unique_ptr< InDet::ITRT_TrackSegmentsMaker::IEventData > InDet::TRT_TrackSegmentsMaker_ATLxk::newRegion ( const EventContext &  ctx,
const std::vector< IdentifierHash > &  vTRT 
) const
overridevirtual

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 197 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

199 {
200  const float pi2 = 2.*M_PI;
201 
202  const TRT_TrackSegmentsToolCondData_xk &condData = *getConditionsData();
203 
204  // Get drift cilrcles collection
205  //
207  if(not trtcontainer.isValid()) {
208  ATH_MSG_DEBUG("Could not get TRT_DriftCircleContainer");
209  }
210 
211  SG::ReadHandle<Trk::PRDtoTrackMap> prd_to_track_map;
212  const Trk::PRDtoTrackMap *prd_to_track_map_cptr = nullptr;
213  if (!m_prdToTrackMap.key().empty()) {
215  if (!prd_to_track_map.isValid()) {
216  ATH_MSG_ERROR("Failed to read PRD to track association map: " << m_prdToTrackMap.key());
217  }
218  prd_to_track_map_cptr = prd_to_track_map.cptr();
219  }
220 
221  std::unique_ptr<TRT_TrackSegmentsMaker_ATLxk::EventData>
222  event_data = std::make_unique<TRT_TrackSegmentsMaker_ATLxk::EventData>(trtcontainer.cptr(), condData.m_cirsize);
223 
224  if(trtcontainer.isValid()) {
225  // Initiate extension tool
226  //
227  event_data->m_extEventData = m_extensionTool->newEvent(ctx);
228 
229  eraseHistogramm(*event_data);
230 
231  std::vector<IdentifierHash>::const_iterator d=vTRT.begin(),de=vTRT.end();
232  int n = 0;
233  for(; d!=de; ++d) {
234 
235  const auto *w = trtcontainer->indexFindPtr((*d));
236 
237  if(w!=nullptr) {
238 
239  Identifier ID = w->identify();
240  int be = m_trtid->barrel_ec (ID);
241  int lw = m_trtid->layer_or_wheel(ID);
242  int sl = m_trtid->straw_layer (ID);
243 
244  int b; be < 0 ? b = be+2 : b = be+1;
245  int l = condData.m_flayers[b][lw]+sl;
246  unsigned int sb = condData.m_begin[b][l];
247  unsigned int se = condData.m_end [b][l];
248  unsigned int ad = 1000*b+l;
249 
250  InDet::TRT_DriftCircleCollection::const_iterator
251  c = w->begin(), ce = w->end();
252 
253  for(; c!=ce; ++c) {
254 
255  if(prd_to_track_map_cptr && prd_to_track_map_cptr->isUsed(*(*c))) continue;
256  if(m_removeNoise && (*c)->isNoise() ) continue;
257 
258  if(n >= condData.m_cirsize) break;
259 
260  int ns = m_trtid->straw((*c)->identify());
261  const Amg::Vector3D& sc = (*c)->detectorElement()->strawCenter(ns);
262  float Fs = std::atan2(sc.y(),sc.x()); if(Fs<0.) Fs+=pi2;
263  event_data->m_circles[n].set((*c),Fs,ad);
264 
265  // Loop through all dz/dr for given cluster
266  //
267  for(unsigned int s=sb; s<=se; ++s) fillHistogramm (Fs,s,*event_data);
268  ++n;
269  }
270  }
271  }
272  event_data->m_clusters = n;
273  }
274  return std::unique_ptr<InDet::ITRT_TrackSegmentsMaker::IEventData>( event_data.release() );
275 }

◆ next()

Trk::TrackSegment * InDet::TRT_TrackSegmentsMaker_ATLxk::next ( InDet::ITRT_TrackSegmentsMaker::IEventData event_data) const
overridevirtual

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 380 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

381 {
384 
385  if(event_data.m_segiterator!=event_data.m_segments.end()) return (*event_data.m_segiterator++);
386  return nullptr;
387 }

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

◆ segmentsPreparation()

void InDet::TRT_TrackSegmentsMaker_ATLxk::segmentsPreparation ( TRT_TrackSegmentsMaker_ATLxk::EventData event_data)
staticprotected

Definition at line 733 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

734 {
735  std::multimap<int,Trk::TrackSegment*>::reverse_iterator
736  qs = event_data.m_qualitySegment.rbegin();
737 
738  for(; qs!=event_data.m_qualitySegment.rend(); ++qs) {
739 
740  int nfree = 0;
741 
742  std::vector<const Trk::MeasurementBase*>::const_iterator
743  s =(*qs).second->containedMeasurements().begin(),
744  se =(*qs).second->containedMeasurements().end ();
745 
746  for(++s; s!=se; ++s) {
747  const Trk::RIO_OnTrack* rio = dynamic_cast<const Trk::RIO_OnTrack*>(*s);
748  if (!rio) continue;
749 
750  const InDet::TRT_DriftCircle* dc = ((const InDet::TRT_DriftCircleOnTrack*)(*s))->prepRawData();
751  if(dc && event_data.m_clusterSegment.erase(dc)) ++nfree;
752  }
753  if(nfree >= 7) event_data.m_segments.push_back((*qs).second);
754  else delete (*qs).second;
755  }
756 }

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

float InDet::TRT_TrackSegmentsMaker_ATLxk::m_A {}
protected

Definition at line 164 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_Ai

float InDet::TRT_TrackSegmentsMaker_ATLxk::m_Ai {}
protected

Definition at line 165 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_clustersCut

IntegerProperty InDet::TRT_TrackSegmentsMaker_ATLxk::m_clustersCut {this, "MinNumberDriftCircles", 10}
protected

Definition at line 151 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_condDataKey

SG::ReadCondHandleKey<InDet::TRT_TrackSegmentsToolCondData_xk> InDet::TRT_TrackSegmentsMaker_ATLxk::m_condDataKey {this, "CondDataKey","TRT_TrackSegmentsToolCondData_xk", "Key of TRT_TrackSegmentsToolCondData"}
protected

Definition at line 146 of file TRT_TrackSegmentsMaker_ATLxk.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_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_extensionTool

ToolHandle<ITRT_TrackExtensionTool> InDet::TRT_TrackSegmentsMaker_ATLxk::m_extensionTool {this, "TrackExtensionTool", "InDet::TRT_TrackExtensionTool_xk"}
protected

Definition at line 140 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_fieldmode

StringProperty InDet::TRT_TrackSegmentsMaker_ATLxk::m_fieldmode
protected
Initial value:
{this, "MagneticFieldMode", "MapSolenoid",
"Mode of magnetic field"}

Definition at line 138 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_fieldprop

Trk::MagneticFieldProperties InDet::TRT_TrackSegmentsMaker_ATLxk::m_fieldprop
protected

Definition at line 143 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_histsize

int InDet::TRT_TrackSegmentsMaker_ATLxk::m_histsize {}
protected

Definition at line 166 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_nMom

IntegerProperty InDet::TRT_TrackSegmentsMaker_ATLxk::m_nMom
protected
Initial value:
{this, "NumberMomentumChannel", 70,
"number momentum channel"}

Definition at line 156 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_nPhi

IntegerProperty InDet::TRT_TrackSegmentsMaker_ATLxk::m_nPhi
protected
Initial value:
{this, "NumberAzimuthalChannel", 500,
"number azimuthal channel"}

Definition at line 154 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_Ns128

int InDet::TRT_TrackSegmentsMaker_ATLxk::m_Ns128 {}
protected

Definition at line 161 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_outputlevel

int InDet::TRT_TrackSegmentsMaker_ATLxk::m_outputlevel {}
protected

Definition at line 159 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_prdToTrackMap

SG::ReadHandleKey<Trk::PRDtoTrackMap> InDet::TRT_TrackSegmentsMaker_ATLxk::m_prdToTrackMap {this,"PRDtoTrackMap",""}
protected

Definition at line 147 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_Psi

float InDet::TRT_TrackSegmentsMaker_ATLxk::m_Psi {}
protected

Definition at line 162 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_Psi128

float InDet::TRT_TrackSegmentsMaker_ATLxk::m_Psi128 {}
protected

Definition at line 163 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_pTmin

FloatProperty InDet::TRT_TrackSegmentsMaker_ATLxk::m_pTmin {this, "pTmin", 500.}
protected

Definition at line 152 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_removeNoise

BooleanProperty InDet::TRT_TrackSegmentsMaker_ATLxk::m_removeNoise {this, "RemoveNoiseDriftCircles", true}
protected

Definition at line 150 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_sharedfrac

FloatProperty InDet::TRT_TrackSegmentsMaker_ATLxk::m_sharedfrac {this, "sharedFrac", 0.3}
protected

Definition at line 153 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_trtid

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

Definition at line 144 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_trtname

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

Definition at line 145 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_Ts

int InDet::TRT_TrackSegmentsMaker_ATLxk::m_Ts {}
protected

Definition at line 160 of file TRT_TrackSegmentsMaker_ATLxk.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.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
used
python.SystemOfUnits.second
int second
Definition: SystemOfUnits.py:120
CalculateHighPtTerm.pT
pT
Definition: ICHEP2016/CalculateHighPtTerm.py:57
InDet::TRT_TrackSegmentsMaker_ATLxk::findLocaly
void findLocaly(const EventContext &ctx, unsigned int, const Trk::PRDtoTrackMap *prd_to_track_map, TRT_TrackSegmentsMaker_ATLxk::EventData &event_data, InDet::TRT_DetElementLink_xk::TRT_DetElemUsedMap &used) const
Definition: TRT_TrackSegmentsMaker_ATLxk.cxx:589
python.tests.PyTestsLib.finalize
def finalize(self)
_info( "content of StoreGate..." ) self.sg.dump()
Definition: PyTestsLib.py:50
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
InDet::TRT_TrackSegmentsMaker_ATLxk::m_outputlevel
int m_outputlevel
Definition: TRT_TrackSegmentsMaker_ATLxk.h:159
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
InDet::TRT_TrackSegmentsMaker_ATLxk::dumpEvent
static MsgStream & dumpEvent(MsgStream &out, InDet::ITRT_TrackSegmentsMaker::IEventData &event_data)
Definition: TRT_TrackSegmentsMaker_ATLxk.cxx:486
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
Trk::MagneticFieldProperties
Definition: MagneticFieldProperties.h:31
ID
std::vector< Identifier > ID
Definition: CalibHitIDCheck.h:24
SG::ReadHandle::cptr
const_pointer_type cptr()
Dereference the pointer.
InDet::TRT_TrackSegmentsMaker_ATLxk::m_histsize
int m_histsize
Definition: TRT_TrackSegmentsMaker_ATLxk.h:166
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
InDet::TRT_TrackSegmentsMaker_ATLxk::m_nMom
IntegerProperty m_nMom
Definition: TRT_TrackSegmentsMaker_ATLxk.h:156
Trk::PerigeeSurface
Definition: PerigeeSurface.h:43
Trk::PRDtoTrackMap
Definition: PRDtoTrackMap.h:17
SG::ReadHandle< Trk::PRDtoTrackMap >
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
hist_file_dump.d
d
Definition: hist_file_dump.py:137
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
InDet::TRT_TrackSegmentsMaker_ATLxk::m_Ai
float m_Ai
Definition: TRT_TrackSegmentsMaker_ATLxk.h:165
python.LumiCalcWorking.lw
lw
Definition: LumiCalcWorking.py:112
initialize
void initialize()
Definition: run_EoverP.cxx:894
InDet::TRT_TrackSegmentsMaker_ATLxk::m_prdToTrackMap
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_prdToTrackMap
Definition: TRT_TrackSegmentsMaker_ATLxk.h:148
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
python.PhysicalConstants.pi2
float pi2
Definition: PhysicalConstants.py:52
M_PI
#define M_PI
Definition: ActiveFraction.h:11
bin
Definition: BinsDiffFromStripMedian.h:43
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
MCP::ScaleSmearParam::s0
@ s0
AthCommonMsg< AlgTool >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
UploadAMITag.l
list l
Definition: UploadAMITag.larcaf.py:158
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
ReadCellNoiseFromCoolCompare.s4
s4
Definition: ReadCellNoiseFromCoolCompare.py:381
InDet::TRT_TrackSegmentsMaker_ATLxk::m_trtid
const TRT_ID * m_trtid
Definition: TRT_TrackSegmentsMaker_ATLxk.h:144
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
Trk::TrackSegment
Definition: TrackSegment.h:56
InDet::TRT_TrackSegmentsMaker_ATLxk::dumpConditions
MsgStream & dumpConditions(MsgStream &out) const
Definition: TRT_TrackSegmentsMaker_ATLxk.cxx:403
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
keylayer_zslicemap.se
se
Definition: keylayer_zslicemap.py:194
InDet::TRT_DriftCircleOnTrack
Definition: TRT_DriftCircleOnTrack.h:53
InDet::TRT_TrackSegmentsMaker_ATLxk::m_sharedfrac
FloatProperty m_sharedfrac
Definition: TRT_TrackSegmentsMaker_ATLxk.h:153
InDet::TRT_DriftCircle
Definition: TRT_DriftCircle.h:32
InDet::TRT_TrackSegmentsMaker_ATLxk::fillHistogramm
void fillHistogramm(float, int, TRT_TrackSegmentsMaker_ATLxk::EventData &event_data) const
Definition: TRT_TrackSegmentsMaker_ATLxk.cxx:548
pi
#define pi
Definition: TileMuonFitter.cxx:65
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
Trk::Segment::numberOfMeasurementBases
unsigned int numberOfMeasurementBases() const
Return the number of contained Trk::MeasurementBase (s)
Definition: Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h:193
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
InDet::TRT_TrackSegmentsMaker_ATLxk::analyseHistogramm
void analyseHistogramm(unsigned char &, unsigned int &, float, int, TRT_TrackSegmentsMaker_ATLxk::EventData &event_data) const
Definition: TRT_TrackSegmentsMaker_ATLxk.cxx:569
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
Trk::FastField
@ FastField
call the fast field access method of the FieldSvc
Definition: MagneticFieldMode.h:20
Trk::LocalParameters::get
double get(ParamDefs par) const
Retrieve specified parameter (const version).
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
hotSpotInTAG.c0
c0
Definition: hotSpotInTAG.py:192
InDet::TRT_TrackSegmentsMaker_ATLxk::getConditionsData
const TRT_TrackSegmentsToolCondData_xk * getConditionsData() const
Definition: TRT_TrackSegmentsMaker_ATLxk.h:174
Ringer::PS
@ PS
Definition: CaloRingsDefs.h:46
mc
Definition: mc.PG_single_nu_valid.py:1
TRT_ID::straw
int straw(const Identifier &id) const
Definition: TRT_ID.h:902
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
lumiFormat.i
int i
Definition: lumiFormat.py:85
InDet::TRT_TrackSegmentsMaker_ATLxk::m_Ts
int m_Ts
Definition: TRT_TrackSegmentsMaker_ATLxk.h:160
beamspotman.n
n
Definition: beamspotman.py:731
Trk::theta
@ theta
Definition: ParamDefs.h:66
endmsg
#define endmsg
Definition: AnalysisConfig_Ntuple.cxx:63
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
Trk::Segment::containedMeasurements
const std::vector< const Trk::MeasurementBase * > & containedMeasurements() const
returns the vector of Trk::MeasurementBase objects
Definition: Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h:166
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
Preparation.mode
mode
Definition: Preparation.py:94
hist_file_dump.f
f
Definition: hist_file_dump.py:135
InDet::TRT_TrackSegmentsMaker_ATLxk::segmentsPreparation
static void segmentsPreparation(TRT_TrackSegmentsMaker_ATLxk::EventData &event_data)
Definition: TRT_TrackSegmentsMaker_ATLxk.cxx:733
ITk::EventData
InDet::SiSpacePointsSeedMakerEventData EventData
Definition: ITkSiSpacePointsSeedMaker.h:63
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
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
TRT_ID::barrel_ec
int barrel_ec(const Identifier &id) const
Values of different levels (failure returns 0)
Definition: TRT_ID.h:866
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
TRT_ID::straw_layer
int straw_layer(const Identifier &id) const
Definition: TRT_ID.h:893
InDet::TRT_TrackSegmentsMaker_ATLxk::m_pTmin
FloatProperty m_pTmin
Definition: TRT_TrackSegmentsMaker_ATLxk.h:152
TRT_ID::layer_or_wheel
int layer_or_wheel(const Identifier &id) const
Definition: TRT_ID.h:884
InDet::TRT_TrackSegmentsMaker_ATLxk::m_trtname
SG::ReadHandleKey< InDet::TRT_DriftCircleContainer > m_trtname
Definition: TRT_TrackSegmentsMaker_ATLxk.h:145
InDet::TRT_TrackSegmentsMaker_ATLxk::m_extensionTool
ToolHandle< ITRT_TrackExtensionTool > m_extensionTool
Definition: TRT_TrackSegmentsMaker_ATLxk.h:141
Trk::PRDtoTrackMap::isUsed
bool isUsed(const PrepRawData &prd) const
does this PRD belong to at least one track?
Trk::FullField
@ FullField
Field is set to be realistic, but within a given Volume.
Definition: MagneticFieldMode.h:21
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
Trk::MeasurementBase
Definition: MeasurementBase.h:58
InDet::TRT_TrackSegmentsMaker_ATLxk::eraseHistogramm
void eraseHistogramm(TRT_TrackSegmentsMaker_ATLxk::EventData &event_data) const
Definition: TRT_TrackSegmentsMaker_ATLxk.cxx:525
Trk::NoField
@ NoField
Field is set to 0., 0., 0.,.
Definition: MagneticFieldMode.h:18
keylayer_zslicemap.sb
sb
Definition: keylayer_zslicemap.py:192
ReadCellNoiseFromCoolCompare.s3
s3
Definition: ReadCellNoiseFromCoolCompare.py:380
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
InDet::TRT_TrackSegmentsMaker_ATLxk::m_condDataKey
SG::ReadCondHandleKey< InDet::TRT_TrackSegmentsToolCondData_xk > m_condDataKey
Definition: TRT_TrackSegmentsMaker_ATLxk.h:146
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
plotBeamSpotVxVal.bin
int bin
Definition: plotBeamSpotVxVal.py:83
InDet::TRT_TrackSegmentsMaker_ATLxk::m_removeNoise
BooleanProperty m_removeNoise
Definition: TRT_TrackSegmentsMaker_ATLxk.h:150
InDet::TRT_TrackSegmentsMaker_ATLxk::m_Psi
float m_Psi
Definition: TRT_TrackSegmentsMaker_ATLxk.h:162
InDet::TRT_TrackSegmentsMaker_ATLxk::m_fieldprop
Trk::MagneticFieldProperties m_fieldprop
Definition: TRT_TrackSegmentsMaker_ATLxk.h:143
Trk::MeasurementBase::globalPosition
virtual const Amg::Vector3D & globalPosition() const =0
Interface method to get the global Position.
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
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.
SCT_CalibAlgs::nbins
@ nbins
Definition: SCT_CalibNumbers.h:10
Trk::MeasurementBase::localParameters
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
Definition: MeasurementBase.h:132
InDet::TRT_TrackSegmentsMaker_ATLxk::m_nPhi
IntegerProperty m_nPhi
Definition: TRT_TrackSegmentsMaker_ATLxk.h:154
a
TList * a
Definition: liststreamerinfos.cxx:10
h
InDet::TRT_TrackSegmentsMaker_ATLxk::m_Ns128
int m_Ns128
Definition: TRT_TrackSegmentsMaker_ATLxk.h:161
InDet::TRT_TrackSegmentsMaker_ATLxk::m_fieldmode
StringProperty m_fieldmode
Definition: TRT_TrackSegmentsMaker_ATLxk.h:138
InDet::TRT_TrackSegmentsMaker_ATLxk::m_A
float m_A
Definition: TRT_TrackSegmentsMaker_ATLxk.h:164
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
InDet::TRT_TrackSegmentsMaker_ATLxk::m_Psi128
float m_Psi128
Definition: TRT_TrackSegmentsMaker_ATLxk.h:163
DeMoScan.first
bool first
Definition: DeMoScan.py:536
DEBUG
#define DEBUG
Definition: page_access.h:11
F
#define F(x, y, z)
Definition: MD5.cxx:112
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
Trk::qOverP
@ qOverP
perigee
Definition: ParamDefs.h:67
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
Trk::FitQuality::chiSquared
double chiSquared() const
returns the of the overall track fit
Definition: FitQuality.h:56
python.SystemOfUnits.ns
int ns
Definition: SystemOfUnits.py:130
InDet::TRT_TrackSegmentsMaker_ATLxk::m_clustersCut
IntegerProperty m_clustersCut
Definition: TRT_TrackSegmentsMaker_ATLxk.h:151
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
Trk::FitQuality::numberDoF
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition: FitQuality.h:60
Trk::EventDataBase< EventData, InDet::ITRT_TrackSegmentsMaker::IEventData >::getPrivateEventData
static EventData & getPrivateEventData(InDet::ITRT_TrackSegmentsMaker::IEventData &virt_event_data)
Definition: EventDataBase.h:19
InDet::TRT_TrackSegmentsMaker_ATLxk::magneticFieldInit
void magneticFieldInit()
Definition: TRT_TrackSegmentsMaker_ATLxk.cxx:790
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
python.IoTestsLib.w
def w
Definition: IoTestsLib.py:200
covarianceTool.mc
mc
Definition: covarianceTool.py:554
Trk::Segment::fitQuality
const FitQuality * fitQuality() const
return the FitQuality object, returns NULL if no FitQuality is defined
Definition: Tracking/TrkEvent/TrkSegment/TrkSegment/Segment.h:160
InDet::TRT_TrackSegmentsMaker_ATLxk::localMaximum
unsigned int localMaximum(unsigned int, TRT_TrackSegmentsMaker_ATLxk::EventData &event_data) const
Definition: TRT_TrackSegmentsMaker_ATLxk.cxx:763
python.compressB64.c
def c
Definition: compressB64.py:93
PlotCalibFromCool.be
be
Definition: PlotCalibFromCool.py:398
python.TriggerAPI.TriggerAPISession.df
df
Definition: TriggerAPISession.py:432
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
readCCLHist.float
float
Definition: readCCLHist.py:83
TSU::T
unsigned long long T
Definition: L1TopoDataTypes.h:35
fitman.k
k
Definition: fitman.py:528
Identifier
Definition: IdentifierFieldParser.cxx:14