8 bits.nHeaderFrames = 42;
10 bits.b0cline = 0xDB0C;
25 bits.l1aNumber = dmbHeader.
l1a();
26 bits.bxnCount = dmbHeader.
bxn();
32 std::vector<CSCCLCTDigi>
result;
34 int cfeb = (
bits.clct0_cfeb_low)|(
bits.clct0_cfeb_high<<1);
36 int bend =
bits.clct0_bend;
39 pattern, 1, bend, strip, cfeb,
bits.clct0_bxn, 1,
bits.bxnPreTrigger);
42 strip =
bits.clct1_key;
43 cfeb = (
bits.clct1_cfeb_low)|(
bits.clct1_cfeb_high<<1);
44 pattern =
bits.clct1_shape;
45 bend =
bits.clct1_bend;
48 pattern, 1, bend, strip, cfeb,
bits.clct1_bxn, 2,
bits.bxnPreTrigger);
53 result.push_back(digi0);
54 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_bend = bend;
112 bits.clct0_cfeb_low = (cfeb & 0x1);
113 bits.clct0_cfeb_high = (cfeb>>1);
129 bits.clct1_bend = bend;
131 bits.clct1_cfeb_low = (cfeb & 0x1);
132 bits.clct1_cfeb_high = (cfeb>>1);
147 bits.MPC_Muon0_halfstrip_clct_pattern = halfStrip;
166 bits.MPC_Muon1_halfstrip_clct_pattern = halfStrip;
178 os <<
"...............TMB Header.................." <<
"\n";
179 os << std::hex <<
"BOC LINE " <<
bits.b0cline <<
" EOB " <<
bits.e0bline <<
"\n";
180 os << std::dec <<
"fifoMode = " <<
bits.fifoMode
181 <<
", nTBins = " <<
bits.nTBins <<
"\n";
184 os <<
"boardID = " <<
bits.boardID <<
", cscID = " <<
bits.cscID <<
"\n";
185 os <<
"l1aNumber = " <<
bits.l1aNumber <<
", bxnCount = " <<
bits.bxnCount <<
"\n";
187 os <<
"trigSourceVect = " <<
bits.trigSourceVect
188 <<
", activeCFEBs = " <<
bits.activeCFEBs <<
"\n";
189 os <<
"bxnPreTrigger = " <<
bits.bxnPreTrigger <<
"\n";
190 os <<
"tmbMatch = " <<
bits.tmbMatch <<
" alctOnly = " <<
bits.alctOnly
191 <<
" clctOnly = " <<
bits.clctOnly <<
"\n";
195 os <<
"clct0_key = " <<
bits.clct0_key <<
" bits.clct0_shape = " <<
bits.clct0_shape
196 <<
" clct0_quality = " <<
bits.clct0_quality <<
"\n";
199 os <<
"..................CLCT....................." <<
"\n";
int getQuality() const
return quality of a pattern (number of layers hit!)
int getStrip() const
return halfstrip that goes from 0 to 31
int getBend() const
return bend
int getCFEB() const
return Key CFEB ID
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.