CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DTConfigTSPhi.cc
Go to the documentation of this file.
1 //-------------------------------------------------
2 //
3 // Class: DTConfigSectColl
4 //
5 // Description: Configurable parameters and constants
6 // for Level1 Mu DT Trigger - TS Phi
7 //
8 //
9 // Author List:
10 // C. Battilana
11 //
12 //-----------------------------------------------------------------------
13 
14 //-----------------------
15 // This Class's Header --
16 //-----------------------
18 
19 //---------------
20 // C++ Headers --
21 //---------------
22 #include <iostream>
23 #include <cstring>
24 
25 //-------------------------------
26 // Collaborating Class Headers --
27 //-------------------------------
28 
30 
31 //----------------
32 // Constructors --
33 //----------------
35 
36  setDefaults(ps);
37  if (debug()) print();
38 }
39 
40 DTConfigTSPhi::DTConfigTSPhi(bool debugTS, unsigned short int tss_buffer[7][31], int ntss, unsigned short int tsm_buffer[9]) {
41 
42  m_debug = debugTS;
43 
44  bool tstren[24];
45  bool tsscgs2, tsscgs1, tsscce1, tsshte1, tssnoe1, carrytss;
46  bool tsscce2, tsshte2, tssnoe2, tssccec, tsshtec, tssnoec;
47  unsigned short tssgs1, tssgs2, tssmsk1, tssmsk2;
48 
49  tsscgs2 = tsscgs1 = tsscce1 = tsshte1 = tssnoe1 = carrytss = 0;
50  tsscce2 = tsshte2 = tssnoe2 = tssccec = tsshtec = tssnoec = 0;
51  tssgs1 = tssgs2 = tssmsk1 = tssmsk2 = 0;
52 
53  memset(tstren,true,24*sizeof(bool));
54 
55  // TSS unpacking
56  for (int itss=0; itss<ntss; itss++) {
57  unsigned short int memory_tss[27];
58 
59  for(int ts=0;ts<27;ts++){
60  memory_tss[ts] = tss_buffer[itss][ts+4];
61  //std::cout << std::hex << memory_tss[ts] << " ";
62  }
63 
64  tstren[itss*4] = !(memory_tss[1]&0x08);
65  tstren[itss*4+1] = !(memory_tss[1]&0x80);
66  tstren[itss*4+2] = !(memory_tss[2]&0x08);
67  tstren[itss*4+3] = !(memory_tss[2]&0x80);
68 
69  if(!itss) {
70  tsscgs2 = !(memory_tss[0]&0x08);
71  tssgs2 = memory_tss[0]&0x04 ? 0 : 1;
72  tsscgs1 = !(memory_tss[0]&0x02);
73  tssgs1 = memory_tss[0]&0x01 ? 0 : 1;
74  tsscce1 = !(memory_tss[4]&0x04);
75  tsshte1 = !(memory_tss[4]&0x02);
76  tssnoe1 = !(memory_tss[4]&0x01);
77  tsscce2 = !(memory_tss[3]&0x40);
78  tsshte2 = !(memory_tss[3]&0x20);
79  tssnoe2 = !(memory_tss[3]&0x10);
80  tssccec = !(memory_tss[3]&0x04);
81  tsshtec = !(memory_tss[3]&0x02);
82  tssnoec = !(memory_tss[3]&0x01);
83  carrytss= !(memory_tss[4]&0x40);
84  tssmsk1 = memory_tss[4]&0x10 ? 132 : 312;
85  tssmsk2 = memory_tss[4]&0x20 ? 132 : 312;
86  }
87  }
88 
89  // TSM unpacking
90  unsigned short int memory_tsms[2], memory_tsmdu[2], memory_tsmdd[2];
91 
92  for(int ts=0;ts<2;ts++){
93  memory_tsms[ts] = tsm_buffer[ts+3];
94  memory_tsmdu[ts] = tsm_buffer[ts+5];
95  memory_tsmdd[ts] = tsm_buffer[ts+7];
96  //std::cout << std::hex << memory_tsms[ts] << " " << memory_tsmdu[ts] << " " << memory_tsmdd[ts] << " " << std::endl;
97  }
98 
99  bool tsmcgs1 = true;
100  unsigned short tsmgs1 = memory_tsms[1]&0x02 ? 0 : 1;
101  bool tsmcgs2 = true;
102  unsigned short tsmgs2 = 1;
103  bool tsmcce1 = true;
104  bool tsmhte1 = true;
105  bool tsmnoe1 = true;
106  bool tsmcce2 = true;
107  bool tsmhte2 = true;
108  bool tsmnoe2 = true;
109  bool tsmccec = true;
110  bool tsmhtec = true;
111  bool tsmnoec = true;
112  bool carrytsms = !(memory_tsms[1]&0x01);
113  unsigned short tsmmsk1 = memory_tsms[1]&0x08 ? 321 : 312;
114  unsigned short tsmmsk2 = tsmmsk1;
115  bool tsmword[8];
116  tsmword[0] = !((memory_tsmdu[0]&0x80)&&(memory_tsmdd[0]&0x80));
117  tsmword[1] = !(memory_tsms[0]&0x01);
118  tsmword[2] = !(memory_tsms[0]&0x02);
119  tsmword[3] = !(memory_tsms[0]&0x04);
120  tsmword[4] = !(memory_tsms[0]&0x08);
121  tsmword[5] = !(memory_tsms[0]&0x10);
122  tsmword[6] = !(memory_tsms[0]&0x20);
123  tsmword[7] = !(memory_tsms[0]&0x40);
124  bool carrytsmd = !((memory_tsmdu[0]&0x10)&&(memory_tsmdd[0]&0x10));
125 
126  unsigned short tsmhsp = carrytss && carrytsms && carrytsmd;
127 
128  if (debug()) {
129  std::cout << "TSS :" << std::dec << std::endl << "tstren= " ;
130  for (int i=0; i<24 ;i++) std::cout << tstren[i] << " ";
131  std::cout << " tsscgs1=" << tsscgs1
132  << " tssgs1=" << tssgs1
133  << " tsscgs2=" << tsscgs2
134  << " tssgs2=" << tssgs2
135  << " tsscce1=" << tsscce1
136  << " tsshte1=" << tsshte1
137  << " tssnoe1=" << tssnoe1
138  << " tsscce2=" << tsscce2
139  << " tsshte2=" << tsshte2
140  << " tssnoe2=" << tssnoe2
141  << " tssccec=" << tssccec
142  << " tsshtec=" << tsshtec
143  << " tssnoec=" << tssnoec
144  << " carrytss=" << carrytss
145  << " tssmsk1=" << tssmsk1
146  << " tssmsk2=" << tssmsk2 << std::endl;
147 
148  std::cout << "TSM : "<< std::endl
149  << "tsmcgs1=" << tsmcgs1
150  << " tsmgs1=" << tsmgs1
151  << " tsmcgs2=" << tsmcgs2
152  << " tsmgs2=" << tsmgs2
153  << " tsmcce1=" << tsmcce1
154  << " tsmhte1=" << tsmhte1
155  << " tsmnoe1=" << tsmnoe1
156  << " tsmcce2=" << tsmcce2
157  << " tsmhte2=" << tsmhte2
158  << " tsmnoe2=" << tsmnoe2
159  << " tsmccec=" << tsmccec
160  << " tsmhtec=" << tsmhtec
161  << " tsmnoec=" << tsmnoec
162  << " tsmhsp=" << tsmhsp
163  << " carrytsms=" << carrytsms
164  << " carrytsmd=" << carrytsmd
165  << " tsmword=";
166  for (int i=0;i<8;i++) std::cout << tsmword[i] << " ";
167  std::cout << " tsmmsk1=" << tsmmsk1
168  << " tsmmsk2=" << tsmmsk2 << std::endl;
169  }
170 
171  setTssMasking(tssmsk1,1);
172  setTssMasking(tssmsk2,2);
173  setTssHtrigEna(tsshte1,1);
174  setTssHtrigEna(tsshte2,2);
175  setTssHtrigEnaCarry(tsshtec);
176  setTssInOutEna(tssnoe1,1);
177  setTssInOutEna(tssnoe2,2);
178  setTssInOutEnaCarry(tssnoec);
179  setTssCorrEna(tsscce1,1);
180  setTssCorrEna(tsscce2,2);
181  setTssCorrEnaCarry(tssccec);
182  setTssGhost1Flag(tssgs1);
183  setTssGhost2Flag(tssgs2);
184  setTssGhost1Corr(tsscgs1);
185  setTssGhost2Corr(tsscgs2);
186 
187  setTsmMasking(tsmmsk1,1);
188  setTsmMasking(tsmmsk2,2);
189  setTsmHtrigEna(tsmhte1,1);
190  setTsmHtrigEna(tsmhte2,2);
191  setTsmHtrigEnaCarry(tsmhtec);
192  setTsmInOutEna(tsmnoe1,1);
193  setTsmInOutEna(tsmnoe2,2);
194  setTsmInOutEnaCarry(tsmnoec);
195  setTsmCorrEna(tsmcce1,1);
196  setTsmCorrEna(tsmcce2,2);
197  setTsmCorrEnaCarry(tsmccec);
198  setTsmGhost1Flag(tsmgs1);
199  setTsmGhost2Flag(tsmgs2);
200  setTsmGhost1Corr(tsmcgs1);
201  setTsmGhost2Corr(tsmcgs2);
202  setTsmCarryFlag(tsmhsp);
203 
204  for (int i=0;i<24;i++) setUsedTraco(i,tstren[i]);
205  for (int i=0;i<8;i++) setTsmStatus(i,tsmword[i]);
206 
207 
208 }
209 
210 //--------------
211 // Destructor --
212 //--------------
214 
215 //--------------
216 // Operations --
217 //--------------
218 
219 void
221 
222  // Debug flag
223  m_debug = ps.getUntrackedParameter<bool>("Debug");
224 
225  // Order of quaity bits in TSS for sort1
226  int mymsk = ps.getParameter<int>("TSSMSK1");
227  if (checkMask(mymsk))
228  m_tssmsk[0] = mymsk;
229  else {
230  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSSMSK1 not in correct form: " << mymsk << std::endl;
231  }
232 
233  // Order of quaity bits in TSS for sort2
234  mymsk= ps.getParameter<int>("TSSMSK2");
235  if (checkMask(mymsk))
236  m_tssmsk[1] = mymsk;
237  else {
238  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSSMSK2 not in correct form: " << mymsk << std::endl;
239  }
240 
241  // Htrig checking in TSS for sort1
242  m_tsshte[0] = ps.getParameter<bool>("TSSHTE1");
243 
244  // Htrig checking in TSS for sort2
245  m_tsshte[1] = ps.getParameter<bool>("TSSHTE2");
246 
247  // Htrig checking in TSS for carry
248  m_tsshte[2] = ps.getParameter<bool>("TSSHTEC");
249 
250  // Inner SL checking in TSS for sort1
251  m_tssnoe[0] = ps.getParameter<bool>("TSSNOE1");
252 
253  // Inner SL checking in TSS for sort2
254  m_tssnoe[1] = ps.getParameter<bool>("TSSNOE2");
255 
256  // Inner SL checking in TSS for carry
257  m_tssnoe[2] = ps.getParameter<bool>("TSSNOEC");
258 
259  // Correlation checking in TSS for sort1
260  m_tsscce[0] = ps.getParameter<bool>("TSSCCE1");
261 
262  // Correlation checking in TSS for sort2
263  m_tsscce[1] = ps.getParameter<bool>("TSSCCE2");
264 
265  // Correlation checking in TSS for carry
266  m_tsscce[2] = ps.getParameter<bool>("TSSCCEC");
267 
268  // Ghost 1 supperssion option in TSS
269  int mygs = ps.getParameter<int>("TSSGS1");
270  if (mygs>=0 && mygs<3)
271  m_tssgs1 = mygs;
272  else {
273  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSSGS1 value is not correct: " << mygs << std::endl;
274  }
275 
276  // Ghost 2 supperssion option in TSS
277  mygs= ps.getParameter<int>("TSSGS2");
278  if (mygs>=0 && mygs<5)
279  m_tssgs2 = mygs;
280  else {
281  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSSGS2 value is not correct: " << mygs << std::endl;
282  }
283 
284  // Correlated ghost 1 supperssion option in TSS
285  m_tsscgs1 = ps.getParameter<bool>("TSSCGS1");
286 
287  // Correlated ghost 2 supperssion option in TSS
288  m_tsscgs2 = ps.getParameter<bool>("TSSCGS2");
289 
290  // Order of quaity bits in TSM for sort1
291  mymsk = ps.getParameter<int>("TSMMSK1");
292  if (checkMask(mymsk))
293  m_tsmmsk[0] = mymsk;
294  else {
295  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSMMSK1 not in correct form: " << mymsk << std::endl;
296  }
297 
298  // Order of quaity bits in TSM for sort2
299  mymsk= ps.getParameter<int>("TSMMSK2");
300  if (checkMask(mymsk))
301  m_tsmmsk[1] = mymsk;
302  else {
303  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSMMSK2 not in correct form: " << mymsk << std::endl;
304  }
305 
306  // Htrig checking in TSM for sort1
307  m_tsmhte[0] = ps.getParameter<bool>("TSMHTE1");
308 
309  // Htrig checking in TSM for sort2
310  m_tsmhte[1] = ps.getParameter<bool>("TSMHTE2");
311 
312  // Htrig checking in TSM for carry
313  m_tsmhte[2] = ps.getParameter<bool>("TSMHTEC");
314 
315  // Inner SL checking in TSM for sort1
316  m_tsmnoe[0] = ps.getParameter<bool>("TSMNOE1");
317 
318  // Inner SL checking in TSM for sort2
319  m_tsmnoe[1] = ps.getParameter<bool>("TSMNOE2");
320 
321  // Inner SL checking in TSM for carry
322  m_tsmnoe[2] = ps.getParameter<bool>("TSMNOEC");
323 
324  // Correlation checking in TSM for sort1
325  m_tsmcce[0] = ps.getParameter<bool>("TSMCCE1");
326 
327  // Correlation checking in TSM for sort2
328  m_tsmcce[1] = ps.getParameter<bool>("TSMCCE2");
329 
330  // Correlation checking in TSM for carry
331  m_tsmcce[2] = ps.getParameter<bool>("TSMCCEC");
332 
333  // Ghost 1 supperssion option in TSM
334  mygs = ps.getParameter<int>("TSMGS1");
335  if (mygs>=0 && mygs<3)
336  m_tsmgs1 = mygs;
337  else {
338  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSMGS1 value is not correct: " << mygs << std::endl;
339  }
340 
341  // Ghost 2 supperssion option in TSM
342  mygs= ps.getParameter<int>("TSMGS2");
343  if (mygs>=0 && mygs<5)
344  m_tsmgs2 = mygs;
345  else {
346  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSMGS2 value is not correct: " << mygs << std::endl;
347  }
348 
349  // Correlated ghost 1 supperssion option in TSM
350  m_tsmcgs1 = ps.getParameter<bool>("TSMCGS1");
351 
352  // Correlated ghost 2 supperssion option in TSM
353  m_tsmcgs2 = ps.getParameter<bool>("TSMCGS2");
354 
355  // Handling carry in case of pile-up
356  int myhsp = ps.getParameter<int>("TSMHSP");
357  if (myhsp>=0 && myhsp<3)
358  m_tsmhsp = myhsp;
359  else {
360  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSMHSP value is not correct: " << myhsp << std::endl;
361  }
362 
363  // Handling TSMS masking parameters
364  m_tsmword.one();
365  int word = ps.getParameter<int>("TSMWORD");
366  if (word<0 || word>255){
367  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSMWORD value is not correct: " << word << std::endl;
368  }
369  for (int i=0;i<7;i++){
370  short int bit = word%2;
371  word /= 2;
372  if (bit==0) m_tsmword.unset(i);
373  }
374 
376  m_tstren.one();
377  for (int i=0;i<24;i++){
378  std::stringstream os;
379  os << "TSTREN" << i;
380  if (ps.getParameter<bool>(os.str())== 0)
381  m_tstren.unset(i);
382  }
383 
384 }
385 
386 int
387 DTConfigTSPhi::TSSinTSMD(int stat, int sect) { //CB it should set value when constructor is called (it should be done when we have station by station config)
388 
389  // Number of TSS for each TSMD (it changes from station to station) The DT stations are indicated in parenthesis
390  // in the DT column.
391  //
392  // MB nb.TSS nb.TTS per TSMD
393  // 1 3 2
394  // 2 4 2
395  // 3 5 3
396  // 4(1,2,3,5,6,7) 6 3
397  // 4(8,12) 6 3
398  // 4(9,11) 3 2
399  // 4(4L) 5 3
400  // 4(4R) 5 3
401  // 4(10L) 4 2
402  // 4(10R) 4 2
403 
404  if( stat==1 ||
405  stat==2 ||
406  ( stat==4 && (sect==9 || sect==11 ||
407  sect==10))) {
408  m_ntsstsmd = 2;
409  } else {
410  m_ntsstsmd = 3;
411  }
412 
413  return (int)m_ntsstsmd;
414 
415 }
416 
417 void
419 
420  std::cout << "******************************************************************************" << std::endl;
421  std::cout << "* DTTrigger configuration : TSPhi chips *" << std::endl;
422  std::cout << "******************************************************************************" << std::endl << std::endl;
423  std::cout << "Debug flag : " << debug() << std::endl;
424  std::cout << " TSS Parameters:" << std::endl;
425  std::cout << "TSSMSK 1/2:" << TssMasking(0) << " " << TssMasking(1) << std::endl;
426  std::cout << "TSSHTE 1/2/carry :" << TssHtrigEna(0) << " " << TssHtrigEna(1) << " " << TssHtrigEnaCarry() << std::endl;
427  std::cout << "TSSNOE 1/2/carry :" << TssInOutEna(0) << " " << TssInOutEna(1) << " " << TssInOutEnaCarry() << std::endl;
428  std::cout << "TSSCCE 1/2/carry :" << TssCorrEna(0) << " " << TssCorrEna(1) << " " << TssCorrEnaCarry() << std::endl;
429  std::cout << "TSSGS 1/2:" << TssGhost1Flag() << " " << TssGhost2Flag() << std::endl;
430  std::cout << "TSSCGS 1/2:" << TssGhost1Corr() << " " << TssGhost2Corr() << std::endl;
431  std::cout << " TSM Parameters:" << std::endl;
432  std::cout << "TSMMSK 1/2:" << TsmMasking(0) << " " << TsmMasking(1) << std::endl;
433  std::cout << "TSMHTE 1/2/carry :" << TsmHtrigEna(0) << " " << TsmHtrigEna(1) << " " << TsmHtrigEnaCarry() << std::endl;
434  std::cout << "TSMNOE 1/2/carry :" << TsmInOutEna(0) << " " << TsmInOutEna(1) << " " << TsmInOutEnaCarry() << std::endl;
435  std::cout << "TSMCCE 1/2/carry :" << TsmCorrEna(0) << " " << TsmCorrEna(1) << " " << TsmCorrEnaCarry() << std::endl;
436  std::cout << "TSMGS 1/2:" << TsmGhost1Flag() << " " << TsmGhost2Flag() << std::endl;
437  std::cout << "TSMCGS 1/2:" << TsmGhost1Corr() << " " << TsmGhost2Corr() << std::endl;
438  std::cout << "TSMHSP :" << TsmGetCarryFlag() << std::endl;
439  std::cout << "TSTREN[i] :";
440  for (int i=1;i<25;i++) std::cout << usedTraco(i) << " ";
441  std::cout << std::endl;
442  std::cout << "TSMWORD :";
443  TsmStatus().print();
444  std::cout << std::endl;
445 // int stat=4, sect=5;
446 // std::cout << "TSSTSMD(4,14 :" << TSSinTSMD(stat,sect) << std::endl;
447  std::cout << "******************************************************************************" << std::endl;
448 
449 }
450 
451 void
452 DTConfigTSPhi::setTssMasking(unsigned short tssmsk, int i) {
453  if (checkMask(tssmsk))
454  m_tssmsk[i-1] = tssmsk;
455  else {
456  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSMMSK2 not in correct form: " << tssmsk << std::endl;
457  }
458 }
459 
460 void
461 DTConfigTSPhi::setTsmMasking(unsigned short tsmmsk, int i) {
462  if (checkMask(tsmmsk))
463  m_tsmmsk[i-1] = tsmmsk;
464  else {
465  throw cms::Exception("DTTPG") << "DTConfigTSPhi::setDefaults : TSMMSK2 not in correct form: " << tsmmsk << std::endl;
466  }
467 }
468 
469 bool
470 DTConfigTSPhi::checkMask(unsigned short msk){
471 
472  bool hasone = false;
473  bool hastwo = false;
474  bool hasthree = false;
475  for(int i=0;i<3;i++){
476  int mynum = msk%10;
477  switch (mynum){
478  case 1:
479  hasone = true;
480  break;
481  case 2:
482  hastwo = true;
483  break;
484  case 3:
485  hasthree =true;
486  break;
487  }
488  msk /= 10;
489  }
490  if (hasone==true && hastwo==true && hasthree==true) return true;
491  return false;
492 
493 }
494 
495 
void setTssGhost2Corr(bool tsscgs2)
Correlated ghost 2 suppression option in TSS.
T getParameter(std::string const &) const
T getUntrackedParameter(std::string const &, T const &) const
int i
Definition: DBlmapReader.cc:9
bool TsmInOutEna(int i) const
Enable Inner SL checking in TSM for sort1/2.
Definition: DTConfigTSPhi.h:96
bool TssInOutEnaCarry() const
Enable Inner SL checking in TSS for carry.
Definition: DTConfigTSPhi.h:78
void setTsmCorrEna(bool tsmcce, int i)
Enable Correlation checking in TSM for sort1/2.
bool TsmHtrigEna(int i) const
Enable Htrig checking in TSM for sort1/2.
Definition: DTConfigTSPhi.h:90
bool TsmGhost2Corr() const
Correlated ghost 2 suppression option in TSM.
bool m_tssnoe[3]
void setTsmInOutEnaCarry(bool tsmnoe)
Enable Inner SL checking in TSM for carry.
void setTssHtrigEna(bool tsshte, int i)
Enable Htrig checking in TSS for sort1/2.
unsigned short int m_tssgs1
unsigned short int m_tsmgs2
int TsmMasking(int i) const
Order of quality bits in TSM for sort1/2.
Definition: DTConfigTSPhi.h:87
void setTssGhost1Corr(bool tsscgs1)
Correlated ghost 1 suppression option in TSS.
void setTssMasking(unsigned short int tssmsk, int i)
Order of quality bits in TSS for sort1/2.
unsigned short int m_tsmhsp
void setTssGhost1Flag(unsigned short tssgs1)
Ghost 1 suppression option in TSS.
int TssMasking(int i) const
Order of quality bits in TSS for sort1/2.
Definition: DTConfigTSPhi.h:66
unsigned short int m_tsmmsk[2]
void setTsmCorrEnaCarry(bool tsmcce)
Enable Correlation checking in TSM for carry.
void setUsedTraco(int i, int val)
Enabled TRACOs in TS.
void setTsmInOutEna(bool tsmnoe, int i)
Enable Inner SL checking in TSM for sort1/2.
bool m_tsmcce[3]
bool m_tsmhte[3]
DTConfigTSPhi()
Constructor.
Definition: DTConfigTSPhi.h:54
void setTssGhost2Flag(unsigned short tssgs2)
Ghost 2 suppression option in TSS.
void one()
Definition: BitArray.h:223
~DTConfigTSPhi()
Destructor.
bool m_tsshte[3]
void setTsmGhost1Corr(bool tsmcgs1)
Correlated ghost 1 suppression option in TSM.
bool debug() const
Return the debug flag.
Definition: DTConfigTSPhi.h:63
bool TssCorrEnaCarry() const
Enable Correlation checking in TSS for carry.
Definition: DTConfigTSPhi.h:84
BitArray< 8 > m_tsmword
void setDefaults(const edm::ParameterSet &ps)
Load pset values into class variables.
void setTsmCarryFlag(unsigned short tsmhsp)
Handling of second track (carry) in case of pile-up, in TSM.
bool TsmHtrigEnaCarry() const
Enable Htrig checking in TSM for carry.
Definition: DTConfigTSPhi.h:93
int TsmGetCarryFlag() const
Handling of second track (carry) in case of pile-up, in TSM.
unsigned short int m_tsmgs1
void setTssHtrigEnaCarry(bool tsshte)
Enable Htrig checking in TSS for carry.
void setTsmGhost2Corr(bool tsmcgs2)
Correlated ghost 2 suppression option in TSM.
BitArray< 24 > m_tstren
void unset(const int i)
Definition: BitArray.h:231
int TsmGhost1Flag() const
Ghost 1 suppression option in TSM.
bool TssHtrigEnaCarry() const
Enable Htrig checking in TSS for carry.
Definition: DTConfigTSPhi.h:72
bool TssGhost1Corr() const
Correlated ghost 1 suppression option in TSS.
void print() const
Print the setup.
void setTssCorrEna(bool tsscce, int i)
Enable Correlation checking in TSS for sort1/2.
bool m_tsmnoe[3]
int TSSinTSMD(int stat, int sect)
Return the max nb. of TSSs in input to a single TSMD (called ONLY in back-up mode) ...
int TssGhost2Flag() const
Ghost 2 suppression option in TSS.
void setTsmGhost2Flag(unsigned short tsmgs2)
Ghost 2 suppression option in TSM.
void setTsmGhost1Flag(unsigned short tsmgs1)
Ghost 1 suppression option in TSM.
int TssGhost1Flag() const
Ghost 1 suppression option in TSS.
int TsmGhost2Flag() const
Ghost 2 suppression option in TSM.
bool TsmCorrEnaCarry() const
Enable Correlation checking in TSM for carry.
void setTsmHtrigEna(bool tsmhte, int i)
Enable Htrig checking in TSM for sort1/2.
bool TsmCorrEna(int i) const
Enable Correlation checking in TSM for sort1/2.
bool m_tsscce[3]
void setTsmStatus(int i, int val)
TSM status.
bool TssInOutEna(int i) const
Enable Inner SL checking in TSS for sort1/2.
Definition: DTConfigTSPhi.h:75
bool TsmInOutEnaCarry() const
Enable Inner SL checking in TSM for carry.
Definition: DTConfigTSPhi.h:99
bool checkMask(unsigned short)
Check mask correctness.
BitArray< 8 > TsmStatus() const
TSM status.
bool TssGhost2Corr() const
Correlated ghost 2 suppression option in TSS.
void setTssCorrEnaCarry(bool tsscce)
Enable Correlation checking in TSS for.
tuple cout
Definition: gather_cfg.py:41
std::ostream & print(std::ostream &o=std::cout) const
Definition: BitArray.h:345
void setTsmMasking(unsigned short int tsmmsk, int i)
Order of quality bits in TSM for sort1/2.
bool TsmGhost1Corr() const
Correlated ghost 1 suppression option in TSM.
void setTsmHtrigEnaCarry(bool tsmhte)
Enable Htrig checking in TSM for carry.
bool TssCorrEna(int i) const
Enable Correlation checking in TSS for sort1/2.
Definition: DTConfigTSPhi.h:81
unsigned short int m_tssmsk[2]
void setTssInOutEnaCarry(bool tssnoe)
Enable Inner SL checking in TSS for carry.
unsigned short int m_ntsstsmd
void setTssInOutEna(bool tssnoe, int i)
Enable Inner SL checking in TSS for sort1/2.
bool usedTraco(int i) const
Enabled TRACOs in TS.
bool TssHtrigEna(int i) const
Enable Htrig checking in TSS for sort1/2.
Definition: DTConfigTSPhi.h:69
unsigned short int m_tssgs2