61 PathSet::const_iterator iii;
62 IdMap::const_iterator ij;
64 for (iii = ps.begin(); iii != ps.end(); iii++) {
71 int header = ((ss[0].adc()) & 0x7F);
72 int ieta = ((ss[1].adc()) & 0x3F);
73 int z_ieta = (((ss[1].adc()) >> 6) & 0x1);
74 int iphi = ((ss[2].adc()) & 0x7F);
75 int depth = ((ss[3].adc()) & 0x7);
76 int det = (((ss[3].adc()) >> 3) & 0xF);
77 int spigot = ((ss[4].adc()) & 0xF);
78 int fiber = (((ss[4].adc()) >> 4) & 0x7);
79 int crate = ((ss[5].adc()) & 0x1F);
80 int fiber_chan = (((ss[5].adc()) >> 5) & 0x3);
81 int G_Dcc = ((ss[6].adc()) & 0x3F);
82 int H_slot = ((ss[7].adc()) & 0x1F);
83 int TB = (((ss[7].adc()) >> 5) & 0x1);
84 int RBX_7 = (((ss[7].adc()) >> 6) & 0x1);
85 int RBX = ((ss[8].adc()) & 0x7F);
86 int RM = ((ss[9].adc()) & 0x3);
87 int RM_card = (((ss[9].adc()) >> 2) & 0x3);
88 int RM_chan = (((ss[9].adc()) >> 4) & 0x7);
91 if (det > 4 || det < 0) {
93 snprintf(c, 20,
"Det=%d", det);
104 if (header == 0x75) {
110 std::cout <<
"Pathway match" << std::endl;
112 is_header =
" Header found";
114 std::cout <<
" Digi ID: " << dd << is_header <<
" ieta: " << eta_sign << ieta <<
" iphi: " << iphi
115 <<
" Depth: " << depth <<
" Detector: " << det_name <<
" Spigot: " << spigot <<
"/" << eid.
spigot()
116 <<
" Fiber: " << fiber + 1 <<
"/" << eid.
fiberIndex() <<
" Fiber Channel: " << fiber_chan <<
"/" 118 <<
" Global Dcc: " << G_Dcc <<
"/" << eid.
dccid() <<
" HTR Slot: " << H_slot <<
"/ " << eid.
htrSlot()
119 <<
" Top/Bottom: " << TB <<
"/" << eid.
htrTopBottom() <<
" RBX: " << (RBX_7 * 128 + RBX)
120 <<
" RM: " << RM + 1 <<
" RM Card: " << RM_card + 1 <<
" RM Channel: " << RM_chan << std::endl;
122 }
else if (ieta + 64 == 0x75) {
123 ieta = ((ss[2].adc()) & 0x3F);
124 z_ieta = (((ss[2].adc()) >> 6) & 0x1);
125 iphi = ((ss[3].adc()) & 0x7F);
126 depth = ((ss[4].adc()) & 0x7);
127 det = (((ss[4].adc()) >> 3) & 0xF);
128 spigot = ((ss[5].adc()) & 0xF);
129 fiber = (((ss[5].adc()) >> 4) & 0x7);
130 crate = ((ss[6].adc()) & 0x1F);
131 fiber_chan = (((ss[6].adc()) >> 5) & 0x3);
132 G_Dcc = ((ss[7].adc()) & 0x3F);
133 H_slot = ((ss[8].adc()) & 0x1F);
134 TB = (((ss[8].adc()) >> 5) & 0x1);
135 RBX_7 = (((ss[8].adc()) >> 6) & 0x1);
136 RBX = ((ss[9].adc()) & 0x7F);
144 std::cout <<
"Pathway match (SHIFT)" << std::endl;
146 is_header =
" DATA SHIFT";
148 std::cout <<
" Digi ID: " << dd << is_header <<
" ieta: " << eta_sign << ieta <<
" iphi: " << iphi
149 <<
" Depth: " << depth <<
" Detector: " << det_name <<
" Spigot: " << spigot <<
"/" << eid.
spigot()
150 <<
" Fiber: " << fiber + 1 <<
"/" << eid.
fiberIndex() <<
" Fiber Channel: " << fiber_chan <<
"/" 152 <<
" Global Dcc: " << G_Dcc <<
"/" << eid.
dccid() <<
" HTR Slot: " << H_slot <<
"/ " << eid.
htrSlot()
153 <<
" Top/Bottom: " << TB <<
"/" << eid.
htrTopBottom() <<
" RBX: " << (RBX_7 * 128 + RBX) << std::endl;
156 std::cout <<
" Digi ID: " << dd <<
" +NO HEADER+ " 157 <<
" RBX: " << (RBX_7 * 128 + RBX) << std::endl;
HcalSubdetector subdet() const
get the subdetector
constexpr int dccid() const
get the (Hcal local) DCC id for VME, crate number for uTCA
constexpr int htrTopBottom() const
get the htr top/bottom (1=top/0=bottom), valid for VME
std::vector< HcalQIESample > SampleSet
int depth() const
get the tower depth
constexpr int htrSlot() const
get the htr slot
constexpr int readoutVMECrateId() const
get the readout VME crate number
constexpr int spigot() const
get the spigot (input number on DCC, AMC card number for uTCA)
int ietaAbs() const
get the absolute value of the cell ieta
int iphi() const
get the cell iphi
constexpr int fiberIndex() const
get the fiber index. For VME 1-8 (which of eight fibers carried by a spigot), for uTCA fibers are zer...
constexpr int fiberChanId() const
get the fiber channel id (which of channels on a fiber)
Readout chain identification for Hcal.