File indexing completed on 2024-04-06 12:22:14
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013 #ifndef DT_CONFIG_BTI_H
0014 #define DT_CONFIG_BTI_H
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0028 #include "L1TriggerConfig/DTTPGConfig/interface/DTConfig.h"
0029 #include "L1TriggerConfig/DTTPGConfig/interface/BitArray.h"
0030 #include <cstdint>
0031
0032
0033
0034
0035
0036 class DTConfigBti : DTConfig {
0037 public:
0038
0039
0040
0041
0042
0043 DTConfigBti(const edm::ParameterSet& ps);
0044
0045
0046 DTConfigBti() { ; }
0047
0048
0049 DTConfigBti(int debug, unsigned short int* buffer);
0050
0051
0052 ~DTConfigBti() override;
0053
0054
0055 void setDefaults(const edm::ParameterSet& ps);
0056
0057
0058 inline int debug() const { return m_debug; }
0059
0060
0061 inline float ST() const { return (float)(0.75 * ST43() + 0.25 * RE43()); }
0062
0063
0064 inline int KCut() const { return m_kcut; }
0065
0066
0067 inline int KAccTheta() const { return m_kacctheta; }
0068
0069
0070 inline bool XON() const { return m_xon; }
0071
0072
0073 inline int LTS() const { return m_lts; }
0074
0075
0076 inline int SET() const { return m_set; }
0077
0078
0079 inline int AccPattAC1() const { return m_ac1; }
0080
0081
0082 inline int AccPattAC2() const { return m_ac2; }
0083
0084
0085 inline int AccPattACH() const { return m_ach; }
0086
0087
0088 inline int AccPattACL() const { return m_acl; }
0089
0090
0091 inline bool RONflag() const { return m_ron; }
0092
0093
0094 inline int PTMSflag(int patt) const { return m_pattmask.element(patt); }
0095
0096
0097 inline int WENflag(int wire) const { return m_wiremask.element(wire - 1); }
0098
0099
0100 inline int LL() const { return m_ll; }
0101
0102
0103 inline int LH() const { return m_lh; }
0104
0105
0106 inline int CL() const { return m_cl; }
0107
0108
0109 inline int CH() const { return m_ch; }
0110
0111
0112 inline int RL() const { return m_rl; }
0113
0114
0115 inline int RH() const { return m_rh; }
0116
0117
0118 inline int ST43() const { return m_4st3; }
0119 inline int RE43() const { return m_4re3; }
0120
0121
0122 inline int DEADpar() const { return m_dead; }
0123
0124
0125
0126 inline void setDebug(int debug) { m_debug = debug; }
0127
0128
0129 inline void setKCut(int KCut) { m_kcut = KCut; }
0130
0131
0132 inline void setKAccTheta(int KAccTh) { m_kacctheta = KAccTh; }
0133
0134
0135 inline void setXON(bool XON) { m_xon = XON; }
0136
0137
0138 inline void setLTS(int LTS) { m_lts = LTS; }
0139
0140
0141 inline void setSET(int SET) { m_set = SET; }
0142
0143
0144 inline void setAccPattAC1(int AC1) { m_ac1 = AC1; }
0145
0146
0147 inline void setAccPattAC2(int AC2) { m_ac2 = AC2; }
0148
0149
0150 inline void setAccPattACH(int ACH) { m_ach = ACH; }
0151
0152
0153 inline void setAccPattACL(int ACL) { m_acl = ACL; }
0154
0155
0156 inline void setRONflag(bool RON) { m_ron = RON; }
0157
0158
0159 inline void setPTMSflag(int mask, int patt) { m_pattmask.set(patt, mask); }
0160
0161
0162 inline void setWENflag(int mask, int wire) { m_wiremask.set(wire - 1, mask); }
0163
0164
0165 inline void setLL(int LL) { m_ll = LL; }
0166
0167
0168 inline void setLH(int LH) { m_lh = LH; }
0169
0170
0171 inline void setCL(int CL) { m_cl = CL; }
0172
0173
0174 inline void setCH(int CH) { m_ch = CH; }
0175
0176
0177 inline void setRL(int RL) { m_rl = RL; }
0178
0179
0180 inline void setRH(int RH) { m_rh = RH; }
0181
0182
0183 inline void setST43(int ST43) { m_4st3 = ST43; }
0184 inline void setRE43(int RE43) { m_4re3 = RE43; }
0185
0186
0187 inline void setDEADpar(int DEAD) { m_dead = DEAD; }
0188
0189
0190 void print() const;
0191
0192 private:
0193 int8_t m_debug;
0194 int8_t m_kcut;
0195 int8_t m_kacctheta;
0196 bool m_xon;
0197 int8_t m_lts;
0198 int8_t m_set;
0199 int8_t m_ac1;
0200 int8_t m_ac2;
0201 int8_t m_ach;
0202 int8_t m_acl;
0203 bool m_ron;
0204 BitArray<32> m_pattmask;
0205 BitArray<9> m_wiremask;
0206 int8_t m_ll;
0207 int8_t m_lh;
0208 int8_t m_cl;
0209 int8_t m_ch;
0210 int8_t m_rl;
0211 int8_t m_rh;
0212 int8_t m_4st3;
0213 int8_t m_4re3;
0214 int8_t m_dead;
0215 };
0216
0217 #endif