CMS 3D CMS Logo

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