ATLAS Offline Software
Loading...
Searching...
No Matches
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
16#include "TString.h"
17#include <utility>
18#include <set>
19#include <memory>
20#include <string>
21
22
23
24namespace MuonGM{
26}
27
28//================================================================================================
29struct 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
37
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
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//================================================================================================
70struct TagDef {
71 TString eventTrig;
72 TString tagTrig;
73};
74
75//================================================================================================
76struct 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//================================================================================================
105
106//================================================================================================
108 GasGapData(const Muon::IMuonIdHelperSvc &idHelperSvc,
109 const MuonGM::RpcReadoutElement *readoutEl_, const int doubletZ_,
110 const int doubletPhi_, const unsigned gasgap_);
111
113 const xAOD::TrackParticle &track) const;
115 ExResult &result, const Trk::TrackParameters *trackParam) const;
116
118
120 bool gapid_valid{false};
121 std::string gapid_str;
122
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>>
142};
143
144#endif
An RpcReadoutElement corresponds to a single RPC module; therefore typicaly a barrel muon station con...
Interface for Helper service that creates muon Identifiers and can be used to print Identifiers.
Eigen::Matrix< double, 3, 1 > Vector3D
Ensure that the Athena extensions are properly loaded.
Definition GeoMuonHits.h:27
PropDirection
PropDirection, enum for direction of the propagation.
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition index.py:1
TrackParticle_v1 TrackParticle
Reference the current persistent version:
Muon_v1 Muon
Reference the current persistent version:
float minTrackGasGapDEta
Definition RPCDQUtils.h:101
bool localTrackPosInBoundsTight
Definition RPCDQUtils.h:98
float minTrackGasGapDR
Definition RPCDQUtils.h:103
float minTrackGasGapDPhi
Definition RPCDQUtils.h:102
ExResult(const Identifier gasgap_id_, const Trk::PropDirection direction_)
Amg::Vector3D localPos
Definition RPCDQUtils.h:99
const Trk::PropDirection direction
Definition RPCDQUtils.h:95
const Identifier gasgap_id
Definition RPCDQUtils.h:94
bool localTrackPosInBounds
Definition RPCDQUtils.h:97
Amg::Vector3D globalPos
Definition RPCDQUtils.h:100
double localTrackPosY
Definition RPCDQUtils.h:137
std::pair< std::shared_ptr< RpcPanel >, std::shared_ptr< RpcPanel > > RpcPanel_eta_phi
Definition RPCDQUtils.h:141
double minStripEta
Definition RPCDQUtils.h:133
Identifier gapid
Definition RPCDQUtils.h:119
void computeTrackDistanceToGasGap(ExResult &result, const xAOD::TrackParticle &track) const
unsigned NetaStrips
Definition RPCDQUtils.h:131
bool gapid_valid
Definition RPCDQUtils.h:120
const MuonGM::RpcReadoutElement * readoutEl
Definition RPCDQUtils.h:117
int stationName
Definition RPCDQUtils.h:123
double maxStripEta
Definition RPCDQUtils.h:134
unsigned NphiStrips
Definition RPCDQUtils.h:132
std::string gapid_str
Definition RPCDQUtils.h:121
double maxStripPhi
Definition RPCDQUtils.h:136
GasGapData(const Muon::IMuonIdHelperSvc &idHelperSvc, const MuonGM::RpcReadoutElement *readoutEl_, const int doubletZ_, const int doubletPhi_, const unsigned gasgap_)
double minStripPhi
Definition RPCDQUtils.h:135
double localTrackPosZ
Definition RPCDQUtils.h:138
unsigned gasgap
Definition RPCDQUtils.h:129
bool isolated
Definition RPCDQUtils.h:81
std::set< int > matchedL1ThrExclusive
Definition RPCDQUtils.h:86
bool tagProbeOK
Definition RPCDQUtils.h:82
const xAOD::Muon * muon
Definition RPCDQUtils.h:77
bool isZmumu
Definition RPCDQUtils.h:84
bool tagged
Definition RPCDQUtils.h:80
bool tagProbeAndZmumuOK
Definition RPCDQUtils.h:83
TLorentzVector fourvec
Definition RPCDQUtils.h:78
std::set< int > matchedL1ThrInclusive
Definition RPCDQUtils.h:87
RpcPanel()=default
bool panel_valid
Definition RPCDQUtils.h:39
void SetPanelIndex(int index)
int stationEta
Definition RPCDQUtils.h:48
int doubletZ
Definition RPCDQUtils.h:51
bool operator==(const RpcPanel &rhs) const
std::string panel_name
Definition RPCDQUtils.h:41
const MuonGM::RpcReadoutElement * readoutEl
Definition RPCDQUtils.h:36
Identifier panelId
Definition RPCDQUtils.h:38
int gasGap
Definition RPCDQUtils.h:53
bool operator>(const RpcPanel &rhs) const
int doubletR
Definition RPCDQUtils.h:50
int panel_index
Definition RPCDQUtils.h:55
unsigned NHit_perEvt
Definition RPCDQUtils.h:56
int measPhi
Definition RPCDQUtils.h:54
std::string stationNameStr
Definition RPCDQUtils.h:42
int stationPhi
Definition RPCDQUtils.h:49
bool operator<(const RpcPanel &rhs) const
int doubletPhi
Definition RPCDQUtils.h:52
void FillRpcId(Identifier id, const RpcIdHelper &rpcIdHelper)
int stationName
Definition RPCDQUtils.h:47
std::string panel_str
Definition RPCDQUtils.h:40
std::string getOnlineConvention() const
std::string getElementStr() const
std::pair< int, int > getSectorLayer() const
TString tagTrig
Definition RPCDQUtils.h:72
TString eventTrig
Definition RPCDQUtils.h:71