639 int hocrate_loc[
NHOCR]={3,7,6,13};
642 int fedhonum_loc[
NHOCR][2]={{724,725},{726,727},{728,729},{730,731}};
645 int ihslotho_loc[
NHSETSHO][
NHTRSHO]={{2,3,4,5},{6,7,13,14},{15,16,17,18}};
648 int ihophis_loc[
NHOCR]={71,17,35,53};
654 int HO_RM_table_loc[24][16][2] =
656 {{2,2},{2,2},{2,2},{2,2},{2,2},{2,2},{2,2},{2,2},{2,2},{2,2},{4,2},{4,2},{4,2},{4,2},{4,2},{4,2}},
657 {{2,2},{2,2},{2,2},{2,2},{4,4},{4,4},{4,4},{4,4},{4,4},{4,4},{2,4},{2,4},{2,4},{2,4},{2,4},{2,4}},
658 {{3,3},{3,3},{3,3},{3,3},{4,4},{4,4},{4,4},{4,4},{4,4},{4,4},{2,4},{2,4},{2,4},{2,4},{2,4},{2,4}},
659 {{3,3},{3,3},{3,3},{3,3},{4,4},{4,4},{4,4},{4,4},{4,4},{4,4},{2,4},{2,4},{2,4},{2,4},{2,4},{2,4}},
660 {{4,4},{4,4},{4,4},{4,4},{3,3},{3,3},{3,3},{3,3},{3,3},{3,3},{1,3},{1,3},{1,3},{1,3},{1,3},{1,3}},
661 {{4,4},{4,4},{4,4},{4,4},{3,3},{3,3},{3,3},{3,3},{3,3},{3,3},{1,3},{1,3},{1,3},{1,3},{1,3},{1,3}},
662 {{3,3},{3,3},{3,3},{3,3},{3,3},{3,3},{3,3},{3,3},{3,3},{3,3},{1,3},{1,3},{1,3},{1,3},{1,3},{1,3}},
663 {{3,3},{3,3},{3,3},{3,3},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{3,1},{3,1},{3,1},{3,1},{3,1},{3,1}},
664 {{2,2},{2,2},{2,2},{2,2},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{3,1},{3,1},{3,1},{3,1},{3,1},{3,1}},
665 {{2,2},{2,2},{2,2},{2,2},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{3,1},{3,1},{3,1},{3,1},{3,1},{3,1}},
666 {{4,4},{4,4},{4,4},{4,4},{2,2},{2,2},{2,2},{2,2},{2,2},{2,2},{4,2},{4,2},{4,2},{4,2},{4,2},{4,2}},
667 {{4,4},{4,4},{4,4},{4,4},{2,2},{2,2},{2,2},{2,2},{2,2},{2,2},{4,2},{4,2},{4,2},{4,2},{4,2},{4,2}},
668 {{3,3},{3,3},{3,3},{3,3},{2,2},{2,2},{2,2},{2,2},{2,2},{2,2},{4,2},{4,2},{4,2},{4,2},{4,2},{4,2}},
669 {{3,3},{3,3},{3,3},{3,3},{4,4},{4,4},{4,4},{4,4},{4,4},{4,4},{2,4},{2,4},{2,4},{2,4},{2,4},{2,4}},
670 {{2,2},{2,2},{2,2},{2,2},{4,4},{4,4},{4,4},{4,4},{4,4},{4,4},{2,4},{2,4},{2,4},{2,4},{2,4},{2,4}},
671 {{2,2},{2,2},{2,2},{2,2},{4,4},{4,4},{4,4},{4,4},{4,4},{4,4},{2,4},{2,4},{2,4},{2,4},{2,4},{2,4}},
672 {{1,1},{1,1},{1,1},{1,1},{3,3},{3,3},{3,3},{3,3},{3,3},{3,3},{1,3},{1,3},{1,3},{1,3},{1,3},{1,3}},
673 {{1,1},{1,1},{1,1},{1,1},{3,3},{3,3},{3,3},{3,3},{3,3},{3,3},{1,3},{1,3},{1,3},{1,3},{1,3},{1,3}},
674 {{2,2},{2,2},{2,2},{2,2},{3,3},{3,3},{3,3},{3,3},{3,3},{3,3},{1,3},{1,3},{1,3},{1,3},{1,3},{1,3}},
675 {{2,2},{2,2},{2,2},{2,2},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{3,1},{3,1},{3,1},{3,1},{3,1},{3,1}},
676 {{3,3},{3,3},{3,3},{3,3},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{3,1},{3,1},{3,1},{3,1},{3,1},{3,1}},
677 {{3,3},{3,3},{3,3},{3,3},{1,1},{1,1},{1,1},{1,1},{1,1},{1,1},{3,1},{3,1},{3,1},{3,1},{3,1},{3,1}},
678 {{1,1},{1,1},{1,1},{1,1},{2,2},{2,2},{2,2},{2,2},{2,2},{2,2},{4,2},{4,2},{4,2},{4,2},{4,2},{4,2}},
679 {{1,1},{1,1},{1,1},{1,1},{2,2},{2,2},{2,2},{2,2},{2,2},{2,2},{4,2},{4,2},{4,2},{4,2},{4,2},{4,2}}
681 memcpy(
HO_RM_table, HO_RM_table_loc,
sizeof(
int)*24*16*2 );
684 int HO_RM_fi_eta5to15_loc[11] = {3, 2, 5, 4, 7, 6, 3, 2, 5, 4, 7};
700 int HO_RM_fi_eta1to4_loc[24][2][2] =
702 {{7,3},{4,5}},{{6,2},{4,5}},{{7,3},{4,5}},{{6,2},{4,5}},{{2,6},{5,4}},{{3,7},{5,4}},{{2,6},{5,4}},{{3,7},{5,4}},
703 {{2,6},{5,4}},{{3,7},{5,4}},{{2,6},{5,4}},{{3,7},{5,4}},{{2,6},{5,4}},{{3,7},{5,4}},{{2,6},{5,4}},{{3,7},{5,4}},
704 {{7,3},{4,5}},{{6,2},{4,5}},{{7,3},{4,5}},{{6,2},{4,5}},{{7,3},{4,5}},{{6,2},{4,5}},{{7,3},{4,5}},{{6,2},{4,5}}
717 int HO_RM_fi_eta1to4_sipm_loc[24][4][2] =
719 {{5,3},{5,5},{7,3},{6,3}}, {{4,2},{7,4},{7,2},{6,2}}, {{5,3},{5,5},{7,3},{6,3}}, {{4,2},{7,4},{7,2},{6,2}},
720 {{2,4},{4,7},{2,7},{2,6}}, {{3,5},{5,5},{3,7},{3,6}}, {{2,4},{4,7},{2,7},{2,6}}, {{3,5},{5,5},{3,7},{3,6}},
721 {{2,4},{4,7},{2,7},{2,6}}, {{3,5},{5,5},{3,7},{3,6}}, {{2,4},{4,7},{2,7},{2,6}}, {{3,5},{5,5},{3,7},{3,6}},
722 {{2,4},{4,7},{2,7},{2,6}}, {{3,5},{5,5},{3,7},{3,6}}, {{2,4},{4,7},{2,7},{2,6}}, {{3,5},{5,5},{3,7},{3,6}},
723 {{5,3},{5,5},{7,3},{6,3}}, {{4,2},{7,4},{7,2},{6,2}}, {{5,3},{5,5},{7,3},{6,3}}, {{4,2},{7,4},{7,2},{6,2}},
724 {{5,3},{5,5},{7,3},{6,3}}, {{4,2},{7,4},{7,2},{6,2}}, {{5,3},{5,5},{7,3},{6,3}}, {{4,2},{7,4},{7,2},{6,2}},
729 int HO_htr_fi_450eta5to15_loc[2][11] = {{2, 2, 4, 6, 8, 2, 4, 6, 8, 4, 6},
730 {2, 8, 6, 4, 2, 8, 6, 4, 2, 4, 2}};
734 int HO_htr_fi_450eta16M_loc[4] = {7, 7, 8, 8};
738 int HO_htr_fi_450eta16P_loc[4][6] = { {4,2,4,4,2,6},{2,6,6,2,6,4},{5,3,5,5,3,7},{3,7,7,3,7,5} };
742 int HO_htr_fi_eta4_loc[2][6] = {{6, 6, 8, 8, 7, 7},
747 int HO_htr_fi_eta123_loc[2][6] = {{6, 5, 4, 3, 8, 7},
760 int HO_htr_fi_eta1234_sipm[6][5][2][2] = {
762 {{4,8},{6,4}}, {{4,4},{4,7}}, {{6,8},{6,7}}, {{5,8},{6,8}}, {{5,6},{-1,-1}} },
764 {{6,7},{5,6}}, {{6,6},{6,6}}, {{6,7},{5,7}}, {{5,7},{5,8}}, {{-1,-1},{4,8}} },
766 {{4,5},{5,6}}, {{5,5},{5,5}}, {{4,5},{4,6}}, {{4,6},{3,6}}, {{-1,-1},{3,8}} },
768 {{3,8},{8,5}}, {{8,8},{4,8}}, {{3,5},{4,5}}, {{3,6},{3,5}}, {{5,6},{-1,-1}} },
770 {{3,2},{8,3}}, {{3,3},{3,1}}, {{8,2},{8,1}}, {{7,2},{8,2}}, {{7,7},{-1,-1}} },
772 {{7,1},{7,7}}, {{8,7},{7,7}}, {{8,1},{7,1}}, {{7,1},{7,2}}, {{-1,-1},{3,2}} },
780 int ipixelHO_loc[
NRMFIBR][
NFCH][2] = {{{12,12},{ 7, 7},{ 6, 3}},
781 {{ 4, 4},{ 8, 8},{ 5, 1}},
782 {{19,11},{18, 6},{17, 2}},
783 {{ 2, 9},{ 1,13},{ 3, 5}},
784 {{11,19},{16,18},{15,17}},
785 {{13,15},{ 9,14},{14,16}}};
787 int ipixelHO_sipm[
NRMFIBR][
NFCH][2] = {{{12,12},{ 7, 7},{ 3, 3}},
788 {{ 4, 4},{ 8, 8},{ 1, 1}},
789 {{11,11},{ 6, 6},{ 2, 2}},
790 {{ 9, 9},{13,13},{ 5, 5}},
791 {{19,19},{18,18},{17,17}},
792 {{15,15},{14,14},{16,16}}};
800 {{
"Q",
"M"},{
"N",
"T"},{
"P",
"F"}},
801 {{
"A",
"C"},{
"X",
"J"},{
"J",
"Q"}},
802 {{
"X",
"K"},{
"R",
"R"},{
"H",
"D"}},
803 {{
"D",
"A"},{
"C",
"G"},{
"B",
"N"}},
804 {{
"L",
"H"},{
"M",
"P"},{
"K",
"B"}}};
807 {{
"Q",
"M"},{
"N",
"T"},{
"R",
"F"}},
808 {{
"D",
"C"},{
"F",
"J"},{
"X",
"Q"}},
809 {{
"M",
"K"},{
"L",
"R"},{
"P",
"D"}},
810 {{
"A",
"A"},{
"X",
"G"},{
"J",
"N"}},
811 {{
"B",
"H"},{
"K",
"P"},{
"C",
"B"}}};
815 for (
int ll = 0; ll < 2; ll++) {
839 int rmspecialeta_loc[6][6] = {
840 { 14, 15, 14, 13, 12, 11 },
841 { 14, 15, 14, 13, 12, 11 },
842 { 10, 9, 8, 7, 6, 5 },
843 { 10, 9, 8, 7, 6, 5 },
844 { 14, 15, 14, 13, 12, 11 },
845 { 14, 15, 14, 13, 12, 11 }
849 {
"X",
"B",
"C",
"D",
"E",
"F" },
850 {
"X",
"P",
"Q",
"R",
"S",
"T" },
851 {
"G",
"H",
"J",
"K",
"L",
"M" },
852 {
"A",
"B",
"C",
"D",
"E",
"F" },
853 {
"X",
"B",
"C",
"D",
"E",
"F" },
854 {
"X",
"P",
"Q",
"R",
"S",
"T" }
858 {
"HOX",
"HO",
"HO",
"HO",
"HO",
"HO" },
859 {
"HOX",
"HO",
"HO",
"HO",
"HO",
"HO" },
860 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HO" },
861 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HO" },
862 {
"HOX",
"HO",
"HO",
"HO",
"HO",
"HO" },
863 {
"HOX",
"HO",
"HO",
"HO",
"HO",
"HO" }
866 memcpy(
rmspecialeta, rmspecialeta_loc,
sizeof(
int)*6*6 );
869 for (
int jj = 0;
jj < 6;
jj++) {
870 for (
int kk = 0;
kk < 6;
kk++) {
873 for (
int jj = 0;
jj < 6;
jj++) {
874 for (
int kk = 0;
kk < 6;
kk++) {
879 int rmspecialeta_loc[6][6] = {
880 { 11, 12, 13, 14, 15, 15 },
881 { 11, 12, 13, 14, 15, 15 },
882 { 5, 6, 7, 8, 9, 10 },
883 { 5, 6, 7, 8, 9, 10 },
884 { 14, 15, 14, 13, 12, 11 },
885 { 11, 12, 13, 14, 15, 15 }
889 {
"F",
"E",
"D",
"C",
"B",
"X" },
890 {
"T",
"S",
"R",
"Q",
"P",
"X" },
891 {
"M",
"L",
"K",
"J",
"H",
"G" },
892 {
"F",
"E",
"D",
"C",
"B",
"A" },
893 {
"X",
"B",
"C",
"D",
"E",
"F" },
894 {
"T",
"S",
"R",
"Q",
"P",
"X" }
898 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HOX" },
899 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HOX" },
900 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HO" },
901 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HO" },
902 {
"HOX",
"HO",
"HO",
"HO",
"HO",
"HO" },
903 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HOX" }
906 memcpy(
rmspecialeta, rmspecialeta_loc,
sizeof(
int)*6*6 );
909 for (
int jj = 0;
jj < 6;
jj++) {
910 for (
int kk = 0;
kk < 6;
kk++) {
913 for (
int jj = 0;
jj < 6;
jj++) {
914 for (
int kk = 0;
kk < 6;
kk++) {
919 int rmspecialeta_loc[6][6] = {
920 { 11, 12, 13, 14, 15, 15 },
921 { 11, 12, 13, 14, 15, 15 },
922 { 5, 6, 7, 8, 9, 10 },
923 { 5, 6, 7, 8, 9, 10 },
924 { 11, 12, 13, 14, 15, 15 },
925 { 11, 12, 13, 14, 15, 15 }
929 {
"F",
"E",
"D",
"C",
"B",
"X" },
930 {
"T",
"S",
"R",
"Q",
"P",
"X" },
931 {
"M",
"L",
"K",
"J",
"H",
"G" },
932 {
"F",
"E",
"D",
"C",
"B",
"A" },
933 {
"F",
"E",
"D",
"C",
"B",
"X" },
934 {
"T",
"S",
"R",
"Q",
"P",
"X" }
938 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HOX" },
939 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HOX" },
940 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HO" },
941 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HO" },
942 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HOX" },
943 {
"HO",
"HO",
"HO",
"HO",
"HO",
"HOX" }
946 memcpy(
rmspecialeta, rmspecialeta_loc,
sizeof(
int)*6*6 );
949 for (
int jj = 0;
jj < 6;
jj++) {
950 for (
int kk = 0;
kk < 6;
kk++) {
953 for (
int jj = 0;
jj < 6;
jj++) {
954 for (
int kk = 0;
kk < 6;
kk++) {
961 stringstream mystream;
990 if (
ieta <= 3 && (iside < 0 || phmod6 >= 4))
fpga =
"bot";
991 else if (ieta <= 3 && iside > 0 &&
phmod6 < 4)
fpga =
"top";
997 else if (ieta < 10 && ieta >= 6 &&
iside > 0)
fpga =
"bot";
1001 else if ((ieta < 10 && ieta >= 6) &&
iside < 0)
fpga =
"top";
1002 else edm::LogInfo(
"HcalLogicalMapGenerator") <<
"Bad fpga code"<<endl;
1037 else if (
ieta <= 4) {
1095 else if (
ieta == 1){
1169 if (ieta <= 4 && mapIOV_ >= 5) {
1197 else if (ieta <= 13 && ieta >= 6 &&
iside == 1)
ih = 1;
1198 else if (ieta <= 13 && ieta >= 6 &&
iside == -1)
ih = 3;
1205 int php2mod18 = (
iph+2)%18;
1206 int php2mod18ov6 = php2mod18/6;
1211 if (
iphi % 18 == 17 ||
iphi % 18 <= 4)
is = 0;
1212 else if (
iphi % 18 >= 5 &&
iphi % 18 <= 10)
is = 1;
1223 if (mytype == 1 || mytype == 2)
1263 rbx = mystream.str();
1291 else if ( iphi == 67 ) {
1297 else if (
iside == -1) {
1304 else if ( iphi == 65 ) {
1310 else if (
ring == 2 ) {
1316 else if ( iphi == 31 ) {
1330 HOHXEntries.push_back(hoxlmapentry);
1334 unsigned int denseId;
1337 HoHash2Entry.at(denseId)=HOHXEntries.size();
1340 HxCalibHash2Entry.at(denseId)=HOHXEntries.size();
1374 HOHXEntries.push_back(hoxlmapentry);
1378 unsigned int denseId;
1381 HoHash2Entry.at(denseId)=HOHXEntries.size();
1384 HxCalibHash2Entry.at(denseId)=HOHXEntries.size();
1420 HOHXEntries.push_back(hoxlmapentry);
1424 unsigned int denseId;
1427 HoHash2Entry.at(denseId)=HOHXEntries.size();
1430 HxCalibHash2Entry.at(denseId)=HOHXEntries.size();
std::string rmspeciallet_code[6][6]
static const int NHSETSHO
int ihslotho[NHSETSHO][NHTRSHO]
int ipixelHO[NRMFIBR][NFCH][2]
static uint32_t makeEntryNumber(bool, int, int)
int HO_htr_fi_450eta16M[4]
int HO_RM_fi_eta1to4[24][2][2]
int HO_RM_fi_eta5to15[11]
int HO_RM_table[24][16][2]
int HO_RM_fi_eta1to4_sipm[24][4][2]
int HO_htr_fi_450eta5to15[2][11]
int HO_htr_fi_eta123[2][6]
unsigned int detId2denseIdHO(const DetId &id) const
return a linear packed id from HO
std::string rmspecialdet[6][6]
unsigned int detId2denseIdCALIB(const DetId &id) const
return a linear packed id from CALIB
int HO_htr_fi_450eta16P[4][6]
std::string letterHO[NRMFIBR][NFCH][2]