12 mappingBuilder_(nullptr) {
19 for (
unsigned int sm = 0; sm <
NUMB_SM; sm++) {
20 for (
unsigned int fe = 0; fe <
NUMB_FE; fe++) {
22 for (
unsigned int xtal = 0; xtal <
NUMB_XTAL; xtal++) {
36 for (
unsigned int tccid = 0; tccid <
NUMB_TCC; tccid++) {
37 for (
unsigned int tpg = 0; tpg <
NUMB_FE; tpg++) {
45 for (
int tccid = 0; tccid <
NUMB_TCC; tccid++) {
56 for (
int u = 0; u < 2; u++) {
63 std::vector<unsigned int>* ids;
64 ids =
new std::vector<unsigned int>;
71 ids =
new std::vector<unsigned int>;
78 ids =
new std::vector<unsigned int>;
85 ids =
new std::vector<unsigned int>;
92 ids =
new std::vector<unsigned int>;
99 ids =
new std::vector<unsigned int>;
106 ids =
new std::vector<unsigned int>;
113 ids =
new std::vector<unsigned int>;
120 ids =
new std::vector<unsigned int>;
127 ids =
new std::vector<unsigned int>;
134 ids =
new std::vector<unsigned int>;
141 ids =
new std::vector<unsigned int>;
148 ids =
new std::vector<unsigned int>;
155 ids =
new std::vector<unsigned int>;
162 ids =
new std::vector<unsigned int>;
169 ids =
new std::vector<unsigned int>;
176 ids =
new std::vector<unsigned int>;
183 ids =
new std::vector<unsigned int>;
200 for (
unsigned int sm = 0; sm <
NUMB_SM; sm++) {
201 for (
unsigned int fe = 0; fe <
NUMB_FE; fe++) {
203 for (
unsigned int xtal = 0; xtal <
NUMB_XTAL; xtal++)
210 for (
size_t i = 0;
i <
srFlags_[sm][fe].size(); ++
i)
219 for (
int tccid = 0; tccid <
NUMB_TCC; tccid++) {
227 for (
unsigned int tccid = 0; tccid <
NUMB_TCC; tccid++) {
228 for (
unsigned int tpg = 0; tpg <
NUMB_FE; tpg++) {
239 std::map<unsigned int, std::vector<unsigned int>*>::iterator it;
268 std::ifstream dccMapFile_(aPath_.c_str());
271 if (!dccMapFile_.is_open())
317 if (orderedFedUnpackList.size() ==
orderedDCCIdList.size() && !orderedFedUnpackList.empty()) {
318 edm::LogInfo(
"EcalElectronicsMapper") <<
"DCCIdList/FedUnpackList lists given. Being loaded.";
320 std::string correspondence(
"list of pairs DCCId:FedId : ");
322 for (
int v = 0;
v < ((
int)orderedFedUnpackList.size());
v++) {
327 correspondence +=
tmp;
329 edm::LogInfo(
"EcalElectronicsMapper") << correspondence;
333 edm::LogInfo(
"EcalElectronicsMapper") <<
"No input DCCIdList/FedUnpackList lists given for ECAL unpacker"
334 <<
"(or given with different number of elements). "
335 <<
" Loading default association DCCIdList:FedUnpackList,"
336 <<
"i.e. 1:601 ... 53:653, 54:654.";
338 for (
unsigned int v = 1;
v <= 54;
v++) {
348 o <<
"---------------------------------------------------------";
351 o <<
"No correct input for DCC map has been given yet...";
354 <<
"SM id\t\tDCCid ";
357 std::map<unsigned int, unsigned int> aMap;
359 std::map<unsigned int, unsigned int>::iterator iter;
362 for (iter = aMap.begin(); iter != aMap.end(); iter++)
363 o << iter->first <<
"\t\t" << iter->second;
366 o <<
"---------------------------------------------------------";
375 unsigned int nTT = 68;
402 std::map<unsigned int, unsigned int>::const_iterator it =
myDCCMap_.find(aSMId_);
410 edm::LogError(
"IncorrectMapping") <<
"DCC requested for SM id: " << aSMId_ <<
" not found";
417 std::map<unsigned int, unsigned int>::const_iterator it;
421 if (it->second == aDCCId_)
426 edm::LogError(
"IncorrectMapping") <<
"SM requested DCC id: " << aDCCId_ <<
" not found";
432 for (
int smId = 1; smId <= 54; smId++) {
434 if (smId > 9 && smId < 46) {
435 for (
int feChannel = 1; feChannel <= 68; feChannel++) {
453 for (
int ps = 1; ps <= 5; ps++) {
467 for (
unsigned int stripId = 1; stripId <= 5; stripId++) {
468 for (
unsigned int xtalId = 1; xtalId <= 5; xtalId++) {
471 xtalDetIds_[smId - 1][feChannel - 1][stripId - 1][xtalId - 1] = detId;
483 std::vector<unsigned int>::iterator it;
485 for (it = pTCCIds->begin(); it != pTCCIds->end(); it++) {
486 unsigned int tccId = *it;
489 for (
unsigned int towerInTCC = 1; towerInTCC <=
numChannelsInDcc_[smId - 1]; towerInTCC++) {
503 for (
int ps = 1; ps <= 5; ps++) {
513 for (
unsigned int feChannel = 1; feChannel <=
numChannelsInDcc_[smId - 1]; feChannel++) {
523 for (
size_t i = 0;
i < scDetIds.size(); ++
i) {
535 std::vector<DetId>::iterator it;
538 for (it = ecalDetIds.begin(); it != ecalDetIds.end(); it++) {
542 int xtalId = ids.
xtalId();
545 xtalDetIds_[smId - 1][feChannel - 1][stripId - 1][xtalId - 1] = detId;
564 std::vector<DetId>::iterator theTCCConstituent;
570 for (theTCCConstituent = tccConstituents.begin(); theTCCConstituent != tccConstituents.end(); theTCCConstituent++) {
589 for (
int ps = 0; ps < numStripInTT[
tccId][
towerId]; ps++) {
613 short tTandPs_tmp[18][2];
616 for (
int psCounter = 30; psCounter < 48; psCounter++) {
617 tTandPs_tmp[psCounter - 30][0] =
tTandPs_[
tccId][psCounter][0];
618 tTandPs_tmp[psCounter - 30][1] =
tTandPs_[
tccId][psCounter][1];
622 for (
int psCounter = 18; psCounter < 30; psCounter++) {
628 for (
int psCounter = 42; psCounter < 60; psCounter++) {
629 tTandPs_[
tccId][psCounter][0] = tTandPs_tmp[psCounter - 42][0];
630 tTandPs_[
tccId][psCounter][1] = tTandPs_tmp[psCounter - 42][1];
637 short tTandPs_tmp[18][2];
640 for (
int psCounter = 30; psCounter < 48; psCounter++) {
641 tTandPs_tmp[psCounter - 30][0] =
tTandPs_[
tccId][psCounter][0];
642 tTandPs_tmp[psCounter - 30][1] =
tTandPs_[
tccId][psCounter][1];
646 for (
int psCounter = 18; psCounter < 30; psCounter++) {
652 for (
int psCounter = 42; psCounter < 60; psCounter++) {
653 tTandPs_[
tccId][psCounter][0] = tTandPs_tmp[psCounter - 42][0];
654 tTandPs_[
tccId][psCounter][1] = tTandPs_tmp[psCounter - 42][1];
676 }
v[
n] = {{601, 10, 5}, {601, 34, 3}, {601, 34, 4}, {601, 34, 5}, {602, 32, 5}, {603, 12, 5}, {603, 30, 5},
677 {604, 12, 5}, {604, 30, 5}, {605, 32, 5}, {606, 10, 5}, {606, 34, 3}, {606, 34, 4}, {606, 34, 5},
678 {608, 27, 3}, {608, 27, 4}, {608, 27, 5}, {608, 3, 3}, {608, 3, 4}, {608, 3, 5}, {608, 30, 5},
679 {608, 6, 5}, {646, 10, 5}, {646, 34, 3}, {646, 34, 4}, {646, 34, 5}, {647, 32, 5}, {648, 12, 5},
680 {648, 30, 5}, {649, 12, 5}, {649, 30, 5}, {650, 32, 5}, {651, 10, 5}, {651, 34, 3}, {651, 34, 4},
681 {651, 34, 5}, {653, 27, 3}, {653, 27, 4}, {653, 27, 5}, {653, 3, 3}, {653, 3, 4}, {653, 3, 5},
682 {653, 30, 5}, {653, 6, 5}};
684 for (
int i = 0;
i <
n; ++
i)
703 34, 32, 33, 33, 32, 34, 33, 41, 33,
704 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
705 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
706 68, 68, 68, 68, 68, 68, 68, 68, 34, 32, 33, 33, 32, 34, 33, 41, 33};