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

#include <InDetTestPixelLayerTool.h>

Inheritance diagram for InDet::InDetTestPixelLayerTool:
Collaboration diagram for InDet::InDetTestPixelLayerTool:

Public Member Functions

 InDetTestPixelLayerTool (const std::string &name, const std::string &n, const IInterface *p)
 
virtual StatusCode initialize () override final
 
virtual bool expectHitInPixelLayer (const EventContext &ctx, const Trk::TrackParticleBase *, int pixel_layer) const override final
 
virtual bool expectHitInPixelLayer (const EventContext &ctx, const Trk::Track *, int pixel_layer, bool checkBarrelOnly=false) const override final
 
virtual bool expectHitInPixelLayer (const EventContext &ctx, const Trk::TrackParameters *trackpar, int pixel_layer, bool checkBarrelOnly=false) const override final
 
virtual bool expectHit (const Trk::TrackParameters *trackpar) const override final
 
virtual bool getTrackStateOnPixelLayerInfo (const Trk::TrackParticleBase *, std::vector< TrackStateOnPixelLayerInfo > &infoList) const override final
 
virtual bool getTrackStateOnPixelLayerInfo (const Trk::Track *, std::vector< TrackStateOnPixelLayerInfo > &infoList) const override final
 
virtual bool getTrackStateOnPixelLayerInfo (const Trk::TrackParameters *trackpar, std::vector< TrackStateOnPixelLayerInfo > &infoList, int pixel_layer=-1, bool checkBarrelOnly=false) const override final
 
virtual double getFracGood (const Trk::TrackParticleBase *trackpar, int pixel_layer) const override final
 
virtual double getFracGood (const Trk::TrackParameters *trackpar, int pixel_layer) const override final
 
bool expectHitInInnermostPixelLayer (const EventContext &ctx, const Trk::Track *track) const
 
bool expectHitInInnermostPixelLayer (const Trk::Track *track) const
 
bool expectHitInInnermostPixelLayer (const Trk::TrackParameters *trackpar) const
 
bool expectHitInNextToInnermostPixelLayer (const EventContext &ctx, const Trk::Track *track) const
 
bool expectHitInNextToInnermostPixelLayer (const Trk::Track *track) const
 
bool expectHitInNextToInnermostPixelLayer (const Trk::TrackParameters *trackpar) const
 
bool getTrackStateOnInnermostPixelLayerInfo (const Trk::TrackParameters *trackpar, std::vector< TrackStateOnPixelLayerInfo > &infoList) 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 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, V, H > &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

bool isActive (const Trk::TrackParameters *trackpar) const
 
bool getPixelLayerParameters (const EventContext &ctx, const Trk::TrackParameters *trackpar, std::vector< std::unique_ptr< const Trk::TrackParameters >> &pixelLayerParam) const
 
bool getPixelLayerParameters (const Trk::TrackParameters *trackpar, std::vector< std::unique_ptr< const Trk::TrackParameters >> &pixelLayerParam) const
 
double getFracGood (const Trk::TrackParameters *trackpar, double phiRegionSize, double etaRegionSize, const InDet::SiDetectorElementStatus *pixelDetElStatus) const
 
SG::ReadHandle< InDet::SiDetectorElementStatusgetPixelDetElStatus (const EventContext &ctx) const
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T, V, H > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

ToolHandle< Trk::IExtrapolatorm_extrapolator
 Pointer to Extrapolator AlgTool. More...
 
ToolHandle< IInDetConditionsToolm_pixelCondSummaryTool
 Handles to IConditionsSummaryServices for Pixels. More...
 
SG::ReadHandleKey< InDet::SiDetectorElementStatusm_pixelDetElStatus {this, "PixelDetElStatus", "", "Key of SiDetectorElementStatus for Pixel"}
 Optional read handle to get status data to test whether a pixel detector element is good. More...
 
const AtlasDetectorIDm_idHelper
 detector helper More...
 
const PixelIDm_pixelId
 ID pixel helper. More...
 
BooleanProperty m_checkActiveAreas {this, "CheckActiveAreas", true}
 
BooleanProperty m_checkDeadRegions {this, "CheckDeadRegions", true}
 
BooleanProperty m_checkDisabledFEs {this, "CheckDisabledFEs", true}
 
DoubleProperty m_phiRegionSize {this, "PhiRegionSize", 3.}
 
DoubleProperty m_etaRegionSize {this, "EtaRegionSize", 3.}
 
DoubleProperty m_goodFracCut {this, "GoodFracCut", 0.5}
 
DoubleProperty m_outerRadius {this, "OuterRadius", 230.}
 
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 45 of file InDetTestPixelLayerTool.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

◆ InDetTestPixelLayerTool()

InDet::InDetTestPixelLayerTool::InDetTestPixelLayerTool ( const std::string &  name,
const std::string &  n,
const IInterface *  p 
)

Definition at line 30 of file InDetTestPixelLayerTool.cxx.

33  : AthAlgTool(name, n, p)
34  , m_idHelper(nullptr)
35  , m_pixelId(nullptr)
36 {
37  declareInterface<IInDetTestPixelLayerTool>(this);
38 }

Member Function Documentation

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< AlgTool > >::declareGaudiProperty ( Gaudi::Property< T, V, H > &  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, V, H > &  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, V, H > &  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, V, H > &  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, V, H > &  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; }

◆ expectHit()

bool InDet::InDet::InDetTestPixelLayerTool::expectHit ( const Trk::TrackParameters trackpar) const
finaloverridevirtual

will be set to true if at least one good module is passed

pass good module -> hit is expected on pixelLayer

check dead regions

pass good module -> hit is expected on pixelLayer

Implements InDet::IInDetTestPixelLayerTool.

Definition at line 199 of file InDetTestPixelLayerTool.cxx.

201 {
202  bool expect_hit =
203  false;
204 
205  Identifier id =
207 
208 
209  const EventContext& ctx = Gaudi::Hive::currentContext();
211 
214  pixelDetElStatus->isGood(trackpar->associatedSurface().associatedDetectorElement()->identifyHash()),
216  if ((!m_pixelDetElStatus.empty() &&
217  pixelDetElStatus->isGood(trackpar->associatedSurface().associatedDetectorElement()->identifyHash())) ||
219 
220  if (m_checkDeadRegions) {
221 
222  double fracGood = getFracGood(
223  trackpar, m_phiRegionSize, m_etaRegionSize, !m_pixelDetElStatus.empty() ? pixelDetElStatus.cptr() : nullptr);
224  if (fracGood > m_goodFracCut && fracGood >= 0) {
225  ATH_MSG_DEBUG("Condition Summary: b-layer good");
226  expect_hit = true;
227  } else {
228  ATH_MSG_DEBUG("b-layer in dead region: fracGood = " << fracGood);
229  }
230 
231  } else {
232  ATH_MSG_DEBUG("Condition Summary: not checking dead regions");
233  expect_hit = true;
234  }
235 
236  } else {
237  ATH_MSG_DEBUG(__LINE__ << "b-layer not good");
238  }
239 
240  return expect_hit;
241 }

◆ expectHitInInnermostPixelLayer() [1/3]

bool InDet::IInDetTestPixelLayerTool::expectHitInInnermostPixelLayer ( const EventContext &  ctx,
const Trk::Track track 
) const
inlineinherited

Definition at line 49 of file IInDetTestPixelLayerTool.h.

51  {
52  return expectHitInPixelLayer(ctx, track, 0, true);
53  }

◆ expectHitInInnermostPixelLayer() [2/3]

bool InDet::IInDetTestPixelLayerTool::expectHitInInnermostPixelLayer ( const Trk::Track track) const
inlineinherited

Definition at line 54 of file IInDetTestPixelLayerTool.h.

55  {
57  Gaudi::Hive::currentContext(), track);
58  }

◆ expectHitInInnermostPixelLayer() [3/3]

bool InDet::IInDetTestPixelLayerTool::expectHitInInnermostPixelLayer ( const Trk::TrackParameters trackpar) const
inlineinherited

Definition at line 59 of file IInDetTestPixelLayerTool.h.

60  {
61  return expectHitInPixelLayer(
62  Gaudi::Hive::currentContext(), trackpar, 0, true);
63  }

◆ expectHitInNextToInnermostPixelLayer() [1/3]

bool InDet::IInDetTestPixelLayerTool::expectHitInNextToInnermostPixelLayer ( const EventContext &  ctx,
const Trk::Track track 
) const
inlineinherited

Definition at line 65 of file IInDetTestPixelLayerTool.h.

67  {
68  return expectHitInPixelLayer(ctx, track, 1, true);
69  }

◆ expectHitInNextToInnermostPixelLayer() [2/3]

bool InDet::IInDetTestPixelLayerTool::expectHitInNextToInnermostPixelLayer ( const Trk::Track track) const
inlineinherited

Definition at line 70 of file IInDetTestPixelLayerTool.h.

71  {
73  Gaudi::Hive::currentContext(), track);
74  }

◆ expectHitInNextToInnermostPixelLayer() [3/3]

bool InDet::IInDetTestPixelLayerTool::expectHitInNextToInnermostPixelLayer ( const Trk::TrackParameters trackpar) const
inlineinherited

Definition at line 75 of file IInDetTestPixelLayerTool.h.

76  {
77  return expectHitInPixelLayer(
78  Gaudi::Hive::currentContext(), trackpar, 1, true);
79  }

◆ expectHitInPixelLayer() [1/3]

bool InDet::InDetTestPixelLayerTool::expectHitInPixelLayer ( const EventContext &  ctx,
const Trk::Track track,
int  pixel_layer,
bool  checkBarrelOnly = false 
) const
finaloverridevirtual

Implements InDet::IInDetTestPixelLayerTool.

Definition at line 68 of file InDetTestPixelLayerTool.cxx.

72 {
73  ATH_MSG_DEBUG("computing expectHitInPixelLayer info");
74 
75  const Trk::Perigee* mp = track->perigeeParameters();
76 
77  if (!mp) {
78  ATH_MSG_WARNING("Found Track with no perigee parameters: no b-layer info "
79  "will be provided ");
80  return false;
81  } else {
82  ATH_MSG_DEBUG("Track perigee parameters");
83  return this->expectHitInPixelLayer(ctx, mp, pixel_layer, checkBarrelOnly);
84  }
85 }

◆ expectHitInPixelLayer() [2/3]

bool InDet::InDetTestPixelLayerTool::expectHitInPixelLayer ( const EventContext &  ctx,
const Trk::TrackParameters trackpar,
int  pixel_layer,
bool  checkBarrelOnly = false 
) const
finaloverridevirtual

will be set to true if at least one good module is passed

pass good module -> hit is expected on pixelLayer

check dead regions

pass good module -> hit is expected on pixelLayer

check active area (check edges)

pass good module -> hit is expected on pixelLayer

pixelLayer param

Implements InDet::IInDetTestPixelLayerTool.

Definition at line 120 of file InDetTestPixelLayerTool.cxx.

125 {
126  bool expect_hit = false;
127 
128  std::vector<std::unique_ptr<const Trk::TrackParameters>> pixelLayerParam;
129  if (!this->getPixelLayerParameters(ctx, trackpar, pixelLayerParam)) {
130  ATH_MSG_DEBUG("Failed to get pixel layer parameters!");
131  return false;
132  }
133 
135  for (std::unique_ptr<const Trk::TrackParameters>& p : pixelLayerParam) {
136 
137  if (!(p->associatedSurface().associatedDetectorElement()))
138  continue;
139  Identifier id =
140  p->associatedSurface().associatedDetectorElement()->identify();
141 
142  if (checkBarrelOnly && !m_pixelId->is_barrel(id)) continue;
143  if (m_pixelId->layer_disk(id) != pixel_layer) continue;
144 
146  pixelDetElStatus->isGood(p->associatedSurface().associatedDetectorElement()->identifyHash()),
148 
149  if ((!m_pixelDetElStatus.empty() &&
150  pixelDetElStatus->isGood(p->associatedSurface().associatedDetectorElement()->identifyHash())) ||
152 
153  if (m_checkActiveAreas) {
154 
155  if (isActive(p.get())) {
156 
157  if (m_checkDeadRegions) {
158 
159  double fracGood = getFracGood(p.get(),
162  !m_pixelDetElStatus.empty() ? pixelDetElStatus.cptr() : nullptr);
163  if (fracGood > m_goodFracCut && fracGood >= 0) {
164  ATH_MSG_DEBUG("Condition Summary: b-layer good");
165  expect_hit =
166  true;
167  } else {
168  ATH_MSG_DEBUG("b-layer in dead region: fracGood = " << fracGood);
169  }
170 
171  } else {
172  ATH_MSG_DEBUG("Condition Summary: not checking dead regions");
173  expect_hit =
174  true;
175  }
176 
177  } else {
179  "Condition Summary: b-layer good but outside active area");
180  }
181 
182  }
183  else {
185  "Condition Summary: b-layer good, active areas not checked");
186  expect_hit = true;
187  }
188 
189  } else {
190  ATH_MSG_DEBUG(__LINE__ << "b-layer not good");
191  }
192 
193  }
194 
195  return expect_hit;
196 }

◆ expectHitInPixelLayer() [3/3]

bool InDet::InDetTestPixelLayerTool::expectHitInPixelLayer ( const EventContext &  ctx,
const Trk::TrackParticleBase track,
int  pixel_layer 
) const
finaloverridevirtual

Implements InDet::IInDetTestPixelLayerTool.

Definition at line 88 of file InDetTestPixelLayerTool.cxx.

92 {
93 
94  // Need to compute if we do expect a B-layer hit. If the previous
95  // calculation already determined that we don't expect a hit, then we still
96  // won't expect one.
97 
98  if (!track) {
100  "Not a valid TrackParticle: no b-layer info will be provided");
101  return false;
102  }
103 
104  ATH_MSG_DEBUG("computing expectHitInPixelLayer info");
105 
106  const Trk::Perigee* mp = track->perigee();
107 
108  if (!mp) {
109  ATH_MSG_WARNING("Found TrackParticle with no perigee parameters: no "
110  "b-layer info will be provided");
111  return false;
112  } else {
113  ATH_MSG_DEBUG("TrackParticle perigee parameters");
114  // mp->dump(mLog);
115  return (this->expectHitInPixelLayer(ctx, mp, pixel_layer));
116  }
117 }

◆ 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

◆ getFracGood() [1/3]

double InDet::InDet::InDetTestPixelLayerTool::getFracGood ( const Trk::TrackParameters trackpar,
double  phiRegionSize,
double  etaRegionSize,
const InDet::SiDetectorElementStatus pixelDetElStatus 
) const
private

not exactly on the edge

not exactly on the edge

Definition at line 600 of file InDetTestPixelLayerTool.cxx.

605 {
606 
607  Identifier moduleid =
608  trkParam->associatedSurface().associatedDetectorElement()->identify();
609  IdentifierHash id_hash = m_pixelId->wafer_hash(moduleid);
610 
611  const EventContext& ctx = Gaudi::Hive::currentContext();
612  VALIDATE_STATUS_ARRAY(pixelDetElStatus,pixelDetElStatus->isGood(id_hash), m_pixelCondSummaryTool->isGood(id_hash, ctx));
613  bool is_good ( ( pixelDetElStatus && pixelDetElStatus->isGood(id_hash))
614  || (!pixelDetElStatus && m_pixelCondSummaryTool->isGood(id_hash, ctx)));
615  if (!is_good)
616  return 0.;
617 
618  const Amg::Vector2D& locPos = trkParam->localPosition();
619  double locx = locPos[Trk::locX];
620  double locy = locPos[Trk::locY];
621  double error_locx = -9999;
622  double error_locy = -9999;
623 
624  if (trkParam->covariance()) {
625  error_locx = sqrt((*trkParam->covariance())(Trk::locX, Trk::locX));
626  error_locy = sqrt((*trkParam->covariance())(Trk::locY, Trk::locY));
627  } else {
628  ATH_MSG_DEBUG("could not get MeasuredTrackParameters ");
629  }
630 
631  double phitol = 2.5;
632  double etatol = 5.;
633  if (trkParam->covariance()) {
634  phitol = phiRegionSize * error_locx;
635  etatol = etaRegionSize * error_locy;
636  }
637 
638  // now, check to see that phitol and etatol extend at least beyond the current
639  // pixel
640  const auto* tmp = trkParam->associatedSurface().associatedDetectorElement();
641  const InDetDD::SiDetectorElement* sielem =
642  (tmp != nullptr && tmp->detectorType() == Trk::DetectorElemType::Silicon)
643  ? static_cast<const InDetDD::SiDetectorElement*>(tmp)
644  : nullptr;
645 
646  if (!sielem) {
648  "Failed to cast TrackParameters associated surface to SiDetectorElement");
649  return false;
650  }
651 
652  const InDetDD::PixelModuleDesign* design =
653  dynamic_cast<const InDetDD::PixelModuleDesign*>(&sielem->design());
654  if (design) {
655  phitol = std::max(phitol, design->phiPitch() + 1e-6);
656  etatol = std::max(etatol, design->etaPitch() + 1e-6);
657  } else {
659  "could not get pixel module design, returning 0 for getFracGood");
660  return 0.;
661  }
662 
663  Amg::Vector2D LocPos(locx, locy);
664 
665  double startLocX = locx - phitol;
666  double startLocY = locy - etatol;
667 
668  double endLocX = locx + phitol;
669  double endLocY = locy + etatol;
670 
671  Amg::Vector2D startLocPostmp(startLocX, startLocY);
672  Amg::Vector2D endLocPostmp(endLocX, endLocY);
673 
674  double etaDist = -9999;
675  double phiDist = -9999;
676 
677  if (design) {
678  design->distanceToDetectorEdge(LocPos, etaDist, phiDist);
679  if (phiDist < 0)
680  locx += (std::abs(phiDist) + 1e-6);
681  if (etaDist < 0)
682  locy += (std::abs(etaDist) + 1e-6);
683  design->distanceToDetectorEdge(startLocPostmp, etaDist, phiDist);
684  if (phiDist < 0)
685  startLocX += (std::abs(phiDist) + 1e-6);
686  if (etaDist < 0)
687  startLocY += (std::abs(etaDist) + 1e-6);
688  design->distanceToDetectorEdge(endLocPostmp, etaDist, phiDist);
689  if (phiDist < 0)
690  endLocX -= (std::abs(phiDist) + 1e-6);
691  if (etaDist < 0)
692  endLocY -= (std::abs(etaDist) + 1e-6);
693  }
694 
695  LocPos = Amg::Vector2D(locx, locy);
696 
697  if (m_checkDisabledFEs) {
700 
701  if (si_param.isValid()) {
702  std::array<InDetDD::PixelDiodeTree::CellIndexType,2> diode_idx(si_param.computeIndex(LocPos));
703  Identifier centreId = m_pixelId->pixel_id(moduleid, diode_idx[0],diode_idx[1]);
704  assert( centreId == sielem->identifierOfPosition(LocPos) );
705 
706  assert( sielem->identifyHash() == m_pixelId->wafer_hash(m_pixelId->wafer_id(centreId)));
708  std::uint32_t feValue = design->getFE(si_param);
710  pixelDetElStatus->isChipGood(id_hash, feValue),
711  m_pixelCondSummaryTool->isGood(centreId, context));
712  bool is_chip_good((!m_pixelDetElStatus.empty() &&
713  pixelDetElStatus->isChipGood(id_hash, feValue)) ||
714  (m_pixelDetElStatus.empty() && m_pixelCondSummaryTool->isGood(centreId, context, ctx)));
715  if (!is_chip_good){
716  return 0.;
717  }
718  } else {
719  ATH_MSG_WARNING("Invalid Identifier, skipping check of FE...");
720  }
721  }
722 
723  Amg::Vector2D startLocPos(startLocX, startLocY);
724  Amg::Vector2D endLocPos(endLocX, endLocY);
725  Identifier startId = sielem->identifierOfPosition(startLocPos);
726  Identifier endId = sielem->identifierOfPosition(endLocPos);
727 
728  if (!startId.is_valid() || !endId.is_valid()) {
729  ATH_MSG_WARNING("unvalid identifier: locPos outside module! ");
730  return 0.;
731  }
732 
733  double frac =0.;
734 
735  if (pixelDetElStatus) {
736  frac = Pixel::getGoodFraction(*pixelDetElStatus, *design, *m_pixelId, id_hash, startId, endId);
738  !m_pixelDetElStatus.empty(), frac, m_pixelCondSummaryTool->goodFraction(id_hash, startId, endId, ctx));
739 
740  } else {
741  frac = m_pixelCondSummaryTool->goodFraction(id_hash, startId, endId, ctx);
742  }
743 
744  return frac;
745 }

◆ getFracGood() [2/3]

double InDet::InDetTestPixelLayerTool::getFracGood ( const Trk::TrackParameters trackpar,
int  pixel_layer 
) const
finaloverridevirtual

pixelLayer param

Implements InDet::IInDetTestPixelLayerTool.

Definition at line 260 of file InDetTestPixelLayerTool.cxx.

263 {
264  std::vector<std::unique_ptr<const Trk::TrackParameters>> pixelLayerParam;
265  if (!this->getPixelLayerParameters(trackpar, pixelLayerParam))
266  return -5.;
267 
268  // now, figure out which layer we're supposed to be checking.
269  bool found_layer = false;
270  for (std::unique_ptr<const Trk::TrackParameters>& p : pixelLayerParam) {
271  if (!(p->associatedSurface().associatedDetectorElement()))
272  continue;
273  Identifier id =
274  p->associatedSurface().associatedDetectorElement()->identify();
275 
276  if (m_pixelId->layer_disk(id) == pixel_layer){
277  found_layer = true;
278  break;
279  }
280  }
281 
282  // if we're asking for a layer that doesn't exist in the extrapolation, then
283  // return.
284  if (!found_layer)
285  return -7.;
286 
287  const EventContext& ctx = Gaudi::Hive::currentContext();
289 
290  for (std::unique_ptr<const Trk::TrackParameters>& p : pixelLayerParam) {
291 
292  if (!(p->associatedSurface().associatedDetectorElement()))
293  continue;
294  Identifier id =
295  p->associatedSurface().associatedDetectorElement()->identify();
296 
297  if (m_pixelId->layer_disk(id) != pixel_layer)
298  continue;
299 
302  pixelDetElStatus->isGood(trackpar->associatedSurface().associatedDetectorElement()->identifyHash()),
304  if ((!m_pixelDetElStatus.empty() &&
305  pixelDetElStatus->isGood(p->associatedSurface().associatedDetectorElement()->identifyHash())) ||
307 
308  if (isActive(p.get())) {
309 
310  return getFracGood(
311  p.get(), m_phiRegionSize, m_etaRegionSize, !m_pixelDetElStatus.empty() ? pixelDetElStatus.cptr() : nullptr);
312 
313  } else {
315  "Condition Summary: b-layer good but outside active area");
316  }
317 
318  } else {
319  ATH_MSG_DEBUG(__LINE__ << "b-layer not good");
320  }
321 
322  }
323 
324  return -3.;
325 }

◆ getFracGood() [3/3]

double InDet::InDet::InDetTestPixelLayerTool::getFracGood ( const Trk::TrackParticleBase trackpar,
int  pixel_layer 
) const
finaloverridevirtual

Implements InDet::IInDetTestPixelLayerTool.

Definition at line 244 of file InDetTestPixelLayerTool.cxx.

246 {
247  const Trk::Perigee* mp = track->perigee();
248 
249  if (!mp) {
250  ATH_MSG_WARNING("Found Track with no perigee parameters: no b-layer info "
251  "will be provided ");
252  return -4.;
253  } else {
254  ATH_MSG_DEBUG("Track perigee parameters");
255  return this->getFracGood(mp, pixel_layer);
256  }
257 }

◆ getPixelDetElStatus()

SG::ReadHandle< InDet::SiDetectorElementStatus > InDet::InDetTestPixelLayerTool::getPixelDetElStatus ( const EventContext &  ctx) const
private

Definition at line 155 of file InDetTestPixelLayerTool.h.

155  {
157  if (!m_pixelDetElStatus.empty()) {
159  if (!pixelDetElStatus.isValid()) {
160  std::stringstream msg;
161  msg << "Failed to get " << m_pixelDetElStatus.key() << " from StoreGate in " << name();
162  throw std::runtime_error(msg.str());
163  }
164  }
165  return pixelDetElStatus;
166 }

◆ getPixelLayerParameters() [1/2]

bool InDet::InDet::InDetTestPixelLayerTool::getPixelLayerParameters ( const EventContext &  ctx,
const Trk::TrackParameters trackpar,
std::vector< std::unique_ptr< const Trk::TrackParameters >> &  pixelLayerParam 
) const
private

all params

Definition at line 541 of file InDetTestPixelLayerTool.cxx.

546 {
548  ATH_MSG_DEBUG("Trying to extrapolate to pixelLayer");
549 
550  if(std::abs(trackpar->position().z())>5000.){
551  ATH_MSG_DEBUG("Pathological track parameter well outside of tracking detector");
552  ATH_MSG_DEBUG("Propagator might have issue with this, discarding");
553  ATH_MSG_VERBOSE("dumping track parameters " << *trackpar);
554  return false;
555  }
556 
557  Amg::Transform3D surfTrans;
558  surfTrans.setIdentity();
559  Trk::CylinderSurface BiggerThanPixelLayerSurface(surfTrans, m_outerRadius, 10000.0);
560 
561  // extrapolate stepwise to this parameter (be careful, sorting might be wrong)
562  std::vector<std::unique_ptr<Trk::TrackParameters>> paramList =
563  m_extrapolator->extrapolateStepwise(
564  ctx, *trackpar, BiggerThanPixelLayerSurface, Trk::alongMomentum, false);
565 
566  if (paramList.empty()) {
567  ATH_MSG_DEBUG("No parameter returned by propagator ");
568  ATH_MSG_VERBOSE("dumping track parameters " << *trackpar);
569  return false;
570  }
571 
573  " Number of generated parameters by propagator: " << paramList.size());
574 
575  int s_int = 0;
576  for (std::unique_ptr<Trk::TrackParameters>& p : paramList) {
577  ATH_MSG_DEBUG(s_int++ << "th surface : ");
578 
579  Identifier id;
580  if (!(p->associatedSurface().associatedDetectorElement() != nullptr &&
581  p->associatedSurface().associatedDetectorElement()->identify() !=
582  0)) {
583  continue;
584  }
585 
586  id = p->associatedSurface().associatedDetectorElement()->identify();
587  if (!m_idHelper->is_pixel(id)) {
588  continue;
589  }
590 
591  ATH_MSG_DEBUG("Found pixel module : " << id.get_compact());
592 
593  pixelLayerParam.push_back(std::move(p));
594  }
595 
596  return true;
597 }

◆ getPixelLayerParameters() [2/2]

bool InDet::InDetTestPixelLayerTool::getPixelLayerParameters ( const Trk::TrackParameters trackpar,
std::vector< std::unique_ptr< const Trk::TrackParameters >> &  pixelLayerParam 
) const
inlineprivate

Definition at line 101 of file InDetTestPixelLayerTool.h.

105  {
107  Gaudi::Hive::currentContext(), trackpar, pixelLayerParam);
108  }

◆ getTrackStateOnInnermostPixelLayerInfo()

bool InDet::IInDetTestPixelLayerTool::getTrackStateOnInnermostPixelLayerInfo ( const Trk::TrackParameters trackpar,
std::vector< TrackStateOnPixelLayerInfo > &  infoList 
) const
inlineinherited

Definition at line 96 of file IInDetTestPixelLayerTool.h.

98  {
99  return getTrackStateOnPixelLayerInfo(trackpar, infoList, 0, true);
100  }

◆ getTrackStateOnPixelLayerInfo() [1/3]

bool InDet::InDet::InDetTestPixelLayerTool::getTrackStateOnPixelLayerInfo ( const Trk::Track track,
std::vector< TrackStateOnPixelLayerInfo > &  infoList 
) const
finaloverridevirtual

Implements InDet::IInDetTestPixelLayerTool.

Definition at line 366 of file InDetTestPixelLayerTool.cxx.

369 {
370 
371  std::unique_ptr<const Trk::TrackParameters> startParameters = nullptr;
372 
373  if (track->perigeeParameters()) {
374  startParameters = track->perigeeParameters()->uniqueClone();
375  } else if (track->trackParameters()->front()) {
376  startParameters =
377  m_extrapolator->extrapolate(
378  Gaudi::Hive::currentContext(),
379  *(track->trackParameters()->front()),
382  false);
383  }
384 
385  if (!startParameters) {
386  ATH_MSG_WARNING("Found Track with no perigee parameters: no b-layer info "
387  "will be provided");
388  return false;
389  }
390 
391  bool succeed = getTrackStateOnPixelLayerInfo(startParameters.get(), infoList);
392  return succeed;
393 }

◆ getTrackStateOnPixelLayerInfo() [2/3]

bool InDet::InDetTestPixelLayerTool::getTrackStateOnPixelLayerInfo ( const Trk::TrackParameters trackpar,
std::vector< TrackStateOnPixelLayerInfo > &  infoList,
int  pixel_layer = -1,
bool  checkBarrelOnly = false 
) const
finaloverridevirtual

pixelLayer param

Implements InDet::IInDetTestPixelLayerTool.

Definition at line 413 of file InDetTestPixelLayerTool.cxx.

418 {
419 
420  infoList.clear();
421 
422  std::vector<std::unique_ptr<const Trk::TrackParameters>> pixelLayerParam;
423  if (!getPixelLayerParameters(trackpar, pixelLayerParam))
424  return false;
425 
426  const EventContext& ctx = Gaudi::Hive::currentContext();
428 
429  for (std::unique_ptr<const Trk::TrackParameters>& trkParam :
430  pixelLayerParam) {
431  TrackStateOnPixelLayerInfo pixelLayerInfo;
432 
433  double fracGood = getFracGood(trkParam.get(),
436  !m_pixelDetElStatus.empty() ? pixelDetElStatus.cptr() : nullptr);
437  pixelLayerInfo.goodFraction(fracGood);
438 
439  Identifier id =
440  trkParam->associatedSurface().associatedDetectorElement()->identify();
441  pixelLayerInfo.moduleId(id);
442 
443  if (checkBarrelOnly && !m_pixelId->is_barrel(id)) continue;
444  if (m_pixelId->layer_disk(id) != pixel_layer) continue;
445 
446  const auto* tmp = trkParam->associatedSurface().associatedDetectorElement();
447  const InDetDD::SiDetectorElement* sielem =
448  (tmp != nullptr && tmp->detectorType() == Trk::DetectorElemType::Silicon)
449  ? static_cast<const InDetDD::SiDetectorElement*>(tmp)
450  : nullptr;
451 
452  if (!sielem) {
453  ATH_MSG_WARNING("Failed to cast TrackParameters associated surface to "
454  "SiDetectorElement");
455  return false;
456  }
457 
458  const Amg::Vector2D& locPos = trkParam->localPosition();
459  Identifier holeId_c = sielem->identifierOfPosition(locPos);
460  pixelLayerInfo.pixelId(holeId_c);
461 
462  double etaDist = -9999;
463  double phiDist = -9999;
464  const InDetDD::PixelModuleDesign* design =
465  dynamic_cast<const InDetDD::PixelModuleDesign*>(&sielem->design());
466  if (design) {
467  design->distanceToDetectorEdge(
468  locPos,
469  etaDist,
470  phiDist);
471  } else {
472  ATH_MSG_WARNING("could not get pixel module design for "
473  << m_idHelper->show_to_string(id)
474  << ", returning false for getTrackStateOnPixelLayerInfo");
475  return false;
476  }
477  pixelLayerInfo.distToModuleEdgePhi(phiDist);
478  pixelLayerInfo.distToModuleEdgeEta(etaDist);
479 
480  pixelLayerInfo.globalPosition(trkParam->position());
481 
482  pixelLayerInfo.localX(locPos[Trk::locX]);
483  pixelLayerInfo.localY(locPos[Trk::locY]);
484 
485  pixelLayerInfo.theta(trkParam->parameters()[Trk::theta]);
486  pixelLayerInfo.phi(trkParam->parameters()[Trk::phi0]);
487 
488  float error_locx = -9999;
489  float error_locy = -9999;
490 
491  if (trkParam->covariance()) {
492  error_locx = sqrt((*trkParam->covariance())(Trk::locX, Trk::locX));
493  error_locy = sqrt((*trkParam->covariance())(Trk::locY, Trk::locY));
494  } else {
495  ATH_MSG_DEBUG("could not TrackParameters for hole "
496  << m_idHelper->show_to_string(id));
497  }
498 
499  pixelLayerInfo.errLocalX(error_locx);
500  pixelLayerInfo.errLocalY(error_locy);
501 
504  pixelDetElStatus->isGood(trkParam->associatedSurface().associatedDetectorElement()->identifyHash()),
506  bool isgood =
507  ((!m_pixelDetElStatus.empty() &&
508  pixelDetElStatus->isGood(trkParam->associatedSurface().associatedDetectorElement()->identifyHash())) ||
510 
511  double phitol = 2.5;
512  double etatol = 5.;
513 
514  if (trkParam->covariance()) {
515  phitol = 3 * sqrt((*trkParam->covariance())(Trk::locX, Trk::locX));
516  etatol = 3 * sqrt((*trkParam->covariance())(Trk::locY, Trk::locY));
517  }
518 
519  InDetDD::SiIntersect siIn = sielem->inDetector(locPos, phitol, etatol);
520  bool isIn = siIn.in();
521 
522  if (isgood) {
523  if (isIn)
524  pixelLayerInfo.type(insideGoodModule);
525  else
526  pixelLayerInfo.type(nearGoodModuleEdge);
527  } else {
528  if (isIn)
529  pixelLayerInfo.type(insideBadModule);
530  else
531  pixelLayerInfo.type(nearBadModuleEdge);
532  }
533 
534  infoList.push_back(pixelLayerInfo);
535  }
536 
537  return true;
538 }

◆ getTrackStateOnPixelLayerInfo() [3/3]

bool InDet::InDetTestPixelLayerTool::getTrackStateOnPixelLayerInfo ( const Trk::TrackParticleBase track,
std::vector< TrackStateOnPixelLayerInfo > &  infoList 
) const
finaloverridevirtual

Implements InDet::IInDetTestPixelLayerTool.

Definition at line 396 of file InDetTestPixelLayerTool.cxx.

399 {
400 
401  const Trk::Perigee* startParameters = track->perigee();
402 
403  if (!startParameters) {
404  ATH_MSG_WARNING("Found TrackParticle with no perigee parameters: no "
405  "b-layer info will be provided");
406  return false;
407  }
408 
409  return getTrackStateOnPixelLayerInfo(startParameters, infoList);
410 }

◆ initialize()

StatusCode InDet::InDetTestPixelLayerTool::initialize ( )
finaloverridevirtual

Definition at line 41 of file InDetTestPixelLayerTool.cxx.

42 {
43 
44  // retrieve ID helpers:
45  if (detStore()->retrieve(m_idHelper, "AtlasID").isFailure()) {
46  ATH_MSG_FATAL("Could not get AtlasDetectorID helper");
47  return StatusCode::FAILURE;
48  }
49 
50  if (detStore()->retrieve(m_pixelId, "PixelID").isFailure()) {
51  ATH_MSG_FATAL("Could not get PixelID helper !");
52  return StatusCode::FAILURE;
53  }
54 
55  if (m_extrapolator.retrieve().isFailure()) {
56  ATH_MSG_FATAL("Failed to retrieve tool " << m_extrapolator);
57  return StatusCode::FAILURE;
58  }
59 
60  ATH_CHECK(m_pixelCondSummaryTool.retrieve(DisableTool{
61  !m_pixelDetElStatus.empty() && !VALIDATE_STATUS_ARRAY_ACTIVATED }));
63 
64  return StatusCode::SUCCESS;
65 }

◆ 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& InDet::IInDetTestPixelLayerTool::interfaceID ( )
inlinestaticinherited

Definition at line 32 of file IInDetTestPixelLayerTool.h.

33  {
34  return IID_IInDetTestPixelLayerTool;
35  };

◆ isActive()

bool InDet::InDet::InDetTestPixelLayerTool::isActive ( const Trk::TrackParameters trackpar) const
private

checking active material

Definition at line 328 of file InDetTestPixelLayerTool.cxx.

330 {
331 
332  const auto* tmp = trackpar->associatedSurface().associatedDetectorElement();
333  const InDetDD::SiDetectorElement* siElement =
334  (tmp != nullptr && tmp->detectorType() == Trk::DetectorElemType::Silicon)
335  ? static_cast<const InDetDD::SiDetectorElement*>(tmp)
336  : nullptr;
337 
338  if (siElement == nullptr) {
339  // ------- in dubio pro reo --> return false (is assumed insensitive)
340  ATH_MSG_DEBUG("TrackParameters do not belong to a Si Element");
342  } else {
343  double phitol = 2.5;
344  double etatol = 5.;
345  if (trackpar->covariance()) {
346  phitol = 3. * sqrt((*trackpar->covariance())(Trk::locX, Trk::locX));
347  etatol = 3. * sqrt((*trackpar->covariance())(Trk::locY, Trk::locY));
348  }
349  InDetDD::SiIntersect siIn =
350  siElement->inDetector(trackpar->localPosition(), phitol, etatol);
351  if (siElement->nearBondGap(trackpar->localPosition(), etatol)) {
352  ATH_MSG_DEBUG("---> extrapolation on bond gap within " << etatol
353  << ", return");
354  } else if (!siIn.in()) {
355  ATH_MSG_DEBUG("---> extrapolation not inside (active?) detector within "
356  << phitol << " " << etatol << ", return");
357  } else {
358  return true;
359  }
360  }
361 
362  return false;
363 }

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

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

BooleanProperty InDet::InDetTestPixelLayerTool::m_checkActiveAreas {this, "CheckActiveAreas", true}
private

Definition at line 145 of file InDetTestPixelLayerTool.h.

◆ m_checkDeadRegions

BooleanProperty InDet::InDetTestPixelLayerTool::m_checkDeadRegions {this, "CheckDeadRegions", true}
private

Definition at line 146 of file InDetTestPixelLayerTool.h.

◆ m_checkDisabledFEs

BooleanProperty InDet::InDetTestPixelLayerTool::m_checkDisabledFEs {this, "CheckDisabledFEs", true}
private

Definition at line 147 of file InDetTestPixelLayerTool.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_etaRegionSize

DoubleProperty InDet::InDetTestPixelLayerTool::m_etaRegionSize {this, "EtaRegionSize", 3.}
private

Definition at line 149 of file InDetTestPixelLayerTool.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_extrapolator

ToolHandle<Trk::IExtrapolator> InDet::InDetTestPixelLayerTool::m_extrapolator
private
Initial value:
{
this,
"Extrapolator",
"Trk::Extrapolator/InDetExtrapolator",
"Extrapolator used to extrapolate to layers"
}

Pointer to Extrapolator AlgTool.

Definition at line 118 of file InDetTestPixelLayerTool.h.

◆ m_goodFracCut

DoubleProperty InDet::InDetTestPixelLayerTool::m_goodFracCut {this, "GoodFracCut", 0.5}
private

Definition at line 150 of file InDetTestPixelLayerTool.h.

◆ m_idHelper

const AtlasDetectorID* InDet::InDetTestPixelLayerTool::m_idHelper
private

detector helper

Definition at line 140 of file InDetTestPixelLayerTool.h.

◆ m_outerRadius

DoubleProperty InDet::InDetTestPixelLayerTool::m_outerRadius {this, "OuterRadius", 230.}
private

Definition at line 151 of file InDetTestPixelLayerTool.h.

◆ m_phiRegionSize

DoubleProperty InDet::InDetTestPixelLayerTool::m_phiRegionSize {this, "PhiRegionSize", 3.}
private

Definition at line 148 of file InDetTestPixelLayerTool.h.

◆ m_pixelCondSummaryTool

ToolHandle<IInDetConditionsTool> InDet::InDetTestPixelLayerTool::m_pixelCondSummaryTool
private
Initial value:
{
this,
"PixelSummaryTool",
"PixelConditionsSummaryTool/InDetPixelConditionsSummaryTool",
"Tool to retrieve Pixel Conditions summary"
}

Handles to IConditionsSummaryServices for Pixels.

Definition at line 126 of file InDetTestPixelLayerTool.h.

◆ m_pixelDetElStatus

SG::ReadHandleKey<InDet::SiDetectorElementStatus> InDet::InDetTestPixelLayerTool::m_pixelDetElStatus {this, "PixelDetElStatus", "", "Key of SiDetectorElementStatus for Pixel"}
private

Optional read handle to get status data to test whether a pixel detector element is good.

If set to e.g. PixelDetectorElementStatus the event data will be used instead of the pixel conditions summary tool.

Definition at line 136 of file InDetTestPixelLayerTool.h.

◆ m_pixelId

const PixelID* InDet::InDetTestPixelLayerTool::m_pixelId
private

ID pixel helper.

Definition at line 143 of file InDetTestPixelLayerTool.h.

◆ m_varHandleArraysDeclared

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

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

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

Definition at line 398 of file AthCommonDataStore.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
AtlasDetectorID::is_pixel
bool is_pixel(Identifier id) const
Definition: AtlasDetectorID.h:629
InDet::IInDetTestPixelLayerTool::expectHitInInnermostPixelLayer
bool expectHitInInnermostPixelLayer(const EventContext &ctx, const Trk::Track *track) const
Definition: IInDetTestPixelLayerTool.h:49
InDetDD::SolidStateDetectorElementBase::identifierOfPosition
Identifier identifierOfPosition(const Amg::Vector2D &localPos) const
Full identifier of the cell for a given position: assumes a raw local position (no Lorentz shift)
Definition: SolidStateDetectorElementBase.cxx:217
Trk::anyDirection
@ anyDirection
Definition: PropDirection.h:22
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
InDet::InDetTestPixelLayerTool::m_pixelId
const PixelID * m_pixelId
ID pixel helper.
Definition: InDetTestPixelLayerTool.h:143
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
Trk::Surface::associatedDetectorElement
const TrkDetElementBase * associatedDetectorElement() const
return associated Detector Element
InDet::InDetTestPixelLayerTool::m_goodFracCut
DoubleProperty m_goodFracCut
Definition: InDetTestPixelLayerTool.h:150
Trk::locX
@ locX
Definition: ParamDefs.h:37
InDetDD::PixelModuleDesign
Definition: PixelModuleDesign.h:45
Trk::locY
@ locY
local cartesian
Definition: ParamDefs.h:38
InDetDD::PixelDiodeTree::DiodeProxy::isValid
bool isValid() const
return true if this proxy refers to a valide diode
Definition: PixelDiodeTree.h:224
InDetDD::SolidStateDetectorElementBase::inDetector
SiIntersect inDetector(const Amg::Vector2D &localPosition, double phiTol, double etaTol) const
Test that it is in the active region.
Definition: SolidStateDetectorElementBase.cxx:204
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
Trk::PerigeeSurface
Definition: PerigeeSurface.h:43
InDet::SiDetectorElementStatus::isChipGood
bool isChipGood(IdentifierHash hash, unsigned int chip) const
Definition: SiDetectorElementStatus.h:100
Trk::ParametersBase::position
const Amg::Vector3D & position() const
Access method for the position.
Amg::Vector2D
Eigen::Matrix< double, 2, 1 > Vector2D
Definition: GeoPrimitives.h:48
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
Trk::ParametersBase::associatedSurface
virtual const Surface & associatedSurface() const override=0
Access to the Surface associated to the Parameters.
max
constexpr double max()
Definition: ap_fixedTest.cxx:33
Trk::ParametersT
Dummy class used to allow special convertors to be called for surfaces owned by a detector element.
Definition: EMErrorDetail.h:25
Pixel::getGoodFraction
double getGoodFraction(const InDet::SiDetectorElementStatus &pixelDetElStatus, const InDetDD::PixelModuleDesign &design, const PixelID &pixelID, const IdentifierHash &modulIdHash, const Identifier &startId, const Identifier &endId)
Get The fraction of good chips the pixel of a pixel array is connected to.
Definition: PixelFEUtils.h:32
InDetDD::PixelModuleDesign::diodeProxyFromPosition
PixelDiodeTree::DiodeProxy diodeProxyFromPosition(const Amg::Vector2D &pos) const
Definition: PixelModuleDesign.h:254
InDet::InDetTestPixelLayerTool::getPixelLayerParameters
bool getPixelLayerParameters(const EventContext &ctx, const Trk::TrackParameters *trackpar, std::vector< std::unique_ptr< const Trk::TrackParameters >> &pixelLayerParam) const
Definition: InDetTestPixelLayerTool.cxx:541
InDet::InDetTestPixelLayerTool::m_checkDeadRegions
BooleanProperty m_checkDeadRegions
Definition: InDetTestPixelLayerTool.h:146
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
InDet::InDetTestPixelLayerTool::getPixelDetElStatus
SG::ReadHandle< InDet::SiDetectorElementStatus > getPixelDetElStatus(const EventContext &ctx) const
Definition: InDetTestPixelLayerTool.h:155
AthCommonDataStore< AthCommonMsg< AlgTool > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
InDetConditions::PIXEL_CHIP
@ PIXEL_CHIP
Definition: InDetHierarchy.h:15
Trk::alongMomentum
@ alongMomentum
Definition: PropDirection.h:20
InDetConditions::Hierarchy
Hierarchy
Definition: InDetHierarchy.h:14
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
Trk::TrkDetElementBase::identify
virtual Identifier identify() const =0
Identifier.
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
SG::VarHandleKey::empty
bool empty() const
Test if the key is blank.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:150
InDetDD::PixelModuleDesign::getFE
static unsigned int getFE(const PixelDiodeTree::DiodeProxy &diode_proxy)
Definition: PixelModuleDesign.h:258
InDetDD::PixelModuleDesign::diodeProxyFromIdxCachePosition
PixelDiodeTree::DiodeProxyWithPosition diodeProxyFromIdxCachePosition(const std::array< PixelDiodeTree::IndexType, 2 > &idx) const
Definition: PixelModuleDesign.h:251
Identifier::is_valid
bool is_valid() const
Check if id is in a valid state.
InDet::InDetTestPixelLayerTool::m_pixelCondSummaryTool
ToolHandle< IInDetConditionsTool > m_pixelCondSummaryTool
Handles to IConditionsSummaryServices for Pixels.
Definition: InDetTestPixelLayerTool.h:126
InDetDD::SolidStateDetectorElementBase::identifyHash
virtual IdentifierHash identifyHash() const override final
identifier hash (inline)
PixelID::wafer_id
Identifier wafer_id(int barrel_ec, int layer_disk, int phi_module, int eta_module) const
For a single crystal.
Definition: PixelID.h:360
InDet::InDetTestPixelLayerTool::m_etaRegionSize
DoubleProperty m_etaRegionSize
Definition: InDetTestPixelLayerTool.h:149
InDetDD::PixelModuleDesign::etaPitch
virtual double etaPitch() const
Pitch in eta direction.
Definition: PixelModuleDesign.cxx:208
AthCommonDataStore< AthCommonMsg< AlgTool > >::detStore
const ServiceHandle< StoreGateSvc > & detStore() const
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition: AthCommonDataStore.h:95
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
InDet::InDetTestPixelLayerTool::getTrackStateOnPixelLayerInfo
virtual bool getTrackStateOnPixelLayerInfo(const Trk::TrackParticleBase *, std::vector< TrackStateOnPixelLayerInfo > &infoList) const override final
Definition: InDetTestPixelLayerTool.cxx:396
InDet::InDetTestPixelLayerTool::m_checkDisabledFEs
BooleanProperty m_checkDisabledFEs
Definition: InDetTestPixelLayerTool.h:147
InDetDD::SiIntersect::in
bool in() const
Definition: SiIntersect.h:50
InDetDD::PixelModuleDesign::phiPitch
virtual double phiPitch() const
Pitch in phi direction.
Definition: PixelModuleDesign.cxx:192
Trk::DetectorElemType::Silicon
@ Silicon
InDet::InDetTestPixelLayerTool::m_phiRegionSize
DoubleProperty m_phiRegionSize
Definition: InDetTestPixelLayerTool.h:148
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
InDetDD::PixelDiodeTree::DiodeProxy::computeIndex
std::array< PixelDiodeTree::CellIndexType, 2 > computeIndex(const Vector2D &pos) const
Compute the full 2D index (row, column) of the diode in the full diode matrix.
Definition: PixelDiodeTree.h:220
InDetDD::PixelDiodeTree::DiodeProxyWithPosition
A diode proxy which caches the position of a diode.
Definition: PixelDiodeTree.h:230
InDet::InDetTestPixelLayerTool::getFracGood
virtual double getFracGood(const Trk::TrackParticleBase *trackpar, int pixel_layer) const override final
Definition: InDetTestPixelLayerTool.cxx:244
PixelID::is_barrel
bool is_barrel(const Identifier &id) const
Test for barrel - WARNING: id MUST be pixel id, otherwise answer is not accurate. Use SiliconID for g...
Definition: PixelID.h:586
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
PixelID::wafer_hash
IdentifierHash wafer_hash(Identifier wafer_id) const
wafer hash from id
Definition: PixelID.h:383
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
InDet::IInDetTestPixelLayerTool::expectHitInPixelLayer
virtual bool expectHitInPixelLayer(const EventContext &ctx, const Trk::TrackParticleBase *, int pixel_layer) const =0
InDet::insideBadModule
@ insideBadModule
Definition: TrackStateOnPixelLayerInfo.h:15
VALIDATE_STATUS_ARRAY
#define VALIDATE_STATUS_ARRAY(use_info, info_val, summary_val)
Definition: SiDetectorElementStatus.h:51
InDet::IInDetTestPixelLayerTool::getTrackStateOnPixelLayerInfo
virtual bool getTrackStateOnPixelLayerInfo(const Trk::TrackParticleBase *, std::vector< TrackStateOnPixelLayerInfo > &infoList) const =0
beamspotman.n
n
Definition: beamspotman.py:727
Trk::theta
@ theta
Definition: ParamDefs.h:66
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
checkxAOD.frac
frac
Definition: Tools/PyUtils/bin/checkxAOD.py:259
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
Definition: AthCommonDataStore.h:145
Trk::CylinderSurface
Definition: CylinderSurface.h:55
InDetDD::PixelModuleDesign::distanceToDetectorEdge
virtual void distanceToDetectorEdge(const SiLocalPosition &localPosition, double &etaDist, double &phiDist) const
Returns distance to nearest detector active edge +ve = inside -ve = outside.
Definition: PixelModuleDesign.cxx:88
Amg::Transform3D
Eigen::Affine3d Transform3D
Definition: GeoPrimitives.h:46
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
InDetConditions::PIXEL_MODULE
@ PIXEL_MODULE
Definition: InDetHierarchy.h:15
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
InDet::InDetTestPixelLayerTool::expectHitInPixelLayer
virtual bool expectHitInPixelLayer(const EventContext &ctx, const Trk::TrackParticleBase *, int pixel_layer) const override final
Definition: InDetTestPixelLayerTool.cxx:88
DeMoUpdate.tmp
string tmp
Definition: DeMoUpdate.py:1167
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
AthAlgTool::AthAlgTool
AthAlgTool()
Default constructor:
InDet::InDetTestPixelLayerTool::m_pixelDetElStatus
SG::ReadHandleKey< InDet::SiDetectorElementStatus > m_pixelDetElStatus
Optional read handle to get status data to test whether a pixel detector element is good.
Definition: InDetTestPixelLayerTool.h:137
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
Trk::ParametersCommon::localPosition
Amg::Vector2D localPosition() const
Access method for the local coordinates, local parameter definitions differ for each surface type.
PixelID::layer_disk
int layer_disk(const Identifier &id) const
Definition: PixelID.h:607
InDet::SiDetectorElementStatus::isGood
bool isGood(IdentifierHash hash) const
Definition: SiDetectorElementStatus.h:97
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
id
SG::auxid_t id
Definition: Control/AthContainers/Root/debug.cxx:239
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
InDetDD::SiDetectorElement
Definition: SiDetectorElement.h:109
InDet::InDetTestPixelLayerTool::m_idHelper
const AtlasDetectorID * m_idHelper
detector helper
Definition: InDetTestPixelLayerTool.h:140
InDet::nearBadModuleEdge
@ nearBadModuleEdge
Definition: TrackStateOnPixelLayerInfo.h:16
InDetDD::SiIntersect
Definition: SiIntersect.h:23
InDet::InDetTestPixelLayerTool::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Pointer to Extrapolator AlgTool.
Definition: InDetTestPixelLayerTool.h:118
a
TList * a
Definition: liststreamerinfos.cxx:10
h
AtlasDetectorID::show_to_string
std::string show_to_string(Identifier id, const IdContext *context=0, char sep='.') const
or provide the printout in string form
Definition: AtlasDetectorID.cxx:367
InDetDD::PixelDiodeTree::DiodeProxy
Helper class to access parameters of a diode.
Definition: PixelDiodeTree.h:183
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
PixelID::pixel_id
Identifier pixel_id(int barrel_ec, int layer_disk, int phi_module, int eta_module, int phi_index, int eta_index) const
For an individual pixel.
Definition: PixelID.h:428
AthCommonMsg< AlgTool >::msg
MsgStream & msg() const
Definition: AthCommonMsg.h:24
InDet::InDetTestPixelLayerTool::m_checkActiveAreas
BooleanProperty m_checkActiveAreas
Definition: InDetTestPixelLayerTool.h:145
InDet::InDetTestPixelLayerTool::isActive
bool isActive(const Trk::TrackParameters *trackpar) const
Definition: InDetTestPixelLayerTool.cxx:328
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:629
InDet::InDetTestPixelLayerTool::m_outerRadius
DoubleProperty m_outerRadius
Definition: InDetTestPixelLayerTool.h:151
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:801
Trk::TrkDetElementBase::identifyHash
virtual IdentifierHash identifyHash() const =0
Identifier hash.
xAOD::track
@ track
Definition: TrackingPrimitives.h:513
InDetDD::SiDetectorElement::nearBondGap
bool nearBondGap(const Amg::Vector2D &localPosition, double etaTol) const
Test if near bond gap within tolerances.
Definition: SiDetectorElement.cxx:323
InDet::insideGoodModule
@ insideGoodModule
Definition: TrackStateOnPixelLayerInfo.h:13
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
InDetDD::SiDetectorElement::design
virtual const SiDetectorDesign & design() const override final
access to the local description (inline):
Trk::phi0
@ phi0
Definition: ParamDefs.h:65
InDet::nearGoodModuleEdge
@ nearGoodModuleEdge
Definition: TrackStateOnPixelLayerInfo.h:14
fitman.k
k
Definition: fitman.py:528
Identifier
Definition: IdentifierFieldParser.cxx:14