ATLAS Offline Software
Loading...
Searching...
No Matches
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#include <vector>
43
44class AtlasDetectorID;
45class PixelID;
46class SCT_ID;
47class TRT_ID;
48
49namespace Trk {
50 class Track;
51 class VxTrackAtVertex;
52}
53
55
57
58public:
59
60 IDAlignMonGenericTracksAlg( const std::string & name, ISvcLocator* pSvcLocator );
62 virtual StatusCode initialize() override;
63 virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
64
65protected:
66
67 bool m_hasBeamCondSvc = false;
68
69private:
70
71 bool fillVertexInformation(std::map<const xAOD::TrackParticle*, const xAOD::Vertex*>& trackVertexMapTP, const EventContext& ctx ) const;
72 static const Trk::Track* getTrkTrack(const Trk::VxTrackAtVertex*);
73 const xAOD::Vertex* findAssociatedVertexTP(const std::map<const xAOD::TrackParticle*, const xAOD::Vertex*>& trackVertexMapTP, const xAOD::TrackParticle *) const;
74
77 const SCT_ID* m_sctID{};
78 const TRT_ID* m_trtID{};
79
80 // Building Tool Maps for the Hit Maps
81 static const int m_nSiBlayers{4};
82 static const int m_nSCTEClayers{9};
91
93 float m_d0Range{};
94 float m_d0BsRange{};
95 float m_pTRange{0.0F};
96 float m_z0Range{};
97 float m_etaRange{};
99 float m_barrelEta{};
100 bool m_doIP{};
101 bool m_doHitQuality{false};
103
104 SG::ReadHandleKey<xAOD::VertexContainer> m_VxPrimContainerName{this,"vxPrimContainerName","PrimaryVertices","Primary Vertices for Alignment Monitoring"};
105 SG::ReadHandleKey<TrackCollection> m_tracksKey {this, "TrackName2", "ExtendedTracks", "track data key"};
106 SG::ReadHandleKey<TrackCollection> m_tracksName {this, "TrackName", "ExtendedTracks", "track data key"};
107 SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" };
108
109 ToolHandle<InDet::IInDetTrackSelectionTool> m_trackSelection; // baseline
110 ToolHandle<IInDetAlignHitQualSelTool> m_hitQualityTool;
111 ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimator
112 {this,"TrackToVertexIPEstimator","Trk::TrackToVertexIPEstimator",""};
113
114 std::string m_Pixel_Manager;
115 std::string m_SCT_Manager;
116 std::string m_TRT_Manager;
117
118};
119
120#endif
Header file to be included by clients of the Monitored infrastructure.
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
std::vector< int > m_measurements_vs_Eta_Phi_sct_ecc_s1
std::vector< int > m_measurements_vs_Eta_Phi_pix_b
SG::ReadHandleKey< xAOD::VertexContainer > m_VxPrimContainerName
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
ToolHandle< Trk::ITrackToVertexIPEstimator > m_trackToVertexIPEstimator
const xAOD::Vertex * findAssociatedVertexTP(const std::map< const xAOD::TrackParticle *, const xAOD::Vertex * > &trackVertexMapTP, const xAOD::TrackParticle *) const
virtual StatusCode initialize() override
initialize
static const Trk::Track * getTrkTrack(const Trk::VxTrackAtVertex *)
std::vector< int > m_measurements_vs_Eta_Phi_sct_b_s0
std::vector< int > m_measurements_vs_Eta_Phi_sct_b_s1
ToolHandle< InDet::IInDetTrackSelectionTool > m_trackSelection
SG::ReadHandleKey< TrackCollection > m_tracksKey
std::vector< int > m_measurements_vs_Eta_Phi_sct_eca_s0
SG::ReadHandleKey< TrackCollection > m_tracksName
ToolHandle< IInDetAlignHitQualSelTool > m_hitQualityTool
std::vector< int > m_measurements_vs_Eta_Phi_sct_ecc_s0
IDAlignMonGenericTracksAlg(const std::string &name, ISvcLocator *pSvcLocator)
std::vector< int > m_measurements_vs_Eta_Phi_sct_eca_s1
bool fillVertexInformation(std::map< const xAOD::TrackParticle *, const xAOD::Vertex * > &trackVertexMapTP, const EventContext &ctx) const
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
std::vector< int > m_measurements_vs_Eta_Phi_pix_ec
This is an Identifier helper class for the Pixel subdetector.
Definition PixelID.h:67
This is an Identifier helper class for the SCT subdetector.
Definition SCT_ID.h:68
Property holding a SG store/key/clid from which a ReadHandle is made.
This is an Identifier helper class for the TRT subdetector.
Definition TRT_ID.h:82
The VxTrackAtVertex is a common class for all present TrkVertexFitters The VxTrackAtVertex is designe...
Ensure that the ATLAS eigen extensions are properly loaded.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Vertex_v1 Vertex
Define the latest version of the vertex class.