8 bits.nHeaderFrames = 26;
10 bits.b0cline = 0x6B0C;
24 bits.l1aNumber = dmbHeader.
l1a();
31 std::vector<CSCCLCTDigi>
result;
37 if (
bits.firmRevCode < 3769 ) {
38 shape =
bits.clct0_shape;
39 type =
bits.clct0_strip_type;
41 shape = (
bits.clct0_strip_type<<3)+
bits.clct0_shape;
44 int strip =
bits.clct0_key;
45 int cfeb = (
bits.clct0_cfeb_low)|(
bits.clct0_cfeb_high<<1);
46 int bend =
bits.clct0_bend;
50 type, bend, strip, cfeb,
bits.clct0_bxn, 1,
bits.bxnPreTrigger);
52 result.push_back(digi0);
55 if (
bits.firmRevCode < 3769 ) {
56 shape =
bits.clct1_shape;
57 type =
bits.clct1_strip_type;
59 shape = (
bits.clct1_strip_type<<3)+
bits.clct1_shape;
63 strip =
bits.clct1_key;
64 cfeb = (
bits.clct1_cfeb_low)|(
bits.clct1_cfeb_high<<1);
65 bend =
bits.clct1_bend;
68 type, bend, strip, cfeb,
bits.clct1_bxn, 2,
bits.bxnPreTrigger);
70 result.push_back(digi1);
77 std::vector<CSCCorrelatedLCTDigi>
result;
79 int strip =
bits.MPC_Muon0_halfstrip_clct_pattern;
82 bits.MPC_Muon0_wire_, strip,
bits.MPC_Muon0_clct_pattern_,
83 bits.MPC_Muon0_bend_,
bits.MPC_Muon0_bx_, 0,
84 bits.MPC_Muon0_bc0_,
bits.MPC_Muon0_SyncErr_,
85 bits.MPC_Muon0_cscid_low | (
bits.MPC_Muon0_cscid_bit4<<3) );
86 result.push_back(digi);
88 strip =
bits.MPC_Muon1_halfstrip_clct_pattern;
91 bits.MPC_Muon1_wire_, strip,
bits.MPC_Muon1_clct_pattern_,
92 bits.MPC_Muon1_bend_,
bits.MPC_Muon1_bx_, 0,
93 bits.MPC_Muon1_bc0_,
bits.MPC_Muon1_SyncErr_,
94 bits.MPC_Muon1_cscid_low | (
bits.MPC_Muon1_cscid_bit4<<3) );
95 result.push_back(digi);
102 throw cms::Exception(
"In CSC TMBHeaderFormat 2006, ALCTs belong in ALCT header");
109 throw cms::Exception(
"In CSC TMBHeaderFormat 2006, ALCTs belong in ALCT header");
124 bits.clct0_bend = bend;
125 bits.clct0_key = strip;
126 bits.clct0_cfeb_low = (cfeb & 0x1);
127 bits.clct0_cfeb_high = (cfeb>>1);
144 bits.clct1_bend = bend;
145 bits.clct1_key = strip;
146 bits.clct1_cfeb_low = (cfeb & 0x1);
147 bits.clct1_cfeb_high = (cfeb>>1);
162 bits.MPC_Muon0_halfstrip_clct_pattern = halfStrip;
181 bits.MPC_Muon1_halfstrip_clct_pattern = halfStrip;
193 os <<
"...............TMB Header.................." <<
"\n";
194 os << std::hex <<
"BOC LINE " <<
bits.b0cline <<
" EOB " <<
bits.e0bline <<
"\n";
196 <<
", nTBins = " <<
bits.nTBins <<
"\n";
197 os <<
"dumpCFEBs = " <<
bits.dumpCFEBs <<
", nHeaderFrames = "
198 <<
bits.nHeaderFrames <<
"\n";
199 os <<
"boardID = " <<
bits.boardID <<
", cscID = " <<
bits.cscID <<
"\n";
200 os <<
"l1aNumber = " <<
bits.l1aNumber <<
", bxnCount = " <<
bits.bxnCount <<
"\n";
201 os <<
"preTrigTBins = " <<
bits.preTrigTBins <<
", nCFEBs = "<<
bits.nCFEBs<<
"\n";
202 os <<
"trigSourceVect = " <<
bits.trigSourceVect
203 <<
", activeCFEBs = " <<
bits.activeCFEBs <<
"\n";
204 os <<
"bxnPreTrigger = " <<
bits.bxnPreTrigger <<
"\n";
205 os <<
"tmbMatch = " <<
bits.tmbMatch <<
" alctOnly = " <<
bits.alctOnly
206 <<
" clctOnly = " <<
bits.clctOnly
207 <<
" alctMatchTime = " <<
bits.alctMatchTime <<
"\n";
208 os <<
"hs_thresh = " <<
bits.hs_thresh <<
", ds_thresh = " <<
bits.ds_thresh
210 os <<
".clct0_key = " <<
bits.clct0_key <<
" clct0_shape = " <<
bits.clct0_shape
211 <<
" clct0_quality = " <<
bits.clct0_quality <<
"\n";
212 os <<
"r_buf_nbusy = " <<
bits.r_buf_nbusy <<
"\n";
213 os <<
"Firmware Rev code " <<
bits.firmRevCode <<
"\n";
214 os <<
"..................CLCT....................." << std::endl;
int getQuality() const
return quality of a pattern (number of layers hit!)
int getStrip() const
return halfstrip that goes from 0 to 31
int getStripType() const
return striptype
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.