CMS 3D CMS Logo

DTConfigTraco.h
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
12 //
13 //--------------------------------------------------
14 #ifndef DT_CONFIG_TRACO_H
15 #define DT_CONFIG_TRACO_H
16 
17 //---------------
18 // C++ Headers --
19 //---------------
20 
21 //----------------------
22 // Base Class Headers --
23 //----------------------
24 
25 //------------------------------------
26 // Collaborating Class Declarations --
27 //------------------------------------
31 #include <cstdint>
32 
33 // ---------------------
34 // -- Class Interface --
35 // ---------------------
36 
37 class DTConfigTraco : public DTConfig {
38 public:
40  static const int RESOLPSI = 512;
42  static const int RESOLPSIR = 4096;
44  static const int NMAXCAND;
45 
48 
51 
53  DTConfigTraco(int debug, unsigned short int* buffer);
54 
56  ~DTConfigTraco() override;
57 
59  void setDefaults(const edm::ParameterSet& ps);
60 
62  inline int debug() const { return m_debug; }
63 
65  inline int KRAD() const { return m_krad; }
66 
68  inline int BTIC() const { return m_btic; }
69 
71  inline int DD() const { return m_dd; }
72 
74  inline int TcReuse(int i) const {
75  if (i == 0)
76  return m_reusei;
77  else
78  return m_reuseo;
79  }
80 
82  inline int singleHflag(int i) const {
83  if (i == 0)
84  return m_fhtmsk;
85  else
86  return m_shtmsk;
87  }
88 
90  inline int singleLflag(int i) const {
91  if (i == 0)
92  return m_fltmsk;
93  else
94  return m_sltmsk;
95  }
96 
98  inline int prefInner(int i) const {
99  if (i == 0)
100  return m_fslmsk;
101  else
102  return m_sslmsk;
103  }
104 
106  inline int prefHtrig(int i) const {
107  if (i == 0)
108  return m_fhtprf;
109  else
110  return m_shtprf;
111  }
112 
114  inline int sortKascend(int i) const {
115  if (i == 0)
116  return m_fhism;
117  else
118  return m_shism;
119  }
120 
122  inline int TcKToll(int i) const {
123  if (i == 0)
124  return m_fprgcomp;
125  else
126  return m_sprgcomp;
127  }
128 
130  inline int TcBxLts() const { return m_lts; }
131 
133  inline int singleLenab(int i) const { return m_ltf; }
134 
136  inline int usedBti(int bti) const { return m_trgenb.element(bti - 1); }
137 
139  inline int IBTIOFF() const { return m_ibtioff; }
140 
142  inline int BendingAngleCut() const { return m_kprgcom; }
143 
145  inline int LVALIDIFH() const { return m_lvalidifh; }
146 
149  inline void setDebug(int debug) { m_debug = debug; }
150 
152  inline void setKRAD(int KRAD) { m_krad = KRAD; }
153 
155  inline void setBTIC(int BTIC) { m_btic = BTIC; }
156 
158  inline void setDD(int DD) { m_dd = DD; }
159 
161  inline void setTcReuse(int i, int TcReuse) {
162  if (i == 0)
163  m_reusei = TcReuse;
164  else
165  m_reuseo = TcReuse;
166  }
167 
169  inline void setSingleHflag(int i, int singleHflag) {
170  if (i == 0)
172  else
174  }
175 
177  inline void setSingleLflag(int i, int singleLflag) {
178  if (i == 0)
180  else
182  }
183 
185  inline void setPrefInner(int i, int prefInner) {
186  if (i == 0)
188  else
190  }
191 
193  inline void setPrefHtrig(int i, int prefHtrig) {
194  if (i == 0)
196  else
198  }
199 
201  inline void setSortKascend(int i, int sortKascend) {
202  if (i == 0)
204  else
206  }
207 
209  inline void setTcKToll(int i, int TcKToll) {
210  if (i == 0)
212  else
214  }
215 
217  inline void setTcBxLts(int TcBxLts) { m_lts = TcBxLts; }
218 
220  inline void setSingleLenab(int i, int singleLenab) { m_ltf = singleLenab; }
221 
223  inline void setUsedBti(int bti, int mask) { m_trgenb.set(bti - 1, mask); }
224 
226  inline void setIBTIOFF(int IBTIOFF) { m_ibtioff = IBTIOFF; }
227 
230 
232  inline void setLVALIDIFH(int LVALIDIFH) { m_lvalidifh = LVALIDIFH; }
233 
235  void print() const;
236 
237  /* //! Return pointer to parameter set */
238  /* const edm::ParameterSet* getParameterSet() { return m_ps; } */
239 
240 private:
241  // const edm::ParameterSet* m_ps;
242 
243  int8_t m_debug;
244  int8_t m_krad;
245  int8_t m_btic;
246  int8_t m_dd;
247  int8_t m_reusei;
248  int8_t m_reuseo;
249  int8_t m_fhtmsk;
250  int8_t m_shtmsk;
251  int8_t m_fltmsk;
252  int8_t m_sltmsk;
253  int8_t m_fslmsk;
254  int8_t m_sslmsk;
255  int8_t m_fhtprf;
256  int8_t m_shtprf;
257  int8_t m_fhism;
258  int8_t m_shism;
259  int8_t m_fprgcomp;
260  int8_t m_sprgcomp;
261  int8_t m_lts;
262  int8_t m_ltf;
264  int8_t m_ibtioff;
265  int16_t m_kprgcom;
266  int8_t m_lvalidifh;
267 };
268 
269 #endif
DTConfigTraco()
Constructor.
Definition: DTConfigTraco.h:50
int singleLflag(int i) const
Single LTRIG enabling on first/second tracks: F(S)LTMSK.
Definition: DTConfigTraco.h:90
void setPrefInner(int i, int prefInner)
Set Preference to inner on first/second tracks: F(S)SLMSK.
int sortKascend(int i) const
Ascend. order for K sorting first/second tracks: F(S)HISM.
void setBTIC(int BTIC)
Set BTIC traco parameter: must be equal to Btis ST parameter.
int BTIC() const
BTIC traco parameter: must be equal to Btis ST parameter.
Definition: DTConfigTraco.h:68
void setDefaults(const edm::ParameterSet &ps)
Set default parameters.
void setSingleLenab(int i, int singleLenab)
Set Single LTRIG accept enabling on first/second tracks LTF.
int prefInner(int i) const
Preference to inner on first/second tracks: F(S)SLMSK.
Definition: DTConfigTraco.h:98
int8_t m_lvalidifh
void setSortKascend(int i, int sortKascend)
Set Ascend. order for K sorting first/second tracks: F(S)HISM.
int BendingAngleCut() const
Bending angle cut for all stations and triggers : KPRGCOM.
void setIBTIOFF(int IBTIOFF)
Set IBTIOFF traco parameter.
constexpr uint32_t mask
Definition: gpuClustering.h:26
int usedBti(int bti) const
Connected bti in traco: bti mask.
int singleLenab(int i) const
Single LTRIG accept enabling on first/second tracks LTF.
void print() const
Print the setup.
void setUsedBti(int bti, int mask)
Set Connected bti in traco: bti mask.
int singleHflag(int i) const
Single HTRIG enabling on first/second tracks F(S)HTMSK.
Definition: DTConfigTraco.h:82
void setDD(int DD)
Set DD traco parameter: this is fixed.
void setPrefHtrig(int i, int prefHtrig)
Set Preference to HTRIG on first/second tracks: F(S)HTPRF.
void setBendingAngleCut(int BendingAngleCut)
Set Bending angle cut for all stations and triggers : KPRGCOM.
BitArray< 16 > m_trgenb
void setTcKToll(int i, int TcKToll)
Set K tollerance for correlation in TRACO: F(S)PRGCOMP.
void setSingleHflag(int i, int singleHflag)
Set Single HTRIG enabling on first/second tracks F(S)HTMSK.
int TcKToll(int i) const
K tollerance for correlation in TRACO: F(S)PRGCOMP.
int prefHtrig(int i) const
Preference to HTRIG on first/second tracks: F(S)HTPRF.
int IBTIOFF() const
IBTIOFF traco parameter.
void setTcReuse(int i, int TcReuse)
Set Recycling of TRACO cand. in inner/outer SL : REUSEI/REUSEO.
static const int RESOLPSIR
Costant: resulution for psiR (phi)
Definition: DTConfigTraco.h:42
int debug() const
Debug flag.
Definition: DTConfigTraco.h:62
int TcReuse(int i) const
Recycling of TRACO cand. in inner/outer SL : REUSEI/REUSEO.
Definition: DTConfigTraco.h:74
void setKRAD(int KRAD)
Set KRAD traco parameter.
int16_t m_kprgcom
void setSingleLflag(int i, int singleLflag)
Set Single LTRIG enabling on first/second tracks: F(S)LTMSK.
void setTcBxLts(int TcBxLts)
Set Suppr. of LTRIG in 4 BX before HTRIG: LTS.
int KRAD() const
KRAD traco parameter.
Definition: DTConfigTraco.h:65
void setLVALIDIFH(int LVALIDIFH)
Set Flag for Low validation parameter.
int TcBxLts() const
Suppr. of LTRIG in 4 BX before HTRIG: LTS.
int LVALIDIFH() const
Flag for Low validation parameter.
static const int NMAXCAND
Costant: maximum number of TRACO output candidates to TS.
Definition: DTConfigTraco.h:44
static const int RESOLPSI
Costants: esolution for psi and DeltaPsiR (phi_B)
Definition: DTConfigTraco.h:40
void setDebug(int debug)
void set(const int i)
Definition: BitArray.h:224
int DD() const
DD traco parameter: this is fixed.
Definition: DTConfigTraco.h:71
int element(const int pos) const
Definition: BitArray.h:206
~DTConfigTraco() override
Destructor.