ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
MuonSpectrometer
MuonValidation
MuonDQA
MuonRawDataMonitoring
RpcRawDataMonitoring
src
RPCDQUtils.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
// -*- c++ -*-
6
#ifndef RPCRAWDATAMONITORING_RPCDQUtils_H
7
#define RPCRAWDATAMONITORING_RPCDQUtils_H
8
9
10
11
// Athena
12
#include "
MuonIdHelpers/IMuonIdHelperSvc.h
"
13
#include "
TrkEventPrimitives/PropDirection.h
"
14
#include "
TrkExInterfaces/IExtrapolator.h
"
15
#include "
xAODMuon/MuonContainer.h
"
16
#include "TString.h"
17
#include <utility>
18
#include <set>
19
#include <memory>
20
#include <string>
21
22
23
24
namespace
MuonGM
{
25
class
RpcReadoutElement
;
26
}
27
28
//================================================================================================
29
struct
RpcPanel
{
30
RpcPanel
() =
default
;
31
RpcPanel
(
Identifier
id
,
const
RpcIdHelper
&rpcIdHelper);
32
RpcPanel
(
const
Muon::IMuonIdHelperSvc
&idHelperSvc,
33
const
MuonGM::RpcReadoutElement
*readoutEl_,
const
int
doubletZ_,
34
const
int
doubletPhi_,
const
int
gasgap_,
const
int
measPhi_);
35
36
const
MuonGM::RpcReadoutElement
*
readoutEl
{
nullptr
};
37
38
Identifier
panelId
{0};
39
bool
panel_valid
{
false
};
40
std::string
panel_str
{};
41
std::string
panel_name
{};
42
std::string
stationNameStr
{};
43
44
void
FillRpcId
(
Identifier
id
,
const
RpcIdHelper
&rpcIdHelper);
45
void
SetPanelIndex
(
int
index
);
46
47
int
stationName
{0};
48
int
stationEta
{0};
49
int
stationPhi
{0};
50
int
doubletR
{0};
51
int
doubletZ
{0};
52
int
doubletPhi
{0};
53
int
gasGap
{0};
54
int
measPhi
{-1};
55
int
panel_index
{-1};
56
unsigned
NHit_perEvt
{0};
57
58
std::string
getOnlineConvention
()
const
;
59
std::pair<int, int>
getSectorLayer
()
const
;
60
std::string
getElementStr
()
const
;
61
62
bool
operator==
(
const
RpcPanel
&rhs)
const
;
63
64
bool
operator<
(
const
RpcPanel
&rhs)
const
;
65
66
bool
operator>
(
const
RpcPanel
&rhs)
const
;
67
};
68
69
//================================================================================================
70
struct
TagDef
{
71
TString
eventTrig
;
72
TString
tagTrig
;
73
};
74
75
//================================================================================================
76
struct
MyMuon
{
77
const
xAOD::Muon
*
muon
{};
78
TLorentzVector
fourvec
;
79
80
bool
tagged
{
false
};
81
bool
isolated
{
false
};
82
bool
tagProbeOK
{
false
};
83
bool
tagProbeAndZmumuOK
{
false
};
84
bool
isZmumu
{
false
};
85
86
std::set<int>
matchedL1ThrExclusive
;
87
std::set<int>
matchedL1ThrInclusive
;
88
};
89
90
//================================================================================================
91
struct
ExResult
{
92
ExResult
(
const
Identifier
gasgap_id_,
const
Trk::PropDirection
direction_);
93
94
const
Identifier
gasgap_id
;
95
const
Trk::PropDirection
direction
;
96
97
bool
localTrackPosInBounds
{
false
};
98
bool
localTrackPosInBoundsTight
{
false
};
99
Amg::Vector3D
localPos
;
100
Amg::Vector3D
globalPos
;
101
float
minTrackGasGapDEta
{10.0};
102
float
minTrackGasGapDPhi
{10.0};
103
float
minTrackGasGapDR
{10.0};
104
};
105
106
//================================================================================================
107
struct
GasGapData
{
108
GasGapData
(
const
Muon::IMuonIdHelperSvc
&idHelperSvc,
109
const
MuonGM::RpcReadoutElement
*readoutEl_,
const
int
doubletZ_,
110
const
int
doubletPhi_,
const
unsigned
gasgap_);
111
112
void
computeTrackDistanceToGasGap
(
ExResult
&result,
113
const
xAOD::TrackParticle
&track)
const
;
114
void
computeTrackDistanceToGasGap
(
115
ExResult
&result,
const
Trk::TrackParameters
*trackParam)
const
;
116
117
const
MuonGM::RpcReadoutElement
*
readoutEl
;
118
119
Identifier
gapid
{0};
120
bool
gapid_valid
{
false
};
121
std::string
gapid_str
;
122
123
int
stationName
;
124
int
stationEta
;
125
int
stationPhi
;
126
int
doubletR
;
127
int
doubletZ
;
128
int
doubletPhi
;
129
unsigned
gasgap
;
130
131
unsigned
NetaStrips
{0};
132
unsigned
NphiStrips
{0};
133
double
minStripEta
{10.0};
134
double
maxStripEta
{-10.0};
135
double
minStripPhi
{10.0};
136
double
maxStripPhi
{-10.0};
137
double
localTrackPosY
{0.0};
138
double
localTrackPosZ
{0.0};
139
140
std::pair<std::shared_ptr<RpcPanel>, std::shared_ptr<RpcPanel>>
141
RpcPanel_eta_phi
;
142
};
143
144
#endif
MuonContainer.h
IExtrapolator.h
IMuonIdHelperSvc.h
PropDirection.h
MuonGM::RpcReadoutElement
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
Definition
MuonDetDescr/MuonReadoutGeometry/MuonReadoutGeometry/RpcReadoutElement.h:55
Muon::IMuonIdHelperSvc
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
Definition
IMuonIdHelperSvc.h:27
RpcIdHelper
Definition
RpcIdHelper.h:51
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:47
Identifier
Definition
IdentifierFieldParser.cxx:14
MuonGM
Ensure that the Athena extensions are properly loaded.
Definition
GeoMuonHits.h:27
Trk::PropDirection
PropDirection
PropDirection, enum for direction of the propagation.
Definition
PropDirection.h:19
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
index
Definition
index.py:1
xAOD::TrackParticle
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Definition
Event/xAOD/xAODTracking/xAODTracking/TrackParticle.h:13
xAOD::Muon
Muon_v1 Muon
Reference the current persistent version:
Definition
Event/xAOD/xAODMuon/xAODMuon/Muon.h:13
ExResult
Definition
RPCDQUtils.h:91
ExResult::minTrackGasGapDEta
float minTrackGasGapDEta
Definition
RPCDQUtils.h:101
ExResult::localTrackPosInBoundsTight
bool localTrackPosInBoundsTight
Definition
RPCDQUtils.h:98
ExResult::minTrackGasGapDR
float minTrackGasGapDR
Definition
RPCDQUtils.h:103
ExResult::minTrackGasGapDPhi
float minTrackGasGapDPhi
Definition
RPCDQUtils.h:102
ExResult::ExResult
ExResult(const Identifier gasgap_id_, const Trk::PropDirection direction_)
Definition
RPCDQUtils.cxx:216
ExResult::localPos
Amg::Vector3D localPos
Definition
RPCDQUtils.h:99
ExResult::direction
const Trk::PropDirection direction
Definition
RPCDQUtils.h:95
ExResult::gasgap_id
const Identifier gasgap_id
Definition
RPCDQUtils.h:94
ExResult::localTrackPosInBounds
bool localTrackPosInBounds
Definition
RPCDQUtils.h:97
ExResult::globalPos
Amg::Vector3D globalPos
Definition
RPCDQUtils.h:100
GasGapData::localTrackPosY
double localTrackPosY
Definition
RPCDQUtils.h:137
GasGapData::RpcPanel_eta_phi
std::pair< std::shared_ptr< RpcPanel >, std::shared_ptr< RpcPanel > > RpcPanel_eta_phi
Definition
RPCDQUtils.h:141
GasGapData::minStripEta
double minStripEta
Definition
RPCDQUtils.h:133
GasGapData::gapid
Identifier gapid
Definition
RPCDQUtils.h:119
GasGapData::computeTrackDistanceToGasGap
void computeTrackDistanceToGasGap(ExResult &result, const xAOD::TrackParticle &track) const
Definition
RPCDQUtils.cxx:292
GasGapData::NetaStrips
unsigned NetaStrips
Definition
RPCDQUtils.h:131
GasGapData::doubletPhi
int doubletPhi
Definition
RPCDQUtils.h:128
GasGapData::doubletZ
int doubletZ
Definition
RPCDQUtils.h:127
GasGapData::gapid_valid
bool gapid_valid
Definition
RPCDQUtils.h:120
GasGapData::readoutEl
const MuonGM::RpcReadoutElement * readoutEl
Definition
RPCDQUtils.h:117
GasGapData::stationName
int stationName
Definition
RPCDQUtils.h:123
GasGapData::maxStripEta
double maxStripEta
Definition
RPCDQUtils.h:134
GasGapData::NphiStrips
unsigned NphiStrips
Definition
RPCDQUtils.h:132
GasGapData::doubletR
int doubletR
Definition
RPCDQUtils.h:126
GasGapData::gapid_str
std::string gapid_str
Definition
RPCDQUtils.h:121
GasGapData::maxStripPhi
double maxStripPhi
Definition
RPCDQUtils.h:136
GasGapData::GasGapData
GasGapData(const Muon::IMuonIdHelperSvc &idHelperSvc, const MuonGM::RpcReadoutElement *readoutEl_, const int doubletZ_, const int doubletPhi_, const unsigned gasgap_)
Definition
RPCDQUtils.cxx:223
GasGapData::stationPhi
int stationPhi
Definition
RPCDQUtils.h:125
GasGapData::stationEta
int stationEta
Definition
RPCDQUtils.h:124
GasGapData::minStripPhi
double minStripPhi
Definition
RPCDQUtils.h:135
GasGapData::localTrackPosZ
double localTrackPosZ
Definition
RPCDQUtils.h:138
GasGapData::gasgap
unsigned gasgap
Definition
RPCDQUtils.h:129
MyMuon
Definition
RPCDQUtils.h:76
MyMuon::isolated
bool isolated
Definition
RPCDQUtils.h:81
MyMuon::matchedL1ThrExclusive
std::set< int > matchedL1ThrExclusive
Definition
RPCDQUtils.h:86
MyMuon::tagProbeOK
bool tagProbeOK
Definition
RPCDQUtils.h:82
MyMuon::muon
const xAOD::Muon * muon
Definition
RPCDQUtils.h:77
MyMuon::isZmumu
bool isZmumu
Definition
RPCDQUtils.h:84
MyMuon::tagged
bool tagged
Definition
RPCDQUtils.h:80
MyMuon::tagProbeAndZmumuOK
bool tagProbeAndZmumuOK
Definition
RPCDQUtils.h:83
MyMuon::fourvec
TLorentzVector fourvec
Definition
RPCDQUtils.h:78
MyMuon::matchedL1ThrInclusive
std::set< int > matchedL1ThrInclusive
Definition
RPCDQUtils.h:87
RpcPanel
Definition
RPCDQUtils.h:29
RpcPanel::RpcPanel
RpcPanel()=default
RpcPanel::panel_valid
bool panel_valid
Definition
RPCDQUtils.h:39
RpcPanel::SetPanelIndex
void SetPanelIndex(int index)
Definition
RPCDQUtils.cxx:85
RpcPanel::stationEta
int stationEta
Definition
RPCDQUtils.h:48
RpcPanel::doubletZ
int doubletZ
Definition
RPCDQUtils.h:51
RpcPanel::operator==
bool operator==(const RpcPanel &rhs) const
Definition
RPCDQUtils.cxx:99
RpcPanel::panel_name
std::string panel_name
Definition
RPCDQUtils.h:41
RpcPanel::readoutEl
const MuonGM::RpcReadoutElement * readoutEl
Definition
RPCDQUtils.h:36
RpcPanel::panelId
Identifier panelId
Definition
RPCDQUtils.h:38
RpcPanel::gasGap
int gasGap
Definition
RPCDQUtils.h:53
RpcPanel::operator>
bool operator>(const RpcPanel &rhs) const
Definition
RPCDQUtils.cxx:117
RpcPanel::doubletR
int doubletR
Definition
RPCDQUtils.h:50
RpcPanel::panel_index
int panel_index
Definition
RPCDQUtils.h:55
RpcPanel::NHit_perEvt
unsigned NHit_perEvt
Definition
RPCDQUtils.h:56
RpcPanel::measPhi
int measPhi
Definition
RPCDQUtils.h:54
RpcPanel::stationNameStr
std::string stationNameStr
Definition
RPCDQUtils.h:42
RpcPanel::stationPhi
int stationPhi
Definition
RPCDQUtils.h:49
RpcPanel::operator<
bool operator<(const RpcPanel &rhs) const
Definition
RPCDQUtils.cxx:112
RpcPanel::doubletPhi
int doubletPhi
Definition
RPCDQUtils.h:52
RpcPanel::FillRpcId
void FillRpcId(Identifier id, const RpcIdHelper &rpcIdHelper)
Definition
RPCDQUtils.cxx:29
RpcPanel::stationName
int stationName
Definition
RPCDQUtils.h:47
RpcPanel::panel_str
std::string panel_str
Definition
RPCDQUtils.h:40
RpcPanel::getOnlineConvention
std::string getOnlineConvention() const
Definition
RPCDQUtils.cxx:122
RpcPanel::getElementStr
std::string getElementStr() const
Definition
RPCDQUtils.cxx:90
RpcPanel::getSectorLayer
std::pair< int, int > getSectorLayer() const
Definition
RPCDQUtils.cxx:186
TagDef
Definition
RPCDQUtils.h:70
TagDef::tagTrig
TString tagTrig
Definition
RPCDQUtils.h:72
TagDef::eventTrig
TString eventTrig
Definition
RPCDQUtils.h:71
Generated on
for ATLAS Offline Software by
1.17.0