8 bits.nHeaderFrames = 42;
10 bits.b0cline = 0xDB0C;
11 bits.firmRevCode = 0x7a76;
26 bits.l1aNumber = dmbHeader.
l1a24() & 0xFFF;
33 std::vector<CSCCLCTDigi>
result;
34 int halfstrip =
bits.clct0_key_low + (
bits.clct0_key_high << 7);
35 int strip = halfstrip%32;
36 int cfeb = halfstrip/32;
38 int bend = pattern &0x1;
42 pattern, 1, bend, strip, cfeb,
bits.clct_bxn, 1,
bits.bxnPreTrigger);
45 halfstrip =
bits.clct1_key_low + (
bits.clct1_key_high << 7);
48 pattern =
bits.clct1_shape;
53 pattern, 1, bend, strip, cfeb,
bits.clct_bxn, 2,
bits.bxnPreTrigger);
55 result.push_back(digi0);
56 result.push_back(digi1);
61 std::vector<CSCCorrelatedLCTDigi>
64 std::vector<CSCCorrelatedLCTDigi>
result;
66 int strip =
bits.MPC_Muon0_halfstrip_clct_pattern;
69 bits.MPC_Muon0_wire_, strip,
bits.MPC_Muon0_clct_pattern_,
70 bits.MPC_Muon0_bend_,
bits.MPC_Muon0_bx_, 0,
71 bits.MPC_Muon0_bc0_,
bits.MPC_Muon0_SyncErr_,
72 bits.MPC_Muon0_cscid_low | (
bits.MPC_Muon0_cscid_bit4<<3));
73 result.push_back(digi);
75 strip =
bits.MPC_Muon1_halfstrip_clct_pattern;
78 bits.MPC_Muon1_wire_, strip,
bits.MPC_Muon1_clct_pattern_,
79 bits.MPC_Muon1_bend_,
bits.MPC_Muon1_bx_, 0,
80 bits.MPC_Muon1_bc0_,
bits.MPC_Muon1_SyncErr_,
81 bits.MPC_Muon1_cscid_low | (
bits.MPC_Muon1_cscid_bit4<<3));
82 result.push_back(digi);
89 throw cms::Exception(
"In CSC TMBHeaderFormat 2007, ALCTs belong in ALCT header");
96 throw cms::Exception(
"In CSC TMBHeaderFormat 2007, ALCTs belong in ALCT header");
110 bits.clct0_key_low = halfStrip & (0x7F);
112 bits.clct0_key_high = (halfStrip >> 7) & (0
x1);
130 bits.clct1_key_low = halfStrip & (0x7F);
132 bits.clct1_key_high = (halfStrip >> 7) & (0
x1);
149 bits.MPC_Muon0_halfstrip_clct_pattern = halfStrip;
168 bits.MPC_Muon1_halfstrip_clct_pattern = halfStrip;
180 os <<
"...............TMB Header.................." <<
"\n";
181 os << std::hex <<
"BOC LINE " <<
bits.b0cline <<
" EOB " <<
bits.e0bline <<
"\n";
183 <<
", nTBins = " <<
bits.nTBins <<
"\n";
186 os <<
"boardID = " <<
bits.boardID <<
", cscID = " <<
bits.cscID <<
"\n";
187 os <<
"l1aNumber = " <<
bits.l1aNumber <<
", bxnCount = " <<
bits.bxnCount <<
"\n";
189 os <<
"trigSourceVect = " <<
bits.trigSourceVect
190 <<
", activeCFEBs = " << (
bits.activeCFEBs | (
bits.activeCFEBs_2 << 5))
191 <<
", readCFEBs = " << (
bits.readCFEBs | (
bits.readCFEBs_2 << 5)) <<
"\n";
192 os <<
"bxnPreTrigger = " <<
bits.bxnPreTrigger <<
"\n";
193 os <<
"tmbMatch = " <<
bits.tmbMatch <<
" alctOnly = " <<
bits.alctOnly
194 <<
" clctOnly = " <<
bits.clctOnly <<
"\n";
199 os <<
" bits.clct0_shape = " <<
bits.clct0_shape
200 <<
" clct0_quality = " <<
bits.clct0_quality <<
"\n";
203 os <<
"..................CLCT....................." <<
"\n";
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.