ATLAS Offline Software
Loading...
Searching...
No Matches
MuCTPIL1TopoCandidate.h
Go to the documentation of this file.
1// Dear emacs, this is -*- c++ -*-
2/*
3 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4*/
5#ifndef TRIGT1INTERFACES_MUCTPIL1TOPOCANDIDATE_H
6#define TRIGT1INTERFACES_MUCTPIL1TOPOCANDIDATE_H
7
8#include <string>
9
10namespace LVL1 {
11
24
25 public:
26 //constructor
28
29
31
32 // set candidate data
33 void setCandidateData(const std::string& sectorName,
34 unsigned int roiID,
35 unsigned int bcid,
36 unsigned int ptThresholdID,
37 unsigned int ptL1TopoCode,
38 unsigned int ptValue,
39 float eta,
40 float phi,
41 unsigned int etacode,
42 unsigned int phicode,
43 float etamin,
44 float etamax,
45 float phimin,
46 float phimax,
47 unsigned int mioctID,
48 int ieta,
49 int iphi);
50
51 void setTGCFlags(bool bw2or3, bool innerCoin, bool goodMF, int charge);
52 void setRPCFlags(bool is2cand, bool phiOvl);
53
54 // set the RoI word (done at a differnt stage of the simulation, hence the separate function
55 void setRoiWord( unsigned int roi);
56
57 //setter to set second candidate in Mioct pt to 3 (i.e. 11) in case of > 2 candidates (OverFlow)
65 bool moreThan2CandidatesOverflow() const { return m_ptL1TopoCode==3; }
66
67 // getter functions
68 const std::string& getSectorName() const { return m_sectorName; }
69 unsigned int getRoiID() const { return m_roiID; }
70 unsigned int getbcid() const { return m_bcid; }
71 unsigned int getptThresholdID() const { return m_ptThresholdID; }
72 unsigned int getptL1TopoCode() const { return m_ptL1TopoCode; }
73 unsigned int getptValue() const { return m_ptValue; }
74 float geteta() const { return m_eta; }
75 float getphi() const { return m_phi; }
76 unsigned int getetacode() const { return m_etacode; }
77 unsigned int getphicode() const { return m_phicode; }
78 float getetamin() const { return m_etamin; }
79 float getetamax() const { return m_etamax; }
80 float getphimin() const { return m_phimin; }
81 float getphimax() const { return m_phimax; }
82 unsigned int getRoiWord() const { return m_roiWord; }
83 unsigned int getMioctID() const { return m_mioctID; } // <= run-2 only
84 int getieta() const { return m_ieta; }
85 int getiphi() const { return m_iphi; }
86 int getphiOvl() const { return m_phiOvl; } // >= run-3, RPC only
87 int getis2cand() const { return m_is2cand; } // >= run-3, RPC only
88 int getcharge() const { return m_charge; } // >= run-3, TGC only
89 bool getbw2or3() const {return m_bw2or3;} // >= run-3, TGC only
90 bool getinnerCoin() const {return m_innerCoin;} // >= run-3, TGC only
91 bool getgoodMF() const {return m_goodMF;} // >= run-3, TGC only
92
93 // formatted print for debugging
94 void print() const ;
95
96 private:
97 // properties of the candidate
98 std::string m_sectorName; // name of the muon sector in string format(e.g. B30, with: B=Barrel,
99 // EA=Endcap A-side, EC=Endcap C side, FA=Forward A-side, FC=Forward C-side)
100 unsigned int m_roiID; // ID of region of Interest for this candidate
101 unsigned int m_bcid; // BCID of this candidate
102 unsigned int m_ptThresholdID; // pt threshold passed (1 to 6)
103 unsigned int m_ptL1TopoCode; // pt threshold in 2 bit L1Topo encoding
104 unsigned int m_ptValue; // Value (GeV) of pt threshold passed
105 float m_eta; // eta value for this candidate
106 float m_phi; // phi value for this candidate
107 unsigned int m_etacode; // eta encoded as in the output numbering scheme of MuCTPI to L1Topo
108 unsigned int m_phicode; // phi encoded as in the output numbering scheme of MuCTPI to L1Topo
109 float m_etamin; // eta min of this eta/phi box encoded
110 float m_etamax; // eta max of this eta/phi box encoded
111 float m_phimin; // phi min of this eta/phi box encoded
112 float m_phimax; // phi max of this eta/phi box encoded
113 unsigned int m_roiWord; // 32 bit Roi Word as sent from MuCTPI to RoIB
114 unsigned int m_mioctID; // ID of the Octant board (MIOCT) that sent this candidate
115 int m_ieta; // ieta code for L1Topo
116 int m_iphi; // iphi code for L1Topo
117 bool m_phiOvl; // candidate phi overlap in RPC
118 bool m_is2cand; // >1 cand for the cand RoI in RPC
119 int m_charge; // charge (valid for EC/FWD)
120 bool m_bw2or3; // 3-station coincidence with big wheel
121 bool m_innerCoin; // Coincidence with inner detector for TGC
122 bool m_goodMF; // Good magnetic field in TGC
123
124 }; // class MuCTPIL1Topo
125
126} // namespace LVL1
127
128#endif // TRIGT1INTERFACES_MUCTPIL1TOPOCANDIDATE_H
Scalar eta() const
pseudorapidity method
Scalar phi() const
phi method
double charge(const T &p)
Definition AtlasPID.h:997
void setRPCFlags(bool is2cand, bool phiOvl)
const std::string & getSectorName() const
void setTGCFlags(bool bw2or3, bool innerCoin, bool goodMF, int charge)
unsigned int getptThresholdID() const
unsigned int getptL1TopoCode() const
bool moreThan2CandidatesOverflow() const
whether there was an overflow
void setCandidateData(const std::string &sectorName, unsigned int roiID, unsigned int bcid, unsigned int ptThresholdID, unsigned int ptL1TopoCode, unsigned int ptValue, float eta, float phi, unsigned int etacode, unsigned int phicode, float etamin, float etamax, float phimin, float phimax, unsigned int mioctID, int ieta, int iphi)
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...