ATLAS Offline Software
Loading...
Searching...
No Matches
MuonTrackMonitorAlgorithm.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 2020 Matthias Schott - Uni Mainz
4*/
5
6#ifndef MUON_TRACKALGORITHM_H
7#define MUON_TRACKALGORITHM_H
8
10
14#include <vector>
15#include <string>
18
19
20// AthMonitorAlgorithm
22{
23
24 public:
25
26 MuonTrackMonitorAlgorithm(const std::string& name, ISvcLocator* pSvcLocator);
27
29 virtual StatusCode initialize() override;
30 virtual StatusCode fillHistograms( const EventContext& ctx ) const override;
31
32 private:
33
34 SG::ReadHandleKey<xAOD::MuonContainer> m_MuonContainerKey{this, "MuonContainerKey", "Muons", "Key for Muon Containers" };
35 SG::ReadDecorHandleKey<xAOD::MuonContainer> m_MuonIsoDecorKey{this, "MuonIsoDecorKey", "Muons.ptcone30" };
36 SG::ReadHandleKey<xAOD::VertexContainer> m_VertexContainerKey{this, "PrimaryVerticesKey", "PrimaryVertices", "Key for primary VertexContainers"};
37 SG::ReadHandleKey<xAOD::EventInfo> m_derEventInfoKey{this, "EventInfo", "EventInfo", ""};
38 SG::ReadDecorHandleKeyArray<xAOD::EventInfo> m_beamSpotKey{this, "BeamSpotKeys" , m_derEventInfoKey, {"beamPosSigmaX", "beamPosSigmaY", "beamPosSigmaZ", "beamPosSigmaXY"}, "Add the scheduler dependencies on the beamspot information"};
39
40 Gaudi::Property<bool> m_useBeamSpot{this, "RequireBeamSpot", true, "Ensure that the dependency on the beamspot variables is established."};
41
42 // Tools
47 StatusCode FillMuonInformation(const std::string& sIdentifier, std::vector<const xAOD::Muon*> &vecMuons, const xAOD::Vertex *pvtx, const xAOD::EventInfo &evt) const;
48
50 StatusCode FillTrackInformation(const std::string& sIdentifier, const xAOD::Muon* muon, const xAOD::Vertex *pvtx, const std::string& sTrack, const xAOD::EventInfo &evt) const;
51
53 //StatusCode analyseLowLevelMuonFeatures(const std::string& sIdentifier, const xAOD::MuonContainer& Muons, uint32_t lumiBlockID) const;
54 StatusCode analyseLowLevelMuonFeatures(const std::string& sIdentifier, std::vector<const xAOD::Muon*> &Muons, const xAOD::EventInfo &evt) const;
55
57 StatusCode analyseCombinedTracks(const xAOD::MuonContainer& Muons, const xAOD::Vertex *pvtx, const xAOD::EventInfo &evt) const;
58
60 const xAOD::Vertex* getPrimaryVertex(const xAOD::VertexContainer& Vertices) const;
61
63 int getTrackCategoryID(const std::string& sIdentifier) const;
64
66 StatusCode analyseResonanceCandidates(const xAOD::MuonContainer& Muons, const xAOD::Vertex *pvtx, const xAOD::EventInfo &evt) const;
67
69 StatusCode plotResonanceCandidates(const std::string& resonanceName, std::vector<const xAOD::Muon*>& muonCandidates, const xAOD::Vertex *pvtx, const xAOD::EventInfo &evt) const;
70
71 Gaudi::Property< std::vector<std::string> > m_hltchainList{ this, "HLTTriggerList", {"HLT_2mu14_L12MU8F", "HLT_mu24_ivarmedium_L1MU14FCH"}, "High-level triggers used" };
72
73 Gaudi::Property< float > m_CBmuons_minPt{ this, "CBmuons_minPt", 20000., "Minimal muon pt used for CB muons" };
74
75 Gaudi::Property< float > m_ZBosonSelection_minPt{ this, "ZBosonSelection_minPt", 20000., "Minimal muon pt used for Z analysis" };
76 Gaudi::Property< float > m_ZBosonSelection_maxEta{ this, "ZBosonSelection_maxEta", 2.5, "Maximal muon eta used for Z analysis" };
77 Gaudi::Property< float > m_ZBosonSelection_trkIsolation{ this, "ZBosonSelection_trkIsolation", 0.2, "Track DeltaR isolation criteria" };
78 Gaudi::Property< float > m_ZBosonSelection_D0Cut{ this, "ZBosonSelection_D0Cut", 100., "D0 cut applied for Z boson analysis" };
79 Gaudi::Property< float > m_ZBosonSelection_Z0Cut{ this, "ZBosonSelection_Z0Cut", 100., "Z0 cut applied for Z boson analysis" };
80 Gaudi::Property< float > m_ZBosonSelection_minMass{ this, "ZBosonSelection_minMass", 76000., "Minimal accepted Z boson mass" };
81 Gaudi::Property< float > m_ZBosonSelection_maxMass{ this, "ZBosonSelection_maxMass", 106000., "Maximal accepted Z boson mass" };
82
83 Gaudi::Property< float > m_JpsiSelection_minPt{ this, "JpsiSelection_minPt", 4000., "Minimal muon pt used for Jpsi analysis" };
84 Gaudi::Property< float > m_JpsiSelection_maxEta{ this, "JpsiSelection_maxEta", 2.5, "Maximal muon eta used for Jpsi analysis" };
85 Gaudi::Property< float > m_JpsiSelection_trkIsolation{ this, "JpsiSelection_trkIsolation", 1.0, "Jpsi track DeltaR isolation criteria" };
86 Gaudi::Property< float > m_JpsiSelection_D0Cut{ this, "JpsiSelection_D0Cut", 100., "D0 cut applied for Jpsi analysis" };
87 Gaudi::Property< float > m_JpsiSelection_Z0Cut{ this, "JpsiSelection_Z0Cut", 100., "Z0 cut applied for Jpsi analysis" };
88 Gaudi::Property< float > m_JpsiSelection_minMass{ this, "JpsiSelection_minMass", 2600, "Minimal accepted Jpsi mass" };
89 Gaudi::Property< float > m_JpsiSelection_maxMass{ this, "JpsiSelection_maxMass", 3600, "Maximal accepted Jpsi mass" };
90};
91
92
93#endif
94
Property holding a SG store/key/clid from which a ReadHandle is made.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
Gaudi::Property< float > m_JpsiSelection_Z0Cut
Gaudi::Property< float > m_ZBosonSelection_minPt
Gaudi::Property< float > m_ZBosonSelection_maxEta
Gaudi::Property< float > m_ZBosonSelection_maxMass
Gaudi::Property< float > m_ZBosonSelection_trkIsolation
SG::ReadDecorHandleKeyArray< xAOD::EventInfo > m_beamSpotKey
Gaudi::Property< float > m_JpsiSelection_D0Cut
Gaudi::Property< float > m_JpsiSelection_minMass
Gaudi::Property< float > m_ZBosonSelection_minMass
Gaudi::Property< std::vector< std::string > > m_hltchainList
Gaudi::Property< float > m_ZBosonSelection_Z0Cut
SG::ReadDecorHandleKey< xAOD::MuonContainer > m_MuonIsoDecorKey
SG::ReadHandleKey< xAOD::EventInfo > m_derEventInfoKey
Gaudi::Property< float > m_JpsiSelection_maxMass
Gaudi::Property< float > m_JpsiSelection_maxEta
Gaudi::Property< float > m_ZBosonSelection_D0Cut
Gaudi::Property< float > m_JpsiSelection_trkIsolation
SG::ReadHandleKey< xAOD::VertexContainer > m_VertexContainerKey
Gaudi::Property< bool > m_useBeamSpot
SG::ReadHandleKey< xAOD::MuonContainer > m_MuonContainerKey
Gaudi::Property< float > m_CBmuons_minPt
Gaudi::Property< float > m_JpsiSelection_minPt
Property holding a SG store/key/clid/attr name from which a ReadDecorHandle is made.
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition Muons.py:1
DecorHandleKeyArray< ReadDecorHandle< T, S >, ReadDecorHandleKey< T >, Gaudi::DataHandle::Reader > ReadDecorHandleKeyArray
EventInfo_v1 EventInfo
Definition of the latest event info version.
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.
Muon_v1 Muon
Reference the current persistent version:
MuonContainer_v1 MuonContainer
Definition of the current "Muon container version".
void initialize()