ATLAS Offline Software
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
DerivationFramework::UnassociatedHitsGetterTool Class Reference

#include <UnassociatedHitsGetterTool.h>

Inheritance diagram for DerivationFramework::UnassociatedHitsGetterTool:
Collaboration diagram for DerivationFramework::UnassociatedHitsGetterTool:

Public Member Functions

 UnassociatedHitsGetterTool (const std::string &type, const std::string &name, const IInterface *parent)
 
virtual ~UnassociatedHitsGetterTool ()
 
StatusCode initialize ()
 
virtual const MinBiasPRDAssociationget (bool allowMissing=false) const
 get method: compute the number of unassociated his wrap the info in a MinBiasPRDAssociation object More...
 
virtual void releaseObject (const MinBiasPRDAssociation *p) const
 delete the pointer created by get More...
 
ServiceHandle< StoreGateSvc > & evtStore ()
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & evtStore () const
 The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. More...
 
const ServiceHandle< StoreGateSvc > & detStore () const
 The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. More...
 
virtual StatusCode sysInitialize () override
 Perform system initialization for an algorithm. More...
 
virtual StatusCode sysStart () override
 Handle START transition. More...
 
virtual std::vector< Gaudi::DataHandle * > inputHandles () const override
 Return this algorithm's input handles. More...
 
virtual std::vector< Gaudi::DataHandle * > outputHandles () const override
 Return this algorithm's output handles. More...
 
Gaudi::Details::PropertyBase & declareProperty (Gaudi::Property< T > &t)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &)
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &)
 Declare a new Gaudi property. More...
 
Gaudi::Details::PropertyBase * declareProperty (const std::string &name, T &property, const std::string &doc="none")
 Declare a new Gaudi property. More...
 
void updateVHKA (Gaudi::Details::PropertyBase &)
 
MsgStream & msg () const
 
MsgStream & msg (const MSG::Level lvl) const
 
bool msgLvl (const MSG::Level lvl) const
 

Static Public Member Functions

static const InterfaceID & interfaceID ()
 

Protected Member Functions

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...
 

Private Attributes

SG::ReadHandleKey< TrackCollectionm_trackCollection { this, "TrackCollection", "Tracks", "" }
 
SG::ReadHandleKey< InDet::PixelClusterContainerm_pixelClusterContainer { this, "PixelClusters", "PixelClusters", ""}
 
SG::ReadHandleKey< InDet::SCT_ClusterContainerm_SCTClusterContainer { this, "SCTClusterContainer", "SCT_Clusters", ""}
 
SG::ReadHandleKey< InDet::TRT_DriftCircleContainerm_TRTDriftCircleContainer { this, "TRTDriftCircleContainer", "TRT_DriftCircles", ""}
 
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollectionm_SCTDetEleCollKey {this, "SCTDetEleCollKey", "SCT_DetectorElementCollection", "Key of SiDetectorElementCollection for SCT"}
 
ToolHandle< Trk::IPRDtoTrackMapToolm_assoTool {this, "AssociationTool", "InDet::InDetPRDtoTrackMapToolGangedPixels" }
 
SG::ReadHandleKey< Trk::PRDtoTrackMapm_prdToTrackMapKey {this, "PRDtoTrackMap", "",""}
 
StoreGateSvc_t m_evtStore
 Pointer to StoreGate (event store by default) More...
 
StoreGateSvc_t m_detStore
 Pointer to StoreGate (detector store by default) More...
 
std::vector< SG::VarHandleKeyArray * > m_vhka
 
bool m_varHandleArraysDeclared
 

Detailed Description

Definition at line 31 of file UnassociatedHitsGetterTool.h.

Member Typedef Documentation

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< AlgTool > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

Constructor & Destructor Documentation

◆ UnassociatedHitsGetterTool()

DerivationFramework::UnassociatedHitsGetterTool::UnassociatedHitsGetterTool ( const std::string &  type,
const std::string &  name,
const IInterface *  parent 
)

Definition at line 20 of file UnassociatedHitsGetterTool.cxx.

22  :
24 {
25  declareInterface<IUnassociatedHitsGetterTool>(this);
26 }

◆ ~UnassociatedHitsGetterTool()

DerivationFramework::UnassociatedHitsGetterTool::~UnassociatedHitsGetterTool ( )
virtualdefault

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
inlineprivateinherited

specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>

Definition at line 199 of file AthCommonDataStore.h.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleBase. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 245 of file AthCommonDataStore.h.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation string for the property.

This is the version for types that derive from SG::VarHandleKey. The property value object is put on the input and output lists as appropriate; then we forward to the base class.

Definition at line 221 of file AthCommonDataStore.h.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This is the generic version, for types that do not derive from SG::VarHandleKey. It just forwards to the base class version of declareProperty.

Definition at line 333 of file AthCommonDataStore.h.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation string for the property.

This dispatches to either the generic declareProperty or the one for VarHandle/Key/KeyArray.

Definition at line 352 of file AthCommonDataStore.h.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< AlgTool > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
protectedinherited

Add StoreName to extra input/output deps as needed.

use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given

◆ get()

const MinBiasPRDAssociation * DerivationFramework::UnassociatedHitsGetterTool::get ( bool  allowMissing = false) const
virtual

get method: compute the number of unassociated his wrap the info in a MinBiasPRDAssociation object

Implements IUnassociatedHitsGetterTool.

Definition at line 48 of file UnassociatedHitsGetterTool.cxx.

48  {
49  const EventContext& ctx = Gaudi::Hive::currentContext();
50 
51  // If we fail to find something we need in SG on the first call,
52  // issue a warning and don't try again (this can happen if we're
53  // reading an AOD). But consider it an ERROR if it happens
54  // after the first call.
55 
56  // retrieve track collection
58  if(!trackCollection.isValid()) {
59  ATH_MSG_FATAL("Track collection " << m_trackCollection.key() << " not found in StoreGate");
60  return nullptr;
61  }
62 
63  // Get empty state for PRD association tool.
64  const Trk::PRDtoTrackMap *prd_to_track_map;
65  std::unique_ptr<Trk::PRDtoTrackMap> prd_to_track_map_cleanup;
66  if (!m_prdToTrackMapKey.key().empty()) {
67  SG::ReadHandle<Trk::PRDtoTrackMap> prd_to_track_map_handle(m_prdToTrackMapKey,ctx);
68  if (!prd_to_track_map_handle.isValid()) {
69  ATH_MSG_ERROR( "Failed to get PRDs to track map " << m_prdToTrackMapKey.key());
70  return nullptr;
71  }
72  prd_to_track_map=prd_to_track_map_handle.cptr();
73  }
74  else {
75  prd_to_track_map_cleanup = m_assoTool->createPRDtoTrackMap();
76  // Loop over tracks and add PRDs to the PRD association tool
77  for (const Trk::Track* track : *trackCollection) {
78  StatusCode sc = m_assoTool->addPRDs(*prd_to_track_map_cleanup, *track);
79  if(sc.isFailure()){
80  ATH_MSG_FATAL( "Could not add PRDs to track");
81  return nullptr;
82  }
83  }
84  prd_to_track_map = prd_to_track_map_cleanup.get();
85  }
86 
87  std::unique_ptr<MinBiasPRDAssociation> PRDAssociation(std::make_unique<MinBiasPRDAssociation>());
88  if (!m_pixelClusterContainer.key().empty()) {
89  // retrieve pixel clusters
91  if(!pixelClusters.isValid()) {
92  ATH_MSG_FATAL("Pixel cluster container '" << m_pixelClusterContainer.key() << "' not found in StoreGate");
93  return nullptr;
94  }
95  // Loop on pixel clusters
96  InDet::PixelClusterContainer::const_iterator pixCollItr = pixelClusters->begin();
97  InDet::PixelClusterContainer::const_iterator pixCollEnd = pixelClusters->end();
98  for(; pixCollItr!=pixCollEnd; ++pixCollItr){
99 
100  InDet::PixelClusterCollection::const_iterator pixItr = (*pixCollItr)->begin();
101  InDet::PixelClusterCollection::const_iterator pixEnd = (*pixCollItr)->end();
102  for(; pixItr!=pixEnd; ++pixItr){
103 
104  // ask the association tool if the hit was associated
105  if(prd_to_track_map->isUsed(*(*pixItr))) continue;
106 
107  // count number of unassociated pixel hits
108  PRDAssociation->nPixelUA++;
109 
110  // find out which detector element the hit belongs to
111  const InDetDD::SiDetectorElement *det = (*pixItr)->detectorElement();
112 
113  // count pixel barrel unassociated hits
114  if(det->isBarrel()) PRDAssociation->nPixelBarrelUA++;
115 
116  // count pixel endcap unassociated hits: use hit Z position to determin A/C side
117  if(det->isEndcap()){
118  if((*pixItr)->globalPosition().z()<0){
119  PRDAssociation->nPixelEndCapCUA++;
120  }else{
121  PRDAssociation->nPixelEndCapAUA++;
122  }
123  }
124 
125  // count B-Layer unassociated hits
126  if(det->isBlayer()) PRDAssociation->nBlayerUA++;
127  }
128  }
129  }
130 
131  // retrieve SCT clusters
132  if (!m_SCTClusterContainer.key().empty()) {
134  if(!SCTClusters.isValid()) {
135  ATH_MSG_FATAL("SCT cluster container '" << m_SCTClusterContainer.key() << "' not found in StoreGate");
136  return nullptr;
137  }
138  // Loop on SCT clusters
139  InDet::SCT_ClusterContainer::const_iterator sctCollItr = SCTClusters->begin();
140  InDet::SCT_ClusterContainer::const_iterator sctCollEnd = SCTClusters->end();
141  for(; sctCollItr!=sctCollEnd; ++sctCollItr){
142 
143  InDet::SCT_ClusterCollection::const_iterator sctItr = (*sctCollItr)->begin();
144  InDet::SCT_ClusterCollection::const_iterator sctEnd = (*sctCollItr)->end();
145  for(; sctItr!=sctEnd; ++sctItr){
146 
147  // ask the association tool if the hit was associated
148  if(prd_to_track_map->isUsed(*(*sctItr))) continue;
149 
150  // count number of unassociated SCT hits
151  PRDAssociation->nSCTUA++;
152 
153  // find out which detector element the hit belongs to
154  const InDetDD::SiDetectorElement *det = (*sctItr)->detectorElement();
155 
156  // count SCT barrel unassociated hits
157  if(det->isBarrel()) PRDAssociation->nSCTBarrelUA++;
158 
159  // count SCT endcap unassociated hits: use hit Z position to determin A/C side
160  if(det->isEndcap()){
161  if((*sctItr)->globalPosition().z()<0){
162  PRDAssociation->nSCTEndCapCUA++;
163  }else{
164  PRDAssociation->nSCTEndCapAUA++;
165  }
166  }
167  }
168  }
169  }
170 
171  // retrieve TRT drift circles
172  if (!m_TRTDriftCircleContainer.key().empty()) {
174  if(!TRTDriftCircles.isValid()) {
175  ATH_MSG_FATAL("TRT drift circle container '" << m_TRTDriftCircleContainer << "' not found in StoreGate");
176  return nullptr;
177  }
178  // Loop on TRT clusters
179  InDet::TRT_DriftCircleContainer::const_iterator trtCollItr = TRTDriftCircles->begin();
180  InDet::TRT_DriftCircleContainer::const_iterator trtCollEnd = TRTDriftCircles->end();
181  for(; trtCollItr!=trtCollEnd; ++trtCollItr){
182 
183  InDet::TRT_DriftCircleCollection::const_iterator trtItr = (*trtCollItr)->begin();
184  InDet::TRT_DriftCircleCollection::const_iterator trtEnd = (*trtCollItr)->end();
185  for(; trtItr!=trtEnd; ++trtItr){
186 
187  // ask the association tool if the hit was associated
188  if(prd_to_track_map->isUsed(*(*trtItr))) continue;
189 
190  // count number of unassociated TRT hits
191  PRDAssociation->nTRTUA++;
192 
193  // find out which detector element the hit belongs to
194  const InDetDD::TRT_BaseElement *det = (*trtItr)->detectorElement();
195 
197 
198  // count TRT barrel unassociated hits
199  if(type == InDetDD::TRT_BaseElement::BARREL) PRDAssociation->nTRTBarrelUA++;
200 
201  // count TRT endcap unassociated hits: use hit Z position to determin A/C side
203  if(det->center().z()<0){
204  PRDAssociation->nTRTEndCapCUA++;
205  }else{
206  PRDAssociation->nTRTEndCapAUA++;
207  }
208  }
209  }
210  }
211  }
212 
213  return PRDAssociation.release();
214 }

◆ initialize()

StatusCode DerivationFramework::UnassociatedHitsGetterTool::initialize ( )

Definition at line 30 of file UnassociatedHitsGetterTool.cxx.

30  {
31 
33 
34  // retrieve PRD association tool
36  ATH_CHECK( m_assoTool.retrieve(DisableTool{!m_prdToTrackMapKey.key().empty()} ) );
37  ATH_CHECK( m_trackCollection.initialize());
40  // Read Cond Handle Key
42 
44 
45  return StatusCode::SUCCESS;
46 }

◆ inputHandles()

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

Return this algorithm's input handles.

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

◆ interfaceID()

static const InterfaceID& IUnassociatedHitsGetterTool::interfaceID ( )
inlinestaticinherited

Definition at line 19 of file IUnassociatedHitsGetterTool.h.

19 { return IID_IUnassociatedHitsGetterTool; }

◆ msg() [1/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

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

◆ msg() [2/2]

MsgStream& AthCommonMsg< AlgTool >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< AlgTool >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

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

◆ outputHandles()

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

Return this algorithm's output handles.

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

◆ releaseObject()

void DerivationFramework::UnassociatedHitsGetterTool::releaseObject ( const MinBiasPRDAssociation p) const
virtual

delete the pointer created by get

Implements IUnassociatedHitsGetterTool.

Definition at line 216 of file UnassociatedHitsGetterTool.cxx.

216  {
217  if(p) delete p;
218 }

◆ renounce()

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

Definition at line 380 of file AthCommonDataStore.h.

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

◆ renounceArray()

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

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ sysInitialize()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysInitialize ( )
overridevirtualinherited

Perform system initialization for an algorithm.

We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.

Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< AlgTool > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< AlgTool > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_assoTool

ToolHandle<Trk::IPRDtoTrackMapTool> DerivationFramework::UnassociatedHitsGetterTool::m_assoTool {this, "AssociationTool", "InDet::InDetPRDtoTrackMapToolGangedPixels" }
private

Definition at line 68 of file UnassociatedHitsGetterTool.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ m_pixelClusterContainer

SG::ReadHandleKey<InDet::PixelClusterContainer> DerivationFramework::UnassociatedHitsGetterTool::m_pixelClusterContainer { this, "PixelClusters", "PixelClusters", ""}
private

Definition at line 58 of file UnassociatedHitsGetterTool.h.

◆ m_prdToTrackMapKey

SG::ReadHandleKey<Trk::PRDtoTrackMap> DerivationFramework::UnassociatedHitsGetterTool::m_prdToTrackMapKey {this, "PRDtoTrackMap", "",""}
private

Definition at line 70 of file UnassociatedHitsGetterTool.h.

◆ m_SCTClusterContainer

SG::ReadHandleKey<InDet::SCT_ClusterContainer> DerivationFramework::UnassociatedHitsGetterTool::m_SCTClusterContainer { this, "SCTClusterContainer", "SCT_Clusters", ""}
private

Definition at line 60 of file UnassociatedHitsGetterTool.h.

◆ m_SCTDetEleCollKey

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

Definition at line 66 of file UnassociatedHitsGetterTool.h.

◆ m_trackCollection

SG::ReadHandleKey<TrackCollection> DerivationFramework::UnassociatedHitsGetterTool::m_trackCollection { this, "TrackCollection", "Tracks", "" }
private

Definition at line 56 of file UnassociatedHitsGetterTool.h.

◆ m_TRTDriftCircleContainer

SG::ReadHandleKey<InDet::TRT_DriftCircleContainer> DerivationFramework::UnassociatedHitsGetterTool::m_TRTDriftCircleContainer { this, "TRTDriftCircleContainer", "TRT_DriftCircles", ""}
private

Definition at line 62 of file UnassociatedHitsGetterTool.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< AlgTool > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
DerivationFramework::UnassociatedHitsGetterTool::m_trackCollection
SG::ReadHandleKey< TrackCollection > m_trackCollection
Definition: UnassociatedHitsGetterTool.h:57
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
DerivationFramework::UnassociatedHitsGetterTool::m_assoTool
ToolHandle< Trk::IPRDtoTrackMapTool > m_assoTool
Definition: UnassociatedHitsGetterTool.h:69
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
TRTCalib_Extractor.det
det
Definition: TRTCalib_Extractor.py:36
Trk::PRDtoTrackMap
Definition: PRDtoTrackMap.h:17
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
initialize
void initialize()
Definition: run_EoverP.cxx:894
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::VarHandleKey::key
const std::string & key() const
Return the StoreGate ID for the referenced object.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:141
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
DerivationFramework::UnassociatedHitsGetterTool::m_pixelClusterContainer
SG::ReadHandleKey< InDet::PixelClusterContainer > m_pixelClusterContainer
Definition: UnassociatedHitsGetterTool.h:59
DerivationFramework::UnassociatedHitsGetterTool::m_SCTDetEleCollKey
SG::ReadCondHandleKey< InDetDD::SiDetectorElementCollection > m_SCTDetEleCollKey
Definition: UnassociatedHitsGetterTool.h:66
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
DerivationFramework::UnassociatedHitsGetterTool::m_prdToTrackMapKey
SG::ReadHandleKey< Trk::PRDtoTrackMap > m_prdToTrackMapKey
Definition: UnassociatedHitsGetterTool.h:71
InDetDD::TRT_BaseElement::ENDCAP
@ ENDCAP
Definition: TRT_BaseElement.h:61
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDetDD::TRT_BaseElement::BARREL
@ BARREL
Definition: TRT_BaseElement.h:61
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
Trk::PRDtoTrackMap::isUsed
bool isUsed(const PrepRawData &prd) const
does this PRD belong to at least one track?
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
InDetDD::TRT_BaseElement::Type
Type
Definition: TRT_BaseElement.h:61
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
DerivationFramework::UnassociatedHitsGetterTool::m_SCTClusterContainer
SG::ReadHandleKey< InDet::SCT_ClusterContainer > m_SCTClusterContainer
Definition: UnassociatedHitsGetterTool.h:61
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
DerivationFramework::UnassociatedHitsGetterTool::m_TRTDriftCircleContainer
SG::ReadHandleKey< InDet::TRT_DriftCircleContainer > m_TRTDriftCircleContainer
Definition: UnassociatedHitsGetterTool.h:63
a
TList * a
Definition: liststreamerinfos.cxx:10
h
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
fitman.k
k
Definition: fitman.py:528
InDetDD::TRT_BaseElement
Definition: TRT_BaseElement.h:57