ATLAS Offline Software
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 
10 namespace 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
LVL1::MuCTPIL1TopoCandidate::getphicode
unsigned int getphicode() const
Definition: MuCTPIL1TopoCandidate.h:77
LVL1::MuCTPIL1TopoCandidate::getphimax
float getphimax() const
Definition: MuCTPIL1TopoCandidate.h:81
LVL1::MuCTPIL1TopoCandidate::setptL1TopoCodeToOvFl
void setptL1TopoCodeToOvFl()
Definition: MuCTPIL1TopoCandidate.h:58
LVL1::MuCTPIL1TopoCandidate::getcharge
int getcharge() const
Definition: MuCTPIL1TopoCandidate.h:88
LVL1::MuCTPIL1TopoCandidate::getptValue
unsigned int getptValue() const
Definition: MuCTPIL1TopoCandidate.h:73
LVL1::MuCTPIL1TopoCandidate::getRoiID
unsigned int getRoiID() const
Definition: MuCTPIL1TopoCandidate.h:69
LVL1::MuCTPIL1TopoCandidate::m_etamax
float m_etamax
Definition: MuCTPIL1TopoCandidate.h:110
LVL1::MuCTPIL1TopoCandidate::m_phicode
unsigned int m_phicode
Definition: MuCTPIL1TopoCandidate.h:108
LVL1::MuCTPIL1TopoCandidate::setRPCFlags
void setRPCFlags(bool is2cand, bool phiOvl)
Definition: MuCTPIL1TopoCandidate.cxx:61
LVL1::MuCTPIL1TopoCandidate::getis2cand
int getis2cand() const
Definition: MuCTPIL1TopoCandidate.h:87
LVL1::MuCTPIL1TopoCandidate::setCandidateData
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)
Definition: MuCTPIL1TopoCandidate.cxx:17
LVL1::MuCTPIL1TopoCandidate::getRoiWord
unsigned int getRoiWord() const
Definition: MuCTPIL1TopoCandidate.h:82
LVL1::MuCTPIL1TopoCandidate::getphiOvl
int getphiOvl() const
Definition: MuCTPIL1TopoCandidate.h:86
LVL1::MuCTPIL1TopoCandidate::geteta
float geteta() const
Definition: MuCTPIL1TopoCandidate.h:74
LVL1::MuCTPIL1TopoCandidate::getbcid
unsigned int getbcid() const
Definition: MuCTPIL1TopoCandidate.h:70
LVL1::MuCTPIL1TopoCandidate::m_charge
int m_charge
Definition: MuCTPIL1TopoCandidate.h:119
LVL1::MuCTPIL1TopoCandidate::setTGCFlags
void setTGCFlags(bool bw2or3, bool innerCoin, bool goodMF, int charge)
Definition: MuCTPIL1TopoCandidate.cxx:53
LVL1::MuCTPIL1TopoCandidate::m_etamin
float m_etamin
Definition: MuCTPIL1TopoCandidate.h:109
LVL1::MuCTPIL1TopoCandidate::m_phimin
float m_phimin
Definition: MuCTPIL1TopoCandidate.h:111
LVL1::MuCTPIL1TopoCandidate::MuCTPIL1TopoCandidate
MuCTPIL1TopoCandidate()
Definition: MuCTPIL1TopoCandidate.cxx:11
LVL1::MuCTPIL1TopoCandidate::m_roiWord
unsigned int m_roiWord
Definition: MuCTPIL1TopoCandidate.h:113
LVL1::MuCTPIL1TopoCandidate::getbw2or3
bool getbw2or3() const
Definition: MuCTPIL1TopoCandidate.h:89
LVL1::MuCTPIL1TopoCandidate::m_phimax
float m_phimax
Definition: MuCTPIL1TopoCandidate.h:112
LVL1::MuCTPIL1TopoCandidate::moreThan2CandidatesOverflow
bool moreThan2CandidatesOverflow() const
whether there was an overflow
Definition: MuCTPIL1TopoCandidate.h:65
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::MuCTPIL1TopoCandidate::print
void print() const
Definition: MuCTPIL1TopoCandidate.cxx:73
LVL1::MuCTPIL1TopoCandidate::m_mioctID
unsigned int m_mioctID
Definition: MuCTPIL1TopoCandidate.h:114
LVL1::MuCTPIL1TopoCandidate::m_innerCoin
bool m_innerCoin
Definition: MuCTPIL1TopoCandidate.h:121
LVL1::MuCTPIL1TopoCandidate::getinnerCoin
bool getinnerCoin() const
Definition: MuCTPIL1TopoCandidate.h:90
LVL1::MuCTPIL1TopoCandidate::m_iphi
int m_iphi
Definition: MuCTPIL1TopoCandidate.h:116
LVL1::MuCTPIL1TopoCandidate::m_bw2or3
bool m_bw2or3
Definition: MuCTPIL1TopoCandidate.h:120
LVL1::MuCTPIL1TopoCandidate::getieta
int getieta() const
Definition: MuCTPIL1TopoCandidate.h:84
LVL1::MuCTPIL1TopoCandidate::m_etacode
unsigned int m_etacode
Definition: MuCTPIL1TopoCandidate.h:107
LVL1::MuCTPIL1TopoCandidate::m_eta
float m_eta
Definition: MuCTPIL1TopoCandidate.h:105
LVL1::MuCTPIL1TopoCandidate::m_ieta
int m_ieta
Definition: MuCTPIL1TopoCandidate.h:115
LVL1::MuCTPIL1TopoCandidate::~MuCTPIL1TopoCandidate
~MuCTPIL1TopoCandidate()=default
LVL1::MuCTPIL1TopoCandidate::m_ptValue
unsigned int m_ptValue
Definition: MuCTPIL1TopoCandidate.h:104
LVL1::MuCTPIL1TopoCandidate::getetacode
unsigned int getetacode() const
Definition: MuCTPIL1TopoCandidate.h:76
LVL1::MuCTPIL1TopoCandidate::getSectorName
const std::string & getSectorName() const
Definition: MuCTPIL1TopoCandidate.h:68
LVL1::MuCTPIL1TopoCandidate::getptL1TopoCode
unsigned int getptL1TopoCode() const
Definition: MuCTPIL1TopoCandidate.h:72
LVL1::MuCTPIL1TopoCandidate::setRoiWord
void setRoiWord(unsigned int roi)
Definition: MuCTPIL1TopoCandidate.cxx:68
LVL1::MuCTPIL1TopoCandidate
MuCTPI input class to the L1Topo simulation.
Definition: MuCTPIL1TopoCandidate.h:23
LVL1::MuCTPIL1TopoCandidate::m_phi
float m_phi
Definition: MuCTPIL1TopoCandidate.h:106
charge
double charge(const T &p)
Definition: AtlasPID.h:756
LVL1::MuCTPIL1TopoCandidate::getptThresholdID
unsigned int getptThresholdID() const
Definition: MuCTPIL1TopoCandidate.h:71
xAOD::bcid
setEventNumber setTimeStamp bcid
Definition: EventInfo_v1.cxx:133
LVL1::MuCTPIL1TopoCandidate::getiphi
int getiphi() const
Definition: MuCTPIL1TopoCandidate.h:85
LVL1::MuCTPIL1TopoCandidate::m_ptL1TopoCode
unsigned int m_ptL1TopoCode
Definition: MuCTPIL1TopoCandidate.h:103
LVL1::MuCTPIL1TopoCandidate::m_phiOvl
bool m_phiOvl
Definition: MuCTPIL1TopoCandidate.h:117
LVL1::MuCTPIL1TopoCandidate::getMioctID
unsigned int getMioctID() const
Definition: MuCTPIL1TopoCandidate.h:83
LVL1::MuCTPIL1TopoCandidate::m_roiID
unsigned int m_roiID
Definition: MuCTPIL1TopoCandidate.h:100
LVL1::MuCTPIL1TopoCandidate::m_goodMF
bool m_goodMF
Definition: MuCTPIL1TopoCandidate.h:122
LVL1::MuCTPIL1TopoCandidate::getetamin
float getetamin() const
Definition: MuCTPIL1TopoCandidate.h:78
LVL1::MuCTPIL1TopoCandidate::m_ptThresholdID
unsigned int m_ptThresholdID
Definition: MuCTPIL1TopoCandidate.h:102
LVL1::MuCTPIL1TopoCandidate::getphi
float getphi() const
Definition: MuCTPIL1TopoCandidate.h:75
LVL1::MuCTPIL1TopoCandidate::getgoodMF
bool getgoodMF() const
Definition: MuCTPIL1TopoCandidate.h:91
LVL1::MuCTPIL1TopoCandidate::getphimin
float getphimin() const
Definition: MuCTPIL1TopoCandidate.h:80
LVL1::MuCTPIL1TopoCandidate::m_is2cand
bool m_is2cand
Definition: MuCTPIL1TopoCandidate.h:118
LVL1::MuCTPIL1TopoCandidate::m_sectorName
std::string m_sectorName
Definition: MuCTPIL1TopoCandidate.h:98
LArCellBinning.etamin
etamin
Definition: LArCellBinning.py:137
LVL1::MuCTPIL1TopoCandidate::getetamax
float getetamax() const
Definition: MuCTPIL1TopoCandidate.h:79
LVL1::MuCTPIL1TopoCandidate::m_bcid
unsigned int m_bcid
Definition: MuCTPIL1TopoCandidate.h:101