7 bits.nHeaderFrames = 42;
10 bits.firmRevCode = 0x50c3;
21 bits.l1aNumber = dmbHeader.
l1a24() & 0xFFF;
26 std::vector<CSCCLCTDigi>
result;
27 int halfstrip =
bits.clct0_key_low + (
bits.clct0_key_high << 7);
30 int pattern =
bits.clct0_shape;
31 int bend = pattern & 0x1;
35 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);
40 pattern =
bits.clct1_shape;
45 bits.clct1_valid,
bits.clct1_quality, pattern, 1, bend, strip, cfeb,
bits.clct_bxn, 2,
bits.bxnPreTrigger);
46 result.push_back(digi0);
47 result.push_back(digi1);
53 std::vector<CSCCorrelatedLCTDigi>
result;
55 int strip =
bits.MPC_Muon0_halfstrip_clct_pattern;
59 bits.MPC_Muon0_quality_,
62 bits.MPC_Muon0_clct_pattern_,
67 bits.MPC_Muon0_SyncErr_,
68 bits.MPC_Muon0_cscid_low | (
bits.MPC_Muon0_cscid_bit4 << 3));
69 result.push_back(digi);
71 strip =
bits.MPC_Muon1_halfstrip_clct_pattern;
75 bits.MPC_Muon1_quality_,
78 bits.MPC_Muon1_clct_pattern_,
83 bits.MPC_Muon1_SyncErr_,
84 bits.MPC_Muon1_cscid_low | (
bits.MPC_Muon1_cscid_bit4 << 3));
85 result.push_back(digi);
90 throw cms::Exception(
"In CSC TMBHeaderFormat 2007, ALCTs belong in ALCT header");
94 throw cms::Exception(
"In CSC TMBHeaderFormat 2007, ALCTs belong in ALCT header");
104 bits.clct0_shape = pattern;
106 bits.clct0_key_low = halfStrip & (0x7F);
108 bits.clct0_key_high = (halfStrip >> 7) & (0x1);
120 bits.clct1_shape = pattern;
122 bits.clct1_key_low = halfStrip & (0x7F);
124 bits.clct1_key_high = (halfStrip >> 7) & (0x1);
140 bits.MPC_Muon0_halfstrip_clct_pattern = halfStrip;
146 bits.MPC_Muon0_cscid_bit4 = (digi.
getCSCID() >> 3) & 0x1;
157 bits.MPC_Muon1_halfstrip_clct_pattern = halfStrip;
163 bits.MPC_Muon1_cscid_bit4 = (digi.
getCSCID() >> 3) & 0x1;
167 os <<
"...............TMB Header.................."
169 os << std::hex <<
"BOC LINE " <<
bits.b0cline <<
" EOB " <<
bits.e0bline <<
"\n";
170 os <<
std::dec <<
"fifoMode = " <<
bits.fifoMode <<
", nTBins = " <<
bits.nTBins <<
"\n";
171 os <<
"boardID = " <<
bits.boardID <<
", cscID = " <<
bits.cscID <<
"\n";
172 os <<
"l1aNumber = " <<
bits.l1aNumber <<
", bxnCount = " <<
bits.bxnCount <<
"\n";
173 os <<
"trigSourceVect = " <<
bits.trigSourceVect <<
", activeCFEBs = " <<
bits.activeCFEBs <<
"\n";
174 os <<
"bxnPreTrigger = " <<
bits.bxnPreTrigger <<
"\n";
175 os <<
"tmbMatch = " <<
bits.tmbMatch <<
" alctOnly = " <<
bits.alctOnly <<
" clctOnly = " <<
bits.clctOnly <<
"\n";
176 os <<
" bits.clct0_shape = " <<
bits.clct0_shape <<
" clct0_quality = " <<
bits.clct0_quality <<
"\n";
177 os <<
"..................CLCT....................."
uint16_t getFullBX() const
return 12-bit full BX.
uint16_t getBX() const
return BX
uint16_t getKeyStrip(const uint16_t n=2) const
bool isValid() const
check CLCT validity (1 - valid CLCT)
uint16_t getPattern() const
return pattern
uint16_t getQuality() const
return quality of a pattern (number of layers hit!)