ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetValidation
InDetTrackValidation
InDetTrackValidation
HoleSearchValidation.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// HoleSearchValidation.h, (c) ATLAS Detector software
8
9
#ifndef TRK_HOLESEARCHVALIDATION_H
10
#define TRK_HOLESEARCHVALIDATION_H
11
12
// Gaudi includes
13
#include "
AthenaBaseComps/AthReentrantAlgorithm.h
"
14
#include "
CxxUtils/checker_macros.h
"
15
#include "GaudiKernel/ToolHandle.h"
16
#include "GaudiKernel/ServiceHandle.h"
17
#include "
AthenaKernel/IAthRNGSvc.h
"
18
19
#include "
TrkTrack/TrackCollection.h
"
20
#include <mutex>
21
22
// forward declarations
23
class
AtlasDetectorID
;
24
class
PixelID
;
25
class
SCT_ID
;
26
class
TRT_ID
;
27
class
SiliconID
;
28
29
namespace
CLHEP
{
30
class
HepRandomEngine;
31
}
32
33
namespace
Trk
{
34
class
ITrackHoleSearchTool
;
35
class
TrackStateOnSurface
;
36
class
Track
;
37
}
38
49
50
namespace
InDet
{
51
52
class
HoleSearchValidation
:
public
AthReentrantAlgorithm
{
53
public
:
55
HoleSearchValidation
(
const
std::string& name, ISvcLocator* pSvcLocator);
57
~HoleSearchValidation
();
58
60
StatusCode
initialize
();
62
StatusCode
execute
(
const
EventContext& ctx)
const
;
64
StatusCode
finalize
();
65
66
private
:
67
68
void
printInfoTSoS
(
const
Trk::TrackStateOnSurface
* tsos)
const
;
69
unsigned
int
doHoleSearch
(
const
Trk::Track
* track)
const
;
70
71
const
AtlasDetectorID
*
m_idHelper
;
72
const
PixelID
*
m_pixelID
;
73
const
SCT_ID
*
m_sctID
;
74
const
TRT_ID
*
m_trtID
;
75
const
SiliconID
*
m_siliconID
;
76
77
ToolHandle<Trk::ITrackHoleSearchTool>
m_holeSearchTool
;
78
SG::ReadHandleKey<TrackCollection>
m_trackCollectionKey
;
79
SG::WriteHandleKey<TrackCollection>
m_trackCollectionOutputKey
;
80
//unsigned int m_numberHitsToRemove; //!< jobOption: number of hits to remove from tracks
81
//unsigned int m_numberHitsToKeep; //!< jobOption: number of hits to remove
82
bool
m_saveNewTracksInSG
;
83
84
85
struct
Parts
{
86
enum
EParts
{
87
kPix0
,
88
kPix1
,
89
kPix2
,
90
91
kSct0
,
92
kSct1
,
93
kSct2
,
94
kSct3
,
95
kSct4
,
96
kSct5
,
97
kSct6
,
98
kSct7
,
99
kSct8
,
100
kSctSide0
,
101
kSctSide1
,
102
kNParts
103
};
104
};
105
106
bool
m_removeParts
[
Parts::kNParts
];
107
bool
m_removeOverlapHitsOnly
;
108
bool
m_ignoreTrackEnds
;
109
110
bool
m_randomRemovalMode
;
111
unsigned
int
m_maxNumberOfHoles
;
112
113
ServiceHandle<IAthRNGSvc>
m_rndmGenSvc
;
114
std::string
m_randomEngineName
;
115
116
// some information for statistics -> printout in finalize
117
mutable
std::mutex
m_trackStatsMutex
;
118
mutable
std::vector< std::vector< unsigned int > > m_trackStats
ATLAS_THREAD_SAFE
;
119
120
};
// end of class
121
122
}
// close of namespace
123
124
#endif
// TRK_HOLESEARCHVALIDATION_H
125
AthReentrantAlgorithm.h
IAthRNGSvc.h
TrackCollection.h
checker_macros.h
Define macros for attributes used to control the static checker.
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition
AthReentrantAlgorithm.h:74
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition
AtlasDetectorID.h:53
InDet::HoleSearchValidation::m_trtID
const TRT_ID * m_trtID
Definition
HoleSearchValidation.h:74
InDet::HoleSearchValidation::m_trackCollectionOutputKey
SG::WriteHandleKey< TrackCollection > m_trackCollectionOutputKey
jobOption: name of the TrackCollection
Definition
HoleSearchValidation.h:79
InDet::HoleSearchValidation::ATLAS_THREAD_SAFE
std::vector< std::vector< unsigned int > > m_trackStats ATLAS_THREAD_SAFE
Definition
HoleSearchValidation.h:118
InDet::HoleSearchValidation::m_rndmGenSvc
ServiceHandle< IAthRNGSvc > m_rndmGenSvc
Random number generator.
Definition
HoleSearchValidation.h:113
InDet::HoleSearchValidation::finalize
StatusCode finalize()
standard Athena-Algorithm method
Definition
HoleSearchValidation.cxx:457
InDet::HoleSearchValidation::initialize
StatusCode initialize()
standard Athena-Algorithm method
Definition
HoleSearchValidation.cxx:89
InDet::HoleSearchValidation::m_siliconID
const SiliconID * m_siliconID
Definition
HoleSearchValidation.h:75
InDet::HoleSearchValidation::m_randomEngineName
std::string m_randomEngineName
Name of the random number stream.
Definition
HoleSearchValidation.h:114
InDet::HoleSearchValidation::HoleSearchValidation
HoleSearchValidation(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition
HoleSearchValidation.cxx:30
InDet::HoleSearchValidation::m_trackCollectionKey
SG::ReadHandleKey< TrackCollection > m_trackCollectionKey
jobOption: name of the TrackCollection
Definition
HoleSearchValidation.h:78
InDet::HoleSearchValidation::m_randomRemovalMode
bool m_randomRemovalMode
Definition
HoleSearchValidation.h:110
InDet::HoleSearchValidation::m_removeParts
bool m_removeParts[Parts::kNParts]
Definition
HoleSearchValidation.h:106
InDet::HoleSearchValidation::m_idHelper
const AtlasDetectorID * m_idHelper
Definition
HoleSearchValidation.h:71
InDet::HoleSearchValidation::execute
StatusCode execute(const EventContext &ctx) const
standard Athena-Algorithm method
Definition
HoleSearchValidation.cxx:151
InDet::HoleSearchValidation::m_saveNewTracksInSG
bool m_saveNewTracksInSG
jobOption: save new tracks to SG ?
Definition
HoleSearchValidation.h:82
InDet::HoleSearchValidation::m_sctID
const SCT_ID * m_sctID
Definition
HoleSearchValidation.h:73
InDet::HoleSearchValidation::~HoleSearchValidation
~HoleSearchValidation()
Default Destructor.
InDet::HoleSearchValidation::printInfoTSoS
void printInfoTSoS(const Trk::TrackStateOnSurface *tsos) const
Definition
HoleSearchValidation.cxx:504
InDet::HoleSearchValidation::m_holeSearchTool
ToolHandle< Trk::ITrackHoleSearchTool > m_holeSearchTool
Definition
HoleSearchValidation.h:77
InDet::HoleSearchValidation::m_trackStatsMutex
std::mutex m_trackStatsMutex
Definition
HoleSearchValidation.h:117
InDet::HoleSearchValidation::m_ignoreTrackEnds
bool m_ignoreTrackEnds
Definition
HoleSearchValidation.h:108
InDet::HoleSearchValidation::m_maxNumberOfHoles
unsigned int m_maxNumberOfHoles
Definition
HoleSearchValidation.h:111
InDet::HoleSearchValidation::doHoleSearch
unsigned int doHoleSearch(const Trk::Track *track) const
Definition
HoleSearchValidation.cxx:476
InDet::HoleSearchValidation::m_removeOverlapHitsOnly
bool m_removeOverlapHitsOnly
Definition
HoleSearchValidation.h:107
InDet::HoleSearchValidation::m_pixelID
const PixelID * m_pixelID
Definition
HoleSearchValidation.h:72
PixelID
This is an Identifier helper class for the Pixel subdetector.
Definition
PixelID.h:69
SCT_ID
This is an Identifier helper class for the SCT subdetector.
Definition
SCT_ID.h:68
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
ServiceHandle
Definition
ClusterMakerTool.h:36
SiliconID
This is an Identifier helper class for both the Pixel and SCT subdetectors.
Definition
SiliconID.h:42
TRT_ID
This is an Identifier helper class for the TRT subdetector.
Definition
TRT_ID.h:84
Trk::ITrackHoleSearchTool
interface for searching, counting and adding holes on tracks anywhere in ATLAS.
Definition
ITrackHoleSearchTool.h:30
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition
TrackStateOnSurface.h:71
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
CLHEP
STD'S.
Definition
CaloNoiseCompCondAlg.h:57
InDet
Primary Vertex Finder.
Definition
VP1ErrorUtils.h:36
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
InDet::HoleSearchValidation::Parts
Definition
HoleSearchValidation.h:85
InDet::HoleSearchValidation::Parts::EParts
EParts
Definition
HoleSearchValidation.h:86
InDet::HoleSearchValidation::Parts::kSctSide0
@ kSctSide0
Definition
HoleSearchValidation.h:100
InDet::HoleSearchValidation::Parts::kPix1
@ kPix1
Definition
HoleSearchValidation.h:88
InDet::HoleSearchValidation::Parts::kPix2
@ kPix2
Definition
HoleSearchValidation.h:89
InDet::HoleSearchValidation::Parts::kPix0
@ kPix0
Definition
HoleSearchValidation.h:87
InDet::HoleSearchValidation::Parts::kSct1
@ kSct1
Definition
HoleSearchValidation.h:92
InDet::HoleSearchValidation::Parts::kSct8
@ kSct8
Definition
HoleSearchValidation.h:99
InDet::HoleSearchValidation::Parts::kSct6
@ kSct6
Definition
HoleSearchValidation.h:97
InDet::HoleSearchValidation::Parts::kSct2
@ kSct2
Definition
HoleSearchValidation.h:93
InDet::HoleSearchValidation::Parts::kSct4
@ kSct4
Definition
HoleSearchValidation.h:95
InDet::HoleSearchValidation::Parts::kSct5
@ kSct5
Definition
HoleSearchValidation.h:96
InDet::HoleSearchValidation::Parts::kNParts
@ kNParts
Definition
HoleSearchValidation.h:102
InDet::HoleSearchValidation::Parts::kSct7
@ kSct7
Definition
HoleSearchValidation.h:98
InDet::HoleSearchValidation::Parts::kSctSide1
@ kSctSide1
Definition
HoleSearchValidation.h:101
InDet::HoleSearchValidation::Parts::kSct0
@ kSct0
Definition
HoleSearchValidation.h:91
InDet::HoleSearchValidation::Parts::kSct3
@ kSct3
Definition
HoleSearchValidation.h:94
Generated on
for ATLAS Offline Software by
1.17.0