7 bits.nHeaderFrames = 42;
10 bits.firmRevCode = 0x50c3;
21 bits.l1aNumber = dmbHeader.
l1a24() & 0xFFF;
27 std::vector<CSCCLCTDigi>
result;
28 int halfstrip =
bits.clct0_key_low + (
bits.clct0_key_high << 7);
29 int strip = halfstrip % 32;
30 int cfeb = halfstrip / 32;
32 int bend = pattern & 0x1;
36 bits.clct0_valid,
bits.clct0_quality, pattern, 1, bend, strip, cfeb,
bits.clct_bxn, 1,
bits.bxnPreTrigger);
39 halfstrip =
bits.clct1_key_low + (
bits.clct1_key_high << 7);
40 strip = halfstrip % 32;
41 cfeb = halfstrip / 32;
42 pattern =
bits.clct1_shape;
47 bits.clct1_valid,
bits.clct1_quality, pattern, 1, bend, strip, cfeb,
bits.clct_bxn, 2,
bits.bxnPreTrigger);
49 result.push_back(digi0);
50 result.push_back(digi1);
56 std::vector<CSCCorrelatedLCTDigi>
result;
58 int strip =
bits.MPC_Muon0_halfstrip_clct_pattern;
62 bits.MPC_Muon0_quality_,
65 bits.MPC_Muon0_clct_pattern_,
70 bits.MPC_Muon0_SyncErr_,
71 bits.MPC_Muon0_cscid_low | (
bits.MPC_Muon0_cscid_bit4 << 3));
72 result.push_back(digi);
74 strip =
bits.MPC_Muon1_halfstrip_clct_pattern;
78 bits.MPC_Muon1_quality_,
81 bits.MPC_Muon1_clct_pattern_,
86 bits.MPC_Muon1_SyncErr_,
87 bits.MPC_Muon1_cscid_low | (
bits.MPC_Muon1_cscid_bit4 << 3));
88 result.push_back(digi);
93 throw cms::Exception(
"In CSC TMBHeaderFormat 2007, ALCTs belong in ALCT header");
97 throw cms::Exception(
"In CSC TMBHeaderFormat 2007, ALCTs belong in ALCT header");
109 bits.clct0_key_low = halfStrip & (0x7F);
111 bits.clct0_key_high = (halfStrip >> 7) & (0
x1);
125 bits.clct1_key_low = halfStrip & (0x7F);
127 bits.clct1_key_high = (halfStrip >> 7) & (0
x1);
143 bits.MPC_Muon0_halfstrip_clct_pattern = halfStrip;
160 bits.MPC_Muon1_halfstrip_clct_pattern = halfStrip;
170 os <<
"...............TMB Header.................." 172 os << std::hex <<
"BOC LINE " <<
bits.b0cline <<
" EOB " <<
bits.e0bline <<
"\n";
173 os <<
std::dec <<
"fifoMode = " <<
bits.fifoMode <<
", nTBins = " <<
bits.nTBins <<
"\n";
176 os <<
"boardID = " <<
bits.boardID <<
", cscID = " <<
bits.cscID <<
"\n";
177 os <<
"l1aNumber = " <<
bits.l1aNumber <<
", bxnCount = " <<
bits.bxnCount <<
"\n";
179 os <<
"trigSourceVect = " <<
bits.trigSourceVect <<
", activeCFEBs = " <<
bits.activeCFEBs <<
"\n";
180 os <<
"bxnPreTrigger = " <<
bits.bxnPreTrigger <<
"\n";
181 os <<
"tmbMatch = " <<
bits.tmbMatch <<
" alctOnly = " <<
bits.alctOnly <<
" clctOnly = " <<
bits.clctOnly <<
"\n";
186 os <<
" bits.clct0_shape = " <<
bits.clct0_shape <<
" clct0_quality = " <<
bits.clct0_quality <<
"\n";
189 os <<
"..................CLCT....................." int getQuality() const
return quality of a pattern (number of layers hit!)
int getBX() const
return BX
bool isValid() const
check CLCT validity (1 - valid CLCT)
int getPattern() const
return pattern
int getFullBX() const
return 12-bit full BX.