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

#include <SiTrackerSpacePointFinder.h>

Inheritance diagram for InDet::SiTrackerSpacePointFinder:
Collaboration diagram for InDet::SiTrackerSpacePointFinder:

Classes

struct  SPFCache
 This is a temporary object to aid reentrant coding. More...
 

Public Member Functions

virtual StatusCode sysInitialize () override
 Override sysInitialize. More...
 
virtual unsigned int cardinality () const override
 Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
 
virtual StatusCode sysExecute (const EventContext &ctx) override
 Execute an algorithm. More...
 
virtual const DataObjIDColl & extraOutputDeps () const override
 Return the list of extra output dependencies. More...
 
virtual bool filterPassed (const EventContext &ctx) const
 
virtual void setFilterPassed (bool state, const EventContext &ctx) const
 
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 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
 
AthReentrantAlgorithm methods
 SiTrackerSpacePointFinder (const std::string &name, ISvcLocator *pSvcLocator)
 
virtual ~SiTrackerSpacePointFinder ()=default
 
virtual StatusCode initialize () override
 
virtual StatusCode execute (const EventContext &ctx) const override
 
virtual StatusCode finalize () override
 
virtual bool isClonable () const override
 Make this algorithm clonable. More...
 

Protected Member Functions

void renounceArray (SG::VarHandleKeyArray &handlesArray)
 remove all handles from I/O resolution More...
 
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > renounce (T &h)
 
void extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps)
 Add StoreName to extra input/output deps as needed. More...
 

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...
 
Disallow constructor without parameters, copy constructor, assignment operator
 SiTrackerSpacePointFinder ()=delete
 
 SiTrackerSpacePointFinder (const SiTrackerSpacePointFinder &)=delete
 
SiTrackerSpacePointFinderoperator= (const SiTrackerSpacePointFinder &)=delete
 
Main SCT space point methods
void addSCT_SpacePoints (const SCT_ClusterCollection *next, const SiElementPropertiesTable *properties, const InDetDD::SiDetectorElementCollection *elements, SpacePointCollection *spacepointCollection, SpacePointOverlapCollection *spacepointOverlapCollection, SPFCache &, DataPool< SCT_SpacePoint > *dataItemsSCT) const
 

Private Attributes

DataObjIDColl m_extendedExtraObjects
 Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
 
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
 
Input data using SG::ReadHandleKey
SG::ReadHandleKey< SCT_ClusterContainerm_Sct_clcontainerKey {this, "SCT_ClustersName", "SCT clContainer"}
 
SG::ReadHandleKey< PixelClusterContainerm_Pixel_clcontainerKey {this, "PixelsClustersName", "PixelClusters", "Pixel clContainer"}
 
Input condition data using SG::ReadCondHandleKey
SG::ReadCondHandleKey< InDet::BeamSpotDatam_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" }
 For beam spot. More...
 
SG::ReadCondHandleKey< InDet::SiElementPropertiesTablem_SCTPropertiesKey {this, "SCTPropertiesKey", "SCT_ElementPropertiesTable", "Key of input SiElementPropertiesTable for SCT"}
 To get SCT neighbours. More...
 
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollectionm_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}
 For SCT alignment. More...
 
Output data using SG::WriteHandleKey
SG::WriteHandleKey< SpacePointContainerm_SpacePointContainer_SCTKey {this, "SpacePointsSCTName", "SCT_SpacePoints", "SpacePoint SCT container"}
 
SG::WriteHandleKey< SpacePointContainerm_SpacePointContainerPixelKey {this, "SpacePointsPixelName", "PixelSpacePoints", "SpacePoint Pixel container"}
 
SG::WriteHandleKey< SpacePointOverlapCollectionm_spacepointoverlapCollectionKey {this, "SpacePointsOverlapName", "OverlapSpacePoints", "Space Point Overlap collection"}
 
Caches for HLT using SG::UpdateHandleKey
SG::UpdateHandleKey< SpacePointCachem_SpacePointCache_SCTKey
 
SG::UpdateHandleKey< SpacePointCachem_SpacePointCache_PixKey
 
ToolHandle
ToolHandle< SiSpacePointMakerToolm_SiSpacePointMakerTool {this, "SiSpacePointMakerTool", "InDet::SiSpacePointMakerTool"}
 
ToolHandle< GenericMonitoringToolm_monTool {this, "monTool", "", "Monitoring tool"}
 
Id helpers
const PixelIDm_idHelperPixel {nullptr}
 
const SCT_IDm_idHelper {nullptr}
 
Configuration flags
bool m_selectPixels
 
bool m_selectSCTs
 
bool m_overlap
 process all overlapping SCT pairs if true. More...
 
bool m_allClusters
 process all clusters without limits if true. More...
 
bool m_cachemode {false}
 used for online MT counters More...
 
Gaudi::Property< bool > m_useDataPoolWithCache
 
Cut parameters

The following are ranges within which clusters must lie to make a spacepoint.

Opposite and eta neighbours clusters must lie within range of each other. Phi clusters must lie in region of each wafer separately.

float m_overlapLimitOpposite
 overlap limit for opposite-neighbours. More...
 
float m_overlapLimitPhi
 overlap limit for phi-neighbours. More...
 
float m_overlapLimitEtaMin
 low overlap limit for eta-neighbours. More...
 
float m_overlapLimitEtaMax
 high overlap limit for eta-neighbours. More...
 
Beam spot override
bool m_overrideBS
 
float m_xVertex
 
float m_yVertex
 
float m_zVertex
 
Counters

Use mutable to be updated in const methods.

AthReentrantAlgorithm is const during event processing. Use std::atomic to be multi-thread safe.

std::atomic< int > m_numberOfEvents {0}
 
std::atomic< int > m_numberOfPixel {0}
 
std::atomic< int > m_numberOfSCT {0}
 
std::atomic< int > m_sctCacheHits {0}
 
std::atomic< int > m_pixCacheHits {0}
 

Detailed Description

This version of PointFinder uses SiCluster to find space points in the pixel and SCT detectors. The algorithm retrieves all clusters from StoreGate using SG::ReadHandle(Key) and uses the begin-end iterators to iterate over the clusters. It then has to see whether the next cluster is a pixel or SCT cluster. Pixel space points are obtained directly from the clusters. To make SCT space points we also need the IdentifiableContainer for the SCT clusters, since we need random access to find overlapping detectors on the stereo layer. Space points are made by combining clusters from pairs of overlapping detectors. The user can choose just to process the phi wafer and its opposite on the stereo layer, or also to consider overlaps with the four nearest neighbours of the opposite wafer.
The space points are wrtten to Storegate as SpacePointContainer for Pixels and non-overlapping SCT space points and as SpacePointOverlapCollection for the overlapping ones.

Job Options: Process pixels: default true Process SCTs: default true Process overlaps: default true SCT IdentifiableContainer name: default "SCT_Clusters" SCT SpacePointSet name: default "SCT_SpacePoints"

Fatal Errors: neither pixels nor SCTs selected SCTs selected and no name for SCT Identifiable Collection No name for SpacePointSet Failure to retrieve event StoreGate failure.

Possible errors for which processing continues: No clusters found for event Implementation of SCT_Neighbours is SiElementPropertiesTable, is prepared by SiElementPropertiesTableCondAlg and is stored in StoreGate using SG::WriteCondHandle(Key).

Definition at line 83 of file SiTrackerSpacePointFinder.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ SiTrackerSpacePointFinder() [1/3]

InDet::SiTrackerSpacePointFinder::SiTrackerSpacePointFinder ( const std::string &  name,
ISvcLocator *  pSvcLocator 
)

Definition at line 41 of file SiTrackerSpacePointFinder.cxx.

41 {
42  declareProperty("ProcessPixels", m_selectPixels=true);
43  declareProperty("ProcessSCTs", m_selectSCTs=true);
44  declareProperty("ProcessOverlaps", m_overlap=true, "process overlaps of SCT wafers.");
45  declareProperty("AllClusters", m_allClusters=false, "process all clusters without limits.");
46  declareProperty("OverlapLimitOpposite", m_overlapLimitOpposite=2.8, "overlap limit for opposite-neighbour.");
47  declareProperty("OverlapLimitPhi", m_overlapLimitPhi=5.64, "overlap limit for phi-neighbours.");
48  declareProperty("OverlapLimitEtaMin", m_overlapLimitEtaMin=1.68, "low overlap limit for eta-neighbours.");
49  declareProperty("OverlapLimitEtaMax", m_overlapLimitEtaMax=3.0, "high overlap limit for eta-neighbours.");
50  declareProperty("OverrideBeamSpot", m_overrideBS=false);
51  declareProperty("VertexX", m_xVertex=0.);
52  declareProperty("VertexY", m_yVertex=0.);
53  declareProperty("VertexZ", m_zVertex=0.);
54 
55  declareProperty("SpacePointCacheSCT", m_SpacePointCache_SCTKey="");
56  declareProperty("SpacePointCachePix", m_SpacePointCache_PixKey="");
57 }
58 
59 //-----------------------------------------------------------------------

◆ ~SiTrackerSpacePointFinder()

virtual InDet::SiTrackerSpacePointFinder::~SiTrackerSpacePointFinder ( )
virtualdefault

◆ SiTrackerSpacePointFinder() [2/3]

InDet::SiTrackerSpacePointFinder::SiTrackerSpacePointFinder ( )
privatedelete

◆ SiTrackerSpacePointFinder() [3/3]

InDet::SiTrackerSpacePointFinder::SiTrackerSpacePointFinder ( const SiTrackerSpacePointFinder )
privatedelete

Member Function Documentation

◆ addSCT_SpacePoints()

void InDet::SiTrackerSpacePointFinder::addSCT_SpacePoints ( const SCT_ClusterCollection next,
const SiElementPropertiesTable properties,
const InDetDD::SiDetectorElementCollection elements,
SpacePointCollection spacepointCollection,
SpacePointOverlapCollection spacepointOverlapCollection,
SPFCache r_cache,
DataPool< SCT_SpacePoint > *  dataItemsSCT 
) const
private

Definition at line 388 of file SiTrackerSpacePointFinder.cxx.

392 {
393  // For each trigger element, first evaluate and collect the quantities you need to build the space points.
394  // The detector element array has capacity 6:
395  // [0] is the trigger element
396  // [1] is the opposite element
397  // [2]-[3] are the elements tested for eta overlaps
398  // [4]-[5] are the elements tested for phi overlaps
399  // For each element you save the corresponding cluster collections and the
400  // space point compatibility range as described below.
401  //
402  // For the opposite element and the ones tested for eta overlaps, you have to check
403  // if clusters are compatible with the local position of the trigger cluster
404  // requiring that the distance between the two clusters in phi is withing a specified range.
405  // - For the clusters on the opposite element: [-m_overlapLimitOpposite, m_overlapLimitOpposite]
406  //
407  // - For the eta overlapping clusters : you use m_overlapLimitEtaMin and m_overlapLimitEtaMax
408  // in different combination depending if you are checking a stereo module or not
409  //
410  // For each element, the extremes of these ranges are saved in the overlapExtents array
411  // which is later on used in SiSpacePointMakerTool::fillSCT_SpacePointCollection
412  // - overlapExtents[0], overlapExtents[1] are filled for the opposite element
413  // - overlapExtents[2], overlapExtents[3], overlapExtents[4], overlapExtents[5] are filled for the eta overlapping elements
414  //
415  // For the elements tested for phi overlaps, you have to check
416  // if clusters are compatible with the local position of the trigger cluster.
417  // This needs that the trigger cluster is at the edge of the trigger module:
418  // e.g. -hwidth < locX_trigger < -hwidth+m_overlapLimitPhi (or hwidth-m_overlapLimitPhi < locX_trigger < hwidth)
419  // and that the other cluster is on the compatible edge of its module:
420  // e.g. hwidth-m_overlapLimitPhi < locX_other < hwidth (or -hwidth < locX_other < -hwidth+m_overlapLimitPhi)
421  //
422  // For each element, the extremes of these ranges are saved in the overlapExtents array
423  // which is later on used in SiSpacePointMakerTool::fillSCT_SpacePointCollection
424  // - overlapExtents[6], overlapExtents[7], overlapExtents[10], overlapExtents[11]
425  // overlapExtents[8], overlapExtents[9], overlapExtents[12], overlapExtents[13] are filled for the phi overlapping elements
426 
428 
429  std::array<const SCT_ClusterCollection*, nNeighbours> neighbourClusters{};
430  std::array<const InDetDD::SiDetectorElement*, nNeighbours> neighbourElements{};
431  std::array<double, 14> overlapExtents{};
432 
433  // Get the detector element (and its Identifier) correspoding to the cluster collection
434  IdentifierHash triggerIdHash(sctClusters->identifyHash());
435  const InDetDD::SiDetectorElement *triggerElement = elements->getDetectorElement(triggerIdHash);
436  Identifier thisID = triggerElement->identify();
437 
438  // Retrieve the neighbours of the detector element
439  const std::vector<IdentifierHash>* others(properties->neighbours(triggerIdHash));
440  if (others==nullptr || others->empty() ) return;
441 
442  // Save the current detector element and clusters
443  neighbourElements[0] = triggerElement;
444  neighbourClusters[0] = sctClusters;
445  int n = 0 ;
446 
447  // Default case: you test the opposite element and the overlapping in phi (total 3 elements)
448  int Nmax = 4 ;
449 
450  // In the barrel, test the eta overlaps as well (total 5 elements)
451  if (m_idHelper->is_barrel(thisID)) Nmax = 6;
452 
453  // You can remove all the overlaps if requrested. Here you test only the opposite element
454  if(!m_overlap) Nmax = 2;
455 
456  float hwidth(properties->halfWidth(triggerIdHash));
457 
458  // This flag is use to trigger if the search should be performed.
459  // In case there are no other detector elements and/or cluster collection
460  // this flag stays false.
461  bool search = false;
462 
463  // The order of the elements in others is such that you first get the opposite element,
464  // the overlapping in phi and then the overlapping in eta
465  // For this reason you need to re-order the indices, since the SiSpacePointMakerTool will process
466  // first the eta overlaps and then the phi ones
467  const std::array<size_t, nNeighbours> neigbourIndices{ThisOne, Opposite, EtaMinus, EtaPlus, PhiMinus, PhiPlus};
468 
469  for (const auto& otherHash : *others) {
470 
471  if(++n==Nmax) break;
472  const SCT_ClusterCollection* otherClusters = r_cache.SCTCContainer->indexFindPtr (otherHash);
473  const InDetDD::SiDetectorElement* otherElement = elements ->getDetectorElement(otherHash);
474 
475  if(!otherElement || !otherClusters) continue;
476 
477  neighbourElements[neigbourIndices[n]] = otherElement;
478  neighbourClusters[neigbourIndices[n]] = otherClusters;
479  search = true ;
480 
481  switch (n) {
482  case Opposite: {
483  overlapExtents[ 0] = -m_overlapLimitOpposite;
484  overlapExtents[ 1] = m_overlapLimitOpposite;
485  break;
486  }
487  case PhiMinus: {
488  overlapExtents[ 6] =-hwidth;
489  overlapExtents[ 7] =-hwidth+m_overlapLimitPhi;
490  overlapExtents[ 8] = hwidth-m_overlapLimitPhi;
491  overlapExtents[ 9] = hwidth;
492  break;
493  }
494  case PhiPlus: {
495  overlapExtents[10] = hwidth-m_overlapLimitPhi;
496  overlapExtents[11] = hwidth;
497  overlapExtents[12] =-hwidth;
498  overlapExtents[13] =-hwidth+m_overlapLimitPhi;
499  break;
500  }
501  case EtaMinus: {
502  if ((m_idHelper->layer_disk(thisID) & 1) == 0) {
503  overlapExtents[ 2] = m_overlapLimitEtaMin;
504  overlapExtents[ 3] = m_overlapLimitEtaMax;
505  } else {
506  overlapExtents[ 2] =-m_overlapLimitEtaMax;
507  overlapExtents[ 3] =-m_overlapLimitEtaMin;
508  }
509  break;
510  }
511  default: {
512  if ((m_idHelper->layer_disk(thisID) & 1) == 0) {
513  overlapExtents[ 4] = -m_overlapLimitEtaMax;
514  overlapExtents[ 5] = -m_overlapLimitEtaMin;
515  } else {
516  overlapExtents[ 4] = m_overlapLimitEtaMin;
517  overlapExtents[ 5] = m_overlapLimitEtaMax;
518  }
519  break;
520  }
521  }
522  }
523 
524  if (search) {
525  m_SiSpacePointMakerTool->fillSCT_SpacePointCollection(
526  neighbourElements, neighbourClusters, overlapExtents, m_allClusters,
527  r_cache.vertex, spacepointCollection, spacepointOverlapCollection,
528  dataItemsSCT);
529  }
530 }
531 
532 } //namespace

◆ cardinality()

unsigned int AthReentrantAlgorithm::cardinality ( ) const
overridevirtualinherited

Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.

Override this to return 0 for reentrant algorithms.

Override this to return 0 for reentrant algorithms.

Definition at line 55 of file AthReentrantAlgorithm.cxx.

56 {
57  return 0;
58 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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; }

◆ execute()

StatusCode InDet::SiTrackerSpacePointFinder::execute ( const EventContext &  ctx) const
overridevirtual

Definition at line 125 of file SiTrackerSpacePointFinder.cxx.

133  {
135  elements = sctDetEle.retrieve();
136  if (elements==nullptr) {
137  ATH_MSG_FATAL("Pointer of SiDetectorElementCollection (" << m_SCTDetEleCollKey.fullKey() << ") could not be retrieved");
138  return StatusCode::SUCCESS;
139  }
141  properties = sctProperties.retrieve();
142  if (properties==nullptr) {
143  ATH_MSG_FATAL("Pointer of SiElementPropertiesTable (" << m_SCTPropertiesKey.fullKey() << ") could not be retrieved");
144  return StatusCode::SUCCESS;
145  }
146  }
147  SPFCache r_cache(ctx);
148  if (! m_overrideBS){
150  const InDet::BeamSpotData* beamSpot = *beamSpotHandle;
151  r_cache.vertex = beamSpot->beamVtx().position();
152  } else {
153  r_cache.vertex = Amg::Vector3D(m_xVertex,m_yVertex,m_zVertex);
154  }
155 
156  // register the IdentifiableContainer into StoreGate
157  SG::WriteHandle<SpacePointContainer> spacePointContainerPixel;
158  std::unique_ptr<DataPool<PixelSpacePoint>> dataItemsPixel = nullptr;
159  if (m_selectPixels){
160  spacePointContainerPixel = SG::WriteHandle<SpacePointContainer>( m_SpacePointContainerPixelKey, ctx );
161  if(m_SpacePointCache_PixKey.key().empty()){
162  ATH_CHECK( spacePointContainerPixel.record( std::make_unique<SpacePointContainer>(m_idHelperPixel->wafer_hash_max()) ) );
163  ATH_MSG_DEBUG("Created SpacePointContainer " << m_SpacePointContainerPixelKey.key() << " N= " << m_idHelperPixel->wafer_hash_max());
164  }else{
166  ATH_CHECK(updateH.isValid());
167  ATH_CHECK( spacePointContainerPixel.record( std::make_unique<SpacePointContainer>(updateH.ptr()) ) );
168  ATH_MSG_DEBUG("Created SpacePointContainer " << m_SpacePointContainerPixelKey.key() << " from cache " << m_SpacePointCache_PixKey.key());
169  }
170  const bool hasExternalCache = spacePointContainerPixel->hasExternalCache();
171  if (!hasExternalCache) {
172  dataItemsPixel = std::make_unique<DataPool<PixelSpacePoint>>(ctx);
173  dataItemsPixel->reserve(5000); // Some large default size
174  } else if (m_useDataPoolWithCache) {
175  dataItemsPixel = std::make_unique<DataPool<PixelSpacePoint>>(ctx);
176  // Default size for now 1024 let it expand on its own
177  }
178  }
179 
180  SG::WriteHandle<SpacePointContainer> spacePointContainer_SCT;
181  std::unique_ptr<DataPool<SCT_SpacePoint>> dataItemsSCT = nullptr;
182  if (m_selectSCTs){
183  spacePointContainer_SCT = SG::WriteHandle<SpacePointContainer>( m_SpacePointContainer_SCTKey, ctx );
184  if(m_SpacePointCache_SCTKey.key().empty()){
185  ATH_CHECK( spacePointContainer_SCT.record( std::make_unique<SpacePointContainer>(m_idHelper->wafer_hash_max()) ) );
186  ATH_MSG_DEBUG("Created SpacePointContainer " << m_SpacePointContainer_SCTKey.key() << " N= " << m_idHelper->wafer_hash_max());
187  }else{
189  ATH_CHECK(updateH.isValid());
190  ATH_CHECK( spacePointContainer_SCT.record( std::make_unique<SpacePointContainer>(updateH.ptr()) ) );
191  ATH_MSG_DEBUG("Created SpacePointContainer " << m_SpacePointContainer_SCTKey.key() << " from cache " << m_SpacePointCache_SCTKey.key());
192  }
193  const bool hasExternalCache = spacePointContainer_SCT->hasExternalCache();
194  if (!hasExternalCache) {
195  dataItemsSCT = std::make_unique<DataPool<SCT_SpacePoint>>(ctx);
196  dataItemsSCT->reserve(10000); // Some large default size
197  } else if (m_useDataPoolWithCache) {
198  dataItemsSCT = std::make_unique<DataPool<SCT_SpacePoint>>(ctx);
199  // Default size for now 1024 let it expand on its own
200  }
201  }
202 
203  SG::WriteHandle<SpacePointOverlapCollection> spacepointoverlapCollection;
204  if(m_overlap){
206  ATH_CHECK( spacepointoverlapCollection.record( std::make_unique<SpacePointOverlapCollection>() ) );
207  if (dataItemsSCT) {
208  // if we have a DataPool it will own the elements
209  spacepointoverlapCollection.ptr()->clear(SG::VIEW_ELEMENTS);
210  }
211  ATH_MSG_DEBUG( "Container '" << spacepointoverlapCollection.name() << "' initialised" );
212  }
213 
214  int sctCacheCount = 0;
215  int pixCacheCount = 0;
216 
217  if (m_selectSCTs){
218  // retrieve SCT cluster container
220  if (!sct_clcontainer.isValid()){
221  msg(MSG:: FATAL) << "Could not find the data object "<< sct_clcontainer.name() << " !" << endmsg;
222  return StatusCode::RECOVERABLE;
223  }
224 
225  r_cache.SCTCContainer = sct_clcontainer.cptr();
226 
227  ATH_MSG_DEBUG( "SCT Cluster container found: " << sct_clcontainer->size() << " collections" );
228  // Get hold of all clusters and iterate through them.
229  // Pixel clusters will be converted immediately to pixel space points.
230  // For SCT clusters, posssible pairs will be found and space points computed.
231  // It is possible, though unlikely, that there are no clusters for the
232  // event. Therefore we do not terminate the job if we don't find any.
233  SCT_ClusterContainer::const_iterator it = sct_clcontainer->begin();
234  SCT_ClusterContainer::const_iterator itend = sct_clcontainer->end();
235 
236  for (; it != itend; ++it){
237  const SCT_ClusterCollection *colNext=&(**it);
238 
239  // Create SpacePointCollection
240  IdentifierHash idHash = colNext->identifyHash();
241  SpacePointContainer::IDC_WriteHandle lock = spacePointContainer_SCT->getWriteHandle(idHash);
243  ATH_MSG_DEBUG("SCT Hash " << idHash << " is already in cache");
244  ++sctCacheCount;
245  continue; //Skip if already present in cache
246  }
247 
248  Identifier elementID = colNext->identify();
249  auto spacepointCollection = std::make_unique<SpacePointCollection>(idHash);
250  spacepointCollection->setIdentifier(elementID);
251  if(dataItemsSCT){
252  //if we have a DataPool it will own the elements
253  spacepointCollection->clear(SG::VIEW_ELEMENTS);
254  }
255 
256  if(!colNext->empty() && !elements->getDetectorElement(colNext->identifyHash())->isStereo()) {
258  colNext, properties, elements, spacepointCollection.get(),
259  spacepointoverlapCollection.ptr(), r_cache, dataItemsSCT.get());
260  } else {
261  ATH_MSG_DEBUG( "Empty SCT cluster collection" );
262  }
263 
264  size_t size = spacepointCollection->size();
265  if (size == 0){
266  ATH_MSG_VERBOSE( "SiTrackerSpacePointFinder algorithm found no space points" );
267  } else {
268  //In a MT environment the cache maybe filled by another thread in which case this will delete the duplicate
269  StatusCode sc= lock.addOrDelete( std::move(spacepointCollection) );
270  if (sc.isFailure()){
271  ATH_MSG_ERROR( "Failed to add SpacePoints to container" );
272  return StatusCode::RECOVERABLE;
273  }
274  ATH_MSG_VERBOSE( size << " SpacePoints successfully added to Container !" );
275  nReceivedSPsSCT += size;
276  }
277  }
278  m_numberOfSCT+= sct_clcontainer->size();
279  }
280 
281  if (m_selectPixels)
282  {
283 
285  if (!pixel_clcontainer.isValid()){
286  msg(MSG:: FATAL) << "Could not find the data object "<< pixel_clcontainer.name() << " !" << endmsg;
287  return StatusCode::RECOVERABLE;
288  }
289 
290  ATH_MSG_DEBUG( "Data object " << pixel_clcontainer.name() << " found" );
291 
292  // loop over Pixel clusterCollections
293  PixelClusterContainer::const_iterator colNext = pixel_clcontainer->begin();
294  PixelClusterContainer::const_iterator lastCol = pixel_clcontainer->end();
295 
296 
297  int numColl=0;
298  for (; colNext != lastCol; ++colNext)
299  {
300  ATH_MSG_VERBOSE( "Collection num " << numColl++ );
301  IdentifierHash idHash = (*colNext)->identifyHash();
302  SpacePointContainer::IDC_WriteHandle lock = spacePointContainerPixel->getWriteHandle(idHash);
304  ATH_MSG_DEBUG("pixel Hash " << idHash << " is already in cache");
305  ++pixCacheCount;
306  continue;
307  }
308  // Create SpacePointCollection
309  Identifier elementID = (*colNext)->identify();
310  auto spacepointCollection = std::make_unique< SpacePointCollection >(idHash);
311  spacepointCollection->setIdentifier(elementID);
312  if(dataItemsPixel){
313  //if we have a DataPool it will own the elements
314  spacepointCollection->clear(SG::VIEW_ELEMENTS);
315  }
316 
317  if (!(*colNext)->empty())
318  {
319  m_SiSpacePointMakerTool->fillPixelSpacePointCollection(
320  *colNext, spacepointCollection.get(), dataItemsPixel.get());
321  } else {
322  ATH_MSG_DEBUG( "Empty pixel cluster collection" );
323  }
324  size_t size = spacepointCollection->size();
325  if (size == 0)
326  {
327  ATH_MSG_DEBUG( "SiTrackerSpacePointFinder algorithm found no space points" );
328  }
329  else
330  {
331  StatusCode sc = lock.addOrDelete( std::move(spacepointCollection) );
332  if (sc.isFailure())
333  {
334  ATH_MSG_ERROR( "Failed to add SpacePoints to container" );
335  return StatusCode::RECOVERABLE;
336  }
338  << " SpacePoints successfully added to Container !" );
339  nReceivedSPsPIX += size;
340  }
341  }
342  m_numberOfPixel+= pixel_clcontainer->size();
343  }
344 
345  // store the overlap space points.
346  // check that the set isn't empty.
347  if(m_overlap){
348  if (spacepointoverlapCollection->empty())
349  {
350  ATH_MSG_DEBUG( "No overlap space points found" );
351  }
352  else
353  {
354  ATH_MSG_DEBUG( spacepointoverlapCollection->size() <<" overlap space points registered." );
355  }
356  }
357 
358  if(m_cachemode)//Prevent unnecessary atomic counting
359  {
360  m_sctCacheHits += sctCacheCount;
361  m_pixCacheHits += pixCacheCount;
362  }
363 
364  return StatusCode::SUCCESS;
365 
366 }
367 
368 //---------------------------------------------------------------------------

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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

◆ extraOutputDeps()

const DataObjIDColl & AthReentrantAlgorithm::extraOutputDeps ( ) const
overridevirtualinherited

Return the list of extra output dependencies.

This list is extended to include symlinks implied by inheritance relations.

Definition at line 79 of file AthReentrantAlgorithm.cxx.

80 {
81  // If we didn't find any symlinks to add, just return the collection
82  // from the base class. Otherwise, return the extended collection.
83  if (!m_extendedExtraObjects.empty()) {
85  }
86  return Algorithm::extraOutputDeps();
87 }

◆ filterPassed()

virtual bool AthReentrantAlgorithm::filterPassed ( const EventContext &  ctx) const
inlinevirtualinherited

Definition at line 135 of file AthReentrantAlgorithm.h.

135  {
136  return execState( ctx ).filterPassed();
137  }

◆ finalize()

StatusCode InDet::SiTrackerSpacePointFinder::finalize ( )
overridevirtual

Definition at line 372 of file SiTrackerSpacePointFinder.cxx.

374  {
375  //These are debug messages because they can be indeterminate in an MT environment and it could
376  //lead to confusing log comparisons.
377  ATH_MSG_DEBUG( m_sctCacheHits << " sct cache hits" );
378  ATH_MSG_DEBUG( m_pixCacheHits << " pix cache hits" );
379  }
380  return StatusCode::SUCCESS;
381 }
382 
383 //--------------------------------------------------------------------------
384 

◆ initialize()

StatusCode InDet::SiTrackerSpacePointFinder::initialize ( )
overridevirtual

Definition at line 63 of file SiTrackerSpacePointFinder.cxx.

65  {
66  ATH_MSG_FATAL( "SCTs selected and no name set for SCT clusters");
67  return StatusCode::FAILURE;
68  }
70 
71  if (m_selectPixels && m_Pixel_clcontainerKey.key().empty()){
72  ATH_MSG_FATAL( "Pixels selected and no name set for Pixel clusters");
73  return StatusCode::FAILURE;
74  }
76 
78  ATH_MSG_FATAL( "No name set for SCT space points");
79  return StatusCode::FAILURE;
80  }
82 
84  ATH_MSG_FATAL( "No name set for Pixels space points");
85  return StatusCode::FAILURE;
86  }
88 
90  ATH_MSG_FATAL( "No name set for overlap space points");
91  return StatusCode::FAILURE;
92  }
94 
95  // create containers (requires the Identifier Helpers)
96  if (m_selectPixels){
98  }
99 
100  if (m_selectSCTs) {
101  ATH_CHECK(detStore()->retrieve(m_idHelper,"SCT_ID"));
102  }
103 
104  // Initialize the key of input SiElementPropertiesTable and SiDetectorElementCollection for SCT
107 
110 
111  ATH_CHECK(m_SpacePointCache_SCTKey.initialize(!m_SpacePointCache_SCTKey.key().empty()));
112  ATH_CHECK(m_SpacePointCache_PixKey.initialize(!m_SpacePointCache_PixKey.key().empty()));
113  m_cachemode = !m_SpacePointCache_SCTKey.key().empty() || !m_SpacePointCache_PixKey.key().empty();
114 
115  if (!m_monTool.empty()) CHECK(m_monTool.retrieve());
116 
117  return StatusCode::SUCCESS;
118 }
119 
120 //-------------------------------------------------------------------------
121 

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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.

◆ isClonable()

virtual bool InDet::SiTrackerSpacePointFinder::isClonable ( ) const
inlineoverridevirtual

Make this algorithm clonable.

Reimplemented from AthReentrantAlgorithm.

Definition at line 103 of file SiTrackerSpacePointFinder.h.

103 { return true; };

◆ msg() [1/2]

MsgStream& AthCommonMsg< Gaudi::Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Gaudi::Algorithm >::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< Gaudi::Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ operator=()

SiTrackerSpacePointFinder& InDet::SiTrackerSpacePointFinder::operator= ( const SiTrackerSpacePointFinder )
privatedelete

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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  }

◆ setFilterPassed()

virtual void AthReentrantAlgorithm::setFilterPassed ( bool  state,
const EventContext &  ctx 
) const
inlinevirtualinherited

Definition at line 139 of file AthReentrantAlgorithm.h.

139  {
140  execState( ctx ).setFilterPassed( state );
141  }

◆ sysExecute()

StatusCode AthReentrantAlgorithm::sysExecute ( const EventContext &  ctx)
overridevirtualinherited

Execute an algorithm.

We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.

Definition at line 67 of file AthReentrantAlgorithm.cxx.

68 {
69  return Gaudi::Algorithm::sysExecute (ctx);
70 }

◆ sysInitialize()

StatusCode AthReentrantAlgorithm::sysInitialize ( )
overridevirtualinherited

Override sysInitialize.

Override sysInitialize from the base class.

Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc

Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc

Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.

Reimplemented in InputMakerBase, and HypoBase.

Definition at line 96 of file AthReentrantAlgorithm.cxx.

96  {
98 
99  if (sc.isFailure()) {
100  return sc;
101  }
102 
103  ServiceHandle<ICondSvc> cs("CondSvc",name());
104  for (auto h : outputHandles()) {
105  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
106  // do this inside the loop so we don't create the CondSvc until needed
107  if ( cs.retrieve().isFailure() ) {
108  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
109  return StatusCode::SUCCESS;
110  }
111  if (cs->regHandle(this,*h).isFailure()) {
112  sc = StatusCode::FAILURE;
113  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
114  << " with CondSvc");
115  }
116  }
117  }
118  return sc;
119 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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< Gaudi::Algorithm > >::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_allClusters

bool InDet::SiTrackerSpacePointFinder::m_allClusters
private

process all clusters without limits if true.

Definition at line 202 of file SiTrackerSpacePointFinder.h.

◆ m_beamSpotKey

SG::ReadCondHandleKey<InDet::BeamSpotData> InDet::SiTrackerSpacePointFinder::m_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" }
private

For beam spot.

Definition at line 155 of file SiTrackerSpacePointFinder.h.

◆ m_cachemode

bool InDet::SiTrackerSpacePointFinder::m_cachemode {false}
private

used for online MT counters

Definition at line 203 of file SiTrackerSpacePointFinder.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_extendedExtraObjects

DataObjIDColl AthReentrantAlgorithm::m_extendedExtraObjects
privateinherited

Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.

Empty if no symlinks were found.

Definition at line 153 of file AthReentrantAlgorithm.h.

◆ m_idHelper

const SCT_ID* InDet::SiTrackerSpacePointFinder::m_idHelper {nullptr}
private

Definition at line 192 of file SiTrackerSpacePointFinder.h.

◆ m_idHelperPixel

const PixelID* InDet::SiTrackerSpacePointFinder::m_idHelperPixel {nullptr}
private

Definition at line 191 of file SiTrackerSpacePointFinder.h.

◆ m_monTool

ToolHandle<GenericMonitoringTool> InDet::SiTrackerSpacePointFinder::m_monTool {this, "monTool", "", "Monitoring tool"}
private

Definition at line 184 of file SiTrackerSpacePointFinder.h.

◆ m_numberOfEvents

std::atomic<int> InDet::SiTrackerSpacePointFinder::m_numberOfEvents {0}
mutableprivate

Definition at line 239 of file SiTrackerSpacePointFinder.h.

◆ m_numberOfPixel

std::atomic<int> InDet::SiTrackerSpacePointFinder::m_numberOfPixel {0}
mutableprivate

Definition at line 240 of file SiTrackerSpacePointFinder.h.

◆ m_numberOfSCT

std::atomic<int> InDet::SiTrackerSpacePointFinder::m_numberOfSCT {0}
mutableprivate

Definition at line 241 of file SiTrackerSpacePointFinder.h.

◆ m_overlap

bool InDet::SiTrackerSpacePointFinder::m_overlap
private

process all overlapping SCT pairs if true.

Definition at line 201 of file SiTrackerSpacePointFinder.h.

◆ m_overlapLimitEtaMax

float InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMax
private

high overlap limit for eta-neighbours.

Definition at line 219 of file SiTrackerSpacePointFinder.h.

◆ m_overlapLimitEtaMin

float InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMin
private

low overlap limit for eta-neighbours.

Definition at line 218 of file SiTrackerSpacePointFinder.h.

◆ m_overlapLimitOpposite

float InDet::SiTrackerSpacePointFinder::m_overlapLimitOpposite
private

overlap limit for opposite-neighbours.

Definition at line 216 of file SiTrackerSpacePointFinder.h.

◆ m_overlapLimitPhi

float InDet::SiTrackerSpacePointFinder::m_overlapLimitPhi
private

overlap limit for phi-neighbours.

Definition at line 217 of file SiTrackerSpacePointFinder.h.

◆ m_overrideBS

bool InDet::SiTrackerSpacePointFinder::m_overrideBS
private

Definition at line 226 of file SiTrackerSpacePointFinder.h.

◆ m_pixCacheHits

std::atomic<int> InDet::SiTrackerSpacePointFinder::m_pixCacheHits {0}
mutableprivate

Definition at line 243 of file SiTrackerSpacePointFinder.h.

◆ m_Pixel_clcontainerKey

SG::ReadHandleKey<PixelClusterContainer> InDet::SiTrackerSpacePointFinder::m_Pixel_clcontainerKey {this, "PixelsClustersName", "PixelClusters", "Pixel clContainer"}
private

Definition at line 147 of file SiTrackerSpacePointFinder.h.

◆ m_Sct_clcontainerKey

SG::ReadHandleKey<SCT_ClusterContainer> InDet::SiTrackerSpacePointFinder::m_Sct_clcontainerKey {this, "SCT_ClustersName", "SCT clContainer"}
private

Definition at line 146 of file SiTrackerSpacePointFinder.h.

◆ m_sctCacheHits

std::atomic<int> InDet::SiTrackerSpacePointFinder::m_sctCacheHits {0}
mutableprivate

Definition at line 242 of file SiTrackerSpacePointFinder.h.

◆ m_SCTDetEleCollKey

SG::ReadCondHandleKey<InDetDD::SiDetectorElementCollection> InDet::SiTrackerSpacePointFinder::m_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}
private

For SCT alignment.

Definition at line 159 of file SiTrackerSpacePointFinder.h.

◆ m_SCTPropertiesKey

SG::ReadCondHandleKey<InDet::SiElementPropertiesTable> InDet::SiTrackerSpacePointFinder::m_SCTPropertiesKey {this, "SCTPropertiesKey", "SCT_ElementPropertiesTable", "Key of input SiElementPropertiesTable for SCT"}
private

To get SCT neighbours.

Definition at line 157 of file SiTrackerSpacePointFinder.h.

◆ m_selectPixels

bool InDet::SiTrackerSpacePointFinder::m_selectPixels
private

Definition at line 199 of file SiTrackerSpacePointFinder.h.

◆ m_selectSCTs

bool InDet::SiTrackerSpacePointFinder::m_selectSCTs
private

Definition at line 200 of file SiTrackerSpacePointFinder.h.

◆ m_SiSpacePointMakerTool

ToolHandle< SiSpacePointMakerTool > InDet::SiTrackerSpacePointFinder::m_SiSpacePointMakerTool {this, "SiSpacePointMakerTool", "InDet::SiSpacePointMakerTool"}
private

Definition at line 183 of file SiTrackerSpacePointFinder.h.

◆ m_SpacePointCache_PixKey

SG::UpdateHandleKey<SpacePointCache> InDet::SiTrackerSpacePointFinder::m_SpacePointCache_PixKey
private

Definition at line 176 of file SiTrackerSpacePointFinder.h.

◆ m_SpacePointCache_SCTKey

SG::UpdateHandleKey<SpacePointCache> InDet::SiTrackerSpacePointFinder::m_SpacePointCache_SCTKey
private

Definition at line 175 of file SiTrackerSpacePointFinder.h.

◆ m_SpacePointContainer_SCTKey

SG::WriteHandleKey<SpacePointContainer> InDet::SiTrackerSpacePointFinder::m_SpacePointContainer_SCTKey {this, "SpacePointsSCTName", "SCT_SpacePoints", "SpacePoint SCT container"}
private

Definition at line 166 of file SiTrackerSpacePointFinder.h.

◆ m_SpacePointContainerPixelKey

SG::WriteHandleKey<SpacePointContainer> InDet::SiTrackerSpacePointFinder::m_SpacePointContainerPixelKey {this, "SpacePointsPixelName", "PixelSpacePoints", "SpacePoint Pixel container"}
private

Definition at line 167 of file SiTrackerSpacePointFinder.h.

◆ m_spacepointoverlapCollectionKey

SG::WriteHandleKey<SpacePointOverlapCollection> InDet::SiTrackerSpacePointFinder::m_spacepointoverlapCollectionKey {this, "SpacePointsOverlapName", "OverlapSpacePoints", "Space Point Overlap collection"}
private

Definition at line 168 of file SiTrackerSpacePointFinder.h.

◆ m_useDataPoolWithCache

Gaudi::Property<bool> InDet::SiTrackerSpacePointFinder::m_useDataPoolWithCache
private
Initial value:
{
this, "useDataPoolWithCache", false, "use DataPool With Cache"}

Definition at line 204 of file SiTrackerSpacePointFinder.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_xVertex

float InDet::SiTrackerSpacePointFinder::m_xVertex
private

Definition at line 227 of file SiTrackerSpacePointFinder.h.

◆ m_yVertex

float InDet::SiTrackerSpacePointFinder::m_yVertex
private

Definition at line 228 of file SiTrackerSpacePointFinder.h.

◆ m_zVertex

float InDet::SiTrackerSpacePointFinder::m_zVertex
private

Definition at line 229 of file SiTrackerSpacePointFinder.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
ActsTrk::EtaMinus
@ EtaMinus
Definition: StripInformationHelper.h:13
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
beamspotPlotBcids.k
k
Definition: beamspotPlotBcids.py:524
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:19
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
InDet::SiTrackerSpacePointFinder::m_SCTPropertiesKey
SG::ReadCondHandleKey< InDet::SiElementPropertiesTable > m_SCTPropertiesKey
To get SCT neighbours.
Definition: SiTrackerSpacePointFinder.h:157
InDet::SiTrackerSpacePointFinder::m_overlap
bool m_overlap
process all overlapping SCT pairs if true.
Definition: SiTrackerSpacePointFinder.h:201
beamspotVtxAnalysis.cs
list cs
Definition: beamspotVtxAnalysis.py:391
IdentifiableContainerMT::getWriteHandle
IDC_WriteHandle getWriteHandle(IdentifierHash hash)
Definition: IdentifiableContainerMT.h:251
SG::VIEW_ELEMENTS
@ VIEW_ELEMENTS
this data object is a view, it does not own its elmts
Definition: OwnershipPolicy.h:18
InDet::SiTrackerSpacePointFinder::m_cachemode
bool m_cachemode
used for online MT counters
Definition: SiTrackerSpacePointFinder.h:203
InDet::SiTrackerSpacePointFinder::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
For beam spot.
Definition: SiTrackerSpacePointFinder.h:155
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
InDet::SiTrackerSpacePointFinder::m_yVertex
float m_yVertex
Definition: SiTrackerSpacePointFinder.h:228
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
SG::VarHandleBase::name
const std::string & name() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleBase.cxx:75
InDet::SiTrackerSpacePointFinder::m_overlapLimitPhi
float m_overlapLimitPhi
overlap limit for phi-neighbours.
Definition: SiTrackerSpacePointFinder.h:217
InDet::SiTrackerSpacePointFinder::m_pixCacheHits
std::atomic< int > m_pixCacheHits
Definition: SiTrackerSpacePointFinder.h:243
InDet::SiTrackerSpacePointFinder::m_Sct_clcontainerKey
SG::ReadHandleKey< SCT_ClusterContainer > m_Sct_clcontainerKey
Definition: SiTrackerSpacePointFinder.h:146
IdentifiableContainerMT::IDC_WriteHandle::OnlineAndPresentInAnotherView
bool OnlineAndPresentInAnotherView()
This method is to avoid calling an expensive operation in the offline case.
Definition: IdentifiableContainerMT.h:64
AthCommonDataStore::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 > renounce(T &h)
Definition: AthCommonDataStore.h:380
skel.it
it
Definition: skel.GENtoEVGEN.py:425
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
InDet::SiTrackerSpacePointFinder::m_overrideBS
bool m_overrideBS
Definition: SiTrackerSpacePointFinder.h:226
InDet::SiTrackerSpacePointFinder::m_idHelperPixel
const PixelID * m_idHelperPixel
Definition: SiTrackerSpacePointFinder.h:191
InDet::SiTrackerSpacePointFinder::m_SiSpacePointMakerTool
ToolHandle< SiSpacePointMakerTool > m_SiSpacePointMakerTool
Definition: SiTrackerSpacePointFinder.h:183
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::SiTrackerSpacePointFinder::m_zVertex
float m_zVertex
Definition: SiTrackerSpacePointFinder.h:229
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
InDet::SiTrackerSpacePointFinder::m_selectSCTs
bool m_selectSCTs
Definition: SiTrackerSpacePointFinder.h:200
ActsTrk::Opposite
@ Opposite
Definition: StripInformationHelper.h:13
InDet::SiTrackerSpacePointFinder::m_numberOfPixel
std::atomic< int > m_numberOfPixel
Definition: SiTrackerSpacePointFinder.h:240
ActsTrk::EtaPlus
@ EtaPlus
Definition: StripInformationHelper.h:13
search
void search(TDirectory *td, const std::string &s, std::string cwd, node *n)
recursive directory search for TH1 and TH2 and TProfiles
Definition: hcg.cxx:738
InDet::SiTrackerSpacePointFinder::m_SpacePointContainer_SCTKey
SG::WriteHandleKey< SpacePointContainer > m_SpacePointContainer_SCTKey
Definition: SiTrackerSpacePointFinder.h:166
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
InDet::SiTrackerSpacePointFinder::m_SpacePointCache_SCTKey
SG::UpdateHandleKey< SpacePointCache > m_SpacePointCache_SCTKey
Definition: SiTrackerSpacePointFinder.h:175
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
InDet::nNeighbours
constexpr size_t nNeighbours
Definition: SiSpacePointMakerTool.h:35
IdentifiableContainerMT::hasExternalCache
virtual bool hasExternalCache() const override final
Definition: IdentifiableContainerMT.h:155
InDet::SiTrackerSpacePointFinder::m_selectPixels
bool m_selectPixels
Definition: SiTrackerSpacePointFinder.h:199
InDet::SiTrackerSpacePointFinder::m_SpacePointContainerPixelKey
SG::WriteHandleKey< SpacePointContainer > m_SpacePointContainerPixelKey
Definition: SiTrackerSpacePointFinder.h:167
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
InDet::SiTrackerSpacePointFinder::m_spacepointoverlapCollectionKey
SG::WriteHandleKey< SpacePointOverlapCollection > m_spacepointoverlapCollectionKey
Definition: SiTrackerSpacePointFinder.h:168
Identifier
Definition: DetectorDescription/Identifier/Identifier/Identifier.h:32
beamspotman.n
n
Definition: beamspotman.py:731
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
SG::WriteHandle::ptr
pointer_type ptr()
Dereference the pointer.
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
InDet::SiTrackerSpacePointFinder::m_SCTDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
For SCT alignment.
Definition: SiTrackerSpacePointFinder.h:159
IdentifiableContainerMT::IDC_WriteHandle
Definition: IdentifiableContainerMT.h:34
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
InDet::SiTrackerSpacePointFinder::m_sctCacheHits
std::atomic< int > m_sctCacheHits
Definition: SiTrackerSpacePointFinder.h:242
ActsTrk::PhiPlus
@ PhiPlus
Definition: StripInformationHelper.h:13
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
InDet::SiTrackerSpacePointFinder::m_useDataPoolWithCache
Gaudi::Property< bool > m_useDataPoolWithCache
Definition: SiTrackerSpacePointFinder.h:204
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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
InDet::SiTrackerSpacePointFinder::m_allClusters
bool m_allClusters
process all clusters without limits if true.
Definition: SiTrackerSpacePointFinder.h:202
InDet::SiTrackerSpacePointFinder::addSCT_SpacePoints
void addSCT_SpacePoints(const SCT_ClusterCollection *next, const SiElementPropertiesTable *properties, const InDetDD::SiDetectorElementCollection *elements, SpacePointCollection *spacepointCollection, SpacePointOverlapCollection *spacepointOverlapCollection, SPFCache &, DataPool< SCT_SpacePoint > *dataItemsSCT) const
Definition: SiTrackerSpacePointFinder.cxx:388
DataVector::clear
void clear()
Erase all the elements in the collection.
InDet::SiTrackerSpacePointFinder::initialize
virtual StatusCode initialize() override
Definition: SiTrackerSpacePointFinder.cxx:63
AthReentrantAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Definition: AthReentrantAlgorithm.h:153
python.JsonUtils.properties
properties
Definition: JsonUtils.py:96
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
InDet::SiTrackerSpacePointFinder::m_Pixel_clcontainerKey
SG::ReadHandleKey< PixelClusterContainer > m_Pixel_clcontainerKey
Definition: SiTrackerSpacePointFinder.h:147
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
InDet::SiTrackerSpacePointFinder::m_numberOfSCT
std::atomic< int > m_numberOfSCT
Definition: SiTrackerSpacePointFinder.h:241
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMin
float m_overlapLimitEtaMin
low overlap limit for eta-neighbours.
Definition: SiTrackerSpacePointFinder.h:218
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMax
float m_overlapLimitEtaMax
high overlap limit for eta-neighbours.
Definition: SiTrackerSpacePointFinder.h:219
SCT_ID::wafer_hash_max
size_type wafer_hash_max(void) const
Definition: SCT_ID.cxx:639
AthReentrantAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthReentrantAlgorithm.cxx:96
SG::UpdateHandle
Definition: UpdateHandle.h:94
SCT_ID::layer_disk
int layer_disk(const Identifier &id) const
Definition: SCT_ID.h:734
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
PixelID::wafer_hash_max
size_type wafer_hash_max(void) const
Definition: PixelID.cxx:912
InDet::SiTrackerSpacePointFinder::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: SiTrackerSpacePointFinder.h:184
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
IdentifiableContainerMT::IDC_WriteHandle::addOrDelete
StatusCode addOrDelete(std::unique_ptr< T > ptr)
Definition: IdentifiableContainerMT.h:56
InDet::SiTrackerSpacePointFinder::m_idHelper
const SCT_ID * m_idHelper
Definition: SiTrackerSpacePointFinder.h:192
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
InDet::BeamSpotData
Definition: BeamSpotData.h:21
a
TList * a
Definition: liststreamerinfos.cxx:10
InDet::SiTrackerSpacePointFinder::finalize
virtual StatusCode finalize() override
Definition: SiTrackerSpacePointFinder.cxx:372
h
SG::WriteHandle::record
StatusCode record(std::unique_ptr< T > data)
Record a const object to the store.
ActsTrk::PhiMinus
@ PhiMinus
Definition: StripInformationHelper.h:13
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
ActsTrk::ThisOne
@ ThisOne
Definition: StripInformationHelper.h:13
AthCommonMsg< Gaudi::Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
InDet::SiTrackerSpacePointFinder::m_xVertex
float m_xVertex
Definition: SiTrackerSpacePointFinder.h:227
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
python.BuildSignatureFlags.beamSpot
AthConfigFlags beamSpot(AthConfigFlags flags, str instanceName, str recoMode)
Definition: BuildSignatureFlags.py:398
InDet::SiTrackerSpacePointFinder::m_SpacePointCache_PixKey
SG::UpdateHandleKey< SpacePointCache > m_SpacePointCache_PixKey
Definition: SiTrackerSpacePointFinder.h:176
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
ActsTrk::NeighbourIndices
NeighbourIndices
Total number of neightbours and indices.
Definition: StripInformationHelper.h:13
IdentifierHash
Definition: IdentifierHash.h:38
InDet::SCT_ClusterCollection
Trk::PrepRawDataCollection< SCT_Cluster > SCT_ClusterCollection
Definition: SCT_ClusterCollection.h:26
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
InDetDD::SiDetectorElementCollection::getDetectorElement
const SiDetectorElement * getDetectorElement(const IdentifierHash &hash) const
Definition: SiDetectorElementCollection.cxx:15
InDetDD::SolidStateDetectorElementBase::identify
virtual Identifier identify() const override final
identifier of this detector element (inline)
DataVector::empty
bool empty() const noexcept
Returns true if the collection is empty.
SCT_ID::is_barrel
bool is_barrel(const Identifier &id) const
Test for barrel - WARNING: id MUST be sct id, otherwise answer is not accurate. Use SiliconID for gen...
Definition: SCT_ID.h:721
ServiceHandle< ICondSvc >
InDet::SiTrackerSpacePointFinder::m_overlapLimitOpposite
float m_overlapLimitOpposite
overlap limit for opposite-neighbours.
Definition: SiTrackerSpacePointFinder.h:216