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

std::string 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",""}
 
bool m_removeNoise
 
int m_outputlevel {}
 
int m_clustersCut
 
int m_Ts {}
 
int m_Ns128 {}
 
float m_pTmin
 
float m_sharedfrac
 
float m_Psi {}
 
float m_Psi128 {}
 
float m_A {}
 
float m_Ai {}
 
int m_nPhi
 
int m_nMom
 
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  m_fieldmode ("MapSolenoid" ),
35  m_removeNoise (true ),
36  m_clustersCut (10 ),
37  m_pTmin (500. ),
38  m_sharedfrac (0.3 ),
39  m_nPhi (500 ),
40  m_nMom (70 )
41 {
42  declareInterface<ITRT_TrackSegmentsMaker>(this);
43 
44  declareProperty("MagneticFieldMode" ,m_fieldmode );
45  declareProperty("NumberAzimuthalChannel" ,m_nPhi );
46  declareProperty("NumberMomentumChannel" ,m_nMom );
47  declareProperty("MinNumberDriftCircles" ,m_clustersCut );
48  declareProperty("RemoveNoiseDriftCircles",m_removeNoise );
49  declareProperty("pTmin" ,m_pTmin );
50  declareProperty("sharedFrac" ,m_sharedfrac );
51 
52 }

◆ ~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 584 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

586 {
587  const TRT_TrackSegmentsToolCondData_xk &condData = *getConditionsData();
588 
589  int s0 = condData.m_ndzdr[s]*m_Ts;
590  int f = int((Fs*m_A-condData.m_slope[s])*128.); if(f<0) f+=m_Ns128;
591  int sf = condData.m_islope[s];
592 
593  // Loop through all momentum slopes
594  //
595  for(int i=s0; i!=s0+m_Ts; i+=m_nPhi) {
596  int k =(f>>7); f+=sf; if(k>=m_nPhi) k-=m_nPhi;
597  if(event_data.m_U.H[k+i] > max) max = event_data.m_U.H[maxbin = k+i];
598  }
599 }

◆ 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 409 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

410 {
411  out<<std::endl;
412  return dumpConditions(out);
413 }

◆ dump() [2/2]

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

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 532 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

533 {
534  return out;
535 }

◆ dumpConditions()

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

Definition at line 419 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

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

◆ dumpEvent()

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

Definition at line 502 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

504 {
507  out<<"|----------------------------------------------------------------------"
508  <<"-------------------|"
509  <<std::endl;
510  out<<"| Number drift circles | "
511  <<std::setw(12)<<event_data.m_clusters
512  <<" |"<<std::endl;
513  out<<"| Number local calls | "
514  <<std::setw(12)<<event_data.m_nlocal
515  <<" |"<<std::endl;
516  out<<"| Number found segments | "
517  <<std::setw(12)<<event_data.m_nsegments
518  <<" |"<<std::endl;
519  out<<"| Number save segments | "
520  <<std::setw(12)<<event_data.m_segments.size()
521  <<" |"<<std::endl;
522  out<<"|----------------------------------------------------------------------"
523  <<"-------------------|"
524  <<std::endl;
525  return out;
526 }

◆ endEvent()

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

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 297 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

298 {
299  if (msgLvl(MSG::DEBUG)) {
302  dumpEvent(msg(MSG::DEBUG),event_data);
304  msg(MSG::DEBUG) << endmsg;
305  }
306 }

◆ eraseHistogramm()

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

Definition at line 541 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

542 {
543  for(int i=0; i!=m_histsize; i+=10) {
544 
545  event_data.m_U.H4[i ]=0;
546 
547  event_data.m_U.H4[i+1]=0;
548  event_data.m_U.H4[i+2]=0;
549  event_data.m_U.H4[i+3]=0;
550  event_data.m_U.H4[i+4]=0;
551  event_data.m_U.H4[i+5]=0;
552  event_data.m_U.H4[i+6]=0;
553  event_data.m_U.H4[i+7]=0;
554  event_data.m_U.H4[i+8]=0;
555  event_data.m_U.H4[i+9]=0;
556  }
557 }

◆ 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 563 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

565 {
566  const TRT_TrackSegmentsToolCondData_xk &condData = *getConditionsData();
567 
568  int s0 = condData.m_ndzdr[s]*m_Ts;
569  int f = int((Fs*m_A-condData.m_slope[s])*128.); if(f<0) f+=m_Ns128;
570  int sf = condData.m_islope[s];
571 
572  // Loop through all momentum slopes
573  //
574  for(int i=s0; i!=s0+m_Ts; i+=m_nPhi) {
575  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];
576  }
577 }

◆ finalize()

StatusCode InDet::TRT_TrackSegmentsMaker_ATLxk::finalize ( )
overridevirtual

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 115 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

116 {
117  StatusCode sc = AlgTool::finalize(); return sc;
118 }

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

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

◆ 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 605 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

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

◆ getConditionsData()

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

Definition at line 170 of file TRT_TrackSegmentsMaker_ATLxk.h.

170  {
172  if (not condDataHandle.isValid()) {
173  ATH_MSG_FATAL("Failed to get " << m_condDataKey.key());
174  }
175  return *condDataHandle;
176  }

◆ initialize()

StatusCode InDet::TRT_TrackSegmentsMaker_ATLxk::initialize ( )
overridevirtual

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 66 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

67 {
69 
70  // Initiate magnetic field properties
71  //
73 
74  // Initialize ReadHandle
75  //
77 
78  // Get tool for track extension to TRT
79  //
80  if(m_extensionTool.retrieve().isFailure()) {
81  ATH_MSG_FATAL("Failed to retrieve tool "<< m_extensionTool);
82  return StatusCode::FAILURE;
83  }
84  ATH_MSG_DEBUG("Retrieved tool " << m_extensionTool);
85 
86  // PRD-to-track association (optional)
89 
90  // TRT
91  if (detStore()->retrieve(m_trtid, "TRT_ID").isFailure()) {
92  ATH_MSG_FATAL("Could not get TRT ID helper");
93  return StatusCode::FAILURE;
94  }
95 
96  //Define set of private variables
97  m_Ts = m_nPhi*m_nMom ;
98  m_Psi = 2./float(m_nMom-1) ;
99  m_Psi128 = m_Psi*128. ;
100  m_Ns128 = m_nPhi*128 ;
101  m_A = float(m_nPhi)/(2.*M_PI) ;
102  m_Ai = 1./m_A ;
103  m_histsize = (m_nPhi*m_nMom*26/4) ;
104 
105  // Get output print level
106  //
107  m_outputlevel = msg().level()-MSG::DEBUG;
108  return sc;
109 }

◆ 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 778 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

780 {
781  int b = bin-(bin/m_Ts)*m_Ts ;
782  int m = b/m_nPhi ;
783  int f = b-m*m_nPhi ;
784  unsigned int maxb = bin ;
785  unsigned char max = event_data.m_U.H[bin];
786 
787  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;}
788  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;}
789 
790  if ( m < m_nMom-1) {
791 
792  int a = bin+m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
793  a = a1 +m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
794  a = a2 +m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
795 
796  }
797  if ( m > 0 ) {
798 
799  int a = bin-m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
800  a = a1 -m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
801  a = a2 -m_nPhi; if(event_data.m_U.H[a]>max) {max=event_data.m_U.H[a]; maxb=a;}
802  }
803  return maxb;
804 }

◆ magneticFieldInit()

void InDet::TRT_TrackSegmentsMaker_ATLxk::magneticFieldInit ( )
protected

Definition at line 806 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

807 {
808  // Build MagneticFieldProperties
809  //
813 }

◆ 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 125 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

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

◆ 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 213 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

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

◆ next()

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

Implements InDet::ITRT_TrackSegmentsMaker.

Definition at line 396 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

397 {
400 
401  if(event_data.m_segiterator!=event_data.m_segments.end()) return (*event_data.m_segiterator++);
402  return nullptr;
403 }

◆ 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 749 of file TRT_TrackSegmentsMaker_ATLxk.cxx.

750 {
751  std::multimap<int,Trk::TrackSegment*>::reverse_iterator
752  qs = event_data.m_qualitySegment.rbegin();
753 
754  for(; qs!=event_data.m_qualitySegment.rend(); ++qs) {
755 
756  int nfree = 0;
757 
758  std::vector<const Trk::MeasurementBase*>::const_iterator
759  s =(*qs).second->containedMeasurements().begin(),
760  se =(*qs).second->containedMeasurements().end ();
761 
762  for(++s; s!=se; ++s) {
763  const Trk::RIO_OnTrack* rio = dynamic_cast<const Trk::RIO_OnTrack*>(*s);
764  if (!rio) continue;
765 
766  const InDet::TRT_DriftCircle* dc = ((const InDet::TRT_DriftCircleOnTrack*)(*s))->prepRawData();
767  if(dc && event_data.m_clusterSegment.erase(dc)) ++nfree;
768  }
769  if(nfree >= 7) event_data.m_segments.push_back((*qs).second);
770  else delete (*qs).second;
771  }
772 }

◆ 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 158 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_Ai

float InDet::TRT_TrackSegmentsMaker_ATLxk::m_Ai {}
protected

Definition at line 159 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_clustersCut

int InDet::TRT_TrackSegmentsMaker_ATLxk::m_clustersCut
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 145 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 139 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_fieldmode

std::string InDet::TRT_TrackSegmentsMaker_ATLxk::m_fieldmode
protected

Definition at line 138 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_fieldprop

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

Definition at line 142 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_histsize

int InDet::TRT_TrackSegmentsMaker_ATLxk::m_histsize {}
protected

Definition at line 162 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_nMom

int InDet::TRT_TrackSegmentsMaker_ATLxk::m_nMom
protected

Definition at line 161 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_nPhi

int InDet::TRT_TrackSegmentsMaker_ATLxk::m_nPhi
protected

Definition at line 160 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_Ns128

int InDet::TRT_TrackSegmentsMaker_ATLxk::m_Ns128 {}
protected

Definition at line 153 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_outputlevel

int InDet::TRT_TrackSegmentsMaker_ATLxk::m_outputlevel {}
protected

Definition at line 150 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_prdToTrackMap

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

Definition at line 146 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_Psi

float InDet::TRT_TrackSegmentsMaker_ATLxk::m_Psi {}
protected

Definition at line 156 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_Psi128

float InDet::TRT_TrackSegmentsMaker_ATLxk::m_Psi128 {}
protected

Definition at line 157 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_pTmin

float InDet::TRT_TrackSegmentsMaker_ATLxk::m_pTmin
protected

Definition at line 154 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_removeNoise

bool InDet::TRT_TrackSegmentsMaker_ATLxk::m_removeNoise
protected

Definition at line 149 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_sharedfrac

float InDet::TRT_TrackSegmentsMaker_ATLxk::m_sharedfrac
protected

Definition at line 155 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_trtid

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

Definition at line 143 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 144 of file TRT_TrackSegmentsMaker_ATLxk.h.

◆ m_Ts

int InDet::TRT_TrackSegmentsMaker_ATLxk::m_Ts {}
protected

Definition at line 152 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:605
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:150
python.SystemOfUnits.s
int s
Definition: SystemOfUnits.py:131
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
max
#define max(a, b)
Definition: cfImp.cxx:41
InDet::TRT_TrackSegmentsMaker_ATLxk::dumpEvent
static MsgStream & dumpEvent(MsgStream &out, InDet::ITRT_TrackSegmentsMaker::IEventData &event_data)
Definition: TRT_TrackSegmentsMaker_ATLxk.cxx:502
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:162
CaloCellPos2Ntuple.int
int
Definition: CaloCellPos2Ntuple.py:24
InDet::TRT_TrackSegmentsMaker_ATLxk::m_pTmin
float m_pTmin
Definition: TRT_TrackSegmentsMaker_ATLxk.h:154
Trk::PerigeeSurface
Definition: PerigeeSurface.h:43
Trk::PRDtoTrackMap
Definition: PRDtoTrackMap.h:17
SG::ReadHandle< Trk::PRDtoTrackMap >
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
hist_file_dump.d
d
Definition: hist_file_dump.py:137
InDet::TRT_TrackSegmentsMaker_ATLxk::m_Ai
float m_Ai
Definition: TRT_TrackSegmentsMaker_ATLxk.h:159
InDet::TRT_TrackSegmentsMaker_ATLxk::m_nMom
int m_nMom
Definition: TRT_TrackSegmentsMaker_ATLxk.h:161
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:147
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:143
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:419
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_TrackSegmentsMaker_ATLxk::m_sharedfrac
float m_sharedfrac
Definition: TRT_TrackSegmentsMaker_ATLxk.h:155
keylayer_zslicemap.se
se
Definition: keylayer_zslicemap.py:194
InDet::TRT_DriftCircleOnTrack
Definition: TRT_DriftCircleOnTrack.h:53
SCT_CalibAlgs::nbins
@ nbins
Definition: SCT_CalibNumbers.h:10
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:564
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:585
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:27
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:170
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:152
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:749
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_clustersCut
int m_clustersCut
Definition: TRT_TrackSegmentsMaker_ATLxk.h:151
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:144
InDet::TRT_TrackSegmentsMaker_ATLxk::m_extensionTool
ToolHandle< ITRT_TrackExtensionTool > m_extensionTool
Definition: TRT_TrackSegmentsMaker_ATLxk.h:140
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:
InDet::TRT_TrackSegmentsMaker_ATLxk::m_removeNoise
bool m_removeNoise
Definition: TRT_TrackSegmentsMaker_ATLxk.h:149
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:541
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:145
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
plotBeamSpotVxVal.bin
int bin
Definition: plotBeamSpotVxVal.py:83
InDet::TRT_TrackSegmentsMaker_ATLxk::m_Psi
float m_Psi
Definition: TRT_TrackSegmentsMaker_ATLxk.h:156
InDet::TRT_TrackSegmentsMaker_ATLxk::m_fieldprop
Trk::MagneticFieldProperties m_fieldprop
Definition: TRT_TrackSegmentsMaker_ATLxk.h:142
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.
InDet::TRT_TrackSegmentsMaker_ATLxk::m_fieldmode
std::string m_fieldmode
Definition: TRT_TrackSegmentsMaker_ATLxk.h:138
Trk::MeasurementBase::localParameters
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
Definition: MeasurementBase.h:132
a
TList * a
Definition: liststreamerinfos.cxx:10
h
InDet::TRT_TrackSegmentsMaker_ATLxk::m_Ns128
int m_Ns128
Definition: TRT_TrackSegmentsMaker_ATLxk.h:153
InDet::TRT_TrackSegmentsMaker_ATLxk::m_A
float m_A
Definition: TRT_TrackSegmentsMaker_ATLxk.h:158
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
InDet::TRT_TrackSegmentsMaker_ATLxk::m_Psi128
float m_Psi128
Definition: TRT_TrackSegmentsMaker_ATLxk.h:157
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
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:806
drawFromPickle.sin
sin
Definition: drawFromPickle.py:36
InDet::TRT_TrackSegmentsMaker_ATLxk::m_nPhi
int m_nPhi
Definition: TRT_TrackSegmentsMaker_ATLxk.h:160
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:779
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