46 LogTrace(
"CSCGEMData|CSCRawToDigi") <<
"CSCGEMData.Print";
55 return address - (nPads * etaPart);
60 std::vector<GEMPadDigiCluster>
result;
67 for (
int fiber = 0; fiber < nGEMs; fiber++) {
68 for (
int cluster = 0; cluster <
maxClusters; cluster++) {
69 int dataAddr = 1 + (
i * nGEMs + fiber) * maxClusters + cluster;
70 int gem_layer = (
theData[dataAddr] >> 14) & 0x1;
71 if (gem_layer == gem_chamber) {
72 int cl_word =
theData[dataAddr] & 0x3fff;
73 int pad =
theData[dataAddr] & 0xff;
75 int cluster_size = (
theData[dataAddr] >> 11) & 0x7;
77 int padInPart = eta * nPads + pad;
80 <<
"GEMlayer" << gem_layer <<
" cl_word" << dataAddr <<
": 0x" << std::hex << cl_word <<
std::dec
81 <<
" tbin: " <<
i <<
" fiber#: " << (fiber + 1) <<
" cluster#: " << (cluster + 1)
82 <<
" padInPart: " << padInPart <<
" pad: " << pad <<
" eta: " << eta
83 <<
" cluster_size: " << cluster_size << std::endl;
84 std::vector<short unsigned int> pads;
85 for (
int iP = 0; iP <= cluster_size; ++iP)
86 pads.push_back(padInPart + iP);
88 result.push_back(pad_cluster);
138 std::vector<GEMPadDigiCluster>
result;
145 for (
int fiber = 0; fiber < nGEMs; fiber++) {
146 for (
int cluster = 0; cluster <
maxClusters; cluster++) {
147 int dataAddr = 1 + (
i * nGEMs + fiber) * maxClusters + cluster;
148 int gem_layer = (
theData[dataAddr] >> 14) & 0x1;
149 if (gem_layer == gem_chamber) {
150 int cl_word =
theData[dataAddr] & 0x3fff;
151 int pad =
theData[dataAddr] & 0xff;
153 int cluster_size = (
theData[dataAddr] >> 11) & 0x7;
154 if ((pad < nPads) && (eta == eta_roll)) {
158 <<
"GEMlayer" << gem_layer <<
" cl_word" << dataAddr <<
": 0x" << std::hex << cl_word <<
std::dec
159 <<
" tbin: " <<
i <<
" fiber#: " << (fiber + 1) <<
" cluster#: " << (cluster + 1)
160 <<
" padInPart: " << padInPart <<
" pad: " << pad <<
" eta: " << eta
161 <<
" cluster_size: " << cluster_size << std::endl;
162 std::vector<short unsigned int> pads;
163 for (
int iP = 0; iP <= cluster_size; ++iP)
164 pads.push_back(padInPart + iP);
166 result.push_back(pad_cluster);
static std::atomic< bool > debug
std::vector< GEMPadDigiCluster > etaDigis(int gem_chamber, int eta) const
std::vector< GEMPadDigiCluster > digis(int gem_chamber) const
CSCGEMData(int ntbins=12, int gem_fibers_mask=0xf)
default constructor
unsigned short theData[8 *2 *32+2]
int getPartitionStripNumber(int address, int nPads, int etaPart) const
int getPartitionNumber(int address, int nPads) const