ATLAS Offline Software
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
15 #include "GaudiKernel/ToolHandle.h"
16 #include "GaudiKernel/ServiceHandle.h"
18 
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 
50 namespace InDet {
51 
53  public:
55  HoleSearchValidation(const std::string& name, ISvcLocator* pSvcLocator);
58 
62  StatusCode execute(const EventContext& ctx) const;
65 
66  private:
67 
68  void printInfoTSoS( const Trk::TrackStateOnSurface* tsos) const;
69  unsigned int doHoleSearch( const Trk::Track* track) const;
70 
73  const SCT_ID* m_sctID;
74  const TRT_ID* m_trtID;
76 
77  ToolHandle<Trk::ITrackHoleSearchTool> m_holeSearchTool;
80  //unsigned int m_numberHitsToRemove; //!< jobOption: number of hits to remove from tracks
81  //unsigned int m_numberHitsToKeep; //!< jobOption: number of hits to remove
83 
84 
85  struct Parts {
86  enum EParts {
90 
102  kNParts
103  };
104  };
105 
109 
111  unsigned int m_maxNumberOfHoles;
112 
114  std::string m_randomEngineName;
115 
116  // some information for statistics -> printout in finalize
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 
InDet::HoleSearchValidation::m_randomEngineName
std::string m_randomEngineName
Name of the random number stream.
Definition: HoleSearchValidation.h:114
InDet::HoleSearchValidation::Parts::kSct5
@ kSct5
Definition: HoleSearchValidation.h:96
InDet::HoleSearchValidation::ATLAS_THREAD_SAFE
std::vector< std::vector< unsigned int > > m_trackStats ATLAS_THREAD_SAFE
Definition: HoleSearchValidation.h:118
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::HoleSearchValidation::printInfoTSoS
void printInfoTSoS(const Trk::TrackStateOnSurface *tsos) const
Definition: HoleSearchValidation.cxx:504
InDet::HoleSearchValidation::Parts::kPix2
@ kPix2
Definition: HoleSearchValidation.h:89
InDet::HoleSearchValidation::Parts::kSct3
@ kSct3
Definition: HoleSearchValidation.h:94
InDet::HoleSearchValidation::Parts::kSct8
@ kSct8
Definition: HoleSearchValidation.h:99
InDet::HoleSearchValidation::Parts::kSct6
@ kSct6
Definition: HoleSearchValidation.h:97
InDet::HoleSearchValidation::m_removeParts
bool m_removeParts[Parts::kNParts]
Definition: HoleSearchValidation.h:106
InDet::HoleSearchValidation::m_maxNumberOfHoles
unsigned int m_maxNumberOfHoles
Definition: HoleSearchValidation.h:111
InDet::HoleSearchValidation::m_rndmGenSvc
ServiceHandle< IAthRNGSvc > m_rndmGenSvc
Random number generator.
Definition: HoleSearchValidation.h:113
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
InDet::HoleSearchValidation::m_ignoreTrackEnds
bool m_ignoreTrackEnds
Definition: HoleSearchValidation.h:108
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
InDet::HoleSearchValidation::m_sctID
const SCT_ID * m_sctID
Definition: HoleSearchValidation.h:73
InDet::HoleSearchValidation::Parts
Definition: HoleSearchValidation.h:85
InDet::HoleSearchValidation::m_trackStatsMutex
std::mutex m_trackStatsMutex
Definition: HoleSearchValidation.h:117
InDet::HoleSearchValidation::Parts::kSct4
@ kSct4
Definition: HoleSearchValidation.h:95
InDet::HoleSearchValidation::m_holeSearchTool
ToolHandle< Trk::ITrackHoleSearchTool > m_holeSearchTool
Definition: HoleSearchValidation.h:77
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
InDet::HoleSearchValidation::m_trackCollectionKey
SG::ReadHandleKey< TrackCollection > m_trackCollectionKey
jobOption: name of the TrackCollection
Definition: HoleSearchValidation.h:78
InDet::HoleSearchValidation::Parts::kPix1
@ kPix1
Definition: HoleSearchValidation.h:88
InDet::HoleSearchValidation::Parts::kSct1
@ kSct1
Definition: HoleSearchValidation.h:92
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
InDet::HoleSearchValidation::Parts::kPix0
@ kPix0
Definition: HoleSearchValidation.h:87
CLHEP
STD'S.
Definition: IAtRndmGenSvc.h:19
TrackCollection.h
InDet::HoleSearchValidation::doHoleSearch
unsigned int doHoleSearch(const Trk::Track *track) const
Definition: HoleSearchValidation.cxx:476
InDet::HoleSearchValidation::Parts::EParts
EParts
Definition: HoleSearchValidation.h:86
InDet::HoleSearchValidation::HoleSearchValidation
HoleSearchValidation(const std::string &name, ISvcLocator *pSvcLocator)
Standard Athena-Algorithm Constructor.
Definition: HoleSearchValidation.cxx:30
InDet::HoleSearchValidation::~HoleSearchValidation
~HoleSearchValidation()
Default Destructor.
InDet::HoleSearchValidation::Parts::kSct7
@ kSct7
Definition: HoleSearchValidation.h:98
InDet::HoleSearchValidation::m_saveNewTracksInSG
bool m_saveNewTracksInSG
jobOption: save new tracks to SG ?
Definition: HoleSearchValidation.h:82
InDet::HoleSearchValidation::m_idHelper
const AtlasDetectorID * m_idHelper
Definition: HoleSearchValidation.h:71
AthReentrantAlgorithm.h
InDet::HoleSearchValidation::m_trtID
const TRT_ID * m_trtID
Definition: HoleSearchValidation.h:74
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::TrackStateOnSurface
represents the track state (measurement, material, fit parameters and quality) at a surface.
Definition: TrackStateOnSurface.h:71
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
InDet::HoleSearchValidation
Definition: HoleSearchValidation.h:52
SiliconID
This is an Identifier helper class for both the Pixel and SCT subdetectors. This class defines identi...
Definition: SiliconID.h:44
InDet::HoleSearchValidation::m_pixelID
const PixelID * m_pixelID
Definition: HoleSearchValidation.h:72
InDet::HoleSearchValidation::Parts::kSct2
@ kSct2
Definition: HoleSearchValidation.h:93
InDet::HoleSearchValidation::Parts::kSctSide1
@ kSctSide1
Definition: HoleSearchValidation.h:101
TRT_ID
Definition: TRT_ID.h:84
InDet::HoleSearchValidation::m_siliconID
const SiliconID * m_siliconID
Definition: HoleSearchValidation.h:75
InDet::HoleSearchValidation::m_trackCollectionOutputKey
SG::WriteHandleKey< TrackCollection > m_trackCollectionOutputKey
jobOption: name of the TrackCollection
Definition: HoleSearchValidation.h:79
InDet::HoleSearchValidation::m_removeOverlapHitsOnly
bool m_removeOverlapHitsOnly
Definition: HoleSearchValidation.h:107
SCT_ID
Definition: SCT_ID.h:68
InDet::HoleSearchValidation::Parts::kSctSide0
@ kSctSide0
Definition: HoleSearchValidation.h:100
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
xAOD::track
@ track
Definition: TrackingPrimitives.h:512
InDet::HoleSearchValidation::m_randomRemovalMode
bool m_randomRemovalMode
Definition: HoleSearchValidation.h:110
checker_macros.h
Define macros for attributes used to control the static checker.
PixelID
Definition: PixelID.h:67
InDet::HoleSearchValidation::Parts::kNParts
@ kNParts
Definition: HoleSearchValidation.h:102
InDet::HoleSearchValidation::Parts::kSct0
@ kSct0
Definition: HoleSearchValidation.h:91
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
InDet::HoleSearchValidation::finalize
StatusCode finalize()
standard Athena-Algorithm method
Definition: HoleSearchValidation.cxx:457
InDet::HoleSearchValidation::execute
StatusCode execute(const EventContext &ctx) const
standard Athena-Algorithm method
Definition: HoleSearchValidation.cxx:151
IAthRNGSvc.h
ServiceHandle< IAthRNGSvc >
InDet::HoleSearchValidation::initialize
StatusCode initialize()
standard Athena-Algorithm method
Definition: HoleSearchValidation.cxx:89