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

Concrete Implementation of the IPRD_AssociationTool interface. More...

#include <InDetPRD_AssociationToolGangedPixels.h>

Inheritance diagram for InDet::InDetPRD_AssociationToolGangedPixels:
Collaboration diagram for InDet::InDetPRD_AssociationToolGangedPixels:

Public Types

typedef Trk::IPRD_AssociationTool::Maps Maps
 

Public Member Functions

 InDetPRD_AssociationToolGangedPixels (const std::string &, const std::string &, const IInterface *)
 
virtual ~InDetPRD_AssociationToolGangedPixels ()
 
virtual StatusCode initialize () override
 
virtual StatusCode finalize () override
 
virtual StatusCode addPRDs (const Trk::Track &track) override
 add the PRDs from this track to the store More...
 
virtual StatusCode addPRDs (Maps &maps, const Trk::Track &track) const override
 add the PRDs from this track to maps. More...
 
virtual StatusCode removePRDs (Maps &maps, const Trk::Track &track) const override
 remove the PRDs from this track from maps More...
 
virtual StatusCode removePRDs (const Trk::Track &track) override
 remove the PRDs from this track from the store More...
 
virtual bool isUsed (const Maps &maps, const Trk::PrepRawData &prd) const override final
 does this PRD belong to at least one track in maps? More...
 
virtual bool isUsed (const Trk::PrepRawData &prd) const override
 does this PRD belong to at least one track? More...
 
virtual bool isShared (const Maps &maps, const Trk::PrepRawData &prd) const override final
 does this PRD belong to more than one track in maps? More...
 
virtual bool isShared (const Trk::PrepRawData &prd) const override
 does this PRD belong to more than one track? More...
 
virtual std::vector< const Trk::PrepRawData * > getPrdsOnTrack (const Trk::Track &track) const override
 returns a vector of PRDs belonging to the passed track. More...
 
virtual std::vector< const Trk::PrepRawData * > getPrdsOnTrack (const Maps &maps, const Trk::Track &track) const override
 
virtual Trk::IPRD_AssociationTool::TrackSet findConnectedTracks (const Trk::Track &track) const override
 returns set of tracks which share PRD with this one More...
 
virtual IPRD_AssociationTool::TrackSet findConnectedTracks (const Maps &maps, const Trk::Track &track) const override
 
virtual Trk::IPRD_AssociationTool::PrepRawDataTrackMapRange onTracks (const Trk::PrepRawData &prd) const override
 get the Tracks associated with this Trk::PrepRawData. More...
 
virtual IPRD_AssociationTool::PrepRawDataTrackMapRange onTracks (const Maps &maps, const Trk::PrepRawData &prd) const override
 
virtual void reset () override
 resets the tool - should be called before using tool (and maybe afterwards to free up memory) More...
 

Private Attributes

Maps m_maps
 
SG::ReadHandleKey< PixelGangedClusterAmbiguitiesm_pixelClusterAmbiguitiesMapName
 
bool m_addTRToutliers
 add TRT outliers in the addTrack method to avoid splits due to rejected extensions More...
 

Detailed Description

Concrete Implementation of the IPRD_AssociationTool interface.

Definition at line 20 of file InDetPRD_AssociationToolGangedPixels.h.

Member Typedef Documentation

◆ Maps

Definition at line 24 of file InDetPRD_AssociationToolGangedPixels.h.

Constructor & Destructor Documentation

◆ InDetPRD_AssociationToolGangedPixels()

InDet::InDetPRD_AssociationToolGangedPixels::InDetPRD_AssociationToolGangedPixels ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 16 of file InDetPRD_AssociationToolGangedPixels.cxx.

18  :
19  base_class(t,n,p)
20 {
21  declareProperty( "PixelClusterAmbiguitiesMapName", m_pixelClusterAmbiguitiesMapName = "PixelClusterAmbiguitiesMap" );
22  declareProperty( "addTRToutliers", m_addTRToutliers = false);
23 }

◆ ~InDetPRD_AssociationToolGangedPixels()

InDet::InDetPRD_AssociationToolGangedPixels::~InDetPRD_AssociationToolGangedPixels ( )
virtualdefault

Member Function Documentation

◆ addPRDs() [1/2]

StatusCode InDet::InDetPRD_AssociationToolGangedPixels::addPRDs ( const Trk::Track track)
overridevirtual

add the PRDs from this track to the store

Parameters
trackall PRDs from 'track' will be added to PRD_AssociationTool's internal store.

Definition at line 39 of file InDetPRD_AssociationToolGangedPixels.cxx.

40 {
41  return addPRDs (m_maps, track);
42 }

◆ addPRDs() [2/2]

StatusCode InDet::InDetPRD_AssociationToolGangedPixels::addPRDs ( Maps maps,
const Trk::Track track 
) const
overridevirtual

add the PRDs from this track to maps.

Parameters
trackall PRDs from 'track' will be added to PRD_AssociationTool's internal store.

Definition at line 44 of file InDetPRD_AssociationToolGangedPixels.cxx.

46 {
47  // test caching
48  TrackPrepRawDataMap::const_iterator itvec = maps.m_trackPrepRawDataMap.find(&track);
49  if (itvec!=maps.m_trackPrepRawDataMap.end())
50  {
51  ATH_MSG_ERROR("track already found in cache, should not happen");
52  return StatusCode::FAILURE;
53  }
54  // get all prds on 'track'
55  std::vector< const Trk::PrepRawData* > prds = getPrdsOnTrack( maps, track );
56 
58 
59  // loop over PRD
60  for (const Trk::PrepRawData* prd : prds) {
61  maps.m_prepRawDataTrackMap.emplace(prd, &track);
62  // test ganged ambiguity
63  if (prd->type(Trk::PrepRawDataType::PixelCluster)) {
64  const PixelCluster* pixel = static_cast<const PixelCluster*> (prd);
65  if (pixel->gangedPixel()) {
66  ATH_MSG_DEBUG( "Found ganged pixel, search for mirror" );
67  std::pair<PixelGangedClusterAmbiguities::const_iterator,
68  PixelGangedClusterAmbiguities::const_iterator> ambi = gangedAmbis->equal_range(pixel);
69  for (; ambi.first != ambi.second ; ++(ambi.first) ) {
70  // add ambiguity as used by this track as well
71  ATH_MSG_DEBUG( "Found mirror pixel, add mirror to association map" );
72  maps.m_prepRawDataTrackMap.emplace(ambi.first->second, &track);
73  }
74  }
75  }
76  }
77 
78  // cache this using maps.m_trackPrepRawDataMap
79  maps.m_trackPrepRawDataMap.emplace(&track, prds);
80 
81  ATH_MSG_DEBUG("Added PRDs from Track at ("<<&track<<") - map now has size: \t"
82  <<maps.m_prepRawDataTrackMap.size());
83  return StatusCode::SUCCESS;
84 }

◆ finalize()

StatusCode InDet::InDetPRD_AssociationToolGangedPixels::finalize ( )
overridevirtual

Definition at line 34 of file InDetPRD_AssociationToolGangedPixels.cxx.

35 {
36  return StatusCode::SUCCESS;
37 }

◆ findConnectedTracks() [1/2]

Trk::IPRD_AssociationTool::TrackSet InDet::InDetPRD_AssociationToolGangedPixels::findConnectedTracks ( const Maps maps,
const Trk::Track track 
) const
overridevirtual

Definition at line 175 of file InDetPRD_AssociationToolGangedPixels.cxx.

177 {
178  TrackSet connectedTracks;
179 
181 
182  std::vector< const Trk::PrepRawData* > prds = getPrdsOnTrack(maps, track);
183  for (const Trk::PrepRawData* prd : prds) {
185  // add them into the list
186  for ( ; range.first!=range.second; ++(range.first) )
187  connectedTracks.insert((range.first)->second);
188 
189  // test ganged ambiguity
190 
191  if (prd->type(Trk::PrepRawDataType::PixelCluster)) {
192  const PixelCluster* pixel = static_cast<const PixelCluster*> (prd);
193  if (pixel->gangedPixel()) {
194  std::pair<PixelGangedClusterAmbiguities::const_iterator,
195  PixelGangedClusterAmbiguities::const_iterator> ambi = gangedAmbis->equal_range(pixel);
196  for (; ambi.first != ambi.second ; ++(ambi.first) ) {
197  range = onTracks( maps, *(ambi.first->second) );
198  // add them into the list
199  for ( ; range.first!=range.second; ++(range.first) )
200  connectedTracks.insert((range.first)->second);
201  }
202  }
203  }
204  }
205 
206  // don't forget to remove the input track
207  connectedTracks.erase(&track);
208 
209  ATH_MSG_VERBOSE("Added in connected tracks for track "<<&track
210  << "\tsize of list is "<<connectedTracks.size());
211 
212  return connectedTracks;
213 }

◆ findConnectedTracks() [2/2]

Trk::IPRD_AssociationTool::TrackSet InDet::InDetPRD_AssociationToolGangedPixels::findConnectedTracks ( const Trk::Track track) const
overridevirtual

returns set of tracks which share PRD with this one

Parameters
trackthis Track must be known to this tool.
Returns
a set of tracks which share PRD/hits with the passed 'track'

Definition at line 169 of file InDetPRD_AssociationToolGangedPixels.cxx.

170 {
171  return findConnectedTracks (m_maps, track);
172 }

◆ getPrdsOnTrack() [1/2]

std::vector< const Trk::PrepRawData * > InDet::InDetPRD_AssociationToolGangedPixels::getPrdsOnTrack ( const Maps maps,
const Trk::Track track 
) const
overridevirtual

Definition at line 224 of file InDetPRD_AssociationToolGangedPixels.cxx.

226 {
227  using PRDs_t = std::vector<const Trk::PrepRawData *>;
228 
229  // test caching
230  TrackPrepRawDataMap::const_iterator itvec = maps.m_trackPrepRawDataMap.find(&track);
231  if (itvec!=maps.m_trackPrepRawDataMap.end())
232  {
233  ATH_MSG_VERBOSE("found track in cache, return cached PRD vector for track");
234  return itvec->second;
235  }
236 
237  if (track.measurementsOnTrack()==nullptr) {
238  ATH_MSG_WARNING("Track has no RoTs");
239  return {}; // return vector optimization
240  }
241 
242 
243  // output vector
244  PRDs_t vec;
245  // size it
246  vec.reserve(track.measurementsOnTrack()->size());
247 
248  // get the PRDs for the measuremenst on track
249  DataVector<const Trk::MeasurementBase>::const_iterator it = track.measurementsOnTrack()->begin();
250  DataVector<const Trk::MeasurementBase>::const_iterator itEnd = track.measurementsOnTrack()->end();
251  for (;it!=itEnd;++it){
252  const auto *const pThisMeasurement(*it);
253  if (pThisMeasurement->type(Trk::MeasurementBaseType::RIO_OnTrack)){
254  const Trk::RIO_OnTrack* rot = static_cast<const Trk::RIO_OnTrack*>(pThisMeasurement);
255  vec.push_back(rot->prepRawData());
256  }
257  }
258  ATH_MSG_DEBUG(" Getting "<<vec.size()<<" PRDs from track at:"<<&track);
259  // new mode, we add the outliers in the TRT
260  if (m_addTRToutliers) {
261  // get the PRDs for the measuremenst on track
262  for (const Trk::MeasurementBase* meas : *track.outliersOnTrack()){
263  // get the ROT, make sure it is not a pseudo measurment
264  if (meas->type(Trk::MeasurementBaseType::RIO_OnTrack)) {
265  const Trk::RIO_OnTrack* rot = static_cast<const Trk::RIO_OnTrack*>(meas);
266  // check if outlier is TRT ?
268  // add to the list, it is TRT
269  vec.push_back(rot->prepRawData());
270  }
271  }
272  }
273  ATH_MSG_DEBUG(" Getting "<<vec.size()<<" PRDs including TRT outlier from track at:"<<&track);
274  }
275 
276  return vec;
277 }

◆ getPrdsOnTrack() [2/2]

std::vector< const Trk::PrepRawData * > InDet::InDetPRD_AssociationToolGangedPixels::getPrdsOnTrack ( const Trk::Track track) const
overridevirtual

returns a vector of PRDs belonging to the passed track.

It's basically for the convenience of users and is created purely from the passed track. i.e. there is no caching if you do it multiple times on the same track, you're being inefficient!!

Parameters
trackthis Track will be iterated through and all PrepRawData added to a vector
Returns
vector of PrepRawData* belonging to 'track'. The PrepRawData should NOT be deleted
  • they belong to the Track (and thus the event).

Definition at line 217 of file InDetPRD_AssociationToolGangedPixels.cxx.

218 {
219  return getPrdsOnTrack (m_maps, track);
220 }

◆ initialize()

StatusCode InDet::InDetPRD_AssociationToolGangedPixels::initialize ( )
overridevirtual

Definition at line 28 of file InDetPRD_AssociationToolGangedPixels.cxx.

29 {
31  return StatusCode::SUCCESS;
32 }

◆ isShared() [1/2]

bool InDet::InDetPRD_AssociationToolGangedPixels::isShared ( const Maps maps,
const Trk::PrepRawData prd 
) const
inlinefinaloverridevirtual

does this PRD belong to more than one track in maps?

Parameters
prdthe PrepRawData in question
Returns
true if 'prd' exists on more than one track (of course PRD_AssociationTool can only give information about tracks it knows about i.e. that were added to maps with addPRDs()

Definition at line 131 of file InDetPRD_AssociationToolGangedPixels.h.

133 {
134  return (maps.m_prepRawDataTrackMap.count(&prd)>1);
135 }

◆ isShared() [2/2]

bool InDet::InDetPRD_AssociationToolGangedPixels::isShared ( const Trk::PrepRawData prd) const
inlineoverridevirtual

does this PRD belong to more than one track?

Parameters
prdthe PrepRawData in question
Returns
true if 'prd' exists on more than one track (of course PRD_AssociationTool can only give information about tracks it knows about i.e. that were added with addPRDs()

Definition at line 138 of file InDetPRD_AssociationToolGangedPixels.h.

139 {
140  return isShared (m_maps, prd);
141 }

◆ isUsed() [1/2]

bool InDet::InDetPRD_AssociationToolGangedPixels::isUsed ( const Maps maps,
const Trk::PrepRawData prd 
) const
inlinefinaloverridevirtual

does this PRD belong to at least one track in maps?

Parameters
prdthe PrepRawData in question
Returns
true if 'prd' exists in at least one track (of course PRD_AssociationTool can only give information about tracks it knows about i.e. that were added to maps with addPRDs()

Definition at line 118 of file InDetPRD_AssociationToolGangedPixels.h.

120 {
121  return (maps.m_prepRawDataTrackMap.count(&prd)>0);
122 }

◆ isUsed() [2/2]

bool InDet::InDetPRD_AssociationToolGangedPixels::isUsed ( const Trk::PrepRawData prd) const
inlineoverridevirtual

does this PRD belong to at least one track?

Parameters
prdthe PrepRawData in question
Returns
true if 'prd' exists in at least one track (of course PRD_AssociationTool can only give information about tracks it knows about i.e. that were added with addPRDs()

Definition at line 125 of file InDetPRD_AssociationToolGangedPixels.h.

126 {
127  return isUsed (m_maps, prd);
128 }

◆ onTracks() [1/2]

Trk::IPRD_AssociationTool::PrepRawDataTrackMapRange InDet::InDetPRD_AssociationToolGangedPixels::onTracks ( const Maps maps,
const Trk::PrepRawData prd 
) const
overridevirtual

Definition at line 286 of file InDetPRD_AssociationToolGangedPixels.cxx.

288 {
289  return maps.m_prepRawDataTrackMap.equal_range(&prd);
290 }

◆ onTracks() [2/2]

Trk::IPRD_AssociationTool::PrepRawDataTrackMapRange InDet::InDetPRD_AssociationToolGangedPixels::onTracks ( const Trk::PrepRawData prd) const
overridevirtual

get the Tracks associated with this Trk::PrepRawData.

IMPORTANT: Please use the typedefs IPRD_AssociationTool::PrepRawDataRange and IPRD_AssociationTool::ConstPRD_MapIt (defined in the interface) to access the tracks, as the way the data is stored internally may change.

Definition at line 280 of file InDetPRD_AssociationToolGangedPixels.cxx.

281 {
282  return onTracks (m_maps, prd);
283 }

◆ removePRDs() [1/2]

StatusCode InDet::InDetPRD_AssociationToolGangedPixels::removePRDs ( const Trk::Track track)
overridevirtual

remove the PRDs from this track from the store

Parameters
trackall PRDs from 'track' will be removed from the PRD_AssociationTool's internal store.

Definition at line 86 of file InDetPRD_AssociationToolGangedPixels.cxx.

87 {
88  return removePRDs (m_maps, track);
89 }

◆ removePRDs() [2/2]

StatusCode InDet::InDetPRD_AssociationToolGangedPixels::removePRDs ( Maps maps,
const Trk::Track track 
) const
overridevirtual

remove the PRDs from this track from maps

Parameters
trackall PRDs from 'track' will be removed from maps

Definition at line 91 of file InDetPRD_AssociationToolGangedPixels.cxx.

93 {
94  // This is NOT pretty code!
95  // At the moment I'm brute-forcing, but maybe I need a second map, containing <Track*, iterator>
96  // The problem is that I think filling such a map is also time-consuming.
97  // Since removes happen much less frequently than add, then the slow bit should be here.
98  // EJWM
99 
100  // save for debugging purposes
101  int oldSize = maps.m_prepRawDataTrackMap.size();//used in debug output at end.
102 
103  // test caching
104  TrackPrepRawDataMap::iterator itvec = maps.m_trackPrepRawDataMap.find(&track);
105  if (itvec==maps.m_trackPrepRawDataMap.end())
106  {
107  ATH_MSG_ERROR("Track not found in cache, this should not happen");
108  return StatusCode::FAILURE;
109  }
110 
112 
113  // get all prds on 'track'
114  std::vector< const Trk::PrepRawData* > prds = itvec->second;
115  for (const Trk::PrepRawData* prd : prds)
116  {
117  // now get all map elements (i.e. Tracks) that contain this PRD
119  range = maps.m_prepRawDataTrackMap.equal_range(prd);
120  // get iterators for range
121  ConstPRD_MapIt mapIt = range.first;
122  ConstPRD_MapIt mapItEnd = range.second;
123  // simple for loop instead of fancier remove_if above
124  for ( ;mapIt!=mapItEnd; ++mapIt) {
125  if ( mapIt->second==&track ) {
126  maps.m_prepRawDataTrackMap.erase( mapIt );
127  break;//should only ever be one Track
128  }
129  }
130 
131  // test ganged ambiguity
132 
133  if (prd->type(Trk::PrepRawDataType::PixelCluster)) {
134  const PixelCluster* pixel = static_cast<const PixelCluster*> (prd);
135  if (pixel->gangedPixel()) {
136  std::pair<PixelGangedClusterAmbiguities::const_iterator,
137  PixelGangedClusterAmbiguities::const_iterator> ambi = gangedAmbis->equal_range(pixel);
138  for (; ambi.first != ambi.second ; ++(ambi.first) ) {
139  // add ambiguity as used by this track as well
140  ATH_MSG_DEBUG("Found ganged pixel, remove also mirror from association map");
141 
142  range = maps.m_prepRawDataTrackMap.equal_range(ambi.first->second);
143  // get iterators for range
144  mapIt = range.first;
145  mapItEnd = range.second;
146  // simple for loop instead of fancier remove_if above
147  for ( ;mapIt!=mapItEnd; ++mapIt) {
148  if ( mapIt->second==&track ) {
149  maps.m_prepRawDataTrackMap.erase( mapIt );
150  break;//should only ever be one Track
151  }
152  }
153  }
154  }
155  }
156 
157  }
158 
159  // remove cached PRD vector
160  maps.m_trackPrepRawDataMap.erase( itvec );
161 
162  ATH_MSG_DEBUG("Removed PRDs from track ("
163  <<&track<<") \t- map has changed size from \t"
164  <<oldSize <<" \tto "<<maps.m_prepRawDataTrackMap.size());
165  return StatusCode::SUCCESS;
166 }

◆ reset()

void InDet::InDetPRD_AssociationToolGangedPixels::reset ( )
overridevirtual

resets the tool - should be called before using tool (and maybe afterwards to free up memory)

Definition at line 292 of file InDetPRD_AssociationToolGangedPixels.cxx.

293 {
296 }

Member Data Documentation

◆ m_addTRToutliers

bool InDet::InDetPRD_AssociationToolGangedPixels::m_addTRToutliers
private

add TRT outliers in the addTrack method to avoid splits due to rejected extensions

Definition at line 113 of file InDetPRD_AssociationToolGangedPixels.h.

◆ m_maps

Maps InDet::InDetPRD_AssociationToolGangedPixels::m_maps
private

Definition at line 108 of file InDetPRD_AssociationToolGangedPixels.h.

◆ m_pixelClusterAmbiguitiesMapName

SG::ReadHandleKey<PixelGangedClusterAmbiguities> InDet::InDetPRD_AssociationToolGangedPixels::m_pixelClusterAmbiguitiesMapName
private

Definition at line 110 of file InDetPRD_AssociationToolGangedPixels.h.


The documentation for this class was generated from the following files:
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
InDet::InDetPRD_AssociationToolGangedPixels::onTracks
virtual Trk::IPRD_AssociationTool::PrepRawDataTrackMapRange onTracks(const Trk::PrepRawData &prd) const override
get the Tracks associated with this Trk::PrepRawData.
Definition: InDetPRD_AssociationToolGangedPixels.cxx:280
PixelCluster
Definition: Trigger/TrigAccel/TrigCudaFitter/src/PixelCluster.h:7
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
SG::ReadHandle< PixelGangedClusterAmbiguities >
InDet::InDetPRD_AssociationToolGangedPixels::removePRDs
virtual StatusCode removePRDs(Maps &maps, const Trk::Track &track) const override
remove the PRDs from this track from maps
Definition: InDetPRD_AssociationToolGangedPixels.cxx:91
skel.it
it
Definition: skel.GENtoEVGEN.py:423
CP::TrackSet
std::set< TrackPtr > TrackSet
Definition: PhysicsAnalysis/AnalysisCommon/IsolationSelection/IsolationSelection/Defs.h:72
Trk::RIO_OnTrack::rioType
virtual bool rioType(RIO_OnTrackType::Type type) const =0
Method checking the Rio On Track type.
InDet::InDetPRD_AssociationToolGangedPixels::getPrdsOnTrack
virtual std::vector< const Trk::PrepRawData * > getPrdsOnTrack(const Trk::Track &track) const override
returns a vector of PRDs belonging to the passed track.
Definition: InDetPRD_AssociationToolGangedPixels.cxx:217
Trk::RIO_OnTrack
Definition: RIO_OnTrack.h:70
vec
std::vector< size_t > vec
Definition: CombinationsGeneratorTest.cxx:12
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
InDet::InDetPRD_AssociationToolGangedPixels::isShared
virtual bool isShared(const Maps &maps, const Trk::PrepRawData &prd) const override final
does this PRD belong to more than one track in maps?
Definition: InDetPRD_AssociationToolGangedPixels.h:131
CxxUtils::vec
typename vecDetail::vec_typedef< T, N >::type vec
Define a nice alias for the vectorized type.
Definition: vec.h:207
Trk::IPRD_AssociationTool::Maps::m_prepRawDataTrackMap
IPRD_AssociationTool::PrepRawDataTrackMap m_prepRawDataTrackMap
Definition: IPRD_AssociationTool.h:58
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
beamspotman.n
n
Definition: beamspotman.py:731
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
InDet::InDetPRD_AssociationToolGangedPixels::m_maps
Maps m_maps
Definition: InDetPRD_AssociationToolGangedPixels.h:108
Trk::IPRD_AssociationTool::PrepRawDataTrackMapRange
std::pair< ConstPRD_MapIt, ConstPRD_MapIt > PrepRawDataTrackMapRange
the first element is the beginning iterator of the range, the second is the end
Definition: IPRD_AssociationTool.h:48
InDet::InDetPRD_AssociationToolGangedPixels::isUsed
virtual bool isUsed(const Maps &maps, const Trk::PrepRawData &prd) const override final
does this PRD belong to at least one track in maps?
Definition: InDetPRD_AssociationToolGangedPixels.h:118
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
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
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
Trk::RIO_OnTrackType::TRT_DriftCircle
@ TRT_DriftCircle
Definition: RIO_OnTrack.h:59
Trk::PrepRawData
Definition: PrepRawData.h:62
Trk::MeasurementBase
Definition: MeasurementBase.h:58
Trk::PrepRawDataType::PixelCluster
@ PixelCluster
Trk::RIO_OnTrack::prepRawData
virtual const Trk::PrepRawData * prepRawData() const =0
returns the PrepRawData (also known as RIO) object to which this RIO_OnTrack is associated.
Trk::MeasurementBaseType::RIO_OnTrack
@ RIO_OnTrack
Definition: MeasurementBase.h:49
InDet::InDetPRD_AssociationToolGangedPixels::addPRDs
virtual StatusCode addPRDs(const Trk::Track &track) override
add the PRDs from this track to the store
Definition: InDetPRD_AssociationToolGangedPixels.cxx:39
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
InDet::InDetPRD_AssociationToolGangedPixels::m_pixelClusterAmbiguitiesMapName
SG::ReadHandleKey< PixelGangedClusterAmbiguities > m_pixelClusterAmbiguitiesMapName
Definition: InDetPRD_AssociationToolGangedPixels.h:110
InDet::InDetPRD_AssociationToolGangedPixels::findConnectedTracks
virtual Trk::IPRD_AssociationTool::TrackSet findConnectedTracks(const Trk::Track &track) const override
returns set of tracks which share PRD with this one
Definition: InDetPRD_AssociationToolGangedPixels.cxx:169
SiliconTech::pixel
@ pixel
InDet::InDetPRD_AssociationToolGangedPixels::m_addTRToutliers
bool m_addTRToutliers
add TRT outliers in the addTrack method to avoid splits due to rejected extensions
Definition: InDetPRD_AssociationToolGangedPixels.h:113
Trk::IPRD_AssociationTool::Maps::m_trackPrepRawDataMap
IPRD_AssociationTool::TrackPrepRawDataMap m_trackPrepRawDataMap
Definition: IPRD_AssociationTool.h:60