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_Clusters", "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 {this, "SpacePointCacheSCT", ""}
 
SG::UpdateHandleKey< SpacePointCachem_SpacePointCache_PixKey {this, "SpacePointCachePix", ""}
 
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
BooleanProperty m_selectPixels {this, "ProcessPixels", true}
 
BooleanProperty m_selectSCTs {this, "ProcessSCTs", true}
 
BooleanProperty m_overlap {this, "ProcessOverlaps", true, "process overlaps of SCT wafers"}
 
BooleanProperty m_allClusters {this, "AllClusters", false, "process all clusters without limits"}
 
bool m_cachemode {false}
 used for online MT counters More...
 
BooleanProperty m_useDataPoolWithCache {this, "useDataPoolWithCache", false, "use DataPool With Cache"}
 
BooleanProperty m_useSCTLayerDep_OverlapCuts {this,"useSCTLayerDep_OverlapCuts", true}
 
BooleanProperty m_doEndcapEtaOverlapSP {this,"doEndcapEtaOverlapSP", false}
 
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.

FloatProperty m_overlapLimitOpposite {this, "OverlapLimitOpposite", 2.8, "overlap limit for opposite-neighbour"}
 
FloatProperty m_overlapLimitPhi {this, "OverlapLimitPhi", 5.64, "overlap limit for phi-neighbours"}
 
FloatProperty m_overlapLimitEtaMin {this, "OverlapLimitEtaMin", 1.68, "low overlap limit for eta-neighbours"}
 
FloatProperty m_overlapLimitEtaMax {this, "OverlapLimitEtaMax", 3.0, "high overlap limit for eta-neighbours"}
 
Beam spot override
BooleanProperty m_overrideBS {this, "OverrideBeamSpot", false}
 
FloatProperty m_xVertex {this, "VertexX", 0.}
 
FloatProperty m_yVertex {this, "VertexY", 0.}
 
FloatProperty m_zVertex {this, "VertexZ", 0.}
 
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}
 
std::atomic< int > m_nspacePoints {0}
 
std::atomic< int > m_nspacePointsOverlap {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 40 of file SiTrackerSpacePointFinder.cxx.

40 { }
41 
42 //-----------------------------------------------------------------------

◆ ~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 381 of file SiTrackerSpacePointFinder.cxx.

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

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

◆ 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 362 of file SiTrackerSpacePointFinder.cxx.

367  {
368  //These are debug messages because they can be indeterminate in an MT environment and it could
369  //lead to confusing log comparisons.
370  ATH_MSG_DEBUG( m_sctCacheHits << " sct cache hits" );
371  ATH_MSG_DEBUG( m_pixCacheHits << " pix cache hits" );
372  }
373  return StatusCode::SUCCESS;
374 }
375 
376 //--------------------------------------------------------------------------
377 

◆ initialize()

StatusCode InDet::SiTrackerSpacePointFinder::initialize ( )
overridevirtual

Definition at line 46 of file SiTrackerSpacePointFinder.cxx.

46  {
47  ATH_MSG_FATAL( "SCTs selected and no name set for SCT clusters");
48  return StatusCode::FAILURE;
49  }
51 
52  if (m_selectPixels && m_Pixel_clcontainerKey.key().empty()){
53  ATH_MSG_FATAL( "Pixels selected and no name set for Pixel clusters");
54  return StatusCode::FAILURE;
55  }
57 
59  ATH_MSG_FATAL( "No name set for SCT space points");
60  return StatusCode::FAILURE;
61  }
63 
65  ATH_MSG_FATAL( "No name set for Pixels space points");
66  return StatusCode::FAILURE;
67  }
69 
71  ATH_MSG_FATAL( "No name set for overlap space points");
72  return StatusCode::FAILURE;
73  }
75 
76  // create containers (requires the Identifier Helpers)
77  if (m_selectPixels){
79  }
80 
81  if (m_selectSCTs) {
82  ATH_CHECK(detStore()->retrieve(m_idHelper,"SCT_ID"));
83  }
84 
85  // Initialize the key of input SiElementPropertiesTable and SiDetectorElementCollection for SCT
88 
91 
94  m_cachemode = !m_SpacePointCache_SCTKey.key().empty() || !m_SpacePointCache_PixKey.key().empty();
95 
96  if (!m_monTool.empty()) CHECK(m_monTool.retrieve());
97 
99  ATH_MSG_INFO("Use SCT SP overlap cuts based on layer number parity");
100 
102  ATH_MSG_INFO("Doing eta overlap space points in strips endcap");
103 
104  return StatusCode::SUCCESS;
105 }
106 
107 //-------------------------------------------------------------------------
108 

◆ 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

BooleanProperty InDet::SiTrackerSpacePointFinder::m_allClusters {this, "AllClusters", false, "process all clusters without limits"}
private

Definition at line 205 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 207 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_doEndcapEtaOverlapSP

BooleanProperty InDet::SiTrackerSpacePointFinder::m_doEndcapEtaOverlapSP {this,"doEndcapEtaOverlapSP", false}
private

Definition at line 211 of file SiTrackerSpacePointFinder.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 194 of file SiTrackerSpacePointFinder.h.

◆ m_idHelperPixel

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

Definition at line 193 of file SiTrackerSpacePointFinder.h.

◆ m_monTool

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

Definition at line 186 of file SiTrackerSpacePointFinder.h.

◆ m_nspacePoints

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

Definition at line 254 of file SiTrackerSpacePointFinder.h.

◆ m_nspacePointsOverlap

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

Definition at line 255 of file SiTrackerSpacePointFinder.h.

◆ m_numberOfEvents

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

Definition at line 249 of file SiTrackerSpacePointFinder.h.

◆ m_numberOfPixel

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

Definition at line 250 of file SiTrackerSpacePointFinder.h.

◆ m_numberOfSCT

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

Definition at line 251 of file SiTrackerSpacePointFinder.h.

◆ m_overlap

BooleanProperty InDet::SiTrackerSpacePointFinder::m_overlap {this, "ProcessOverlaps", true, "process overlaps of SCT wafers"}
private

Definition at line 203 of file SiTrackerSpacePointFinder.h.

◆ m_overlapLimitEtaMax

FloatProperty InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMax {this, "OverlapLimitEtaMax", 3.0, "high overlap limit for eta-neighbours"}
private

Definition at line 228 of file SiTrackerSpacePointFinder.h.

◆ m_overlapLimitEtaMin

FloatProperty InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMin {this, "OverlapLimitEtaMin", 1.68, "low overlap limit for eta-neighbours"}
private

Definition at line 226 of file SiTrackerSpacePointFinder.h.

◆ m_overlapLimitOpposite

FloatProperty InDet::SiTrackerSpacePointFinder::m_overlapLimitOpposite {this, "OverlapLimitOpposite", 2.8, "overlap limit for opposite-neighbour"}
private

Definition at line 222 of file SiTrackerSpacePointFinder.h.

◆ m_overlapLimitPhi

FloatProperty InDet::SiTrackerSpacePointFinder::m_overlapLimitPhi {this, "OverlapLimitPhi", 5.64, "overlap limit for phi-neighbours"}
private

Definition at line 224 of file SiTrackerSpacePointFinder.h.

◆ m_overrideBS

BooleanProperty InDet::SiTrackerSpacePointFinder::m_overrideBS {this, "OverrideBeamSpot", false}
private

Definition at line 236 of file SiTrackerSpacePointFinder.h.

◆ m_pixCacheHits

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

Definition at line 253 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_Clusters", "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 252 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

BooleanProperty InDet::SiTrackerSpacePointFinder::m_selectPixels {this, "ProcessPixels", true}
private

Definition at line 201 of file SiTrackerSpacePointFinder.h.

◆ m_selectSCTs

BooleanProperty InDet::SiTrackerSpacePointFinder::m_selectSCTs {this, "ProcessSCTs", true}
private

Definition at line 202 of file SiTrackerSpacePointFinder.h.

◆ m_SiSpacePointMakerTool

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

Definition at line 185 of file SiTrackerSpacePointFinder.h.

◆ m_SpacePointCache_PixKey

SG::UpdateHandleKey<SpacePointCache> InDet::SiTrackerSpacePointFinder::m_SpacePointCache_PixKey {this, "SpacePointCachePix", ""}
private

Definition at line 177 of file SiTrackerSpacePointFinder.h.

◆ m_SpacePointCache_SCTKey

SG::UpdateHandleKey<SpacePointCache> InDet::SiTrackerSpacePointFinder::m_SpacePointCache_SCTKey {this, "SpacePointCacheSCT", ""}
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

BooleanProperty InDet::SiTrackerSpacePointFinder::m_useDataPoolWithCache {this, "useDataPoolWithCache", false, "use DataPool With Cache"}
private

Definition at line 208 of file SiTrackerSpacePointFinder.h.

◆ m_useSCTLayerDep_OverlapCuts

BooleanProperty InDet::SiTrackerSpacePointFinder::m_useSCTLayerDep_OverlapCuts {this,"useSCTLayerDep_OverlapCuts", true}
private

Definition at line 210 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

FloatProperty InDet::SiTrackerSpacePointFinder::m_xVertex {this, "VertexX", 0.}
private

Definition at line 237 of file SiTrackerSpacePointFinder.h.

◆ m_yVertex

FloatProperty InDet::SiTrackerSpacePointFinder::m_yVertex {this, "VertexY", 0.}
private

Definition at line 238 of file SiTrackerSpacePointFinder.h.

◆ m_zVertex

FloatProperty InDet::SiTrackerSpacePointFinder::m_zVertex {this, "VertexZ", 0.}
private

Definition at line 239 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
InDet::SiTrackerSpacePointFinder::m_xVertex
FloatProperty m_xVertex
Definition: SiTrackerSpacePointFinder.h:237
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
InDet::SiTrackerSpacePointFinder::m_yVertex
FloatProperty m_yVertex
Definition: SiTrackerSpacePointFinder.h:238
python.Constants.FATAL
int FATAL
Definition: Control/AthenaCommon/python/Constants.py:18
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
python.TestDriveDummies.properties
dictionary properties
Definition: TestDriveDummies.py:14
InDet::SiTrackerSpacePointFinder::m_SCTPropertiesKey
SG::ReadCondHandleKey< InDet::SiElementPropertiesTable > m_SCTPropertiesKey
To get SCT neighbours.
Definition: SiTrackerSpacePointFinder.h:157
IdentifiableContainerMT::getWriteHandle
IDC_WriteHandle getWriteHandle(IdentifierHash hash)
Definition: IdentifiableContainerMT.h:248
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:207
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
AthCommonDataStore::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_overrideBS
BooleanProperty m_overrideBS
Definition: SiTrackerSpacePointFinder.h:236
InDet::SiTrackerSpacePointFinder::m_pixCacheHits
std::atomic< int > m_pixCacheHits
Definition: SiTrackerSpacePointFinder.h:253
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:61
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:401
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_zVertex
FloatProperty m_zVertex
Definition: SiTrackerSpacePointFinder.h:239
InDet::SiTrackerSpacePointFinder::m_idHelperPixel
const PixelID * m_idHelperPixel
Definition: SiTrackerSpacePointFinder.h:193
InDet::SiTrackerSpacePointFinder::m_allClusters
BooleanProperty m_allClusters
Definition: SiTrackerSpacePointFinder.h:206
InDet::SiTrackerSpacePointFinder::m_SiSpacePointMakerTool
ToolHandle< SiSpacePointMakerTool > m_SiSpacePointMakerTool
Definition: SiTrackerSpacePointFinder.h:185
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
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
ActsTrk::Opposite
@ Opposite
Definition: StripInformationHelper.h:13
InDet::SiTrackerSpacePointFinder::m_numberOfPixel
std::atomic< int > m_numberOfPixel
Definition: SiTrackerSpacePointFinder.h:250
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:176
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
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
InDet::SiTrackerSpacePointFinder::m_overlapLimitPhi
FloatProperty m_overlapLimitPhi
Definition: SiTrackerSpacePointFinder.h:225
python.setupRTTAlg.size
int size
Definition: setupRTTAlg.py:39
InDet::SiTrackerSpacePointFinder::m_useDataPoolWithCache
BooleanProperty m_useDataPoolWithCache
Definition: SiTrackerSpacePointFinder.h:209
InDet::nNeighbours
constexpr size_t nNeighbours
Definition: SiSpacePointMakerTool.h:35
IdentifiableContainerMT::hasExternalCache
virtual bool hasExternalCache() const override final
Definition: IdentifiableContainerMT.h:152
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
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
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:252
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_useSCTLayerDep_OverlapCuts
BooleanProperty m_useSCTLayerDep_OverlapCuts
Definition: SiTrackerSpacePointFinder.h:210
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_nspacePoints
std::atomic< int > m_nspacePoints
Definition: SiTrackerSpacePointFinder.h:254
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:381
DataVector::clear
void clear()
Erase all the elements in the collection.
InDet::SiTrackerSpacePointFinder::initialize
virtual StatusCode initialize() override
Definition: SiTrackerSpacePointFinder.cxx:46
AthReentrantAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Definition: AthReentrantAlgorithm.h:153
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:251
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
SCT_ID::wafer_hash_max
size_type wafer_hash_max(void) const
Definition: SCT_ID.cxx:645
AthReentrantAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthReentrantAlgorithm.cxx:96
InDet::SiTrackerSpacePointFinder::m_selectPixels
BooleanProperty m_selectPixels
Definition: SiTrackerSpacePointFinder.h:201
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:831
InDet::SiTrackerSpacePointFinder::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: SiTrackerSpacePointFinder.h:186
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:53
InDet::SiTrackerSpacePointFinder::m_nspacePointsOverlap
std::atomic< int > m_nspacePointsOverlap
Definition: SiTrackerSpacePointFinder.h:255
InDet::SiTrackerSpacePointFinder::m_idHelper
const SCT_ID * m_idHelper
Definition: SiTrackerSpacePointFinder.h:194
InDet::SiTrackerSpacePointFinder::m_selectSCTs
BooleanProperty m_selectSCTs
Definition: SiTrackerSpacePointFinder.h:202
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
InDet::SiTrackerSpacePointFinder::m_overlapLimitOpposite
FloatProperty m_overlapLimitOpposite
Definition: SiTrackerSpacePointFinder.h:223
InDet::BeamSpotData
Definition: BeamSpotData.h:21
a
TList * a
Definition: liststreamerinfos.cxx:10
InDet::SiTrackerSpacePointFinder::finalize
virtual StatusCode finalize() override
Definition: SiTrackerSpacePointFinder.cxx:362
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
InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMin
FloatProperty m_overlapLimitEtaMin
Definition: SiTrackerSpacePointFinder.h:227
InDet::SiTrackerSpacePointFinder::m_doEndcapEtaOverlapSP
BooleanProperty m_doEndcapEtaOverlapSP
Definition: SiTrackerSpacePointFinder.h:211
AthCommonMsg< Gaudi::Algorithm >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
InDet::SiTrackerSpacePointFinder::m_overlapLimitEtaMax
FloatProperty m_overlapLimitEtaMax
Definition: SiTrackerSpacePointFinder.h:229
python.BuildSignatureFlags.beamSpot
AthConfigFlags beamSpot(AthConfigFlags flags, str instanceName, str recoMode)
Definition: BuildSignatureFlags.py:455
InDet::SiTrackerSpacePointFinder::m_SpacePointCache_PixKey
SG::UpdateHandleKey< SpacePointCache > m_SpacePointCache_PixKey
Definition: SiTrackerSpacePointFinder.h:178
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
ActsTrk::NeighbourIndices
NeighbourIndices
Total number of neightbours and indices.
Definition: StripInformationHelper.h:13
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25
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.
InDet::SiTrackerSpacePointFinder::m_overlap
BooleanProperty m_overlap
Definition: SiTrackerSpacePointFinder.h:204
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.
fitman.k
k
Definition: fitman.py:528
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 >
Identifier
Definition: IdentifierFieldParser.cxx:14