ATLAS Offline Software
IDAlignMonGenericTracksAlg.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef IDAlignMonGenericTracksAlg_H
6 #define IDAlignMonGenericTracksAlg_H
7 
8 // **********************************************************************
9 // IDAlignMonGenericTracksAlg.h
10 // AUTHORS: Beate Heinemann, Tobias Golling
11 // Adapted to AthenaMT 2021 by Per Johansson
12 // **********************************************************************
13 
15 
16 #include "GaudiKernel/StatusCode.h"
17 #include "GaudiKernel/EventContext.h"
18 
23 
26 #include "xAODTracking/Vertex.h"
30 
31 //------------TrackMon------------
34 #include "TrkTrack/Track.h"
36 
39 
40 #include <map>
41 #include <string>
42 
43 class AtlasDetectorID;
44 class PixelID;
45 class SCT_ID;
46 class TRT_ID;
47 
48 namespace Trk {
49  class Track;
50  class VxTrackAtVertex;
51 }
52 
54 
56 
57 public:
58 
59  IDAlignMonGenericTracksAlg( const std::string & name, ISvcLocator* pSvcLocator );
61  virtual StatusCode initialize() override;
62  virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
63 
64 protected:
65 
66  bool m_hasBeamCondSvc = false;
67 
68 private:
69 
70  bool fillVertexInformation(std::map<const xAOD::TrackParticle*, const xAOD::Vertex*>& trackVertexMapTP, const EventContext& ctx ) const;
71  static const Trk::Track* getTrkTrack(const Trk::VxTrackAtVertex*);
72  const xAOD::Vertex* findAssociatedVertexTP(const std::map<const xAOD::TrackParticle*, const xAOD::Vertex*>& trackVertexMapTP, const xAOD::TrackParticle *) const;
73 
75  const PixelID* m_pixelID{};
76  const SCT_ID* m_sctID{};
77  const TRT_ID* m_trtID{};
78 
80  float m_d0Range{};
81  float m_d0BsRange{};
82  float m_pTRange{0.0F};
83  float m_z0Range{};
84  float m_etaRange{};
86  float m_barrelEta{};
87  bool m_doIP{};
88  bool m_doHitQuality{false};
89  bool m_applyTrkSel{};
90 
91  SG::ReadHandleKey<xAOD::VertexContainer> m_VxPrimContainerName{this,"vxPrimContainerName","PrimaryVertices","Primary Vertices for Alignment Monitoring"};
92  SG::ReadHandleKey<TrackCollection> m_tracksKey {this, "TrackName2", "ExtendedTracks", "track data key"};
93  SG::ReadHandleKey<TrackCollection> m_tracksName {this, "TrackName", "ExtendedTracks", "track data key"};
94  SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" };
95 
96  ToolHandle<InDet::IInDetTrackSelectionTool> m_trackSelection; // baseline
97  ToolHandle<IInDetAlignHitQualSelTool> m_hitQualityTool;
98  ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimator
99  {this,"TrackToVertexIPEstimator","Trk::TrackToVertexIPEstimator",""};
100 
101  std::string m_Pixel_Manager;
102  std::string m_SCT_Manager;
103  std::string m_TRT_Manager;
104 
105 };
106 
107 #endif
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
IDAlignMonGenericTracksAlg::m_hitQualityTool
ToolHandle< IInDetAlignHitQualSelTool > m_hitQualityTool
Definition: IDAlignMonGenericTracksAlg.h:97
ITrackSummaryTool.h
IDAlignMonGenericTracksAlg::findAssociatedVertexTP
const xAOD::Vertex * findAssociatedVertexTP(const std::map< const xAOD::TrackParticle *, const xAOD::Vertex * > &trackVertexMapTP, const xAOD::TrackParticle *) const
Definition: IDAlignMonGenericTracksAlg.cxx:528
Trk::VxTrackAtVertex
The VxTrackAtVertex is a common class for all present TrkVertexFitters The VxTrackAtVertex is designe...
Definition: VxTrackAtVertex.h:77
Trk::Track
The ATLAS Track class.
Definition: Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
IDAlignMonGenericTracksAlg::m_doIP
bool m_doIP
Definition: IDAlignMonGenericTracksAlg.h:87
IDAlignMonGenericTracksAlg::m_pixelID
const PixelID * m_pixelID
Definition: IDAlignMonGenericTracksAlg.h:75
IDAlignMonGenericTracksAlg::m_trackSelection
ToolHandle< InDet::IInDetTrackSelectionTool > m_trackSelection
Definition: IDAlignMonGenericTracksAlg.h:96
EventPrimitivesHelpers.h
IDAlignMonGenericTracksAlg::m_SCT_Manager
std::string m_SCT_Manager
Definition: IDAlignMonGenericTracksAlg.h:102
IDAlignMonGenericTracksAlg::m_hasBeamCondSvc
bool m_hasBeamCondSvc
Definition: IDAlignMonGenericTracksAlg.h:66
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
IDAlignMonGenericTracksAlg::m_sctID
const SCT_ID * m_sctID
Definition: IDAlignMonGenericTracksAlg.h:76
IDAlignMonGenericTracksAlg::m_VxPrimContainerName
SG::ReadHandleKey< xAOD::VertexContainer > m_VxPrimContainerName
Definition: IDAlignMonGenericTracksAlg.h:91
IDAlignMonGenericTracksAlg::m_trackToVertexIPEstimator
ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimator
Definition: IDAlignMonGenericTracksAlg.h:99
Track.h
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
IInDetAlignHitQualSelTool
Definition: IInDetAlignHitQualSelTool.h:26
IDAlignMonGenericTracksAlg::~IDAlignMonGenericTracksAlg
virtual ~IDAlignMonGenericTracksAlg()
Definition: IDAlignMonGenericTracksAlg.cxx:71
IDAlignMonGenericTracksAlg::fillVertexInformation
bool fillVertexInformation(std::map< const xAOD::TrackParticle *, const xAOD::Vertex * > &trackVertexMapTP, const EventContext &ctx) const
Definition: IDAlignMonGenericTracksAlg.cxx:568
IDAlignMonGenericTracksAlg::m_z0Range
float m_z0Range
Definition: IDAlignMonGenericTracksAlg.h:83
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthMonitorAlgorithm.h
IDAlignMonGenericTracksAlg::m_d0Range
float m_d0Range
Definition: IDAlignMonGenericTracksAlg.h:80
TrackCollection.h
IDAlignMonGenericTracksAlg::m_trtID
const TRT_ID * m_trtID
Definition: IDAlignMonGenericTracksAlg.h:77
IDAlignMonGenericTracksAlg::m_Pixel_Manager
std::string m_Pixel_Manager
Definition: IDAlignMonGenericTracksAlg.h:101
TrackSummary.h
IDAlignMonGenericTracksAlg::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: IDAlignMonGenericTracksAlg.cxx:131
Vertex.h
IInDetTrackSelectionTool.h
IDAlignMonGenericTracksAlg::getTrkTrack
static const Trk::Track * getTrkTrack(const Trk::VxTrackAtVertex *)
Definition: IDAlignMonGenericTracksAlg.cxx:542
Monitored.h
Header file to be included by clients of the Monitored infrastructure.
IDAlignMonGenericTracksAlg::m_tracksName
SG::ReadHandleKey< TrackCollection > m_tracksName
Definition: IDAlignMonGenericTracksAlg.h:93
IDAlignMonGenericTracksAlg::m_extendedPlots
bool m_extendedPlots
Definition: IDAlignMonGenericTracksAlg.h:79
EventPrimitives.h
ITrackHoleSearchTool.h
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
IDAlignMonGenericTracksAlg::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: IDAlignMonGenericTracksAlg.h:94
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
IDAlignMonGenericTracksAlg
Definition: IDAlignMonGenericTracksAlg.h:55
IDAlignMonGenericTracksAlg::m_NTracksRange
int m_NTracksRange
Definition: IDAlignMonGenericTracksAlg.h:85
SG::ReadCondHandleKey< InDet::BeamSpotData >
IDAlignMonGenericTracksAlg::m_d0BsRange
float m_d0BsRange
Definition: IDAlignMonGenericTracksAlg.h:81
IDAlignMonGenericTracksAlg::m_etaRange
float m_etaRange
Definition: IDAlignMonGenericTracksAlg.h:84
TrackParticle.h
TRT_ID
Definition: TRT_ID.h:84
VertexContainer.h
IDAlignMonGenericTracksAlg::m_idHelper
const AtlasDetectorID * m_idHelper
Definition: IDAlignMonGenericTracksAlg.h:74
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
SCT_ID
Definition: SCT_ID.h:68
IDAlignMonGenericTracksAlg::m_doHitQuality
bool m_doHitQuality
Definition: IDAlignMonGenericTracksAlg.h:88
IDAlignMonGenericTracksAlg::m_tracksKey
SG::ReadHandleKey< TrackCollection > m_tracksKey
Definition: IDAlignMonGenericTracksAlg.h:92
ITrackToVertexIPEstimator.h
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
IDAlignMonGenericTracksAlg::m_TRT_Manager
std::string m_TRT_Manager
Definition: IDAlignMonGenericTracksAlg.h:103
BeamSpotData.h
IDAlignMonGenericTracksAlg::m_barrelEta
float m_barrelEta
Definition: IDAlignMonGenericTracksAlg.h:86
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
IDAlignMonGenericTracksAlg::IDAlignMonGenericTracksAlg
IDAlignMonGenericTracksAlg(const std::string &name, ISvcLocator *pSvcLocator)
Definition: IDAlignMonGenericTracksAlg.cxx:39
IDAlignMonGenericTracksAlg::initialize
virtual StatusCode initialize() override
initialize
Definition: IDAlignMonGenericTracksAlg.cxx:74
IDAlignMonGenericTracksAlg::m_applyTrkSel
bool m_applyTrkSel
Definition: IDAlignMonGenericTracksAlg.h:89
PixelID
Definition: PixelID.h:67
AtlasDetectorID
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition: AtlasDetectorID.h:57
TrackParticleContainer.h
IDAlignMonGenericTracksAlg::m_pTRange
float m_pTRange
Definition: IDAlignMonGenericTracksAlg.h:82