ATLAS Offline Software
Loading...
Searching...
No Matches
RPCDQUtils.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3*/
4
5// -*- c++ -*-
6#ifndef RPCRAWDATAMONITORING_RPCDQUtils_H
7#define RPCRAWDATAMONITORING_RPCDQUtils_H
8
9// ROOT
10#include "TH1.h"
11#include "TH1F.h"
12
13// Athena
18
19//================================================================================================
20struct RpcPanel {
21 RpcPanel() = default;
22 RpcPanel(Identifier id, const RpcIdHelper &rpcIdHelper);
23 RpcPanel(const Muon::IMuonIdHelperSvc &idHelperSvc,
24 const MuonGM::RpcReadoutElement *readoutEl_, const int doubletZ_,
25 const int doubletPhi_, const int gasgap_, const int measPhi_);
26
28
30 bool panel_valid{false};
31 std::string panel_str{};
32 std::string panel_name{};
33 std::string stationNameStr{};
34
35 void FillRpcId(Identifier id, const RpcIdHelper &rpcIdHelper);
36 void SetPanelIndex(int index);
37
39 int stationEta{0};
40 int stationPhi{0};
41 int doubletR{0};
42 int doubletZ{0};
43 int doubletPhi{0};
44 int gasGap{0};
45 int measPhi{-1};
46 int panel_index{-1};
47 unsigned NHit_perEvt{0};
48
49 std::string getOnlineConvention() const;
50 std::pair<int, int> getSectorLayer() const;
51 std::string getElementStr() const;
52
53 bool operator==(const RpcPanel &rhs) const;
54
55 bool operator<(const RpcPanel &rhs) const;
56
57 bool operator>(const RpcPanel &rhs) const;
58};
59
60//================================================================================================
61struct TagDef {
62 TString eventTrig;
63 TString tagTrig;
64};
65
66//================================================================================================
67struct MyMuon {
69 TLorentzVector fourvec;
70
71 bool tagged{false};
72 bool isolated{false};
73 bool tagProbeOK{false};
74 bool tagProbeAndZmumuOK{false};
75 bool isZmumu{false};
76
77 std::set<int> matchedL1ThrExclusive;
78 std::set<int> matchedL1ThrInclusive;
79};
80
81//================================================================================================
96
97//================================================================================================
98struct GasGapData {
99 GasGapData(const Muon::IMuonIdHelperSvc &idHelperSvc,
100 const MuonGM::RpcReadoutElement *readoutEl_, const int doubletZ_,
101 const int doubletPhi_, const unsigned gasgap_);
102
104 const xAOD::TrackParticle &track) const;
106 ExResult &result, const Trk::TrackParameters *trackParam) const;
107
109
111 bool gapid_valid{false};
112 std::string gapid_str;
113
120 unsigned gasgap;
121
122 unsigned NetaStrips{0};
123 unsigned NphiStrips{0};
124 double minStripEta{10.0};
125 double maxStripEta{-10.0};
126 double minStripPhi{10.0};
127 double maxStripPhi{-10.0};
128 double localTrackPosY{0.0};
129 double localTrackPosZ{0.0};
130
131 std::pair<std::shared_ptr<RpcPanel>, std::shared_ptr<RpcPanel>>
133};
134
135#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
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:92
bool localTrackPosInBoundsTight
Definition RPCDQUtils.h:89
float minTrackGasGapDR
Definition RPCDQUtils.h:94
float minTrackGasGapDPhi
Definition RPCDQUtils.h:93
ExResult(const Identifier gasgap_id_, const Trk::PropDirection direction_)
Amg::Vector3D localPos
Definition RPCDQUtils.h:90
const Trk::PropDirection direction
Definition RPCDQUtils.h:86
const Identifier gasgap_id
Definition RPCDQUtils.h:85
bool localTrackPosInBounds
Definition RPCDQUtils.h:88
Amg::Vector3D globalPos
Definition RPCDQUtils.h:91
double localTrackPosY
Definition RPCDQUtils.h:128
std::pair< std::shared_ptr< RpcPanel >, std::shared_ptr< RpcPanel > > RpcPanel_eta_phi
Definition RPCDQUtils.h:132
double minStripEta
Definition RPCDQUtils.h:124
Identifier gapid
Definition RPCDQUtils.h:110
void computeTrackDistanceToGasGap(ExResult &result, const xAOD::TrackParticle &track) const
unsigned NetaStrips
Definition RPCDQUtils.h:122
bool gapid_valid
Definition RPCDQUtils.h:111
const MuonGM::RpcReadoutElement * readoutEl
Definition RPCDQUtils.h:108
int stationName
Definition RPCDQUtils.h:114
double maxStripEta
Definition RPCDQUtils.h:125
unsigned NphiStrips
Definition RPCDQUtils.h:123
std::string gapid_str
Definition RPCDQUtils.h:112
double maxStripPhi
Definition RPCDQUtils.h:127
GasGapData(const Muon::IMuonIdHelperSvc &idHelperSvc, const MuonGM::RpcReadoutElement *readoutEl_, const int doubletZ_, const int doubletPhi_, const unsigned gasgap_)
double minStripPhi
Definition RPCDQUtils.h:126
double localTrackPosZ
Definition RPCDQUtils.h:129
unsigned gasgap
Definition RPCDQUtils.h:120
bool isolated
Definition RPCDQUtils.h:72
std::set< int > matchedL1ThrExclusive
Definition RPCDQUtils.h:77
bool tagProbeOK
Definition RPCDQUtils.h:73
const xAOD::Muon * muon
Definition RPCDQUtils.h:68
bool isZmumu
Definition RPCDQUtils.h:75
bool tagged
Definition RPCDQUtils.h:71
bool tagProbeAndZmumuOK
Definition RPCDQUtils.h:74
TLorentzVector fourvec
Definition RPCDQUtils.h:69
std::set< int > matchedL1ThrInclusive
Definition RPCDQUtils.h:78
RpcPanel()=default
bool panel_valid
Definition RPCDQUtils.h:30
void SetPanelIndex(int index)
int stationEta
Definition RPCDQUtils.h:39
int doubletZ
Definition RPCDQUtils.h:42
bool operator==(const RpcPanel &rhs) const
std::string panel_name
Definition RPCDQUtils.h:32
const MuonGM::RpcReadoutElement * readoutEl
Definition RPCDQUtils.h:27
Identifier panelId
Definition RPCDQUtils.h:29
int gasGap
Definition RPCDQUtils.h:44
bool operator>(const RpcPanel &rhs) const
int doubletR
Definition RPCDQUtils.h:41
int panel_index
Definition RPCDQUtils.h:46
unsigned NHit_perEvt
Definition RPCDQUtils.h:47
int measPhi
Definition RPCDQUtils.h:45
std::string stationNameStr
Definition RPCDQUtils.h:33
int stationPhi
Definition RPCDQUtils.h:40
bool operator<(const RpcPanel &rhs) const
int doubletPhi
Definition RPCDQUtils.h:43
void FillRpcId(Identifier id, const RpcIdHelper &rpcIdHelper)
int stationName
Definition RPCDQUtils.h:38
std::string panel_str
Definition RPCDQUtils.h:31
std::string getOnlineConvention() const
std::string getElementStr() const
std::pair< int, int > getSectorLayer() const
TString tagTrig
Definition RPCDQUtils.h:63
TString eventTrig
Definition RPCDQUtils.h:62