7 bits.nHeaderFrames = 42;
10 bits.firmRevCode = 0x7a76;
19 bits.l1aNumber = dmbHeader.
l1a24() & 0xFFF;
25 std::vector<CSCCLCTDigi>
result;
26 int halfstrip =
bits.clct0_key_low + (
bits.clct0_key_high << 7);
27 int strip = halfstrip % 32;
28 int cfeb = halfstrip / 32;
30 int bend = pattern & 0x1;
34 bits.clct0_valid,
bits.clct0_quality, pattern, 1, bend, strip, cfeb,
bits.clct_bxn, 1,
bits.bxnPreTrigger);
37 halfstrip =
bits.clct1_key_low + (
bits.clct1_key_high << 7);
38 strip = halfstrip % 32;
39 cfeb = halfstrip / 32;
40 pattern =
bits.clct1_shape;
45 bits.clct1_valid,
bits.clct1_quality, pattern, 1, bend, strip, cfeb,
bits.clct_bxn, 2,
bits.bxnPreTrigger);
47 result.push_back(digi0);
48 result.push_back(digi1);
54 std::vector<CSCCorrelatedLCTDigi>
result;
56 int strip =
bits.MPC_Muon0_halfstrip_clct_pattern;
60 bits.MPC_Muon0_quality_,
63 bits.MPC_Muon0_clct_pattern_,
68 bits.MPC_Muon0_SyncErr_,
69 bits.MPC_Muon0_cscid_low | (
bits.MPC_Muon0_cscid_bit4 << 3));
70 result.push_back(digi);
72 strip =
bits.MPC_Muon1_halfstrip_clct_pattern;
76 bits.MPC_Muon1_quality_,
79 bits.MPC_Muon1_clct_pattern_,
84 bits.MPC_Muon1_SyncErr_,
85 bits.MPC_Muon1_cscid_low | (
bits.MPC_Muon1_cscid_bit4 << 3));
86 result.push_back(digi);
91 throw cms::Exception(
"In CSC TMBHeaderFormat 2007, ALCTs belong in ALCT header");
95 throw cms::Exception(
"In CSC TMBHeaderFormat 2007, ALCTs belong in ALCT header");
107 bits.clct0_key_low = halfStrip & (0x7F);
109 bits.clct0_key_high = (halfStrip >> 7) & (0
x1);
124 bits.clct1_key_low = halfStrip & (0x7F);
126 bits.clct1_key_high = (halfStrip >> 7) & (0
x1);
141 bits.MPC_Muon0_halfstrip_clct_pattern = halfStrip;
158 bits.MPC_Muon1_halfstrip_clct_pattern = halfStrip;
168 os <<
"...............TMB Header.................." 170 os << std::hex <<
"BOC LINE " <<
bits.b0cline <<
" EOB " <<
bits.e0bline <<
"\n";
171 os <<
std::dec <<
"fifoMode = " <<
bits.fifoMode <<
", nTBins = " <<
bits.nTBins <<
"\n";
174 os <<
"boardID = " <<
bits.boardID <<
", cscID = " <<
bits.cscID <<
"\n";
175 os <<
"l1aNumber = " <<
bits.l1aNumber <<
", bxnCount = " <<
bits.bxnCount <<
"\n";
177 os <<
"trigSourceVect = " <<
bits.trigSourceVect
178 <<
", activeCFEBs = " << (
bits.activeCFEBs | (
bits.activeCFEBs_2 << 5))
179 <<
", readCFEBs = " << (
bits.readCFEBs | (
bits.readCFEBs_2 << 5)) <<
"\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.