diff --git a/DPGAnalysis/HcalTools/README b/DPGAnalysis/HcalTools/README new file mode 100644 index 0000000000000..6d14f8c074e39 --- /dev/null +++ b/DPGAnalysis/HcalTools/README @@ -0,0 +1,3 @@ +use +setenv SCRAM_ARCH slc7_amd64_gcc900 + diff --git a/DPGAnalysis/HcalTools/macros/cmt/RemoteMonitoringGLOBAL.cc b/DPGAnalysis/HcalTools/macros/cmt/RemoteMonitoringGLOBAL.cc index eaefeaef6555c..c618f95d815d0 100644 --- a/DPGAnalysis/HcalTools/macros/cmt/RemoteMonitoringGLOBAL.cc +++ b/DPGAnalysis/HcalTools/macros/cmt/RemoteMonitoringGLOBAL.cc @@ -1,7 +1,9 @@ // How to run: //root -b -q -l RemoteMonitoringGLOBAL.C+ //root -b -q -l 'RemoteMonitoringGLOBAL.C+("/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/CMTweb/histos/Global_190707.root")' - +// +// +// #include "LogEleMapdb.h" #include @@ -692,13 +694,18 @@ int main(int argc, char *argv[]) { gPad->SetGridy(); gPad->SetGridx(); gPad->SetLogz(); + // + // gPad->DrawFrame(0.0, 0.0001, 1.0, 1000); + // gPad->DrawFrame(0.2, 0.0002, 0.8, 10000); MapNumBadChanDepth[test][sub][k]->SetXTitle("#eta \b"); MapNumBadChanDepth[test][sub][k]->SetYTitle("#phi \b"); MapNumBadChanDepth[test][sub][k]->SetZTitle("Average estimator \b"); - MapNumBadChanDepth[test][sub][k]->SetTitleOffset(0.75, "Z"); + //// // MapNumBadChanDepth[test]->GetZaxis()->SetLabelSize(0.008); // can not be used which is of non-class type TH2F + // MapNumBadChanDepth[test][sub][k]->SetTitleOffset(0.75, "Z"); MapNumBadChanDepth[test][sub][k]->Draw("COLZ"); + // MapNumBadChanDepth[test][sub][k]->Draw("same"); MapNumBadChanDepth[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.); - // MapNumBadChanDepth[test][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + MapNumBadChanDepth[test][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); } if (test == 0) { if (sub == 1) { @@ -3095,6 +3102,7 @@ int main(int argc, char *argv[]) { gPad->SetGridy(); gPad->SetGridx(); gPad->SetLogz(); + h2Ceff->SetTitleOffset(0.75, "Z"); h2Ceff->SetMarkerStyle(20); h2Ceff->SetMarkerSize(0.4); //h2Ceff->GetZaxis()->SetLabelSize(0.08); @@ -6931,7 +6939,7 @@ HF: j = 0,1,2, 3 18,19,20,21 htmlFile << "\n"; if (test != 0) htmlFile << "

1. Distribution of estimator averaged over events in LS, histogramed over all channels and " - "all LSs

" + "all LSs (only few depthes shown as example) " << std::endl; if (test == 0) { if (sub == 1) @@ -7037,7 +7045,7 @@ HF: j = 0,1,2, 3 18,19,20,21 htmlFile << "\n"; if (test != 0) htmlFile << "

2. Estimator averaged over all events in the RUN for entries in overflow and underflow of " - "corresponding histogram above

" + "corresponding histogram above (only few depthes shown as example) " << std::endl; // if (test !=0) htmlFile << "

2. Estimator averaged over all events in the RUN

"<< std::endl; if (test == 0) @@ -7251,7 +7259,8 @@ HF: j = 0,1,2, 3 18,19,20,21 htmlFile << "\n"; - htmlFile << "

5. Error type A cross check: see 2D pattern of channels

\n"; + htmlFile << "

5. Error type A cross check: see 2D pattern of channels (only 2 depthes shown as example) " + "

\n"; htmlFile << "

1) with average channel Amplitudes(No cut), 2) with average channel Amplitudes( >25), " "3) with channel Amplitude (A<35);

\n"; htmlFile << "

\n"; @@ -7271,8 +7280,8 @@ HF: j = 0,1,2, 3 18,19,20,21 htmlFile << "
to top
\n"; htmlFile << "\n"; - htmlFile << "

7. Error type B\n"; - htmlFile << "

ErrorB identification: digi-collection size != 10.

\n"; + htmlFile << "

7. Error type B (only 2 depthes shown as example) \n"; + htmlFile << "

ErrorB identification: digi-collection size != 8.

\n"; htmlFile << " \n
\n"; htmlFile << " \n
\n"; htmlFile << "
\n"; @@ -7299,7 +7308,8 @@ HF: j = 0,1,2, 3 18,19,20,21 htmlFile << "\n"; - htmlFile << "

5. Error type A cross check: see 2D pattern of channels

\n"; + htmlFile << "

5. Error type A cross check: see 2D pattern of channels (only 3 depthes shown as example) " + "

\n"; htmlFile << "

1) with average channel Amplitudes(No cut), 2) with average channel Amplitudes( " ">1000.fC), 3) with channel Amplitude (A<500fC);

\n"; htmlFile << "

\n"; @@ -7320,7 +7330,7 @@ HF: j = 0,1,2, 3 18,19,20,21 htmlFile << "
to top
\n"; htmlFile << "\n"; - htmlFile << "

7. Error type B\n"; + htmlFile << "

7. Error type B (only 3 depthes shown as example) \n"; htmlFile << "

ErrorB identification: digi-collection size != 8.

\n"; htmlFile << " \n
\n"; htmlFile << " \n
\n"; @@ -7397,7 +7407,8 @@ HF: j = 0,1,2, 3 18,19,20,21 htmlFile << "\n"; - htmlFile << "

5. Error type A cross check: see 2D pattern of channels

\n"; + htmlFile << "

5. Error type A cross check: see 2D pattern of channels (only 2 depthes shown as example) " + "

\n"; htmlFile << "

1) with average channel Amplitudes(No cut), 2) with average channel Amplitudes( >20), " "3) with channel Amplitude (A<20);

\n"; // htmlFile << "

2D. Cross check for error A

\n"; @@ -7418,7 +7429,7 @@ HF: j = 0,1,2, 3 18,19,20,21 htmlFile << "
to top
\n"; htmlFile << "\n"; - htmlFile << "

7. Error type B\n"; + htmlFile << "

7. Error type B (only 2 depthes shown as example) \n"; htmlFile << "

ErrorB identification: digi-collection size != 4.

\n"; htmlFile << " \n
\n"; htmlFile << " \n
\n"; @@ -8179,11 +8190,11 @@ HF: j = 0,1,2, 3 18,19,20,21 // if ( (sub==4 || sub==2) && test==1) kkkkkkmax = k_maxupgrade[sub]; for (int k = k_min[sub]; k <= kkkkkkmax; k++) { // line below is temporary, just to avoid contribution of HEP(M)17 in depthes 4,5,6,7 but keep in depthes 1,2,3 - if (sub == 2 && k > 3) { - } else { - if (HistNumBadChanDepth[test][sub][k]->GetBinContent(i) > Cut0[test][sub][k]) - met = 1; - } + // if (sub == 2 && k > 3) { + // } else { + if (HistNumBadChanDepth[test][sub][k]->GetBinContent(i) > Cut0[test][sub][k]) + met = 1; + // } } //depth } //sub // if exceed then plot the line for all sub-detectors diff --git a/DPGAnalysis/HcalTools/macros/cmt/RemoteMonitoringMAP_Global.cc b/DPGAnalysis/HcalTools/macros/cmt/RemoteMonitoringMAP_Global.cc index acf9d6abd7b42..d5e2a8a36c7be 100644 --- a/DPGAnalysis/HcalTools/macros/cmt/RemoteMonitoringMAP_Global.cc +++ b/DPGAnalysis/HcalTools/macros/cmt/RemoteMonitoringMAP_Global.cc @@ -2,7 +2,9 @@ //root -b -q -l RemoteMonitoringMAP.C+ //root -b -q -l 'RemoteMonitoringMAP.C+("/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214513.root","/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214512.root")' //root -b -q -l 'RemoteMonitoringMAP.C+(" /afs/cern.ch/work/d/dtlisov/private/Monitoring/histos/LED_211659.root","/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214512.root")' - +// +// HistBadTSshapesHF.pn 0. Entries for each channel. MapRateEntryHF.png +// #include "LogEleMapdb.h" #include @@ -62,7 +64,7 @@ int main(int argc, char *argv[]) { TFile *hfile = new TFile(fname, "READ"); TFile *hreffile = new TFile(refname, "READ"); //megatile channels - //CUTS: [test][subdetector] ADC amplitude Am Width for Wm Ratio cut for Rm TS mean for TNm TS max for TXm + //CUTS: [test][subdetector] CapID(Test=1; ADC amplitude Am(Test= 2); Width for Wm(Test=3); Ratio cut for Rm(Test=4); TS mean for TNm(test=5); TS max for TXm(Test=6); double MIN_M[7][5] = {{0., 0., 0., 0., 0.}, {0., 0., 0., 0., 0.}, {0, 0., 0., 0., 0.}, @@ -127,7 +129,8 @@ int main(int argc, char *argv[]) { // Int_t ALLDEPTH = 5; // Int_t ALLDEPTH = 8; Int_t ALLDEPTH = 10; - + //massive_indx=1 2 3 4 5 + // 0, HB,HE,HO,HF int k_min[5] = {0, 1, 1, 4, 1}; // minimum depth for each subdet //int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet @@ -135,9 +138,11 @@ int main(int argc, char *argv[]) { int k_max[5] = {0, 4, 7, 4, 4}; // maximum depth for each subdet TH2F *Map_Ampl[33][5][ALLDEPTH]; // 2D histogramm for test,subdet,depth + TH2F *Map_SUBGOOD[5][ALLDEPTH]; // 2d histogramm for subdet, depth TH2F *Map_SUB[5][ALLDEPTH]; // 2d histogramm for subdet, depth TH1F *HistAmplDepth[22][5][ALLDEPTH]; // 1d histogramm for test,subdet, depth TH1F *HistAmpl[22][5]; // 1d histogramm for test,subdet + TH2F *Map_SUBTS[5][ALLDEPTH]; // 2d histogramm for subdet, depth in different TSs TH1F *HistPed[3][5][4]; // 1d histogramm for test,subdet, CapID TH2F *Map_Ped[3][5]; // 2d histogramm for test,subdet -> test 33 @@ -153,22 +158,38 @@ int main(int argc, char *argv[]) { Map_SUB[1][1] = (TH2F *)hfile->Get("h_mapDepth1_HB"); Map_SUB[1][2] = (TH2F *)hfile->Get("h_mapDepth2_HB"); + Map_SUB[1][3] = (TH2F *)hfile->Get("h_mapDepth3_HB"); + Map_SUB[1][4] = (TH2F *)hfile->Get("h_mapDepth4_HB"); Map_SUB[2][1] = (TH2F *)hfile->Get("h_mapDepth1_HE"); Map_SUB[2][2] = (TH2F *)hfile->Get("h_mapDepth2_HE"); Map_SUB[2][3] = (TH2F *)hfile->Get("h_mapDepth3_HE"); - Map_SUB[3][4] = (TH2F *)hfile->Get("h_mapDepth4_HO"); - Map_SUB[4][1] = (TH2F *)hfile->Get("h_mapDepth1_HF"); - Map_SUB[4][2] = (TH2F *)hfile->Get("h_mapDepth2_HF"); - Map_SUB[2][4] = (TH2F *)hfile->Get("h_mapDepth4_HE"); Map_SUB[2][5] = (TH2F *)hfile->Get("h_mapDepth5_HE"); Map_SUB[2][6] = (TH2F *)hfile->Get("h_mapDepth6_HE"); Map_SUB[2][7] = (TH2F *)hfile->Get("h_mapDepth7_HE"); + Map_SUB[3][4] = (TH2F *)hfile->Get("h_mapDepth4_HO"); + Map_SUB[4][1] = (TH2F *)hfile->Get("h_mapDepth1_HF"); + Map_SUB[4][2] = (TH2F *)hfile->Get("h_mapDepth2_HF"); Map_SUB[4][3] = (TH2F *)hfile->Get("h_mapDepth3_HF"); Map_SUB[4][4] = (TH2F *)hfile->Get("h_mapDepth4_HF"); - Map_SUB[1][3] = (TH2F *)hfile->Get("h_mapDepth3_HB"); - Map_SUB[1][4] = (TH2F *)hfile->Get("h_mapDepth4_HB"); + Map_SUBGOOD[1][1] = (TH2F *)hfile->Get("h_mapDepth1_HB"); + Map_SUBGOOD[1][2] = (TH2F *)hfile->Get("h_mapDepth2_HB"); + Map_SUBGOOD[1][3] = (TH2F *)hfile->Get("h_mapDepth3_HB"); + Map_SUBGOOD[1][4] = (TH2F *)hfile->Get("h_mapDepth4_HB"); + Map_SUBGOOD[2][1] = (TH2F *)hfile->Get("h_mapDepth1_HE"); + Map_SUBGOOD[2][2] = (TH2F *)hfile->Get("h_mapDepth2_HE"); + Map_SUBGOOD[2][3] = (TH2F *)hfile->Get("h_mapDepth3_HE"); + Map_SUBGOOD[2][4] = (TH2F *)hfile->Get("h_mapDepth4_HE"); + Map_SUBGOOD[2][5] = (TH2F *)hfile->Get("h_mapDepth5_HE"); + Map_SUBGOOD[2][6] = (TH2F *)hfile->Get("h_mapDepth6_HE"); + Map_SUBGOOD[2][7] = (TH2F *)hfile->Get("h_mapDepth7_HE"); + Map_SUBGOOD[3][4] = (TH2F *)hfile->Get("h_mapDepth4_HO"); + Map_SUBGOOD[4][1] = (TH2F *)hfile->Get("h_mapDepth1_HF"); + Map_SUBGOOD[4][2] = (TH2F *)hfile->Get("h_mapDepth2_HF"); + Map_SUBGOOD[4][3] = (TH2F *)hfile->Get("h_mapDepth3_HF"); + Map_SUBGOOD[4][4] = (TH2F *)hfile->Get("h_mapDepth4_HF"); + //+++++++++++++++++++++++++++++ //Test 0 Entries //+++++++++++++++++++++++++++++ @@ -815,981 +836,29 @@ int main(int argc, char *argv[]) { } if (sub == 4) { cONE->Print("HistMeanPosHF.png"); - cONE->Clear(); - } - } - if (test == 6) { - if (sub == 1) { - cONE->Print("HistMaxPosHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("HistMaxPosHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("HistMaxPosHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("HistMaxPosHF.png"); - cONE->Clear(); - } - } - } // end sub - } //end test - - TH2F *Map_Calib[5][5]; // 2d histogramm for subdet, depth - - Map_Calib[1][1] = (TH2F *)hfile->Get("h_map_HB"); - Map_Calib[1][2] = (TH2F *)hfile->Get("h_map_HB"); - Map_Calib[2][1] = (TH2F *)hfile->Get("h_map_HE"); - Map_Calib[2][2] = (TH2F *)hfile->Get("h_map_HE"); - Map_Calib[2][3] = (TH2F *)hfile->Get("h_map_HE"); - Map_Calib[3][4] = (TH2F *)hfile->Get("h_map_HO"); - Map_Calib[4][1] = (TH2F *)hfile->Get("h_map_HF"); - Map_Calib[4][2] = (TH2F *)hfile->Get("h_map_HF"); - - //+++++++++++++++++++++++++++++ - //Test 0 Entries - //+++++++++++++++++++++++++++++ - - for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO - // if (sub==1) cHB->Divide(2,1); - // if (sub==2) cHE->Divide(3,1); - cONE->Divide(1, 1); - // if (sub==4) cHB->Divide(2,1); - // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth - int k = 1; - cONE->cd(k); - // if (sub==1) cHB->cd(k); - // if (sub==2) cHE->cd(k); - if (sub == 3) - k = 4; - // if (sub==4) cHB->cd(k); - gPad->SetGridy(); - gPad->SetGridx(); - gPad->SetLogz(); - if (sub == 1) - sprintf(str, "HB"); - if (sub == 2) - sprintf(str, "HE"); - if (sub == 3) - sprintf(str, "HO"); - if (sub == 4) - sprintf(str, "HF"); - Map_Calib[sub][k]->SetTitle(str); - Map_Calib[sub][k]->SetXTitle("#eta \b"); - Map_Calib[sub][k]->SetYTitle("#phi \b"); - Map_Calib[sub][k]->SetZTitle("Number of events\b"); - if (sub == 3) - Map_Calib[sub][k]->SetTitleOffset(0.8, "Z"); - Map_Calib[sub][k]->Draw("COLZ"); - Map_Calib[sub][k]->GetYaxis()->SetRangeUser(0, 72.); - // Map_Calib[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); - // if (sub==1) {cHB->Modified(); cHB->Update();} - // if (sub==2) {cHE->Modified(); cHE->Update();} - cONE->Modified(); - cONE->Update(); - // if (sub==4) {cHB->Modified(); cHB->Update();} - // }//end depth - - if (sub == 1) { - cONE->Print("MapRateCalibEntryHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("MapRateCalibEntryHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("MapRateCalibEntryHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("MapRateCalibEntryHF.png"); - cONE->Clear(); - } - } // end sub - - //+++++++++++++++++++++++++++++ - //Test 11 (Cc) Rate of Cap ID errors for calibration channels - //+++++++++++++++++++++++++++++ - - Map_Ampl[11][1][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HB"); - Map_Ampl[11][1][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HB"); - Map_Ampl[11][2][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); - Map_Ampl[11][2][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); - Map_Ampl[11][2][3] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); - Map_Ampl[11][3][4] = (TH2F *)hfile->Get("h_mapCapCalib047_HO"); - Map_Ampl[11][4][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HF"); - Map_Ampl[11][4][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HF"); - - for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO - // if (sub==1) cHB->Divide(2,1); - // if (sub==2) cHE->Divide(3,1); - cONE->Divide(1, 1); - // if (sub==4) cHB->Divide(2,1); - // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth - int k = 1; - cONE->cd(k); - // if (sub==1) cHB->cd(k); - // if (sub==2) cHE->cd(k); - if (sub == 3) - k = 4; - // if (sub==4) cHB->cd(k); - Map_Ampl[11][sub][k]->Divide(Map_Ampl[11][sub][k], Map_Calib[sub][k], 1, 1, "B"); - gPad->SetGridy(); - gPad->SetGridx(); - gPad->SetLogz(); - if (sub == 1) - sprintf(str, "HB"); - if (sub == 2) - sprintf(str, "HE"); - if (sub == 3) - sprintf(str, "HO"); - if (sub == 4) - sprintf(str, "HF"); - Map_Ampl[11][sub][k]->SetTitle(str); - Map_Ampl[11][sub][k]->SetXTitle("#eta \b"); - Map_Ampl[11][sub][k]->SetYTitle("#phi \b"); - Map_Ampl[11][sub][k]->SetZTitle("Rate \b"); - Map_Ampl[11][sub][k]->SetTitleOffset(0.75, "Z"); - Map_Ampl[11][sub][k]->Draw("COLZ"); - Map_Ampl[11][sub][k]->GetYaxis()->SetRangeUser(0, 72.); - Map_Ampl[11][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); - // if (sub==1) {cHB->Modified(); cHB->Update();} - // if (sub==2) {cHE->Modified(); cHE->Update();} - cONE->Modified(); - cONE->Update(); - // if (sub==4) {cHB->Modified(); cHB->Update();} - // }//end depth - - if (sub == 1) { - cONE->Print("MapRateCapCalibHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("MapRateCapCalibHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("MapRateCapCalibHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("MapRateCapCalibHF.png"); - cONE->Clear(); - } - } // end sub - - //+++++++++++++++++++++++++++++ - //Test 12 (Ac) ADC amplitude for calibration chanels - //+++++++++++++++++++++++++++++ - - Map_Ampl[12][1][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HB"); - Map_Ampl[12][1][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HB"); - Map_Ampl[12][2][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); - Map_Ampl[12][2][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); - Map_Ampl[12][2][3] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); - Map_Ampl[12][3][4] = (TH2F *)hfile->Get("h_mapADCCalib047_HO"); - Map_Ampl[12][4][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HF"); - Map_Ampl[12][4][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HF"); - - HistAmpl[12][1] = (TH1F *)hfile->Get("h_ADCCalib_HB"); - HistAmpl[12][2] = (TH1F *)hfile->Get("h_ADCCalib_HE"); - HistAmpl[12][3] = (TH1F *)hfile->Get("h_ADCCalib_HO"); - HistAmpl[12][4] = (TH1F *)hfile->Get("h_ADCCalib_HF"); - - //+++++++++++++++++++++++++++++ - //Test 13 (Wc) Rate of RMS - //+++++++++++++++++++++++++++++ - - Map_Ampl[13][1][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HB"); - Map_Ampl[13][1][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HB"); - Map_Ampl[13][2][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); - Map_Ampl[13][2][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); - Map_Ampl[13][2][3] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); - Map_Ampl[13][3][4] = (TH2F *)hfile->Get("h_mapWidthCalib047_HO"); - Map_Ampl[13][4][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HF"); - Map_Ampl[13][4][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HF"); - - HistAmpl[13][1] = (TH1F *)hfile->Get("h_WidthCalib_HB"); - HistAmpl[13][2] = (TH1F *)hfile->Get("h_WidthCalib_HE"); - HistAmpl[13][3] = (TH1F *)hfile->Get("h_WidthCalib_HO"); - HistAmpl[13][4] = (TH1F *)hfile->Get("h_WidthCalib_HF"); - - //+++++++++++++++++++++++++++++ - //Test 14 (Rc) Rate of ratio 4 near max TS/ All TS - //+++++++++++++++++++++++++++++ - - Map_Ampl[14][1][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HB"); - Map_Ampl[14][1][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HB"); - Map_Ampl[14][2][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); - Map_Ampl[14][2][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); - Map_Ampl[14][2][3] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); - Map_Ampl[14][3][4] = (TH2F *)hfile->Get("h_mapRatioCalib047_HO"); - Map_Ampl[14][4][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HF"); - Map_Ampl[14][4][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HF"); - - HistAmpl[14][1] = (TH1F *)hfile->Get("h_RatioCalib_HB"); - HistAmpl[14][2] = (TH1F *)hfile->Get("h_RatioCalib_HE"); - HistAmpl[14][3] = (TH1F *)hfile->Get("h_RatioCalib_HO"); - HistAmpl[14][4] = (TH1F *)hfile->Get("h_RatioCalib_HF"); - - //+++++++++++++++++++++++++++++ - //Test 15 (TNc) Mean position in 1-8 TS range - //+++++++++++++++++++++++++++++ - - Map_Ampl[15][1][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HB"); - Map_Ampl[15][1][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HB"); - Map_Ampl[15][2][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); - Map_Ampl[15][2][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); - Map_Ampl[15][2][3] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); - Map_Ampl[15][3][4] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HO"); - Map_Ampl[15][4][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HF"); - Map_Ampl[15][4][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HF"); - - HistAmpl[15][1] = (TH1F *)hfile->Get("h_TSmeanCalib_HB"); - HistAmpl[15][2] = (TH1F *)hfile->Get("h_TSmeanCalib_HE"); - HistAmpl[15][3] = (TH1F *)hfile->Get("h_TSmeanCalib_HO"); - HistAmpl[15][4] = (TH1F *)hfile->Get("h_TSmeanCalib_HF"); - - //+++++++++++++++++++++++++++++ - //Test 16 (TXc) Maximum position in 1-8 TS range - //+++++++++++++++++++++++++++++ - - Map_Ampl[16][1][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HB"); - Map_Ampl[16][1][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HB"); - Map_Ampl[16][2][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); - Map_Ampl[16][2][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); - Map_Ampl[16][2][3] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); - Map_Ampl[16][3][4] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HO"); - Map_Ampl[16][4][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HF"); - Map_Ampl[16][4][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HF"); - - HistAmpl[16][1] = (TH1F *)hfile->Get("h_TSmaxCalib_HB"); - HistAmpl[16][2] = (TH1F *)hfile->Get("h_TSmaxCalib_HE"); - HistAmpl[16][3] = (TH1F *)hfile->Get("h_TSmaxCalib_HO"); - HistAmpl[16][4] = (TH1F *)hfile->Get("h_TSmaxCalib_HF"); - - for (int test = 12; test <= 16; test++) { //Test: 2-Am, 3-Wm, 4-Rm, 5-TNm, 6-TXm, - for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO - if (sub == 1) - cONE->Divide(1, 1); //cHB->Divide(2,1); - if (sub == 2) - cONE->Divide(1, 1); //cHE->Divide(3,1); - if (sub == 3) - cONE->Divide(1, 1); - if (sub == 4) - cONE->Divide(1, 1); //cHB->Divide(2,1); - // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth - int k = 1; - if (sub == 1) { - k = 1; - cONE->cd(k); - } //cHB->cd(k); } - if (sub == 2) { - k = 1; - cONE->cd(k); - } //cHE->cd(k); } - if (sub == 3) { - k = 4; - cONE->cd(k - 3); - } - if (sub == 4) { - k = 1; - cONE->cd(k); - } //cHB->cd(k); } - Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_Calib[sub][k], 1, 1, "B"); - gPad->SetGridy(); - gPad->SetGridx(); - gPad->SetLogz(); - if (sub == 1) - sprintf(str, "HB"); - if (sub == 2) - sprintf(str, "HE"); - if (sub == 3) - sprintf(str, "HO"); - if (sub == 4) - sprintf(str, "HF"); - Map_Ampl[test][sub][k]->SetTitle(str); - Map_Ampl[test][sub][k]->SetXTitle("#eta \b"); - Map_Ampl[test][sub][k]->SetYTitle("#phi \b"); - Map_Ampl[test][sub][k]->SetZTitle("Rate \b"); - Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z"); - Map_Ampl[test][sub][k]->Draw("COLZ"); - Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.); - Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.00001, 1.); - // if (sub==1) {cHB->Modified(); cHB->Update();} - // if (sub==2) {cHE->Modified(); cHE->Update();} - cONE->Modified(); - cONE->Update(); - // if (sub==4) {cHB->Modified(); cHB->Update();} - // }//end depth - if (test == 12) { - if (sub == 1) { - cONE->Print("MapRateAmplCalibHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("MapRateAmplCalibHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("MapRateAmplCalibHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("MapRateAmplCalibHF.png"); - cONE->Clear(); - } - } - if (test == 13) { - if (sub == 1) { - cONE->Print("MapRateRMSCalibHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("MapRateRMSCalibHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("MapRateRMSCalibHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("MapRateRMSCalibHF.png"); - cONE->Clear(); - } - } - if (test == 14) { - if (sub == 1) { - cONE->Print("MapRate43TStoAllTSCalibHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("MapRate43TStoAllTSCalibHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("MapRate43TStoAllTSCalibHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("MapRate43TStoAllTSCalibHF.png"); - cONE->Clear(); - } - } - if (test == 15) { - if (sub == 1) { - cONE->Print("MapRateMeanPosCalibHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("MapRateMeanPosCalibHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("MapRateMeanPosCalibHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("MapRateMeanPosCalibHF.png"); - cONE->Clear(); - } - } - if (test == 16) { - if (sub == 1) { - cONE->Print("MapRateMaxPosCalibHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("MapRateMaxPosCalibHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("MapRateMaxPosCalibHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("MapRateMaxPosCalibHF.png"); - cONE->Clear(); - } - } - - cONE->Divide(1, 1); - cONE->cd(1); - gPad->SetGridy(); - gPad->SetGridx(); - gPad->SetLogy(); - if (sub == 1) - HistAmpl[test][sub]->SetTitle("HB, All Depth"); - if (sub == 2) - HistAmpl[test][sub]->SetTitle("HE, All Depth"); - if (sub == 3) - HistAmpl[test][sub]->SetTitle("HO, All Depth"); - if (sub == 4) - HistAmpl[test][sub]->SetTitle("HF, All Depth"); - if (test == 12) - HistAmpl[test][sub]->SetXTitle("ADC Amlitude in each event & cell \b"); - if (test == 13) - HistAmpl[test][sub]->SetXTitle("Amplitude RMS in each event & cell \b"); - if (test == 14) - HistAmpl[test][sub]->SetXTitle("Ratio in each event & cell \b"); - if (test == 15) - HistAmpl[test][sub]->SetXTitle("Mean TS position in each event & cell \b"); - if (test == 16) - HistAmpl[test][sub]->SetXTitle("Max TS position in each event & cell \b"); - HistAmpl[test][sub]->SetYTitle("Number of cell-events \b"); - HistAmpl[test][sub]->SetLineColor(4); - HistAmpl[test][sub]->SetLineWidth(2); - HistAmpl[test][sub]->SetTitleOffset(1.4, "Y"); - HistAmpl[test][sub]->Draw(""); - // HistAmpl[test][sub]->GetYaxis()->SetRangeUser(1., 100.); - if (test == 12) { - gPad->SetLogx(); - HistAmpl[test][sub]->GetXaxis()->SetRangeUser(1., 10000.); - } - if (test == 13) - HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 5.); - if (test == 14) - HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 1.); - if (test == 15) - HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); - if (test == 16) - HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); - cONE->Modified(); - cONE->Update(); - double min_x[] = {MIN_C[test - 10][sub], MIN_C[test - 10][sub]}; - double min_y[] = {0., 100000000.}; - TGraph *MIN = new TGraph(2, min_x, min_y); - MIN->SetLineStyle(2); - MIN->SetLineColor(2); - MIN->SetLineWidth(2 + 100 * 100); - MIN->SetFillStyle(3005); - MIN->SetFillColor(2); - MIN->Draw("L"); - double max_x[] = {MAX_C[test - 10][sub], MAX_C[test - 10][sub]}; - double max_y[] = {0., 100000000.}; - TGraph *MAX = new TGraph(2, max_x, max_y); - MAX->SetLineStyle(2); - MAX->SetLineColor(2); - MAX->SetLineWidth(-2 - 100 * 100); - MAX->SetFillStyle(3004); - MAX->SetFillColor(2); - MAX->Draw("L"); - if (test == 12) { - if (sub == 1) { - cONE->Print("HistAmplCalibHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("HistAmplCalibHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("HistAmplCalibHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("HistAmplCalibHF.png"); - cONE->Clear(); - } - } - if (test == 13) { - if (sub == 1) { - cONE->Print("HistRMSCalibHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("HistRMSCalibHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("HistRMSCalibHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("HistRMSCalibHF.png"); - cONE->Clear(); - } - } - if (test == 14) { - if (sub == 1) { - cONE->Print("Hist43TStoAllTSCalibHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("Hist43TStoAllTSCalibHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("Hist43TStoAllTSCalibHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("Hist43TStoAllTSCalibHF.png"); - cONE->Clear(); - } - } - if (test == 15) { - if (sub == 1) { - cONE->Print("HistMeanPosCalibHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("HistMeanPosCalibHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("HistMeanPosCalibHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("HistMeanPosCalibHF.png"); - cONE->Clear(); - } - } - if (test == 16) { - if (sub == 1) { - cONE->Print("HistMaxPosCalibHB.png"); - cONE->Clear(); - } - if (sub == 2) { - cONE->Print("HistMaxPosCalibHE.png"); - cONE->Clear(); - } - if (sub == 3) { - cONE->Print("HistMaxPosCalibHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cONE->Print("HistMaxPosCalibHF.png"); - cONE->Clear(); - } - } - } // end sub - } //end test - - //+++++++++++++++++++++++++++++ - //Test 21 (GS) Amplitude drift - //+++++++++++++++++++++++++++++ - - Map_Ampl[21][1][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HB"); - Map_Ampl[21][1][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HB"); - Map_Ampl[21][1][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HB"); - Map_Ampl[21][1][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HB"); - Map_Ampl[21][2][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HE"); - Map_Ampl[21][2][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HE"); - Map_Ampl[21][2][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HE"); - Map_Ampl[21][2][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HE"); - Map_Ampl[21][2][5] = (TH2F *)hfile->Get("h_mapDepth5AmplE34_HE"); - Map_Ampl[21][2][6] = (TH2F *)hfile->Get("h_mapDepth6AmplE34_HE"); - Map_Ampl[21][2][7] = (TH2F *)hfile->Get("h_mapDepth7AmplE34_HE"); - Map_Ampl[21][3][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HO"); - Map_Ampl[21][4][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HF"); - Map_Ampl[21][4][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HF"); - Map_Ampl[21][4][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HF"); - Map_Ampl[21][4][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HF"); - - TH2F *Map_RefAmpl[5][ALLDEPTH]; // 2D histogramm for subdet, depth - TH2F *Map_RefSUB[5][ALLDEPTH]; // 2d histogramm for subdet, depth - - Map_RefAmpl[1][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HB"); - Map_RefAmpl[1][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HB"); - Map_RefAmpl[1][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HB"); - Map_RefAmpl[1][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HB"); - Map_RefAmpl[2][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HE"); - Map_RefAmpl[2][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HE"); - Map_RefAmpl[2][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HE"); - Map_RefAmpl[2][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HE"); - Map_RefAmpl[2][5] = (TH2F *)hreffile->Get("h_mapDepth5AmplE34_HE"); - Map_RefAmpl[2][6] = (TH2F *)hreffile->Get("h_mapDepth6AmplE34_HE"); - Map_RefAmpl[2][7] = (TH2F *)hreffile->Get("h_mapDepth7AmplE34_HE"); - Map_RefAmpl[3][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HO"); - Map_RefAmpl[4][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HF"); - Map_RefAmpl[4][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HF"); - Map_RefAmpl[4][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HF"); - Map_RefAmpl[4][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HF"); - - Map_RefSUB[1][1] = (TH2F *)hreffile->Get("h_mapDepth1_HB"); - Map_RefSUB[1][2] = (TH2F *)hreffile->Get("h_mapDepth2_HB"); - Map_RefSUB[1][3] = (TH2F *)hreffile->Get("h_mapDepth3_HB"); - Map_RefSUB[1][4] = (TH2F *)hreffile->Get("h_mapDepth4_HB"); - Map_RefSUB[2][1] = (TH2F *)hreffile->Get("h_mapDepth1_HE"); - Map_RefSUB[2][2] = (TH2F *)hreffile->Get("h_mapDepth2_HE"); - Map_RefSUB[2][3] = (TH2F *)hreffile->Get("h_mapDepth3_HE"); - Map_RefSUB[2][4] = (TH2F *)hreffile->Get("h_mapDepth4_HE"); - Map_RefSUB[2][5] = (TH2F *)hreffile->Get("h_mapDepth5_HE"); - Map_RefSUB[2][6] = (TH2F *)hreffile->Get("h_mapDepth6_HE"); - Map_RefSUB[2][7] = (TH2F *)hreffile->Get("h_mapDepth7_HE"); - Map_RefSUB[3][4] = (TH2F *)hreffile->Get("h_mapDepth4_HO"); - Map_RefSUB[4][1] = (TH2F *)hreffile->Get("h_mapDepth1_HF"); - Map_RefSUB[4][2] = (TH2F *)hreffile->Get("h_mapDepth2_HF"); - Map_RefSUB[4][3] = (TH2F *)hreffile->Get("h_mapDepth3_HF"); - Map_RefSUB[4][4] = (TH2F *)hreffile->Get("h_mapDepth4_HF"); - - HistAmplDepth[21][1][1] = new TH1F("diffAmpl_Depth1_HB", "", 100, -10., 10.); - HistAmplDepth[21][1][2] = new TH1F("diffAmpl_Depth2_HB", "", 100, -10., 10.); - HistAmplDepth[21][1][3] = new TH1F("diffAmpl_Depth3_HB", "", 100, -10., 10.); - HistAmplDepth[21][1][4] = new TH1F("diffAmpl_Depth4_HB", "", 100, -10., 10.); - HistAmplDepth[21][2][1] = new TH1F("diffAmpl_Depth1_HE", "", 100, -10., 10.); - HistAmplDepth[21][2][2] = new TH1F("diffAmpl_Depth2_HE", "", 100, -10., 10.); - HistAmplDepth[21][2][3] = new TH1F("diffAmpl_Depth3_HE", "", 100, -10., 10.); - HistAmplDepth[21][2][4] = new TH1F("diffAmpl_Depth4_HE", "", 100, -10., 10.); - HistAmplDepth[21][2][5] = new TH1F("diffAmpl_Depth5_HE", "", 100, -10., 10.); - HistAmplDepth[21][2][6] = new TH1F("diffAmpl_Depth6_HE", "", 100, -10., 10.); - HistAmplDepth[21][2][7] = new TH1F("diffAmpl_Depth7_HE", "", 100, -10., 10.); - HistAmplDepth[21][3][4] = new TH1F("diffAmpl_Depth4_HO", "", 100, -10., 10.); - HistAmplDepth[21][4][1] = new TH1F("diffAmpl_Depth1_HF", "", 100, -10., 10.); - HistAmplDepth[21][4][2] = new TH1F("diffAmpl_Depth2_HF", "", 100, -10., 10.); - HistAmplDepth[21][4][3] = new TH1F("diffAmpl_Depth3_HF", "", 100, -10., 10.); - HistAmplDepth[21][4][4] = new TH1F("diffAmpl_Depth4_HF", "", 100, -10., 10.); - - for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO - // if (sub==1) cHB->Divide(2,1); - if (sub == 1) - cHB->Divide(2, 2); - // if (sub==2) cHE->Divide(3,1); - if (sub == 2) - cHE->Divide(3, 3); - if (sub == 3) - cONE->Divide(1, 1); - // if (sub==4) cHF->Divide(2,1); - if (sub == 4) - cHF->Divide(2, 2); - // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet - for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth - if (sub == 1) - cHB->cd(k); - if (sub == 2) - cHE->cd(k); - if (sub == 3) - cONE->cd(k - 3); - if (sub == 4) - cHF->cd(k); - Map_Ampl[21][sub][k]->Divide(Map_Ampl[21][sub][k], Map_SUB[sub][k], 1, 1, "B"); - gPad->SetGridy(); - gPad->SetGridx(); - gPad->SetLogz(); - if (sub == 1) - sprintf(str, "HB, Depth%d \b", k); - if (sub == 2) - sprintf(str, "HE, Depth%d \b", k); - if (sub == 3) - sprintf(str, "HO, Depth%d \b", k); - if (sub == 4) - sprintf(str, "HF, Depth%d \b", k); - Map_Ampl[21][sub][k]->SetTitle(str); - Map_Ampl[21][sub][k]->SetXTitle("#eta \b"); - Map_Ampl[21][sub][k]->SetYTitle("#phi \b"); - Map_Ampl[21][sub][k]->SetZTitle("Response \b"); - Map_Ampl[21][sub][k]->SetTitleOffset(1.1, "Z"); - Map_Ampl[21][sub][k]->Draw("COLZ"); - Map_Ampl[21][sub][k]->GetYaxis()->SetRangeUser(0, 71.); - // Map_Ampl[21][sub][k]->GetZaxis()->SetRangeUser(1., 10.); - if (sub == 1) { - cHB->Modified(); - cHB->Update(); - } - if (sub == 2) { - cHE->Modified(); - cHE->Update(); - } - if (sub == 3) { - cONE->Modified(); - cONE->Update(); - } - if (sub == 4) { - cHF->Modified(); - cHF->Update(); - } - } //end depth - if (sub == 1) { - cHB->Print("MapRateAmpl1HB.png"); - cHB->Clear(); - } - if (sub == 2) { - cHE->Print("MapRateAmpl1HE.png"); - cHE->Clear(); - } - if (sub == 3) { - cONE->Print("MapRateAmpl1HO.png"); - cONE->Clear(); - } - if (sub == 4) { - cHF->Print("MapRateAmpl1HF.png"); - cHF->Clear(); - } - - // if (sub==1) cHB->Divide(2,1); - if (sub == 1) - cHB->Divide(2, 2); - // if (sub==2) cHE->Divide(3,1); - if (sub == 2) - cHE->Divide(3, 3); - if (sub == 3) - cONE->Divide(1, 1); - // if (sub==4) cHF->Divide(2,1); - if (sub == 4) - cHF->Divide(2, 2); - - for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth - if (sub == 1) - cHB->cd(k); - if (sub == 2) - cHE->cd(k); - if (sub == 3) - cONE->cd(k - 3); - if (sub == 4) - cHF->cd(k); - Map_RefAmpl[sub][k]->Divide(Map_RefAmpl[sub][k], Map_RefSUB[sub][k], 1, 1, "B"); - gPad->SetGridy(); - gPad->SetGridx(); - gPad->SetLogz(); - if (sub == 1) - sprintf(str, "HB, Depth%d \b", k); - if (sub == 2) - sprintf(str, "HE, Depth%d \b", k); - if (sub == 3) - sprintf(str, "HO, Depth%d \b", k); - if (sub == 4) - sprintf(str, "HF, Depth%d \b", k); - Map_RefAmpl[sub][k]->SetTitle(str); - Map_RefAmpl[sub][k]->SetXTitle("#eta \b"); - Map_RefAmpl[sub][k]->SetYTitle("#phi \b"); - Map_RefAmpl[sub][k]->SetZTitle("Response\b"); - Map_RefAmpl[sub][k]->SetTitleOffset(1.1, "Z"); - Map_RefAmpl[sub][k]->Draw("COLZ"); - Map_RefAmpl[sub][k]->GetYaxis()->SetRangeUser(0, 71.); - // Map_RefAmpl[21][sub][k]->GetZaxis()->SetRangeUser(1., 10.); - if (sub == 1) { - cHB->Modified(); - cHB->Update(); - } - if (sub == 2) { - cHE->Modified(); - cHE->Update(); - } - if (sub == 3) { - cONE->Modified(); - cONE->Update(); - } - if (sub == 4) { - cHF->Modified(); - cHF->Update(); - } - } //end depth - if (sub == 1) { - cHB->Print("MapRateAmpl2HB.png"); - cHB->Clear(); - } - if (sub == 2) { - cHE->Print("MapRateAmpl2HE.png"); - cHE->Clear(); - } - if (sub == 3) { - cONE->Print("MapRateAmpl2HO.png"); - cONE->Clear(); - } - if (sub == 4) { - cHF->Print("MapRateAmpl2HF.png"); - cHF->Clear(); - } - - // if (sub==1) cHB->Divide(2,1); - if (sub == 1) - cHB->Divide(2, 2); - // if (sub==2) cHE->Divide(3,1); - if (sub == 2) - cHE->Divide(3, 3); - if (sub == 3) - cONE->Divide(1, 1); - // if (sub==4) cHF->Divide(2,1); - if (sub == 4) - cHF->Divide(2, 2); - - for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth - if (sub == 1) - cHB->cd(k); - if (sub == 2) - cHE->cd(k); - if (sub == 3) - cONE->cd(k - 3); - if (sub == 4) - cHF->cd(k); - TH2F *TTT = new TH2F("Map", "Map", 82, -41, 40, 72, 0, 71); - for (int x = 1; x <= Map_Ampl[21][sub][k]->GetXaxis()->GetNbins(); x++) { - for (int y = 1; y <= Map_Ampl[21][sub][k]->GetYaxis()->GetNbins(); y++) { - if (Map_Ampl[21][sub][k]->GetBinContent(x, y) != 0 && Map_RefAmpl[sub][k]->GetBinContent(x, y) != 0) { - double ccc1 = Map_Ampl[21][sub][k]->GetBinContent(x, y) - Map_RefAmpl[sub][k]->GetBinContent(x, y); - ccc1 = 100. * ccc1 / Map_Ampl[21][sub][k]->GetBinContent(x, y); // in % - HistAmplDepth[21][sub][k]->Fill(ccc1); - Map_Ampl[21][sub][k]->SetBinContent(x, y, fabs(ccc1)); - if (fabs(ccc1) > porog[sub]) - TTT->SetBinContent(x, y, fabs(ccc1)); - else - TTT->SetBinContent(x, y, 0); - } - } //end y - } //esnd x - gPad->SetGridy(); - gPad->SetGridx(); - // gPad->SetLogz(); - if (sub == 1) - sprintf(str, "HB, Depth%d \b", k); - if (sub == 2) - sprintf(str, "HE, Depth%d \b", k); - if (sub == 3) - sprintf(str, "HO, Depth%d \b", k); - if (sub == 4) - sprintf(str, "HF, Depth%d \b", k); - TTT->SetTitle(str); - TTT->SetXTitle("#eta \b"); - TTT->SetYTitle("#phi \b"); - TTT->SetZTitle("Relative difference, % \b"); - TTT->SetTitleOffset(0.9, "Z"); - TTT->Draw("COLZ"); - TTT->GetYaxis()->SetRangeUser(0, 71.); - TTT->GetZaxis()->SetRangeUser(0, 10.); - if (sub == 1) { - cHB->Modified(); - cHB->Update(); - } - if (sub == 2) { - cHE->Modified(); - cHE->Update(); - } - if (sub == 3) { - cONE->Modified(); - cONE->Update(); - } - if (sub == 4) { - cHF->Modified(); - cHF->Update(); - } - } //end depth - - if (sub == 1) { - cHB->Print("MapRateAmplDriftHB.png"); - cHB->Clear(); - } - if (sub == 2) { - cHE->Print("MapRateAmplDriftHE.png"); - cHE->Clear(); - } - if (sub == 3) { - cONE->Print("MapRateAmplDriftHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cHF->Print("MapRateAmplDriftHF.png"); - cHF->Clear(); - } - //////////////////////////////////////////////////////////////////////////////////// - - // if (sub==1) cHB->Divide(2,1); - if (sub == 1) - cHB->Divide(2, 2); - // if (sub==2) cHE->Divide(3,1); - if (sub == 2) - cHE->Divide(3, 3); - if (sub == 3) - cONE->Divide(1, 1); - // if (sub==4) cHF->Divide(2,1); - if (sub == 4) - cHF->Divide(2, 2); - - for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth - if (sub == 1) - cHB->cd(k); - if (sub == 2) - cHE->cd(k); - if (sub == 3) - cONE->cd(k - 3); - if (sub == 4) - cHF->cd(k); - gPad->SetGridy(); - gPad->SetGridx(); - gPad->SetLogy(); - if (sub == 1) - sprintf(str, "HB, Depth%d \b", k); - if (sub == 2) - sprintf(str, "HE, Depth%d \b", k); - if (sub == 3) - sprintf(str, "HO, Depth%d \b", k); - if (sub == 4) - sprintf(str, "HF, Depth%d \b", k); - HistAmplDepth[21][sub][k]->SetTitle(str); - HistAmplDepth[21][sub][k]->SetYTitle("Number of cell-events \b"); - HistAmplDepth[21][sub][k]->SetXTitle("Per cent \b"); - HistAmplDepth[21][sub][k]->SetLineColor(4); - HistAmplDepth[21][sub][k]->SetLineWidth(2); - HistAmplDepth[21][sub][k]->SetTitleOffset(1.4, "Y"); - HistAmplDepth[21][sub][k]->Draw(); - // HistAmplDepth[21][sub][k]->GetYaxis()->SetRangeUser(0, 72.); - HistAmplDepth[21][sub][k]->GetXaxis()->SetRangeUser(-10., 10.); - if (sub == 1) { - cHB->Modified(); - cHB->Update(); - } - if (sub == 2) { - cHE->Modified(); - cHE->Update(); - } - if (sub == 3) { - cONE->Modified(); - cONE->Update(); - } - if (sub == 4) { - cHF->Modified(); - cHF->Update(); - } - double min_x[] = {-1 * porog[sub], -1 * porog[sub]}; - double min_y[] = {0., 100000000.}; - TGraph *MIN = new TGraph(2, min_x, min_y); - MIN->SetLineStyle(2); - MIN->SetLineColor(2); - MIN->SetLineWidth(2 + 100 * 100); - MIN->SetFillStyle(3005); - MIN->SetFillColor(2); - MIN->Draw("L"); - double max_x[] = {porog[sub], porog[sub]}; - double max_y[] = {0., 100000000.}; - TGraph *MAX = new TGraph(2, max_x, max_y); - MAX->SetLineStyle(2); - MAX->SetLineColor(2); - MAX->SetLineWidth(-2 - 100 * 100); - MAX->SetFillStyle(3004); - MAX->SetFillColor(2); - MAX->Draw("L"); - } // end depth - if (sub == 1) { - cHB->Print("HistAmplDriftDepthHB.png"); - cHB->Clear(); - } - if (sub == 2) { - cHE->Print("HistAmplDriftDepthHE.png"); - cHE->Clear(); - } - if (sub == 3) { - cONE->Print("HistAmplDriftDepthHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cHF->Print("HistAmplDriftDepthHF.png"); - cHF->Clear(); - } - } //end sub + cONE->Clear(); + } + } + if (test == 6) { + if (sub == 1) { + cONE->Print("HistMaxPosHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMaxPosHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMaxPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMaxPosHF.png"); + cONE->Clear(); + } + } + } // end sub + } //end test //+++++++++++++++++++++++++++++++++++ //Test 31, 32 Pedestal, pedestalWidths @@ -2198,270 +1267,154 @@ int main(int argc, char *argv[]) { } } // end sub - /* - //+++++++++++++++++++++++++++++++++++ -//Test 42 ADC in TS distributions -//++++++++++++++++++++++++++++++++++++ - -std::cout<<" We are here to print ADC "<Get("h_ADC_HB"); - hist_ADC_All[2] = (TH1F*)hfile->Get("h_ADC_HE"); - hist_ADC_All[3] = (TH1F*)hfile->Get("h_ADC_HO"); - hist_ADC_All[4] = (TH1F*)hfile->Get("h_ADC_HF"); - - - hist_ADC_DS[1][1] = (TH1F*)hfile->Get("h_ADC_HBdepth1"); - hist_ADC_DS[1][2] = (TH1F*)hfile->Get("h_ADC_HBdepth2"); - hist_ADC_DS[2][1] = (TH1F*)hfile->Get("h_ADC_HEdepth1"); - hist_ADC_DS[2][2] = (TH1F*)hfile->Get("h_ADC_HEdepth2"); - hist_ADC_DS[2][3] = (TH1F*)hfile->Get("h_ADC_HEdepth3"); - hist_ADC_DS[3][4] = (TH1F*)hfile->Get("h_ADC_HOdepth4"); - hist_ADC_DS[4][1] = (TH1F*)hfile->Get("h_ADC_HFdepth1"); - hist_ADC_DS[4][2] = (TH1F*)hfile->Get("h_ADC_HFdepth2"); - - - cONE->Clear(); - cONE->Divide(1,1); - cONE->cd(1); + //+++++++++++++++++++++++++++++ + //Entries in different TSs: + //+++++++++++++++++++++++++++++ + Map_SUBTS[1][1] = (TH2F *)hfile->Get("h_mapDepth1TS2_HB"); + Map_SUBTS[1][2] = (TH2F *)hfile->Get("h_mapDepth2TS2_HB"); + Map_SUBTS[1][3] = (TH2F *)hfile->Get("h_mapDepth3TS2_HB"); + Map_SUBTS[1][4] = (TH2F *)hfile->Get("h_mapDepth4TS2_HB"); + + Map_SUBTS[2][1] = (TH2F *)hfile->Get("h_mapDepth1TS2_HE"); + Map_SUBTS[2][2] = (TH2F *)hfile->Get("h_mapDepth2TS2_HE"); + Map_SUBTS[2][3] = (TH2F *)hfile->Get("h_mapDepth3TS2_HE"); + Map_SUBTS[2][4] = (TH2F *)hfile->Get("h_mapDepth4TS2_HE"); + Map_SUBTS[2][5] = (TH2F *)hfile->Get("h_mapDepth5TS2_HE"); + Map_SUBTS[2][6] = (TH2F *)hfile->Get("h_mapDepth6TS2_HE"); + Map_SUBTS[2][7] = (TH2F *)hfile->Get("h_mapDepth7TS2_HE"); + + Map_SUBTS[3][4] = (TH2F *)hfile->Get("h_mapDepth4TS012_HO"); + + Map_SUBTS[4][1] = (TH2F *)hfile->Get("h_mapDepth1TS1_HF"); + Map_SUBTS[4][2] = (TH2F *)hfile->Get("h_mapDepth2TS1_HF"); + Map_SUBTS[4][3] = (TH2F *)hfile->Get("h_mapDepth3TS1_HF"); + Map_SUBTS[4][4] = (TH2F *)hfile->Get("h_mapDepth4TS1_HF"); - for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_SUBTS[sub][k]->Divide(Map_SUBTS[sub][k], Map_SUB[sub][k], 1, 1, "B"); gPad->SetGridy(); gPad->SetGridx(); - gPad->SetLogy(); - hist_ADC_All[sub]->SetXTitle("ADC counts \b"); - hist_ADC_All[sub]->SetYTitle("Number of channels-events \b"); - if (sub==1) sprintf(str,"ADC counts Distribution HB\b"); - if (sub==2) sprintf(str,"ADC counts Distribution HE\b"); - if (sub==3) sprintf(str,"ADC counts Distribution HO\b"); - if (sub==4) sprintf(str,"ADC counts Distribution HF\b"); - hist_ADC_All[sub]->SetTitle(str); - hist_ADC_All[sub]->Draw(""); - // hist_ADC_All[sub]->GetYaxis()->SetRangeUser(0, 72.); - hist_ADC_All[sub]->GetXaxis()->SetRangeUser(0.000, 1000.); - cONE->Modified(); cONE->Update(); - if (sub==1) {cONE->Print("Hist_ADC_HB_All.png"); cONE->Clear();} - if (sub==2) {cONE->Print("Hist_ADC_HE_All.png"); cONE->Clear();} - if (sub==3) {cONE->Print("Hist_ADC_HO_All.png"); cONE->Clear();} - if (sub==4) {cONE->Print("Hist_ADC_HF_All.png"); cONE->Clear();} - }// end sub - - - for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF - if (sub==1) cHB->Divide(2,1); - if (sub==2) cHE->Divide(3,1); - if (sub==3) cONE->Divide(1,1); - if (sub==4) cHB->Divide(2,1); - int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths - if (sub==1) cHB->cd(k); - if (sub==2) cHE->cd(k); - if (sub==3) cONE->cd(k-3); - if (sub==4) cHB->cd(k); - gPad->SetGridy(); - gPad->SetGridx(); - gPad->SetLogy(); - hist_ADC_DS[sub][k]->SetXTitle("ADC counts \b"); - hist_ADC_DS[sub][k]->SetYTitle("Number of channels-events \b"); - if (sub==1) sprintf(str,"HB, Depth%d \b", k); - if (sub==2) sprintf(str,"HE, Depth%d \b", k); - if (sub==3) sprintf(str,"HO, Depth%d \b", k); - if (sub==4) sprintf(str,"HF, Depth%d \b", k); - hist_ADC_DS[sub][k]->SetTitle(str); - hist_ADC_DS[sub][k]->Draw(""); - // hist_ADC_DS[sub][k]->GetYaxis()->SetRangeUser(0, 72.); - hist_ADC_DS[sub][k]->GetXaxis()->SetRangeUser(0.000, 1000.); - if (sub==1) {cHB->Modified(); cHB->Update();} - if (sub==2) {cHE->Modified(); cHE->Update();} - if (sub==3) {cONE->Modified();cONE->Update();} - if (sub==4) {cHB->Modified(); cHB->Update();} - }//end depth - if (sub==1) {cHB->Print("Hist_ADC_HB_DS.png"); cHB->Clear();} - if (sub==2) {cHE->Print("Hist_ADC_HE_DS.png"); cHE->Clear();} - if (sub==3) {cONE->Print("Hist_ADC_HO_DS.png"); cONE->Clear();} - if (sub==4) {cHB->Print("Hist_ADC_HF_DS.png"); cHB->Clear();} - }// end sub - - - //+++++++++++++++++++++++++++++++++++ -//Test 43 Sum ADC in TS distributions -//++++++++++++++++++++++++++++++++++++ - - hist_SumADC[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB"); - hist_SumADC[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB"); - hist_SumADC[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE"); - hist_SumADC[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE"); - hist_SumADC[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE"); - hist_SumADC[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO"); - hist_SumADC[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF"); - hist_SumADC[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF"); - - hist_SumADC0[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB0"); - hist_SumADC0[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB0"); - hist_SumADC0[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE0"); - hist_SumADC0[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE0"); - hist_SumADC0[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE0"); - hist_SumADC0[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO0"); - hist_SumADC0[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF0"); - hist_SumADC0[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF0"); - - hist_SumADC1[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB1"); - hist_SumADC1[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB1"); - hist_SumADC1[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE1"); - hist_SumADC1[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE1"); - hist_SumADC1[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE1"); - hist_SumADC1[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO1"); - hist_SumADC1[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF1"); - hist_SumADC1[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF1"); - - for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF - if (sub==1) cHB->Divide(2,1); - if (sub==2) cHE->Divide(3,1); - if (sub==3) cONE->Divide(1,1); - if (sub==4) cHB->Divide(2,1); - int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths - if (sub==1) cHB->cd(k); - if (sub==2) cHE->cd(k); - if (sub==3) cONE->cd(k-3); - if (sub==4) cHB->cd(k); - gPad->SetGridy(); - gPad->SetGridx(); - gPad->SetLogy(); - hist_SumADC[sub][k]->SetXTitle("ADC sum \b"); - hist_SumADC[sub][k]->SetYTitle("Number of channels-events \b"); - if (sub==1) sprintf(str,"HB, Depth%d \b", k); - if (sub==2) sprintf(str,"HE, Depth%d \b", k); - if (sub==3) sprintf(str,"HO, Depth%d \b", k); - if (sub==4) sprintf(str,"HF, Depth%d \b", k); - hist_SumADC[sub][k]->SetTitle(str); - hist_SumADC[sub][k]->Draw(""); - // hist_SumADC[sub][k]->GetYaxis()->SetRangeUser(0, 72.); - // hist_SumADC[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); - if (sub==1) {cHB->Modified(); cHB->Update();} - if (sub==2) {cHE->Modified(); cHE->Update();} - if (sub==3) {cONE->Modified();cONE->Update();} - if (sub==4) {cHB->Modified(); cHB->Update();} - }//end depth - if (sub==1) {cHB->Print("Hist_SumADC_HB.png"); cHB->Clear();} - if (sub==2) {cHE->Print("Hist_SumADC_HE.png"); cHE->Clear();} - if (sub==3) {cONE->Print("Hist_SumADC_HO.png"); cONE->Clear();} - if (sub==4) {cHB->Print("Hist_SumADC_HF.png"); cHB->Clear();} - }// end sub - - - for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF - if (sub==1) cHB->Divide(2,1); - if (sub==2) cHE->Divide(3,1); - if (sub==3) cONE->Divide(1,1); - if (sub==4) cHB->Divide(2,1); - int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths - if (sub==1) cHB->cd(k); - if (sub==2) cHE->cd(k); - if (sub==3) cONE->cd(k-3); - if (sub==4) cHB->cd(k); - gPad->SetGridy(); - gPad->SetGridx(); - gPad->SetLogy(); - hist_SumADC0[sub][k]->SetXTitle("ADC sum \b"); - hist_SumADC0[sub][k]->SetYTitle("Number of channels-events \b"); - if (sub==1) sprintf(str,"HB, Depth%d \b", k); - if (sub==2) sprintf(str,"HE, Depth%d \b", k); - if (sub==3) sprintf(str,"HO, Depth%d \b", k); - if (sub==4) sprintf(str,"HF, Depth%d \b", k); - hist_SumADC0[sub][k]->SetTitle(str); - hist_SumADC0[sub][k]->Draw(""); - // hist_SumADC0[sub][k]->GetYaxis()->SetRangeUser(0, 72.); - // hist_SumADC0[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); - if (sub==1) {cHB->Modified(); cHB->Update();} - if (sub==2) {cHE->Modified(); cHE->Update();} - if (sub==3) {cONE->Modified();cONE->Update();} - if (sub==4) {cHB->Modified(); cHB->Update();} - }//end depth - if (sub==1) {cHB->Print("Hist_SumADC_HB0.png"); cHB->Clear();} - if (sub==2) {cHE->Print("Hist_SumADC_HE0.png"); cHE->Clear();} - if (sub==3) {cONE->Print("Hist_SumADC_HO0.png"); cONE->Clear();} - if (sub==4) {cHB->Print("Hist_SumADC_HF0.png"); cHB->Clear();} - }// end sub - - for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF - if (sub==1) cHB->Divide(2,1); - if (sub==2) cHE->Divide(3,1); - if (sub==3) cONE->Divide(1,1); - if (sub==4) cHB->Divide(2,1); - int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths - if (sub==1) cHB->cd(k); - if (sub==2) cHE->cd(k); - if (sub==3) cONE->cd(k-3); - if (sub==4) cHB->cd(k); - gPad->SetGridy(); - gPad->SetGridx(); - gPad->SetLogy(); - hist_SumADC1[sub][k]->SetXTitle("ADC sum \b"); - hist_SumADC1[sub][k]->SetYTitle("Number of channels-events \b"); - if (sub==1) sprintf(str,"HB, Depth%d \b", k); - if (sub==2) sprintf(str,"HE, Depth%d \b", k); - if (sub==3) sprintf(str,"HO, Depth%d \b", k); - if (sub==4) sprintf(str,"HF, Depth%d \b", k); - hist_SumADC1[sub][k]->SetTitle(str); - hist_SumADC1[sub][k]->Draw(""); - // hist_SumADC1[sub][k]->GetYaxis()->SetRangeUser(0, 72.); - // hist_SumADC1[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); - if (sub==1) {cHB->Modified(); cHB->Update();} - if (sub==2) {cHE->Modified(); cHE->Update();} - if (sub==3) {cONE->Modified();cONE->Update();} - if (sub==4) {cHB->Modified(); cHB->Update();} - }//end depth - if (sub==1) {cHB->Print("Hist_SumADC_HB1.png"); cHB->Clear();} - if (sub==2) {cHE->Print("Hist_SumADC_HE1.png"); cHE->Clear();} - if (sub==3) {cONE->Print("Hist_SumADC_HO1.png"); cONE->Clear();} - if (sub==4) {cHB->Print("Hist_SumADC_HF1.png"); cHB->Clear();} - }// end sub + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_SUBTS[sub][k]->SetTitle(str); + Map_SUBTS[sub][k]->SetXTitle("#eta \b"); + Map_SUBTS[sub][k]->SetYTitle("#phi \b"); + Map_SUBTS[sub][k]->SetZTitle("Number of events \b"); + if (sub == 3) + Map_SUBTS[sub][k]->SetTitleOffset(0.8, "Z"); + Map_SUBTS[sub][k]->Draw("COLZ"); + Map_SUBTS[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // Map_SUBTS[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth -*/ + if (sub == 1) { + cHB->Print("Hist_mapDepthAllTS2_HB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("Hist_mapDepthAllTS2_HE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("Hist_mapDepthAllTS012_HO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("Hist_mapDepthAllTS1_HF.png"); + cHF->Clear(); + } + } // end sub //====================================================================== - std::cout << " We are here to print 2017 MAPs " << std::endl; + + std::cout << " We are here to print general 2D MAP " << std::endl; //====================================================================== //====================================================================== /// Prepare maps of good/bad channels: + // i - Eta; j - Phi + //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet before upgrade + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + //k-Depth + + // TH2F *Map_ALL = new TH2F("Map_All", "Map_all", 82, -41, 40, 72, 0, 71); + TH2F *Map_ALL = new TH2F("Map_All", "Map_all", 82, -41, 41, 72, 0, 72); - TH2F *Map_ALL = new TH2F("Map_All", "Map_all", 82, -41, 40, 72, 0, 71); int nx = Map_ALL->GetXaxis()->GetNbins(); int ny = Map_ALL->GetYaxis()->GetNbins(); - int NBad = 0; - int NWarn = 0; - int NCalib = 0; - int NPed = 0; - // int Eta[3][10000]={0}; - int Eta[4][10000] = {0}; - int Phi[4][10000] = {0}; - int Sub[4][10000] = {0}; - int Depth[4][10000] = {0}; - string Comment[4][10000] = {""}; - string Text[33] = {"", "Cm", "Am", "Wm", "Rm", "TNm", "TXm", "", "", "", "", "Cc", "Ac", "Wc", "Rc", "TNc", "TXc", - "", "", "", "", "GS", "", "", "", "", "", "", "", "", "", "Pm", "pWm"}; - int flag_W = 0; - int flag_B = 0; - int flag_P = 0; - - for (int i = 1; i <= nx; i++) { //Eta - for (int j = 1; j <= ny; j++) { // Phi - for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF - // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet - for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + cout << " nx= " << nx << " ny= " << ny << endl; + // int NBad = 0; + // int NWarn = 0; + // int NCalib = 0; + // int NPed = 0; + // // int Eta[3][10000]={0}; + // int Eta[4][10000] = {0}; + // int Phi[4][10000] = {0}; + // int Sub[4][10000] = {0}; + // int Depth[4][10000] = {0}; + // string Comment[4][10000] = {""}; + // string Text[33] = {"", "Cm", "Am", "Wm", "Rm", "TNm", "TXm", "", "", "", "", "Cc", "Ac", "Wc", "Rc", "TNc", "TXc", + // "", "", "", "", "GS", "", "", "", "", "", "", "", "", "", "Pm", "pWm"}; + // int flag_W = 0; + // int flag_B = 0; + // int flag_P = 0; + int fffffflag = 0; + std::cout << " Map_ALL SUBGOOD update " << std::endl; + for (int sub = 1; sub <= 4; sub++) { + for (int k = k_min[sub]; k <= k_max[sub]; k++) { + for (int i = 1; i <= nx; i++) { + for (int j = 1; j <= ny; j++) { if (Map_SUB[sub][k]->GetBinContent(i, j) != 0) { - Map_SUB[sub][k]->SetBinContent(i, j, 0.5); + Map_SUBGOOD[sub][k]->SetBinContent(i, j, 0.5); Map_ALL->SetBinContent(i, j, 0.5); } } @@ -2469,22 +1422,26 @@ std::cout<<" We are here to print ADC "<GetBinContent(i, j) > - 0.1) { //Rate 0.1 for displaying on whole detector map and subdetector map + std::cout << " Map_ALL SUBGOOD filling............... " << std::endl; + for (int sub = 1; sub <= 4; sub++) { + for (int k = k_min[sub]; k <= k_max[sub]; k++) { + for (int i = 1; i <= nx; i++) { + for (int j = 1; j <= ny; j++) { + // flag_W = 0; + // flag_B = 0; + // flag_P = 0; + // CapID(Test=1; ADC amplitude Am(Test= 2); Width for Wm(Test=3); Ratio cut for Rm(Test=4); TS mean for TNm(test=5); TS max for TXm(Test=6); + for (int test = 3; test <= 6; test++) { + // cout<<" test= "<GetBinContent(i, j)= "<< Map_Ampl[test][sub][k]->GetBinContent(i, j) <GetBinContent(i, j) > 0.1) { Map_ALL->SetBinContent(i, j, 1.); - Map_SUB[sub][k]->SetBinContent(i, j, 1.); + Map_SUBGOOD[sub][k]->SetBinContent(i, j, 1.); + fffffflag = 1; + /* if (flag_B == 0) { NBad += 1; Eta[2][NBad] = i - 41; @@ -2492,104 +1449,78 @@ std::cout<<" We are here to print ADC "<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j) != 0.)&&(Map_Ampl[test][sub][k]->GetBinContent(i,j) < 0.001) ) { - if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.) Map_SUB[sub][k]->SetBinContent(i,j,0.75); - if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); - if (flag_W == 0) { - NWarn +=1; - Eta[1][NWarn]=i-41; - Phi[1][NWarn]=j-1; - Sub[1][NWarn]=sub; - Depth[1][NWarn]=k; - Comment[1][NWarn]=Text[test]; - } - else Comment[1][NWarn]+=", "+Text[test]; - flag_W = 1; -// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i, j) != 0.) && + (Map_Ampl[test][sub][k]->GetBinContent(i, j) < 0.001)) { + if (Map_SUBGOOD[sub][k]->GetBinContent(i, j) != 1.) + Map_SUBGOOD[sub][k]->SetBinContent(i, j, 0.75); + if (Map_ALL->GetBinContent(i, j) != 1.) + Map_ALL->SetBinContent(i, j, 0.75); + fffffflag = 2; + /* + if (flag_W == 0) { + NWarn +=1; + Eta[1][NWarn]=i-41; + Phi[1][NWarn]=j-1; + Sub[1][NWarn]=sub; + Depth[1][NWarn]=k; + Comment[1][NWarn]=Text[test]; + } + else {Comment[1][NWarn]+=", "+Text[test]; + flag_W = 1; + } */ + } + + //// + + // if(fffffflag != 0) cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j) << "fffffflag = "<< fffffflag <GetBinContent(i,j) != 0.) { -// if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.3); -// if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.3); - if (flag_W == 0) { - NWarn +=1; - Eta[1][NWarn]=i-41; - Phi[1][NWarn]=j-1; - Sub[1][NWarn]=sub; - Depth[1][NWarn]=k; - Comment[1][NWarn]=Text[test]; - } - else Comment[1][NWarn]+=", "+Text[test]; - flag_W = 1; -// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j)) > porog[sub]) { - if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.75); - if (Map_ALL->GetBinContent(i,j)!=1.) { - Map_ALL->SetBinContent(i,j,0.75); - if (flag_W == 0) { - NWarn +=1; - Eta[1][NWarn]=i-41; - Phi[1][NWarn]=j-1; - Sub[1][NWarn]=sub; - Depth[1][NWarn]=k; - Comment[1][NWarn]=Text[test]; - } - else Comment[1][NWarn]+=", "+Text[test]; - flag_W = 1; - - cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i, j) > 0.1) { - // if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.75); - // if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); - if (flag_P == 0) { - NPed += 1; - Eta[3][NPed] = i - 41; - Phi[3][NPed] = j - 1; - Sub[3][NPed] = sub; - Depth[3][NPed] = k; - Comment[3][NPed] = Text[test]; - } else - Comment[3][NPed] += ", " + Text[test]; - flag_P = 1; - - // cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent("<GetBinContent(i,j)<cd(k); if (sub == 2) @@ -2615,7 +1547,7 @@ std::cout<<" We are here to print ADC "<cd(k); gPad->SetGridy(); gPad->SetGridx(); - // gPad->SetLogz(); + gPad->SetLogz(); // gStyle->SetTitleOffset(0.5, "Y"); if (sub == 1) sprintf(str, "HB, Depth%d \b", k); @@ -2625,12 +1557,13 @@ std::cout<<" We are here to print ADC "<SetTitle(str); - Map_SUB[sub][k]->SetXTitle("#eta \b"); - Map_SUB[sub][k]->SetYTitle("#phi \b"); - Map_SUB[sub][k]->Draw("COL"); - Map_SUB[sub][k]->GetYaxis()->SetRangeUser(0, 72.); - Map_SUB[sub][k]->GetZaxis()->SetRangeUser(0., 1.); + Map_SUBGOOD[sub][k]->SetTitle(str); + Map_SUBGOOD[sub][k]->SetXTitle("#eta \b"); + Map_SUBGOOD[sub][k]->SetYTitle("#phi \b"); + Map_SUBGOOD[sub][k]->Draw("COLZ"); + Map_SUBGOOD[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_SUBGOOD[sub][k]->GetZaxis()->SetRangeUser(0., 1.); + if (sub == 1) { cHB->Modified(); cHB->Update(); @@ -2664,8 +1597,10 @@ std::cout<<" We are here to print ADC "<Print("MAPHF.png"); cHF->Clear(); } - } + } // end sub + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + TCanvas *cmain1 = new TCanvas("cmain1", "MAP", 200, 10, 1400, 1800); cmain1->Divide(2, 2); @@ -2682,6 +1617,7 @@ std::cout<<" We are here to print ADC "<SetLineColor(1); JDBEYESJ0->SetMinimum(0.8); JDBEYESJ0->Draw("HIST same P0"); + JDBEYESJ0->Clear(); cmain1->cd(2); TH1F *JDBEYESJ1 = (TH1F *)hfile->Get("h_totalAmplitudeHEperEvent"); @@ -2696,6 +1632,7 @@ std::cout<<" We are here to print ADC "<SetLineColor(1); JDBEYESJ1->SetMinimum(0.8); JDBEYESJ1->Draw("HIST same P0"); + JDBEYESJ1->Clear(); cmain1->cd(3); TH1F *JDBEYESJ2 = (TH1F *)hfile->Get("h_totalAmplitudeHFperEvent"); @@ -2710,6 +1647,7 @@ std::cout<<" We are here to print ADC "<SetLineColor(1); JDBEYESJ2->SetMinimum(0.8); JDBEYESJ2->Draw("HIST same P0"); + JDBEYESJ2->Clear(); cmain1->cd(4); TH1F *JDBEYESJ3 = (TH1F *)hfile->Get("h_totalAmplitudeHOperEvent"); @@ -2724,34 +1662,38 @@ std::cout<<" We are here to print ADC "<SetLineColor(1); JDBEYESJ3->SetMinimum(0.8); JDBEYESJ3->Draw("HIST same P0"); + JDBEYESJ3->Clear(); cmain1->Modified(); cmain1->Update(); cmain1->Print("EVENTDEPENDENCE.png"); + cmain1->Clear(); std::cout << " EVENTDEPENDENCE " << std::endl; ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // ALL SubDet gStyle->SetOptTitle(0); TCanvas *cmain = new TCanvas("cmain", "MAP", 1000, 1000); gPad->SetGridy(); gPad->SetGridx(); - // gPad->SetLogz(); + gPad->SetLogz(); Map_ALL->SetTitleOffset(1.3, "Y"); Map_ALL->SetXTitle("#eta \b"); Map_ALL->SetYTitle("#phi \b"); - Map_ALL->Draw("COL"); + Map_ALL->Draw("COLZ"); Map_ALL->GetYaxis()->SetRangeUser(0, 72.); Map_ALL->GetZaxis()->SetRangeUser(0, 1.); cmain->Modified(); cmain->Update(); cmain->Print("MAP.png"); + cmain->Clear(); std::cout << " MAP_ALL " << std::endl; - //====================================================================== + //====================================================================== html pages CREATING: //====================================================================== // Creating each test kind for each subdet html pages: std::string raw_class, raw_class1, raw_class2, raw_class3; @@ -2820,7 +1762,7 @@ std::cout<<" We are here to print ADC "< 0. Entries for each channel." << std::endl; htmlFileT << "

0.A. Entries in each channel for each depth.

" << std::endl; - htmlFileT << "

Channel legend: color is rate of entries

" << std::endl; + htmlFileT << "

Channel legend: color is number of hits in digi collection

" << std::endl; if (sub == 1) htmlFileT << " " << std::endl; if (sub == 2) @@ -2986,280 +1928,6 @@ std::cout<<" We are here to print ADC "< " << std::endl; htmlFileT.close(); - //Calibration channels - htmlFileC << "" << std::endl; - htmlFileC << "" << std::endl; - htmlFileC << "" << std::endl; - htmlFileC << " Raw Data Analyser " << std::endl; - htmlFileC << "" << std::endl; - htmlFileC << "" << std::endl; - - if (sub == 1) - htmlFileC << "

Criteria for calibration channels for HB, RUN = " << runnumber << "

" << std::endl; - if (sub == 2) - htmlFileC << "

Criteria for calibration channels for HE, RUN = " << runnumber << "

" << std::endl; - if (sub == 3) - htmlFileC << "

Criteria for calibration channels for HO, RUN = " << runnumber << "

" << std::endl; - if (sub == 4) - htmlFileC << "

Criteria for calibration channels for HF, RUN = " << runnumber << "

" << std::endl; - htmlFileC << "
" << std::endl; - - // Test Cc - htmlFileC << "

1.Cc criterion: CapID errors for each channel.

" << std::endl; - htmlFileC << "

1.A. Rate of CapId failures in each channel for each depth.

" << std::endl; - htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; - if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - - // Ac - htmlFileC << "

2. Ac criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel.

" - << std::endl; - htmlFileC << "

2.A. Full ADC amplitude distribution over all events, channels and depths.

" << std::endl; - htmlFileC << "

Legend: Bins less " << MIN_C[2][sub] << " correpond to bad ADC amplitude

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; - if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - htmlFileC << "

2.B. Rate of bad ADC amplitude (<" << MIN_C[2][sub] << ") in each channel for each depth.

" - << std::endl; - htmlFileC << "

Channel legend: white - good, other colours - bad.

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; - if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - - // Test Wc - htmlFileC << "

3. Wc criterion: RMS (width) of ADC amplutude for each channel.

" << std::endl; - htmlFileC << "

3.A. W distribution over all events, channel and depth.

" << std::endl; - htmlFileC << "

Legend: Bins less " << MIN_C[3][sub] << " and more " << MAX_C[3][sub] - << " correpond to bad RMS

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; - if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - htmlFileC << "

3.B. Rate of bad W (<" << MIN_C[3][sub] << ",>" << MAX_C[3][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; - if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - - // Rc - htmlFileC << "

4. Rc criterion: Ratio ADC value sum over five near maximum (-2, -1, max, +1, +2) TS to ADC " - "value sum over all TS for each channel.

" - << std::endl; - htmlFileC << "

4.A. Ratio distribution over all events, channels and depths.

" << std::endl; - htmlFileC << "

Legend: Bins less " << MIN_C[4][sub] << " and more " << MAX_C[4][sub] - << " correpond to bad ratio

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; - if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - htmlFileC << "

4.B. Rate of bad Ratio (<" << MIN_C[4][sub] << ", >" << MAX_C[4][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; - if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - - // TNc - htmlFileC << "

5. TNc criterion: Mean TS position for each channel.

" << std::endl; - htmlFileC << "

5.A. TN position distribution over all events, channels and depths.

" << std::endl; - htmlFileC << "

Legend: Bins less " << MIN_C[5][sub] << " and more " << MAX_C[5][sub] - << " correpond to bad position

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; - if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - htmlFileC << "

5.B. Rate of bad TN position (<" << MIN_C[5][sub] << ", >" << MAX_C[5][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; - if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - - // TXm - htmlFileC << "

6.TXc criterion: Maximum TS position for each channel.

" << std::endl; - htmlFileC << "

6.A. TX position distribution over all events, channel and depth.

" << std::endl; - htmlFileC << "

Legend: Bins less " << MIN_C[6][sub] << " and more " << MAX_C[6][sub] - << " correpond to bad position

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; - if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - htmlFileC << "

6.B. Rate of bad TX position (<" << MIN_C[6][sub] << ", >" << MAX_C[6][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; - if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - - htmlFileC << " " << std::endl; - htmlFileC << " " << std::endl; - htmlFileC.close(); - - //Response drift - htmlFileD << "" << std::endl; - htmlFileD << "" << std::endl; - htmlFileD << "" << std::endl; - htmlFileD << " Remote Monitoring Tool Global " << std::endl; - htmlFileD << "" << std::endl; - htmlFileD << "" << std::endl; - - if (sub == 1) - htmlFileD << "

Response drift for HB: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber - << "

" << std::endl; - if (sub == 2) - htmlFileD << "

Response drift for HE: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber - << "

" << std::endl; - if (sub == 3) - htmlFileD << "

Response drift for HO: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber - << "

" << std::endl; - if (sub == 4) - htmlFileD << "

Response drift for HF: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber - << "

" << std::endl; - htmlFileD << "
" << std::endl; - - // test GS - htmlFileD << "

1. Gain Stability (GS)

" << std::endl; - htmlFileD << "

1.A. Averaged channel response, collected over all TS, for Current run in each channel for each " - "depth.

" - << std::endl; - htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; - if (sub == 1) - htmlFileD << " " << std::endl; - if (sub == 2) - htmlFileD << " " << std::endl; - if (sub == 3) - htmlFileD << " " << std::endl; - if (sub == 4) - htmlFileD << " " << std::endl; - htmlFileD << "
" << std::endl; - htmlFileD << "

1.B. Averaged channel response, collected over all TS, for Reference run in each channel for " - "each depth.

" - << std::endl; - htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; - if (sub == 1) - htmlFileD << " " << std::endl; - if (sub == 2) - htmlFileD << " " << std::endl; - if (sub == 3) - htmlFileD << " " << std::endl; - if (sub == 4) - htmlFileD << " " << std::endl; - htmlFileD << "
" << std::endl; - htmlFileD << "

1.C. Relative difference between Current run and Current run distribution over all events, " - "channels for each depth.

" - << std::endl; - htmlFileD << "

Legend: Bins less -" << porog[sub] << "% and more +" << porog[sub] - << "% correpond to bad relative difference position

" << std::endl; - if (sub == 1) - htmlFileD << " " << std::endl; - if (sub == 2) - htmlFileD << " " << std::endl; - if (sub == 3) - htmlFileD << " " << std::endl; - if (sub == 4) - htmlFileD << " " << std::endl; - htmlFileD << "
" << std::endl; - htmlFileD << "

1.D. Rate of bad relative difference (<-" << porog[sub] << ", >+" << porog[sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileD << "

Channel legend: white - good, other colour - bad.

" << std::endl; - if (sub == 1) - htmlFileD << " " << std::endl; - if (sub == 2) - htmlFileD << " " << std::endl; - if (sub == 3) - htmlFileD << " " << std::endl; - if (sub == 4) - htmlFileD << " " << std::endl; - htmlFileD << "
" << std::endl; - - htmlFileD << " " << std::endl; - htmlFileD << " " << std::endl; - htmlFileD.close(); - // Pedestals htmlFileP << "" << std::endl; htmlFileP << "" << std::endl; @@ -3409,66 +2077,19 @@ std::cout<<" We are here to print ADC "<" << std::endl; - htmlFileS << "

2. ADC in Time Slice

" << std::endl; - htmlFileS << "

2.A. ADC counts histogrammed over all channels, depth and events.

" << std::endl; - // htmlFileS << "

Legend: Bins less "<"<< std::endl; - if (sub == 1) - htmlFileS << " " << std::endl; - if (sub == 2) - htmlFileS << " " << std::endl; - if (sub == 3) - htmlFileS << " " << std::endl; - if (sub == 4) - htmlFileS << " " << std::endl; - htmlFileS << "
" << std::endl; - htmlFileS << "

2.B. ADC counts histogrammed over all channels and events for each depth separately.

" - << std::endl; - // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; - if (sub == 1) - htmlFileS << " " << std::endl; - if (sub == 2) - htmlFileS << " " << std::endl; - if (sub == 3) - htmlFileS << " " << std::endl; - if (sub == 4) - htmlFileS << " " << std::endl; - - htmlFileS << "

3. ADC Sum in Time Slice

" << std::endl; - htmlFileS << "

3.A. ADC Sum over all channels histogrammed over all events for each depth separately.

" + htmlFileS << "

2. Pattern of channels for Sub-Detector over depth,eta.phi

" << std::endl; + htmlFileS << "

2.A. reminder:.......................... for HBHE, TS=2;...................................... " + "for HF, TS=1;..................................... for HO, TS=0,1,2

" << std::endl; - // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; - if (sub == 1) - htmlFileS << " " << std::endl; - if (sub == 2) - htmlFileS << " " << std::endl; - if (sub == 3) - htmlFileS << " " << std::endl; - if (sub == 4) - htmlFileS << " " << std::endl; - - htmlFileS << "

3.B. ADC Sum over all channels histogrammed over all events for each depth separately.

" - << std::endl; - // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileS << " " << std::endl; + htmlFileS << " " << std::endl; if (sub == 2) - htmlFileS << " " << std::endl; + htmlFileS << " " << std::endl; if (sub == 3) - htmlFileS << " " << std::endl; + htmlFileS << " " << std::endl; if (sub == 4) - htmlFileS << " " << std::endl; - - htmlFileS << "

3.C. ADC Sum over all channels histogrammed over all events for each depth separately.

" - << std::endl; - // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; - if (sub == 1) - htmlFileS << " " << std::endl; - if (sub == 2) - htmlFileS << " " << std::endl; - if (sub == 3) - htmlFileS << " " << std::endl; - if (sub == 4) - htmlFileS << " " << std::endl; + htmlFileS << " " << std::endl; + htmlFileS << "
" << std::endl; htmlFileS.close(); } // end sub @@ -3608,7 +2229,7 @@ std::cout<<" We are here to print ADC "<\n"; htmlFile << "

2.A.Channel map for each Depth

" << std::endl; - htmlFile << "

Channel legend: green - good, not yellow - suspicious(rate of failures at least 0.1), white - " + htmlFile << "

Channel legend: yellow - good, white - " "not applicable or out of range

" << std::endl; if (sub == 1) diff --git a/DPGAnalysis/HcalTools/macros/cmt/RemoteMonitoringMAP_GlobalstillALLinside.cc b/DPGAnalysis/HcalTools/macros/cmt/RemoteMonitoringMAP_GlobalstillALLinside.cc new file mode 100644 index 0000000000000..d23b571d996bb --- /dev/null +++ b/DPGAnalysis/HcalTools/macros/cmt/RemoteMonitoringMAP_GlobalstillALLinside.cc @@ -0,0 +1,4332 @@ +// How to run: +//root -b -q -l RemoteMonitoringMAP.C+ +//root -b -q -l 'RemoteMonitoringMAP.C+("/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214513.root","/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214512.root")' +//root -b -q -l 'RemoteMonitoringMAP.C+(" /afs/cern.ch/work/d/dtlisov/private/Monitoring/histos/LED_211659.root","/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214512.root")' +// +// +// +#include "LogEleMapdb.h" + +#include +#include + +#include "TH1.h" +#include "TH2.h" +#include "TCanvas.h" +#include "TROOT.h" +#include +#include "TStyle.h" +#include "TSystem.h" +#include "TLegend.h" +#include "TText.h" +#include "TAxis.h" +#include "TFile.h" +#include "TLine.h" +#include "TGraph.h" +#include + +// +// https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/GlobalRMT +// https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/HcalRemoteMonitoring/GlobalRMT + +using namespace std; +//inline void HERE(const char *msg) { std::cout << msg << std::endl; } + +int main(int argc, char *argv[]) { + gROOT->Reset(); + gROOT->SetStyle("Plain"); + gStyle->SetOptStat(0); + gStyle->SetOptTitle(1); + + if (argc < 2) + return 1; + char fname[300]; + char refname[300]; + sprintf(fname, "%s", argv[1]); + sprintf(refname, "%s", argv[2]); + + cout << fname << " " << refname << std::endl; + + // + + //====================================================================== + // Connect the input files, parameters and get the 2-d histogram in memory + // TFile *hfile= new TFile("GlobalHist.root", "READ"); + string promt = (string)fname; + string runnumber = ""; + for (unsigned int i = promt.size() - 11; i < promt.size() - 5; i++) + runnumber += fname[i]; + string refrunnumber = ""; + promt = (string)refname; + for (unsigned int i = promt.size() - 11; i < promt.size() - 5; i++) + refrunnumber += refname[i]; + + TFile *hfile = new TFile(fname, "READ"); + TFile *hreffile = new TFile(refname, "READ"); + //megatile channels + //CUTS: [test][subdetector] ADC amplitude Am Width for Wm Ratio cut for Rm TS mean for TNm TS max for TXm + double MIN_M[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 0., 0., 0., 0.}, + {0, 1.0, 1.0, 0.2, 0.1}, + {0, 0.10, 0.10, 0.18, 0.30}, + {0, 0.8, 0.8, 0.8, 0.1}, + {0, -0.5, -0.5, -0.5, -0.5}}; + double MAX_M[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 900, 900, 9000, 3000}, + {0, 3.9, 3.9, 4.4, 2.0}, + {0, 0.95, 0.98, 0.96, 1.04}, + {0, 8.0, 8.0, 8.0, 2.8}, + {0, 6.5, 6.5, 6.5, 3.5}}; + + // calibration channels: + double MIN_C[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 120., 120., 120., 60.}, + {0, 1.0, 1.0, 0.50, 0.2}, + {0, 0.6, 0.64, 0.25, 0.25}, + {0, 1.0, 1.0, 1.0, 1.0}, + {0, 0.5, 0.5, 0.5, 0.5}}; + double MAX_C[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1E20, 1E20, 1E20, 1E20}, + {0, 2.3, 2.3, 3.0, 2.3}, + {0, 1., 1., 1., 1.00}, + {0, 5.5, 5.5, 3.5, 5.2}, + {0, 8.5, 8.5, 8.5, 9.5}}; + double porog[5] = {0., 2., 2., 5., 1.}; // Cut for GS test in pro cents + // double porog[5] = {0., 200., 200., 100., 100.}; // Cut for GS test in pro cents + double Pedest[2][5] = {{0., 0.2, 0.9, 0.1, 0.2}, {0., 0.2, 0.2, 0.1, 0.16}}; //Cuts for Pedestal and pedestal Width + //====================================================================== + //====================================================================== + // Prepare histograms and plot them to .png files + + //TCanvas *cHB = new TCanvas("cHB","cHB",1000,500); + TCanvas *cHB = new TCanvas("cHB", "cHB", 1000, 1000); + //TCanvas *cHE = new TCanvas("cHE","cHE",1500,500); + TCanvas *cHE = new TCanvas("cHE", "cHE", 1500, 1500); + // TCanvas *cONE = new TCanvas("cONE","cONE",500,500); + TCanvas *cONE = new TCanvas("cONE", "cONE", 1500, 500); + TCanvas *cPED = new TCanvas("cPED", "cPED", 1000, 500); + //TCanvas *cHF = new TCanvas("cHF","cHF",1000,1000); + TCanvas *cHF = new TCanvas("cHF", "cHF", 1000, 1000); + + char *str = (char *)alloca(10000); + + // before upgrade 2017: + // depth: HB depth1,2; HE depth1,2,3; HO depth4; HF depth1,2 + // 5 depthes: 0(empty), 1,2,3,4 + + // upgrade 2017: + // depth: HB depth1,2; HE depth1,2,3,4,5,6,7; HO depth4; HF depth1,2,3,4 + // 8 depthes: 0(empty), 1,2,3,4,5,6,7 + + // upgrade 2019: + // depth: HB depth1,2,3,4; HE depth1,2,3,4,5,6,7; HO depth4; HF depth1,2,3,4 + // 10 depthes: 0(empty), 1,2,3,4,5,6,7,8,9 + + // Int_t ALLDEPTH = 5; + // Int_t ALLDEPTH = 8; + Int_t ALLDEPTH = 10; + + int k_min[5] = {0, 1, 1, 4, 1}; // minimum depth for each subdet + + //int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + //int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + int k_max[5] = {0, 4, 7, 4, 4}; // maximum depth for each subdet + + TH2F *Map_Ampl[33][5][ALLDEPTH]; // 2D histogramm for test,subdet,depth + TH2F *Map_SUB[5][ALLDEPTH]; // 2d histogramm for subdet, depth + TH1F *HistAmplDepth[22][5][ALLDEPTH]; // 1d histogramm for test,subdet, depth + TH1F *HistAmpl[22][5]; // 1d histogramm for test,subdet + + TH1F *HistPed[3][5][4]; // 1d histogramm for test,subdet, CapID + TH2F *Map_Ped[3][5]; // 2d histogramm for test,subdet -> test 33 + TH1F *hist_GoodTSshape[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_GoodTSshape0[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_BadTSshape[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_BadTSshape0[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_ADC_All[5]; // 1d histogramm for TS shape subdet -> test 42 + TH1F *hist_ADC_DS[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 42 + TH1F *hist_SumADC[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 43 + TH1F *hist_SumADC0[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 43 + TH1F *hist_SumADC1[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 43 + + Map_SUB[1][1] = (TH2F *)hfile->Get("h_mapDepth1_HB"); + Map_SUB[1][2] = (TH2F *)hfile->Get("h_mapDepth2_HB"); + Map_SUB[2][1] = (TH2F *)hfile->Get("h_mapDepth1_HE"); + Map_SUB[2][2] = (TH2F *)hfile->Get("h_mapDepth2_HE"); + Map_SUB[2][3] = (TH2F *)hfile->Get("h_mapDepth3_HE"); + Map_SUB[3][4] = (TH2F *)hfile->Get("h_mapDepth4_HO"); + Map_SUB[4][1] = (TH2F *)hfile->Get("h_mapDepth1_HF"); + Map_SUB[4][2] = (TH2F *)hfile->Get("h_mapDepth2_HF"); + + Map_SUB[2][4] = (TH2F *)hfile->Get("h_mapDepth4_HE"); + Map_SUB[2][5] = (TH2F *)hfile->Get("h_mapDepth5_HE"); + Map_SUB[2][6] = (TH2F *)hfile->Get("h_mapDepth6_HE"); + Map_SUB[2][7] = (TH2F *)hfile->Get("h_mapDepth7_HE"); + Map_SUB[4][3] = (TH2F *)hfile->Get("h_mapDepth3_HF"); + Map_SUB[4][4] = (TH2F *)hfile->Get("h_mapDepth4_HF"); + + Map_SUB[1][3] = (TH2F *)hfile->Get("h_mapDepth3_HB"); + Map_SUB[1][4] = (TH2F *)hfile->Get("h_mapDepth4_HB"); + //+++++++++++++++++++++++++++++ + //Test 0 Entries + //+++++++++++++++++++++++++++++ + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_SUB[sub][k]->SetTitle(str); + Map_SUB[sub][k]->SetXTitle("#eta \b"); + Map_SUB[sub][k]->SetYTitle("#phi \b"); + Map_SUB[sub][k]->SetZTitle("Number of events \b"); + if (sub == 3) + Map_SUB[sub][k]->SetTitleOffset(0.8, "Z"); + Map_SUB[sub][k]->Draw("COLZ"); + Map_SUB[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // Map_SUB[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + + if (sub == 1) { + cHB->Print("MapRateEntryHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateEntryHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateEntryHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateEntryHF.png"); + cHF->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 1 (Cm) Rate of Cap ID errors + //+++++++++++++++++++++++++++++ + + Map_Ampl[1][1][1] = (TH2F *)hfile->Get("h_mapDepth1Error_HB"); + Map_Ampl[1][1][2] = (TH2F *)hfile->Get("h_mapDepth2Error_HB"); + Map_Ampl[1][2][1] = (TH2F *)hfile->Get("h_mapDepth1Error_HE"); + Map_Ampl[1][2][2] = (TH2F *)hfile->Get("h_mapDepth2Error_HE"); + Map_Ampl[1][2][3] = (TH2F *)hfile->Get("h_mapDepth3Error_HE"); + Map_Ampl[1][3][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HO"); + Map_Ampl[1][4][1] = (TH2F *)hfile->Get("h_mapDepth1Error_HF"); + Map_Ampl[1][4][2] = (TH2F *)hfile->Get("h_mapDepth2Error_HF"); + + Map_Ampl[1][2][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HE"); + Map_Ampl[1][2][5] = (TH2F *)hfile->Get("h_mapDepth5Error_HE"); + Map_Ampl[1][2][6] = (TH2F *)hfile->Get("h_mapDepth6Error_HE"); + Map_Ampl[1][2][7] = (TH2F *)hfile->Get("h_mapDepth7Error_HE"); + Map_Ampl[1][4][3] = (TH2F *)hfile->Get("h_mapDepth3Error_HF"); + Map_Ampl[1][4][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HF"); + + Map_Ampl[1][1][3] = (TH2F *)hfile->Get("h_mapDepth3Error_HB"); + Map_Ampl[1][1][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HB"); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[1][sub][k]->Divide(Map_Ampl[1][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[1][sub][k]->SetTitle(str); + Map_Ampl[1][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[1][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[1][sub][k]->SetZTitle("Rate \b"); + if (sub == 3) + Map_Ampl[1][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[1][sub][k]->Draw("COLZ"); + Map_Ampl[1][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[1][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + + if (sub == 1) { + cHB->Print("MapRateCapIDHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateCapIDHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateCapIDHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateCapIDHF.png"); + cHF->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 2 (Am) ADC amplitude + //+++++++++++++++++++++++++++++ + + Map_Ampl[2][1][1] = (TH2F *)hfile->Get("h_mapDepth1ADCAmpl225_HB"); + Map_Ampl[2][1][2] = (TH2F *)hfile->Get("h_mapDepth2ADCAmpl225_HB"); + Map_Ampl[2][2][1] = (TH2F *)hfile->Get("h_mapDepth1ADCAmpl225_HE"); + Map_Ampl[2][2][2] = (TH2F *)hfile->Get("h_mapDepth2ADCAmpl225_HE"); + Map_Ampl[2][2][3] = (TH2F *)hfile->Get("h_mapDepth3ADCAmpl225_HE"); + Map_Ampl[2][3][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HO"); + Map_Ampl[2][4][1] = (TH2F *)hfile->Get("h_mapDepth1ADCAmpl225_HF"); + Map_Ampl[2][4][2] = (TH2F *)hfile->Get("h_mapDepth2ADCAmpl225_HF"); + + Map_Ampl[2][2][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HE"); + Map_Ampl[2][2][5] = (TH2F *)hfile->Get("h_mapDepth5ADCAmpl225_HE"); + Map_Ampl[2][2][6] = (TH2F *)hfile->Get("h_mapDepth6ADCAmpl225_HE"); + Map_Ampl[2][2][7] = (TH2F *)hfile->Get("h_mapDepth7ADCAmpl225_HE"); + Map_Ampl[2][4][3] = (TH2F *)hfile->Get("h_mapDepth3ADCAmpl225_HF"); + Map_Ampl[2][4][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HF"); + + Map_Ampl[2][1][3] = (TH2F *)hfile->Get("h_mapDepth3ADCAmpl225_HB"); + Map_Ampl[2][1][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HB"); + + HistAmpl[2][1] = (TH1F *)hfile->Get("h_ADCAmpl_HB"); + HistAmpl[2][2] = (TH1F *)hfile->Get("h_ADCAmpl_HE"); + HistAmpl[2][3] = (TH1F *)hfile->Get("h_ADCAmpl_HO"); + HistAmpl[2][4] = (TH1F *)hfile->Get("h_ADCAmpl_HF"); + + //+++++++++++++++++++++++++++++ + //Test 3 (Wm) Rate of RMS + //+++++++++++++++++++++++++++++ + + Map_Ampl[3][1][1] = (TH2F *)hfile->Get("h_mapDepth1Amplitude225_HB"); + Map_Ampl[3][1][2] = (TH2F *)hfile->Get("h_mapDepth2Amplitude225_HB"); + Map_Ampl[3][2][1] = (TH2F *)hfile->Get("h_mapDepth1Amplitude225_HE"); + Map_Ampl[3][2][2] = (TH2F *)hfile->Get("h_mapDepth2Amplitude225_HE"); + Map_Ampl[3][2][3] = (TH2F *)hfile->Get("h_mapDepth3Amplitude225_HE"); + Map_Ampl[3][3][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HO"); + Map_Ampl[3][4][1] = (TH2F *)hfile->Get("h_mapDepth1Amplitude225_HF"); + Map_Ampl[3][4][2] = (TH2F *)hfile->Get("h_mapDepth2Amplitude225_HF"); + + Map_Ampl[3][2][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HE"); + Map_Ampl[3][2][5] = (TH2F *)hfile->Get("h_mapDepth5Amplitude225_HE"); + Map_Ampl[3][2][6] = (TH2F *)hfile->Get("h_mapDepth6Amplitude225_HE"); + Map_Ampl[3][2][7] = (TH2F *)hfile->Get("h_mapDepth7Amplitude225_HE"); + Map_Ampl[3][4][3] = (TH2F *)hfile->Get("h_mapDepth3Amplitude225_HF"); + Map_Ampl[3][4][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HF"); + + Map_Ampl[3][1][3] = (TH2F *)hfile->Get("h_mapDepth3Amplitude225_HB"); + Map_Ampl[3][1][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HB"); + + HistAmpl[3][1] = (TH1F *)hfile->Get("h_Amplitude_HB"); + HistAmpl[3][2] = (TH1F *)hfile->Get("h_Amplitude_HE"); + HistAmpl[3][3] = (TH1F *)hfile->Get("h_Amplitude_HO"); + HistAmpl[3][4] = (TH1F *)hfile->Get("h_Amplitude_HF"); + + //+++++++++++++++++++++++++++++ + //Test 4 (Rm) Rate of ratio 4 near max TS/ All TS + //+++++++++++++++++++++++++++++ + + Map_Ampl[4][1][1] = (TH2F *)hfile->Get("h_mapDepth1Ampl047_HB"); + Map_Ampl[4][1][2] = (TH2F *)hfile->Get("h_mapDepth2Ampl047_HB"); + Map_Ampl[4][2][1] = (TH2F *)hfile->Get("h_mapDepth1Ampl047_HE"); + Map_Ampl[4][2][2] = (TH2F *)hfile->Get("h_mapDepth2Ampl047_HE"); + Map_Ampl[4][2][3] = (TH2F *)hfile->Get("h_mapDepth3Ampl047_HE"); + Map_Ampl[4][3][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HO"); + Map_Ampl[4][4][1] = (TH2F *)hfile->Get("h_mapDepth1Ampl047_HF"); + Map_Ampl[4][4][2] = (TH2F *)hfile->Get("h_mapDepth2Ampl047_HF"); + + Map_Ampl[4][2][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HE"); + Map_Ampl[4][2][5] = (TH2F *)hfile->Get("h_mapDepth5Ampl047_HE"); + Map_Ampl[4][2][6] = (TH2F *)hfile->Get("h_mapDepth6Ampl047_HE"); + Map_Ampl[4][2][7] = (TH2F *)hfile->Get("h_mapDepth7Ampl047_HE"); + Map_Ampl[4][4][3] = (TH2F *)hfile->Get("h_mapDepth3Ampl047_HF"); + Map_Ampl[4][4][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HF"); + + Map_Ampl[4][1][3] = (TH2F *)hfile->Get("h_mapDepth3Ampl047_HB"); + Map_Ampl[4][1][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HB"); + + HistAmpl[4][1] = (TH1F *)hfile->Get("h_Ampl_HB"); + HistAmpl[4][2] = (TH1F *)hfile->Get("h_Ampl_HE"); + HistAmpl[4][3] = (TH1F *)hfile->Get("h_Ampl_HO"); + HistAmpl[4][4] = (TH1F *)hfile->Get("h_Ampl_HF"); + + //+++++++++++++++++++++++++++++ + //Test 5 (TNm) Mean position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[5][1][1] = (TH2F *)hfile->Get("h_mapDepth1TSmeanA225_HB"); + Map_Ampl[5][1][2] = (TH2F *)hfile->Get("h_mapDepth2TSmeanA225_HB"); + Map_Ampl[5][2][1] = (TH2F *)hfile->Get("h_mapDepth1TSmeanA225_HE"); + Map_Ampl[5][2][2] = (TH2F *)hfile->Get("h_mapDepth2TSmeanA225_HE"); + Map_Ampl[5][2][3] = (TH2F *)hfile->Get("h_mapDepth3TSmeanA225_HE"); + Map_Ampl[5][3][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HO"); + Map_Ampl[5][4][1] = (TH2F *)hfile->Get("h_mapDepth1TSmeanA225_HF"); + Map_Ampl[5][4][2] = (TH2F *)hfile->Get("h_mapDepth2TSmeanA225_HF"); + + Map_Ampl[5][2][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HE"); + Map_Ampl[5][2][5] = (TH2F *)hfile->Get("h_mapDepth5TSmeanA225_HE"); + Map_Ampl[5][2][6] = (TH2F *)hfile->Get("h_mapDepth6TSmeanA225_HE"); + Map_Ampl[5][2][7] = (TH2F *)hfile->Get("h_mapDepth7TSmeanA225_HE"); + Map_Ampl[5][4][3] = (TH2F *)hfile->Get("h_mapDepth3TSmeanA225_HF"); + Map_Ampl[5][4][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HF"); + + Map_Ampl[5][1][3] = (TH2F *)hfile->Get("h_mapDepth3TSmeanA225_HB"); + Map_Ampl[5][1][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HB"); + + HistAmpl[5][1] = (TH1F *)hfile->Get("h_TSmeanA_HB"); + HistAmpl[5][2] = (TH1F *)hfile->Get("h_TSmeanA_HE"); + HistAmpl[5][3] = (TH1F *)hfile->Get("h_TSmeanA_HO"); + HistAmpl[5][4] = (TH1F *)hfile->Get("h_TSmeanA_HF"); + + //+++++++++++++++++++++++++++++ + //Test 6 (TXm) Maximum position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[6][1][1] = (TH2F *)hfile->Get("h_mapDepth1TSmaxA225_HB"); + Map_Ampl[6][1][2] = (TH2F *)hfile->Get("h_mapDepth2TSmaxA225_HB"); + Map_Ampl[6][2][1] = (TH2F *)hfile->Get("h_mapDepth1TSmaxA225_HE"); + Map_Ampl[6][2][2] = (TH2F *)hfile->Get("h_mapDepth2TSmaxA225_HE"); + Map_Ampl[6][2][3] = (TH2F *)hfile->Get("h_mapDepth3TSmaxA225_HE"); + Map_Ampl[6][3][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HO"); + Map_Ampl[6][4][1] = (TH2F *)hfile->Get("h_mapDepth1TSmaxA225_HF"); + Map_Ampl[6][4][2] = (TH2F *)hfile->Get("h_mapDepth2TSmaxA225_HF"); + + Map_Ampl[6][2][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HE"); + Map_Ampl[6][2][5] = (TH2F *)hfile->Get("h_mapDepth5TSmaxA225_HE"); + Map_Ampl[6][2][6] = (TH2F *)hfile->Get("h_mapDepth6TSmaxA225_HE"); + Map_Ampl[6][2][7] = (TH2F *)hfile->Get("h_mapDepth7TSmaxA225_HE"); + Map_Ampl[6][4][3] = (TH2F *)hfile->Get("h_mapDepth3TSmaxA225_HF"); + Map_Ampl[6][4][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HF"); + + Map_Ampl[6][1][3] = (TH2F *)hfile->Get("h_mapDepth3TSmaxA225_HB"); + Map_Ampl[6][1][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HB"); + + HistAmpl[6][1] = (TH1F *)hfile->Get("h_TSmaxA_HB"); + HistAmpl[6][2] = (TH1F *)hfile->Get("h_TSmaxA_HE"); + HistAmpl[6][3] = (TH1F *)hfile->Get("h_TSmaxA_HO"); + HistAmpl[6][4] = (TH1F *)hfile->Get("h_TSmaxA_HF"); + + for (int test = 2; test <= 6; test++) { //Test: 2-Am, 3-Wm, 4-Rm, 5-TNm, 6-TXm, + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[test][sub][k]->SetTitle(str); + Map_Ampl[test][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[test][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[test][sub][k]->SetZTitle("Rate \b"); + if (sub == 3) + Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[test][sub][k]->Draw("COLZ"); + Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (test == 2) { + if (sub == 1) { + cHB->Print("MapRateAmplHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmplHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmplHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmplHF.png"); + cHF->Clear(); + } + } + if (test == 3) { + if (sub == 1) { + cHB->Print("MapRateRMSHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateRMSHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateRMSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateRMSHF.png"); + cHF->Clear(); + } + } + if (test == 4) { + if (sub == 1) { + cHB->Print("MapRate43TStoAllTSHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRate43TStoAllTSHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRate43TStoAllTSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRate43TStoAllTSHF.png"); + cHF->Clear(); + } + } + if (test == 5) { + if (sub == 1) { + cHB->Print("MapRateMeanPosHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateMeanPosHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMeanPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateMeanPosHF.png"); + cHF->Clear(); + } + } + if (test == 6) { + if (sub == 1) { + cHB->Print("MapRateMaxPosHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateMaxPosHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMaxPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateMaxPosHF.png"); + cHF->Clear(); + } + } + + // cONE->Divide(1,1); + /* + cONE->Divide(2,1); + if(test == 2 && sub == 2 ) { + cONE->cd(2); + TH1F *kjkjkhj2= (TH1F*)hfile->Get("h_ADCAmpl_HE");kjkjkhj2->Draw("");kjkjkhj2->SetTitle("HE, All Depth: shunt6"); + } + if(test == 2 && sub == 1 ) { + cONE->cd(2); + TH1F *kjkjkhj1= (TH1F*)hfile->Get("h_ADCAmpl_HB");kjkjkhj1->Draw("");kjkjkhj1->SetTitle("HB, All Depth: shunt6"); + } +*/ + + cONE->Divide(3, 1); + if (test == 2 && sub == 2) { + cONE->cd(2); + TH1F *kjkjkhj2 = (TH1F *)hfile->Get("h_AmplitudeHEtest1"); + kjkjkhj2->Draw(""); + kjkjkhj2->SetTitle("HE, All Depth: shunt1"); + cONE->cd(3); + TH1F *kjkjkhj3 = (TH1F *)hfile->Get("h_AmplitudeHEtest6"); + kjkjkhj3->Draw(""); + kjkjkhj3->SetTitle("HE, All Depth: shunt6"); + } + if (test == 2 && sub == 1) { + cONE->cd(2); + TH1F *kjkjkhb2 = (TH1F *)hfile->Get("h_AmplitudeHBtest1"); + kjkjkhb2->Draw(""); + kjkjkhb2->SetTitle("HB, All Depth: shunt1"); + cONE->cd(3); + TH1F *kjkjkhb3 = (TH1F *)hfile->Get("h_AmplitudeHBtest6"); + kjkjkhb3->Draw(""); + kjkjkhb3->SetTitle("HB, All Depth: shunt6"); + } + + cONE->cd(1); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + if (sub == 1) + HistAmpl[test][sub]->SetTitle("HB, All Depth: shunt6"); + if (sub == 2) + HistAmpl[test][sub]->SetTitle("HE, All Depth: shunt6"); + if (sub == 3) + HistAmpl[test][sub]->SetTitle("HO, All Depth"); + if (sub == 4) + HistAmpl[test][sub]->SetTitle("HF, All Depth"); + if (test == 2) + HistAmpl[test][sub]->SetXTitle("ADC Amlitude in each event & cell \b"); + if (test == 3) + HistAmpl[test][sub]->SetXTitle("RMS in each event & cell \b"); + if (test == 4) + HistAmpl[test][sub]->SetXTitle("Ratio in each event & cell \b"); + if (test == 5) + HistAmpl[test][sub]->SetXTitle("Mean TS position in each event & cell \b"); + if (test == 6) + HistAmpl[test][sub]->SetXTitle("Max TS position in each event & cell \b"); + HistAmpl[test][sub]->SetYTitle("Number of cell-events \b"); + HistAmpl[test][sub]->SetLineColor(4); + HistAmpl[test][sub]->SetLineWidth(2); + HistAmpl[test][sub]->SetTitleOffset(1.4, "Y"); + HistAmpl[test][sub]->Draw(""); + // // HistAmpl[test][sub]->GetYaxis()->SetRangeUser(1., 100.); + // if (test==2) {gPad->SetLogx(); HistAmpl[test][sub]->GetXaxis()->SetRangeUser(1., 10000.);} + if (test == 2) { + gPad->SetLogx(); + } + if (test == 3) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 5.); // width + if (test == 4) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 1.); // R + if (test == 5) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); // Tn + if (test == 6) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); // Tx + cONE->Modified(); + cONE->Update(); + double min_x[] = {MIN_M[test][sub], MIN_M[test][sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + double max_x[] = {MAX_M[test][sub], MAX_M[test][sub]}; + double max_y[] = {0., 100000000.}; + TGraph *MAX = new TGraph(2, max_x, max_y); + MAX->SetLineStyle(2); + MAX->SetLineColor(2); + MAX->SetLineWidth(-2 - 100 * 100); + MAX->SetFillStyle(3004); + MAX->SetFillColor(2); + MAX->Draw("L"); + if (test == 2) { + if (sub == 1) { + cONE->Print("HistAmplHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistAmplHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistAmplHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistAmplHF.png"); + cONE->Clear(); + } + } + if (test == 3) { + if (sub == 1) { + cONE->Print("HistRMSHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistRMSHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistRMSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistRMSHF.png"); + cONE->Clear(); + } + } + if (test == 4) { + if (sub == 1) { + cONE->Print("Hist43TStoAllTSHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("Hist43TStoAllTSHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("Hist43TStoAllTSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("Hist43TStoAllTSHF.png"); + cONE->Clear(); + } + } + if (test == 5) { + if (sub == 1) { + cONE->Print("HistMeanPosHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMeanPosHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMeanPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMeanPosHF.png"); + cONE->Clear(); + } + } + if (test == 6) { + if (sub == 1) { + cONE->Print("HistMaxPosHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMaxPosHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMaxPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMaxPosHF.png"); + cONE->Clear(); + } + } + } // end sub + } //end test + + TH2F *Map_Calib[5][5]; // 2d histogramm for subdet, depth + + Map_Calib[1][1] = (TH2F *)hfile->Get("h_map_HB"); + Map_Calib[1][2] = (TH2F *)hfile->Get("h_map_HB"); + Map_Calib[2][1] = (TH2F *)hfile->Get("h_map_HE"); + Map_Calib[2][2] = (TH2F *)hfile->Get("h_map_HE"); + Map_Calib[2][3] = (TH2F *)hfile->Get("h_map_HE"); + Map_Calib[3][4] = (TH2F *)hfile->Get("h_map_HO"); + Map_Calib[4][1] = (TH2F *)hfile->Get("h_map_HF"); + Map_Calib[4][2] = (TH2F *)hfile->Get("h_map_HF"); + + //+++++++++++++++++++++++++++++ + //Test 0 Entries + //+++++++++++++++++++++++++++++ + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + // if (sub==2) cHE->Divide(3,1); + cONE->Divide(1, 1); + // if (sub==4) cHB->Divide(2,1); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth + int k = 1; + cONE->cd(k); + // if (sub==1) cHB->cd(k); + // if (sub==2) cHE->cd(k); + if (sub == 3) + k = 4; + // if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB"); + if (sub == 2) + sprintf(str, "HE"); + if (sub == 3) + sprintf(str, "HO"); + if (sub == 4) + sprintf(str, "HF"); + Map_Calib[sub][k]->SetTitle(str); + Map_Calib[sub][k]->SetXTitle("#eta \b"); + Map_Calib[sub][k]->SetYTitle("#phi \b"); + Map_Calib[sub][k]->SetZTitle("Number of events\b"); + if (sub == 3) + Map_Calib[sub][k]->SetTitleOffset(0.8, "Z"); + Map_Calib[sub][k]->Draw("COLZ"); + Map_Calib[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // Map_Calib[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + // if (sub==1) {cHB->Modified(); cHB->Update();} + // if (sub==2) {cHE->Modified(); cHE->Update();} + cONE->Modified(); + cONE->Update(); + // if (sub==4) {cHB->Modified(); cHB->Update();} + // }//end depth + + if (sub == 1) { + cONE->Print("MapRateCalibEntryHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateCalibEntryHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateCalibEntryHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateCalibEntryHF.png"); + cONE->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 11 (Cc) Rate of Cap ID errors for calibration channels + //+++++++++++++++++++++++++++++ + + Map_Ampl[11][1][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HB"); + Map_Ampl[11][1][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HB"); + Map_Ampl[11][2][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); + Map_Ampl[11][2][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); + Map_Ampl[11][2][3] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); + Map_Ampl[11][3][4] = (TH2F *)hfile->Get("h_mapCapCalib047_HO"); + Map_Ampl[11][4][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HF"); + Map_Ampl[11][4][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HF"); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + // if (sub==2) cHE->Divide(3,1); + cONE->Divide(1, 1); + // if (sub==4) cHB->Divide(2,1); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth + int k = 1; + cONE->cd(k); + // if (sub==1) cHB->cd(k); + // if (sub==2) cHE->cd(k); + if (sub == 3) + k = 4; + // if (sub==4) cHB->cd(k); + Map_Ampl[11][sub][k]->Divide(Map_Ampl[11][sub][k], Map_Calib[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB"); + if (sub == 2) + sprintf(str, "HE"); + if (sub == 3) + sprintf(str, "HO"); + if (sub == 4) + sprintf(str, "HF"); + Map_Ampl[11][sub][k]->SetTitle(str); + Map_Ampl[11][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[11][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[11][sub][k]->SetZTitle("Rate \b"); + Map_Ampl[11][sub][k]->SetTitleOffset(0.75, "Z"); + Map_Ampl[11][sub][k]->Draw("COLZ"); + Map_Ampl[11][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[11][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + // if (sub==1) {cHB->Modified(); cHB->Update();} + // if (sub==2) {cHE->Modified(); cHE->Update();} + cONE->Modified(); + cONE->Update(); + // if (sub==4) {cHB->Modified(); cHB->Update();} + // }//end depth + + if (sub == 1) { + cONE->Print("MapRateCapCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateCapCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateCapCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateCapCalibHF.png"); + cONE->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 12 (Ac) ADC amplitude for calibration chanels + //+++++++++++++++++++++++++++++ + + Map_Ampl[12][1][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HB"); + Map_Ampl[12][1][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HB"); + Map_Ampl[12][2][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); + Map_Ampl[12][2][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); + Map_Ampl[12][2][3] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); + Map_Ampl[12][3][4] = (TH2F *)hfile->Get("h_mapADCCalib047_HO"); + Map_Ampl[12][4][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HF"); + Map_Ampl[12][4][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HF"); + + HistAmpl[12][1] = (TH1F *)hfile->Get("h_ADCCalib_HB"); + HistAmpl[12][2] = (TH1F *)hfile->Get("h_ADCCalib_HE"); + HistAmpl[12][3] = (TH1F *)hfile->Get("h_ADCCalib_HO"); + HistAmpl[12][4] = (TH1F *)hfile->Get("h_ADCCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 13 (Wc) Rate of RMS + //+++++++++++++++++++++++++++++ + + Map_Ampl[13][1][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HB"); + Map_Ampl[13][1][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HB"); + Map_Ampl[13][2][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); + Map_Ampl[13][2][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); + Map_Ampl[13][2][3] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); + Map_Ampl[13][3][4] = (TH2F *)hfile->Get("h_mapWidthCalib047_HO"); + Map_Ampl[13][4][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HF"); + Map_Ampl[13][4][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HF"); + + HistAmpl[13][1] = (TH1F *)hfile->Get("h_WidthCalib_HB"); + HistAmpl[13][2] = (TH1F *)hfile->Get("h_WidthCalib_HE"); + HistAmpl[13][3] = (TH1F *)hfile->Get("h_WidthCalib_HO"); + HistAmpl[13][4] = (TH1F *)hfile->Get("h_WidthCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 14 (Rc) Rate of ratio 4 near max TS/ All TS + //+++++++++++++++++++++++++++++ + + Map_Ampl[14][1][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HB"); + Map_Ampl[14][1][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HB"); + Map_Ampl[14][2][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); + Map_Ampl[14][2][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); + Map_Ampl[14][2][3] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); + Map_Ampl[14][3][4] = (TH2F *)hfile->Get("h_mapRatioCalib047_HO"); + Map_Ampl[14][4][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HF"); + Map_Ampl[14][4][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HF"); + + HistAmpl[14][1] = (TH1F *)hfile->Get("h_RatioCalib_HB"); + HistAmpl[14][2] = (TH1F *)hfile->Get("h_RatioCalib_HE"); + HistAmpl[14][3] = (TH1F *)hfile->Get("h_RatioCalib_HO"); + HistAmpl[14][4] = (TH1F *)hfile->Get("h_RatioCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 15 (TNc) Mean position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[15][1][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HB"); + Map_Ampl[15][1][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HB"); + Map_Ampl[15][2][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); + Map_Ampl[15][2][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); + Map_Ampl[15][2][3] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); + Map_Ampl[15][3][4] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HO"); + Map_Ampl[15][4][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HF"); + Map_Ampl[15][4][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HF"); + + HistAmpl[15][1] = (TH1F *)hfile->Get("h_TSmeanCalib_HB"); + HistAmpl[15][2] = (TH1F *)hfile->Get("h_TSmeanCalib_HE"); + HistAmpl[15][3] = (TH1F *)hfile->Get("h_TSmeanCalib_HO"); + HistAmpl[15][4] = (TH1F *)hfile->Get("h_TSmeanCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 16 (TXc) Maximum position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[16][1][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HB"); + Map_Ampl[16][1][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HB"); + Map_Ampl[16][2][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); + Map_Ampl[16][2][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); + Map_Ampl[16][2][3] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); + Map_Ampl[16][3][4] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HO"); + Map_Ampl[16][4][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HF"); + Map_Ampl[16][4][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HF"); + + HistAmpl[16][1] = (TH1F *)hfile->Get("h_TSmaxCalib_HB"); + HistAmpl[16][2] = (TH1F *)hfile->Get("h_TSmaxCalib_HE"); + HistAmpl[16][3] = (TH1F *)hfile->Get("h_TSmaxCalib_HO"); + HistAmpl[16][4] = (TH1F *)hfile->Get("h_TSmaxCalib_HF"); + + for (int test = 12; test <= 16; test++) { //Test: 2-Am, 3-Wm, 4-Rm, 5-TNm, 6-TXm, + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + if (sub == 1) + cONE->Divide(1, 1); //cHB->Divide(2,1); + if (sub == 2) + cONE->Divide(1, 1); //cHE->Divide(3,1); + if (sub == 3) + cONE->Divide(1, 1); + if (sub == 4) + cONE->Divide(1, 1); //cHB->Divide(2,1); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth + int k = 1; + if (sub == 1) { + k = 1; + cONE->cd(k); + } //cHB->cd(k); } + if (sub == 2) { + k = 1; + cONE->cd(k); + } //cHE->cd(k); } + if (sub == 3) { + k = 4; + cONE->cd(k - 3); + } + if (sub == 4) { + k = 1; + cONE->cd(k); + } //cHB->cd(k); } + Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_Calib[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB"); + if (sub == 2) + sprintf(str, "HE"); + if (sub == 3) + sprintf(str, "HO"); + if (sub == 4) + sprintf(str, "HF"); + Map_Ampl[test][sub][k]->SetTitle(str); + Map_Ampl[test][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[test][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[test][sub][k]->SetZTitle("Rate \b"); + Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[test][sub][k]->Draw("COLZ"); + Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.00001, 1.); + // if (sub==1) {cHB->Modified(); cHB->Update();} + // if (sub==2) {cHE->Modified(); cHE->Update();} + cONE->Modified(); + cONE->Update(); + // if (sub==4) {cHB->Modified(); cHB->Update();} + // }//end depth + if (test == 12) { + if (sub == 1) { + cONE->Print("MapRateAmplCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateAmplCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmplCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateAmplCalibHF.png"); + cONE->Clear(); + } + } + if (test == 13) { + if (sub == 1) { + cONE->Print("MapRateRMSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateRMSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateRMSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateRMSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 14) { + if (sub == 1) { + cONE->Print("MapRate43TStoAllTSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRate43TStoAllTSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRate43TStoAllTSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRate43TStoAllTSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 15) { + if (sub == 1) { + cONE->Print("MapRateMeanPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateMeanPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMeanPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateMeanPosCalibHF.png"); + cONE->Clear(); + } + } + if (test == 16) { + if (sub == 1) { + cONE->Print("MapRateMaxPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateMaxPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMaxPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateMaxPosCalibHF.png"); + cONE->Clear(); + } + } + + cONE->Divide(1, 1); + cONE->cd(1); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + if (sub == 1) + HistAmpl[test][sub]->SetTitle("HB, All Depth"); + if (sub == 2) + HistAmpl[test][sub]->SetTitle("HE, All Depth"); + if (sub == 3) + HistAmpl[test][sub]->SetTitle("HO, All Depth"); + if (sub == 4) + HistAmpl[test][sub]->SetTitle("HF, All Depth"); + if (test == 12) + HistAmpl[test][sub]->SetXTitle("ADC Amlitude in each event & cell \b"); + if (test == 13) + HistAmpl[test][sub]->SetXTitle("Amplitude RMS in each event & cell \b"); + if (test == 14) + HistAmpl[test][sub]->SetXTitle("Ratio in each event & cell \b"); + if (test == 15) + HistAmpl[test][sub]->SetXTitle("Mean TS position in each event & cell \b"); + if (test == 16) + HistAmpl[test][sub]->SetXTitle("Max TS position in each event & cell \b"); + HistAmpl[test][sub]->SetYTitle("Number of cell-events \b"); + HistAmpl[test][sub]->SetLineColor(4); + HistAmpl[test][sub]->SetLineWidth(2); + HistAmpl[test][sub]->SetTitleOffset(1.4, "Y"); + HistAmpl[test][sub]->Draw(""); + // HistAmpl[test][sub]->GetYaxis()->SetRangeUser(1., 100.); + if (test == 12) { + gPad->SetLogx(); + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(1., 10000.); + } + if (test == 13) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 5.); + if (test == 14) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 1.); + if (test == 15) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); + if (test == 16) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); + cONE->Modified(); + cONE->Update(); + double min_x[] = {MIN_C[test - 10][sub], MIN_C[test - 10][sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + double max_x[] = {MAX_C[test - 10][sub], MAX_C[test - 10][sub]}; + double max_y[] = {0., 100000000.}; + TGraph *MAX = new TGraph(2, max_x, max_y); + MAX->SetLineStyle(2); + MAX->SetLineColor(2); + MAX->SetLineWidth(-2 - 100 * 100); + MAX->SetFillStyle(3004); + MAX->SetFillColor(2); + MAX->Draw("L"); + if (test == 12) { + if (sub == 1) { + cONE->Print("HistAmplCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistAmplCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistAmplCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistAmplCalibHF.png"); + cONE->Clear(); + } + } + if (test == 13) { + if (sub == 1) { + cONE->Print("HistRMSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistRMSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistRMSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistRMSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 14) { + if (sub == 1) { + cONE->Print("Hist43TStoAllTSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("Hist43TStoAllTSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("Hist43TStoAllTSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("Hist43TStoAllTSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 15) { + if (sub == 1) { + cONE->Print("HistMeanPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMeanPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMeanPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMeanPosCalibHF.png"); + cONE->Clear(); + } + } + if (test == 16) { + if (sub == 1) { + cONE->Print("HistMaxPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMaxPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMaxPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMaxPosCalibHF.png"); + cONE->Clear(); + } + } + } // end sub + } //end test + + //+++++++++++++++++++++++++++++ + //Test 21 (GS) Amplitude drift + //+++++++++++++++++++++++++++++ + + Map_Ampl[21][1][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HB"); + Map_Ampl[21][1][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HB"); + Map_Ampl[21][1][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HB"); + Map_Ampl[21][1][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HB"); + Map_Ampl[21][2][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HE"); + Map_Ampl[21][2][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HE"); + Map_Ampl[21][2][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HE"); + Map_Ampl[21][2][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HE"); + Map_Ampl[21][2][5] = (TH2F *)hfile->Get("h_mapDepth5AmplE34_HE"); + Map_Ampl[21][2][6] = (TH2F *)hfile->Get("h_mapDepth6AmplE34_HE"); + Map_Ampl[21][2][7] = (TH2F *)hfile->Get("h_mapDepth7AmplE34_HE"); + Map_Ampl[21][3][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HO"); + Map_Ampl[21][4][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HF"); + Map_Ampl[21][4][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HF"); + Map_Ampl[21][4][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HF"); + Map_Ampl[21][4][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HF"); + + TH2F *Map_RefAmpl[5][ALLDEPTH]; // 2D histogramm for subdet, depth + TH2F *Map_RefSUB[5][ALLDEPTH]; // 2d histogramm for subdet, depth + + Map_RefAmpl[1][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HB"); + Map_RefAmpl[1][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HB"); + Map_RefAmpl[1][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HB"); + Map_RefAmpl[1][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HB"); + Map_RefAmpl[2][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HE"); + Map_RefAmpl[2][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HE"); + Map_RefAmpl[2][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HE"); + Map_RefAmpl[2][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HE"); + Map_RefAmpl[2][5] = (TH2F *)hreffile->Get("h_mapDepth5AmplE34_HE"); + Map_RefAmpl[2][6] = (TH2F *)hreffile->Get("h_mapDepth6AmplE34_HE"); + Map_RefAmpl[2][7] = (TH2F *)hreffile->Get("h_mapDepth7AmplE34_HE"); + Map_RefAmpl[3][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HO"); + Map_RefAmpl[4][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HF"); + Map_RefAmpl[4][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HF"); + Map_RefAmpl[4][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HF"); + Map_RefAmpl[4][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HF"); + + Map_RefSUB[1][1] = (TH2F *)hreffile->Get("h_mapDepth1_HB"); + Map_RefSUB[1][2] = (TH2F *)hreffile->Get("h_mapDepth2_HB"); + Map_RefSUB[1][3] = (TH2F *)hreffile->Get("h_mapDepth3_HB"); + Map_RefSUB[1][4] = (TH2F *)hreffile->Get("h_mapDepth4_HB"); + Map_RefSUB[2][1] = (TH2F *)hreffile->Get("h_mapDepth1_HE"); + Map_RefSUB[2][2] = (TH2F *)hreffile->Get("h_mapDepth2_HE"); + Map_RefSUB[2][3] = (TH2F *)hreffile->Get("h_mapDepth3_HE"); + Map_RefSUB[2][4] = (TH2F *)hreffile->Get("h_mapDepth4_HE"); + Map_RefSUB[2][5] = (TH2F *)hreffile->Get("h_mapDepth5_HE"); + Map_RefSUB[2][6] = (TH2F *)hreffile->Get("h_mapDepth6_HE"); + Map_RefSUB[2][7] = (TH2F *)hreffile->Get("h_mapDepth7_HE"); + Map_RefSUB[3][4] = (TH2F *)hreffile->Get("h_mapDepth4_HO"); + Map_RefSUB[4][1] = (TH2F *)hreffile->Get("h_mapDepth1_HF"); + Map_RefSUB[4][2] = (TH2F *)hreffile->Get("h_mapDepth2_HF"); + Map_RefSUB[4][3] = (TH2F *)hreffile->Get("h_mapDepth3_HF"); + Map_RefSUB[4][4] = (TH2F *)hreffile->Get("h_mapDepth4_HF"); + + HistAmplDepth[21][1][1] = new TH1F("diffAmpl_Depth1_HB", "", 100, -10., 10.); + HistAmplDepth[21][1][2] = new TH1F("diffAmpl_Depth2_HB", "", 100, -10., 10.); + HistAmplDepth[21][1][3] = new TH1F("diffAmpl_Depth3_HB", "", 100, -10., 10.); + HistAmplDepth[21][1][4] = new TH1F("diffAmpl_Depth4_HB", "", 100, -10., 10.); + HistAmplDepth[21][2][1] = new TH1F("diffAmpl_Depth1_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][2] = new TH1F("diffAmpl_Depth2_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][3] = new TH1F("diffAmpl_Depth3_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][4] = new TH1F("diffAmpl_Depth4_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][5] = new TH1F("diffAmpl_Depth5_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][6] = new TH1F("diffAmpl_Depth6_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][7] = new TH1F("diffAmpl_Depth7_HE", "", 100, -10., 10.); + HistAmplDepth[21][3][4] = new TH1F("diffAmpl_Depth4_HO", "", 100, -10., 10.); + HistAmplDepth[21][4][1] = new TH1F("diffAmpl_Depth1_HF", "", 100, -10., 10.); + HistAmplDepth[21][4][2] = new TH1F("diffAmpl_Depth2_HF", "", 100, -10., 10.); + HistAmplDepth[21][4][3] = new TH1F("diffAmpl_Depth3_HF", "", 100, -10., 10.); + HistAmplDepth[21][4][4] = new TH1F("diffAmpl_Depth4_HF", "", 100, -10., 10.); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[21][sub][k]->Divide(Map_Ampl[21][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[21][sub][k]->SetTitle(str); + Map_Ampl[21][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[21][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[21][sub][k]->SetZTitle("Response \b"); + Map_Ampl[21][sub][k]->SetTitleOffset(1.1, "Z"); + Map_Ampl[21][sub][k]->Draw("COLZ"); + Map_Ampl[21][sub][k]->GetYaxis()->SetRangeUser(0, 71.); + // Map_Ampl[21][sub][k]->GetZaxis()->SetRangeUser(1., 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (sub == 1) { + cHB->Print("MapRateAmpl1HB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmpl1HE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmpl1HO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmpl1HF.png"); + cHF->Clear(); + } + + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_RefAmpl[sub][k]->Divide(Map_RefAmpl[sub][k], Map_RefSUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_RefAmpl[sub][k]->SetTitle(str); + Map_RefAmpl[sub][k]->SetXTitle("#eta \b"); + Map_RefAmpl[sub][k]->SetYTitle("#phi \b"); + Map_RefAmpl[sub][k]->SetZTitle("Response\b"); + Map_RefAmpl[sub][k]->SetTitleOffset(1.1, "Z"); + Map_RefAmpl[sub][k]->Draw("COLZ"); + Map_RefAmpl[sub][k]->GetYaxis()->SetRangeUser(0, 71.); + // Map_RefAmpl[21][sub][k]->GetZaxis()->SetRangeUser(1., 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (sub == 1) { + cHB->Print("MapRateAmpl2HB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmpl2HE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmpl2HO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmpl2HF.png"); + cHF->Clear(); + } + + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + TH2F *TTT = new TH2F("Map", "Map", 82, -41, 40, 72, 0, 71); + for (int x = 1; x <= Map_Ampl[21][sub][k]->GetXaxis()->GetNbins(); x++) { + for (int y = 1; y <= Map_Ampl[21][sub][k]->GetYaxis()->GetNbins(); y++) { + if (Map_Ampl[21][sub][k]->GetBinContent(x, y) != 0 && Map_RefAmpl[sub][k]->GetBinContent(x, y) != 0) { + double ccc1 = Map_Ampl[21][sub][k]->GetBinContent(x, y) - Map_RefAmpl[sub][k]->GetBinContent(x, y); + ccc1 = 100. * ccc1 / Map_Ampl[21][sub][k]->GetBinContent(x, y); // in % + HistAmplDepth[21][sub][k]->Fill(ccc1); + Map_Ampl[21][sub][k]->SetBinContent(x, y, fabs(ccc1)); + if (fabs(ccc1) > porog[sub]) + TTT->SetBinContent(x, y, fabs(ccc1)); + else + TTT->SetBinContent(x, y, 0); + } + } //end y + } //esnd x + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + TTT->SetTitle(str); + TTT->SetXTitle("#eta \b"); + TTT->SetYTitle("#phi \b"); + TTT->SetZTitle("Relative difference, % \b"); + TTT->SetTitleOffset(0.9, "Z"); + TTT->Draw("COLZ"); + TTT->GetYaxis()->SetRangeUser(0, 71.); + TTT->GetZaxis()->SetRangeUser(0, 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + + if (sub == 1) { + cHB->Print("MapRateAmplDriftHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmplDriftHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmplDriftHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmplDriftHF.png"); + cHF->Clear(); + } + //////////////////////////////////////////////////////////////////////////////////// + + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + HistAmplDepth[21][sub][k]->SetTitle(str); + HistAmplDepth[21][sub][k]->SetYTitle("Number of cell-events \b"); + HistAmplDepth[21][sub][k]->SetXTitle("Per cent \b"); + HistAmplDepth[21][sub][k]->SetLineColor(4); + HistAmplDepth[21][sub][k]->SetLineWidth(2); + HistAmplDepth[21][sub][k]->SetTitleOffset(1.4, "Y"); + HistAmplDepth[21][sub][k]->Draw(); + // HistAmplDepth[21][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + HistAmplDepth[21][sub][k]->GetXaxis()->SetRangeUser(-10., 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + double min_x[] = {-1 * porog[sub], -1 * porog[sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + double max_x[] = {porog[sub], porog[sub]}; + double max_y[] = {0., 100000000.}; + TGraph *MAX = new TGraph(2, max_x, max_y); + MAX->SetLineStyle(2); + MAX->SetLineColor(2); + MAX->SetLineWidth(-2 - 100 * 100); + MAX->SetFillStyle(3004); + MAX->SetFillColor(2); + MAX->Draw("L"); + } // end depth + if (sub == 1) { + cHB->Print("HistAmplDriftDepthHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("HistAmplDriftDepthHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("HistAmplDriftDepthHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("HistAmplDriftDepthHF.png"); + cHF->Clear(); + } + } //end sub + + //+++++++++++++++++++++++++++++++++++ + //Test 31, 32 Pedestal, pedestalWidths + //++++++++++++++++++++++++++++++++++++ + + Map_Ampl[31][1][1] = (TH2F *)hfile->Get("h_mapDepth1pedestal_HB"); + Map_Ampl[31][1][2] = (TH2F *)hfile->Get("h_mapDepth2pedestal_HB"); + Map_Ampl[31][1][3] = (TH2F *)hfile->Get("h_mapDepth3pedestal_HB"); + Map_Ampl[31][1][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HB"); + Map_Ampl[31][2][1] = (TH2F *)hfile->Get("h_mapDepth1pedestal_HE"); + Map_Ampl[31][2][2] = (TH2F *)hfile->Get("h_mapDepth2pedestal_HE"); + Map_Ampl[31][2][3] = (TH2F *)hfile->Get("h_mapDepth3pedestal_HE"); + Map_Ampl[31][2][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HE"); + Map_Ampl[31][2][5] = (TH2F *)hfile->Get("h_mapDepth5pedestal_HE"); + Map_Ampl[31][2][6] = (TH2F *)hfile->Get("h_mapDepth6pedestal_HE"); + Map_Ampl[31][2][7] = (TH2F *)hfile->Get("h_mapDepth7pedestal_HE"); + Map_Ampl[31][3][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HO"); + Map_Ampl[31][4][1] = (TH2F *)hfile->Get("h_mapDepth1pedestal_HF"); + Map_Ampl[31][4][2] = (TH2F *)hfile->Get("h_mapDepth2pedestal_HF"); + Map_Ampl[31][4][3] = (TH2F *)hfile->Get("h_mapDepth3pedestal_HF"); + Map_Ampl[31][4][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HF"); + + Map_Ampl[32][1][1] = (TH2F *)hfile->Get("h_mapDepth1pedestalw_HB"); + Map_Ampl[32][1][2] = (TH2F *)hfile->Get("h_mapDepth2pedestalw_HB"); + Map_Ampl[32][1][3] = (TH2F *)hfile->Get("h_mapDepth3pedestalw_HB"); + Map_Ampl[32][1][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HB"); + Map_Ampl[32][2][1] = (TH2F *)hfile->Get("h_mapDepth1pedestalw_HE"); + Map_Ampl[32][2][2] = (TH2F *)hfile->Get("h_mapDepth2pedestalw_HE"); + Map_Ampl[32][2][3] = (TH2F *)hfile->Get("h_mapDepth3pedestalw_HE"); + Map_Ampl[32][2][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HE"); + Map_Ampl[32][2][5] = (TH2F *)hfile->Get("h_mapDepth5pedestalw_HE"); + Map_Ampl[32][2][6] = (TH2F *)hfile->Get("h_mapDepth6pedestalw_HE"); + Map_Ampl[32][2][7] = (TH2F *)hfile->Get("h_mapDepth7pedestalw_HE"); + Map_Ampl[32][3][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HO"); + Map_Ampl[32][4][1] = (TH2F *)hfile->Get("h_mapDepth1pedestalw_HF"); + Map_Ampl[32][4][2] = (TH2F *)hfile->Get("h_mapDepth2pedestalw_HF"); + Map_Ampl[32][4][3] = (TH2F *)hfile->Get("h_mapDepth3pedestalw_HF"); + Map_Ampl[32][4][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HF"); + + HistPed[1][1][0] = (TH1F *)hfile->Get("h_pedestal0_HB"); + HistPed[1][1][1] = (TH1F *)hfile->Get("h_pedestal1_HB"); + HistPed[1][1][2] = (TH1F *)hfile->Get("h_pedestal2_HB"); + HistPed[1][1][3] = (TH1F *)hfile->Get("h_pedestal3_HB"); + HistPed[2][1][0] = (TH1F *)hfile->Get("h_pedestalw0_HB"); + HistPed[2][1][1] = (TH1F *)hfile->Get("h_pedestalw1_HB"); + HistPed[2][1][2] = (TH1F *)hfile->Get("h_pedestalw2_HB"); + HistPed[2][1][3] = (TH1F *)hfile->Get("h_pedestalw3_HB"); + + HistPed[1][2][0] = (TH1F *)hfile->Get("h_pedestal0_HE"); + HistPed[1][2][1] = (TH1F *)hfile->Get("h_pedestal1_HE"); + HistPed[1][2][2] = (TH1F *)hfile->Get("h_pedestal2_HE"); + HistPed[1][2][3] = (TH1F *)hfile->Get("h_pedestal3_HE"); + HistPed[2][2][0] = (TH1F *)hfile->Get("h_pedestalw0_HE"); + HistPed[2][2][1] = (TH1F *)hfile->Get("h_pedestalw1_HE"); + HistPed[2][2][2] = (TH1F *)hfile->Get("h_pedestalw2_HE"); + HistPed[2][2][3] = (TH1F *)hfile->Get("h_pedestalw3_HE"); + + HistPed[1][3][0] = (TH1F *)hfile->Get("h_pedestal0_HO"); + HistPed[1][3][1] = (TH1F *)hfile->Get("h_pedestal1_HO"); + HistPed[1][3][2] = (TH1F *)hfile->Get("h_pedestal2_HO"); + HistPed[1][3][3] = (TH1F *)hfile->Get("h_pedestal3_HO"); + HistPed[2][3][0] = (TH1F *)hfile->Get("h_pedestalw0_HO"); + HistPed[2][3][1] = (TH1F *)hfile->Get("h_pedestalw1_HO"); + HistPed[2][3][2] = (TH1F *)hfile->Get("h_pedestalw2_HO"); + HistPed[2][3][3] = (TH1F *)hfile->Get("h_pedestalw3_HO"); + + HistPed[1][4][0] = (TH1F *)hfile->Get("h_pedestal0_HF"); + HistPed[1][4][1] = (TH1F *)hfile->Get("h_pedestal1_HF"); + HistPed[1][4][2] = (TH1F *)hfile->Get("h_pedestal2_HF"); + HistPed[1][4][3] = (TH1F *)hfile->Get("h_pedestal3_HF"); + HistPed[2][4][0] = (TH1F *)hfile->Get("h_pedestalw0_HF"); + HistPed[2][4][1] = (TH1F *)hfile->Get("h_pedestalw1_HF"); + HistPed[2][4][2] = (TH1F *)hfile->Get("h_pedestalw2_HF"); + HistPed[2][4][3] = (TH1F *)hfile->Get("h_pedestalw3_HF"); + + for (int test = 31; test <= 32; test++) { //Test: 31-Pedestals, 32-pedestal Widths, + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depths + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[test][sub][k]->SetTitle(str); + Map_Ampl[test][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[test][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[test][sub][k]->SetZTitle("Rate \b"); + if (sub == 3) + Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[test][sub][k]->Draw("COLZ"); + Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (test == 31) { + if (sub == 1) { + cHB->Print("MapRatePedHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRatePedHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRatePedHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRatePedHF.png"); + cHF->Clear(); + } + } + if (test == 32) { + if (sub == 1) { + cHB->Print("MapRatePedWidthsHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRatePedWidthsHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRatePedWidthsHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRatePedWidthsHF.png"); + cHF->Clear(); + } + } + + /////////////////////////////////////////////// + + cPED->Divide(2, 2); + for (int cap = 0; cap <= 3; cap++) { + cPED->cd(cap + 1); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + + if (sub == 1) + sprintf(str, "HB, Cap%d, all depth\b", cap); + if (sub == 2) + sprintf(str, "HE, Cap%d, all depth\b", cap); + if (sub == 3) + sprintf(str, "HO, Cap%d, all depth\b", cap); + if (sub == 4) + sprintf(str, "HF, Cap%d, all depth\b", cap); + + HistPed[test - 30][sub][cap]->SetTitle(str); + + if (test == 31) + HistPed[test - 30][sub][cap]->SetXTitle("Pedestals in each event & cell \b"); + if (test == 32) + HistPed[test - 30][sub][cap]->SetXTitle("Pedestal Widths in each event & cell \b"); + + HistPed[test - 30][sub][cap]->SetYTitle("Number of channel-events \b"); + HistPed[test - 30][sub][cap]->SetLineColor(4); + HistPed[test - 30][sub][cap]->SetLineWidth(2); + HistPed[test - 30][sub][cap]->SetTitleOffset(1.4, "Y"); + HistPed[test - 30][sub][cap]->Draw(""); + // HistPed[test-30][sub][cap]->GetYaxis()->SetRangeUser(1., 100.); + // if (test==31) {gPad->SetLogx(); HistPed[test-30][sub][cap]->GetXaxis()->SetRangeUser(1., 10000.);} + // if (test==32) HistPed[test-30][sub][cap]->GetXaxis()->SetRangeUser(0., 5.); + + cPED->Modified(); + cPED->Update(); + double min_x[] = {Pedest[test - 31][sub], Pedest[test - 31][sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + } + if (test == 31) { + if (sub == 1) { + cPED->Print("HistPedestalsHB.png"); + cPED->Clear(); + } + if (sub == 2) { + cPED->Print("HistPedestalsHE.png"); + cPED->Clear(); + } + if (sub == 3) { + cPED->Print("HistPedestalsHO.png"); + cPED->Clear(); + } + if (sub == 4) { + cPED->Print("HistPedestalsHF.png"); + cPED->Clear(); + } + } + if (test == 32) { + if (sub == 1) { + cPED->Print("HistPedestalWidthsHB.png"); + cPED->Clear(); + } + if (sub == 2) { + cPED->Print("HistPedestalWidthsHE.png"); + cPED->Clear(); + } + if (sub == 3) { + cPED->Print("HistPedestalWidthsHO.png"); + cPED->Clear(); + } + if (sub == 4) { + cPED->Print("HistPedestalWidthsHF.png"); + cPED->Clear(); + } + } + } // end sub + } //end test 31,32 + + //+++++++++++++++++++++++++++++++++++ + //Test 33 Correlation of Pedestal, pedestalWidths Vs fullAmplitude + //++++++++++++++++++++++++++++++++++++ + + cPED->Clear(); + Map_Ped[1][1] = (TH2F *)hfile->Get("h2_pedvsampl_HB"); + Map_Ped[1][2] = (TH2F *)hfile->Get("h2_pedvsampl_HE"); + Map_Ped[1][3] = (TH2F *)hfile->Get("h2_pedvsampl_HO"); + Map_Ped[1][4] = (TH2F *)hfile->Get("h2_pedvsampl_HF"); + Map_Ped[2][1] = (TH2F *)hfile->Get("h2_pedwvsampl_HB"); + Map_Ped[2][2] = (TH2F *)hfile->Get("h2_pedwvsampl_HE"); + Map_Ped[2][3] = (TH2F *)hfile->Get("h2_pedwvsampl_HO"); + Map_Ped[2][4] = (TH2F *)hfile->Get("h2_pedwvsampl_HF"); + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + cPED->Divide(2, 1); + for (int test = 1; test <= 2; test++) { + cPED->cd(test); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (test == 1) + Map_Ped[test][sub]->SetXTitle("Pedestal, fC \b"); + if (test == 2) + Map_Ped[test][sub]->SetXTitle("pedestal Width, fC \b"); + Map_Ped[test][sub]->SetYTitle("Amplitude, fC \b"); + Map_Ped[test][sub]->SetZTitle("entries \b"); + if (test == 1) + sprintf(str, "Cap0 Pedestal vs Amplitude \b"); + if (test == 2) + sprintf(str, "Cap0 pedestalWidth vs Amplitude \b"); + Map_Ped[test][sub]->SetTitle(str); + Map_Ped[test][sub]->Draw("COLZ"); + // Map_Ped[test][sub]->GetYaxis()->SetRangeUser(0, 72.); + // Map_Ped[test][sub]->GetZaxis()->SetRangeUser(0.0001, 1.); + cPED->Modified(); + cPED->Update(); + } // test 1,2 + if (sub == 1) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHB.png"); + cPED->Clear(); + } + if (sub == 2) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHE.png"); + cPED->Clear(); + } + if (sub == 3) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHO.png"); + cPED->Clear(); + } + if (sub == 4) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHF.png"); + cPED->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++++++++ + //Test 41 Time Slices shape for good and bad channels + //++++++++++++++++++++++++++++++++++++ + + cONE->Clear(); + hist_GoodTSshape[1] = (TH1F *)hfile->Get("h_shape_good_channels_HB"); + hist_GoodTSshape[2] = (TH1F *)hfile->Get("h_shape_good_channels_HE"); + hist_GoodTSshape[3] = (TH1F *)hfile->Get("h_shape_good_channels_HO"); + hist_GoodTSshape[4] = (TH1F *)hfile->Get("h_shape_good_channels_HF"); + + hist_GoodTSshape0[1] = (TH1F *)hfile->Get("h_shape0_good_channels_HB"); + hist_GoodTSshape0[2] = (TH1F *)hfile->Get("h_shape0_good_channels_HE"); + hist_GoodTSshape0[3] = (TH1F *)hfile->Get("h_shape0_good_channels_HO"); + hist_GoodTSshape0[4] = (TH1F *)hfile->Get("h_shape0_good_channels_HF"); + + hist_BadTSshape[1] = (TH1F *)hfile->Get("h_shape_bad_channels_HB"); + hist_BadTSshape[2] = (TH1F *)hfile->Get("h_shape_bad_channels_HE"); + hist_BadTSshape[3] = (TH1F *)hfile->Get("h_shape_bad_channels_HO"); + hist_BadTSshape[4] = (TH1F *)hfile->Get("h_shape_bad_channels_HF"); + + hist_BadTSshape0[1] = (TH1F *)hfile->Get("h_shape0_bad_channels_HB"); + hist_BadTSshape0[2] = (TH1F *)hfile->Get("h_shape0_bad_channels_HE"); + hist_BadTSshape0[3] = (TH1F *)hfile->Get("h_shape0_bad_channels_HO"); + hist_BadTSshape0[4] = (TH1F *)hfile->Get("h_shape0_bad_channels_HF"); + + cONE->cd(1); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + hist_GoodTSshape[sub]->Divide(hist_GoodTSshape[sub], hist_GoodTSshape0[sub], 1, 1, "B"); + hist_GoodTSshape[sub]->SetXTitle("Time slice \b"); + hist_GoodTSshape[sub]->SetYTitle("ADC counts \b"); + sprintf(str, "Mean ADC Shape \b"); + hist_GoodTSshape[sub]->SetTitle(str); + hist_GoodTSshape[sub]->Draw(""); + // hist_GoodTSshape[sub]->GetYaxis()->SetRangeUser(0, 72.); + // hist_GoodTSshape[sub]->GetZaxis()->SetRangeUser(0.0001, 1.); + cONE->Modified(); + cONE->Update(); + if (sub == 1) { + cONE->Print("HistGoodTSshapesHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistGoodTSshapesHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistGoodTSshapesHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistGoodTSshapesHF.png"); + cONE->Clear(); + } + } // end sub + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + hist_BadTSshape[sub]->Divide(hist_BadTSshape[sub], hist_BadTSshape0[sub], 1, 1, "B"); + hist_BadTSshape[sub]->SetXTitle("Time slice \b"); + hist_BadTSshape[sub]->SetYTitle("ADC counts \b"); + sprintf(str, "Mean ADC Shape \b"); + hist_BadTSshape[sub]->SetTitle(str); + hist_BadTSshape[sub]->Draw(""); + // hist_BadTSshape[sub]->GetYaxis()->SetRangeUser(0, 72.); + // hist_BadTSshape[sub]->GetZaxis()->SetRangeUser(0.0001, 1.); + cONE->Modified(); + cONE->Update(); + if (sub == 1) { + cONE->Print("HistBadTSshapesHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistBadTSshapesHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistBadTSshapesHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistBadTSshapesHF.png"); + cONE->Clear(); + } + } // end sub + + /* + //+++++++++++++++++++++++++++++++++++ +//Test 42 ADC in TS distributions +//++++++++++++++++++++++++++++++++++++ + +std::cout<<" We are here to print ADC "<Get("h_ADC_HB"); + hist_ADC_All[2] = (TH1F*)hfile->Get("h_ADC_HE"); + hist_ADC_All[3] = (TH1F*)hfile->Get("h_ADC_HO"); + hist_ADC_All[4] = (TH1F*)hfile->Get("h_ADC_HF"); + + + hist_ADC_DS[1][1] = (TH1F*)hfile->Get("h_ADC_HBdepth1"); + hist_ADC_DS[1][2] = (TH1F*)hfile->Get("h_ADC_HBdepth2"); + hist_ADC_DS[2][1] = (TH1F*)hfile->Get("h_ADC_HEdepth1"); + hist_ADC_DS[2][2] = (TH1F*)hfile->Get("h_ADC_HEdepth2"); + hist_ADC_DS[2][3] = (TH1F*)hfile->Get("h_ADC_HEdepth3"); + hist_ADC_DS[3][4] = (TH1F*)hfile->Get("h_ADC_HOdepth4"); + hist_ADC_DS[4][1] = (TH1F*)hfile->Get("h_ADC_HFdepth1"); + hist_ADC_DS[4][2] = (TH1F*)hfile->Get("h_ADC_HFdepth2"); + + + cONE->Clear(); + cONE->Divide(1,1); + cONE->cd(1); + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_ADC_All[sub]->SetXTitle("ADC counts \b"); + hist_ADC_All[sub]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"ADC counts Distribution HB\b"); + if (sub==2) sprintf(str,"ADC counts Distribution HE\b"); + if (sub==3) sprintf(str,"ADC counts Distribution HO\b"); + if (sub==4) sprintf(str,"ADC counts Distribution HF\b"); + hist_ADC_All[sub]->SetTitle(str); + hist_ADC_All[sub]->Draw(""); + // hist_ADC_All[sub]->GetYaxis()->SetRangeUser(0, 72.); + hist_ADC_All[sub]->GetXaxis()->SetRangeUser(0.000, 1000.); + cONE->Modified(); cONE->Update(); + if (sub==1) {cONE->Print("Hist_ADC_HB_All.png"); cONE->Clear();} + if (sub==2) {cONE->Print("Hist_ADC_HE_All.png"); cONE->Clear();} + if (sub==3) {cONE->Print("Hist_ADC_HO_All.png"); cONE->Clear();} + if (sub==4) {cONE->Print("Hist_ADC_HF_All.png"); cONE->Clear();} + }// end sub + + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_ADC_DS[sub][k]->SetXTitle("ADC counts \b"); + hist_ADC_DS[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_ADC_DS[sub][k]->SetTitle(str); + hist_ADC_DS[sub][k]->Draw(""); + // hist_ADC_DS[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + hist_ADC_DS[sub][k]->GetXaxis()->SetRangeUser(0.000, 1000.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_ADC_HB_DS.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_ADC_HE_DS.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_ADC_HO_DS.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_ADC_HF_DS.png"); cHB->Clear();} + }// end sub + + + //+++++++++++++++++++++++++++++++++++ +//Test 43 Sum ADC in TS distributions +//++++++++++++++++++++++++++++++++++++ + + hist_SumADC[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB"); + hist_SumADC[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB"); + hist_SumADC[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE"); + hist_SumADC[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE"); + hist_SumADC[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE"); + hist_SumADC[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO"); + hist_SumADC[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF"); + hist_SumADC[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF"); + + hist_SumADC0[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB0"); + hist_SumADC0[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB0"); + hist_SumADC0[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE0"); + hist_SumADC0[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE0"); + hist_SumADC0[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE0"); + hist_SumADC0[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO0"); + hist_SumADC0[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF0"); + hist_SumADC0[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF0"); + + hist_SumADC1[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB1"); + hist_SumADC1[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB1"); + hist_SumADC1[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE1"); + hist_SumADC1[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE1"); + hist_SumADC1[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE1"); + hist_SumADC1[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO1"); + hist_SumADC1[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF1"); + hist_SumADC1[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF1"); + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_SumADC[sub][k]->SetXTitle("ADC sum \b"); + hist_SumADC[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_SumADC[sub][k]->SetTitle(str); + hist_SumADC[sub][k]->Draw(""); + // hist_SumADC[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // hist_SumADC[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_SumADC_HB.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_SumADC_HE.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_SumADC_HO.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_SumADC_HF.png"); cHB->Clear();} + }// end sub + + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_SumADC0[sub][k]->SetXTitle("ADC sum \b"); + hist_SumADC0[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_SumADC0[sub][k]->SetTitle(str); + hist_SumADC0[sub][k]->Draw(""); + // hist_SumADC0[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // hist_SumADC0[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_SumADC_HB0.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_SumADC_HE0.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_SumADC_HO0.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_SumADC_HF0.png"); cHB->Clear();} + }// end sub + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_SumADC1[sub][k]->SetXTitle("ADC sum \b"); + hist_SumADC1[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_SumADC1[sub][k]->SetTitle(str); + hist_SumADC1[sub][k]->Draw(""); + // hist_SumADC1[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // hist_SumADC1[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_SumADC_HB1.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_SumADC_HE1.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_SumADC_HO1.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_SumADC_HF1.png"); cHB->Clear();} + }// end sub + +*/ + + //====================================================================== + + std::cout << " We are here to print 2017 MAPs (do not use for run3 )" << std::endl; + + //====================================================================== + /* + + //====================================================================== + /// Prepare maps of good/bad channels: + + TH2F *Map_ALL = new TH2F("Map_All", "Map_all", 82, -41, 40, 72, 0, 71); + int nx = Map_ALL->GetXaxis()->GetNbins(); + int ny = Map_ALL->GetYaxis()->GetNbins(); + int NBad = 0; + int NWarn = 0; + int NCalib = 0; + int NPed = 0; + // int Eta[3][10000]={0}; + int Eta[4][10000] = {0}; + int Phi[4][10000] = {0}; + int Sub[4][10000] = {0}; + int Depth[4][10000] = {0}; + string Comment[4][10000] = {""}; + string Text[33] = {"", "Cm", "Am", "Wm", "Rm", "TNm", "TXm", "", "", "", "", "Cc", "Ac", "Wc", "Rc", "TNc", "TXc", + "", "", "", "", "GS", "", "", "", "", "", "", "", "", "", "Pm", "pWm"}; + int flag_W = 0; + int flag_B = 0; + int flag_P = 0; + + for (int i = 1; i <= nx; i++) { //Eta + for (int j = 1; j <= ny; j++) { // Phi + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (Map_SUB[sub][k]->GetBinContent(i, j) != 0) { + Map_SUB[sub][k]->SetBinContent(i, j, 0.5); + Map_ALL->SetBinContent(i, j, 0.5); + } + } + } + } + } + + for (int i = 1; i <= nx; i++) { //Eta + for (int j = 1; j <= ny; j++) { // Phi + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + flag_W = 0; + flag_B = 0; + flag_P = 0; + for (int test = 1; test <= 6; test++) { //Test: 1-Wm, 2-Rm, etc + //Bad + if (Map_Ampl[test][sub][k]->GetBinContent(i, j) > + 0.1) { //Rate 0.1 for displaying on whole detector map and subdetector map + Map_ALL->SetBinContent(i, j, 1.); + Map_SUB[sub][k]->SetBinContent(i, j, 1.); + if (flag_B == 0) { + NBad += 1; + Eta[2][NBad] = i - 41; + Phi[2][NBad] = j - 1; + Sub[2][NBad] = sub; + Depth[2][NBad] = k; + Comment[2][NBad] = Text[test]; + } else + Comment[2][NBad] += ", " + Text[test]; + flag_B = 1; + // cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j) != 0.)&&(Map_Ampl[test][sub][k]->GetBinContent(i,j) < 0.001) ) { +// if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.) Map_SUB[sub][k]->SetBinContent(i,j,0.75); +// if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); +// if (flag_W == 0) { +// NWarn +=1; +// Eta[1][NWarn]=i-41; +// Phi[1][NWarn]=j-1; +// Sub[1][NWarn]=sub; +// Depth[1][NWarn]=k; +// Comment[1][NWarn]=Text[test]; +// } +// else Comment[1][NWarn]+=", "+Text[test]; +// flag_W = 1; +// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j) != 0.) { +// if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.3); +// if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.3); + if (flag_W == 0) { + NWarn +=1; + Eta[1][NWarn]=i-41; + Phi[1][NWarn]=j-1; + Sub[1][NWarn]=sub; + Depth[1][NWarn]=k; + Comment[1][NWarn]=Text[test]; + } + else Comment[1][NWarn]+=", "+Text[test]; + flag_W = 1; +// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j)) > porog[sub]) { + if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.75); + if (Map_ALL->GetBinContent(i,j)!=1.) { + Map_ALL->SetBinContent(i,j,0.75); + if (flag_W == 0) { + NWarn +=1; + Eta[1][NWarn]=i-41; + Phi[1][NWarn]=j-1; + Sub[1][NWarn]=sub; + Depth[1][NWarn]=k; + Comment[1][NWarn]=Text[test]; + } + else Comment[1][NWarn]+=", "+Text[test]; + flag_W = 1; + + cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i, j) > 0.1) { + // if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.75); + // if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); + if (flag_P == 0) { + NPed += 1; + Eta[3][NPed] = i - 41; + Phi[3][NPed] = j - 1; + Sub[3][NPed] = sub; + Depth[3][NPed] = k; + Comment[3][NPed] = Text[test]; + } else + Comment[3][NPed] += ", " + Text[test]; + flag_P = 1; + + // cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHB->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogz(); + // gStyle->SetTitleOffset(0.5, "Y"); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_SUB[sub][k]->SetTitle(str); + Map_SUB[sub][k]->SetXTitle("#eta \b"); + Map_SUB[sub][k]->SetYTitle("#phi \b"); + Map_SUB[sub][k]->Draw("COL"); + Map_SUB[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_SUB[sub][k]->GetZaxis()->SetRangeUser(0., 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (sub == 1) { + cHB->Print("MAPHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MAPHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MAPHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MAPHF.png"); + cHF->Clear(); + } + } +*/ + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + /* + TCanvas *cmain1 = new TCanvas("cmain1", "MAP", 200, 10, 1400, 1800); + cmain1->Divide(2, 2); + + cmain1->cd(1); + TH1F *JDBEYESJ0 = (TH1F *)hfile->Get("h_totalAmplitudeHBperEvent"); + JDBEYESJ0->SetStats(0); + JDBEYESJ0->SetMarkerStyle(20); + JDBEYESJ0->SetMarkerSize(0.8); + JDBEYESJ0->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ0->SetXTitle("iEvent \b"); + JDBEYESJ0->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ0->SetTitle("HB \b"); + JDBEYESJ0->SetMarkerColor(2); + JDBEYESJ0->SetLineColor(1); + JDBEYESJ0->SetMinimum(0.8); + JDBEYESJ0->Draw("HIST same P0"); + + cmain1->cd(2); + TH1F *JDBEYESJ1 = (TH1F *)hfile->Get("h_totalAmplitudeHEperEvent"); + JDBEYESJ1->SetStats(0); + JDBEYESJ1->SetMarkerStyle(20); + JDBEYESJ1->SetMarkerSize(0.8); + JDBEYESJ1->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ1->SetXTitle("iEvent \b"); + JDBEYESJ1->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ1->SetTitle("HE \b"); + JDBEYESJ1->SetMarkerColor(2); + JDBEYESJ1->SetLineColor(1); + JDBEYESJ1->SetMinimum(0.8); + JDBEYESJ1->Draw("HIST same P0"); + + cmain1->cd(3); + TH1F *JDBEYESJ2 = (TH1F *)hfile->Get("h_totalAmplitudeHFperEvent"); + JDBEYESJ2->SetStats(0); + JDBEYESJ2->SetMarkerStyle(20); + JDBEYESJ2->SetMarkerSize(0.8); + JDBEYESJ2->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ2->SetXTitle("iEvent \b"); + JDBEYESJ2->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ2->SetTitle("HF \b"); + JDBEYESJ2->SetMarkerColor(2); + JDBEYESJ2->SetLineColor(1); + JDBEYESJ2->SetMinimum(0.8); + JDBEYESJ2->Draw("HIST same P0"); + + cmain1->cd(4); + TH1F *JDBEYESJ3 = (TH1F *)hfile->Get("h_totalAmplitudeHOperEvent"); + JDBEYESJ3->SetStats(0); + JDBEYESJ3->SetMarkerStyle(20); + JDBEYESJ3->SetMarkerSize(0.8); + JDBEYESJ3->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ3->SetXTitle("iEvent \b"); + JDBEYESJ3->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ3->SetTitle("HO \b"); + JDBEYESJ3->SetMarkerColor(2); + JDBEYESJ3->SetLineColor(1); + JDBEYESJ3->SetMinimum(0.8); + JDBEYESJ3->Draw("HIST same P0"); + + cmain1->Modified(); + cmain1->Update(); + cmain1->Print("EVENTDEPENDENCE.png"); + + std::cout << " EVENTDEPENDENCE " << std::endl; + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // ALL SubDet + gStyle->SetOptTitle(0); + TCanvas *cmain = new TCanvas("cmain", "MAP", 1000, 1000); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogz(); + Map_ALL->SetTitleOffset(1.3, "Y"); + Map_ALL->SetXTitle("#eta \b"); + Map_ALL->SetYTitle("#phi \b"); + Map_ALL->Draw("COL"); + Map_ALL->GetYaxis()->SetRangeUser(0, 72.); + Map_ALL->GetZaxis()->SetRangeUser(0, 1.); + cmain->Modified(); + cmain->Update(); + cmain->Print("MAP.png"); + + std::cout << " MAP_ALL " << std::endl; +*/ + //====================================================================== + + //====================================================================== html pages CREATING: + //====================================================================== + // Creating each test kind for each subdet html pages: + std::string raw_class, raw_class1, raw_class2, raw_class3; + int ind = 0; + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + ofstream htmlFileT, htmlFileC, htmlFileD, htmlFileP, htmlFileS; + if (sub == 1) { + htmlFileT.open("HB_Tile.html"); + htmlFileC.open("HB_Calib.html"); + htmlFileD.open("HB_Drift.html"); + htmlFileP.open("HB_Pedestals.html"); + htmlFileS.open("HB_Shapes.html"); + } + if (sub == 2) { + htmlFileT.open("HE_Tile.html"); + htmlFileC.open("HE_Calib.html"); + htmlFileD.open("HE_Drift.html"); + htmlFileP.open("HE_Pedestals.html"); + htmlFileS.open("HE_Shapes.html"); + } + if (sub == 3) { + htmlFileT.open("HO_Tile.html"); + htmlFileC.open("HO_Calib.html"); + htmlFileD.open("HO_Drift.html"); + htmlFileP.open("HO_Pedestals.html"); + htmlFileS.open("HO_Shapes.html"); + } + if (sub == 4) { + htmlFileT.open("HF_Tile.html"); + htmlFileC.open("HF_Calib.html"); + htmlFileD.open("HF_Drift.html"); + htmlFileP.open("HF_Pedestals.html"); + htmlFileS.open("HF_Shapes.html"); + } + + // Megatile channels + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << " Remote Monitoring Tool Global" << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + + if (sub == 1) + htmlFileT << "

Criteria for megatile channels for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileT << "

Criteria for megatile channels for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileT << "

Criteria for megatile channels for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileT << "

Criteria for megatile channels for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileT << "
" << std::endl; + + // Test Entries + + htmlFileT << "

0. Entries for each channel.

" << std::endl; + htmlFileT << "

0.A. Entries in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: color is number of hits in digi collection

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Test Cm + htmlFileT << "

1. Cm criterion: CapID errors for each channel.

" << std::endl; + htmlFileT << "

1.A. Rate of CapId failures in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Am + htmlFileT << "

2. Am criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel.

" + << std::endl; + htmlFileT << "

2.A. Full ADC amplitude distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[2][sub] << " correpond to bad ADC amplitude

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

2.B. Rate of bad ADC amplitude (<" << MIN_M[2][sub] << ") in each channel for each depth.

" + << std::endl; + htmlFileT << "

Channel legend: white - good, other colours - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Test Wm + htmlFileT << "

3. Wm criterion: RMS (width) of ADC amplutude for each channel.

" << std::endl; + htmlFileT << "

3.A. RMS distribution over all events, channel and depth.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[3][sub] << " and more " << MAX_M[3][sub] + << " correpond to bad RMS

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

3.B. Rate of bad RMS (<" << MIN_M[3][sub] << ",>" << MAX_M[3][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Rm + htmlFileT << "

4. Rm criterion: Ratio ADC value sum over four near maximum (-2, -1, max, +1) TS to ADC value " + "sum over all TS for each channel.

" + << std::endl; + htmlFileT << "

4.A. Ratio distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[4][sub] << " and more " << MAX_M[4][sub] + << " correpond to bad ratio

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

4.B. Rate of bad ratio (<" << MIN_M[4][sub] << ", >" << MAX_M[4][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // TNm + htmlFileT << "

5. TNm criterion: Mean TS position for each channel.

" << std::endl; + htmlFileT << "

5.A. TN position distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[5][sub] << " and more " << MAX_M[5][sub] + << " correpond to bad mean position

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

5.B. Rate of bad TN position (<" << MIN_M[5][sub] << ", >" << MAX_M[5][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // TXm + htmlFileT << "

6.TXm criterion: Maximum TS position for each channel.

" << std::endl; + htmlFileT << "

6.A. TX position distribution over all events, channel and depth.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[6][sub] << " and more " << MAX_M[6][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

6.B. Rate of bad TX position (<" << MIN_M[6][sub] << ", >" << MAX_M[6][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + htmlFileT << " " << std::endl; + htmlFileT << " " << std::endl; + htmlFileT.close(); + + //Calibration channels + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << " Raw Data Analyser " << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + + if (sub == 1) + htmlFileC << "

Criteria for calibration channels for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileC << "

Criteria for calibration channels for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileC << "

Criteria for calibration channels for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileC << "

Criteria for calibration channels for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileC << "
" << std::endl; + + // Test Cc + htmlFileC << "

1.Cc criterion: CapID errors for each channel.

" << std::endl; + htmlFileC << "

1.A. Rate of CapId failures in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Ac + htmlFileC << "

2. Ac criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel.

" + << std::endl; + htmlFileC << "

2.A. Full ADC amplitude distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[2][sub] << " correpond to bad ADC amplitude

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

2.B. Rate of bad ADC amplitude (<" << MIN_C[2][sub] << ") in each channel for each depth.

" + << std::endl; + htmlFileC << "

Channel legend: white - good, other colours - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Test Wc + htmlFileC << "

3. Wc criterion: RMS (width) of ADC amplutude for each channel.

" << std::endl; + htmlFileC << "

3.A. W distribution over all events, channel and depth.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[3][sub] << " and more " << MAX_C[3][sub] + << " correpond to bad RMS

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

3.B. Rate of bad W (<" << MIN_C[3][sub] << ",>" << MAX_C[3][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Rc + htmlFileC << "

4. Rc criterion: Ratio ADC value sum over five near maximum (-2, -1, max, +1, +2) TS to ADC " + "value sum over all TS for each channel.

" + << std::endl; + htmlFileC << "

4.A. Ratio distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[4][sub] << " and more " << MAX_C[4][sub] + << " correpond to bad ratio

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

4.B. Rate of bad Ratio (<" << MIN_C[4][sub] << ", >" << MAX_C[4][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // TNc + htmlFileC << "

5. TNc criterion: Mean TS position for each channel.

" << std::endl; + htmlFileC << "

5.A. TN position distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[5][sub] << " and more " << MAX_C[5][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

5.B. Rate of bad TN position (<" << MIN_C[5][sub] << ", >" << MAX_C[5][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // TXm + htmlFileC << "

6.TXc criterion: Maximum TS position for each channel.

" << std::endl; + htmlFileC << "

6.A. TX position distribution over all events, channel and depth.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[6][sub] << " and more " << MAX_C[6][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

6.B. Rate of bad TX position (<" << MIN_C[6][sub] << ", >" << MAX_C[6][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + htmlFileC << " " << std::endl; + htmlFileC << " " << std::endl; + htmlFileC.close(); + + //Response drift + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << " Remote Monitoring Tool Global " << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + + if (sub == 1) + htmlFileD << "

Response drift for HB: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 2) + htmlFileD << "

Response drift for HE: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 3) + htmlFileD << "

Response drift for HO: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 4) + htmlFileD << "

Response drift for HF: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + htmlFileD << "
" << std::endl; + + // test GS + htmlFileD << "

1. Gain Stability (GS)

" << std::endl; + htmlFileD << "

1.A. Averaged channel response, collected over all TS, for Current run in each channel for each " + "depth.

" + << std::endl; + htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.B. Averaged channel response, collected over all TS, for Reference run in each channel for " + "each depth.

" + << std::endl; + htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.C. Relative difference between Current run and Current run distribution over all events, " + "channels for each depth.

" + << std::endl; + htmlFileD << "

Legend: Bins less -" << porog[sub] << "% and more +" << porog[sub] + << "% correpond to bad relative difference position

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.D. Rate of bad relative difference (<-" << porog[sub] << ", >+" << porog[sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileD << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + + htmlFileD << " " << std::endl; + htmlFileD << " " << std::endl; + htmlFileD.close(); + + // Pedestals + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << " Remote Monitoring Tool Global" << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + + if (sub == 1) + htmlFileP << "

Pedestals for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileP << "

Pedestals for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileP << "

Pedestals for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileP << "

Pedestals for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileP << "
" << std::endl; + + // Pedestal: + htmlFileP << "

1.Pm criterion: Pedestals for each CapID .

" << std::endl; + htmlFileP << "

1.A. Pedestal distribution over all events, channels for each CapID and all depths.

" + << std::endl; + htmlFileP << "

Legend: Bins less " << Pedest[0][sub] << " correpond to bad Pedestals

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + htmlFileP << "
" << std::endl; + htmlFileP << "

1.B. Rate of channels at very low Pedestals at least in one CapID for each depth.

" + << std::endl; + htmlFileP << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + + // PedestalWidth: + htmlFileP << "

2.pWm criterion: Pedestal Widths for each CapID .

" << std::endl; + htmlFileP << "

2.A. Pedestal Widths distribution over all events, channels for each CapID and all depths.

" + << std::endl; + htmlFileP << "

Legend: Bins less " << Pedest[1][sub] << " correpond to bad Pedestal Widths

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + htmlFileP << "
" << std::endl; + htmlFileP << "

2.B. Rate of channels at very low Pedestal Widths at least in one CapID for each depth.

" + << std::endl; + htmlFileP << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + + // Correlations of Pedestal(Width) and fullAmplitude: + htmlFileP << "

3.Pedestal and pedestalWidths vs Amplitude .

" << std::endl; + htmlFileP << "

3.A. Correlation of Pedestal(pedestalWidths) and Amplitude over all channels and events .

" + << std::endl; + htmlFileP << "

Legend: colour - entries

" << std::endl; + if (sub == 1) + htmlFileP << "" << std::endl; + if (sub == 2) + htmlFileP << "" << std::endl; + if (sub == 3) + htmlFileP << "" << std::endl; + if (sub == 4) + htmlFileP << "" << std::endl; + htmlFileP << "
" << std::endl; + + // TSs Shapes: + + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << " Remote Monitoring Tool Global" << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; + + if (sub == 1) + htmlFileS << "

ADC Shape for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileS << "

ADC Shape for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileS << "

ADC Shape for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileS << "

ADC Shape for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileP << "
" << std::endl; + + htmlFileS << "

1.Mean ADC Shape

" << std::endl; + htmlFileS << "

1.A. ADC shape averaged over all good channels, depth and events.

" << std::endl; + // htmlFileS << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + htmlFileS << "
" << std::endl; + htmlFileS << "

1.B. ADC shape averaged over all bad channels, depth and events. Bad channels are selected by 5 " + "criteria: CapId, A, W, P, Pw

" + << std::endl; + // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + + htmlFileS << "

2. ADC in Time Slice

" << std::endl; + htmlFileS << "

2.A. ADC counts histogrammed over all channels, depth and events.

" << std::endl; + // htmlFileS << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + htmlFileS << "
" << std::endl; + htmlFileS << "

2.B. ADC counts histogrammed over all channels and events for each depth separately.

" + << std::endl; + // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + + htmlFileS << "

3. ADC Sum in Time Slice

" << std::endl; + htmlFileS << "

3.A. ADC Sum over all channels histogrammed over all events for each depth separately.

" + << std::endl; + // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + + htmlFileS << "

3.B. ADC Sum over all channels histogrammed over all events for each depth separately.

" + << std::endl; + // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + + htmlFileS << "

3.C. ADC Sum over all channels histogrammed over all events for each depth separately.

" + << std::endl; + // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + + htmlFileS.close(); + } // end sub + + //====================================================================== + + //====================================================================== + // Creating subdet html pages: + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + ofstream htmlFile; + if (sub == 1) + htmlFile.open("HB.html"); + if (sub == 2) + htmlFile.open("HE.html"); + if (sub == 3) + htmlFile.open("HO.html"); + if (sub == 4) + htmlFile.open("HF.html"); + + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << " Remote Monitoring Tool " << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + if (sub == 1) + htmlFile << "

HCAL BARREL, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFile << "

HCAL ENDCAP, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFile << "

HCAL OUTER, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFile << "

HCAL FORWARD, RUN = " << runnumber << "

" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "\n"; + htmlFile << "Contents:
\n"; + htmlFile << "1. Analysis results
\n"; + htmlFile << "2. Status
\n"; + htmlFile << "2A. Channel map
\n"; + // htmlFile << "2B. List of bad channels
\n"; + // htmlFile << "2C. List of channels with bad pedestals
\n"; + + htmlFile << "\n"; + if (sub == 1) + htmlFile << "

1. Analysis results for HB

" << std::endl; + if (sub == 2) + htmlFile << "

1. Analysis results for HE

" << std::endl; + if (sub == 3) + htmlFile << "

1. Analysis results for HO

" << std::endl; + if (sub == 4) + htmlFile << "

1. Analysis results for HF

" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + if (sub == 1) { + // AZ 12.03.2019 + htmlFile << " " << std::endl; + // htmlFile << " "<< std::endl; + + // htmlFile << " "<< std::endl; + // htmlFile << " "<< std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + } + if (sub == 2) { + // AZ 12.03.2019 + htmlFile << " " << std::endl; + // htmlFile << " "<< std::endl; + + // htmlFile << " "<< std::endl; + // htmlFile << " "<< std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + } + if (sub == 3) { + htmlFile << " " << std::endl; + // htmlFile << " "<< std::endl; + // htmlFile << " "<< std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + } + if (sub == 4) { + htmlFile << " " << std::endl; + // htmlFile << " "<< std::endl; + // htmlFile << " "<< std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + } + + htmlFile << "" << std::endl; + htmlFile << "
Megatile ChannelsMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesMegatile ChannelsMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC Shapes
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "\n"; + if (sub == 1) + htmlFile << "

2.Status HB over all criteria

" << std::endl; + if (sub == 2) + htmlFile << "

2.Status HE over all criteria

" << std::endl; + if (sub == 3) + htmlFile << "

2.Status HO over all criteria

" << std::endl; + if (sub == 4) + htmlFile << "

2.Status HF over all criteria

" << std::endl; + + htmlFile << "\n"; + htmlFile << "

2.A.Channel map for each Depth

" << std::endl; + htmlFile << "

Channel legend: green - good, not yellow - suspicious(rate of failures at least 0.1), white - " + "not applicable or out of range

" + << std::endl; + if (sub == 1) + htmlFile << " " << std::endl; + if (sub == 2) + htmlFile << " " << std::endl; + if (sub == 3) + htmlFile << " " << std::endl; + if (sub == 4) + htmlFile << " " << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "to top
\n"; + + ///////////////////////////////////////////////////////////////// AZ 19.03 + /* +// htmlFile << "

2.B.List of Bad channels (rate > 0.1) and its rates for each RMT criteria (for GS - %)

"<< std::endl; + + htmlFile << "\n"; + htmlFile << "

2.B.List of Bad channels (rate > 0.1) and its rates for each RMT criteria

"<< std::endl; + + //htmlFile << " Description of criteria for bad channel selection"<< std::endl; + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection"<< std::endl; + + htmlFile << ""<< std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << ""<< std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i=1;i<=NBad;i++) { + if((ind%2)==1){ + raw_class=""<< std::endl; + htmlFile << raw_class<< Eta[2][i]<<""<< std::endl; + htmlFile << raw_class<< Phi[2][i]<<""<< std::endl; + htmlFile << raw_class<< Depth[2][i] <<""<< std::endl; + htmlFile << raw_class<< ce[0].RBX <<""<< std::endl; + htmlFile << raw_class<< ce[0].RM <<""<< std::endl; + htmlFile << raw_class<< ce[0].Pixel <<""<< std::endl; + htmlFile << raw_class<< ce[0].RMfiber <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberCh <<""<< std::endl; + htmlFile << raw_class<< ce[0].QIE <<""<< std::endl; + htmlFile << raw_class<< ce[0].ADC<<""<< std::endl; + htmlFile << raw_class<< ce[0].VMECardID <<""<< std::endl; + htmlFile << raw_class<< ce[0].dccID <<""<< std::endl; + htmlFile << raw_class<< ce[0].Spigot <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberIndex <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrSlot <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrTB <<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[1][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[2][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[3][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[4][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[5][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[6][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[11][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[12][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[13][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[14][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[15][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[16][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; +// htmlFile << raw_class3<< Map_Ampl[21][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; + htmlFile << raw_class<< Map_Ampl[31][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; + htmlFile << raw_class<< Map_Ampl[32][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i]+41,Phi[2][i]+1)<<""<< std::endl; + htmlFile << "" << std::endl; + + ind+=1; + } + } + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGACmAmWmRmTNmTXmCcAcWcRcTNcTXcGS (%)PmpWm
"; + raw_class1=""; + raw_class2=""; + raw_class3=""; + + }else{ + raw_class=""; + raw_class1=""; + raw_class2=""; + raw_class3=""; + } + const CellDB db; + CellDB ce; + if ((ce.size()>=1)&&(Sub[2][i]==sub)) { + // AZ 19.03.2018 + +// AZ 19 if (Sub[2][i]==1) { +// AZ 19 ce = db.find("subdet", "HB").find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); +// AZ 19 if (ce.size()==0) {cout<<"Error: No such HB, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HB, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HE, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HO, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HF, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"<"<< std::endl; + htmlFile << "" << ind+1 <<"
" << std::endl; + htmlFile << "
"<< std::endl; + htmlFile << "to top
\n"; + + + htmlFile << "

2.C.List of Gain unstable channels and its value in % (for other criterias - rate)

"<< std::endl; + htmlFile << ""<< std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << ""<< std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i=1;i<=NWarn;i++) { + if((ind%2)==1){ + raw_class=""<< std::endl; + htmlFile << raw_class<< Eta[1][i]<<""<< std::endl; + htmlFile << raw_class<< Phi[1][i]<<""<< std::endl; + htmlFile << raw_class<< Depth[1][i] <<""<< std::endl; + htmlFile << raw_class<< ce[0].RBX <<""<< std::endl; + htmlFile << raw_class<< ce[0].RM <<""<< std::endl; + htmlFile << raw_class<< ce[0].Pixel <<""<< std::endl; + htmlFile << raw_class<< ce[0].RMfiber <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberCh <<""<< std::endl; + htmlFile << raw_class<< ce[0].QIE <<""<< std::endl; + htmlFile << raw_class<< ce[0].ADC<<""<< std::endl; + htmlFile << raw_class<< ce[0].VMECardID <<""<< std::endl; + htmlFile << raw_class<< ce[0].dccID <<""<< std::endl; + htmlFile << raw_class<< ce[0].Spigot <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberIndex <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrSlot <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrTB <<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[1][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[2][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[3][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[4][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[5][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[6][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[11][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[12][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[13][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[14][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[15][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[16][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; +// htmlFile << raw_class3<< Map_Ampl[21][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; + htmlFile << raw_class<< Map_Ampl[31][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; + htmlFile << raw_class<< Map_Ampl[32][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i]+41,Phi[1][i]+1)<<""<< std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + ind+=1; + } + } + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGACmAmWmRmTNmTXmCcAcWcRcTNcTXcGS(%)PmpWm
"; + raw_class1=""; + raw_class2=""; + raw_class3=""; + + }else{ + raw_class=""; + raw_class1=""; + raw_class2=""; + raw_class3=""; + } + const CellDB db; + CellDB ce; + if ((ce.size()>=1)&&(Sub[1][i]==sub)) { + if (Sub[1][i]==1) { + ce = db.find("subdet", "HB").find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + if (ce.size()==0) {cout<<"Error: No such HB, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HB, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HE, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HO, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HF, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<" << ind+1 <<"
" << std::endl; + htmlFile << "
"<< std::endl; + + +// htmlFile << "

2.D.List of channels with Bad Pedestals (rate > 0.1) and its rates (for GS - %)

"<< std::endl; + htmlFile << "\n"; + htmlFile << "

2.C.List of channels with Bad Pedestals (rate > 0.1) and its rates

"<< std::endl; + htmlFile << ""<< std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << ""<< std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; +// htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i=1;i<=NPed;i++) { + if((ind%2)==1){ + raw_class=""<< std::endl; + htmlFile << raw_class<< Eta[3][i]<<""<< std::endl; + htmlFile << raw_class<< Phi[3][i]<<""<< std::endl; + htmlFile << raw_class<< Depth[3][i] <<""<< std::endl; + htmlFile << raw_class<< ce[0].RBX <<""<< std::endl; + htmlFile << raw_class<< ce[0].RM <<""<< std::endl; + htmlFile << raw_class<< ce[0].Pixel <<""<< std::endl; + htmlFile << raw_class<< ce[0].RMfiber <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberCh <<""<< std::endl; + htmlFile << raw_class<< ce[0].QIE <<""<< std::endl; + htmlFile << raw_class<< ce[0].ADC<<""<< std::endl; + htmlFile << raw_class<< ce[0].VMECardID <<""<< std::endl; + htmlFile << raw_class<< ce[0].dccID <<""<< std::endl; + htmlFile << raw_class<< ce[0].Spigot <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberIndex <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrSlot <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrTB <<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[1][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[2][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[3][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[4][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[5][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; + htmlFile << raw_class1<< Map_Ampl[6][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[11][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[12][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[13][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[14][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[15][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; +// htmlFile << raw_class2<< Map_Ampl[16][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; +// htmlFile << raw_class3<< Map_Ampl[21][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; + htmlFile << raw_class<< Map_Ampl[31][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; + htmlFile << raw_class<< Map_Ampl[32][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i]+41,Phi[3][i]+1)<<""<< std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + ind+=1; + } + } + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGACmAmWmRmTNmTXmCcAcWcRcTNcTXcGS(%)PmpWm
"; + raw_class1=""; + raw_class2=""; + raw_class3=""; + + }else{ + raw_class=""; + raw_class1=""; + raw_class2=""; + raw_class3=""; + } + const CellDB db; + CellDB ce; + if ((ce.size()>=1)&&(Sub[3][i]==sub)) { + + // AZ 19.03.2018 +// AZ 19 if (Sub[3][i]==1) { +// AZ 19 ce = db.find("subdet", "HB").find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); +// AZ 19 if (ce.size()==0) {cout<<"Error: No such HB, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HB, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HE, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HO, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"<1) {cout<<"Warning: More than one line correspond to such HF, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"<" << ind+1 <<"

" << std::endl; + htmlFile << "to top
\n"; +*/ + /////////////////////////////////////////////////////////////// AZ 19.03.2018 + + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile.close(); + } + + //====================================================================== + // Creating description html file: + ofstream htmlFile; + + //====================================================================== + /* + htmlFile.open("HELP.html"); + htmlFile << ""<< std::endl; + htmlFile << ""<< std::endl; + htmlFile << ""<< std::endl; + htmlFile << " Remote Monitoring Tool "<< std::endl; + htmlFile << ""<< std::endl; + htmlFile << ""<< std::endl; + htmlFile << "

Description of Remote Monitoring Tool criteria for bad channel selection

"<< std::endl; + htmlFile << "
"<< std::endl; + htmlFile << "

- C means CAPID Errors assuming we inspect CAPID non-rotation,error & validation bits, and for this criterion - no need to apply any cuts to select bcs.

"<< std::endl; + htmlFile << "
"<< std::endl; + htmlFile << "

- A means full amplitude, collected over all time slices

"<< std::endl; + htmlFile << "

- R means ratio criterion where we define as a bad, the channels, for which the signal portion in 4 middle TSs(plus one, minus two around TS with maximal amplitude) is out of some range of reasonable values

"<< std::endl; + htmlFile << "
"<< std::endl; + htmlFile << "

- W means width of shape distribution. Width is defined as square root from dispersion.

"<< std::endl; + htmlFile << "
"<< std::endl; + htmlFile << "

- TN means mean time position of adc signal.

"<< std::endl; + htmlFile << "
"<< std::endl; + htmlFile << "

- TX means TS number of maximum signal

"<< std::endl; + htmlFile << "
"<< std::endl; + htmlFile << "

- m means megatile channels. For example Am means Amplitude criteria for megatile channels

"<< std::endl; + htmlFile << "
"<< std::endl; + htmlFile << "

- c means calibration channels. For example Ac means Amplitude criteria for calibration channels

"<< std::endl; + htmlFile << "
"<< std::endl; + htmlFile << "

- Pm means Pedestals.

"<< std::endl; + htmlFile << "
"<< std::endl; + htmlFile << "

- pWm means pedestal Width.

"<< std::endl; + htmlFile << "
"<< std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile.close(); +*/ + //====================================================================== + + //====================================================================== + // Creating main html file: + htmlFile.open("MAP.html"); + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << " Remote Monitoring Tool " << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + htmlFile << "

Remote Monitoring Tool, RUN = " << runnumber << ".

" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

1. Analysis results for subdetectors

" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + // AZ 12.03.2019 + /* + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; +*/ + + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + + htmlFile << "" << std::endl; + htmlFile << "
HBHEHOHFHBHEHOHF
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2. HCAL status over all criteria and subdetectors

" << std::endl; + htmlFile << "

2.A. Channels in detector space

" << std::endl; + htmlFile << "

Legend for channel status: green - good, others - may be a problems, white - not applicable or out " + "of range

" + << std::endl; + htmlFile << " " << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2.B. List of Bad channels

" << std::endl; + + //htmlFile << " Description of criteria for bad channel selection"<< std::endl; + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " " + "Description of criteria for bad channel selection" + << std::endl; + + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + ind = 0; + // AZ 19.03.2018 + /* + for (int i=1;i<=NBad;i++) { + if((ind%2)==1){ + raw_class=""<< std::endl; + htmlFile << ""<< std::endl; + htmlFile << raw_class<< Eta[2][i]<<""<< std::endl; + htmlFile << raw_class<< Phi[2][i]<<""<< std::endl; + htmlFile << raw_class<< Depth[2][i] <<""<< std::endl; + htmlFile << raw_class<< ce[0].RBX <<""<< std::endl; + htmlFile << raw_class<< ce[0].RM <<""<< std::endl; + htmlFile << raw_class<< ce[0].Pixel <<""<< std::endl; + htmlFile << raw_class<< ce[0].RMfiber <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberCh <<""<< std::endl; + htmlFile << raw_class<< ce[0].QIE <<""<< std::endl; + htmlFile << raw_class<< ce[0].ADC<<""<< std::endl; + htmlFile << raw_class<< ce[0].VMECardID <<""<< std::endl; + htmlFile << raw_class<< ce[0].dccID <<""<< std::endl; + htmlFile << raw_class<< ce[0].Spigot <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberIndex <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrSlot <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrTB <<""<< std::endl; + htmlFile << raw_class1<< Comment[2][i]<<""<< std::endl; + htmlFile << "" << std::endl; + + ind+=1; + } + } /// end loop +*/ + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGARMT-criteria
"; + raw_class1=""; + }else{ + raw_class=""; + raw_class1=""; + } + const CellDB db; + const CellDB ce = db.find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); + // if (ce.size()==0) {cout<<"Error: No such Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"<1) { cout<<"Warning: More than one line correspond to such Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"<=1) { + htmlFile << "
" << ind+1 <<"
" << std::endl; + htmlFile << "
" << std::endl; + /* + htmlFile << "

2.C.List of Gain unstable channels

"<< std::endl; + //htmlFile << " Description of criteria for bad channel selection"<< std::endl; + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection"<< std::endl; + + htmlFile << ""<< std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << ""<< std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i=1;i<=NWarn;i++) { + if((ind%2)==1){ + raw_class=""<< std::endl; + htmlFile << ""<< std::endl; + htmlFile << raw_class<< Eta[1][i]<<""<< std::endl; + htmlFile << raw_class<< Phi[1][i]<<""<< std::endl; + htmlFile << raw_class<< Depth[1][i] <<""<< std::endl; + htmlFile << raw_class<< ce[0].RBX <<""<< std::endl; + htmlFile << raw_class<< ce[0].RM <<""<< std::endl; + htmlFile << raw_class<< ce[0].Pixel <<""<< std::endl; + htmlFile << raw_class<< ce[0].RMfiber <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberCh <<""<< std::endl; + htmlFile << raw_class<< ce[0].QIE <<""<< std::endl; + htmlFile << raw_class<< ce[0].ADC<<""<< std::endl; + htmlFile << raw_class<< ce[0].VMECardID <<""<< std::endl; + htmlFile << raw_class<< ce[0].dccID <<""<< std::endl; + htmlFile << raw_class<< ce[0].Spigot <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberIndex <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrSlot <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrTB <<""<< std::endl; + htmlFile << raw_class1<< Comment[1][i]<<""<< std::endl; + htmlFile << "" << std::endl; + + ind+=1; + } + } + + + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGAFailed criteria
"; + raw_class1=""; + }else{ + raw_class=""; + raw_class1=""; + } + const CellDB db; + const CellDB ce = db.find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + // if (ce.size()==0) {cout<<"Error: No such Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<1) { cout<<"Warning: More than one line correspond to such Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<=1) { + htmlFile << "
" << ind+1 <<"
" << std::endl; + htmlFile << "
"<< std::endl; + + + htmlFile << "

2.D.List of channels with bad Pedestals

"<< std::endl; + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection"<< std::endl; + + htmlFile << ""<< std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << ""<< std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i=1;i<=NPed;i++) { + if((ind%2)==1){ + raw_class=""<< std::endl; + htmlFile << ""<< std::endl; + htmlFile << raw_class<< Eta[3][i]<<""<< std::endl; + htmlFile << raw_class<< Phi[3][i]<<""<< std::endl; + htmlFile << raw_class<< Depth[3][i] <<""<< std::endl; + htmlFile << raw_class<< ce[0].RBX <<""<< std::endl; + htmlFile << raw_class<< ce[0].RM <<""<< std::endl; + htmlFile << raw_class<< ce[0].Pixel <<""<< std::endl; + htmlFile << raw_class<< ce[0].RMfiber <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberCh <<""<< std::endl; + htmlFile << raw_class<< ce[0].QIE <<""<< std::endl; + htmlFile << raw_class<< ce[0].ADC<<""<< std::endl; + htmlFile << raw_class<< ce[0].VMECardID <<""<< std::endl; + htmlFile << raw_class<< ce[0].dccID <<""<< std::endl; + htmlFile << raw_class<< ce[0].Spigot <<""<< std::endl; + htmlFile << raw_class<< ce[0].FiberIndex <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrSlot <<""<< std::endl; + htmlFile << raw_class<< ce[0].HtrTB <<""<< std::endl; + htmlFile << raw_class1<< Comment[3][i]<<""<< std::endl; + htmlFile << "" << std::endl; + + ind+=1; + } + } + + + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGAFailed criteria
"; + raw_class1=""; + }else{ + raw_class=""; + raw_class1=""; + } + const CellDB db; + const CellDB ce = db.find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); + // if (ce.size()==0) {cout<<"Error: No such Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"<1) { cout<<"Warning: More than one line correspond to such Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<=1) { + htmlFile << "
" << ind+1 <<"
" << std::endl; +*/ + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile.close(); + //====================================================================== + + //====================================================================== + // Close and delete all possible things: + hfile->Close(); + // hfile->Delete(); + // Exit Root + gSystem->Exit(0); + //====================================================================== +} diff --git a/DPGAnalysis/HcalTools/macros/rmt/LogEleMapdb.h b/DPGAnalysis/HcalTools/macros/rmt/LogEleMapdb.h new file mode 100644 index 0000000000000..66856d577f55c --- /dev/null +++ b/DPGAnalysis/HcalTools/macros/rmt/LogEleMapdb.h @@ -0,0 +1,14763 @@ +#define LogEleMapdb_h +#include +#include +#include +#include +#include + +struct Cell { + std::string subdet; + int Eta; + int Phi; + int Depth; + std::string RBX; + int RM; + int Pixel; + int RMfiber; + int FiberCh; + int QIE; + int ADC; + int VMECardID; + int dccID; + int Spigot; + int FiberIndex; + int HtrSlot; + int HtrTB; + + // the function check, if "par" == "val" for this cell + bool check(const std::string par, const int val) const { + if (par == "Eta") + return (val == Eta); + else if (par == "Phi") + return (val == Phi); + else if (par == "Depth") + return (val == Depth); + else if (par == "RM") + return (val == RM); + else if (par == "Pixel") + return (val == Pixel); + else if (par == "RMfiber") + return (val == RMfiber); + else if (par == "FiberCh") + return (val == FiberCh); + else if (par == "QIE") + return (val == QIE); + else if (par == "ADC") + return (val == ADC); + else if (par == "VMECardID") + return (val == VMECardID); + else if (par == "dccID") + return (val == dccID); + else if (par == "Spigot") + return (val == Spigot); + else if (par == "FiberIndex") + return (val == FiberIndex); + else if (par == "HtrSlot") + return (val == HtrSlot); + else if (par == "HtrTB") + return (val == HtrTB); + else + return false; + } + + bool check(const std::string par, const std::string val) const { + if (par == "subdet") + return (val == subdet); + else if (par == "RBX") + return (val == RBX); + else + return false; + } +}; + +const Cell AllCells[] = { + //{ SD, Eta, Phi, Depth, RBX, RM, PIXEL, RMfiber, Fiber Ch., QIE, ADC, VMECrateId, dccid, spigot, fiberIndex, htrSlot, htrTopBottom } + {"HB", -16, 0, 1, "HBM01", 2, 19, 3, 2, 1, 3, 10, 16, 9, 4, 6, 0}, + {"HB", -16, 0, 2, "HBM01", 2, 17, 2, 0, 1, 0, 10, 16, 9, 3, 6, 0}, + {"HB", -16, 1, 1, "HBM01", 1, 17, 3, 2, 1, 3, 10, 16, 9, 2, 6, 0}, + {"HB", -16, 1, 2, "HBM01", 1, 18, 2, 0, 1, 0, 10, 16, 9, 1, 6, 0}, + {"HB", -16, 2, 1, "HBM02", 4, 3, 3, 2, 1, 3, 4, 0, 2, 4, 3, 1}, + {"HB", -16, 2, 2, "HBM02", 4, 2, 2, 0, 1, 0, 4, 0, 2, 3, 3, 1}, + {"HB", -16, 3, 1, "HBM02", 3, 1, 3, 2, 1, 3, 4, 0, 2, 2, 3, 1}, + {"HB", -16, 3, 2, "HBM02", 3, 3, 2, 0, 1, 0, 4, 0, 2, 1, 3, 1}, + {"HB", -16, 4, 1, "HBM02", 2, 19, 3, 2, 1, 3, 4, 0, 3, 4, 3, 0}, + {"HB", -16, 4, 2, "HBM02", 2, 17, 2, 0, 1, 0, 4, 0, 3, 3, 3, 0}, + {"HB", -16, 5, 1, "HBM02", 1, 17, 3, 2, 1, 3, 4, 0, 3, 2, 3, 0}, + {"HB", -16, 5, 2, "HBM02", 1, 18, 2, 0, 1, 0, 4, 0, 3, 1, 3, 0}, + {"HB", -16, 6, 1, "HBM03", 4, 3, 3, 2, 1, 3, 4, 0, 8, 4, 6, 1}, + {"HB", -16, 6, 2, "HBM03", 4, 2, 2, 0, 1, 0, 4, 0, 8, 3, 6, 1}, + {"HB", -16, 7, 1, "HBM03", 3, 1, 3, 2, 1, 3, 4, 0, 8, 2, 6, 1}, + {"HB", -16, 7, 2, "HBM03", 3, 3, 2, 0, 1, 0, 4, 0, 8, 1, 6, 1}, + {"HB", -16, 8, 1, "HBM03", 2, 19, 3, 2, 1, 3, 4, 0, 9, 4, 6, 0}, + {"HB", -16, 8, 2, "HBM03", 2, 17, 2, 0, 1, 0, 4, 0, 9, 3, 6, 0}, + {"HB", -16, 9, 1, "HBM03", 1, 17, 3, 2, 1, 3, 4, 0, 9, 2, 6, 0}, + {"HB", -16, 9, 2, "HBM03", 1, 18, 2, 0, 1, 0, 4, 0, 9, 1, 6, 0}, + {"HB", -16, 10, 1, "HBM04", 4, 3, 3, 2, 1, 3, 0, 2, 2, 4, 3, 1}, + {"HB", -16, 10, 2, "HBM04", 4, 2, 2, 0, 1, 0, 0, 2, 2, 3, 3, 1}, + {"HB", -16, 11, 1, "HBM04", 3, 1, 3, 2, 1, 3, 0, 2, 2, 2, 3, 1}, + {"HB", -16, 11, 2, "HBM04", 3, 3, 2, 0, 1, 0, 0, 2, 2, 1, 3, 1}, + {"HB", -16, 12, 1, "HBM04", 2, 19, 3, 2, 1, 3, 0, 2, 3, 4, 3, 0}, + {"HB", -16, 12, 2, "HBM04", 2, 17, 2, 0, 1, 0, 0, 2, 3, 3, 3, 0}, + {"HB", -16, 13, 1, "HBM04", 1, 17, 3, 2, 1, 3, 0, 2, 3, 2, 3, 0}, + {"HB", -16, 13, 2, "HBM04", 1, 18, 2, 0, 1, 0, 0, 2, 3, 1, 3, 0}, + {"HB", -16, 14, 1, "HBM05", 4, 3, 3, 2, 1, 3, 0, 2, 8, 4, 6, 1}, + {"HB", -16, 14, 2, "HBM05", 4, 2, 2, 0, 1, 0, 0, 2, 8, 3, 6, 1}, + {"HB", -16, 15, 1, "HBM05", 3, 1, 3, 2, 1, 3, 0, 2, 8, 2, 6, 1}, + {"HB", -16, 15, 2, "HBM05", 3, 3, 2, 0, 1, 0, 0, 2, 8, 1, 6, 1}, + {"HB", -16, 16, 1, "HBM05", 2, 19, 3, 2, 1, 3, 0, 2, 9, 4, 6, 0}, + {"HB", -16, 16, 2, "HBM05", 2, 17, 2, 0, 1, 0, 0, 2, 9, 3, 6, 0}, + {"HB", -16, 17, 1, "HBM05", 1, 17, 3, 2, 1, 3, 0, 2, 9, 2, 6, 0}, + {"HB", -16, 17, 2, "HBM05", 1, 18, 2, 0, 1, 0, 0, 2, 9, 1, 6, 0}, + {"HB", -16, 18, 1, "HBM06", 4, 3, 3, 2, 1, 3, 1, 4, 2, 4, 3, 1}, + {"HB", -16, 18, 2, "HBM06", 4, 2, 2, 0, 1, 0, 1, 4, 2, 3, 3, 1}, + {"HB", -16, 19, 1, "HBM06", 3, 1, 3, 2, 1, 3, 1, 4, 2, 2, 3, 1}, + {"HB", -16, 19, 2, "HBM06", 3, 3, 2, 0, 1, 0, 1, 4, 2, 1, 3, 1}, + {"HB", -16, 20, 1, "HBM06", 2, 19, 3, 2, 1, 3, 1, 4, 3, 4, 3, 0}, + {"HB", -16, 20, 2, "HBM06", 2, 17, 2, 0, 1, 0, 1, 4, 3, 3, 3, 0}, + {"HB", -16, 21, 1, "HBM06", 1, 17, 3, 2, 1, 3, 1, 4, 3, 2, 3, 0}, + {"HB", -16, 21, 2, "HBM06", 1, 18, 2, 0, 1, 0, 1, 4, 3, 1, 3, 0}, + {"HB", -16, 22, 1, "HBM07", 4, 3, 3, 2, 1, 3, 1, 4, 8, 4, 6, 1}, + {"HB", -16, 22, 2, "HBM07", 4, 2, 2, 0, 1, 0, 1, 4, 8, 3, 6, 1}, + {"HB", -16, 23, 1, "HBM07", 3, 1, 3, 2, 1, 3, 1, 4, 8, 2, 6, 1}, + {"HB", -16, 23, 2, "HBM07", 3, 3, 2, 0, 1, 0, 1, 4, 8, 1, 6, 1}, + {"HB", -16, 24, 1, "HBM07", 2, 19, 3, 2, 1, 3, 1, 4, 9, 4, 6, 0}, + {"HB", -16, 24, 2, "HBM07", 2, 17, 2, 0, 1, 0, 1, 4, 9, 3, 6, 0}, + {"HB", -16, 25, 1, "HBM07", 1, 17, 3, 2, 1, 3, 1, 4, 9, 2, 6, 0}, + {"HB", -16, 25, 2, "HBM07", 1, 18, 2, 0, 1, 0, 1, 4, 9, 1, 6, 0}, + {"HB", -16, 26, 1, "HBM08", 4, 3, 3, 2, 1, 3, 5, 6, 2, 4, 3, 1}, + {"HB", -16, 26, 2, "HBM08", 4, 2, 2, 0, 1, 0, 5, 6, 2, 3, 3, 1}, + {"HB", -16, 27, 1, "HBM08", 3, 1, 3, 2, 1, 3, 5, 6, 2, 2, 3, 1}, + {"HB", -16, 27, 2, "HBM08", 3, 3, 2, 0, 1, 0, 5, 6, 2, 1, 3, 1}, + {"HB", -16, 28, 1, "HBM08", 2, 19, 3, 2, 1, 3, 5, 6, 3, 4, 3, 0}, + {"HB", -16, 28, 2, "HBM08", 2, 17, 2, 0, 1, 0, 5, 6, 3, 3, 3, 0}, + {"HB", -16, 29, 1, "HBM08", 1, 17, 3, 2, 1, 3, 5, 6, 3, 2, 3, 0}, + {"HB", -16, 29, 2, "HBM08", 1, 18, 2, 0, 1, 0, 5, 6, 3, 1, 3, 0}, + {"HB", -16, 30, 1, "HBM09", 4, 3, 3, 2, 1, 3, 5, 6, 8, 4, 6, 1}, + {"HB", -16, 30, 2, "HBM09", 4, 2, 2, 0, 1, 0, 5, 6, 8, 3, 6, 1}, + {"HB", -16, 31, 1, "HBM09", 3, 1, 3, 2, 1, 3, 5, 6, 8, 2, 6, 1}, + {"HB", -16, 31, 2, "HBM09", 3, 3, 2, 0, 1, 0, 5, 6, 8, 1, 6, 1}, + {"HB", -16, 32, 1, "HBM09", 2, 19, 3, 2, 1, 3, 5, 6, 9, 4, 6, 0}, + {"HB", -16, 32, 2, "HBM09", 2, 17, 2, 0, 1, 0, 5, 6, 9, 3, 6, 0}, + {"HB", -16, 33, 1, "HBM09", 1, 17, 3, 2, 1, 3, 5, 6, 9, 2, 6, 0}, + {"HB", -16, 33, 2, "HBM09", 1, 18, 2, 0, 1, 0, 5, 6, 9, 1, 6, 0}, + {"HB", -16, 34, 1, "HBM10", 4, 3, 3, 2, 1, 3, 11, 8, 2, 4, 3, 1}, + {"HB", -16, 34, 2, "HBM10", 4, 2, 2, 0, 1, 0, 11, 8, 2, 3, 3, 1}, + {"HB", -16, 35, 1, "HBM10", 3, 1, 3, 2, 1, 3, 11, 8, 2, 2, 3, 1}, + {"HB", -16, 35, 2, "HBM10", 3, 3, 2, 0, 1, 0, 11, 8, 2, 1, 3, 1}, + {"HB", -16, 36, 1, "HBM10", 2, 19, 3, 2, 1, 3, 11, 8, 3, 4, 3, 0}, + {"HB", -16, 36, 2, "HBM10", 2, 17, 2, 0, 1, 0, 11, 8, 3, 3, 3, 0}, + {"HB", -16, 37, 1, "HBM10", 1, 17, 3, 2, 1, 3, 11, 8, 3, 2, 3, 0}, + {"HB", -16, 37, 2, "HBM10", 1, 18, 2, 0, 1, 0, 11, 8, 3, 1, 3, 0}, + {"HB", -16, 38, 1, "HBM11", 4, 3, 3, 2, 1, 3, 11, 8, 8, 4, 6, 1}, + {"HB", -16, 38, 2, "HBM11", 4, 2, 2, 0, 1, 0, 11, 8, 8, 3, 6, 1}, + {"HB", -16, 39, 1, "HBM11", 3, 1, 3, 2, 1, 3, 11, 8, 8, 2, 6, 1}, + {"HB", -16, 39, 2, "HBM11", 3, 3, 2, 0, 1, 0, 11, 8, 8, 1, 6, 1}, + {"HB", -16, 40, 1, "HBM11", 2, 19, 3, 2, 1, 3, 11, 8, 9, 4, 6, 0}, + {"HB", -16, 40, 2, "HBM11", 2, 17, 2, 0, 1, 0, 11, 8, 9, 3, 6, 0}, + {"HB", -16, 41, 1, "HBM11", 1, 17, 3, 2, 1, 3, 11, 8, 9, 2, 6, 0}, + {"HB", -16, 41, 2, "HBM11", 1, 18, 2, 0, 1, 0, 11, 8, 9, 1, 6, 0}, + {"HB", -16, 42, 1, "HBM12", 4, 3, 3, 2, 1, 3, 15, 10, 2, 4, 3, 1}, + {"HB", -16, 42, 2, "HBM12", 4, 2, 2, 0, 1, 0, 15, 10, 2, 3, 3, 1}, + {"HB", -16, 43, 1, "HBM12", 3, 1, 3, 2, 1, 3, 15, 10, 2, 2, 3, 1}, + {"HB", -16, 43, 2, "HBM12", 3, 3, 2, 0, 1, 0, 15, 10, 2, 1, 3, 1}, + {"HB", -16, 44, 1, "HBM12", 2, 19, 3, 2, 1, 3, 15, 10, 3, 4, 3, 0}, + {"HB", -16, 44, 2, "HBM12", 2, 17, 2, 0, 1, 0, 15, 10, 3, 3, 3, 0}, + {"HB", -16, 45, 1, "HBM12", 1, 17, 3, 2, 1, 3, 15, 10, 3, 2, 3, 0}, + {"HB", -16, 45, 2, "HBM12", 1, 18, 2, 0, 1, 0, 15, 10, 3, 1, 3, 0}, + {"HB", -16, 46, 1, "HBM13", 4, 3, 3, 2, 1, 3, 15, 10, 8, 4, 6, 1}, + {"HB", -16, 46, 2, "HBM13", 4, 2, 2, 0, 1, 0, 15, 10, 8, 3, 6, 1}, + {"HB", -16, 47, 1, "HBM13", 3, 1, 3, 2, 1, 3, 15, 10, 8, 2, 6, 1}, + {"HB", -16, 47, 2, "HBM13", 3, 3, 2, 0, 1, 0, 15, 10, 8, 1, 6, 1}, + {"HB", -16, 48, 1, "HBM13", 2, 19, 3, 2, 1, 3, 15, 10, 9, 4, 6, 0}, + {"HB", -16, 48, 2, "HBM13", 2, 17, 2, 0, 1, 0, 15, 10, 9, 3, 6, 0}, + {"HB", -16, 49, 1, "HBM13", 1, 17, 3, 2, 1, 3, 15, 10, 9, 2, 6, 0}, + {"HB", -16, 49, 2, "HBM13", 1, 18, 2, 0, 1, 0, 15, 10, 9, 1, 6, 0}, + {"HB", -16, 50, 1, "HBM14", 4, 3, 3, 2, 1, 3, 17, 12, 2, 4, 3, 1}, + {"HB", -16, 50, 2, "HBM14", 4, 2, 2, 0, 1, 0, 17, 12, 2, 3, 3, 1}, + {"HB", -16, 51, 1, "HBM14", 3, 1, 3, 2, 1, 3, 17, 12, 2, 2, 3, 1}, + {"HB", -16, 51, 2, "HBM14", 3, 3, 2, 0, 1, 0, 17, 12, 2, 1, 3, 1}, + {"HB", -16, 52, 1, "HBM14", 2, 19, 3, 2, 1, 3, 17, 12, 3, 4, 3, 0}, + {"HB", -16, 52, 2, "HBM14", 2, 17, 2, 0, 1, 0, 17, 12, 3, 3, 3, 0}, + {"HB", -16, 53, 1, "HBM14", 1, 17, 3, 2, 1, 3, 17, 12, 3, 2, 3, 0}, + {"HB", -16, 53, 2, "HBM14", 1, 18, 2, 0, 1, 0, 17, 12, 3, 1, 3, 0}, + {"HB", -16, 54, 1, "HBM15", 4, 3, 3, 2, 1, 3, 17, 12, 8, 4, 6, 1}, + {"HB", -16, 54, 2, "HBM15", 4, 2, 2, 0, 1, 0, 17, 12, 8, 3, 6, 1}, + {"HB", -16, 55, 1, "HBM15", 3, 1, 3, 2, 1, 3, 17, 12, 8, 2, 6, 1}, + {"HB", -16, 55, 2, "HBM15", 3, 3, 2, 0, 1, 0, 17, 12, 8, 1, 6, 1}, + {"HB", -16, 56, 1, "HBM15", 2, 19, 3, 2, 1, 3, 17, 12, 9, 4, 6, 0}, + {"HB", -16, 56, 2, "HBM15", 2, 17, 2, 0, 1, 0, 17, 12, 9, 3, 6, 0}, + {"HB", -16, 57, 1, "HBM15", 1, 17, 3, 2, 1, 3, 17, 12, 9, 2, 6, 0}, + {"HB", -16, 57, 2, "HBM15", 1, 18, 2, 0, 1, 0, 17, 12, 9, 1, 6, 0}, + {"HB", -16, 58, 1, "HBM16", 4, 3, 3, 2, 1, 3, 14, 14, 2, 4, 3, 1}, + {"HB", -16, 58, 2, "HBM16", 4, 2, 2, 0, 1, 0, 14, 14, 2, 3, 3, 1}, + {"HB", -16, 59, 1, "HBM16", 3, 1, 3, 2, 1, 3, 14, 14, 2, 2, 3, 1}, + {"HB", -16, 59, 2, "HBM16", 3, 3, 2, 0, 1, 0, 14, 14, 2, 1, 3, 1}, + {"HB", -16, 60, 1, "HBM16", 2, 19, 3, 2, 1, 3, 14, 14, 3, 4, 3, 0}, + {"HB", -16, 60, 2, "HBM16", 2, 17, 2, 0, 1, 0, 14, 14, 3, 3, 3, 0}, + {"HB", -16, 61, 1, "HBM16", 1, 17, 3, 2, 1, 3, 14, 14, 3, 2, 3, 0}, + {"HB", -16, 61, 2, "HBM16", 1, 18, 2, 0, 1, 0, 14, 14, 3, 1, 3, 0}, + {"HB", -16, 62, 1, "HBM17", 4, 3, 3, 2, 1, 3, 14, 14, 8, 4, 6, 1}, + {"HB", -16, 62, 2, "HBM17", 4, 2, 2, 0, 1, 0, 14, 14, 8, 3, 6, 1}, + {"HB", -16, 63, 1, "HBM17", 3, 1, 3, 2, 1, 3, 14, 14, 8, 2, 6, 1}, + {"HB", -16, 63, 2, "HBM17", 3, 3, 2, 0, 1, 0, 14, 14, 8, 1, 6, 1}, + {"HB", -16, 64, 1, "HBM17", 2, 19, 3, 2, 1, 3, 14, 14, 9, 4, 6, 0}, + {"HB", -16, 64, 2, "HBM17", 2, 17, 2, 0, 1, 0, 14, 14, 9, 3, 6, 0}, + {"HB", -16, 65, 1, "HBM17", 1, 17, 3, 2, 1, 3, 14, 14, 9, 2, 6, 0}, + {"HB", -16, 65, 2, "HBM17", 1, 18, 2, 0, 1, 0, 14, 14, 9, 1, 6, 0}, + {"HB", -16, 66, 1, "HBM18", 4, 3, 3, 2, 1, 3, 10, 16, 2, 4, 3, 1}, + {"HB", -16, 66, 2, "HBM18", 4, 2, 2, 0, 1, 0, 10, 16, 2, 3, 3, 1}, + {"HB", -16, 67, 1, "HBM18", 3, 1, 3, 2, 1, 3, 10, 16, 2, 2, 3, 1}, + {"HB", -16, 67, 2, "HBM18", 3, 3, 2, 0, 1, 0, 10, 16, 2, 1, 3, 1}, + {"HB", -16, 68, 1, "HBM18", 2, 19, 3, 2, 1, 3, 10, 16, 3, 4, 3, 0}, + {"HB", -16, 68, 2, "HBM18", 2, 17, 2, 0, 1, 0, 10, 16, 3, 3, 3, 0}, + {"HB", -16, 69, 1, "HBM18", 1, 17, 3, 2, 1, 3, 10, 16, 3, 2, 3, 0}, + {"HB", -16, 69, 2, "HBM18", 1, 18, 2, 0, 1, 0, 10, 16, 3, 1, 3, 0}, + {"HB", -16, 70, 1, "HBM01", 4, 3, 3, 2, 1, 3, 10, 16, 8, 4, 6, 1}, + {"HB", -16, 70, 2, "HBM01", 4, 2, 2, 0, 1, 0, 10, 16, 8, 3, 6, 1}, + {"HB", -16, 71, 1, "HBM01", 3, 1, 3, 2, 1, 3, 10, 16, 8, 2, 6, 1}, + {"HB", -16, 71, 2, "HBM01", 3, 3, 2, 0, 1, 0, 10, 16, 8, 1, 6, 1}, + {"HB", -15, 0, 1, "HBM01", 2, 2, 3, 0, 1, 4, 10, 16, 9, 4, 6, 0}, + {"HB", -15, 0, 2, "HBM01", 2, 3, 2, 1, 1, 1, 10, 16, 9, 3, 6, 0}, + {"HB", -15, 1, 1, "HBM01", 1, 19, 3, 0, 1, 4, 10, 16, 9, 2, 6, 0}, + {"HB", -15, 1, 2, "HBM01", 1, 13, 2, 1, 1, 1, 10, 16, 9, 1, 6, 0}, + {"HB", -15, 2, 1, "HBM02", 4, 1, 3, 0, 1, 4, 4, 0, 2, 4, 3, 1}, + {"HB", -15, 2, 2, "HBM02", 4, 7, 2, 1, 1, 1, 4, 0, 2, 3, 3, 1}, + {"HB", -15, 3, 1, "HBM02", 3, 18, 3, 0, 1, 4, 4, 0, 2, 2, 3, 1}, + {"HB", -15, 3, 2, "HBM02", 3, 17, 2, 1, 1, 1, 4, 0, 2, 1, 3, 1}, + {"HB", -15, 4, 1, "HBM02", 2, 2, 3, 0, 1, 4, 4, 0, 3, 4, 3, 0}, + {"HB", -15, 4, 2, "HBM02", 2, 3, 2, 1, 1, 1, 4, 0, 3, 3, 3, 0}, + {"HB", -15, 5, 1, "HBM02", 1, 19, 3, 0, 1, 4, 4, 0, 3, 2, 3, 0}, + {"HB", -15, 5, 2, "HBM02", 1, 13, 2, 1, 1, 1, 4, 0, 3, 1, 3, 0}, + {"HB", -15, 6, 1, "HBM03", 4, 1, 3, 0, 1, 4, 4, 0, 8, 4, 6, 1}, + {"HB", -15, 6, 2, "HBM03", 4, 7, 2, 1, 1, 1, 4, 0, 8, 3, 6, 1}, + {"HB", -15, 7, 1, "HBM03", 3, 18, 3, 0, 1, 4, 4, 0, 8, 2, 6, 1}, + {"HB", -15, 7, 2, "HBM03", 3, 17, 2, 1, 1, 1, 4, 0, 8, 1, 6, 1}, + {"HB", -15, 8, 1, "HBM03", 2, 2, 3, 0, 1, 4, 4, 0, 9, 4, 6, 0}, + {"HB", -15, 8, 2, "HBM03", 2, 3, 2, 1, 1, 1, 4, 0, 9, 3, 6, 0}, + {"HB", -15, 9, 1, "HBM03", 1, 19, 3, 0, 1, 4, 4, 0, 9, 2, 6, 0}, + {"HB", -15, 9, 2, "HBM03", 1, 13, 2, 1, 1, 1, 4, 0, 9, 1, 6, 0}, + {"HB", -15, 10, 1, "HBM04", 4, 1, 3, 0, 1, 4, 0, 2, 2, 4, 3, 1}, + {"HB", -15, 10, 2, "HBM04", 4, 7, 2, 1, 1, 1, 0, 2, 2, 3, 3, 1}, + {"HB", -15, 11, 1, "HBM04", 3, 18, 3, 0, 1, 4, 0, 2, 2, 2, 3, 1}, + {"HB", -15, 11, 2, "HBM04", 3, 17, 2, 1, 1, 1, 0, 2, 2, 1, 3, 1}, + {"HB", -15, 12, 1, "HBM04", 2, 2, 3, 0, 1, 4, 0, 2, 3, 4, 3, 0}, + {"HB", -15, 12, 2, "HBM04", 2, 3, 2, 1, 1, 1, 0, 2, 3, 3, 3, 0}, + {"HB", -15, 13, 1, "HBM04", 1, 19, 3, 0, 1, 4, 0, 2, 3, 2, 3, 0}, + {"HB", -15, 13, 2, "HBM04", 1, 13, 2, 1, 1, 1, 0, 2, 3, 1, 3, 0}, + {"HB", -15, 14, 1, "HBM05", 4, 1, 3, 0, 1, 4, 0, 2, 8, 4, 6, 1}, + {"HB", -15, 14, 2, "HBM05", 4, 7, 2, 1, 1, 1, 0, 2, 8, 3, 6, 1}, + {"HB", -15, 15, 1, "HBM05", 3, 18, 3, 0, 1, 4, 0, 2, 8, 2, 6, 1}, + {"HB", -15, 15, 2, "HBM05", 3, 17, 2, 1, 1, 1, 0, 2, 8, 1, 6, 1}, + {"HB", -15, 16, 1, "HBM05", 2, 2, 3, 0, 1, 4, 0, 2, 9, 4, 6, 0}, + {"HB", -15, 16, 2, "HBM05", 2, 3, 2, 1, 1, 1, 0, 2, 9, 3, 6, 0}, + {"HB", -15, 17, 1, "HBM05", 1, 19, 3, 0, 1, 4, 0, 2, 9, 2, 6, 0}, + {"HB", -15, 17, 2, "HBM05", 1, 13, 2, 1, 1, 1, 0, 2, 9, 1, 6, 0}, + {"HB", -15, 18, 1, "HBM06", 4, 1, 3, 0, 1, 4, 1, 4, 2, 4, 3, 1}, + {"HB", -15, 18, 2, "HBM06", 4, 7, 2, 1, 1, 1, 1, 4, 2, 3, 3, 1}, + {"HB", -15, 19, 1, "HBM06", 3, 18, 3, 0, 1, 4, 1, 4, 2, 2, 3, 1}, + {"HB", -15, 19, 2, "HBM06", 3, 17, 2, 1, 1, 1, 1, 4, 2, 1, 3, 1}, + {"HB", -15, 20, 1, "HBM06", 2, 2, 3, 0, 1, 4, 1, 4, 3, 4, 3, 0}, + {"HB", -15, 20, 2, "HBM06", 2, 3, 2, 1, 1, 1, 1, 4, 3, 3, 3, 0}, + {"HB", -15, 21, 1, "HBM06", 1, 19, 3, 0, 1, 4, 1, 4, 3, 2, 3, 0}, + {"HB", -15, 21, 2, "HBM06", 1, 13, 2, 1, 1, 1, 1, 4, 3, 1, 3, 0}, + {"HB", -15, 22, 1, "HBM07", 4, 1, 3, 0, 1, 4, 1, 4, 8, 4, 6, 1}, + {"HB", -15, 22, 2, "HBM07", 4, 7, 2, 1, 1, 1, 1, 4, 8, 3, 6, 1}, + {"HB", -15, 23, 1, "HBM07", 3, 18, 3, 0, 1, 4, 1, 4, 8, 2, 6, 1}, + {"HB", -15, 23, 2, "HBM07", 3, 17, 2, 1, 1, 1, 1, 4, 8, 1, 6, 1}, + {"HB", -15, 24, 1, "HBM07", 2, 2, 3, 0, 1, 4, 1, 4, 9, 4, 6, 0}, + {"HB", -15, 24, 2, "HBM07", 2, 3, 2, 1, 1, 1, 1, 4, 9, 3, 6, 0}, + {"HB", -15, 25, 1, "HBM07", 1, 19, 3, 0, 1, 4, 1, 4, 9, 2, 6, 0}, + {"HB", -15, 25, 2, "HBM07", 1, 13, 2, 1, 1, 1, 1, 4, 9, 1, 6, 0}, + {"HB", -15, 26, 1, "HBM08", 4, 1, 3, 0, 1, 4, 5, 6, 2, 4, 3, 1}, + {"HB", -15, 26, 2, "HBM08", 4, 7, 2, 1, 1, 1, 5, 6, 2, 3, 3, 1}, + {"HB", -15, 27, 1, "HBM08", 3, 18, 3, 0, 1, 4, 5, 6, 2, 2, 3, 1}, + {"HB", -15, 27, 2, "HBM08", 3, 17, 2, 1, 1, 1, 5, 6, 2, 1, 3, 1}, + {"HB", -15, 28, 1, "HBM08", 2, 2, 3, 0, 1, 4, 5, 6, 3, 4, 3, 0}, + {"HB", -15, 28, 2, "HBM08", 2, 3, 2, 1, 1, 1, 5, 6, 3, 3, 3, 0}, + {"HB", -15, 29, 1, "HBM08", 1, 19, 3, 0, 1, 4, 5, 6, 3, 2, 3, 0}, + {"HB", -15, 29, 2, "HBM08", 1, 13, 2, 1, 1, 1, 5, 6, 3, 1, 3, 0}, + {"HB", -15, 30, 1, "HBM09", 4, 1, 3, 0, 1, 4, 5, 6, 8, 4, 6, 1}, + {"HB", -15, 30, 2, "HBM09", 4, 7, 2, 1, 1, 1, 5, 6, 8, 3, 6, 1}, + {"HB", -15, 31, 1, "HBM09", 3, 18, 3, 0, 1, 4, 5, 6, 8, 2, 6, 1}, + {"HB", -15, 31, 2, "HBM09", 3, 17, 2, 1, 1, 1, 5, 6, 8, 1, 6, 1}, + {"HB", -15, 32, 1, "HBM09", 2, 2, 3, 0, 1, 4, 5, 6, 9, 4, 6, 0}, + {"HB", -15, 32, 2, "HBM09", 2, 3, 2, 1, 1, 1, 5, 6, 9, 3, 6, 0}, + {"HB", -15, 33, 1, "HBM09", 1, 19, 3, 0, 1, 4, 5, 6, 9, 2, 6, 0}, + {"HB", -15, 33, 2, "HBM09", 1, 13, 2, 1, 1, 1, 5, 6, 9, 1, 6, 0}, + {"HB", -15, 34, 1, "HBM10", 4, 1, 3, 0, 1, 4, 11, 8, 2, 4, 3, 1}, + {"HB", -15, 34, 2, "HBM10", 4, 7, 2, 1, 1, 1, 11, 8, 2, 3, 3, 1}, + {"HB", -15, 35, 1, "HBM10", 3, 18, 3, 0, 1, 4, 11, 8, 2, 2, 3, 1}, + {"HB", -15, 35, 2, "HBM10", 3, 17, 2, 1, 1, 1, 11, 8, 2, 1, 3, 1}, + {"HB", -15, 36, 1, "HBM10", 2, 2, 3, 0, 1, 4, 11, 8, 3, 4, 3, 0}, + {"HB", -15, 36, 2, "HBM10", 2, 3, 2, 1, 1, 1, 11, 8, 3, 3, 3, 0}, + {"HB", -15, 37, 1, "HBM10", 1, 19, 3, 0, 1, 4, 11, 8, 3, 2, 3, 0}, + {"HB", -15, 37, 2, "HBM10", 1, 13, 2, 1, 1, 1, 11, 8, 3, 1, 3, 0}, + {"HB", -15, 38, 1, "HBM11", 4, 1, 3, 0, 1, 4, 11, 8, 8, 4, 6, 1}, + {"HB", -15, 38, 2, "HBM11", 4, 7, 2, 1, 1, 1, 11, 8, 8, 3, 6, 1}, + {"HB", -15, 39, 1, "HBM11", 3, 18, 3, 0, 1, 4, 11, 8, 8, 2, 6, 1}, + {"HB", -15, 39, 2, "HBM11", 3, 17, 2, 1, 1, 1, 11, 8, 8, 1, 6, 1}, + {"HB", -15, 40, 1, "HBM11", 2, 2, 3, 0, 1, 4, 11, 8, 9, 4, 6, 0}, + {"HB", -15, 40, 2, "HBM11", 2, 3, 2, 1, 1, 1, 11, 8, 9, 3, 6, 0}, + {"HB", -15, 41, 1, "HBM11", 1, 19, 3, 0, 1, 4, 11, 8, 9, 2, 6, 0}, + {"HB", -15, 41, 2, "HBM11", 1, 13, 2, 1, 1, 1, 11, 8, 9, 1, 6, 0}, + {"HB", -15, 42, 1, "HBM12", 4, 1, 3, 0, 1, 4, 15, 10, 2, 4, 3, 1}, + {"HB", -15, 42, 2, "HBM12", 4, 7, 2, 1, 1, 1, 15, 10, 2, 3, 3, 1}, + {"HB", -15, 43, 1, "HBM12", 3, 18, 3, 0, 1, 4, 15, 10, 2, 2, 3, 1}, + {"HB", -15, 43, 2, "HBM12", 3, 17, 2, 1, 1, 1, 15, 10, 2, 1, 3, 1}, + {"HB", -15, 44, 1, "HBM12", 2, 2, 3, 0, 1, 4, 15, 10, 3, 4, 3, 0}, + {"HB", -15, 44, 2, "HBM12", 2, 3, 2, 1, 1, 1, 15, 10, 3, 3, 3, 0}, + {"HB", -15, 45, 1, "HBM12", 1, 19, 3, 0, 1, 4, 15, 10, 3, 2, 3, 0}, + {"HB", -15, 45, 2, "HBM12", 1, 13, 2, 1, 1, 1, 15, 10, 3, 1, 3, 0}, + {"HB", -15, 46, 1, "HBM13", 4, 1, 3, 0, 1, 4, 15, 10, 8, 4, 6, 1}, + {"HB", -15, 46, 2, "HBM13", 4, 7, 2, 1, 1, 1, 15, 10, 8, 3, 6, 1}, + {"HB", -15, 47, 1, "HBM13", 3, 18, 3, 0, 1, 4, 15, 10, 8, 2, 6, 1}, + {"HB", -15, 47, 2, "HBM13", 3, 17, 2, 1, 1, 1, 15, 10, 8, 1, 6, 1}, + {"HB", -15, 48, 1, "HBM13", 2, 2, 3, 0, 1, 4, 15, 10, 9, 4, 6, 0}, + {"HB", -15, 48, 2, "HBM13", 2, 3, 2, 1, 1, 1, 15, 10, 9, 3, 6, 0}, + {"HB", -15, 49, 1, "HBM13", 1, 19, 3, 0, 1, 4, 15, 10, 9, 2, 6, 0}, + {"HB", -15, 49, 2, "HBM13", 1, 13, 2, 1, 1, 1, 15, 10, 9, 1, 6, 0}, + {"HB", -15, 50, 1, "HBM14", 4, 1, 3, 0, 1, 4, 17, 12, 2, 4, 3, 1}, + {"HB", -15, 50, 2, "HBM14", 4, 7, 2, 1, 1, 1, 17, 12, 2, 3, 3, 1}, + {"HB", -15, 51, 1, "HBM14", 3, 18, 3, 0, 1, 4, 17, 12, 2, 2, 3, 1}, + {"HB", -15, 51, 2, "HBM14", 3, 17, 2, 1, 1, 1, 17, 12, 2, 1, 3, 1}, + {"HB", -15, 52, 1, "HBM14", 2, 2, 3, 0, 1, 4, 17, 12, 3, 4, 3, 0}, + {"HB", -15, 52, 2, "HBM14", 2, 3, 2, 1, 1, 1, 17, 12, 3, 3, 3, 0}, + {"HB", -15, 53, 1, "HBM14", 1, 19, 3, 0, 1, 4, 17, 12, 3, 2, 3, 0}, + {"HB", -15, 53, 2, "HBM14", 1, 13, 2, 1, 1, 1, 17, 12, 3, 1, 3, 0}, + {"HB", -15, 54, 1, "HBM15", 4, 1, 3, 0, 1, 4, 17, 12, 8, 4, 6, 1}, + {"HB", -15, 54, 2, "HBM15", 4, 7, 2, 1, 1, 1, 17, 12, 8, 3, 6, 1}, + {"HB", -15, 55, 1, "HBM15", 3, 18, 3, 0, 1, 4, 17, 12, 8, 2, 6, 1}, + {"HB", -15, 55, 2, "HBM15", 3, 17, 2, 1, 1, 1, 17, 12, 8, 1, 6, 1}, + {"HB", -15, 56, 1, "HBM15", 2, 2, 3, 0, 1, 4, 17, 12, 9, 4, 6, 0}, + {"HB", -15, 56, 2, "HBM15", 2, 3, 2, 1, 1, 1, 17, 12, 9, 3, 6, 0}, + {"HB", -15, 57, 1, "HBM15", 1, 19, 3, 0, 1, 4, 17, 12, 9, 2, 6, 0}, + {"HB", -15, 57, 2, "HBM15", 1, 13, 2, 1, 1, 1, 17, 12, 9, 1, 6, 0}, + {"HB", -15, 58, 1, "HBM16", 4, 1, 3, 0, 1, 4, 14, 14, 2, 4, 3, 1}, + {"HB", -15, 58, 2, "HBM16", 4, 7, 2, 1, 1, 1, 14, 14, 2, 3, 3, 1}, + {"HB", -15, 59, 1, "HBM16", 3, 18, 3, 0, 1, 4, 14, 14, 2, 2, 3, 1}, + {"HB", -15, 59, 2, "HBM16", 3, 17, 2, 1, 1, 1, 14, 14, 2, 1, 3, 1}, + {"HB", -15, 60, 1, "HBM16", 2, 2, 3, 0, 1, 4, 14, 14, 3, 4, 3, 0}, + {"HB", -15, 60, 2, "HBM16", 2, 3, 2, 1, 1, 1, 14, 14, 3, 3, 3, 0}, + {"HB", -15, 61, 1, "HBM16", 1, 19, 3, 0, 1, 4, 14, 14, 3, 2, 3, 0}, + {"HB", -15, 61, 2, "HBM16", 1, 13, 2, 1, 1, 1, 14, 14, 3, 1, 3, 0}, + {"HB", -15, 62, 1, "HBM17", 4, 1, 3, 0, 1, 4, 14, 14, 8, 4, 6, 1}, + {"HB", -15, 62, 2, "HBM17", 4, 7, 2, 1, 1, 1, 14, 14, 8, 3, 6, 1}, + {"HB", -15, 63, 1, "HBM17", 3, 18, 3, 0, 1, 4, 14, 14, 8, 2, 6, 1}, + {"HB", -15, 63, 2, "HBM17", 3, 17, 2, 1, 1, 1, 14, 14, 8, 1, 6, 1}, + {"HB", -15, 64, 1, "HBM17", 2, 2, 3, 0, 1, 4, 14, 14, 9, 4, 6, 0}, + {"HB", -15, 64, 2, "HBM17", 2, 3, 2, 1, 1, 1, 14, 14, 9, 3, 6, 0}, + {"HB", -15, 65, 1, "HBM17", 1, 19, 3, 0, 1, 4, 14, 14, 9, 2, 6, 0}, + {"HB", -15, 65, 2, "HBM17", 1, 13, 2, 1, 1, 1, 14, 14, 9, 1, 6, 0}, + {"HB", -15, 66, 1, "HBM18", 4, 1, 3, 0, 1, 4, 10, 16, 2, 4, 3, 1}, + {"HB", -15, 66, 2, "HBM18", 4, 7, 2, 1, 1, 1, 10, 16, 2, 3, 3, 1}, + {"HB", -15, 67, 1, "HBM18", 3, 18, 3, 0, 1, 4, 10, 16, 2, 2, 3, 1}, + {"HB", -15, 67, 2, "HBM18", 3, 17, 2, 1, 1, 1, 10, 16, 2, 1, 3, 1}, + {"HB", -15, 68, 1, "HBM18", 2, 2, 3, 0, 1, 4, 10, 16, 3, 4, 3, 0}, + {"HB", -15, 68, 2, "HBM18", 2, 3, 2, 1, 1, 1, 10, 16, 3, 3, 3, 0}, + {"HB", -15, 69, 1, "HBM18", 1, 19, 3, 0, 1, 4, 10, 16, 3, 2, 3, 0}, + {"HB", -15, 69, 2, "HBM18", 1, 13, 2, 1, 1, 1, 10, 16, 3, 1, 3, 0}, + {"HB", -15, 70, 1, "HBM01", 4, 1, 3, 0, 1, 4, 10, 16, 8, 4, 6, 1}, + {"HB", -15, 70, 2, "HBM01", 4, 7, 2, 1, 1, 1, 10, 16, 8, 3, 6, 1}, + {"HB", -15, 71, 1, "HBM01", 3, 18, 3, 0, 1, 4, 10, 16, 8, 2, 6, 1}, + {"HB", -15, 71, 2, "HBM01", 3, 17, 2, 1, 1, 1, 10, 16, 8, 1, 6, 1}, + {"HB", -14, 0, 1, "HBM01", 2, 1, 2, 2, 1, 2, 10, 16, 9, 3, 6, 0}, + {"HB", -14, 0, 2, "HBM01", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 1, 1, "HBM01", 1, 14, 2, 2, 1, 2, 10, 16, 9, 1, 6, 0}, + {"HB", -14, 1, 2, "HBM01", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 2, 1, "HBM02", 4, 6, 2, 2, 1, 2, 4, 0, 2, 3, 3, 1}, + {"HB", -14, 2, 2, "HBM02", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 3, 1, "HBM02", 3, 19, 2, 2, 1, 2, 4, 0, 2, 1, 3, 1}, + {"HB", -14, 3, 2, "HBM02", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 4, 1, "HBM02", 2, 1, 2, 2, 1, 2, 4, 0, 3, 3, 3, 0}, + {"HB", -14, 4, 2, "HBM02", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 5, 1, "HBM02", 1, 14, 2, 2, 1, 2, 4, 0, 3, 1, 3, 0}, + {"HB", -14, 5, 2, "HBM02", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 6, 1, "HBM03", 4, 6, 2, 2, 1, 2, 4, 0, 8, 3, 6, 1}, + {"HB", -14, 6, 2, "HBM03", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 7, 1, "HBM03", 3, 19, 2, 2, 1, 2, 4, 0, 8, 1, 6, 1}, + {"HB", -14, 7, 2, "HBM03", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 8, 1, "HBM03", 2, 1, 2, 2, 1, 2, 4, 0, 9, 3, 6, 0}, + {"HB", -14, 8, 2, "HBM03", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 9, 1, "HBM03", 1, 14, 2, 2, 1, 2, 4, 0, 9, 1, 6, 0}, + {"HB", -14, 9, 2, "HBM03", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 10, 1, "HBM04", 4, 6, 2, 2, 1, 2, 0, 2, 2, 3, 3, 1}, + {"HB", -14, 10, 2, "HBM04", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 11, 1, "HBM04", 3, 19, 2, 2, 1, 2, 0, 2, 2, 1, 3, 1}, + {"HB", -14, 11, 2, "HBM04", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 12, 1, "HBM04", 2, 1, 2, 2, 1, 2, 0, 2, 3, 3, 3, 0}, + {"HB", -14, 12, 2, "HBM04", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 13, 1, "HBM04", 1, 14, 2, 2, 1, 2, 0, 2, 3, 1, 3, 0}, + {"HB", -14, 13, 2, "HBM04", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 14, 1, "HBM05", 4, 6, 2, 2, 1, 2, 0, 2, 8, 3, 6, 1}, + {"HB", -14, 14, 2, "HBM05", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 15, 1, "HBM05", 3, 19, 2, 2, 1, 2, 0, 2, 8, 1, 6, 1}, + {"HB", -14, 15, 2, "HBM05", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 16, 1, "HBM05", 2, 1, 2, 2, 1, 2, 0, 2, 9, 3, 6, 0}, + {"HB", -14, 16, 2, "HBM05", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 17, 1, "HBM05", 1, 14, 2, 2, 1, 2, 0, 2, 9, 1, 6, 0}, + {"HB", -14, 17, 2, "HBM05", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 18, 1, "HBM06", 4, 6, 2, 2, 1, 2, 1, 4, 2, 3, 3, 1}, + {"HB", -14, 18, 2, "HBM06", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 19, 1, "HBM06", 3, 19, 2, 2, 1, 2, 1, 4, 2, 1, 3, 1}, + {"HB", -14, 19, 2, "HBM06", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 20, 1, "HBM06", 2, 1, 2, 2, 1, 2, 1, 4, 3, 3, 3, 0}, + {"HB", -14, 20, 2, "HBM06", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 21, 1, "HBM06", 1, 14, 2, 2, 1, 2, 1, 4, 3, 1, 3, 0}, + {"HB", -14, 21, 2, "HBM06", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 22, 1, "HBM07", 4, 6, 2, 2, 1, 2, 1, 4, 8, 3, 6, 1}, + {"HB", -14, 22, 2, "HBM07", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 23, 1, "HBM07", 3, 19, 2, 2, 1, 2, 1, 4, 8, 1, 6, 1}, + {"HB", -14, 23, 2, "HBM07", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 24, 1, "HBM07", 2, 1, 2, 2, 1, 2, 1, 4, 9, 3, 6, 0}, + {"HB", -14, 24, 2, "HBM07", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 25, 1, "HBM07", 1, 14, 2, 2, 1, 2, 1, 4, 9, 1, 6, 0}, + {"HB", -14, 25, 2, "HBM07", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 26, 1, "HBM08", 4, 6, 2, 2, 1, 2, 5, 6, 2, 3, 3, 1}, + {"HB", -14, 26, 2, "HBM08", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 27, 1, "HBM08", 3, 19, 2, 2, 1, 2, 5, 6, 2, 1, 3, 1}, + {"HB", -14, 27, 2, "HBM08", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 28, 1, "HBM08", 2, 1, 2, 2, 1, 2, 5, 6, 3, 3, 3, 0}, + {"HB", -14, 28, 2, "HBM08", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 29, 1, "HBM08", 1, 14, 2, 2, 1, 2, 5, 6, 3, 1, 3, 0}, + {"HB", -14, 29, 2, "HBM08", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 30, 1, "HBM09", 4, 6, 2, 2, 1, 2, 5, 6, 8, 3, 6, 1}, + {"HB", -14, 30, 2, "HBM09", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 31, 1, "HBM09", 3, 19, 2, 2, 1, 2, 5, 6, 8, 1, 6, 1}, + {"HB", -14, 31, 2, "HBM09", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 32, 1, "HBM09", 2, 1, 2, 2, 1, 2, 5, 6, 9, 3, 6, 0}, + {"HB", -14, 32, 2, "HBM09", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 33, 1, "HBM09", 1, 14, 2, 2, 1, 2, 5, 6, 9, 1, 6, 0}, + {"HB", -14, 33, 2, "HBM09", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 34, 1, "HBM10", 4, 6, 2, 2, 1, 2, 11, 8, 2, 3, 3, 1}, + {"HB", -14, 34, 2, "HBM10", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 35, 1, "HBM10", 3, 19, 2, 2, 1, 2, 11, 8, 2, 1, 3, 1}, + {"HB", -14, 35, 2, "HBM10", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 36, 1, "HBM10", 2, 1, 2, 2, 1, 2, 11, 8, 3, 3, 3, 0}, + {"HB", -14, 36, 2, "HBM10", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 37, 1, "HBM10", 1, 14, 2, 2, 1, 2, 11, 8, 3, 1, 3, 0}, + {"HB", -14, 37, 2, "HBM10", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 38, 1, "HBM11", 4, 6, 2, 2, 1, 2, 11, 8, 8, 3, 6, 1}, + {"HB", -14, 38, 2, "HBM11", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 39, 1, "HBM11", 3, 19, 2, 2, 1, 2, 11, 8, 8, 1, 6, 1}, + {"HB", -14, 39, 2, "HBM11", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 40, 1, "HBM11", 2, 1, 2, 2, 1, 2, 11, 8, 9, 3, 6, 0}, + {"HB", -14, 40, 2, "HBM11", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 41, 1, "HBM11", 1, 14, 2, 2, 1, 2, 11, 8, 9, 1, 6, 0}, + {"HB", -14, 41, 2, "HBM11", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 42, 1, "HBM12", 4, 6, 2, 2, 1, 2, 15, 10, 2, 3, 3, 1}, + {"HB", -14, 42, 2, "HBM12", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 43, 1, "HBM12", 3, 19, 2, 2, 1, 2, 15, 10, 2, 1, 3, 1}, + {"HB", -14, 43, 2, "HBM12", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 44, 1, "HBM12", 2, 1, 2, 2, 1, 2, 15, 10, 3, 3, 3, 0}, + {"HB", -14, 44, 2, "HBM12", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 45, 1, "HBM12", 1, 14, 2, 2, 1, 2, 15, 10, 3, 1, 3, 0}, + {"HB", -14, 45, 2, "HBM12", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 46, 1, "HBM13", 4, 6, 2, 2, 1, 2, 15, 10, 8, 3, 6, 1}, + {"HB", -14, 46, 2, "HBM13", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 47, 1, "HBM13", 3, 19, 2, 2, 1, 2, 15, 10, 8, 1, 6, 1}, + {"HB", -14, 47, 2, "HBM13", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 48, 1, "HBM13", 2, 1, 2, 2, 1, 2, 15, 10, 9, 3, 6, 0}, + {"HB", -14, 48, 2, "HBM13", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 49, 1, "HBM13", 1, 14, 2, 2, 1, 2, 15, 10, 9, 1, 6, 0}, + {"HB", -14, 49, 2, "HBM13", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 50, 1, "HBM14", 4, 6, 2, 2, 1, 2, 17, 12, 2, 3, 3, 1}, + {"HB", -14, 50, 2, "HBM14", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 51, 1, "HBM14", 3, 19, 2, 2, 1, 2, 17, 12, 2, 1, 3, 1}, + {"HB", -14, 51, 2, "HBM14", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 52, 1, "HBM14", 2, 1, 2, 2, 1, 2, 17, 12, 3, 3, 3, 0}, + {"HB", -14, 52, 2, "HBM14", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 53, 1, "HBM14", 1, 14, 2, 2, 1, 2, 17, 12, 3, 1, 3, 0}, + {"HB", -14, 53, 2, "HBM14", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 54, 1, "HBM15", 4, 6, 2, 2, 1, 2, 17, 12, 8, 3, 6, 1}, + {"HB", -14, 54, 2, "HBM15", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 55, 1, "HBM15", 3, 19, 2, 2, 1, 2, 17, 12, 8, 1, 6, 1}, + {"HB", -14, 55, 2, "HBM15", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 56, 1, "HBM15", 2, 1, 2, 2, 1, 2, 17, 12, 9, 3, 6, 0}, + {"HB", -14, 56, 2, "HBM15", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 57, 1, "HBM15", 1, 14, 2, 2, 1, 2, 17, 12, 9, 1, 6, 0}, + {"HB", -14, 57, 2, "HBM15", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 58, 1, "HBM16", 4, 6, 2, 2, 1, 2, 14, 14, 2, 3, 3, 1}, + {"HB", -14, 58, 2, "HBM16", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 59, 1, "HBM16", 3, 19, 2, 2, 1, 2, 14, 14, 2, 1, 3, 1}, + {"HB", -14, 59, 2, "HBM16", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 60, 1, "HBM16", 2, 1, 2, 2, 1, 2, 14, 14, 3, 3, 3, 0}, + {"HB", -14, 60, 2, "HBM16", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 61, 1, "HBM16", 1, 14, 2, 2, 1, 2, 14, 14, 3, 1, 3, 0}, + {"HB", -14, 61, 2, "HBM16", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 62, 1, "HBM17", 4, 6, 2, 2, 1, 2, 14, 14, 8, 3, 6, 1}, + {"HB", -14, 62, 2, "HBM17", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 63, 1, "HBM17", 3, 19, 2, 2, 1, 2, 14, 14, 8, 1, 6, 1}, + {"HB", -14, 63, 2, "HBM17", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 64, 1, "HBM17", 2, 1, 2, 2, 1, 2, 14, 14, 9, 3, 6, 0}, + {"HB", -14, 64, 2, "HBM17", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 65, 1, "HBM17", 1, 14, 2, 2, 1, 2, 14, 14, 9, 1, 6, 0}, + {"HB", -14, 65, 2, "HBM17", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 66, 1, "HBM18", 4, 6, 2, 2, 1, 2, 10, 16, 2, 3, 3, 1}, + {"HB", -14, 66, 2, "HBM18", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 67, 1, "HBM18", 3, 19, 2, 2, 1, 2, 10, 16, 2, 1, 3, 1}, + {"HB", -14, 67, 2, "HBM18", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 68, 1, "HBM18", 2, 1, 2, 2, 1, 2, 10, 16, 3, 3, 3, 0}, + {"HB", -14, 68, 2, "HBM18", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 69, 1, "HBM18", 1, 14, 2, 2, 1, 2, 10, 16, 3, 1, 3, 0}, + {"HB", -14, 69, 2, "HBM18", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 70, 1, "HBM01", 4, 6, 2, 2, 1, 2, 10, 16, 8, 3, 6, 1}, + {"HB", -14, 70, 2, "HBM01", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -14, 71, 1, "HBM01", 3, 19, 2, 2, 1, 2, 10, 16, 8, 1, 6, 1}, + {"HB", -14, 71, 2, "HBM01", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 0, 1, "HBM01", 2, 7, 3, 1, 1, 5, 10, 16, 9, 4, 6, 0}, + {"HB", -13, 0, 2, "HBM01", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 1, 1, "HBM01", 1, 15, 3, 1, 1, 5, 10, 16, 9, 2, 6, 0}, + {"HB", -13, 1, 2, "HBM01", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 2, 1, "HBM02", 4, 5, 3, 1, 1, 5, 4, 0, 2, 4, 3, 1}, + {"HB", -13, 2, 2, "HBM02", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 3, 1, "HBM02", 3, 13, 3, 1, 1, 5, 4, 0, 2, 2, 3, 1}, + {"HB", -13, 3, 2, "HBM02", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 4, 1, "HBM02", 2, 7, 3, 1, 1, 5, 4, 0, 3, 4, 3, 0}, + {"HB", -13, 4, 2, "HBM02", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 5, 1, "HBM02", 1, 15, 3, 1, 1, 5, 4, 0, 3, 2, 3, 0}, + {"HB", -13, 5, 2, "HBM02", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 6, 1, "HBM03", 4, 5, 3, 1, 1, 5, 4, 0, 8, 4, 6, 1}, + {"HB", -13, 6, 2, "HBM03", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 7, 1, "HBM03", 3, 13, 3, 1, 1, 5, 4, 0, 8, 2, 6, 1}, + {"HB", -13, 7, 2, "HBM03", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 8, 1, "HBM03", 2, 7, 3, 1, 1, 5, 4, 0, 9, 4, 6, 0}, + {"HB", -13, 8, 2, "HBM03", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 9, 1, "HBM03", 1, 15, 3, 1, 1, 5, 4, 0, 9, 2, 6, 0}, + {"HB", -13, 9, 2, "HBM03", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 10, 1, "HBM04", 4, 5, 3, 1, 1, 5, 0, 2, 2, 4, 3, 1}, + {"HB", -13, 10, 2, "HBM04", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 11, 1, "HBM04", 3, 13, 3, 1, 1, 5, 0, 2, 2, 2, 3, 1}, + {"HB", -13, 11, 2, "HBM04", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 12, 1, "HBM04", 2, 7, 3, 1, 1, 5, 0, 2, 3, 4, 3, 0}, + {"HB", -13, 12, 2, "HBM04", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 13, 1, "HBM04", 1, 15, 3, 1, 1, 5, 0, 2, 3, 2, 3, 0}, + {"HB", -13, 13, 2, "HBM04", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 14, 1, "HBM05", 4, 5, 3, 1, 1, 5, 0, 2, 8, 4, 6, 1}, + {"HB", -13, 14, 2, "HBM05", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 15, 1, "HBM05", 3, 13, 3, 1, 1, 5, 0, 2, 8, 2, 6, 1}, + {"HB", -13, 15, 2, "HBM05", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 16, 1, "HBM05", 2, 7, 3, 1, 1, 5, 0, 2, 9, 4, 6, 0}, + {"HB", -13, 16, 2, "HBM05", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 17, 1, "HBM05", 1, 15, 3, 1, 1, 5, 0, 2, 9, 2, 6, 0}, + {"HB", -13, 17, 2, "HBM05", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 18, 1, "HBM06", 4, 5, 3, 1, 1, 5, 1, 4, 2, 4, 3, 1}, + {"HB", -13, 18, 2, "HBM06", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 19, 1, "HBM06", 3, 13, 3, 1, 1, 5, 1, 4, 2, 2, 3, 1}, + {"HB", -13, 19, 2, "HBM06", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 20, 1, "HBM06", 2, 7, 3, 1, 1, 5, 1, 4, 3, 4, 3, 0}, + {"HB", -13, 20, 2, "HBM06", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 21, 1, "HBM06", 1, 15, 3, 1, 1, 5, 1, 4, 3, 2, 3, 0}, + {"HB", -13, 21, 2, "HBM06", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 22, 1, "HBM07", 4, 5, 3, 1, 1, 5, 1, 4, 8, 4, 6, 1}, + {"HB", -13, 22, 2, "HBM07", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 23, 1, "HBM07", 3, 13, 3, 1, 1, 5, 1, 4, 8, 2, 6, 1}, + {"HB", -13, 23, 2, "HBM07", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 24, 1, "HBM07", 2, 7, 3, 1, 1, 5, 1, 4, 9, 4, 6, 0}, + {"HB", -13, 24, 2, "HBM07", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 25, 1, "HBM07", 1, 15, 3, 1, 1, 5, 1, 4, 9, 2, 6, 0}, + {"HB", -13, 25, 2, "HBM07", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 26, 1, "HBM08", 4, 5, 3, 1, 1, 5, 5, 6, 2, 4, 3, 1}, + {"HB", -13, 26, 2, "HBM08", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 27, 1, "HBM08", 3, 13, 3, 1, 1, 5, 5, 6, 2, 2, 3, 1}, + {"HB", -13, 27, 2, "HBM08", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 28, 1, "HBM08", 2, 7, 3, 1, 1, 5, 5, 6, 3, 4, 3, 0}, + {"HB", -13, 28, 2, "HBM08", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 29, 1, "HBM08", 1, 15, 3, 1, 1, 5, 5, 6, 3, 2, 3, 0}, + {"HB", -13, 29, 2, "HBM08", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 30, 1, "HBM09", 4, 5, 3, 1, 1, 5, 5, 6, 8, 4, 6, 1}, + {"HB", -13, 30, 2, "HBM09", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 31, 1, "HBM09", 3, 13, 3, 1, 1, 5, 5, 6, 8, 2, 6, 1}, + {"HB", -13, 31, 2, "HBM09", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 32, 1, "HBM09", 2, 7, 3, 1, 1, 5, 5, 6, 9, 4, 6, 0}, + {"HB", -13, 32, 2, "HBM09", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 33, 1, "HBM09", 1, 15, 3, 1, 1, 5, 5, 6, 9, 2, 6, 0}, + {"HB", -13, 33, 2, "HBM09", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 34, 1, "HBM10", 4, 5, 3, 1, 1, 5, 11, 8, 2, 4, 3, 1}, + {"HB", -13, 34, 2, "HBM10", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 35, 1, "HBM10", 3, 13, 3, 1, 1, 5, 11, 8, 2, 2, 3, 1}, + {"HB", -13, 35, 2, "HBM10", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 36, 1, "HBM10", 2, 7, 3, 1, 1, 5, 11, 8, 3, 4, 3, 0}, + {"HB", -13, 36, 2, "HBM10", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 37, 1, "HBM10", 1, 15, 3, 1, 1, 5, 11, 8, 3, 2, 3, 0}, + {"HB", -13, 37, 2, "HBM10", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 38, 1, "HBM11", 4, 5, 3, 1, 1, 5, 11, 8, 8, 4, 6, 1}, + {"HB", -13, 38, 2, "HBM11", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 39, 1, "HBM11", 3, 13, 3, 1, 1, 5, 11, 8, 8, 2, 6, 1}, + {"HB", -13, 39, 2, "HBM11", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 40, 1, "HBM11", 2, 7, 3, 1, 1, 5, 11, 8, 9, 4, 6, 0}, + {"HB", -13, 40, 2, "HBM11", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 41, 1, "HBM11", 1, 15, 3, 1, 1, 5, 11, 8, 9, 2, 6, 0}, + {"HB", -13, 41, 2, "HBM11", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 42, 1, "HBM12", 4, 5, 3, 1, 1, 5, 15, 10, 2, 4, 3, 1}, + {"HB", -13, 42, 2, "HBM12", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 43, 1, "HBM12", 3, 13, 3, 1, 1, 5, 15, 10, 2, 2, 3, 1}, + {"HB", -13, 43, 2, "HBM12", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 44, 1, "HBM12", 2, 7, 3, 1, 1, 5, 15, 10, 3, 4, 3, 0}, + {"HB", -13, 44, 2, "HBM12", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 45, 1, "HBM12", 1, 15, 3, 1, 1, 5, 15, 10, 3, 2, 3, 0}, + {"HB", -13, 45, 2, "HBM12", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 46, 1, "HBM13", 4, 5, 3, 1, 1, 5, 15, 10, 8, 4, 6, 1}, + {"HB", -13, 46, 2, "HBM13", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 47, 1, "HBM13", 3, 13, 3, 1, 1, 5, 15, 10, 8, 2, 6, 1}, + {"HB", -13, 47, 2, "HBM13", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 48, 1, "HBM13", 2, 7, 3, 1, 1, 5, 15, 10, 9, 4, 6, 0}, + {"HB", -13, 48, 2, "HBM13", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 49, 1, "HBM13", 1, 15, 3, 1, 1, 5, 15, 10, 9, 2, 6, 0}, + {"HB", -13, 49, 2, "HBM13", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 50, 1, "HBM14", 4, 5, 3, 1, 1, 5, 17, 12, 2, 4, 3, 1}, + {"HB", -13, 50, 2, "HBM14", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 51, 1, "HBM14", 3, 13, 3, 1, 1, 5, 17, 12, 2, 2, 3, 1}, + {"HB", -13, 51, 2, "HBM14", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 52, 1, "HBM14", 2, 7, 3, 1, 1, 5, 17, 12, 3, 4, 3, 0}, + {"HB", -13, 52, 2, "HBM14", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 53, 1, "HBM14", 1, 15, 3, 1, 1, 5, 17, 12, 3, 2, 3, 0}, + {"HB", -13, 53, 2, "HBM14", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 54, 1, "HBM15", 4, 5, 3, 1, 1, 5, 17, 12, 8, 4, 6, 1}, + {"HB", -13, 54, 2, "HBM15", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 55, 1, "HBM15", 3, 13, 3, 1, 1, 5, 17, 12, 8, 2, 6, 1}, + {"HB", -13, 55, 2, "HBM15", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 56, 1, "HBM15", 2, 7, 3, 1, 1, 5, 17, 12, 9, 4, 6, 0}, + {"HB", -13, 56, 2, "HBM15", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 57, 1, "HBM15", 1, 15, 3, 1, 1, 5, 17, 12, 9, 2, 6, 0}, + {"HB", -13, 57, 2, "HBM15", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 58, 1, "HBM16", 4, 5, 3, 1, 1, 5, 14, 14, 2, 4, 3, 1}, + {"HB", -13, 58, 2, "HBM16", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 59, 1, "HBM16", 3, 13, 3, 1, 1, 5, 14, 14, 2, 2, 3, 1}, + {"HB", -13, 59, 2, "HBM16", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 60, 1, "HBM16", 2, 7, 3, 1, 1, 5, 14, 14, 3, 4, 3, 0}, + {"HB", -13, 60, 2, "HBM16", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 61, 1, "HBM16", 1, 15, 3, 1, 1, 5, 14, 14, 3, 2, 3, 0}, + {"HB", -13, 61, 2, "HBM16", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 62, 1, "HBM17", 4, 5, 3, 1, 1, 5, 14, 14, 8, 4, 6, 1}, + {"HB", -13, 62, 2, "HBM17", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 63, 1, "HBM17", 3, 13, 3, 1, 1, 5, 14, 14, 8, 2, 6, 1}, + {"HB", -13, 63, 2, "HBM17", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 64, 1, "HBM17", 2, 7, 3, 1, 1, 5, 14, 14, 9, 4, 6, 0}, + {"HB", -13, 64, 2, "HBM17", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 65, 1, "HBM17", 1, 15, 3, 1, 1, 5, 14, 14, 9, 2, 6, 0}, + {"HB", -13, 65, 2, "HBM17", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 66, 1, "HBM18", 4, 5, 3, 1, 1, 5, 10, 16, 2, 4, 3, 1}, + {"HB", -13, 66, 2, "HBM18", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 67, 1, "HBM18", 3, 13, 3, 1, 1, 5, 10, 16, 2, 2, 3, 1}, + {"HB", -13, 67, 2, "HBM18", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 68, 1, "HBM18", 2, 7, 3, 1, 1, 5, 10, 16, 3, 4, 3, 0}, + {"HB", -13, 68, 2, "HBM18", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 69, 1, "HBM18", 1, 15, 3, 1, 1, 5, 10, 16, 3, 2, 3, 0}, + {"HB", -13, 69, 2, "HBM18", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 70, 1, "HBM01", 4, 5, 3, 1, 1, 5, 10, 16, 8, 4, 6, 1}, + {"HB", -13, 70, 2, "HBM01", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -13, 71, 1, "HBM01", 3, 13, 3, 1, 1, 5, 10, 16, 8, 2, 6, 1}, + {"HB", -13, 71, 2, "HBM01", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 0, 1, "HBM01", 2, 6, 5, 2, 2, 3, 10, 16, 7, 8, 5, 0}, + {"HB", -12, 0, 2, "HBM01", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 1, 1, "HBM01", 1, 16, 5, 2, 2, 3, 10, 16, 7, 6, 5, 0}, + {"HB", -12, 1, 2, "HBM01", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 2, 1, "HBM02", 4, 4, 5, 2, 2, 3, 4, 0, 0, 8, 2, 1}, + {"HB", -12, 2, 2, "HBM02", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 3, 1, "HBM02", 3, 14, 5, 2, 2, 3, 4, 0, 0, 6, 2, 1}, + {"HB", -12, 3, 2, "HBM02", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 4, 1, "HBM02", 2, 6, 5, 2, 2, 3, 4, 0, 1, 8, 2, 0}, + {"HB", -12, 4, 2, "HBM02", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 5, 1, "HBM02", 1, 16, 5, 2, 2, 3, 4, 0, 1, 6, 2, 0}, + {"HB", -12, 5, 2, "HBM02", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 6, 1, "HBM03", 4, 4, 5, 2, 2, 3, 4, 0, 6, 8, 5, 1}, + {"HB", -12, 6, 2, "HBM03", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 7, 1, "HBM03", 3, 14, 5, 2, 2, 3, 4, 0, 6, 6, 5, 1}, + {"HB", -12, 7, 2, "HBM03", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 8, 1, "HBM03", 2, 6, 5, 2, 2, 3, 4, 0, 7, 8, 5, 0}, + {"HB", -12, 8, 2, "HBM03", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 9, 1, "HBM03", 1, 16, 5, 2, 2, 3, 4, 0, 7, 6, 5, 0}, + {"HB", -12, 9, 2, "HBM03", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 10, 1, "HBM04", 4, 4, 5, 2, 2, 3, 0, 2, 0, 8, 2, 1}, + {"HB", -12, 10, 2, "HBM04", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 11, 1, "HBM04", 3, 14, 5, 2, 2, 3, 0, 2, 0, 6, 2, 1}, + {"HB", -12, 11, 2, "HBM04", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 12, 1, "HBM04", 2, 6, 5, 2, 2, 3, 0, 2, 1, 8, 2, 0}, + {"HB", -12, 12, 2, "HBM04", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 13, 1, "HBM04", 1, 16, 5, 2, 2, 3, 0, 2, 1, 6, 2, 0}, + {"HB", -12, 13, 2, "HBM04", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 14, 1, "HBM05", 4, 4, 5, 2, 2, 3, 0, 2, 6, 8, 5, 1}, + {"HB", -12, 14, 2, "HBM05", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 15, 1, "HBM05", 3, 14, 5, 2, 2, 3, 0, 2, 6, 6, 5, 1}, + {"HB", -12, 15, 2, "HBM05", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 16, 1, "HBM05", 2, 6, 5, 2, 2, 3, 0, 2, 7, 8, 5, 0}, + {"HB", -12, 16, 2, "HBM05", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 17, 1, "HBM05", 1, 16, 5, 2, 2, 3, 0, 2, 7, 6, 5, 0}, + {"HB", -12, 17, 2, "HBM05", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 18, 1, "HBM06", 4, 4, 5, 2, 2, 3, 1, 4, 0, 8, 2, 1}, + {"HB", -12, 18, 2, "HBM06", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 19, 1, "HBM06", 3, 14, 5, 2, 2, 3, 1, 4, 0, 6, 2, 1}, + {"HB", -12, 19, 2, "HBM06", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 20, 1, "HBM06", 2, 6, 5, 2, 2, 3, 1, 4, 1, 8, 2, 0}, + {"HB", -12, 20, 2, "HBM06", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 21, 1, "HBM06", 1, 16, 5, 2, 2, 3, 1, 4, 1, 6, 2, 0}, + {"HB", -12, 21, 2, "HBM06", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 22, 1, "HBM07", 4, 4, 5, 2, 2, 3, 1, 4, 6, 8, 5, 1}, + {"HB", -12, 22, 2, "HBM07", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 23, 1, "HBM07", 3, 14, 5, 2, 2, 3, 1, 4, 6, 6, 5, 1}, + {"HB", -12, 23, 2, "HBM07", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 24, 1, "HBM07", 2, 6, 5, 2, 2, 3, 1, 4, 7, 8, 5, 0}, + {"HB", -12, 24, 2, "HBM07", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 25, 1, "HBM07", 1, 16, 5, 2, 2, 3, 1, 4, 7, 6, 5, 0}, + {"HB", -12, 25, 2, "HBM07", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 26, 1, "HBM08", 4, 4, 5, 2, 2, 3, 5, 6, 0, 8, 2, 1}, + {"HB", -12, 26, 2, "HBM08", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 27, 1, "HBM08", 3, 14, 5, 2, 2, 3, 5, 6, 0, 6, 2, 1}, + {"HB", -12, 27, 2, "HBM08", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 28, 1, "HBM08", 2, 6, 5, 2, 2, 3, 5, 6, 1, 8, 2, 0}, + {"HB", -12, 28, 2, "HBM08", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 29, 1, "HBM08", 1, 16, 5, 2, 2, 3, 5, 6, 1, 6, 2, 0}, + {"HB", -12, 29, 2, "HBM08", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 30, 1, "HBM09", 4, 4, 5, 2, 2, 3, 5, 6, 6, 8, 5, 1}, + {"HB", -12, 30, 2, "HBM09", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 31, 1, "HBM09", 3, 14, 5, 2, 2, 3, 5, 6, 6, 6, 5, 1}, + {"HB", -12, 31, 2, "HBM09", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 32, 1, "HBM09", 2, 6, 5, 2, 2, 3, 5, 6, 7, 8, 5, 0}, + {"HB", -12, 32, 2, "HBM09", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 33, 1, "HBM09", 1, 16, 5, 2, 2, 3, 5, 6, 7, 6, 5, 0}, + {"HB", -12, 33, 2, "HBM09", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 34, 1, "HBM10", 4, 4, 5, 2, 2, 3, 11, 8, 0, 8, 2, 1}, + {"HB", -12, 34, 2, "HBM10", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 35, 1, "HBM10", 3, 14, 5, 2, 2, 3, 11, 8, 0, 6, 2, 1}, + {"HB", -12, 35, 2, "HBM10", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 36, 1, "HBM10", 2, 6, 5, 2, 2, 3, 11, 8, 1, 8, 2, 0}, + {"HB", -12, 36, 2, "HBM10", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 37, 1, "HBM10", 1, 16, 5, 2, 2, 3, 11, 8, 1, 6, 2, 0}, + {"HB", -12, 37, 2, "HBM10", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 38, 1, "HBM11", 4, 4, 5, 2, 2, 3, 11, 8, 6, 8, 5, 1}, + {"HB", -12, 38, 2, "HBM11", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 39, 1, "HBM11", 3, 14, 5, 2, 2, 3, 11, 8, 6, 6, 5, 1}, + {"HB", -12, 39, 2, "HBM11", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 40, 1, "HBM11", 2, 6, 5, 2, 2, 3, 11, 8, 7, 8, 5, 0}, + {"HB", -12, 40, 2, "HBM11", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 41, 1, "HBM11", 1, 16, 5, 2, 2, 3, 11, 8, 7, 6, 5, 0}, + {"HB", -12, 41, 2, "HBM11", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 42, 1, "HBM12", 4, 4, 5, 2, 2, 3, 15, 10, 0, 8, 2, 1}, + {"HB", -12, 42, 2, "HBM12", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 43, 1, "HBM12", 3, 14, 5, 2, 2, 3, 15, 10, 0, 6, 2, 1}, + {"HB", -12, 43, 2, "HBM12", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 44, 1, "HBM12", 2, 6, 5, 2, 2, 3, 15, 10, 1, 8, 2, 0}, + {"HB", -12, 44, 2, "HBM12", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 45, 1, "HBM12", 1, 16, 5, 2, 2, 3, 15, 10, 1, 6, 2, 0}, + {"HB", -12, 45, 2, "HBM12", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 46, 1, "HBM13", 4, 4, 5, 2, 2, 3, 15, 10, 6, 8, 5, 1}, + {"HB", -12, 46, 2, "HBM13", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 47, 1, "HBM13", 3, 14, 5, 2, 2, 3, 15, 10, 6, 6, 5, 1}, + {"HB", -12, 47, 2, "HBM13", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 48, 1, "HBM13", 2, 6, 5, 2, 2, 3, 15, 10, 7, 8, 5, 0}, + {"HB", -12, 48, 2, "HBM13", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 49, 1, "HBM13", 1, 16, 5, 2, 2, 3, 15, 10, 7, 6, 5, 0}, + {"HB", -12, 49, 2, "HBM13", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 50, 1, "HBM14", 4, 4, 5, 2, 2, 3, 17, 12, 0, 8, 2, 1}, + {"HB", -12, 50, 2, "HBM14", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 51, 1, "HBM14", 3, 14, 5, 2, 2, 3, 17, 12, 0, 6, 2, 1}, + {"HB", -12, 51, 2, "HBM14", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 52, 1, "HBM14", 2, 6, 5, 2, 2, 3, 17, 12, 1, 8, 2, 0}, + {"HB", -12, 52, 2, "HBM14", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 53, 1, "HBM14", 1, 16, 5, 2, 2, 3, 17, 12, 1, 6, 2, 0}, + {"HB", -12, 53, 2, "HBM14", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 54, 1, "HBM15", 4, 4, 5, 2, 2, 3, 17, 12, 6, 8, 5, 1}, + {"HB", -12, 54, 2, "HBM15", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 55, 1, "HBM15", 3, 14, 5, 2, 2, 3, 17, 12, 6, 6, 5, 1}, + {"HB", -12, 55, 2, "HBM15", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 56, 1, "HBM15", 2, 6, 5, 2, 2, 3, 17, 12, 7, 8, 5, 0}, + {"HB", -12, 56, 2, "HBM15", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 57, 1, "HBM15", 1, 16, 5, 2, 2, 3, 17, 12, 7, 6, 5, 0}, + {"HB", -12, 57, 2, "HBM15", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 58, 1, "HBM16", 4, 4, 5, 2, 2, 3, 14, 14, 0, 8, 2, 1}, + {"HB", -12, 58, 2, "HBM16", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 59, 1, "HBM16", 3, 14, 5, 2, 2, 3, 14, 14, 0, 6, 2, 1}, + {"HB", -12, 59, 2, "HBM16", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 60, 1, "HBM16", 2, 6, 5, 2, 2, 3, 14, 14, 1, 8, 2, 0}, + {"HB", -12, 60, 2, "HBM16", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 61, 1, "HBM16", 1, 16, 5, 2, 2, 3, 14, 14, 1, 6, 2, 0}, + {"HB", -12, 61, 2, "HBM16", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 62, 1, "HBM17", 4, 4, 5, 2, 2, 3, 14, 14, 6, 8, 5, 1}, + {"HB", -12, 62, 2, "HBM17", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 63, 1, "HBM17", 3, 14, 5, 2, 2, 3, 14, 14, 6, 6, 5, 1}, + {"HB", -12, 63, 2, "HBM17", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 64, 1, "HBM17", 2, 6, 5, 2, 2, 3, 14, 14, 7, 8, 5, 0}, + {"HB", -12, 64, 2, "HBM17", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 65, 1, "HBM17", 1, 16, 5, 2, 2, 3, 14, 14, 7, 6, 5, 0}, + {"HB", -12, 65, 2, "HBM17", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 66, 1, "HBM18", 4, 4, 5, 2, 2, 3, 10, 16, 0, 8, 2, 1}, + {"HB", -12, 66, 2, "HBM18", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 67, 1, "HBM18", 3, 14, 5, 2, 2, 3, 10, 16, 0, 6, 2, 1}, + {"HB", -12, 67, 2, "HBM18", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 68, 1, "HBM18", 2, 6, 5, 2, 2, 3, 10, 16, 1, 8, 2, 0}, + {"HB", -12, 68, 2, "HBM18", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 69, 1, "HBM18", 1, 16, 5, 2, 2, 3, 10, 16, 1, 6, 2, 0}, + {"HB", -12, 69, 2, "HBM18", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 70, 1, "HBM01", 4, 4, 5, 2, 2, 3, 10, 16, 6, 8, 5, 1}, + {"HB", -12, 70, 2, "HBM01", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -12, 71, 1, "HBM01", 3, 14, 5, 2, 2, 3, 10, 16, 6, 6, 5, 1}, + {"HB", -12, 71, 2, "HBM01", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 0, 1, "HBM01", 2, 5, 6, 0, 3, 0, 10, 16, 7, 3, 5, 0}, + {"HB", -11, 0, 2, "HBM01", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 1, 1, "HBM01", 1, 8, 6, 0, 3, 0, 10, 16, 7, 1, 5, 0}, + {"HB", -11, 1, 2, "HBM01", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 2, 1, "HBM02", 4, 12, 6, 0, 3, 0, 4, 0, 0, 3, 2, 1}, + {"HB", -11, 2, 2, "HBM02", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 3, 1, "HBM02", 3, 15, 6, 0, 3, 0, 4, 0, 0, 1, 2, 1}, + {"HB", -11, 3, 2, "HBM02", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 4, 1, "HBM02", 2, 5, 6, 0, 3, 0, 4, 0, 1, 3, 2, 0}, + {"HB", -11, 4, 2, "HBM02", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 5, 1, "HBM02", 1, 8, 6, 0, 3, 0, 4, 0, 1, 1, 2, 0}, + {"HB", -11, 5, 2, "HBM02", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 6, 1, "HBM03", 4, 12, 6, 0, 3, 0, 4, 0, 6, 3, 5, 1}, + {"HB", -11, 6, 2, "HBM03", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 7, 1, "HBM03", 3, 15, 6, 0, 3, 0, 4, 0, 6, 1, 5, 1}, + {"HB", -11, 7, 2, "HBM03", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 8, 1, "HBM03", 2, 5, 6, 0, 3, 0, 4, 0, 7, 3, 5, 0}, + {"HB", -11, 8, 2, "HBM03", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 9, 1, "HBM03", 1, 8, 6, 0, 3, 0, 4, 0, 7, 1, 5, 0}, + {"HB", -11, 9, 2, "HBM03", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 10, 1, "HBM04", 4, 12, 6, 0, 3, 0, 0, 2, 0, 3, 2, 1}, + {"HB", -11, 10, 2, "HBM04", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 11, 1, "HBM04", 3, 15, 6, 0, 3, 0, 0, 2, 0, 1, 2, 1}, + {"HB", -11, 11, 2, "HBM04", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 12, 1, "HBM04", 2, 5, 6, 0, 3, 0, 0, 2, 1, 3, 2, 0}, + {"HB", -11, 12, 2, "HBM04", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 13, 1, "HBM04", 1, 8, 6, 0, 3, 0, 0, 2, 1, 1, 2, 0}, + {"HB", -11, 13, 2, "HBM04", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 14, 1, "HBM05", 4, 12, 6, 0, 3, 0, 0, 2, 6, 3, 5, 1}, + {"HB", -11, 14, 2, "HBM05", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 15, 1, "HBM05", 3, 15, 6, 0, 3, 0, 0, 2, 6, 1, 5, 1}, + {"HB", -11, 15, 2, "HBM05", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 16, 1, "HBM05", 2, 5, 6, 0, 3, 0, 0, 2, 7, 3, 5, 0}, + {"HB", -11, 16, 2, "HBM05", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 17, 1, "HBM05", 1, 8, 6, 0, 3, 0, 0, 2, 7, 1, 5, 0}, + {"HB", -11, 17, 2, "HBM05", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 18, 1, "HBM06", 4, 12, 6, 0, 3, 0, 1, 4, 0, 3, 2, 1}, + {"HB", -11, 18, 2, "HBM06", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 19, 1, "HBM06", 3, 15, 6, 0, 3, 0, 1, 4, 0, 1, 2, 1}, + {"HB", -11, 19, 2, "HBM06", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 20, 1, "HBM06", 2, 5, 6, 0, 3, 0, 1, 4, 1, 3, 2, 0}, + {"HB", -11, 20, 2, "HBM06", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 21, 1, "HBM06", 1, 8, 6, 0, 3, 0, 1, 4, 1, 1, 2, 0}, + {"HB", -11, 21, 2, "HBM06", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 22, 1, "HBM07", 4, 12, 6, 0, 3, 0, 1, 4, 6, 3, 5, 1}, + {"HB", -11, 22, 2, "HBM07", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 23, 1, "HBM07", 3, 15, 6, 0, 3, 0, 1, 4, 6, 1, 5, 1}, + {"HB", -11, 23, 2, "HBM07", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 24, 1, "HBM07", 2, 5, 6, 0, 3, 0, 1, 4, 7, 3, 5, 0}, + {"HB", -11, 24, 2, "HBM07", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 25, 1, "HBM07", 1, 8, 6, 0, 3, 0, 1, 4, 7, 1, 5, 0}, + {"HB", -11, 25, 2, "HBM07", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 26, 1, "HBM08", 4, 12, 6, 0, 3, 0, 5, 6, 0, 3, 2, 1}, + {"HB", -11, 26, 2, "HBM08", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 27, 1, "HBM08", 3, 15, 6, 0, 3, 0, 5, 6, 0, 1, 2, 1}, + {"HB", -11, 27, 2, "HBM08", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 28, 1, "HBM08", 2, 5, 6, 0, 3, 0, 5, 6, 1, 3, 2, 0}, + {"HB", -11, 28, 2, "HBM08", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 29, 1, "HBM08", 1, 8, 6, 0, 3, 0, 5, 6, 1, 1, 2, 0}, + {"HB", -11, 29, 2, "HBM08", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 30, 1, "HBM09", 4, 12, 6, 0, 3, 0, 5, 6, 6, 3, 5, 1}, + {"HB", -11, 30, 2, "HBM09", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 31, 1, "HBM09", 3, 15, 6, 0, 3, 0, 5, 6, 6, 1, 5, 1}, + {"HB", -11, 31, 2, "HBM09", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 32, 1, "HBM09", 2, 5, 6, 0, 3, 0, 5, 6, 7, 3, 5, 0}, + {"HB", -11, 32, 2, "HBM09", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 33, 1, "HBM09", 1, 8, 6, 0, 3, 0, 5, 6, 7, 1, 5, 0}, + {"HB", -11, 33, 2, "HBM09", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 34, 1, "HBM10", 4, 12, 6, 0, 3, 0, 11, 8, 0, 3, 2, 1}, + {"HB", -11, 34, 2, "HBM10", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 35, 1, "HBM10", 3, 15, 6, 0, 3, 0, 11, 8, 0, 1, 2, 1}, + {"HB", -11, 35, 2, "HBM10", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 36, 1, "HBM10", 2, 5, 6, 0, 3, 0, 11, 8, 1, 3, 2, 0}, + {"HB", -11, 36, 2, "HBM10", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 37, 1, "HBM10", 1, 8, 6, 0, 3, 0, 11, 8, 1, 1, 2, 0}, + {"HB", -11, 37, 2, "HBM10", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 38, 1, "HBM11", 4, 12, 6, 0, 3, 0, 11, 8, 6, 3, 5, 1}, + {"HB", -11, 38, 2, "HBM11", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 39, 1, "HBM11", 3, 15, 6, 0, 3, 0, 11, 8, 6, 1, 5, 1}, + {"HB", -11, 39, 2, "HBM11", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 40, 1, "HBM11", 2, 5, 6, 0, 3, 0, 11, 8, 7, 3, 5, 0}, + {"HB", -11, 40, 2, "HBM11", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 41, 1, "HBM11", 1, 8, 6, 0, 3, 0, 11, 8, 7, 1, 5, 0}, + {"HB", -11, 41, 2, "HBM11", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 42, 1, "HBM12", 4, 12, 6, 0, 3, 0, 15, 10, 0, 3, 2, 1}, + {"HB", -11, 42, 2, "HBM12", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 43, 1, "HBM12", 3, 15, 6, 0, 3, 0, 15, 10, 0, 1, 2, 1}, + {"HB", -11, 43, 2, "HBM12", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 44, 1, "HBM12", 2, 5, 6, 0, 3, 0, 15, 10, 1, 3, 2, 0}, + {"HB", -11, 44, 2, "HBM12", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 45, 1, "HBM12", 1, 8, 6, 0, 3, 0, 15, 10, 1, 1, 2, 0}, + {"HB", -11, 45, 2, "HBM12", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 46, 1, "HBM13", 4, 12, 6, 0, 3, 0, 15, 10, 6, 3, 5, 1}, + {"HB", -11, 46, 2, "HBM13", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 47, 1, "HBM13", 3, 15, 6, 0, 3, 0, 15, 10, 6, 1, 5, 1}, + {"HB", -11, 47, 2, "HBM13", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 48, 1, "HBM13", 2, 5, 6, 0, 3, 0, 15, 10, 7, 3, 5, 0}, + {"HB", -11, 48, 2, "HBM13", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 49, 1, "HBM13", 1, 8, 6, 0, 3, 0, 15, 10, 7, 1, 5, 0}, + {"HB", -11, 49, 2, "HBM13", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 50, 1, "HBM14", 4, 12, 6, 0, 3, 0, 17, 12, 0, 3, 2, 1}, + {"HB", -11, 50, 2, "HBM14", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 51, 1, "HBM14", 3, 15, 6, 0, 3, 0, 17, 12, 0, 1, 2, 1}, + {"HB", -11, 51, 2, "HBM14", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 52, 1, "HBM14", 2, 5, 6, 0, 3, 0, 17, 12, 1, 3, 2, 0}, + {"HB", -11, 52, 2, "HBM14", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 53, 1, "HBM14", 1, 8, 6, 0, 3, 0, 17, 12, 1, 1, 2, 0}, + {"HB", -11, 53, 2, "HBM14", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 54, 1, "HBM15", 4, 12, 6, 0, 3, 0, 17, 12, 6, 3, 5, 1}, + {"HB", -11, 54, 2, "HBM15", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 55, 1, "HBM15", 3, 15, 6, 0, 3, 0, 17, 12, 6, 1, 5, 1}, + {"HB", -11, 55, 2, "HBM15", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 56, 1, "HBM15", 2, 5, 6, 0, 3, 0, 17, 12, 7, 3, 5, 0}, + {"HB", -11, 56, 2, "HBM15", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 57, 1, "HBM15", 1, 8, 6, 0, 3, 0, 17, 12, 7, 1, 5, 0}, + {"HB", -11, 57, 2, "HBM15", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 58, 1, "HBM16", 4, 12, 6, 0, 3, 0, 14, 14, 0, 3, 2, 1}, + {"HB", -11, 58, 2, "HBM16", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 59, 1, "HBM16", 3, 15, 6, 0, 3, 0, 14, 14, 0, 1, 2, 1}, + {"HB", -11, 59, 2, "HBM16", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 60, 1, "HBM16", 2, 5, 6, 0, 3, 0, 14, 14, 1, 3, 2, 0}, + {"HB", -11, 60, 2, "HBM16", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 61, 1, "HBM16", 1, 8, 6, 0, 3, 0, 14, 14, 1, 1, 2, 0}, + {"HB", -11, 61, 2, "HBM16", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 62, 1, "HBM17", 4, 12, 6, 0, 3, 0, 14, 14, 6, 3, 5, 1}, + {"HB", -11, 62, 2, "HBM17", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 63, 1, "HBM17", 3, 15, 6, 0, 3, 0, 14, 14, 6, 1, 5, 1}, + {"HB", -11, 63, 2, "HBM17", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 64, 1, "HBM17", 2, 5, 6, 0, 3, 0, 14, 14, 7, 3, 5, 0}, + {"HB", -11, 64, 2, "HBM17", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 65, 1, "HBM17", 1, 8, 6, 0, 3, 0, 14, 14, 7, 1, 5, 0}, + {"HB", -11, 65, 2, "HBM17", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 66, 1, "HBM18", 4, 12, 6, 0, 3, 0, 10, 16, 0, 3, 2, 1}, + {"HB", -11, 66, 2, "HBM18", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 67, 1, "HBM18", 3, 15, 6, 0, 3, 0, 10, 16, 0, 1, 2, 1}, + {"HB", -11, 67, 2, "HBM18", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 68, 1, "HBM18", 2, 5, 6, 0, 3, 0, 10, 16, 1, 3, 2, 0}, + {"HB", -11, 68, 2, "HBM18", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 69, 1, "HBM18", 1, 8, 6, 0, 3, 0, 10, 16, 1, 1, 2, 0}, + {"HB", -11, 69, 2, "HBM18", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 70, 1, "HBM01", 4, 12, 6, 0, 3, 0, 10, 16, 6, 3, 5, 1}, + {"HB", -11, 70, 2, "HBM01", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -11, 71, 1, "HBM01", 3, 15, 6, 0, 3, 0, 10, 16, 6, 1, 5, 1}, + {"HB", -11, 71, 2, "HBM01", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 0, 1, "HBM01", 2, 4, 4, 0, 2, 0, 10, 16, 7, 7, 5, 0}, + {"HB", -10, 0, 2, "HBM01", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 1, 1, "HBM01", 1, 9, 4, 0, 2, 0, 10, 16, 7, 5, 5, 0}, + {"HB", -10, 1, 2, "HBM01", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 2, 1, "HBM02", 4, 11, 4, 0, 2, 0, 4, 0, 0, 7, 2, 1}, + {"HB", -10, 2, 2, "HBM02", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 3, 1, "HBM02", 3, 16, 4, 0, 2, 0, 4, 0, 0, 5, 2, 1}, + {"HB", -10, 3, 2, "HBM02", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 4, 1, "HBM02", 2, 4, 4, 0, 2, 0, 4, 0, 1, 7, 2, 0}, + {"HB", -10, 4, 2, "HBM02", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 5, 1, "HBM02", 1, 9, 4, 0, 2, 0, 4, 0, 1, 5, 2, 0}, + {"HB", -10, 5, 2, "HBM02", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 6, 1, "HBM03", 4, 11, 4, 0, 2, 0, 4, 0, 6, 7, 5, 1}, + {"HB", -10, 6, 2, "HBM03", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 7, 1, "HBM03", 3, 16, 4, 0, 2, 0, 4, 0, 6, 5, 5, 1}, + {"HB", -10, 7, 2, "HBM03", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 8, 1, "HBM03", 2, 4, 4, 0, 2, 0, 4, 0, 7, 7, 5, 0}, + {"HB", -10, 8, 2, "HBM03", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 9, 1, "HBM03", 1, 9, 4, 0, 2, 0, 4, 0, 7, 5, 5, 0}, + {"HB", -10, 9, 2, "HBM03", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 10, 1, "HBM04", 4, 11, 4, 0, 2, 0, 0, 2, 0, 7, 2, 1}, + {"HB", -10, 10, 2, "HBM04", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 11, 1, "HBM04", 3, 16, 4, 0, 2, 0, 0, 2, 0, 5, 2, 1}, + {"HB", -10, 11, 2, "HBM04", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 12, 1, "HBM04", 2, 4, 4, 0, 2, 0, 0, 2, 1, 7, 2, 0}, + {"HB", -10, 12, 2, "HBM04", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 13, 1, "HBM04", 1, 9, 4, 0, 2, 0, 0, 2, 1, 5, 2, 0}, + {"HB", -10, 13, 2, "HBM04", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 14, 1, "HBM05", 4, 11, 4, 0, 2, 0, 0, 2, 6, 7, 5, 1}, + {"HB", -10, 14, 2, "HBM05", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 15, 1, "HBM05", 3, 16, 4, 0, 2, 0, 0, 2, 6, 5, 5, 1}, + {"HB", -10, 15, 2, "HBM05", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 16, 1, "HBM05", 2, 4, 4, 0, 2, 0, 0, 2, 7, 7, 5, 0}, + {"HB", -10, 16, 2, "HBM05", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 17, 1, "HBM05", 1, 9, 4, 0, 2, 0, 0, 2, 7, 5, 5, 0}, + {"HB", -10, 17, 2, "HBM05", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 18, 1, "HBM06", 4, 11, 4, 0, 2, 0, 1, 4, 0, 7, 2, 1}, + {"HB", -10, 18, 2, "HBM06", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 19, 1, "HBM06", 3, 16, 4, 0, 2, 0, 1, 4, 0, 5, 2, 1}, + {"HB", -10, 19, 2, "HBM06", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 20, 1, "HBM06", 2, 4, 4, 0, 2, 0, 1, 4, 1, 7, 2, 0}, + {"HB", -10, 20, 2, "HBM06", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 21, 1, "HBM06", 1, 9, 4, 0, 2, 0, 1, 4, 1, 5, 2, 0}, + {"HB", -10, 21, 2, "HBM06", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 22, 1, "HBM07", 4, 11, 4, 0, 2, 0, 1, 4, 6, 7, 5, 1}, + {"HB", -10, 22, 2, "HBM07", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 23, 1, "HBM07", 3, 16, 4, 0, 2, 0, 1, 4, 6, 5, 5, 1}, + {"HB", -10, 23, 2, "HBM07", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 24, 1, "HBM07", 2, 4, 4, 0, 2, 0, 1, 4, 7, 7, 5, 0}, + {"HB", -10, 24, 2, "HBM07", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 25, 1, "HBM07", 1, 9, 4, 0, 2, 0, 1, 4, 7, 5, 5, 0}, + {"HB", -10, 25, 2, "HBM07", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 26, 1, "HBM08", 4, 11, 4, 0, 2, 0, 5, 6, 0, 7, 2, 1}, + {"HB", -10, 26, 2, "HBM08", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 27, 1, "HBM08", 3, 16, 4, 0, 2, 0, 5, 6, 0, 5, 2, 1}, + {"HB", -10, 27, 2, "HBM08", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 28, 1, "HBM08", 2, 4, 4, 0, 2, 0, 5, 6, 1, 7, 2, 0}, + {"HB", -10, 28, 2, "HBM08", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 29, 1, "HBM08", 1, 9, 4, 0, 2, 0, 5, 6, 1, 5, 2, 0}, + {"HB", -10, 29, 2, "HBM08", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 30, 1, "HBM09", 4, 11, 4, 0, 2, 0, 5, 6, 6, 7, 5, 1}, + {"HB", -10, 30, 2, "HBM09", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 31, 1, "HBM09", 3, 16, 4, 0, 2, 0, 5, 6, 6, 5, 5, 1}, + {"HB", -10, 31, 2, "HBM09", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 32, 1, "HBM09", 2, 4, 4, 0, 2, 0, 5, 6, 7, 7, 5, 0}, + {"HB", -10, 32, 2, "HBM09", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 33, 1, "HBM09", 1, 9, 4, 0, 2, 0, 5, 6, 7, 5, 5, 0}, + {"HB", -10, 33, 2, "HBM09", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 34, 1, "HBM10", 4, 11, 4, 0, 2, 0, 11, 8, 0, 7, 2, 1}, + {"HB", -10, 34, 2, "HBM10", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 35, 1, "HBM10", 3, 16, 4, 0, 2, 0, 11, 8, 0, 5, 2, 1}, + {"HB", -10, 35, 2, "HBM10", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 36, 1, "HBM10", 2, 4, 4, 0, 2, 0, 11, 8, 1, 7, 2, 0}, + {"HB", -10, 36, 2, "HBM10", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 37, 1, "HBM10", 1, 9, 4, 0, 2, 0, 11, 8, 1, 5, 2, 0}, + {"HB", -10, 37, 2, "HBM10", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 38, 1, "HBM11", 4, 11, 4, 0, 2, 0, 11, 8, 6, 7, 5, 1}, + {"HB", -10, 38, 2, "HBM11", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 39, 1, "HBM11", 3, 16, 4, 0, 2, 0, 11, 8, 6, 5, 5, 1}, + {"HB", -10, 39, 2, "HBM11", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 40, 1, "HBM11", 2, 4, 4, 0, 2, 0, 11, 8, 7, 7, 5, 0}, + {"HB", -10, 40, 2, "HBM11", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 41, 1, "HBM11", 1, 9, 4, 0, 2, 0, 11, 8, 7, 5, 5, 0}, + {"HB", -10, 41, 2, "HBM11", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 42, 1, "HBM12", 4, 11, 4, 0, 2, 0, 15, 10, 0, 7, 2, 1}, + {"HB", -10, 42, 2, "HBM12", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 43, 1, "HBM12", 3, 16, 4, 0, 2, 0, 15, 10, 0, 5, 2, 1}, + {"HB", -10, 43, 2, "HBM12", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 44, 1, "HBM12", 2, 4, 4, 0, 2, 0, 15, 10, 1, 7, 2, 0}, + {"HB", -10, 44, 2, "HBM12", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 45, 1, "HBM12", 1, 9, 4, 0, 2, 0, 15, 10, 1, 5, 2, 0}, + {"HB", -10, 45, 2, "HBM12", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 46, 1, "HBM13", 4, 11, 4, 0, 2, 0, 15, 10, 6, 7, 5, 1}, + {"HB", -10, 46, 2, "HBM13", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 47, 1, "HBM13", 3, 16, 4, 0, 2, 0, 15, 10, 6, 5, 5, 1}, + {"HB", -10, 47, 2, "HBM13", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 48, 1, "HBM13", 2, 4, 4, 0, 2, 0, 15, 10, 7, 7, 5, 0}, + {"HB", -10, 48, 2, "HBM13", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 49, 1, "HBM13", 1, 9, 4, 0, 2, 0, 15, 10, 7, 5, 5, 0}, + {"HB", -10, 49, 2, "HBM13", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 50, 1, "HBM14", 4, 11, 4, 0, 2, 0, 17, 12, 0, 7, 2, 1}, + {"HB", -10, 50, 2, "HBM14", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 51, 1, "HBM14", 3, 16, 4, 0, 2, 0, 17, 12, 0, 5, 2, 1}, + {"HB", -10, 51, 2, "HBM14", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 52, 1, "HBM14", 2, 4, 4, 0, 2, 0, 17, 12, 1, 7, 2, 0}, + {"HB", -10, 52, 2, "HBM14", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 53, 1, "HBM14", 1, 9, 4, 0, 2, 0, 17, 12, 1, 5, 2, 0}, + {"HB", -10, 53, 2, "HBM14", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 54, 1, "HBM15", 4, 11, 4, 0, 2, 0, 17, 12, 6, 7, 5, 1}, + {"HB", -10, 54, 2, "HBM15", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 55, 1, "HBM15", 3, 16, 4, 0, 2, 0, 17, 12, 6, 5, 5, 1}, + {"HB", -10, 55, 2, "HBM15", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 56, 1, "HBM15", 2, 4, 4, 0, 2, 0, 17, 12, 7, 7, 5, 0}, + {"HB", -10, 56, 2, "HBM15", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 57, 1, "HBM15", 1, 9, 4, 0, 2, 0, 17, 12, 7, 5, 5, 0}, + {"HB", -10, 57, 2, "HBM15", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 58, 1, "HBM16", 4, 11, 4, 0, 2, 0, 14, 14, 0, 7, 2, 1}, + {"HB", -10, 58, 2, "HBM16", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 59, 1, "HBM16", 3, 16, 4, 0, 2, 0, 14, 14, 0, 5, 2, 1}, + {"HB", -10, 59, 2, "HBM16", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 60, 1, "HBM16", 2, 4, 4, 0, 2, 0, 14, 14, 1, 7, 2, 0}, + {"HB", -10, 60, 2, "HBM16", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 61, 1, "HBM16", 1, 9, 4, 0, 2, 0, 14, 14, 1, 5, 2, 0}, + {"HB", -10, 61, 2, "HBM16", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 62, 1, "HBM17", 4, 11, 4, 0, 2, 0, 14, 14, 6, 7, 5, 1}, + {"HB", -10, 62, 2, "HBM17", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 63, 1, "HBM17", 3, 16, 4, 0, 2, 0, 14, 14, 6, 5, 5, 1}, + {"HB", -10, 63, 2, "HBM17", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 64, 1, "HBM17", 2, 4, 4, 0, 2, 0, 14, 14, 7, 7, 5, 0}, + {"HB", -10, 64, 2, "HBM17", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 65, 1, "HBM17", 1, 9, 4, 0, 2, 0, 14, 14, 7, 5, 5, 0}, + {"HB", -10, 65, 2, "HBM17", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 66, 1, "HBM18", 4, 11, 4, 0, 2, 0, 10, 16, 0, 7, 2, 1}, + {"HB", -10, 66, 2, "HBM18", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 67, 1, "HBM18", 3, 16, 4, 0, 2, 0, 10, 16, 0, 5, 2, 1}, + {"HB", -10, 67, 2, "HBM18", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 68, 1, "HBM18", 2, 4, 4, 0, 2, 0, 10, 16, 1, 7, 2, 0}, + {"HB", -10, 68, 2, "HBM18", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 69, 1, "HBM18", 1, 9, 4, 0, 2, 0, 10, 16, 1, 5, 2, 0}, + {"HB", -10, 69, 2, "HBM18", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 70, 1, "HBM01", 4, 11, 4, 0, 2, 0, 10, 16, 6, 7, 5, 1}, + {"HB", -10, 70, 2, "HBM01", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -10, 71, 1, "HBM01", 3, 16, 4, 0, 2, 0, 10, 16, 6, 5, 5, 1}, + {"HB", -10, 71, 2, "HBM01", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 0, 1, "HBM01", 2, 12, 7, 2, 3, 3, 10, 16, 7, 4, 5, 0}, + {"HB", -9, 0, 2, "HBM01", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 1, 1, "HBM01", 1, 11, 7, 2, 3, 3, 10, 16, 7, 2, 5, 0}, + {"HB", -9, 1, 2, "HBM01", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 2, 1, "HBM02", 4, 9, 7, 2, 3, 3, 4, 0, 0, 4, 2, 1}, + {"HB", -9, 2, 2, "HBM02", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 3, 1, "HBM02", 3, 8, 7, 2, 3, 3, 4, 0, 0, 2, 2, 1}, + {"HB", -9, 3, 2, "HBM02", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 4, 1, "HBM02", 2, 12, 7, 2, 3, 3, 4, 0, 1, 4, 2, 0}, + {"HB", -9, 4, 2, "HBM02", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 5, 1, "HBM02", 1, 11, 7, 2, 3, 3, 4, 0, 1, 2, 2, 0}, + {"HB", -9, 5, 2, "HBM02", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 6, 1, "HBM03", 4, 9, 7, 2, 3, 3, 4, 0, 6, 4, 5, 1}, + {"HB", -9, 6, 2, "HBM03", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 7, 1, "HBM03", 3, 8, 7, 2, 3, 3, 4, 0, 6, 2, 5, 1}, + {"HB", -9, 7, 2, "HBM03", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 8, 1, "HBM03", 2, 12, 7, 2, 3, 3, 4, 0, 7, 4, 5, 0}, + {"HB", -9, 8, 2, "HBM03", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 9, 1, "HBM03", 1, 11, 7, 2, 3, 3, 4, 0, 7, 2, 5, 0}, + {"HB", -9, 9, 2, "HBM03", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 10, 1, "HBM04", 4, 9, 7, 2, 3, 3, 0, 2, 0, 4, 2, 1}, + {"HB", -9, 10, 2, "HBM04", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 11, 1, "HBM04", 3, 8, 7, 2, 3, 3, 0, 2, 0, 2, 2, 1}, + {"HB", -9, 11, 2, "HBM04", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 12, 1, "HBM04", 2, 12, 7, 2, 3, 3, 0, 2, 1, 4, 2, 0}, + {"HB", -9, 12, 2, "HBM04", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 13, 1, "HBM04", 1, 11, 7, 2, 3, 3, 0, 2, 1, 2, 2, 0}, + {"HB", -9, 13, 2, "HBM04", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 14, 1, "HBM05", 4, 9, 7, 2, 3, 3, 0, 2, 6, 4, 5, 1}, + {"HB", -9, 14, 2, "HBM05", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 15, 1, "HBM05", 3, 8, 7, 2, 3, 3, 0, 2, 6, 2, 5, 1}, + {"HB", -9, 15, 2, "HBM05", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 16, 1, "HBM05", 2, 12, 7, 2, 3, 3, 0, 2, 7, 4, 5, 0}, + {"HB", -9, 16, 2, "HBM05", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 17, 1, "HBM05", 1, 11, 7, 2, 3, 3, 0, 2, 7, 2, 5, 0}, + {"HB", -9, 17, 2, "HBM05", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 18, 1, "HBM06", 4, 9, 7, 2, 3, 3, 1, 4, 0, 4, 2, 1}, + {"HB", -9, 18, 2, "HBM06", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 19, 1, "HBM06", 3, 8, 7, 2, 3, 3, 1, 4, 0, 2, 2, 1}, + {"HB", -9, 19, 2, "HBM06", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 20, 1, "HBM06", 2, 12, 7, 2, 3, 3, 1, 4, 1, 4, 2, 0}, + {"HB", -9, 20, 2, "HBM06", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 21, 1, "HBM06", 1, 11, 7, 2, 3, 3, 1, 4, 1, 2, 2, 0}, + {"HB", -9, 21, 2, "HBM06", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 22, 1, "HBM07", 4, 9, 7, 2, 3, 3, 1, 4, 6, 4, 5, 1}, + {"HB", -9, 22, 2, "HBM07", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 23, 1, "HBM07", 3, 8, 7, 2, 3, 3, 1, 4, 6, 2, 5, 1}, + {"HB", -9, 23, 2, "HBM07", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 24, 1, "HBM07", 2, 12, 7, 2, 3, 3, 1, 4, 7, 4, 5, 0}, + {"HB", -9, 24, 2, "HBM07", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 25, 1, "HBM07", 1, 11, 7, 2, 3, 3, 1, 4, 7, 2, 5, 0}, + {"HB", -9, 25, 2, "HBM07", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 26, 1, "HBM08", 4, 9, 7, 2, 3, 3, 5, 6, 0, 4, 2, 1}, + {"HB", -9, 26, 2, "HBM08", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 27, 1, "HBM08", 3, 8, 7, 2, 3, 3, 5, 6, 0, 2, 2, 1}, + {"HB", -9, 27, 2, "HBM08", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 28, 1, "HBM08", 2, 12, 7, 2, 3, 3, 5, 6, 1, 4, 2, 0}, + {"HB", -9, 28, 2, "HBM08", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 29, 1, "HBM08", 1, 11, 7, 2, 3, 3, 5, 6, 1, 2, 2, 0}, + {"HB", -9, 29, 2, "HBM08", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 30, 1, "HBM09", 4, 9, 7, 2, 3, 3, 5, 6, 6, 4, 5, 1}, + {"HB", -9, 30, 2, "HBM09", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 31, 1, "HBM09", 3, 8, 7, 2, 3, 3, 5, 6, 6, 2, 5, 1}, + {"HB", -9, 31, 2, "HBM09", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 32, 1, "HBM09", 2, 12, 7, 2, 3, 3, 5, 6, 7, 4, 5, 0}, + {"HB", -9, 32, 2, "HBM09", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 33, 1, "HBM09", 1, 11, 7, 2, 3, 3, 5, 6, 7, 2, 5, 0}, + {"HB", -9, 33, 2, "HBM09", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 34, 1, "HBM10", 4, 9, 7, 2, 3, 3, 11, 8, 0, 4, 2, 1}, + {"HB", -9, 34, 2, "HBM10", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 35, 1, "HBM10", 3, 8, 7, 2, 3, 3, 11, 8, 0, 2, 2, 1}, + {"HB", -9, 35, 2, "HBM10", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 36, 1, "HBM10", 2, 12, 7, 2, 3, 3, 11, 8, 1, 4, 2, 0}, + {"HB", -9, 36, 2, "HBM10", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 37, 1, "HBM10", 1, 11, 7, 2, 3, 3, 11, 8, 1, 2, 2, 0}, + {"HB", -9, 37, 2, "HBM10", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 38, 1, "HBM11", 4, 9, 7, 2, 3, 3, 11, 8, 6, 4, 5, 1}, + {"HB", -9, 38, 2, "HBM11", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 39, 1, "HBM11", 3, 8, 7, 2, 3, 3, 11, 8, 6, 2, 5, 1}, + {"HB", -9, 39, 2, "HBM11", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 40, 1, "HBM11", 2, 12, 7, 2, 3, 3, 11, 8, 7, 4, 5, 0}, + {"HB", -9, 40, 2, "HBM11", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 41, 1, "HBM11", 1, 11, 7, 2, 3, 3, 11, 8, 7, 2, 5, 0}, + {"HB", -9, 41, 2, "HBM11", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 42, 1, "HBM12", 4, 9, 7, 2, 3, 3, 15, 10, 0, 4, 2, 1}, + {"HB", -9, 42, 2, "HBM12", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 43, 1, "HBM12", 3, 8, 7, 2, 3, 3, 15, 10, 0, 2, 2, 1}, + {"HB", -9, 43, 2, "HBM12", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 44, 1, "HBM12", 2, 12, 7, 2, 3, 3, 15, 10, 1, 4, 2, 0}, + {"HB", -9, 44, 2, "HBM12", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 45, 1, "HBM12", 1, 11, 7, 2, 3, 3, 15, 10, 1, 2, 2, 0}, + {"HB", -9, 45, 2, "HBM12", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 46, 1, "HBM13", 4, 9, 7, 2, 3, 3, 15, 10, 6, 4, 5, 1}, + {"HB", -9, 46, 2, "HBM13", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 47, 1, "HBM13", 3, 8, 7, 2, 3, 3, 15, 10, 6, 2, 5, 1}, + {"HB", -9, 47, 2, "HBM13", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 48, 1, "HBM13", 2, 12, 7, 2, 3, 3, 15, 10, 7, 4, 5, 0}, + {"HB", -9, 48, 2, "HBM13", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 49, 1, "HBM13", 1, 11, 7, 2, 3, 3, 15, 10, 7, 2, 5, 0}, + {"HB", -9, 49, 2, "HBM13", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 50, 1, "HBM14", 4, 9, 7, 2, 3, 3, 17, 12, 0, 4, 2, 1}, + {"HB", -9, 50, 2, "HBM14", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 51, 1, "HBM14", 3, 8, 7, 2, 3, 3, 17, 12, 0, 2, 2, 1}, + {"HB", -9, 51, 2, "HBM14", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 52, 1, "HBM14", 2, 12, 7, 2, 3, 3, 17, 12, 1, 4, 2, 0}, + {"HB", -9, 52, 2, "HBM14", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 53, 1, "HBM14", 1, 11, 7, 2, 3, 3, 17, 12, 1, 2, 2, 0}, + {"HB", -9, 53, 2, "HBM14", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 54, 1, "HBM15", 4, 9, 7, 2, 3, 3, 17, 12, 6, 4, 5, 1}, + {"HB", -9, 54, 2, "HBM15", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 55, 1, "HBM15", 3, 8, 7, 2, 3, 3, 17, 12, 6, 2, 5, 1}, + {"HB", -9, 55, 2, "HBM15", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 56, 1, "HBM15", 2, 12, 7, 2, 3, 3, 17, 12, 7, 4, 5, 0}, + {"HB", -9, 56, 2, "HBM15", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 57, 1, "HBM15", 1, 11, 7, 2, 3, 3, 17, 12, 7, 2, 5, 0}, + {"HB", -9, 57, 2, "HBM15", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 58, 1, "HBM16", 4, 9, 7, 2, 3, 3, 14, 14, 0, 4, 2, 1}, + {"HB", -9, 58, 2, "HBM16", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 59, 1, "HBM16", 3, 8, 7, 2, 3, 3, 14, 14, 0, 2, 2, 1}, + {"HB", -9, 59, 2, "HBM16", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 60, 1, "HBM16", 2, 12, 7, 2, 3, 3, 14, 14, 1, 4, 2, 0}, + {"HB", -9, 60, 2, "HBM16", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 61, 1, "HBM16", 1, 11, 7, 2, 3, 3, 14, 14, 1, 2, 2, 0}, + {"HB", -9, 61, 2, "HBM16", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 62, 1, "HBM17", 4, 9, 7, 2, 3, 3, 14, 14, 6, 4, 5, 1}, + {"HB", -9, 62, 2, "HBM17", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 63, 1, "HBM17", 3, 8, 7, 2, 3, 3, 14, 14, 6, 2, 5, 1}, + {"HB", -9, 63, 2, "HBM17", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 64, 1, "HBM17", 2, 12, 7, 2, 3, 3, 14, 14, 7, 4, 5, 0}, + {"HB", -9, 64, 2, "HBM17", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 65, 1, "HBM17", 1, 11, 7, 2, 3, 3, 14, 14, 7, 2, 5, 0}, + {"HB", -9, 65, 2, "HBM17", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 66, 1, "HBM18", 4, 9, 7, 2, 3, 3, 10, 16, 0, 4, 2, 1}, + {"HB", -9, 66, 2, "HBM18", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 67, 1, "HBM18", 3, 8, 7, 2, 3, 3, 10, 16, 0, 2, 2, 1}, + {"HB", -9, 67, 2, "HBM18", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 68, 1, "HBM18", 2, 12, 7, 2, 3, 3, 10, 16, 1, 4, 2, 0}, + {"HB", -9, 68, 2, "HBM18", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 69, 1, "HBM18", 1, 11, 7, 2, 3, 3, 10, 16, 1, 2, 2, 0}, + {"HB", -9, 69, 2, "HBM18", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 70, 1, "HBM01", 4, 9, 7, 2, 3, 3, 10, 16, 6, 4, 5, 1}, + {"HB", -9, 70, 2, "HBM01", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -9, 71, 1, "HBM01", 3, 8, 7, 2, 3, 3, 10, 16, 6, 2, 5, 1}, + {"HB", -9, 71, 2, "HBM01", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 0, 1, "HBM01", 2, 11, 5, 0, 2, 4, 10, 16, 7, 8, 5, 0}, + {"HB", -8, 0, 2, "HBM01", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 1, 1, "HBM01", 1, 12, 5, 0, 2, 4, 10, 16, 7, 6, 5, 0}, + {"HB", -8, 1, 2, "HBM01", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 2, 1, "HBM02", 4, 8, 5, 0, 2, 4, 4, 0, 0, 8, 2, 1}, + {"HB", -8, 2, 2, "HBM02", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 3, 1, "HBM02", 3, 9, 5, 0, 2, 4, 4, 0, 0, 6, 2, 1}, + {"HB", -8, 3, 2, "HBM02", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 4, 1, "HBM02", 2, 11, 5, 0, 2, 4, 4, 0, 1, 8, 2, 0}, + {"HB", -8, 4, 2, "HBM02", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 5, 1, "HBM02", 1, 12, 5, 0, 2, 4, 4, 0, 1, 6, 2, 0}, + {"HB", -8, 5, 2, "HBM02", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 6, 1, "HBM03", 4, 8, 5, 0, 2, 4, 4, 0, 6, 8, 5, 1}, + {"HB", -8, 6, 2, "HBM03", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 7, 1, "HBM03", 3, 9, 5, 0, 2, 4, 4, 0, 6, 6, 5, 1}, + {"HB", -8, 7, 2, "HBM03", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 8, 1, "HBM03", 2, 11, 5, 0, 2, 4, 4, 0, 7, 8, 5, 0}, + {"HB", -8, 8, 2, "HBM03", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 9, 1, "HBM03", 1, 12, 5, 0, 2, 4, 4, 0, 7, 6, 5, 0}, + {"HB", -8, 9, 2, "HBM03", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 10, 1, "HBM04", 4, 8, 5, 0, 2, 4, 0, 2, 0, 8, 2, 1}, + {"HB", -8, 10, 2, "HBM04", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 11, 1, "HBM04", 3, 9, 5, 0, 2, 4, 0, 2, 0, 6, 2, 1}, + {"HB", -8, 11, 2, "HBM04", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 12, 1, "HBM04", 2, 11, 5, 0, 2, 4, 0, 2, 1, 8, 2, 0}, + {"HB", -8, 12, 2, "HBM04", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 13, 1, "HBM04", 1, 12, 5, 0, 2, 4, 0, 2, 1, 6, 2, 0}, + {"HB", -8, 13, 2, "HBM04", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 14, 1, "HBM05", 4, 8, 5, 0, 2, 4, 0, 2, 6, 8, 5, 1}, + {"HB", -8, 14, 2, "HBM05", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 15, 1, "HBM05", 3, 9, 5, 0, 2, 4, 0, 2, 6, 6, 5, 1}, + {"HB", -8, 15, 2, "HBM05", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 16, 1, "HBM05", 2, 11, 5, 0, 2, 4, 0, 2, 7, 8, 5, 0}, + {"HB", -8, 16, 2, "HBM05", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 17, 1, "HBM05", 1, 12, 5, 0, 2, 4, 0, 2, 7, 6, 5, 0}, + {"HB", -8, 17, 2, "HBM05", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 18, 1, "HBM06", 4, 8, 5, 0, 2, 4, 1, 4, 0, 8, 2, 1}, + {"HB", -8, 18, 2, "HBM06", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 19, 1, "HBM06", 3, 9, 5, 0, 2, 4, 1, 4, 0, 6, 2, 1}, + {"HB", -8, 19, 2, "HBM06", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 20, 1, "HBM06", 2, 11, 5, 0, 2, 4, 1, 4, 1, 8, 2, 0}, + {"HB", -8, 20, 2, "HBM06", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 21, 1, "HBM06", 1, 12, 5, 0, 2, 4, 1, 4, 1, 6, 2, 0}, + {"HB", -8, 21, 2, "HBM06", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 22, 1, "HBM07", 4, 8, 5, 0, 2, 4, 1, 4, 6, 8, 5, 1}, + {"HB", -8, 22, 2, "HBM07", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 23, 1, "HBM07", 3, 9, 5, 0, 2, 4, 1, 4, 6, 6, 5, 1}, + {"HB", -8, 23, 2, "HBM07", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 24, 1, "HBM07", 2, 11, 5, 0, 2, 4, 1, 4, 7, 8, 5, 0}, + {"HB", -8, 24, 2, "HBM07", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 25, 1, "HBM07", 1, 12, 5, 0, 2, 4, 1, 4, 7, 6, 5, 0}, + {"HB", -8, 25, 2, "HBM07", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 26, 1, "HBM08", 4, 8, 5, 0, 2, 4, 5, 6, 0, 8, 2, 1}, + {"HB", -8, 26, 2, "HBM08", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 27, 1, "HBM08", 3, 9, 5, 0, 2, 4, 5, 6, 0, 6, 2, 1}, + {"HB", -8, 27, 2, "HBM08", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 28, 1, "HBM08", 2, 11, 5, 0, 2, 4, 5, 6, 1, 8, 2, 0}, + {"HB", -8, 28, 2, "HBM08", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 29, 1, "HBM08", 1, 12, 5, 0, 2, 4, 5, 6, 1, 6, 2, 0}, + {"HB", -8, 29, 2, "HBM08", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 30, 1, "HBM09", 4, 8, 5, 0, 2, 4, 5, 6, 6, 8, 5, 1}, + {"HB", -8, 30, 2, "HBM09", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 31, 1, "HBM09", 3, 9, 5, 0, 2, 4, 5, 6, 6, 6, 5, 1}, + {"HB", -8, 31, 2, "HBM09", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 32, 1, "HBM09", 2, 11, 5, 0, 2, 4, 5, 6, 7, 8, 5, 0}, + {"HB", -8, 32, 2, "HBM09", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 33, 1, "HBM09", 1, 12, 5, 0, 2, 4, 5, 6, 7, 6, 5, 0}, + {"HB", -8, 33, 2, "HBM09", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 34, 1, "HBM10", 4, 8, 5, 0, 2, 4, 11, 8, 0, 8, 2, 1}, + {"HB", -8, 34, 2, "HBM10", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 35, 1, "HBM10", 3, 9, 5, 0, 2, 4, 11, 8, 0, 6, 2, 1}, + {"HB", -8, 35, 2, "HBM10", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 36, 1, "HBM10", 2, 11, 5, 0, 2, 4, 11, 8, 1, 8, 2, 0}, + {"HB", -8, 36, 2, "HBM10", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 37, 1, "HBM10", 1, 12, 5, 0, 2, 4, 11, 8, 1, 6, 2, 0}, + {"HB", -8, 37, 2, "HBM10", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 38, 1, "HBM11", 4, 8, 5, 0, 2, 4, 11, 8, 6, 8, 5, 1}, + {"HB", -8, 38, 2, "HBM11", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 39, 1, "HBM11", 3, 9, 5, 0, 2, 4, 11, 8, 6, 6, 5, 1}, + {"HB", -8, 39, 2, "HBM11", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 40, 1, "HBM11", 2, 11, 5, 0, 2, 4, 11, 8, 7, 8, 5, 0}, + {"HB", -8, 40, 2, "HBM11", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 41, 1, "HBM11", 1, 12, 5, 0, 2, 4, 11, 8, 7, 6, 5, 0}, + {"HB", -8, 41, 2, "HBM11", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 42, 1, "HBM12", 4, 8, 5, 0, 2, 4, 15, 10, 0, 8, 2, 1}, + {"HB", -8, 42, 2, "HBM12", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 43, 1, "HBM12", 3, 9, 5, 0, 2, 4, 15, 10, 0, 6, 2, 1}, + {"HB", -8, 43, 2, "HBM12", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 44, 1, "HBM12", 2, 11, 5, 0, 2, 4, 15, 10, 1, 8, 2, 0}, + {"HB", -8, 44, 2, "HBM12", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 45, 1, "HBM12", 1, 12, 5, 0, 2, 4, 15, 10, 1, 6, 2, 0}, + {"HB", -8, 45, 2, "HBM12", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 46, 1, "HBM13", 4, 8, 5, 0, 2, 4, 15, 10, 6, 8, 5, 1}, + {"HB", -8, 46, 2, "HBM13", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 47, 1, "HBM13", 3, 9, 5, 0, 2, 4, 15, 10, 6, 6, 5, 1}, + {"HB", -8, 47, 2, "HBM13", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 48, 1, "HBM13", 2, 11, 5, 0, 2, 4, 15, 10, 7, 8, 5, 0}, + {"HB", -8, 48, 2, "HBM13", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 49, 1, "HBM13", 1, 12, 5, 0, 2, 4, 15, 10, 7, 6, 5, 0}, + {"HB", -8, 49, 2, "HBM13", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 50, 1, "HBM14", 4, 8, 5, 0, 2, 4, 17, 12, 0, 8, 2, 1}, + {"HB", -8, 50, 2, "HBM14", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 51, 1, "HBM14", 3, 9, 5, 0, 2, 4, 17, 12, 0, 6, 2, 1}, + {"HB", -8, 51, 2, "HBM14", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 52, 1, "HBM14", 2, 11, 5, 0, 2, 4, 17, 12, 1, 8, 2, 0}, + {"HB", -8, 52, 2, "HBM14", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 53, 1, "HBM14", 1, 12, 5, 0, 2, 4, 17, 12, 1, 6, 2, 0}, + {"HB", -8, 53, 2, "HBM14", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 54, 1, "HBM15", 4, 8, 5, 0, 2, 4, 17, 12, 6, 8, 5, 1}, + {"HB", -8, 54, 2, "HBM15", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 55, 1, "HBM15", 3, 9, 5, 0, 2, 4, 17, 12, 6, 6, 5, 1}, + {"HB", -8, 55, 2, "HBM15", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 56, 1, "HBM15", 2, 11, 5, 0, 2, 4, 17, 12, 7, 8, 5, 0}, + {"HB", -8, 56, 2, "HBM15", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 57, 1, "HBM15", 1, 12, 5, 0, 2, 4, 17, 12, 7, 6, 5, 0}, + {"HB", -8, 57, 2, "HBM15", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 58, 1, "HBM16", 4, 8, 5, 0, 2, 4, 14, 14, 0, 8, 2, 1}, + {"HB", -8, 58, 2, "HBM16", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 59, 1, "HBM16", 3, 9, 5, 0, 2, 4, 14, 14, 0, 6, 2, 1}, + {"HB", -8, 59, 2, "HBM16", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 60, 1, "HBM16", 2, 11, 5, 0, 2, 4, 14, 14, 1, 8, 2, 0}, + {"HB", -8, 60, 2, "HBM16", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 61, 1, "HBM16", 1, 12, 5, 0, 2, 4, 14, 14, 1, 6, 2, 0}, + {"HB", -8, 61, 2, "HBM16", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 62, 1, "HBM17", 4, 8, 5, 0, 2, 4, 14, 14, 6, 8, 5, 1}, + {"HB", -8, 62, 2, "HBM17", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 63, 1, "HBM17", 3, 9, 5, 0, 2, 4, 14, 14, 6, 6, 5, 1}, + {"HB", -8, 63, 2, "HBM17", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 64, 1, "HBM17", 2, 11, 5, 0, 2, 4, 14, 14, 7, 8, 5, 0}, + {"HB", -8, 64, 2, "HBM17", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 65, 1, "HBM17", 1, 12, 5, 0, 2, 4, 14, 14, 7, 6, 5, 0}, + {"HB", -8, 65, 2, "HBM17", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 66, 1, "HBM18", 4, 8, 5, 0, 2, 4, 10, 16, 0, 8, 2, 1}, + {"HB", -8, 66, 2, "HBM18", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 67, 1, "HBM18", 3, 9, 5, 0, 2, 4, 10, 16, 0, 6, 2, 1}, + {"HB", -8, 67, 2, "HBM18", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 68, 1, "HBM18", 2, 11, 5, 0, 2, 4, 10, 16, 1, 8, 2, 0}, + {"HB", -8, 68, 2, "HBM18", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 69, 1, "HBM18", 1, 12, 5, 0, 2, 4, 10, 16, 1, 6, 2, 0}, + {"HB", -8, 69, 2, "HBM18", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 70, 1, "HBM01", 4, 8, 5, 0, 2, 4, 10, 16, 6, 8, 5, 1}, + {"HB", -8, 70, 2, "HBM01", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -8, 71, 1, "HBM01", 3, 9, 5, 0, 2, 4, 10, 16, 6, 6, 5, 1}, + {"HB", -8, 71, 2, "HBM01", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 0, 1, "HBM01", 2, 9, 6, 1, 3, 1, 10, 16, 7, 3, 5, 0}, + {"HB", -7, 0, 2, "HBM01", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 1, 1, "HBM01", 1, 4, 6, 1, 3, 1, 10, 16, 7, 1, 5, 0}, + {"HB", -7, 1, 2, "HBM01", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 2, 1, "HBM02", 4, 16, 6, 1, 3, 1, 4, 0, 0, 3, 2, 1}, + {"HB", -7, 2, 2, "HBM02", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 3, 1, "HBM02", 3, 11, 6, 1, 3, 1, 4, 0, 0, 1, 2, 1}, + {"HB", -7, 3, 2, "HBM02", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 4, 1, "HBM02", 2, 9, 6, 1, 3, 1, 4, 0, 1, 3, 2, 0}, + {"HB", -7, 4, 2, "HBM02", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 5, 1, "HBM02", 1, 4, 6, 1, 3, 1, 4, 0, 1, 1, 2, 0}, + {"HB", -7, 5, 2, "HBM02", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 6, 1, "HBM03", 4, 16, 6, 1, 3, 1, 4, 0, 6, 3, 5, 1}, + {"HB", -7, 6, 2, "HBM03", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 7, 1, "HBM03", 3, 11, 6, 1, 3, 1, 4, 0, 6, 1, 5, 1}, + {"HB", -7, 7, 2, "HBM03", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 8, 1, "HBM03", 2, 9, 6, 1, 3, 1, 4, 0, 7, 3, 5, 0}, + {"HB", -7, 8, 2, "HBM03", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 9, 1, "HBM03", 1, 4, 6, 1, 3, 1, 4, 0, 7, 1, 5, 0}, + {"HB", -7, 9, 2, "HBM03", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 10, 1, "HBM04", 4, 16, 6, 1, 3, 1, 0, 2, 0, 3, 2, 1}, + {"HB", -7, 10, 2, "HBM04", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 11, 1, "HBM04", 3, 11, 6, 1, 3, 1, 0, 2, 0, 1, 2, 1}, + {"HB", -7, 11, 2, "HBM04", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 12, 1, "HBM04", 2, 9, 6, 1, 3, 1, 0, 2, 1, 3, 2, 0}, + {"HB", -7, 12, 2, "HBM04", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 13, 1, "HBM04", 1, 4, 6, 1, 3, 1, 0, 2, 1, 1, 2, 0}, + {"HB", -7, 13, 2, "HBM04", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 14, 1, "HBM05", 4, 16, 6, 1, 3, 1, 0, 2, 6, 3, 5, 1}, + {"HB", -7, 14, 2, "HBM05", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 15, 1, "HBM05", 3, 11, 6, 1, 3, 1, 0, 2, 6, 1, 5, 1}, + {"HB", -7, 15, 2, "HBM05", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 16, 1, "HBM05", 2, 9, 6, 1, 3, 1, 0, 2, 7, 3, 5, 0}, + {"HB", -7, 16, 2, "HBM05", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 17, 1, "HBM05", 1, 4, 6, 1, 3, 1, 0, 2, 7, 1, 5, 0}, + {"HB", -7, 17, 2, "HBM05", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 18, 1, "HBM06", 4, 16, 6, 1, 3, 1, 1, 4, 0, 3, 2, 1}, + {"HB", -7, 18, 2, "HBM06", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 19, 1, "HBM06", 3, 11, 6, 1, 3, 1, 1, 4, 0, 1, 2, 1}, + {"HB", -7, 19, 2, "HBM06", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 20, 1, "HBM06", 2, 9, 6, 1, 3, 1, 1, 4, 1, 3, 2, 0}, + {"HB", -7, 20, 2, "HBM06", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 21, 1, "HBM06", 1, 4, 6, 1, 3, 1, 1, 4, 1, 1, 2, 0}, + {"HB", -7, 21, 2, "HBM06", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 22, 1, "HBM07", 4, 16, 6, 1, 3, 1, 1, 4, 6, 3, 5, 1}, + {"HB", -7, 22, 2, "HBM07", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 23, 1, "HBM07", 3, 11, 6, 1, 3, 1, 1, 4, 6, 1, 5, 1}, + {"HB", -7, 23, 2, "HBM07", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 24, 1, "HBM07", 2, 9, 6, 1, 3, 1, 1, 4, 7, 3, 5, 0}, + {"HB", -7, 24, 2, "HBM07", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 25, 1, "HBM07", 1, 4, 6, 1, 3, 1, 1, 4, 7, 1, 5, 0}, + {"HB", -7, 25, 2, "HBM07", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 26, 1, "HBM08", 4, 16, 6, 1, 3, 1, 5, 6, 0, 3, 2, 1}, + {"HB", -7, 26, 2, "HBM08", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 27, 1, "HBM08", 3, 11, 6, 1, 3, 1, 5, 6, 0, 1, 2, 1}, + {"HB", -7, 27, 2, "HBM08", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 28, 1, "HBM08", 2, 9, 6, 1, 3, 1, 5, 6, 1, 3, 2, 0}, + {"HB", -7, 28, 2, "HBM08", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 29, 1, "HBM08", 1, 4, 6, 1, 3, 1, 5, 6, 1, 1, 2, 0}, + {"HB", -7, 29, 2, "HBM08", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 30, 1, "HBM09", 4, 16, 6, 1, 3, 1, 5, 6, 6, 3, 5, 1}, + {"HB", -7, 30, 2, "HBM09", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 31, 1, "HBM09", 3, 11, 6, 1, 3, 1, 5, 6, 6, 1, 5, 1}, + {"HB", -7, 31, 2, "HBM09", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 32, 1, "HBM09", 2, 9, 6, 1, 3, 1, 5, 6, 7, 3, 5, 0}, + {"HB", -7, 32, 2, "HBM09", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 33, 1, "HBM09", 1, 4, 6, 1, 3, 1, 5, 6, 7, 1, 5, 0}, + {"HB", -7, 33, 2, "HBM09", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 34, 1, "HBM10", 4, 16, 6, 1, 3, 1, 11, 8, 0, 3, 2, 1}, + {"HB", -7, 34, 2, "HBM10", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 35, 1, "HBM10", 3, 11, 6, 1, 3, 1, 11, 8, 0, 1, 2, 1}, + {"HB", -7, 35, 2, "HBM10", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 36, 1, "HBM10", 2, 9, 6, 1, 3, 1, 11, 8, 1, 3, 2, 0}, + {"HB", -7, 36, 2, "HBM10", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 37, 1, "HBM10", 1, 4, 6, 1, 3, 1, 11, 8, 1, 1, 2, 0}, + {"HB", -7, 37, 2, "HBM10", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 38, 1, "HBM11", 4, 16, 6, 1, 3, 1, 11, 8, 6, 3, 5, 1}, + {"HB", -7, 38, 2, "HBM11", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 39, 1, "HBM11", 3, 11, 6, 1, 3, 1, 11, 8, 6, 1, 5, 1}, + {"HB", -7, 39, 2, "HBM11", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 40, 1, "HBM11", 2, 9, 6, 1, 3, 1, 11, 8, 7, 3, 5, 0}, + {"HB", -7, 40, 2, "HBM11", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 41, 1, "HBM11", 1, 4, 6, 1, 3, 1, 11, 8, 7, 1, 5, 0}, + {"HB", -7, 41, 2, "HBM11", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 42, 1, "HBM12", 4, 16, 6, 1, 3, 1, 15, 10, 0, 3, 2, 1}, + {"HB", -7, 42, 2, "HBM12", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 43, 1, "HBM12", 3, 11, 6, 1, 3, 1, 15, 10, 0, 1, 2, 1}, + {"HB", -7, 43, 2, "HBM12", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 44, 1, "HBM12", 2, 9, 6, 1, 3, 1, 15, 10, 1, 3, 2, 0}, + {"HB", -7, 44, 2, "HBM12", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 45, 1, "HBM12", 1, 4, 6, 1, 3, 1, 15, 10, 1, 1, 2, 0}, + {"HB", -7, 45, 2, "HBM12", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 46, 1, "HBM13", 4, 16, 6, 1, 3, 1, 15, 10, 6, 3, 5, 1}, + {"HB", -7, 46, 2, "HBM13", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 47, 1, "HBM13", 3, 11, 6, 1, 3, 1, 15, 10, 6, 1, 5, 1}, + {"HB", -7, 47, 2, "HBM13", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 48, 1, "HBM13", 2, 9, 6, 1, 3, 1, 15, 10, 7, 3, 5, 0}, + {"HB", -7, 48, 2, "HBM13", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 49, 1, "HBM13", 1, 4, 6, 1, 3, 1, 15, 10, 7, 1, 5, 0}, + {"HB", -7, 49, 2, "HBM13", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 50, 1, "HBM14", 4, 16, 6, 1, 3, 1, 17, 12, 0, 3, 2, 1}, + {"HB", -7, 50, 2, "HBM14", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 51, 1, "HBM14", 3, 11, 6, 1, 3, 1, 17, 12, 0, 1, 2, 1}, + {"HB", -7, 51, 2, "HBM14", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 52, 1, "HBM14", 2, 9, 6, 1, 3, 1, 17, 12, 1, 3, 2, 0}, + {"HB", -7, 52, 2, "HBM14", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 53, 1, "HBM14", 1, 4, 6, 1, 3, 1, 17, 12, 1, 1, 2, 0}, + {"HB", -7, 53, 2, "HBM14", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 54, 1, "HBM15", 4, 16, 6, 1, 3, 1, 17, 12, 6, 3, 5, 1}, + {"HB", -7, 54, 2, "HBM15", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 55, 1, "HBM15", 3, 11, 6, 1, 3, 1, 17, 12, 6, 1, 5, 1}, + {"HB", -7, 55, 2, "HBM15", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 56, 1, "HBM15", 2, 9, 6, 1, 3, 1, 17, 12, 7, 3, 5, 0}, + {"HB", -7, 56, 2, "HBM15", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 57, 1, "HBM15", 1, 4, 6, 1, 3, 1, 17, 12, 7, 1, 5, 0}, + {"HB", -7, 57, 2, "HBM15", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 58, 1, "HBM16", 4, 16, 6, 1, 3, 1, 14, 14, 0, 3, 2, 1}, + {"HB", -7, 58, 2, "HBM16", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 59, 1, "HBM16", 3, 11, 6, 1, 3, 1, 14, 14, 0, 1, 2, 1}, + {"HB", -7, 59, 2, "HBM16", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 60, 1, "HBM16", 2, 9, 6, 1, 3, 1, 14, 14, 1, 3, 2, 0}, + {"HB", -7, 60, 2, "HBM16", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 61, 1, "HBM16", 1, 4, 6, 1, 3, 1, 14, 14, 1, 1, 2, 0}, + {"HB", -7, 61, 2, "HBM16", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 62, 1, "HBM17", 4, 16, 6, 1, 3, 1, 14, 14, 6, 3, 5, 1}, + {"HB", -7, 62, 2, "HBM17", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 63, 1, "HBM17", 3, 11, 6, 1, 3, 1, 14, 14, 6, 1, 5, 1}, + {"HB", -7, 63, 2, "HBM17", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 64, 1, "HBM17", 2, 9, 6, 1, 3, 1, 14, 14, 7, 3, 5, 0}, + {"HB", -7, 64, 2, "HBM17", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 65, 1, "HBM17", 1, 4, 6, 1, 3, 1, 14, 14, 7, 1, 5, 0}, + {"HB", -7, 65, 2, "HBM17", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 66, 1, "HBM18", 4, 16, 6, 1, 3, 1, 10, 16, 0, 3, 2, 1}, + {"HB", -7, 66, 2, "HBM18", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 67, 1, "HBM18", 3, 11, 6, 1, 3, 1, 10, 16, 0, 1, 2, 1}, + {"HB", -7, 67, 2, "HBM18", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 68, 1, "HBM18", 2, 9, 6, 1, 3, 1, 10, 16, 1, 3, 2, 0}, + {"HB", -7, 68, 2, "HBM18", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 69, 1, "HBM18", 1, 4, 6, 1, 3, 1, 10, 16, 1, 1, 2, 0}, + {"HB", -7, 69, 2, "HBM18", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 70, 1, "HBM01", 4, 16, 6, 1, 3, 1, 10, 16, 6, 3, 5, 1}, + {"HB", -7, 70, 2, "HBM01", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -7, 71, 1, "HBM01", 3, 11, 6, 1, 3, 1, 10, 16, 6, 1, 5, 1}, + {"HB", -7, 71, 2, "HBM01", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 0, 1, "HBM01", 2, 8, 4, 1, 2, 1, 10, 16, 7, 7, 5, 0}, + {"HB", -6, 0, 2, "HBM01", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 1, 1, "HBM01", 1, 5, 4, 1, 2, 1, 10, 16, 7, 5, 5, 0}, + {"HB", -6, 1, 2, "HBM01", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 2, 1, "HBM02", 4, 15, 4, 1, 2, 1, 4, 0, 0, 7, 2, 1}, + {"HB", -6, 2, 2, "HBM02", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 3, 1, "HBM02", 3, 12, 4, 1, 2, 1, 4, 0, 0, 5, 2, 1}, + {"HB", -6, 3, 2, "HBM02", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 4, 1, "HBM02", 2, 8, 4, 1, 2, 1, 4, 0, 1, 7, 2, 0}, + {"HB", -6, 4, 2, "HBM02", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 5, 1, "HBM02", 1, 5, 4, 1, 2, 1, 4, 0, 1, 5, 2, 0}, + {"HB", -6, 5, 2, "HBM02", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 6, 1, "HBM03", 4, 15, 4, 1, 2, 1, 4, 0, 6, 7, 5, 1}, + {"HB", -6, 6, 2, "HBM03", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 7, 1, "HBM03", 3, 12, 4, 1, 2, 1, 4, 0, 6, 5, 5, 1}, + {"HB", -6, 7, 2, "HBM03", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 8, 1, "HBM03", 2, 8, 4, 1, 2, 1, 4, 0, 7, 7, 5, 0}, + {"HB", -6, 8, 2, "HBM03", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 9, 1, "HBM03", 1, 5, 4, 1, 2, 1, 4, 0, 7, 5, 5, 0}, + {"HB", -6, 9, 2, "HBM03", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 10, 1, "HBM04", 4, 15, 4, 1, 2, 1, 0, 2, 0, 7, 2, 1}, + {"HB", -6, 10, 2, "HBM04", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 11, 1, "HBM04", 3, 12, 4, 1, 2, 1, 0, 2, 0, 5, 2, 1}, + {"HB", -6, 11, 2, "HBM04", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 12, 1, "HBM04", 2, 8, 4, 1, 2, 1, 0, 2, 1, 7, 2, 0}, + {"HB", -6, 12, 2, "HBM04", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 13, 1, "HBM04", 1, 5, 4, 1, 2, 1, 0, 2, 1, 5, 2, 0}, + {"HB", -6, 13, 2, "HBM04", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 14, 1, "HBM05", 4, 15, 4, 1, 2, 1, 0, 2, 6, 7, 5, 1}, + {"HB", -6, 14, 2, "HBM05", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 15, 1, "HBM05", 3, 12, 4, 1, 2, 1, 0, 2, 6, 5, 5, 1}, + {"HB", -6, 15, 2, "HBM05", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 16, 1, "HBM05", 2, 8, 4, 1, 2, 1, 0, 2, 7, 7, 5, 0}, + {"HB", -6, 16, 2, "HBM05", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 17, 1, "HBM05", 1, 5, 4, 1, 2, 1, 0, 2, 7, 5, 5, 0}, + {"HB", -6, 17, 2, "HBM05", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 18, 1, "HBM06", 4, 15, 4, 1, 2, 1, 1, 4, 0, 7, 2, 1}, + {"HB", -6, 18, 2, "HBM06", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 19, 1, "HBM06", 3, 12, 4, 1, 2, 1, 1, 4, 0, 5, 2, 1}, + {"HB", -6, 19, 2, "HBM06", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 20, 1, "HBM06", 2, 8, 4, 1, 2, 1, 1, 4, 1, 7, 2, 0}, + {"HB", -6, 20, 2, "HBM06", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 21, 1, "HBM06", 1, 5, 4, 1, 2, 1, 1, 4, 1, 5, 2, 0}, + {"HB", -6, 21, 2, "HBM06", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 22, 1, "HBM07", 4, 15, 4, 1, 2, 1, 1, 4, 6, 7, 5, 1}, + {"HB", -6, 22, 2, "HBM07", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 23, 1, "HBM07", 3, 12, 4, 1, 2, 1, 1, 4, 6, 5, 5, 1}, + {"HB", -6, 23, 2, "HBM07", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 24, 1, "HBM07", 2, 8, 4, 1, 2, 1, 1, 4, 7, 7, 5, 0}, + {"HB", -6, 24, 2, "HBM07", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 25, 1, "HBM07", 1, 5, 4, 1, 2, 1, 1, 4, 7, 5, 5, 0}, + {"HB", -6, 25, 2, "HBM07", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 26, 1, "HBM08", 4, 15, 4, 1, 2, 1, 5, 6, 0, 7, 2, 1}, + {"HB", -6, 26, 2, "HBM08", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 27, 1, "HBM08", 3, 12, 4, 1, 2, 1, 5, 6, 0, 5, 2, 1}, + {"HB", -6, 27, 2, "HBM08", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 28, 1, "HBM08", 2, 8, 4, 1, 2, 1, 5, 6, 1, 7, 2, 0}, + {"HB", -6, 28, 2, "HBM08", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 29, 1, "HBM08", 1, 5, 4, 1, 2, 1, 5, 6, 1, 5, 2, 0}, + {"HB", -6, 29, 2, "HBM08", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 30, 1, "HBM09", 4, 15, 4, 1, 2, 1, 5, 6, 6, 7, 5, 1}, + {"HB", -6, 30, 2, "HBM09", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 31, 1, "HBM09", 3, 12, 4, 1, 2, 1, 5, 6, 6, 5, 5, 1}, + {"HB", -6, 31, 2, "HBM09", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 32, 1, "HBM09", 2, 8, 4, 1, 2, 1, 5, 6, 7, 7, 5, 0}, + {"HB", -6, 32, 2, "HBM09", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 33, 1, "HBM09", 1, 5, 4, 1, 2, 1, 5, 6, 7, 5, 5, 0}, + {"HB", -6, 33, 2, "HBM09", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 34, 1, "HBM10", 4, 15, 4, 1, 2, 1, 11, 8, 0, 7, 2, 1}, + {"HB", -6, 34, 2, "HBM10", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 35, 1, "HBM10", 3, 12, 4, 1, 2, 1, 11, 8, 0, 5, 2, 1}, + {"HB", -6, 35, 2, "HBM10", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 36, 1, "HBM10", 2, 8, 4, 1, 2, 1, 11, 8, 1, 7, 2, 0}, + {"HB", -6, 36, 2, "HBM10", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 37, 1, "HBM10", 1, 5, 4, 1, 2, 1, 11, 8, 1, 5, 2, 0}, + {"HB", -6, 37, 2, "HBM10", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 38, 1, "HBM11", 4, 15, 4, 1, 2, 1, 11, 8, 6, 7, 5, 1}, + {"HB", -6, 38, 2, "HBM11", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 39, 1, "HBM11", 3, 12, 4, 1, 2, 1, 11, 8, 6, 5, 5, 1}, + {"HB", -6, 39, 2, "HBM11", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 40, 1, "HBM11", 2, 8, 4, 1, 2, 1, 11, 8, 7, 7, 5, 0}, + {"HB", -6, 40, 2, "HBM11", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 41, 1, "HBM11", 1, 5, 4, 1, 2, 1, 11, 8, 7, 5, 5, 0}, + {"HB", -6, 41, 2, "HBM11", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 42, 1, "HBM12", 4, 15, 4, 1, 2, 1, 15, 10, 0, 7, 2, 1}, + {"HB", -6, 42, 2, "HBM12", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 43, 1, "HBM12", 3, 12, 4, 1, 2, 1, 15, 10, 0, 5, 2, 1}, + {"HB", -6, 43, 2, "HBM12", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 44, 1, "HBM12", 2, 8, 4, 1, 2, 1, 15, 10, 1, 7, 2, 0}, + {"HB", -6, 44, 2, "HBM12", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 45, 1, "HBM12", 1, 5, 4, 1, 2, 1, 15, 10, 1, 5, 2, 0}, + {"HB", -6, 45, 2, "HBM12", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 46, 1, "HBM13", 4, 15, 4, 1, 2, 1, 15, 10, 6, 7, 5, 1}, + {"HB", -6, 46, 2, "HBM13", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 47, 1, "HBM13", 3, 12, 4, 1, 2, 1, 15, 10, 6, 5, 5, 1}, + {"HB", -6, 47, 2, "HBM13", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 48, 1, "HBM13", 2, 8, 4, 1, 2, 1, 15, 10, 7, 7, 5, 0}, + {"HB", -6, 48, 2, "HBM13", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 49, 1, "HBM13", 1, 5, 4, 1, 2, 1, 15, 10, 7, 5, 5, 0}, + {"HB", -6, 49, 2, "HBM13", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 50, 1, "HBM14", 4, 15, 4, 1, 2, 1, 17, 12, 0, 7, 2, 1}, + {"HB", -6, 50, 2, "HBM14", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 51, 1, "HBM14", 3, 12, 4, 1, 2, 1, 17, 12, 0, 5, 2, 1}, + {"HB", -6, 51, 2, "HBM14", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 52, 1, "HBM14", 2, 8, 4, 1, 2, 1, 17, 12, 1, 7, 2, 0}, + {"HB", -6, 52, 2, "HBM14", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 53, 1, "HBM14", 1, 5, 4, 1, 2, 1, 17, 12, 1, 5, 2, 0}, + {"HB", -6, 53, 2, "HBM14", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 54, 1, "HBM15", 4, 15, 4, 1, 2, 1, 17, 12, 6, 7, 5, 1}, + {"HB", -6, 54, 2, "HBM15", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 55, 1, "HBM15", 3, 12, 4, 1, 2, 1, 17, 12, 6, 5, 5, 1}, + {"HB", -6, 55, 2, "HBM15", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 56, 1, "HBM15", 2, 8, 4, 1, 2, 1, 17, 12, 7, 7, 5, 0}, + {"HB", -6, 56, 2, "HBM15", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 57, 1, "HBM15", 1, 5, 4, 1, 2, 1, 17, 12, 7, 5, 5, 0}, + {"HB", -6, 57, 2, "HBM15", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 58, 1, "HBM16", 4, 15, 4, 1, 2, 1, 14, 14, 0, 7, 2, 1}, + {"HB", -6, 58, 2, "HBM16", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 59, 1, "HBM16", 3, 12, 4, 1, 2, 1, 14, 14, 0, 5, 2, 1}, + {"HB", -6, 59, 2, "HBM16", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 60, 1, "HBM16", 2, 8, 4, 1, 2, 1, 14, 14, 1, 7, 2, 0}, + {"HB", -6, 60, 2, "HBM16", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 61, 1, "HBM16", 1, 5, 4, 1, 2, 1, 14, 14, 1, 5, 2, 0}, + {"HB", -6, 61, 2, "HBM16", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 62, 1, "HBM17", 4, 15, 4, 1, 2, 1, 14, 14, 6, 7, 5, 1}, + {"HB", -6, 62, 2, "HBM17", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 63, 1, "HBM17", 3, 12, 4, 1, 2, 1, 14, 14, 6, 5, 5, 1}, + {"HB", -6, 63, 2, "HBM17", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 64, 1, "HBM17", 2, 8, 4, 1, 2, 1, 14, 14, 7, 7, 5, 0}, + {"HB", -6, 64, 2, "HBM17", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 65, 1, "HBM17", 1, 5, 4, 1, 2, 1, 14, 14, 7, 5, 5, 0}, + {"HB", -6, 65, 2, "HBM17", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 66, 1, "HBM18", 4, 15, 4, 1, 2, 1, 10, 16, 0, 7, 2, 1}, + {"HB", -6, 66, 2, "HBM18", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 67, 1, "HBM18", 3, 12, 4, 1, 2, 1, 10, 16, 0, 5, 2, 1}, + {"HB", -6, 67, 2, "HBM18", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 68, 1, "HBM18", 2, 8, 4, 1, 2, 1, 10, 16, 1, 7, 2, 0}, + {"HB", -6, 68, 2, "HBM18", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 69, 1, "HBM18", 1, 5, 4, 1, 2, 1, 10, 16, 1, 5, 2, 0}, + {"HB", -6, 69, 2, "HBM18", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 70, 1, "HBM01", 4, 15, 4, 1, 2, 1, 10, 16, 6, 7, 5, 1}, + {"HB", -6, 70, 2, "HBM01", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -6, 71, 1, "HBM01", 3, 12, 4, 1, 2, 1, 10, 16, 6, 5, 5, 1}, + {"HB", -6, 71, 2, "HBM01", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 0, 1, "HBM01", 2, 16, 7, 0, 3, 4, 10, 16, 7, 4, 5, 0}, + {"HB", -5, 0, 2, "HBM01", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 1, 1, "HBM01", 1, 6, 7, 0, 3, 4, 10, 16, 7, 2, 5, 0}, + {"HB", -5, 1, 2, "HBM01", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 2, 1, "HBM02", 4, 14, 7, 0, 3, 4, 4, 0, 0, 4, 2, 1}, + {"HB", -5, 2, 2, "HBM02", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 3, 1, "HBM02", 3, 4, 7, 0, 3, 4, 4, 0, 0, 2, 2, 1}, + {"HB", -5, 3, 2, "HBM02", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 4, 1, "HBM02", 2, 16, 7, 0, 3, 4, 4, 0, 1, 4, 2, 0}, + {"HB", -5, 4, 2, "HBM02", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 5, 1, "HBM02", 1, 6, 7, 0, 3, 4, 4, 0, 1, 2, 2, 0}, + {"HB", -5, 5, 2, "HBM02", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 6, 1, "HBM03", 4, 14, 7, 0, 3, 4, 4, 0, 6, 4, 5, 1}, + {"HB", -5, 6, 2, "HBM03", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 7, 1, "HBM03", 3, 4, 7, 0, 3, 4, 4, 0, 6, 2, 5, 1}, + {"HB", -5, 7, 2, "HBM03", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 8, 1, "HBM03", 2, 16, 7, 0, 3, 4, 4, 0, 7, 4, 5, 0}, + {"HB", -5, 8, 2, "HBM03", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 9, 1, "HBM03", 1, 6, 7, 0, 3, 4, 4, 0, 7, 2, 5, 0}, + {"HB", -5, 9, 2, "HBM03", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 10, 1, "HBM04", 4, 14, 7, 0, 3, 4, 0, 2, 0, 4, 2, 1}, + {"HB", -5, 10, 2, "HBM04", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 11, 1, "HBM04", 3, 4, 7, 0, 3, 4, 0, 2, 0, 2, 2, 1}, + {"HB", -5, 11, 2, "HBM04", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 12, 1, "HBM04", 2, 16, 7, 0, 3, 4, 0, 2, 1, 4, 2, 0}, + {"HB", -5, 12, 2, "HBM04", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 13, 1, "HBM04", 1, 6, 7, 0, 3, 4, 0, 2, 1, 2, 2, 0}, + {"HB", -5, 13, 2, "HBM04", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 14, 1, "HBM05", 4, 14, 7, 0, 3, 4, 0, 2, 6, 4, 5, 1}, + {"HB", -5, 14, 2, "HBM05", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 15, 1, "HBM05", 3, 4, 7, 0, 3, 4, 0, 2, 6, 2, 5, 1}, + {"HB", -5, 15, 2, "HBM05", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 16, 1, "HBM05", 2, 16, 7, 0, 3, 4, 0, 2, 7, 4, 5, 0}, + {"HB", -5, 16, 2, "HBM05", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 17, 1, "HBM05", 1, 6, 7, 0, 3, 4, 0, 2, 7, 2, 5, 0}, + {"HB", -5, 17, 2, "HBM05", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 18, 1, "HBM06", 4, 14, 7, 0, 3, 4, 1, 4, 0, 4, 2, 1}, + {"HB", -5, 18, 2, "HBM06", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 19, 1, "HBM06", 3, 4, 7, 0, 3, 4, 1, 4, 0, 2, 2, 1}, + {"HB", -5, 19, 2, "HBM06", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 20, 1, "HBM06", 2, 16, 7, 0, 3, 4, 1, 4, 1, 4, 2, 0}, + {"HB", -5, 20, 2, "HBM06", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 21, 1, "HBM06", 1, 6, 7, 0, 3, 4, 1, 4, 1, 2, 2, 0}, + {"HB", -5, 21, 2, "HBM06", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 22, 1, "HBM07", 4, 14, 7, 0, 3, 4, 1, 4, 6, 4, 5, 1}, + {"HB", -5, 22, 2, "HBM07", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 23, 1, "HBM07", 3, 4, 7, 0, 3, 4, 1, 4, 6, 2, 5, 1}, + {"HB", -5, 23, 2, "HBM07", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 24, 1, "HBM07", 2, 16, 7, 0, 3, 4, 1, 4, 7, 4, 5, 0}, + {"HB", -5, 24, 2, "HBM07", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 25, 1, "HBM07", 1, 6, 7, 0, 3, 4, 1, 4, 7, 2, 5, 0}, + {"HB", -5, 25, 2, "HBM07", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 26, 1, "HBM08", 4, 14, 7, 0, 3, 4, 5, 6, 0, 4, 2, 1}, + {"HB", -5, 26, 2, "HBM08", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 27, 1, "HBM08", 3, 4, 7, 0, 3, 4, 5, 6, 0, 2, 2, 1}, + {"HB", -5, 27, 2, "HBM08", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 28, 1, "HBM08", 2, 16, 7, 0, 3, 4, 5, 6, 1, 4, 2, 0}, + {"HB", -5, 28, 2, "HBM08", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 29, 1, "HBM08", 1, 6, 7, 0, 3, 4, 5, 6, 1, 2, 2, 0}, + {"HB", -5, 29, 2, "HBM08", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 30, 1, "HBM09", 4, 14, 7, 0, 3, 4, 5, 6, 6, 4, 5, 1}, + {"HB", -5, 30, 2, "HBM09", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 31, 1, "HBM09", 3, 4, 7, 0, 3, 4, 5, 6, 6, 2, 5, 1}, + {"HB", -5, 31, 2, "HBM09", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 32, 1, "HBM09", 2, 16, 7, 0, 3, 4, 5, 6, 7, 4, 5, 0}, + {"HB", -5, 32, 2, "HBM09", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 33, 1, "HBM09", 1, 6, 7, 0, 3, 4, 5, 6, 7, 2, 5, 0}, + {"HB", -5, 33, 2, "HBM09", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 34, 1, "HBM10", 4, 14, 7, 0, 3, 4, 11, 8, 0, 4, 2, 1}, + {"HB", -5, 34, 2, "HBM10", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 35, 1, "HBM10", 3, 4, 7, 0, 3, 4, 11, 8, 0, 2, 2, 1}, + {"HB", -5, 35, 2, "HBM10", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 36, 1, "HBM10", 2, 16, 7, 0, 3, 4, 11, 8, 1, 4, 2, 0}, + {"HB", -5, 36, 2, "HBM10", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 37, 1, "HBM10", 1, 6, 7, 0, 3, 4, 11, 8, 1, 2, 2, 0}, + {"HB", -5, 37, 2, "HBM10", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 38, 1, "HBM11", 4, 14, 7, 0, 3, 4, 11, 8, 6, 4, 5, 1}, + {"HB", -5, 38, 2, "HBM11", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 39, 1, "HBM11", 3, 4, 7, 0, 3, 4, 11, 8, 6, 2, 5, 1}, + {"HB", -5, 39, 2, "HBM11", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 40, 1, "HBM11", 2, 16, 7, 0, 3, 4, 11, 8, 7, 4, 5, 0}, + {"HB", -5, 40, 2, "HBM11", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 41, 1, "HBM11", 1, 6, 7, 0, 3, 4, 11, 8, 7, 2, 5, 0}, + {"HB", -5, 41, 2, "HBM11", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 42, 1, "HBM12", 4, 14, 7, 0, 3, 4, 15, 10, 0, 4, 2, 1}, + {"HB", -5, 42, 2, "HBM12", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 43, 1, "HBM12", 3, 4, 7, 0, 3, 4, 15, 10, 0, 2, 2, 1}, + {"HB", -5, 43, 2, "HBM12", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 44, 1, "HBM12", 2, 16, 7, 0, 3, 4, 15, 10, 1, 4, 2, 0}, + {"HB", -5, 44, 2, "HBM12", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 45, 1, "HBM12", 1, 6, 7, 0, 3, 4, 15, 10, 1, 2, 2, 0}, + {"HB", -5, 45, 2, "HBM12", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 46, 1, "HBM13", 4, 14, 7, 0, 3, 4, 15, 10, 6, 4, 5, 1}, + {"HB", -5, 46, 2, "HBM13", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 47, 1, "HBM13", 3, 4, 7, 0, 3, 4, 15, 10, 6, 2, 5, 1}, + {"HB", -5, 47, 2, "HBM13", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 48, 1, "HBM13", 2, 16, 7, 0, 3, 4, 15, 10, 7, 4, 5, 0}, + {"HB", -5, 48, 2, "HBM13", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 49, 1, "HBM13", 1, 6, 7, 0, 3, 4, 15, 10, 7, 2, 5, 0}, + {"HB", -5, 49, 2, "HBM13", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 50, 1, "HBM14", 4, 14, 7, 0, 3, 4, 17, 12, 0, 4, 2, 1}, + {"HB", -5, 50, 2, "HBM14", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 51, 1, "HBM14", 3, 4, 7, 0, 3, 4, 17, 12, 0, 2, 2, 1}, + {"HB", -5, 51, 2, "HBM14", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 52, 1, "HBM14", 2, 16, 7, 0, 3, 4, 17, 12, 1, 4, 2, 0}, + {"HB", -5, 52, 2, "HBM14", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 53, 1, "HBM14", 1, 6, 7, 0, 3, 4, 17, 12, 1, 2, 2, 0}, + {"HB", -5, 53, 2, "HBM14", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 54, 1, "HBM15", 4, 14, 7, 0, 3, 4, 17, 12, 6, 4, 5, 1}, + {"HB", -5, 54, 2, "HBM15", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 55, 1, "HBM15", 3, 4, 7, 0, 3, 4, 17, 12, 6, 2, 5, 1}, + {"HB", -5, 55, 2, "HBM15", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 56, 1, "HBM15", 2, 16, 7, 0, 3, 4, 17, 12, 7, 4, 5, 0}, + {"HB", -5, 56, 2, "HBM15", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 57, 1, "HBM15", 1, 6, 7, 0, 3, 4, 17, 12, 7, 2, 5, 0}, + {"HB", -5, 57, 2, "HBM15", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 58, 1, "HBM16", 4, 14, 7, 0, 3, 4, 14, 14, 0, 4, 2, 1}, + {"HB", -5, 58, 2, "HBM16", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 59, 1, "HBM16", 3, 4, 7, 0, 3, 4, 14, 14, 0, 2, 2, 1}, + {"HB", -5, 59, 2, "HBM16", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 60, 1, "HBM16", 2, 16, 7, 0, 3, 4, 14, 14, 1, 4, 2, 0}, + {"HB", -5, 60, 2, "HBM16", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 61, 1, "HBM16", 1, 6, 7, 0, 3, 4, 14, 14, 1, 2, 2, 0}, + {"HB", -5, 61, 2, "HBM16", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 62, 1, "HBM17", 4, 14, 7, 0, 3, 4, 14, 14, 6, 4, 5, 1}, + {"HB", -5, 62, 2, "HBM17", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 63, 1, "HBM17", 3, 4, 7, 0, 3, 4, 14, 14, 6, 2, 5, 1}, + {"HB", -5, 63, 2, "HBM17", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 64, 1, "HBM17", 2, 16, 7, 0, 3, 4, 14, 14, 7, 4, 5, 0}, + {"HB", -5, 64, 2, "HBM17", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 65, 1, "HBM17", 1, 6, 7, 0, 3, 4, 14, 14, 7, 2, 5, 0}, + {"HB", -5, 65, 2, "HBM17", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 66, 1, "HBM18", 4, 14, 7, 0, 3, 4, 10, 16, 0, 4, 2, 1}, + {"HB", -5, 66, 2, "HBM18", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 67, 1, "HBM18", 3, 4, 7, 0, 3, 4, 10, 16, 0, 2, 2, 1}, + {"HB", -5, 67, 2, "HBM18", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 68, 1, "HBM18", 2, 16, 7, 0, 3, 4, 10, 16, 1, 4, 2, 0}, + {"HB", -5, 68, 2, "HBM18", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 69, 1, "HBM18", 1, 6, 7, 0, 3, 4, 10, 16, 1, 2, 2, 0}, + {"HB", -5, 69, 2, "HBM18", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 70, 1, "HBM01", 4, 14, 7, 0, 3, 4, 10, 16, 6, 4, 5, 1}, + {"HB", -5, 70, 2, "HBM01", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -5, 71, 1, "HBM01", 3, 4, 7, 0, 3, 4, 10, 16, 6, 2, 5, 1}, + {"HB", -5, 71, 2, "HBM01", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 0, 1, "HBM01", 2, 15, 5, 1, 2, 5, 10, 16, 7, 8, 5, 0}, + {"HB", -4, 0, 2, "HBM01", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 1, 1, "HBM01", 1, 7, 5, 1, 2, 5, 10, 16, 7, 6, 5, 0}, + {"HB", -4, 1, 2, "HBM01", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 2, 1, "HBM02", 4, 13, 5, 1, 2, 5, 4, 0, 0, 8, 2, 1}, + {"HB", -4, 2, 2, "HBM02", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 3, 1, "HBM02", 3, 5, 5, 1, 2, 5, 4, 0, 0, 6, 2, 1}, + {"HB", -4, 3, 2, "HBM02", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 4, 1, "HBM02", 2, 15, 5, 1, 2, 5, 4, 0, 1, 8, 2, 0}, + {"HB", -4, 4, 2, "HBM02", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 5, 1, "HBM02", 1, 7, 5, 1, 2, 5, 4, 0, 1, 6, 2, 0}, + {"HB", -4, 5, 2, "HBM02", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 6, 1, "HBM03", 4, 13, 5, 1, 2, 5, 4, 0, 6, 8, 5, 1}, + {"HB", -4, 6, 2, "HBM03", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 7, 1, "HBM03", 3, 5, 5, 1, 2, 5, 4, 0, 6, 6, 5, 1}, + {"HB", -4, 7, 2, "HBM03", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 8, 1, "HBM03", 2, 15, 5, 1, 2, 5, 4, 0, 7, 8, 5, 0}, + {"HB", -4, 8, 2, "HBM03", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 9, 1, "HBM03", 1, 7, 5, 1, 2, 5, 4, 0, 7, 6, 5, 0}, + {"HB", -4, 9, 2, "HBM03", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 10, 1, "HBM04", 4, 13, 5, 1, 2, 5, 0, 2, 0, 8, 2, 1}, + {"HB", -4, 10, 2, "HBM04", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 11, 1, "HBM04", 3, 5, 5, 1, 2, 5, 0, 2, 0, 6, 2, 1}, + {"HB", -4, 11, 2, "HBM04", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 12, 1, "HBM04", 2, 15, 5, 1, 2, 5, 0, 2, 1, 8, 2, 0}, + {"HB", -4, 12, 2, "HBM04", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 13, 1, "HBM04", 1, 7, 5, 1, 2, 5, 0, 2, 1, 6, 2, 0}, + {"HB", -4, 13, 2, "HBM04", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 14, 1, "HBM05", 4, 13, 5, 1, 2, 5, 0, 2, 6, 8, 5, 1}, + {"HB", -4, 14, 2, "HBM05", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 15, 1, "HBM05", 3, 5, 5, 1, 2, 5, 0, 2, 6, 6, 5, 1}, + {"HB", -4, 15, 2, "HBM05", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 16, 1, "HBM05", 2, 15, 5, 1, 2, 5, 0, 2, 7, 8, 5, 0}, + {"HB", -4, 16, 2, "HBM05", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 17, 1, "HBM05", 1, 7, 5, 1, 2, 5, 0, 2, 7, 6, 5, 0}, + {"HB", -4, 17, 2, "HBM05", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 18, 1, "HBM06", 4, 13, 5, 1, 2, 5, 1, 4, 0, 8, 2, 1}, + {"HB", -4, 18, 2, "HBM06", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 19, 1, "HBM06", 3, 5, 5, 1, 2, 5, 1, 4, 0, 6, 2, 1}, + {"HB", -4, 19, 2, "HBM06", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 20, 1, "HBM06", 2, 15, 5, 1, 2, 5, 1, 4, 1, 8, 2, 0}, + {"HB", -4, 20, 2, "HBM06", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 21, 1, "HBM06", 1, 7, 5, 1, 2, 5, 1, 4, 1, 6, 2, 0}, + {"HB", -4, 21, 2, "HBM06", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 22, 1, "HBM07", 4, 13, 5, 1, 2, 5, 1, 4, 6, 8, 5, 1}, + {"HB", -4, 22, 2, "HBM07", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 23, 1, "HBM07", 3, 5, 5, 1, 2, 5, 1, 4, 6, 6, 5, 1}, + {"HB", -4, 23, 2, "HBM07", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 24, 1, "HBM07", 2, 15, 5, 1, 2, 5, 1, 4, 7, 8, 5, 0}, + {"HB", -4, 24, 2, "HBM07", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 25, 1, "HBM07", 1, 7, 5, 1, 2, 5, 1, 4, 7, 6, 5, 0}, + {"HB", -4, 25, 2, "HBM07", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 26, 1, "HBM08", 4, 13, 5, 1, 2, 5, 5, 6, 0, 8, 2, 1}, + {"HB", -4, 26, 2, "HBM08", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 27, 1, "HBM08", 3, 5, 5, 1, 2, 5, 5, 6, 0, 6, 2, 1}, + {"HB", -4, 27, 2, "HBM08", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 28, 1, "HBM08", 2, 15, 5, 1, 2, 5, 5, 6, 1, 8, 2, 0}, + {"HB", -4, 28, 2, "HBM08", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 29, 1, "HBM08", 1, 7, 5, 1, 2, 5, 5, 6, 1, 6, 2, 0}, + {"HB", -4, 29, 2, "HBM08", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 30, 1, "HBM09", 4, 13, 5, 1, 2, 5, 5, 6, 6, 8, 5, 1}, + {"HB", -4, 30, 2, "HBM09", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 31, 1, "HBM09", 3, 5, 5, 1, 2, 5, 5, 6, 6, 6, 5, 1}, + {"HB", -4, 31, 2, "HBM09", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 32, 1, "HBM09", 2, 15, 5, 1, 2, 5, 5, 6, 7, 8, 5, 0}, + {"HB", -4, 32, 2, "HBM09", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 33, 1, "HBM09", 1, 7, 5, 1, 2, 5, 5, 6, 7, 6, 5, 0}, + {"HB", -4, 33, 2, "HBM09", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 34, 1, "HBM10", 4, 13, 5, 1, 2, 5, 11, 8, 0, 8, 2, 1}, + {"HB", -4, 34, 2, "HBM10", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 35, 1, "HBM10", 3, 5, 5, 1, 2, 5, 11, 8, 0, 6, 2, 1}, + {"HB", -4, 35, 2, "HBM10", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 36, 1, "HBM10", 2, 15, 5, 1, 2, 5, 11, 8, 1, 8, 2, 0}, + {"HB", -4, 36, 2, "HBM10", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 37, 1, "HBM10", 1, 7, 5, 1, 2, 5, 11, 8, 1, 6, 2, 0}, + {"HB", -4, 37, 2, "HBM10", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 38, 1, "HBM11", 4, 13, 5, 1, 2, 5, 11, 8, 6, 8, 5, 1}, + {"HB", -4, 38, 2, "HBM11", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 39, 1, "HBM11", 3, 5, 5, 1, 2, 5, 11, 8, 6, 6, 5, 1}, + {"HB", -4, 39, 2, "HBM11", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 40, 1, "HBM11", 2, 15, 5, 1, 2, 5, 11, 8, 7, 8, 5, 0}, + {"HB", -4, 40, 2, "HBM11", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 41, 1, "HBM11", 1, 7, 5, 1, 2, 5, 11, 8, 7, 6, 5, 0}, + {"HB", -4, 41, 2, "HBM11", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 42, 1, "HBM12", 4, 13, 5, 1, 2, 5, 15, 10, 0, 8, 2, 1}, + {"HB", -4, 42, 2, "HBM12", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 43, 1, "HBM12", 3, 5, 5, 1, 2, 5, 15, 10, 0, 6, 2, 1}, + {"HB", -4, 43, 2, "HBM12", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 44, 1, "HBM12", 2, 15, 5, 1, 2, 5, 15, 10, 1, 8, 2, 0}, + {"HB", -4, 44, 2, "HBM12", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 45, 1, "HBM12", 1, 7, 5, 1, 2, 5, 15, 10, 1, 6, 2, 0}, + {"HB", -4, 45, 2, "HBM12", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 46, 1, "HBM13", 4, 13, 5, 1, 2, 5, 15, 10, 6, 8, 5, 1}, + {"HB", -4, 46, 2, "HBM13", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 47, 1, "HBM13", 3, 5, 5, 1, 2, 5, 15, 10, 6, 6, 5, 1}, + {"HB", -4, 47, 2, "HBM13", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 48, 1, "HBM13", 2, 15, 5, 1, 2, 5, 15, 10, 7, 8, 5, 0}, + {"HB", -4, 48, 2, "HBM13", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 49, 1, "HBM13", 1, 7, 5, 1, 2, 5, 15, 10, 7, 6, 5, 0}, + {"HB", -4, 49, 2, "HBM13", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 50, 1, "HBM14", 4, 13, 5, 1, 2, 5, 17, 12, 0, 8, 2, 1}, + {"HB", -4, 50, 2, "HBM14", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 51, 1, "HBM14", 3, 5, 5, 1, 2, 5, 17, 12, 0, 6, 2, 1}, + {"HB", -4, 51, 2, "HBM14", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 52, 1, "HBM14", 2, 15, 5, 1, 2, 5, 17, 12, 1, 8, 2, 0}, + {"HB", -4, 52, 2, "HBM14", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 53, 1, "HBM14", 1, 7, 5, 1, 2, 5, 17, 12, 1, 6, 2, 0}, + {"HB", -4, 53, 2, "HBM14", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 54, 1, "HBM15", 4, 13, 5, 1, 2, 5, 17, 12, 6, 8, 5, 1}, + {"HB", -4, 54, 2, "HBM15", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 55, 1, "HBM15", 3, 5, 5, 1, 2, 5, 17, 12, 6, 6, 5, 1}, + {"HB", -4, 55, 2, "HBM15", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 56, 1, "HBM15", 2, 15, 5, 1, 2, 5, 17, 12, 7, 8, 5, 0}, + {"HB", -4, 56, 2, "HBM15", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 57, 1, "HBM15", 1, 7, 5, 1, 2, 5, 17, 12, 7, 6, 5, 0}, + {"HB", -4, 57, 2, "HBM15", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 58, 1, "HBM16", 4, 13, 5, 1, 2, 5, 14, 14, 0, 8, 2, 1}, + {"HB", -4, 58, 2, "HBM16", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 59, 1, "HBM16", 3, 5, 5, 1, 2, 5, 14, 14, 0, 6, 2, 1}, + {"HB", -4, 59, 2, "HBM16", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 60, 1, "HBM16", 2, 15, 5, 1, 2, 5, 14, 14, 1, 8, 2, 0}, + {"HB", -4, 60, 2, "HBM16", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 61, 1, "HBM16", 1, 7, 5, 1, 2, 5, 14, 14, 1, 6, 2, 0}, + {"HB", -4, 61, 2, "HBM16", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 62, 1, "HBM17", 4, 13, 5, 1, 2, 5, 14, 14, 6, 8, 5, 1}, + {"HB", -4, 62, 2, "HBM17", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 63, 1, "HBM17", 3, 5, 5, 1, 2, 5, 14, 14, 6, 6, 5, 1}, + {"HB", -4, 63, 2, "HBM17", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 64, 1, "HBM17", 2, 15, 5, 1, 2, 5, 14, 14, 7, 8, 5, 0}, + {"HB", -4, 64, 2, "HBM17", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 65, 1, "HBM17", 1, 7, 5, 1, 2, 5, 14, 14, 7, 6, 5, 0}, + {"HB", -4, 65, 2, "HBM17", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 66, 1, "HBM18", 4, 13, 5, 1, 2, 5, 10, 16, 0, 8, 2, 1}, + {"HB", -4, 66, 2, "HBM18", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 67, 1, "HBM18", 3, 5, 5, 1, 2, 5, 10, 16, 0, 6, 2, 1}, + {"HB", -4, 67, 2, "HBM18", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 68, 1, "HBM18", 2, 15, 5, 1, 2, 5, 10, 16, 1, 8, 2, 0}, + {"HB", -4, 68, 2, "HBM18", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 69, 1, "HBM18", 1, 7, 5, 1, 2, 5, 10, 16, 1, 6, 2, 0}, + {"HB", -4, 69, 2, "HBM18", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 70, 1, "HBM01", 4, 13, 5, 1, 2, 5, 10, 16, 6, 8, 5, 1}, + {"HB", -4, 70, 2, "HBM01", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -4, 71, 1, "HBM01", 3, 5, 5, 1, 2, 5, 10, 16, 6, 6, 5, 1}, + {"HB", -4, 71, 2, "HBM01", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 0, 1, "HBM01", 2, 14, 6, 2, 3, 2, 10, 16, 7, 3, 5, 0}, + {"HB", -3, 0, 2, "HBM01", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 1, 1, "HBM01", 1, 1, 6, 2, 3, 2, 10, 16, 7, 1, 5, 0}, + {"HB", -3, 1, 2, "HBM01", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 2, 1, "HBM02", 4, 19, 6, 2, 3, 2, 4, 0, 0, 3, 2, 1}, + {"HB", -3, 2, 2, "HBM02", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 3, 1, "HBM02", 3, 6, 6, 2, 3, 2, 4, 0, 0, 1, 2, 1}, + {"HB", -3, 3, 2, "HBM02", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 4, 1, "HBM02", 2, 14, 6, 2, 3, 2, 4, 0, 1, 3, 2, 0}, + {"HB", -3, 4, 2, "HBM02", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 5, 1, "HBM02", 1, 1, 6, 2, 3, 2, 4, 0, 1, 1, 2, 0}, + {"HB", -3, 5, 2, "HBM02", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 6, 1, "HBM03", 4, 19, 6, 2, 3, 2, 4, 0, 6, 3, 5, 1}, + {"HB", -3, 6, 2, "HBM03", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 7, 1, "HBM03", 3, 6, 6, 2, 3, 2, 4, 0, 6, 1, 5, 1}, + {"HB", -3, 7, 2, "HBM03", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 8, 1, "HBM03", 2, 14, 6, 2, 3, 2, 4, 0, 7, 3, 5, 0}, + {"HB", -3, 8, 2, "HBM03", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 9, 1, "HBM03", 1, 1, 6, 2, 3, 2, 4, 0, 7, 1, 5, 0}, + {"HB", -3, 9, 2, "HBM03", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 10, 1, "HBM04", 4, 19, 6, 2, 3, 2, 0, 2, 0, 3, 2, 1}, + {"HB", -3, 10, 2, "HBM04", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 11, 1, "HBM04", 3, 6, 6, 2, 3, 2, 0, 2, 0, 1, 2, 1}, + {"HB", -3, 11, 2, "HBM04", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 12, 1, "HBM04", 2, 14, 6, 2, 3, 2, 0, 2, 1, 3, 2, 0}, + {"HB", -3, 12, 2, "HBM04", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 13, 1, "HBM04", 1, 1, 6, 2, 3, 2, 0, 2, 1, 1, 2, 0}, + {"HB", -3, 13, 2, "HBM04", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 14, 1, "HBM05", 4, 19, 6, 2, 3, 2, 0, 2, 6, 3, 5, 1}, + {"HB", -3, 14, 2, "HBM05", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 15, 1, "HBM05", 3, 6, 6, 2, 3, 2, 0, 2, 6, 1, 5, 1}, + {"HB", -3, 15, 2, "HBM05", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 16, 1, "HBM05", 2, 14, 6, 2, 3, 2, 0, 2, 7, 3, 5, 0}, + {"HB", -3, 16, 2, "HBM05", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 17, 1, "HBM05", 1, 1, 6, 2, 3, 2, 0, 2, 7, 1, 5, 0}, + {"HB", -3, 17, 2, "HBM05", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 18, 1, "HBM06", 4, 19, 6, 2, 3, 2, 1, 4, 0, 3, 2, 1}, + {"HB", -3, 18, 2, "HBM06", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 19, 1, "HBM06", 3, 6, 6, 2, 3, 2, 1, 4, 0, 1, 2, 1}, + {"HB", -3, 19, 2, "HBM06", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 20, 1, "HBM06", 2, 14, 6, 2, 3, 2, 1, 4, 1, 3, 2, 0}, + {"HB", -3, 20, 2, "HBM06", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 21, 1, "HBM06", 1, 1, 6, 2, 3, 2, 1, 4, 1, 1, 2, 0}, + {"HB", -3, 21, 2, "HBM06", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 22, 1, "HBM07", 4, 19, 6, 2, 3, 2, 1, 4, 6, 3, 5, 1}, + {"HB", -3, 22, 2, "HBM07", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 23, 1, "HBM07", 3, 6, 6, 2, 3, 2, 1, 4, 6, 1, 5, 1}, + {"HB", -3, 23, 2, "HBM07", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 24, 1, "HBM07", 2, 14, 6, 2, 3, 2, 1, 4, 7, 3, 5, 0}, + {"HB", -3, 24, 2, "HBM07", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 25, 1, "HBM07", 1, 1, 6, 2, 3, 2, 1, 4, 7, 1, 5, 0}, + {"HB", -3, 25, 2, "HBM07", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 26, 1, "HBM08", 4, 19, 6, 2, 3, 2, 5, 6, 0, 3, 2, 1}, + {"HB", -3, 26, 2, "HBM08", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 27, 1, "HBM08", 3, 6, 6, 2, 3, 2, 5, 6, 0, 1, 2, 1}, + {"HB", -3, 27, 2, "HBM08", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 28, 1, "HBM08", 2, 14, 6, 2, 3, 2, 5, 6, 1, 3, 2, 0}, + {"HB", -3, 28, 2, "HBM08", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 29, 1, "HBM08", 1, 1, 6, 2, 3, 2, 5, 6, 1, 1, 2, 0}, + {"HB", -3, 29, 2, "HBM08", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 30, 1, "HBM09", 4, 19, 6, 2, 3, 2, 5, 6, 6, 3, 5, 1}, + {"HB", -3, 30, 2, "HBM09", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 31, 1, "HBM09", 3, 6, 6, 2, 3, 2, 5, 6, 6, 1, 5, 1}, + {"HB", -3, 31, 2, "HBM09", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 32, 1, "HBM09", 2, 14, 6, 2, 3, 2, 5, 6, 7, 3, 5, 0}, + {"HB", -3, 32, 2, "HBM09", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 33, 1, "HBM09", 1, 1, 6, 2, 3, 2, 5, 6, 7, 1, 5, 0}, + {"HB", -3, 33, 2, "HBM09", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 34, 1, "HBM10", 4, 19, 6, 2, 3, 2, 11, 8, 0, 3, 2, 1}, + {"HB", -3, 34, 2, "HBM10", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 35, 1, "HBM10", 3, 6, 6, 2, 3, 2, 11, 8, 0, 1, 2, 1}, + {"HB", -3, 35, 2, "HBM10", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 36, 1, "HBM10", 2, 14, 6, 2, 3, 2, 11, 8, 1, 3, 2, 0}, + {"HB", -3, 36, 2, "HBM10", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 37, 1, "HBM10", 1, 1, 6, 2, 3, 2, 11, 8, 1, 1, 2, 0}, + {"HB", -3, 37, 2, "HBM10", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 38, 1, "HBM11", 4, 19, 6, 2, 3, 2, 11, 8, 6, 3, 5, 1}, + {"HB", -3, 38, 2, "HBM11", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 39, 1, "HBM11", 3, 6, 6, 2, 3, 2, 11, 8, 6, 1, 5, 1}, + {"HB", -3, 39, 2, "HBM11", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 40, 1, "HBM11", 2, 14, 6, 2, 3, 2, 11, 8, 7, 3, 5, 0}, + {"HB", -3, 40, 2, "HBM11", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 41, 1, "HBM11", 1, 1, 6, 2, 3, 2, 11, 8, 7, 1, 5, 0}, + {"HB", -3, 41, 2, "HBM11", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 42, 1, "HBM12", 4, 19, 6, 2, 3, 2, 15, 10, 0, 3, 2, 1}, + {"HB", -3, 42, 2, "HBM12", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 43, 1, "HBM12", 3, 6, 6, 2, 3, 2, 15, 10, 0, 1, 2, 1}, + {"HB", -3, 43, 2, "HBM12", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 44, 1, "HBM12", 2, 14, 6, 2, 3, 2, 15, 10, 1, 3, 2, 0}, + {"HB", -3, 44, 2, "HBM12", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 45, 1, "HBM12", 1, 1, 6, 2, 3, 2, 15, 10, 1, 1, 2, 0}, + {"HB", -3, 45, 2, "HBM12", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 46, 1, "HBM13", 4, 19, 6, 2, 3, 2, 15, 10, 6, 3, 5, 1}, + {"HB", -3, 46, 2, "HBM13", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 47, 1, "HBM13", 3, 6, 6, 2, 3, 2, 15, 10, 6, 1, 5, 1}, + {"HB", -3, 47, 2, "HBM13", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 48, 1, "HBM13", 2, 14, 6, 2, 3, 2, 15, 10, 7, 3, 5, 0}, + {"HB", -3, 48, 2, "HBM13", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 49, 1, "HBM13", 1, 1, 6, 2, 3, 2, 15, 10, 7, 1, 5, 0}, + {"HB", -3, 49, 2, "HBM13", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 50, 1, "HBM14", 4, 19, 6, 2, 3, 2, 17, 12, 0, 3, 2, 1}, + {"HB", -3, 50, 2, "HBM14", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 51, 1, "HBM14", 3, 6, 6, 2, 3, 2, 17, 12, 0, 1, 2, 1}, + {"HB", -3, 51, 2, "HBM14", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 52, 1, "HBM14", 2, 14, 6, 2, 3, 2, 17, 12, 1, 3, 2, 0}, + {"HB", -3, 52, 2, "HBM14", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 53, 1, "HBM14", 1, 1, 6, 2, 3, 2, 17, 12, 1, 1, 2, 0}, + {"HB", -3, 53, 2, "HBM14", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 54, 1, "HBM15", 4, 19, 6, 2, 3, 2, 17, 12, 6, 3, 5, 1}, + {"HB", -3, 54, 2, "HBM15", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 55, 1, "HBM15", 3, 6, 6, 2, 3, 2, 17, 12, 6, 1, 5, 1}, + {"HB", -3, 55, 2, "HBM15", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 56, 1, "HBM15", 2, 14, 6, 2, 3, 2, 17, 12, 7, 3, 5, 0}, + {"HB", -3, 56, 2, "HBM15", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 57, 1, "HBM15", 1, 1, 6, 2, 3, 2, 17, 12, 7, 1, 5, 0}, + {"HB", -3, 57, 2, "HBM15", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 58, 1, "HBM16", 4, 19, 6, 2, 3, 2, 14, 14, 0, 3, 2, 1}, + {"HB", -3, 58, 2, "HBM16", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 59, 1, "HBM16", 3, 6, 6, 2, 3, 2, 14, 14, 0, 1, 2, 1}, + {"HB", -3, 59, 2, "HBM16", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 60, 1, "HBM16", 2, 14, 6, 2, 3, 2, 14, 14, 1, 3, 2, 0}, + {"HB", -3, 60, 2, "HBM16", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 61, 1, "HBM16", 1, 1, 6, 2, 3, 2, 14, 14, 1, 1, 2, 0}, + {"HB", -3, 61, 2, "HBM16", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 62, 1, "HBM17", 4, 19, 6, 2, 3, 2, 14, 14, 6, 3, 5, 1}, + {"HB", -3, 62, 2, "HBM17", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 63, 1, "HBM17", 3, 6, 6, 2, 3, 2, 14, 14, 6, 1, 5, 1}, + {"HB", -3, 63, 2, "HBM17", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 64, 1, "HBM17", 2, 14, 6, 2, 3, 2, 14, 14, 7, 3, 5, 0}, + {"HB", -3, 64, 2, "HBM17", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 65, 1, "HBM17", 1, 1, 6, 2, 3, 2, 14, 14, 7, 1, 5, 0}, + {"HB", -3, 65, 2, "HBM17", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 66, 1, "HBM18", 4, 19, 6, 2, 3, 2, 10, 16, 0, 3, 2, 1}, + {"HB", -3, 66, 2, "HBM18", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 67, 1, "HBM18", 3, 6, 6, 2, 3, 2, 10, 16, 0, 1, 2, 1}, + {"HB", -3, 67, 2, "HBM18", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 68, 1, "HBM18", 2, 14, 6, 2, 3, 2, 10, 16, 1, 3, 2, 0}, + {"HB", -3, 68, 2, "HBM18", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 69, 1, "HBM18", 1, 1, 6, 2, 3, 2, 10, 16, 1, 1, 2, 0}, + {"HB", -3, 69, 2, "HBM18", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 70, 1, "HBM01", 4, 19, 6, 2, 3, 2, 10, 16, 6, 3, 5, 1}, + {"HB", -3, 70, 2, "HBM01", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -3, 71, 1, "HBM01", 3, 6, 6, 2, 3, 2, 10, 16, 6, 1, 5, 1}, + {"HB", -3, 71, 2, "HBM01", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 0, 1, "HBM01", 2, 13, 4, 2, 2, 2, 10, 16, 7, 7, 5, 0}, + {"HB", -2, 0, 2, "HBM01", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 1, 1, "HBM01", 1, 2, 4, 2, 2, 2, 10, 16, 7, 5, 5, 0}, + {"HB", -2, 1, 2, "HBM01", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 2, 1, "HBM02", 4, 18, 4, 2, 2, 2, 4, 0, 0, 7, 2, 1}, + {"HB", -2, 2, 2, "HBM02", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 3, 1, "HBM02", 3, 7, 4, 2, 2, 2, 4, 0, 0, 5, 2, 1}, + {"HB", -2, 3, 2, "HBM02", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 4, 1, "HBM02", 2, 13, 4, 2, 2, 2, 4, 0, 1, 7, 2, 0}, + {"HB", -2, 4, 2, "HBM02", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 5, 1, "HBM02", 1, 2, 4, 2, 2, 2, 4, 0, 1, 5, 2, 0}, + {"HB", -2, 5, 2, "HBM02", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 6, 1, "HBM03", 4, 18, 4, 2, 2, 2, 4, 0, 6, 7, 5, 1}, + {"HB", -2, 6, 2, "HBM03", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 7, 1, "HBM03", 3, 7, 4, 2, 2, 2, 4, 0, 6, 5, 5, 1}, + {"HB", -2, 7, 2, "HBM03", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 8, 1, "HBM03", 2, 13, 4, 2, 2, 2, 4, 0, 7, 7, 5, 0}, + {"HB", -2, 8, 2, "HBM03", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 9, 1, "HBM03", 1, 2, 4, 2, 2, 2, 4, 0, 7, 5, 5, 0}, + {"HB", -2, 9, 2, "HBM03", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 10, 1, "HBM04", 4, 18, 4, 2, 2, 2, 0, 2, 0, 7, 2, 1}, + {"HB", -2, 10, 2, "HBM04", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 11, 1, "HBM04", 3, 7, 4, 2, 2, 2, 0, 2, 0, 5, 2, 1}, + {"HB", -2, 11, 2, "HBM04", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 12, 1, "HBM04", 2, 13, 4, 2, 2, 2, 0, 2, 1, 7, 2, 0}, + {"HB", -2, 12, 2, "HBM04", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 13, 1, "HBM04", 1, 2, 4, 2, 2, 2, 0, 2, 1, 5, 2, 0}, + {"HB", -2, 13, 2, "HBM04", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 14, 1, "HBM05", 4, 18, 4, 2, 2, 2, 0, 2, 6, 7, 5, 1}, + {"HB", -2, 14, 2, "HBM05", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 15, 1, "HBM05", 3, 7, 4, 2, 2, 2, 0, 2, 6, 5, 5, 1}, + {"HB", -2, 15, 2, "HBM05", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 16, 1, "HBM05", 2, 13, 4, 2, 2, 2, 0, 2, 7, 7, 5, 0}, + {"HB", -2, 16, 2, "HBM05", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 17, 1, "HBM05", 1, 2, 4, 2, 2, 2, 0, 2, 7, 5, 5, 0}, + {"HB", -2, 17, 2, "HBM05", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 18, 1, "HBM06", 4, 18, 4, 2, 2, 2, 1, 4, 0, 7, 2, 1}, + {"HB", -2, 18, 2, "HBM06", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 19, 1, "HBM06", 3, 7, 4, 2, 2, 2, 1, 4, 0, 5, 2, 1}, + {"HB", -2, 19, 2, "HBM06", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 20, 1, "HBM06", 2, 13, 4, 2, 2, 2, 1, 4, 1, 7, 2, 0}, + {"HB", -2, 20, 2, "HBM06", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 21, 1, "HBM06", 1, 2, 4, 2, 2, 2, 1, 4, 1, 5, 2, 0}, + {"HB", -2, 21, 2, "HBM06", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 22, 1, "HBM07", 4, 18, 4, 2, 2, 2, 1, 4, 6, 7, 5, 1}, + {"HB", -2, 22, 2, "HBM07", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 23, 1, "HBM07", 3, 7, 4, 2, 2, 2, 1, 4, 6, 5, 5, 1}, + {"HB", -2, 23, 2, "HBM07", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 24, 1, "HBM07", 2, 13, 4, 2, 2, 2, 1, 4, 7, 7, 5, 0}, + {"HB", -2, 24, 2, "HBM07", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 25, 1, "HBM07", 1, 2, 4, 2, 2, 2, 1, 4, 7, 5, 5, 0}, + {"HB", -2, 25, 2, "HBM07", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 26, 1, "HBM08", 4, 18, 4, 2, 2, 2, 5, 6, 0, 7, 2, 1}, + {"HB", -2, 26, 2, "HBM08", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 27, 1, "HBM08", 3, 7, 4, 2, 2, 2, 5, 6, 0, 5, 2, 1}, + {"HB", -2, 27, 2, "HBM08", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 28, 1, "HBM08", 2, 13, 4, 2, 2, 2, 5, 6, 1, 7, 2, 0}, + {"HB", -2, 28, 2, "HBM08", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 29, 1, "HBM08", 1, 2, 4, 2, 2, 2, 5, 6, 1, 5, 2, 0}, + {"HB", -2, 29, 2, "HBM08", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 30, 1, "HBM09", 4, 18, 4, 2, 2, 2, 5, 6, 6, 7, 5, 1}, + {"HB", -2, 30, 2, "HBM09", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 31, 1, "HBM09", 3, 7, 4, 2, 2, 2, 5, 6, 6, 5, 5, 1}, + {"HB", -2, 31, 2, "HBM09", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 32, 1, "HBM09", 2, 13, 4, 2, 2, 2, 5, 6, 7, 7, 5, 0}, + {"HB", -2, 32, 2, "HBM09", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 33, 1, "HBM09", 1, 2, 4, 2, 2, 2, 5, 6, 7, 5, 5, 0}, + {"HB", -2, 33, 2, "HBM09", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 34, 1, "HBM10", 4, 18, 4, 2, 2, 2, 11, 8, 0, 7, 2, 1}, + {"HB", -2, 34, 2, "HBM10", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 35, 1, "HBM10", 3, 7, 4, 2, 2, 2, 11, 8, 0, 5, 2, 1}, + {"HB", -2, 35, 2, "HBM10", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 36, 1, "HBM10", 2, 13, 4, 2, 2, 2, 11, 8, 1, 7, 2, 0}, + {"HB", -2, 36, 2, "HBM10", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 37, 1, "HBM10", 1, 2, 4, 2, 2, 2, 11, 8, 1, 5, 2, 0}, + {"HB", -2, 37, 2, "HBM10", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 38, 1, "HBM11", 4, 18, 4, 2, 2, 2, 11, 8, 6, 7, 5, 1}, + {"HB", -2, 38, 2, "HBM11", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 39, 1, "HBM11", 3, 7, 4, 2, 2, 2, 11, 8, 6, 5, 5, 1}, + {"HB", -2, 39, 2, "HBM11", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 40, 1, "HBM11", 2, 13, 4, 2, 2, 2, 11, 8, 7, 7, 5, 0}, + {"HB", -2, 40, 2, "HBM11", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 41, 1, "HBM11", 1, 2, 4, 2, 2, 2, 11, 8, 7, 5, 5, 0}, + {"HB", -2, 41, 2, "HBM11", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 42, 1, "HBM12", 4, 18, 4, 2, 2, 2, 15, 10, 0, 7, 2, 1}, + {"HB", -2, 42, 2, "HBM12", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 43, 1, "HBM12", 3, 7, 4, 2, 2, 2, 15, 10, 0, 5, 2, 1}, + {"HB", -2, 43, 2, "HBM12", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 44, 1, "HBM12", 2, 13, 4, 2, 2, 2, 15, 10, 1, 7, 2, 0}, + {"HB", -2, 44, 2, "HBM12", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 45, 1, "HBM12", 1, 2, 4, 2, 2, 2, 15, 10, 1, 5, 2, 0}, + {"HB", -2, 45, 2, "HBM12", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 46, 1, "HBM13", 4, 18, 4, 2, 2, 2, 15, 10, 6, 7, 5, 1}, + {"HB", -2, 46, 2, "HBM13", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 47, 1, "HBM13", 3, 7, 4, 2, 2, 2, 15, 10, 6, 5, 5, 1}, + {"HB", -2, 47, 2, "HBM13", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 48, 1, "HBM13", 2, 13, 4, 2, 2, 2, 15, 10, 7, 7, 5, 0}, + {"HB", -2, 48, 2, "HBM13", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 49, 1, "HBM13", 1, 2, 4, 2, 2, 2, 15, 10, 7, 5, 5, 0}, + {"HB", -2, 49, 2, "HBM13", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 50, 1, "HBM14", 4, 18, 4, 2, 2, 2, 17, 12, 0, 7, 2, 1}, + {"HB", -2, 50, 2, "HBM14", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 51, 1, "HBM14", 3, 7, 4, 2, 2, 2, 17, 12, 0, 5, 2, 1}, + {"HB", -2, 51, 2, "HBM14", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 52, 1, "HBM14", 2, 13, 4, 2, 2, 2, 17, 12, 1, 7, 2, 0}, + {"HB", -2, 52, 2, "HBM14", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 53, 1, "HBM14", 1, 2, 4, 2, 2, 2, 17, 12, 1, 5, 2, 0}, + {"HB", -2, 53, 2, "HBM14", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 54, 1, "HBM15", 4, 18, 4, 2, 2, 2, 17, 12, 6, 7, 5, 1}, + {"HB", -2, 54, 2, "HBM15", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 55, 1, "HBM15", 3, 7, 4, 2, 2, 2, 17, 12, 6, 5, 5, 1}, + {"HB", -2, 55, 2, "HBM15", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 56, 1, "HBM15", 2, 13, 4, 2, 2, 2, 17, 12, 7, 7, 5, 0}, + {"HB", -2, 56, 2, "HBM15", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 57, 1, "HBM15", 1, 2, 4, 2, 2, 2, 17, 12, 7, 5, 5, 0}, + {"HB", -2, 57, 2, "HBM15", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 58, 1, "HBM16", 4, 18, 4, 2, 2, 2, 14, 14, 0, 7, 2, 1}, + {"HB", -2, 58, 2, "HBM16", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 59, 1, "HBM16", 3, 7, 4, 2, 2, 2, 14, 14, 0, 5, 2, 1}, + {"HB", -2, 59, 2, "HBM16", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 60, 1, "HBM16", 2, 13, 4, 2, 2, 2, 14, 14, 1, 7, 2, 0}, + {"HB", -2, 60, 2, "HBM16", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 61, 1, "HBM16", 1, 2, 4, 2, 2, 2, 14, 14, 1, 5, 2, 0}, + {"HB", -2, 61, 2, "HBM16", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 62, 1, "HBM17", 4, 18, 4, 2, 2, 2, 14, 14, 6, 7, 5, 1}, + {"HB", -2, 62, 2, "HBM17", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 63, 1, "HBM17", 3, 7, 4, 2, 2, 2, 14, 14, 6, 5, 5, 1}, + {"HB", -2, 63, 2, "HBM17", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 64, 1, "HBM17", 2, 13, 4, 2, 2, 2, 14, 14, 7, 7, 5, 0}, + {"HB", -2, 64, 2, "HBM17", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 65, 1, "HBM17", 1, 2, 4, 2, 2, 2, 14, 14, 7, 5, 5, 0}, + {"HB", -2, 65, 2, "HBM17", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 66, 1, "HBM18", 4, 18, 4, 2, 2, 2, 10, 16, 0, 7, 2, 1}, + {"HB", -2, 66, 2, "HBM18", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 67, 1, "HBM18", 3, 7, 4, 2, 2, 2, 10, 16, 0, 5, 2, 1}, + {"HB", -2, 67, 2, "HBM18", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 68, 1, "HBM18", 2, 13, 4, 2, 2, 2, 10, 16, 1, 7, 2, 0}, + {"HB", -2, 68, 2, "HBM18", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 69, 1, "HBM18", 1, 2, 4, 2, 2, 2, 10, 16, 1, 5, 2, 0}, + {"HB", -2, 69, 2, "HBM18", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 70, 1, "HBM01", 4, 18, 4, 2, 2, 2, 10, 16, 6, 7, 5, 1}, + {"HB", -2, 70, 2, "HBM01", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -2, 71, 1, "HBM01", 3, 7, 4, 2, 2, 2, 10, 16, 6, 5, 5, 1}, + {"HB", -2, 71, 2, "HBM01", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 0, 1, "HBM01", 2, 18, 7, 1, 3, 5, 10, 16, 7, 4, 5, 0}, + {"HB", -1, 0, 2, "HBM01", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 1, 1, "HBM01", 1, 3, 7, 1, 3, 5, 10, 16, 7, 2, 5, 0}, + {"HB", -1, 1, 2, "HBM01", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 2, 1, "HBM02", 4, 17, 7, 1, 3, 5, 4, 0, 0, 4, 2, 1}, + {"HB", -1, 2, 2, "HBM02", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 3, 1, "HBM02", 3, 2, 7, 1, 3, 5, 4, 0, 0, 2, 2, 1}, + {"HB", -1, 3, 2, "HBM02", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 4, 1, "HBM02", 2, 18, 7, 1, 3, 5, 4, 0, 1, 4, 2, 0}, + {"HB", -1, 4, 2, "HBM02", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 5, 1, "HBM02", 1, 3, 7, 1, 3, 5, 4, 0, 1, 2, 2, 0}, + {"HB", -1, 5, 2, "HBM02", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 6, 1, "HBM03", 4, 17, 7, 1, 3, 5, 4, 0, 6, 4, 5, 1}, + {"HB", -1, 6, 2, "HBM03", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 7, 1, "HBM03", 3, 2, 7, 1, 3, 5, 4, 0, 6, 2, 5, 1}, + {"HB", -1, 7, 2, "HBM03", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 8, 1, "HBM03", 2, 18, 7, 1, 3, 5, 4, 0, 7, 4, 5, 0}, + {"HB", -1, 8, 2, "HBM03", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 9, 1, "HBM03", 1, 3, 7, 1, 3, 5, 4, 0, 7, 2, 5, 0}, + {"HB", -1, 9, 2, "HBM03", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 10, 1, "HBM04", 4, 17, 7, 1, 3, 5, 0, 2, 0, 4, 2, 1}, + {"HB", -1, 10, 2, "HBM04", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 11, 1, "HBM04", 3, 2, 7, 1, 3, 5, 0, 2, 0, 2, 2, 1}, + {"HB", -1, 11, 2, "HBM04", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 12, 1, "HBM04", 2, 18, 7, 1, 3, 5, 0, 2, 1, 4, 2, 0}, + {"HB", -1, 12, 2, "HBM04", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 13, 1, "HBM04", 1, 3, 7, 1, 3, 5, 0, 2, 1, 2, 2, 0}, + {"HB", -1, 13, 2, "HBM04", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 14, 1, "HBM05", 4, 17, 7, 1, 3, 5, 0, 2, 6, 4, 5, 1}, + {"HB", -1, 14, 2, "HBM05", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 15, 1, "HBM05", 3, 2, 7, 1, 3, 5, 0, 2, 6, 2, 5, 1}, + {"HB", -1, 15, 2, "HBM05", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 16, 1, "HBM05", 2, 18, 7, 1, 3, 5, 0, 2, 7, 4, 5, 0}, + {"HB", -1, 16, 2, "HBM05", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 17, 1, "HBM05", 1, 3, 7, 1, 3, 5, 0, 2, 7, 2, 5, 0}, + {"HB", -1, 17, 2, "HBM05", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 18, 1, "HBM06", 4, 17, 7, 1, 3, 5, 1, 4, 0, 4, 2, 1}, + {"HB", -1, 18, 2, "HBM06", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 19, 1, "HBM06", 3, 2, 7, 1, 3, 5, 1, 4, 0, 2, 2, 1}, + {"HB", -1, 19, 2, "HBM06", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 20, 1, "HBM06", 2, 18, 7, 1, 3, 5, 1, 4, 1, 4, 2, 0}, + {"HB", -1, 20, 2, "HBM06", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 21, 1, "HBM06", 1, 3, 7, 1, 3, 5, 1, 4, 1, 2, 2, 0}, + {"HB", -1, 21, 2, "HBM06", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 22, 1, "HBM07", 4, 17, 7, 1, 3, 5, 1, 4, 6, 4, 5, 1}, + {"HB", -1, 22, 2, "HBM07", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 23, 1, "HBM07", 3, 2, 7, 1, 3, 5, 1, 4, 6, 2, 5, 1}, + {"HB", -1, 23, 2, "HBM07", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 24, 1, "HBM07", 2, 18, 7, 1, 3, 5, 1, 4, 7, 4, 5, 0}, + {"HB", -1, 24, 2, "HBM07", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 25, 1, "HBM07", 1, 3, 7, 1, 3, 5, 1, 4, 7, 2, 5, 0}, + {"HB", -1, 25, 2, "HBM07", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 26, 1, "HBM08", 4, 17, 7, 1, 3, 5, 5, 6, 0, 4, 2, 1}, + {"HB", -1, 26, 2, "HBM08", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 27, 1, "HBM08", 3, 2, 7, 1, 3, 5, 5, 6, 0, 2, 2, 1}, + {"HB", -1, 27, 2, "HBM08", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 28, 1, "HBM08", 2, 18, 7, 1, 3, 5, 5, 6, 1, 4, 2, 0}, + {"HB", -1, 28, 2, "HBM08", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 29, 1, "HBM08", 1, 3, 7, 1, 3, 5, 5, 6, 1, 2, 2, 0}, + {"HB", -1, 29, 2, "HBM08", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 30, 1, "HBM09", 4, 17, 7, 1, 3, 5, 5, 6, 6, 4, 5, 1}, + {"HB", -1, 30, 2, "HBM09", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 31, 1, "HBM09", 3, 2, 7, 1, 3, 5, 5, 6, 6, 2, 5, 1}, + {"HB", -1, 31, 2, "HBM09", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 32, 1, "HBM09", 2, 18, 7, 1, 3, 5, 5, 6, 7, 4, 5, 0}, + {"HB", -1, 32, 2, "HBM09", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 33, 1, "HBM09", 1, 3, 7, 1, 3, 5, 5, 6, 7, 2, 5, 0}, + {"HB", -1, 33, 2, "HBM09", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 34, 1, "HBM10", 4, 17, 7, 1, 3, 5, 11, 8, 0, 4, 2, 1}, + {"HB", -1, 34, 2, "HBM10", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 35, 1, "HBM10", 3, 2, 7, 1, 3, 5, 11, 8, 0, 2, 2, 1}, + {"HB", -1, 35, 2, "HBM10", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 36, 1, "HBM10", 2, 18, 7, 1, 3, 5, 11, 8, 1, 4, 2, 0}, + {"HB", -1, 36, 2, "HBM10", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 37, 1, "HBM10", 1, 3, 7, 1, 3, 5, 11, 8, 1, 2, 2, 0}, + {"HB", -1, 37, 2, "HBM10", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 38, 1, "HBM11", 4, 17, 7, 1, 3, 5, 11, 8, 6, 4, 5, 1}, + {"HB", -1, 38, 2, "HBM11", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 39, 1, "HBM11", 3, 2, 7, 1, 3, 5, 11, 8, 6, 2, 5, 1}, + {"HB", -1, 39, 2, "HBM11", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 40, 1, "HBM11", 2, 18, 7, 1, 3, 5, 11, 8, 7, 4, 5, 0}, + {"HB", -1, 40, 2, "HBM11", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 41, 1, "HBM11", 1, 3, 7, 1, 3, 5, 11, 8, 7, 2, 5, 0}, + {"HB", -1, 41, 2, "HBM11", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 42, 1, "HBM12", 4, 17, 7, 1, 3, 5, 15, 10, 0, 4, 2, 1}, + {"HB", -1, 42, 2, "HBM12", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 43, 1, "HBM12", 3, 2, 7, 1, 3, 5, 15, 10, 0, 2, 2, 1}, + {"HB", -1, 43, 2, "HBM12", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 44, 1, "HBM12", 2, 18, 7, 1, 3, 5, 15, 10, 1, 4, 2, 0}, + {"HB", -1, 44, 2, "HBM12", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 45, 1, "HBM12", 1, 3, 7, 1, 3, 5, 15, 10, 1, 2, 2, 0}, + {"HB", -1, 45, 2, "HBM12", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 46, 1, "HBM13", 4, 17, 7, 1, 3, 5, 15, 10, 6, 4, 5, 1}, + {"HB", -1, 46, 2, "HBM13", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 47, 1, "HBM13", 3, 2, 7, 1, 3, 5, 15, 10, 6, 2, 5, 1}, + {"HB", -1, 47, 2, "HBM13", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 48, 1, "HBM13", 2, 18, 7, 1, 3, 5, 15, 10, 7, 4, 5, 0}, + {"HB", -1, 48, 2, "HBM13", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 49, 1, "HBM13", 1, 3, 7, 1, 3, 5, 15, 10, 7, 2, 5, 0}, + {"HB", -1, 49, 2, "HBM13", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 50, 1, "HBM14", 4, 17, 7, 1, 3, 5, 17, 12, 0, 4, 2, 1}, + {"HB", -1, 50, 2, "HBM14", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 51, 1, "HBM14", 3, 2, 7, 1, 3, 5, 17, 12, 0, 2, 2, 1}, + {"HB", -1, 51, 2, "HBM14", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 52, 1, "HBM14", 2, 18, 7, 1, 3, 5, 17, 12, 1, 4, 2, 0}, + {"HB", -1, 52, 2, "HBM14", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 53, 1, "HBM14", 1, 3, 7, 1, 3, 5, 17, 12, 1, 2, 2, 0}, + {"HB", -1, 53, 2, "HBM14", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 54, 1, "HBM15", 4, 17, 7, 1, 3, 5, 17, 12, 6, 4, 5, 1}, + {"HB", -1, 54, 2, "HBM15", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 55, 1, "HBM15", 3, 2, 7, 1, 3, 5, 17, 12, 6, 2, 5, 1}, + {"HB", -1, 55, 2, "HBM15", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 56, 1, "HBM15", 2, 18, 7, 1, 3, 5, 17, 12, 7, 4, 5, 0}, + {"HB", -1, 56, 2, "HBM15", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 57, 1, "HBM15", 1, 3, 7, 1, 3, 5, 17, 12, 7, 2, 5, 0}, + {"HB", -1, 57, 2, "HBM15", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 58, 1, "HBM16", 4, 17, 7, 1, 3, 5, 14, 14, 0, 4, 2, 1}, + {"HB", -1, 58, 2, "HBM16", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 59, 1, "HBM16", 3, 2, 7, 1, 3, 5, 14, 14, 0, 2, 2, 1}, + {"HB", -1, 59, 2, "HBM16", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 60, 1, "HBM16", 2, 18, 7, 1, 3, 5, 14, 14, 1, 4, 2, 0}, + {"HB", -1, 60, 2, "HBM16", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 61, 1, "HBM16", 1, 3, 7, 1, 3, 5, 14, 14, 1, 2, 2, 0}, + {"HB", -1, 61, 2, "HBM16", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 62, 1, "HBM17", 4, 17, 7, 1, 3, 5, 14, 14, 6, 4, 5, 1}, + {"HB", -1, 62, 2, "HBM17", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 63, 1, "HBM17", 3, 2, 7, 1, 3, 5, 14, 14, 6, 2, 5, 1}, + {"HB", -1, 63, 2, "HBM17", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 64, 1, "HBM17", 2, 18, 7, 1, 3, 5, 14, 14, 7, 4, 5, 0}, + {"HB", -1, 64, 2, "HBM17", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 65, 1, "HBM17", 1, 3, 7, 1, 3, 5, 14, 14, 7, 2, 5, 0}, + {"HB", -1, 65, 2, "HBM17", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 66, 1, "HBM18", 4, 17, 7, 1, 3, 5, 10, 16, 0, 4, 2, 1}, + {"HB", -1, 66, 2, "HBM18", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 67, 1, "HBM18", 3, 2, 7, 1, 3, 5, 10, 16, 0, 2, 2, 1}, + {"HB", -1, 67, 2, "HBM18", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 68, 1, "HBM18", 2, 18, 7, 1, 3, 5, 10, 16, 1, 4, 2, 0}, + {"HB", -1, 68, 2, "HBM18", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 69, 1, "HBM18", 1, 3, 7, 1, 3, 5, 10, 16, 1, 2, 2, 0}, + {"HB", -1, 69, 2, "HBM18", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 70, 1, "HBM01", 4, 17, 7, 1, 3, 5, 10, 16, 6, 4, 5, 1}, + {"HB", -1, 70, 2, "HBM01", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", -1, 71, 1, "HBM01", 3, 2, 7, 1, 3, 5, 10, 16, 6, 2, 5, 1}, + {"HB", -1, 71, 2, "HBM01", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 0, 1, "HBP01", 3, 2, 7, 1, 3, 5, 10, 17, 7, 2, 16, 0}, + {"HB", 0, 0, 2, "HBP01", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 1, 1, "HBP01", 4, 17, 7, 1, 3, 5, 10, 17, 7, 4, 16, 0}, + {"HB", 0, 1, 2, "HBP01", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 2, 1, "HBP02", 1, 3, 7, 1, 3, 5, 4, 1, 0, 2, 13, 1}, + {"HB", 0, 2, 2, "HBP02", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 3, 1, "HBP02", 2, 18, 7, 1, 3, 5, 4, 1, 0, 4, 13, 1}, + {"HB", 0, 3, 2, "HBP02", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 4, 1, "HBP02", 3, 2, 7, 1, 3, 5, 4, 1, 1, 2, 13, 0}, + {"HB", 0, 4, 2, "HBP02", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 5, 1, "HBP02", 4, 17, 7, 1, 3, 5, 4, 1, 1, 4, 13, 0}, + {"HB", 0, 5, 2, "HBP02", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 6, 1, "HBP03", 1, 3, 7, 1, 3, 5, 4, 1, 6, 2, 16, 1}, + {"HB", 0, 6, 2, "HBP03", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 7, 1, "HBP03", 2, 18, 7, 1, 3, 5, 4, 1, 6, 4, 16, 1}, + {"HB", 0, 7, 2, "HBP03", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 8, 1, "HBP03", 3, 2, 7, 1, 3, 5, 4, 1, 7, 2, 16, 0}, + {"HB", 0, 8, 2, "HBP03", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 9, 1, "HBP03", 4, 17, 7, 1, 3, 5, 4, 1, 7, 4, 16, 0}, + {"HB", 0, 9, 2, "HBP03", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 10, 1, "HBP04", 1, 3, 7, 1, 3, 5, 0, 3, 0, 2, 13, 1}, + {"HB", 0, 10, 2, "HBP04", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 11, 1, "HBP04", 2, 18, 7, 1, 3, 5, 0, 3, 0, 4, 13, 1}, + {"HB", 0, 11, 2, "HBP04", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 12, 1, "HBP04", 3, 2, 7, 1, 3, 5, 0, 3, 1, 2, 13, 0}, + {"HB", 0, 12, 2, "HBP04", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 13, 1, "HBP04", 4, 17, 7, 1, 3, 5, 0, 3, 1, 4, 13, 0}, + {"HB", 0, 13, 2, "HBP04", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 14, 1, "HBP05", 1, 3, 7, 1, 3, 5, 0, 3, 6, 2, 16, 1}, + {"HB", 0, 14, 2, "HBP05", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 15, 1, "HBP05", 2, 18, 7, 1, 3, 5, 0, 3, 6, 4, 16, 1}, + {"HB", 0, 15, 2, "HBP05", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 16, 1, "HBP05", 3, 2, 7, 1, 3, 5, 0, 3, 7, 2, 16, 0}, + {"HB", 0, 16, 2, "HBP05", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 17, 1, "HBP05", 4, 17, 7, 1, 3, 5, 0, 3, 7, 4, 16, 0}, + {"HB", 0, 17, 2, "HBP05", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 18, 1, "HBP06", 1, 3, 7, 1, 3, 5, 1, 5, 0, 2, 13, 1}, + {"HB", 0, 18, 2, "HBP06", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 19, 1, "HBP06", 2, 18, 7, 1, 3, 5, 1, 5, 0, 4, 13, 1}, + {"HB", 0, 19, 2, "HBP06", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 20, 1, "HBP06", 3, 2, 7, 1, 3, 5, 1, 5, 1, 2, 13, 0}, + {"HB", 0, 20, 2, "HBP06", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 21, 1, "HBP06", 4, 17, 7, 1, 3, 5, 1, 5, 1, 4, 13, 0}, + {"HB", 0, 21, 2, "HBP06", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 22, 1, "HBP07", 1, 3, 7, 1, 3, 5, 1, 5, 6, 2, 16, 1}, + {"HB", 0, 22, 2, "HBP07", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 23, 1, "HBP07", 2, 18, 7, 1, 3, 5, 1, 5, 6, 4, 16, 1}, + {"HB", 0, 23, 2, "HBP07", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 24, 1, "HBP07", 3, 2, 7, 1, 3, 5, 1, 5, 7, 2, 16, 0}, + {"HB", 0, 24, 2, "HBP07", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 25, 1, "HBP07", 4, 17, 7, 1, 3, 5, 1, 5, 7, 4, 16, 0}, + {"HB", 0, 25, 2, "HBP07", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 26, 1, "HBP08", 1, 3, 7, 1, 3, 5, 5, 7, 0, 2, 13, 1}, + {"HB", 0, 26, 2, "HBP08", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 27, 1, "HBP08", 2, 18, 7, 1, 3, 5, 5, 7, 0, 4, 13, 1}, + {"HB", 0, 27, 2, "HBP08", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 28, 1, "HBP08", 3, 2, 7, 1, 3, 5, 5, 7, 1, 2, 13, 0}, + {"HB", 0, 28, 2, "HBP08", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 29, 1, "HBP08", 4, 17, 7, 1, 3, 5, 5, 7, 1, 4, 13, 0}, + {"HB", 0, 29, 2, "HBP08", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 30, 1, "HBP09", 1, 3, 7, 1, 3, 5, 5, 7, 6, 2, 16, 1}, + {"HB", 0, 30, 2, "HBP09", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 31, 1, "HBP09", 2, 18, 7, 1, 3, 5, 5, 7, 6, 4, 16, 1}, + {"HB", 0, 31, 2, "HBP09", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 32, 1, "HBP09", 3, 2, 7, 1, 3, 5, 5, 7, 7, 2, 16, 0}, + {"HB", 0, 32, 2, "HBP09", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 33, 1, "HBP09", 4, 17, 7, 1, 3, 5, 5, 7, 7, 4, 16, 0}, + {"HB", 0, 33, 2, "HBP09", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 34, 1, "HBP10", 1, 3, 7, 1, 3, 5, 11, 9, 0, 2, 13, 1}, + {"HB", 0, 34, 2, "HBP10", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 35, 1, "HBP10", 2, 18, 7, 1, 3, 5, 11, 9, 0, 4, 13, 1}, + {"HB", 0, 35, 2, "HBP10", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 36, 1, "HBP10", 3, 2, 7, 1, 3, 5, 11, 9, 1, 2, 13, 0}, + {"HB", 0, 36, 2, "HBP10", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 37, 1, "HBP10", 4, 17, 7, 1, 3, 5, 11, 9, 1, 4, 13, 0}, + {"HB", 0, 37, 2, "HBP10", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 38, 1, "HBP11", 1, 3, 7, 1, 3, 5, 11, 9, 6, 2, 16, 1}, + {"HB", 0, 38, 2, "HBP11", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 39, 1, "HBP11", 2, 18, 7, 1, 3, 5, 11, 9, 6, 4, 16, 1}, + {"HB", 0, 39, 2, "HBP11", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 40, 1, "HBP11", 3, 2, 7, 1, 3, 5, 11, 9, 7, 2, 16, 0}, + {"HB", 0, 40, 2, "HBP11", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 41, 1, "HBP11", 4, 17, 7, 1, 3, 5, 11, 9, 7, 4, 16, 0}, + {"HB", 0, 41, 2, "HBP11", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 42, 1, "HBP12", 1, 3, 7, 1, 3, 5, 15, 11, 0, 2, 13, 1}, + {"HB", 0, 42, 2, "HBP12", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 43, 1, "HBP12", 2, 18, 7, 1, 3, 5, 15, 11, 0, 4, 13, 1}, + {"HB", 0, 43, 2, "HBP12", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 44, 1, "HBP12", 3, 2, 7, 1, 3, 5, 15, 11, 1, 2, 13, 0}, + {"HB", 0, 44, 2, "HBP12", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 45, 1, "HBP12", 4, 17, 7, 1, 3, 5, 15, 11, 1, 4, 13, 0}, + {"HB", 0, 45, 2, "HBP12", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 46, 1, "HBP13", 1, 3, 7, 1, 3, 5, 15, 11, 6, 2, 16, 1}, + {"HB", 0, 46, 2, "HBP13", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 47, 1, "HBP13", 2, 18, 7, 1, 3, 5, 15, 11, 6, 4, 16, 1}, + {"HB", 0, 47, 2, "HBP13", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 48, 1, "HBP13", 3, 2, 7, 1, 3, 5, 15, 11, 7, 2, 16, 0}, + {"HB", 0, 48, 2, "HBP13", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 49, 1, "HBP13", 4, 17, 7, 1, 3, 5, 15, 11, 7, 4, 16, 0}, + {"HB", 0, 49, 2, "HBP13", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 50, 1, "HBP14", 1, 3, 7, 1, 3, 5, 17, 13, 0, 2, 13, 1}, + {"HB", 0, 50, 2, "HBP14", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 51, 1, "HBP14", 2, 18, 7, 1, 3, 5, 17, 13, 0, 4, 13, 1}, + {"HB", 0, 51, 2, "HBP14", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 52, 1, "HBP14", 3, 2, 7, 1, 3, 5, 17, 13, 1, 2, 13, 0}, + {"HB", 0, 52, 2, "HBP14", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 53, 1, "HBP14", 4, 17, 7, 1, 3, 5, 17, 13, 1, 4, 13, 0}, + {"HB", 0, 53, 2, "HBP14", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 54, 1, "HBP15", 1, 3, 7, 1, 3, 5, 17, 13, 6, 2, 16, 1}, + {"HB", 0, 54, 2, "HBP15", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 55, 1, "HBP15", 2, 18, 7, 1, 3, 5, 17, 13, 6, 4, 16, 1}, + {"HB", 0, 55, 2, "HBP15", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 56, 1, "HBP15", 3, 2, 7, 1, 3, 5, 17, 13, 7, 2, 16, 0}, + {"HB", 0, 56, 2, "HBP15", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 57, 1, "HBP15", 4, 17, 7, 1, 3, 5, 17, 13, 7, 4, 16, 0}, + {"HB", 0, 57, 2, "HBP15", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 58, 1, "HBP16", 1, 3, 7, 1, 3, 5, 14, 15, 0, 2, 13, 1}, + {"HB", 0, 58, 2, "HBP16", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 59, 1, "HBP16", 2, 18, 7, 1, 3, 5, 14, 15, 0, 4, 13, 1}, + {"HB", 0, 59, 2, "HBP16", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 60, 1, "HBP16", 3, 2, 7, 1, 3, 5, 14, 15, 1, 2, 13, 0}, + {"HB", 0, 60, 2, "HBP16", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 61, 1, "HBP16", 4, 17, 7, 1, 3, 5, 14, 15, 1, 4, 13, 0}, + {"HB", 0, 61, 2, "HBP16", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 62, 1, "HBP17", 1, 3, 7, 1, 3, 5, 14, 15, 6, 2, 16, 1}, + {"HB", 0, 62, 2, "HBP17", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 63, 1, "HBP17", 2, 18, 7, 1, 3, 5, 14, 15, 6, 4, 16, 1}, + {"HB", 0, 63, 2, "HBP17", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 64, 1, "HBP17", 3, 2, 7, 1, 3, 5, 14, 15, 7, 2, 16, 0}, + {"HB", 0, 64, 2, "HBP17", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 65, 1, "HBP17", 4, 17, 7, 1, 3, 5, 14, 15, 7, 4, 16, 0}, + {"HB", 0, 65, 2, "HBP17", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 66, 1, "HBP18", 1, 3, 7, 1, 3, 5, 10, 17, 0, 2, 13, 1}, + {"HB", 0, 66, 2, "HBP18", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 67, 1, "HBP18", 2, 18, 7, 1, 3, 5, 10, 17, 0, 4, 13, 1}, + {"HB", 0, 67, 2, "HBP18", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 68, 1, "HBP18", 3, 2, 7, 1, 3, 5, 10, 17, 1, 2, 13, 0}, + {"HB", 0, 68, 2, "HBP18", 3, 7, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 69, 1, "HBP18", 4, 17, 7, 1, 3, 5, 10, 17, 1, 4, 13, 0}, + {"HB", 0, 69, 2, "HBP18", 4, 18, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 70, 1, "HBP01", 1, 3, 7, 1, 3, 5, 10, 17, 6, 2, 16, 1}, + {"HB", 0, 70, 2, "HBP01", 1, 2, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 0, 71, 1, "HBP01", 2, 18, 7, 1, 3, 5, 10, 17, 6, 4, 16, 1}, + {"HB", 0, 71, 2, "HBP01", 2, 13, 4, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 0, 1, "HBP01", 3, 7, 4, 2, 2, 2, 10, 17, 7, 5, 16, 0}, + {"HB", 1, 0, 2, "HBP01", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 1, 1, "HBP01", 4, 18, 4, 2, 2, 2, 10, 17, 7, 7, 16, 0}, + {"HB", 1, 1, 2, "HBP01", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 2, 1, "HBP02", 1, 2, 4, 2, 2, 2, 4, 1, 0, 5, 13, 1}, + {"HB", 1, 2, 2, "HBP02", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 3, 1, "HBP02", 2, 13, 4, 2, 2, 2, 4, 1, 0, 7, 13, 1}, + {"HB", 1, 3, 2, "HBP02", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 4, 1, "HBP02", 3, 7, 4, 2, 2, 2, 4, 1, 1, 5, 13, 0}, + {"HB", 1, 4, 2, "HBP02", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 5, 1, "HBP02", 4, 18, 4, 2, 2, 2, 4, 1, 1, 7, 13, 0}, + {"HB", 1, 5, 2, "HBP02", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 6, 1, "HBP03", 1, 2, 4, 2, 2, 2, 4, 1, 6, 5, 16, 1}, + {"HB", 1, 6, 2, "HBP03", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 7, 1, "HBP03", 2, 13, 4, 2, 2, 2, 4, 1, 6, 7, 16, 1}, + {"HB", 1, 7, 2, "HBP03", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 8, 1, "HBP03", 3, 7, 4, 2, 2, 2, 4, 1, 7, 5, 16, 0}, + {"HB", 1, 8, 2, "HBP03", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 9, 1, "HBP03", 4, 18, 4, 2, 2, 2, 4, 1, 7, 7, 16, 0}, + {"HB", 1, 9, 2, "HBP03", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 10, 1, "HBP04", 1, 2, 4, 2, 2, 2, 0, 3, 0, 5, 13, 1}, + {"HB", 1, 10, 2, "HBP04", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 11, 1, "HBP04", 2, 13, 4, 2, 2, 2, 0, 3, 0, 7, 13, 1}, + {"HB", 1, 11, 2, "HBP04", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 12, 1, "HBP04", 3, 7, 4, 2, 2, 2, 0, 3, 1, 5, 13, 0}, + {"HB", 1, 12, 2, "HBP04", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 13, 1, "HBP04", 4, 18, 4, 2, 2, 2, 0, 3, 1, 7, 13, 0}, + {"HB", 1, 13, 2, "HBP04", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 14, 1, "HBP05", 1, 2, 4, 2, 2, 2, 0, 3, 6, 5, 16, 1}, + {"HB", 1, 14, 2, "HBP05", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 15, 1, "HBP05", 2, 13, 4, 2, 2, 2, 0, 3, 6, 7, 16, 1}, + {"HB", 1, 15, 2, "HBP05", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 16, 1, "HBP05", 3, 7, 4, 2, 2, 2, 0, 3, 7, 5, 16, 0}, + {"HB", 1, 16, 2, "HBP05", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 17, 1, "HBP05", 4, 18, 4, 2, 2, 2, 0, 3, 7, 7, 16, 0}, + {"HB", 1, 17, 2, "HBP05", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 18, 1, "HBP06", 1, 2, 4, 2, 2, 2, 1, 5, 0, 5, 13, 1}, + {"HB", 1, 18, 2, "HBP06", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 19, 1, "HBP06", 2, 13, 4, 2, 2, 2, 1, 5, 0, 7, 13, 1}, + {"HB", 1, 19, 2, "HBP06", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 20, 1, "HBP06", 3, 7, 4, 2, 2, 2, 1, 5, 1, 5, 13, 0}, + {"HB", 1, 20, 2, "HBP06", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 21, 1, "HBP06", 4, 18, 4, 2, 2, 2, 1, 5, 1, 7, 13, 0}, + {"HB", 1, 21, 2, "HBP06", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 22, 1, "HBP07", 1, 2, 4, 2, 2, 2, 1, 5, 6, 5, 16, 1}, + {"HB", 1, 22, 2, "HBP07", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 23, 1, "HBP07", 2, 13, 4, 2, 2, 2, 1, 5, 6, 7, 16, 1}, + {"HB", 1, 23, 2, "HBP07", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 24, 1, "HBP07", 3, 7, 4, 2, 2, 2, 1, 5, 7, 5, 16, 0}, + {"HB", 1, 24, 2, "HBP07", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 25, 1, "HBP07", 4, 18, 4, 2, 2, 2, 1, 5, 7, 7, 16, 0}, + {"HB", 1, 25, 2, "HBP07", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 26, 1, "HBP08", 1, 2, 4, 2, 2, 2, 5, 7, 0, 5, 13, 1}, + {"HB", 1, 26, 2, "HBP08", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 27, 1, "HBP08", 2, 13, 4, 2, 2, 2, 5, 7, 0, 7, 13, 1}, + {"HB", 1, 27, 2, "HBP08", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 28, 1, "HBP08", 3, 7, 4, 2, 2, 2, 5, 7, 1, 5, 13, 0}, + {"HB", 1, 28, 2, "HBP08", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 29, 1, "HBP08", 4, 18, 4, 2, 2, 2, 5, 7, 1, 7, 13, 0}, + {"HB", 1, 29, 2, "HBP08", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 30, 1, "HBP09", 1, 2, 4, 2, 2, 2, 5, 7, 6, 5, 16, 1}, + {"HB", 1, 30, 2, "HBP09", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 31, 1, "HBP09", 2, 13, 4, 2, 2, 2, 5, 7, 6, 7, 16, 1}, + {"HB", 1, 31, 2, "HBP09", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 32, 1, "HBP09", 3, 7, 4, 2, 2, 2, 5, 7, 7, 5, 16, 0}, + {"HB", 1, 32, 2, "HBP09", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 33, 1, "HBP09", 4, 18, 4, 2, 2, 2, 5, 7, 7, 7, 16, 0}, + {"HB", 1, 33, 2, "HBP09", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 34, 1, "HBP10", 1, 2, 4, 2, 2, 2, 11, 9, 0, 5, 13, 1}, + {"HB", 1, 34, 2, "HBP10", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 35, 1, "HBP10", 2, 13, 4, 2, 2, 2, 11, 9, 0, 7, 13, 1}, + {"HB", 1, 35, 2, "HBP10", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 36, 1, "HBP10", 3, 7, 4, 2, 2, 2, 11, 9, 1, 5, 13, 0}, + {"HB", 1, 36, 2, "HBP10", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 37, 1, "HBP10", 4, 18, 4, 2, 2, 2, 11, 9, 1, 7, 13, 0}, + {"HB", 1, 37, 2, "HBP10", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 38, 1, "HBP11", 1, 2, 4, 2, 2, 2, 11, 9, 6, 5, 16, 1}, + {"HB", 1, 38, 2, "HBP11", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 39, 1, "HBP11", 2, 13, 4, 2, 2, 2, 11, 9, 6, 7, 16, 1}, + {"HB", 1, 39, 2, "HBP11", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 40, 1, "HBP11", 3, 7, 4, 2, 2, 2, 11, 9, 7, 5, 16, 0}, + {"HB", 1, 40, 2, "HBP11", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 41, 1, "HBP11", 4, 18, 4, 2, 2, 2, 11, 9, 7, 7, 16, 0}, + {"HB", 1, 41, 2, "HBP11", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 42, 1, "HBP12", 1, 2, 4, 2, 2, 2, 15, 11, 0, 5, 13, 1}, + {"HB", 1, 42, 2, "HBP12", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 43, 1, "HBP12", 2, 13, 4, 2, 2, 2, 15, 11, 0, 7, 13, 1}, + {"HB", 1, 43, 2, "HBP12", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 44, 1, "HBP12", 3, 7, 4, 2, 2, 2, 15, 11, 1, 5, 13, 0}, + {"HB", 1, 44, 2, "HBP12", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 45, 1, "HBP12", 4, 18, 4, 2, 2, 2, 15, 11, 1, 7, 13, 0}, + {"HB", 1, 45, 2, "HBP12", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 46, 1, "HBP13", 1, 2, 4, 2, 2, 2, 15, 11, 6, 5, 16, 1}, + {"HB", 1, 46, 2, "HBP13", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 47, 1, "HBP13", 2, 13, 4, 2, 2, 2, 15, 11, 6, 7, 16, 1}, + {"HB", 1, 47, 2, "HBP13", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 48, 1, "HBP13", 3, 7, 4, 2, 2, 2, 15, 11, 7, 5, 16, 0}, + {"HB", 1, 48, 2, "HBP13", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 49, 1, "HBP13", 4, 18, 4, 2, 2, 2, 15, 11, 7, 7, 16, 0}, + {"HB", 1, 49, 2, "HBP13", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 50, 1, "HBP14", 1, 2, 4, 2, 2, 2, 17, 13, 0, 5, 13, 1}, + {"HB", 1, 50, 2, "HBP14", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 51, 1, "HBP14", 2, 13, 4, 2, 2, 2, 17, 13, 0, 7, 13, 1}, + {"HB", 1, 51, 2, "HBP14", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 52, 1, "HBP14", 3, 7, 4, 2, 2, 2, 17, 13, 1, 5, 13, 0}, + {"HB", 1, 52, 2, "HBP14", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 53, 1, "HBP14", 4, 18, 4, 2, 2, 2, 17, 13, 1, 7, 13, 0}, + {"HB", 1, 53, 2, "HBP14", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 54, 1, "HBP15", 1, 2, 4, 2, 2, 2, 17, 13, 6, 5, 16, 1}, + {"HB", 1, 54, 2, "HBP15", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 55, 1, "HBP15", 2, 13, 4, 2, 2, 2, 17, 13, 6, 7, 16, 1}, + {"HB", 1, 55, 2, "HBP15", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 56, 1, "HBP15", 3, 7, 4, 2, 2, 2, 17, 13, 7, 5, 16, 0}, + {"HB", 1, 56, 2, "HBP15", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 57, 1, "HBP15", 4, 18, 4, 2, 2, 2, 17, 13, 7, 7, 16, 0}, + {"HB", 1, 57, 2, "HBP15", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 58, 1, "HBP16", 1, 2, 4, 2, 2, 2, 14, 15, 0, 5, 13, 1}, + {"HB", 1, 58, 2, "HBP16", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 59, 1, "HBP16", 2, 13, 4, 2, 2, 2, 14, 15, 0, 7, 13, 1}, + {"HB", 1, 59, 2, "HBP16", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 60, 1, "HBP16", 3, 7, 4, 2, 2, 2, 14, 15, 1, 5, 13, 0}, + {"HB", 1, 60, 2, "HBP16", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 61, 1, "HBP16", 4, 18, 4, 2, 2, 2, 14, 15, 1, 7, 13, 0}, + {"HB", 1, 61, 2, "HBP16", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 62, 1, "HBP17", 1, 2, 4, 2, 2, 2, 14, 15, 6, 5, 16, 1}, + {"HB", 1, 62, 2, "HBP17", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 63, 1, "HBP17", 2, 13, 4, 2, 2, 2, 14, 15, 6, 7, 16, 1}, + {"HB", 1, 63, 2, "HBP17", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 64, 1, "HBP17", 3, 7, 4, 2, 2, 2, 14, 15, 7, 5, 16, 0}, + {"HB", 1, 64, 2, "HBP17", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 65, 1, "HBP17", 4, 18, 4, 2, 2, 2, 14, 15, 7, 7, 16, 0}, + {"HB", 1, 65, 2, "HBP17", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 66, 1, "HBP18", 1, 2, 4, 2, 2, 2, 10, 17, 0, 5, 13, 1}, + {"HB", 1, 66, 2, "HBP18", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 67, 1, "HBP18", 2, 13, 4, 2, 2, 2, 10, 17, 0, 7, 13, 1}, + {"HB", 1, 67, 2, "HBP18", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 68, 1, "HBP18", 3, 7, 4, 2, 2, 2, 10, 17, 1, 5, 13, 0}, + {"HB", 1, 68, 2, "HBP18", 3, 6, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 69, 1, "HBP18", 4, 18, 4, 2, 2, 2, 10, 17, 1, 7, 13, 0}, + {"HB", 1, 69, 2, "HBP18", 4, 19, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 70, 1, "HBP01", 1, 2, 4, 2, 2, 2, 10, 17, 6, 5, 16, 1}, + {"HB", 1, 70, 2, "HBP01", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 1, 71, 1, "HBP01", 2, 13, 4, 2, 2, 2, 10, 17, 6, 7, 16, 1}, + {"HB", 1, 71, 2, "HBP01", 2, 14, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 0, 1, "HBP01", 3, 6, 6, 2, 3, 2, 10, 17, 7, 1, 16, 0}, + {"HB", 2, 0, 2, "HBP01", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 1, 1, "HBP01", 4, 19, 6, 2, 3, 2, 10, 17, 7, 3, 16, 0}, + {"HB", 2, 1, 2, "HBP01", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 2, 1, "HBP02", 1, 1, 6, 2, 3, 2, 4, 1, 0, 1, 13, 1}, + {"HB", 2, 2, 2, "HBP02", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 3, 1, "HBP02", 2, 14, 6, 2, 3, 2, 4, 1, 0, 3, 13, 1}, + {"HB", 2, 3, 2, "HBP02", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 4, 1, "HBP02", 3, 6, 6, 2, 3, 2, 4, 1, 1, 1, 13, 0}, + {"HB", 2, 4, 2, "HBP02", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 5, 1, "HBP02", 4, 19, 6, 2, 3, 2, 4, 1, 1, 3, 13, 0}, + {"HB", 2, 5, 2, "HBP02", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 6, 1, "HBP03", 1, 1, 6, 2, 3, 2, 4, 1, 6, 1, 16, 1}, + {"HB", 2, 6, 2, "HBP03", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 7, 1, "HBP03", 2, 14, 6, 2, 3, 2, 4, 1, 6, 3, 16, 1}, + {"HB", 2, 7, 2, "HBP03", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 8, 1, "HBP03", 3, 6, 6, 2, 3, 2, 4, 1, 7, 1, 16, 0}, + {"HB", 2, 8, 2, "HBP03", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 9, 1, "HBP03", 4, 19, 6, 2, 3, 2, 4, 1, 7, 3, 16, 0}, + {"HB", 2, 9, 2, "HBP03", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 10, 1, "HBP04", 1, 1, 6, 2, 3, 2, 0, 3, 0, 1, 13, 1}, + {"HB", 2, 10, 2, "HBP04", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 11, 1, "HBP04", 2, 14, 6, 2, 3, 2, 0, 3, 0, 3, 13, 1}, + {"HB", 2, 11, 2, "HBP04", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 12, 1, "HBP04", 3, 6, 6, 2, 3, 2, 0, 3, 1, 1, 13, 0}, + {"HB", 2, 12, 2, "HBP04", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 13, 1, "HBP04", 4, 19, 6, 2, 3, 2, 0, 3, 1, 3, 13, 0}, + {"HB", 2, 13, 2, "HBP04", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 14, 1, "HBP05", 1, 1, 6, 2, 3, 2, 0, 3, 6, 1, 16, 1}, + {"HB", 2, 14, 2, "HBP05", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 15, 1, "HBP05", 2, 14, 6, 2, 3, 2, 0, 3, 6, 3, 16, 1}, + {"HB", 2, 15, 2, "HBP05", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 16, 1, "HBP05", 3, 6, 6, 2, 3, 2, 0, 3, 7, 1, 16, 0}, + {"HB", 2, 16, 2, "HBP05", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 17, 1, "HBP05", 4, 19, 6, 2, 3, 2, 0, 3, 7, 3, 16, 0}, + {"HB", 2, 17, 2, "HBP05", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 18, 1, "HBP06", 1, 1, 6, 2, 3, 2, 1, 5, 0, 1, 13, 1}, + {"HB", 2, 18, 2, "HBP06", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 19, 1, "HBP06", 2, 14, 6, 2, 3, 2, 1, 5, 0, 3, 13, 1}, + {"HB", 2, 19, 2, "HBP06", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 20, 1, "HBP06", 3, 6, 6, 2, 3, 2, 1, 5, 1, 1, 13, 0}, + {"HB", 2, 20, 2, "HBP06", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 21, 1, "HBP06", 4, 19, 6, 2, 3, 2, 1, 5, 1, 3, 13, 0}, + {"HB", 2, 21, 2, "HBP06", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 22, 1, "HBP07", 1, 1, 6, 2, 3, 2, 1, 5, 6, 1, 16, 1}, + {"HB", 2, 22, 2, "HBP07", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 23, 1, "HBP07", 2, 14, 6, 2, 3, 2, 1, 5, 6, 3, 16, 1}, + {"HB", 2, 23, 2, "HBP07", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 24, 1, "HBP07", 3, 6, 6, 2, 3, 2, 1, 5, 7, 1, 16, 0}, + {"HB", 2, 24, 2, "HBP07", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 25, 1, "HBP07", 4, 19, 6, 2, 3, 2, 1, 5, 7, 3, 16, 0}, + {"HB", 2, 25, 2, "HBP07", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 26, 1, "HBP08", 1, 1, 6, 2, 3, 2, 5, 7, 0, 1, 13, 1}, + {"HB", 2, 26, 2, "HBP08", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 27, 1, "HBP08", 2, 14, 6, 2, 3, 2, 5, 7, 0, 3, 13, 1}, + {"HB", 2, 27, 2, "HBP08", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 28, 1, "HBP08", 3, 6, 6, 2, 3, 2, 5, 7, 1, 1, 13, 0}, + {"HB", 2, 28, 2, "HBP08", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 29, 1, "HBP08", 4, 19, 6, 2, 3, 2, 5, 7, 1, 3, 13, 0}, + {"HB", 2, 29, 2, "HBP08", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 30, 1, "HBP09", 1, 1, 6, 2, 3, 2, 5, 7, 6, 1, 16, 1}, + {"HB", 2, 30, 2, "HBP09", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 31, 1, "HBP09", 2, 14, 6, 2, 3, 2, 5, 7, 6, 3, 16, 1}, + {"HB", 2, 31, 2, "HBP09", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 32, 1, "HBP09", 3, 6, 6, 2, 3, 2, 5, 7, 7, 1, 16, 0}, + {"HB", 2, 32, 2, "HBP09", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 33, 1, "HBP09", 4, 19, 6, 2, 3, 2, 5, 7, 7, 3, 16, 0}, + {"HB", 2, 33, 2, "HBP09", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 34, 1, "HBP10", 1, 1, 6, 2, 3, 2, 11, 9, 0, 1, 13, 1}, + {"HB", 2, 34, 2, "HBP10", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 35, 1, "HBP10", 2, 14, 6, 2, 3, 2, 11, 9, 0, 3, 13, 1}, + {"HB", 2, 35, 2, "HBP10", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 36, 1, "HBP10", 3, 6, 6, 2, 3, 2, 11, 9, 1, 1, 13, 0}, + {"HB", 2, 36, 2, "HBP10", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 37, 1, "HBP10", 4, 19, 6, 2, 3, 2, 11, 9, 1, 3, 13, 0}, + {"HB", 2, 37, 2, "HBP10", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 38, 1, "HBP11", 1, 1, 6, 2, 3, 2, 11, 9, 6, 1, 16, 1}, + {"HB", 2, 38, 2, "HBP11", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 39, 1, "HBP11", 2, 14, 6, 2, 3, 2, 11, 9, 6, 3, 16, 1}, + {"HB", 2, 39, 2, "HBP11", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 40, 1, "HBP11", 3, 6, 6, 2, 3, 2, 11, 9, 7, 1, 16, 0}, + {"HB", 2, 40, 2, "HBP11", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 41, 1, "HBP11", 4, 19, 6, 2, 3, 2, 11, 9, 7, 3, 16, 0}, + {"HB", 2, 41, 2, "HBP11", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 42, 1, "HBP12", 1, 1, 6, 2, 3, 2, 15, 11, 0, 1, 13, 1}, + {"HB", 2, 42, 2, "HBP12", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 43, 1, "HBP12", 2, 14, 6, 2, 3, 2, 15, 11, 0, 3, 13, 1}, + {"HB", 2, 43, 2, "HBP12", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 44, 1, "HBP12", 3, 6, 6, 2, 3, 2, 15, 11, 1, 1, 13, 0}, + {"HB", 2, 44, 2, "HBP12", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 45, 1, "HBP12", 4, 19, 6, 2, 3, 2, 15, 11, 1, 3, 13, 0}, + {"HB", 2, 45, 2, "HBP12", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 46, 1, "HBP13", 1, 1, 6, 2, 3, 2, 15, 11, 6, 1, 16, 1}, + {"HB", 2, 46, 2, "HBP13", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 47, 1, "HBP13", 2, 14, 6, 2, 3, 2, 15, 11, 6, 3, 16, 1}, + {"HB", 2, 47, 2, "HBP13", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 48, 1, "HBP13", 3, 6, 6, 2, 3, 2, 15, 11, 7, 1, 16, 0}, + {"HB", 2, 48, 2, "HBP13", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 49, 1, "HBP13", 4, 19, 6, 2, 3, 2, 15, 11, 7, 3, 16, 0}, + {"HB", 2, 49, 2, "HBP13", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 50, 1, "HBP14", 1, 1, 6, 2, 3, 2, 17, 13, 0, 1, 13, 1}, + {"HB", 2, 50, 2, "HBP14", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 51, 1, "HBP14", 2, 14, 6, 2, 3, 2, 17, 13, 0, 3, 13, 1}, + {"HB", 2, 51, 2, "HBP14", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 52, 1, "HBP14", 3, 6, 6, 2, 3, 2, 17, 13, 1, 1, 13, 0}, + {"HB", 2, 52, 2, "HBP14", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 53, 1, "HBP14", 4, 19, 6, 2, 3, 2, 17, 13, 1, 3, 13, 0}, + {"HB", 2, 53, 2, "HBP14", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 54, 1, "HBP15", 1, 1, 6, 2, 3, 2, 17, 13, 6, 1, 16, 1}, + {"HB", 2, 54, 2, "HBP15", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 55, 1, "HBP15", 2, 14, 6, 2, 3, 2, 17, 13, 6, 3, 16, 1}, + {"HB", 2, 55, 2, "HBP15", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 56, 1, "HBP15", 3, 6, 6, 2, 3, 2, 17, 13, 7, 1, 16, 0}, + {"HB", 2, 56, 2, "HBP15", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 57, 1, "HBP15", 4, 19, 6, 2, 3, 2, 17, 13, 7, 3, 16, 0}, + {"HB", 2, 57, 2, "HBP15", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 58, 1, "HBP16", 1, 1, 6, 2, 3, 2, 14, 15, 0, 1, 13, 1}, + {"HB", 2, 58, 2, "HBP16", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 59, 1, "HBP16", 2, 14, 6, 2, 3, 2, 14, 15, 0, 3, 13, 1}, + {"HB", 2, 59, 2, "HBP16", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 60, 1, "HBP16", 3, 6, 6, 2, 3, 2, 14, 15, 1, 1, 13, 0}, + {"HB", 2, 60, 2, "HBP16", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 61, 1, "HBP16", 4, 19, 6, 2, 3, 2, 14, 15, 1, 3, 13, 0}, + {"HB", 2, 61, 2, "HBP16", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 62, 1, "HBP17", 1, 1, 6, 2, 3, 2, 14, 15, 6, 1, 16, 1}, + {"HB", 2, 62, 2, "HBP17", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 63, 1, "HBP17", 2, 14, 6, 2, 3, 2, 14, 15, 6, 3, 16, 1}, + {"HB", 2, 63, 2, "HBP17", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 64, 1, "HBP17", 3, 6, 6, 2, 3, 2, 14, 15, 7, 1, 16, 0}, + {"HB", 2, 64, 2, "HBP17", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 65, 1, "HBP17", 4, 19, 6, 2, 3, 2, 14, 15, 7, 3, 16, 0}, + {"HB", 2, 65, 2, "HBP17", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 66, 1, "HBP18", 1, 1, 6, 2, 3, 2, 10, 17, 0, 1, 13, 1}, + {"HB", 2, 66, 2, "HBP18", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 67, 1, "HBP18", 2, 14, 6, 2, 3, 2, 10, 17, 0, 3, 13, 1}, + {"HB", 2, 67, 2, "HBP18", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 68, 1, "HBP18", 3, 6, 6, 2, 3, 2, 10, 17, 1, 1, 13, 0}, + {"HB", 2, 68, 2, "HBP18", 3, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 69, 1, "HBP18", 4, 19, 6, 2, 3, 2, 10, 17, 1, 3, 13, 0}, + {"HB", 2, 69, 2, "HBP18", 4, 13, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 70, 1, "HBP01", 1, 1, 6, 2, 3, 2, 10, 17, 6, 1, 16, 1}, + {"HB", 2, 70, 2, "HBP01", 1, 7, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 2, 71, 1, "HBP01", 2, 14, 6, 2, 3, 2, 10, 17, 6, 3, 16, 1}, + {"HB", 2, 71, 2, "HBP01", 2, 15, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 0, 1, "HBP01", 3, 5, 5, 1, 2, 5, 10, 17, 7, 6, 16, 0}, + {"HB", 3, 0, 2, "HBP01", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 1, 1, "HBP01", 4, 13, 5, 1, 2, 5, 10, 17, 7, 8, 16, 0}, + {"HB", 3, 1, 2, "HBP01", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 2, 1, "HBP02", 1, 7, 5, 1, 2, 5, 4, 1, 0, 6, 13, 1}, + {"HB", 3, 2, 2, "HBP02", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 3, 1, "HBP02", 2, 15, 5, 1, 2, 5, 4, 1, 0, 8, 13, 1}, + {"HB", 3, 3, 2, "HBP02", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 4, 1, "HBP02", 3, 5, 5, 1, 2, 5, 4, 1, 1, 6, 13, 0}, + {"HB", 3, 4, 2, "HBP02", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 5, 1, "HBP02", 4, 13, 5, 1, 2, 5, 4, 1, 1, 8, 13, 0}, + {"HB", 3, 5, 2, "HBP02", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 6, 1, "HBP03", 1, 7, 5, 1, 2, 5, 4, 1, 6, 6, 16, 1}, + {"HB", 3, 6, 2, "HBP03", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 7, 1, "HBP03", 2, 15, 5, 1, 2, 5, 4, 1, 6, 8, 16, 1}, + {"HB", 3, 7, 2, "HBP03", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 8, 1, "HBP03", 3, 5, 5, 1, 2, 5, 4, 1, 7, 6, 16, 0}, + {"HB", 3, 8, 2, "HBP03", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 9, 1, "HBP03", 4, 13, 5, 1, 2, 5, 4, 1, 7, 8, 16, 0}, + {"HB", 3, 9, 2, "HBP03", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 10, 1, "HBP04", 1, 7, 5, 1, 2, 5, 0, 3, 0, 6, 13, 1}, + {"HB", 3, 10, 2, "HBP04", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 11, 1, "HBP04", 2, 15, 5, 1, 2, 5, 0, 3, 0, 8, 13, 1}, + {"HB", 3, 11, 2, "HBP04", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 12, 1, "HBP04", 3, 5, 5, 1, 2, 5, 0, 3, 1, 6, 13, 0}, + {"HB", 3, 12, 2, "HBP04", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 13, 1, "HBP04", 4, 13, 5, 1, 2, 5, 0, 3, 1, 8, 13, 0}, + {"HB", 3, 13, 2, "HBP04", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 14, 1, "HBP05", 1, 7, 5, 1, 2, 5, 0, 3, 6, 6, 16, 1}, + {"HB", 3, 14, 2, "HBP05", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 15, 1, "HBP05", 2, 15, 5, 1, 2, 5, 0, 3, 6, 8, 16, 1}, + {"HB", 3, 15, 2, "HBP05", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 16, 1, "HBP05", 3, 5, 5, 1, 2, 5, 0, 3, 7, 6, 16, 0}, + {"HB", 3, 16, 2, "HBP05", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 17, 1, "HBP05", 4, 13, 5, 1, 2, 5, 0, 3, 7, 8, 16, 0}, + {"HB", 3, 17, 2, "HBP05", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 18, 1, "HBP06", 1, 7, 5, 1, 2, 5, 1, 5, 0, 6, 13, 1}, + {"HB", 3, 18, 2, "HBP06", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 19, 1, "HBP06", 2, 15, 5, 1, 2, 5, 1, 5, 0, 8, 13, 1}, + {"HB", 3, 19, 2, "HBP06", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 20, 1, "HBP06", 3, 5, 5, 1, 2, 5, 1, 5, 1, 6, 13, 0}, + {"HB", 3, 20, 2, "HBP06", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 21, 1, "HBP06", 4, 13, 5, 1, 2, 5, 1, 5, 1, 8, 13, 0}, + {"HB", 3, 21, 2, "HBP06", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 22, 1, "HBP07", 1, 7, 5, 1, 2, 5, 1, 5, 6, 6, 16, 1}, + {"HB", 3, 22, 2, "HBP07", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 23, 1, "HBP07", 2, 15, 5, 1, 2, 5, 1, 5, 6, 8, 16, 1}, + {"HB", 3, 23, 2, "HBP07", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 24, 1, "HBP07", 3, 5, 5, 1, 2, 5, 1, 5, 7, 6, 16, 0}, + {"HB", 3, 24, 2, "HBP07", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 25, 1, "HBP07", 4, 13, 5, 1, 2, 5, 1, 5, 7, 8, 16, 0}, + {"HB", 3, 25, 2, "HBP07", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 26, 1, "HBP08", 1, 7, 5, 1, 2, 5, 5, 7, 0, 6, 13, 1}, + {"HB", 3, 26, 2, "HBP08", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 27, 1, "HBP08", 2, 15, 5, 1, 2, 5, 5, 7, 0, 8, 13, 1}, + {"HB", 3, 27, 2, "HBP08", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 28, 1, "HBP08", 3, 5, 5, 1, 2, 5, 5, 7, 1, 6, 13, 0}, + {"HB", 3, 28, 2, "HBP08", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 29, 1, "HBP08", 4, 13, 5, 1, 2, 5, 5, 7, 1, 8, 13, 0}, + {"HB", 3, 29, 2, "HBP08", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 30, 1, "HBP09", 1, 7, 5, 1, 2, 5, 5, 7, 6, 6, 16, 1}, + {"HB", 3, 30, 2, "HBP09", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 31, 1, "HBP09", 2, 15, 5, 1, 2, 5, 5, 7, 6, 8, 16, 1}, + {"HB", 3, 31, 2, "HBP09", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 32, 1, "HBP09", 3, 5, 5, 1, 2, 5, 5, 7, 7, 6, 16, 0}, + {"HB", 3, 32, 2, "HBP09", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 33, 1, "HBP09", 4, 13, 5, 1, 2, 5, 5, 7, 7, 8, 16, 0}, + {"HB", 3, 33, 2, "HBP09", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 34, 1, "HBP10", 1, 7, 5, 1, 2, 5, 11, 9, 0, 6, 13, 1}, + {"HB", 3, 34, 2, "HBP10", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 35, 1, "HBP10", 2, 15, 5, 1, 2, 5, 11, 9, 0, 8, 13, 1}, + {"HB", 3, 35, 2, "HBP10", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 36, 1, "HBP10", 3, 5, 5, 1, 2, 5, 11, 9, 1, 6, 13, 0}, + {"HB", 3, 36, 2, "HBP10", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 37, 1, "HBP10", 4, 13, 5, 1, 2, 5, 11, 9, 1, 8, 13, 0}, + {"HB", 3, 37, 2, "HBP10", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 38, 1, "HBP11", 1, 7, 5, 1, 2, 5, 11, 9, 6, 6, 16, 1}, + {"HB", 3, 38, 2, "HBP11", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 39, 1, "HBP11", 2, 15, 5, 1, 2, 5, 11, 9, 6, 8, 16, 1}, + {"HB", 3, 39, 2, "HBP11", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 40, 1, "HBP11", 3, 5, 5, 1, 2, 5, 11, 9, 7, 6, 16, 0}, + {"HB", 3, 40, 2, "HBP11", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 41, 1, "HBP11", 4, 13, 5, 1, 2, 5, 11, 9, 7, 8, 16, 0}, + {"HB", 3, 41, 2, "HBP11", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 42, 1, "HBP12", 1, 7, 5, 1, 2, 5, 15, 11, 0, 6, 13, 1}, + {"HB", 3, 42, 2, "HBP12", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 43, 1, "HBP12", 2, 15, 5, 1, 2, 5, 15, 11, 0, 8, 13, 1}, + {"HB", 3, 43, 2, "HBP12", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 44, 1, "HBP12", 3, 5, 5, 1, 2, 5, 15, 11, 1, 6, 13, 0}, + {"HB", 3, 44, 2, "HBP12", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 45, 1, "HBP12", 4, 13, 5, 1, 2, 5, 15, 11, 1, 8, 13, 0}, + {"HB", 3, 45, 2, "HBP12", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 46, 1, "HBP13", 1, 7, 5, 1, 2, 5, 15, 11, 6, 6, 16, 1}, + {"HB", 3, 46, 2, "HBP13", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 47, 1, "HBP13", 2, 15, 5, 1, 2, 5, 15, 11, 6, 8, 16, 1}, + {"HB", 3, 47, 2, "HBP13", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 48, 1, "HBP13", 3, 5, 5, 1, 2, 5, 15, 11, 7, 6, 16, 0}, + {"HB", 3, 48, 2, "HBP13", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 49, 1, "HBP13", 4, 13, 5, 1, 2, 5, 15, 11, 7, 8, 16, 0}, + {"HB", 3, 49, 2, "HBP13", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 50, 1, "HBP14", 1, 7, 5, 1, 2, 5, 17, 13, 0, 6, 13, 1}, + {"HB", 3, 50, 2, "HBP14", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 51, 1, "HBP14", 2, 15, 5, 1, 2, 5, 17, 13, 0, 8, 13, 1}, + {"HB", 3, 51, 2, "HBP14", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 52, 1, "HBP14", 3, 5, 5, 1, 2, 5, 17, 13, 1, 6, 13, 0}, + {"HB", 3, 52, 2, "HBP14", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 53, 1, "HBP14", 4, 13, 5, 1, 2, 5, 17, 13, 1, 8, 13, 0}, + {"HB", 3, 53, 2, "HBP14", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 54, 1, "HBP15", 1, 7, 5, 1, 2, 5, 17, 13, 6, 6, 16, 1}, + {"HB", 3, 54, 2, "HBP15", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 55, 1, "HBP15", 2, 15, 5, 1, 2, 5, 17, 13, 6, 8, 16, 1}, + {"HB", 3, 55, 2, "HBP15", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 56, 1, "HBP15", 3, 5, 5, 1, 2, 5, 17, 13, 7, 6, 16, 0}, + {"HB", 3, 56, 2, "HBP15", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 57, 1, "HBP15", 4, 13, 5, 1, 2, 5, 17, 13, 7, 8, 16, 0}, + {"HB", 3, 57, 2, "HBP15", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 58, 1, "HBP16", 1, 7, 5, 1, 2, 5, 14, 15, 0, 6, 13, 1}, + {"HB", 3, 58, 2, "HBP16", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 59, 1, "HBP16", 2, 15, 5, 1, 2, 5, 14, 15, 0, 8, 13, 1}, + {"HB", 3, 59, 2, "HBP16", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 60, 1, "HBP16", 3, 5, 5, 1, 2, 5, 14, 15, 1, 6, 13, 0}, + {"HB", 3, 60, 2, "HBP16", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 61, 1, "HBP16", 4, 13, 5, 1, 2, 5, 14, 15, 1, 8, 13, 0}, + {"HB", 3, 61, 2, "HBP16", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 62, 1, "HBP17", 1, 7, 5, 1, 2, 5, 14, 15, 6, 6, 16, 1}, + {"HB", 3, 62, 2, "HBP17", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 63, 1, "HBP17", 2, 15, 5, 1, 2, 5, 14, 15, 6, 8, 16, 1}, + {"HB", 3, 63, 2, "HBP17", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 64, 1, "HBP17", 3, 5, 5, 1, 2, 5, 14, 15, 7, 6, 16, 0}, + {"HB", 3, 64, 2, "HBP17", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 65, 1, "HBP17", 4, 13, 5, 1, 2, 5, 14, 15, 7, 8, 16, 0}, + {"HB", 3, 65, 2, "HBP17", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 66, 1, "HBP18", 1, 7, 5, 1, 2, 5, 10, 17, 0, 6, 13, 1}, + {"HB", 3, 66, 2, "HBP18", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 67, 1, "HBP18", 2, 15, 5, 1, 2, 5, 10, 17, 0, 8, 13, 1}, + {"HB", 3, 67, 2, "HBP18", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 68, 1, "HBP18", 3, 5, 5, 1, 2, 5, 10, 17, 1, 6, 13, 0}, + {"HB", 3, 68, 2, "HBP18", 3, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 69, 1, "HBP18", 4, 13, 5, 1, 2, 5, 10, 17, 1, 8, 13, 0}, + {"HB", 3, 69, 2, "HBP18", 4, 14, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 70, 1, "HBP01", 1, 7, 5, 1, 2, 5, 10, 17, 6, 6, 16, 1}, + {"HB", 3, 70, 2, "HBP01", 1, 6, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 3, 71, 1, "HBP01", 2, 15, 5, 1, 2, 5, 10, 17, 6, 8, 16, 1}, + {"HB", 3, 71, 2, "HBP01", 2, 16, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 0, 1, "HBP01", 3, 4, 7, 0, 3, 4, 10, 17, 7, 2, 16, 0}, + {"HB", 4, 0, 2, "HBP01", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 1, 1, "HBP01", 4, 14, 7, 0, 3, 4, 10, 17, 7, 4, 16, 0}, + {"HB", 4, 1, 2, "HBP01", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 2, 1, "HBP02", 1, 6, 7, 0, 3, 4, 4, 1, 0, 2, 13, 1}, + {"HB", 4, 2, 2, "HBP02", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 3, 1, "HBP02", 2, 16, 7, 0, 3, 4, 4, 1, 0, 4, 13, 1}, + {"HB", 4, 3, 2, "HBP02", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 4, 1, "HBP02", 3, 4, 7, 0, 3, 4, 4, 1, 1, 2, 13, 0}, + {"HB", 4, 4, 2, "HBP02", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 5, 1, "HBP02", 4, 14, 7, 0, 3, 4, 4, 1, 1, 4, 13, 0}, + {"HB", 4, 5, 2, "HBP02", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 6, 1, "HBP03", 1, 6, 7, 0, 3, 4, 4, 1, 6, 2, 16, 1}, + {"HB", 4, 6, 2, "HBP03", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 7, 1, "HBP03", 2, 16, 7, 0, 3, 4, 4, 1, 6, 4, 16, 1}, + {"HB", 4, 7, 2, "HBP03", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 8, 1, "HBP03", 3, 4, 7, 0, 3, 4, 4, 1, 7, 2, 16, 0}, + {"HB", 4, 8, 2, "HBP03", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 9, 1, "HBP03", 4, 14, 7, 0, 3, 4, 4, 1, 7, 4, 16, 0}, + {"HB", 4, 9, 2, "HBP03", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 10, 1, "HBP04", 1, 6, 7, 0, 3, 4, 0, 3, 0, 2, 13, 1}, + {"HB", 4, 10, 2, "HBP04", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 11, 1, "HBP04", 2, 16, 7, 0, 3, 4, 0, 3, 0, 4, 13, 1}, + {"HB", 4, 11, 2, "HBP04", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 12, 1, "HBP04", 3, 4, 7, 0, 3, 4, 0, 3, 1, 2, 13, 0}, + {"HB", 4, 12, 2, "HBP04", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 13, 1, "HBP04", 4, 14, 7, 0, 3, 4, 0, 3, 1, 4, 13, 0}, + {"HB", 4, 13, 2, "HBP04", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 14, 1, "HBP05", 1, 6, 7, 0, 3, 4, 0, 3, 6, 2, 16, 1}, + {"HB", 4, 14, 2, "HBP05", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 15, 1, "HBP05", 2, 16, 7, 0, 3, 4, 0, 3, 6, 4, 16, 1}, + {"HB", 4, 15, 2, "HBP05", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 16, 1, "HBP05", 3, 4, 7, 0, 3, 4, 0, 3, 7, 2, 16, 0}, + {"HB", 4, 16, 2, "HBP05", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 17, 1, "HBP05", 4, 14, 7, 0, 3, 4, 0, 3, 7, 4, 16, 0}, + {"HB", 4, 17, 2, "HBP05", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 18, 1, "HBP06", 1, 6, 7, 0, 3, 4, 1, 5, 0, 2, 13, 1}, + {"HB", 4, 18, 2, "HBP06", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 19, 1, "HBP06", 2, 16, 7, 0, 3, 4, 1, 5, 0, 4, 13, 1}, + {"HB", 4, 19, 2, "HBP06", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 20, 1, "HBP06", 3, 4, 7, 0, 3, 4, 1, 5, 1, 2, 13, 0}, + {"HB", 4, 20, 2, "HBP06", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 21, 1, "HBP06", 4, 14, 7, 0, 3, 4, 1, 5, 1, 4, 13, 0}, + {"HB", 4, 21, 2, "HBP06", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 22, 1, "HBP07", 1, 6, 7, 0, 3, 4, 1, 5, 6, 2, 16, 1}, + {"HB", 4, 22, 2, "HBP07", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 23, 1, "HBP07", 2, 16, 7, 0, 3, 4, 1, 5, 6, 4, 16, 1}, + {"HB", 4, 23, 2, "HBP07", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 24, 1, "HBP07", 3, 4, 7, 0, 3, 4, 1, 5, 7, 2, 16, 0}, + {"HB", 4, 24, 2, "HBP07", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 25, 1, "HBP07", 4, 14, 7, 0, 3, 4, 1, 5, 7, 4, 16, 0}, + {"HB", 4, 25, 2, "HBP07", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 26, 1, "HBP08", 1, 6, 7, 0, 3, 4, 5, 7, 0, 2, 13, 1}, + {"HB", 4, 26, 2, "HBP08", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 27, 1, "HBP08", 2, 16, 7, 0, 3, 4, 5, 7, 0, 4, 13, 1}, + {"HB", 4, 27, 2, "HBP08", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 28, 1, "HBP08", 3, 4, 7, 0, 3, 4, 5, 7, 1, 2, 13, 0}, + {"HB", 4, 28, 2, "HBP08", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 29, 1, "HBP08", 4, 14, 7, 0, 3, 4, 5, 7, 1, 4, 13, 0}, + {"HB", 4, 29, 2, "HBP08", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 30, 1, "HBP09", 1, 6, 7, 0, 3, 4, 5, 7, 6, 2, 16, 1}, + {"HB", 4, 30, 2, "HBP09", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 31, 1, "HBP09", 2, 16, 7, 0, 3, 4, 5, 7, 6, 4, 16, 1}, + {"HB", 4, 31, 2, "HBP09", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 32, 1, "HBP09", 3, 4, 7, 0, 3, 4, 5, 7, 7, 2, 16, 0}, + {"HB", 4, 32, 2, "HBP09", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 33, 1, "HBP09", 4, 14, 7, 0, 3, 4, 5, 7, 7, 4, 16, 0}, + {"HB", 4, 33, 2, "HBP09", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 34, 1, "HBP10", 1, 6, 7, 0, 3, 4, 11, 9, 0, 2, 13, 1}, + {"HB", 4, 34, 2, "HBP10", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 35, 1, "HBP10", 2, 16, 7, 0, 3, 4, 11, 9, 0, 4, 13, 1}, + {"HB", 4, 35, 2, "HBP10", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 36, 1, "HBP10", 3, 4, 7, 0, 3, 4, 11, 9, 1, 2, 13, 0}, + {"HB", 4, 36, 2, "HBP10", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 37, 1, "HBP10", 4, 14, 7, 0, 3, 4, 11, 9, 1, 4, 13, 0}, + {"HB", 4, 37, 2, "HBP10", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 38, 1, "HBP11", 1, 6, 7, 0, 3, 4, 11, 9, 6, 2, 16, 1}, + {"HB", 4, 38, 2, "HBP11", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 39, 1, "HBP11", 2, 16, 7, 0, 3, 4, 11, 9, 6, 4, 16, 1}, + {"HB", 4, 39, 2, "HBP11", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 40, 1, "HBP11", 3, 4, 7, 0, 3, 4, 11, 9, 7, 2, 16, 0}, + {"HB", 4, 40, 2, "HBP11", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 41, 1, "HBP11", 4, 14, 7, 0, 3, 4, 11, 9, 7, 4, 16, 0}, + {"HB", 4, 41, 2, "HBP11", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 42, 1, "HBP12", 1, 6, 7, 0, 3, 4, 15, 11, 0, 2, 13, 1}, + {"HB", 4, 42, 2, "HBP12", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 43, 1, "HBP12", 2, 16, 7, 0, 3, 4, 15, 11, 0, 4, 13, 1}, + {"HB", 4, 43, 2, "HBP12", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 44, 1, "HBP12", 3, 4, 7, 0, 3, 4, 15, 11, 1, 2, 13, 0}, + {"HB", 4, 44, 2, "HBP12", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 45, 1, "HBP12", 4, 14, 7, 0, 3, 4, 15, 11, 1, 4, 13, 0}, + {"HB", 4, 45, 2, "HBP12", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 46, 1, "HBP13", 1, 6, 7, 0, 3, 4, 15, 11, 6, 2, 16, 1}, + {"HB", 4, 46, 2, "HBP13", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 47, 1, "HBP13", 2, 16, 7, 0, 3, 4, 15, 11, 6, 4, 16, 1}, + {"HB", 4, 47, 2, "HBP13", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 48, 1, "HBP13", 3, 4, 7, 0, 3, 4, 15, 11, 7, 2, 16, 0}, + {"HB", 4, 48, 2, "HBP13", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 49, 1, "HBP13", 4, 14, 7, 0, 3, 4, 15, 11, 7, 4, 16, 0}, + {"HB", 4, 49, 2, "HBP13", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 50, 1, "HBP14", 1, 6, 7, 0, 3, 4, 17, 13, 0, 2, 13, 1}, + {"HB", 4, 50, 2, "HBP14", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 51, 1, "HBP14", 2, 16, 7, 0, 3, 4, 17, 13, 0, 4, 13, 1}, + {"HB", 4, 51, 2, "HBP14", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 52, 1, "HBP14", 3, 4, 7, 0, 3, 4, 17, 13, 1, 2, 13, 0}, + {"HB", 4, 52, 2, "HBP14", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 53, 1, "HBP14", 4, 14, 7, 0, 3, 4, 17, 13, 1, 4, 13, 0}, + {"HB", 4, 53, 2, "HBP14", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 54, 1, "HBP15", 1, 6, 7, 0, 3, 4, 17, 13, 6, 2, 16, 1}, + {"HB", 4, 54, 2, "HBP15", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 55, 1, "HBP15", 2, 16, 7, 0, 3, 4, 17, 13, 6, 4, 16, 1}, + {"HB", 4, 55, 2, "HBP15", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 56, 1, "HBP15", 3, 4, 7, 0, 3, 4, 17, 13, 7, 2, 16, 0}, + {"HB", 4, 56, 2, "HBP15", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 57, 1, "HBP15", 4, 14, 7, 0, 3, 4, 17, 13, 7, 4, 16, 0}, + {"HB", 4, 57, 2, "HBP15", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 58, 1, "HBP16", 1, 6, 7, 0, 3, 4, 14, 15, 0, 2, 13, 1}, + {"HB", 4, 58, 2, "HBP16", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 59, 1, "HBP16", 2, 16, 7, 0, 3, 4, 14, 15, 0, 4, 13, 1}, + {"HB", 4, 59, 2, "HBP16", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 60, 1, "HBP16", 3, 4, 7, 0, 3, 4, 14, 15, 1, 2, 13, 0}, + {"HB", 4, 60, 2, "HBP16", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 61, 1, "HBP16", 4, 14, 7, 0, 3, 4, 14, 15, 1, 4, 13, 0}, + {"HB", 4, 61, 2, "HBP16", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 62, 1, "HBP17", 1, 6, 7, 0, 3, 4, 14, 15, 6, 2, 16, 1}, + {"HB", 4, 62, 2, "HBP17", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 63, 1, "HBP17", 2, 16, 7, 0, 3, 4, 14, 15, 6, 4, 16, 1}, + {"HB", 4, 63, 2, "HBP17", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 64, 1, "HBP17", 3, 4, 7, 0, 3, 4, 14, 15, 7, 2, 16, 0}, + {"HB", 4, 64, 2, "HBP17", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 65, 1, "HBP17", 4, 14, 7, 0, 3, 4, 14, 15, 7, 4, 16, 0}, + {"HB", 4, 65, 2, "HBP17", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 66, 1, "HBP18", 1, 6, 7, 0, 3, 4, 10, 17, 0, 2, 13, 1}, + {"HB", 4, 66, 2, "HBP18", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 67, 1, "HBP18", 2, 16, 7, 0, 3, 4, 10, 17, 0, 4, 13, 1}, + {"HB", 4, 67, 2, "HBP18", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 68, 1, "HBP18", 3, 4, 7, 0, 3, 4, 10, 17, 1, 2, 13, 0}, + {"HB", 4, 68, 2, "HBP18", 3, 12, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 69, 1, "HBP18", 4, 14, 7, 0, 3, 4, 10, 17, 1, 4, 13, 0}, + {"HB", 4, 69, 2, "HBP18", 4, 15, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 70, 1, "HBP01", 1, 6, 7, 0, 3, 4, 10, 17, 6, 2, 16, 1}, + {"HB", 4, 70, 2, "HBP01", 1, 5, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 4, 71, 1, "HBP01", 2, 16, 7, 0, 3, 4, 10, 17, 6, 4, 16, 1}, + {"HB", 4, 71, 2, "HBP01", 2, 8, 4, 1, 2, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 0, 1, "HBP01", 3, 12, 4, 1, 2, 1, 10, 17, 7, 5, 16, 0}, + {"HB", 5, 0, 2, "HBP01", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 1, 1, "HBP01", 4, 15, 4, 1, 2, 1, 10, 17, 7, 7, 16, 0}, + {"HB", 5, 1, 2, "HBP01", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 2, 1, "HBP02", 1, 5, 4, 1, 2, 1, 4, 1, 0, 5, 13, 1}, + {"HB", 5, 2, 2, "HBP02", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 3, 1, "HBP02", 2, 8, 4, 1, 2, 1, 4, 1, 0, 7, 13, 1}, + {"HB", 5, 3, 2, "HBP02", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 4, 1, "HBP02", 3, 12, 4, 1, 2, 1, 4, 1, 1, 5, 13, 0}, + {"HB", 5, 4, 2, "HBP02", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 5, 1, "HBP02", 4, 15, 4, 1, 2, 1, 4, 1, 1, 7, 13, 0}, + {"HB", 5, 5, 2, "HBP02", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 6, 1, "HBP03", 1, 5, 4, 1, 2, 1, 4, 1, 6, 5, 16, 1}, + {"HB", 5, 6, 2, "HBP03", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 7, 1, "HBP03", 2, 8, 4, 1, 2, 1, 4, 1, 6, 7, 16, 1}, + {"HB", 5, 7, 2, "HBP03", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 8, 1, "HBP03", 3, 12, 4, 1, 2, 1, 4, 1, 7, 5, 16, 0}, + {"HB", 5, 8, 2, "HBP03", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 9, 1, "HBP03", 4, 15, 4, 1, 2, 1, 4, 1, 7, 7, 16, 0}, + {"HB", 5, 9, 2, "HBP03", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 10, 1, "HBP04", 1, 5, 4, 1, 2, 1, 0, 3, 0, 5, 13, 1}, + {"HB", 5, 10, 2, "HBP04", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 11, 1, "HBP04", 2, 8, 4, 1, 2, 1, 0, 3, 0, 7, 13, 1}, + {"HB", 5, 11, 2, "HBP04", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 12, 1, "HBP04", 3, 12, 4, 1, 2, 1, 0, 3, 1, 5, 13, 0}, + {"HB", 5, 12, 2, "HBP04", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 13, 1, "HBP04", 4, 15, 4, 1, 2, 1, 0, 3, 1, 7, 13, 0}, + {"HB", 5, 13, 2, "HBP04", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 14, 1, "HBP05", 1, 5, 4, 1, 2, 1, 0, 3, 6, 5, 16, 1}, + {"HB", 5, 14, 2, "HBP05", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 15, 1, "HBP05", 2, 8, 4, 1, 2, 1, 0, 3, 6, 7, 16, 1}, + {"HB", 5, 15, 2, "HBP05", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 16, 1, "HBP05", 3, 12, 4, 1, 2, 1, 0, 3, 7, 5, 16, 0}, + {"HB", 5, 16, 2, "HBP05", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 17, 1, "HBP05", 4, 15, 4, 1, 2, 1, 0, 3, 7, 7, 16, 0}, + {"HB", 5, 17, 2, "HBP05", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 18, 1, "HBP06", 1, 5, 4, 1, 2, 1, 1, 5, 0, 5, 13, 1}, + {"HB", 5, 18, 2, "HBP06", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 19, 1, "HBP06", 2, 8, 4, 1, 2, 1, 1, 5, 0, 7, 13, 1}, + {"HB", 5, 19, 2, "HBP06", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 20, 1, "HBP06", 3, 12, 4, 1, 2, 1, 1, 5, 1, 5, 13, 0}, + {"HB", 5, 20, 2, "HBP06", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 21, 1, "HBP06", 4, 15, 4, 1, 2, 1, 1, 5, 1, 7, 13, 0}, + {"HB", 5, 21, 2, "HBP06", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 22, 1, "HBP07", 1, 5, 4, 1, 2, 1, 1, 5, 6, 5, 16, 1}, + {"HB", 5, 22, 2, "HBP07", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 23, 1, "HBP07", 2, 8, 4, 1, 2, 1, 1, 5, 6, 7, 16, 1}, + {"HB", 5, 23, 2, "HBP07", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 24, 1, "HBP07", 3, 12, 4, 1, 2, 1, 1, 5, 7, 5, 16, 0}, + {"HB", 5, 24, 2, "HBP07", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 25, 1, "HBP07", 4, 15, 4, 1, 2, 1, 1, 5, 7, 7, 16, 0}, + {"HB", 5, 25, 2, "HBP07", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 26, 1, "HBP08", 1, 5, 4, 1, 2, 1, 5, 7, 0, 5, 13, 1}, + {"HB", 5, 26, 2, "HBP08", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 27, 1, "HBP08", 2, 8, 4, 1, 2, 1, 5, 7, 0, 7, 13, 1}, + {"HB", 5, 27, 2, "HBP08", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 28, 1, "HBP08", 3, 12, 4, 1, 2, 1, 5, 7, 1, 5, 13, 0}, + {"HB", 5, 28, 2, "HBP08", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 29, 1, "HBP08", 4, 15, 4, 1, 2, 1, 5, 7, 1, 7, 13, 0}, + {"HB", 5, 29, 2, "HBP08", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 30, 1, "HBP09", 1, 5, 4, 1, 2, 1, 5, 7, 6, 5, 16, 1}, + {"HB", 5, 30, 2, "HBP09", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 31, 1, "HBP09", 2, 8, 4, 1, 2, 1, 5, 7, 6, 7, 16, 1}, + {"HB", 5, 31, 2, "HBP09", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 32, 1, "HBP09", 3, 12, 4, 1, 2, 1, 5, 7, 7, 5, 16, 0}, + {"HB", 5, 32, 2, "HBP09", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 33, 1, "HBP09", 4, 15, 4, 1, 2, 1, 5, 7, 7, 7, 16, 0}, + {"HB", 5, 33, 2, "HBP09", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 34, 1, "HBP10", 1, 5, 4, 1, 2, 1, 11, 9, 0, 5, 13, 1}, + {"HB", 5, 34, 2, "HBP10", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 35, 1, "HBP10", 2, 8, 4, 1, 2, 1, 11, 9, 0, 7, 13, 1}, + {"HB", 5, 35, 2, "HBP10", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 36, 1, "HBP10", 3, 12, 4, 1, 2, 1, 11, 9, 1, 5, 13, 0}, + {"HB", 5, 36, 2, "HBP10", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 37, 1, "HBP10", 4, 15, 4, 1, 2, 1, 11, 9, 1, 7, 13, 0}, + {"HB", 5, 37, 2, "HBP10", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 38, 1, "HBP11", 1, 5, 4, 1, 2, 1, 11, 9, 6, 5, 16, 1}, + {"HB", 5, 38, 2, "HBP11", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 39, 1, "HBP11", 2, 8, 4, 1, 2, 1, 11, 9, 6, 7, 16, 1}, + {"HB", 5, 39, 2, "HBP11", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 40, 1, "HBP11", 3, 12, 4, 1, 2, 1, 11, 9, 7, 5, 16, 0}, + {"HB", 5, 40, 2, "HBP11", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 41, 1, "HBP11", 4, 15, 4, 1, 2, 1, 11, 9, 7, 7, 16, 0}, + {"HB", 5, 41, 2, "HBP11", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 42, 1, "HBP12", 1, 5, 4, 1, 2, 1, 15, 11, 0, 5, 13, 1}, + {"HB", 5, 42, 2, "HBP12", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 43, 1, "HBP12", 2, 8, 4, 1, 2, 1, 15, 11, 0, 7, 13, 1}, + {"HB", 5, 43, 2, "HBP12", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 44, 1, "HBP12", 3, 12, 4, 1, 2, 1, 15, 11, 1, 5, 13, 0}, + {"HB", 5, 44, 2, "HBP12", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 45, 1, "HBP12", 4, 15, 4, 1, 2, 1, 15, 11, 1, 7, 13, 0}, + {"HB", 5, 45, 2, "HBP12", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 46, 1, "HBP13", 1, 5, 4, 1, 2, 1, 15, 11, 6, 5, 16, 1}, + {"HB", 5, 46, 2, "HBP13", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 47, 1, "HBP13", 2, 8, 4, 1, 2, 1, 15, 11, 6, 7, 16, 1}, + {"HB", 5, 47, 2, "HBP13", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 48, 1, "HBP13", 3, 12, 4, 1, 2, 1, 15, 11, 7, 5, 16, 0}, + {"HB", 5, 48, 2, "HBP13", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 49, 1, "HBP13", 4, 15, 4, 1, 2, 1, 15, 11, 7, 7, 16, 0}, + {"HB", 5, 49, 2, "HBP13", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 50, 1, "HBP14", 1, 5, 4, 1, 2, 1, 17, 13, 0, 5, 13, 1}, + {"HB", 5, 50, 2, "HBP14", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 51, 1, "HBP14", 2, 8, 4, 1, 2, 1, 17, 13, 0, 7, 13, 1}, + {"HB", 5, 51, 2, "HBP14", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 52, 1, "HBP14", 3, 12, 4, 1, 2, 1, 17, 13, 1, 5, 13, 0}, + {"HB", 5, 52, 2, "HBP14", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 53, 1, "HBP14", 4, 15, 4, 1, 2, 1, 17, 13, 1, 7, 13, 0}, + {"HB", 5, 53, 2, "HBP14", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 54, 1, "HBP15", 1, 5, 4, 1, 2, 1, 17, 13, 6, 5, 16, 1}, + {"HB", 5, 54, 2, "HBP15", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 55, 1, "HBP15", 2, 8, 4, 1, 2, 1, 17, 13, 6, 7, 16, 1}, + {"HB", 5, 55, 2, "HBP15", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 56, 1, "HBP15", 3, 12, 4, 1, 2, 1, 17, 13, 7, 5, 16, 0}, + {"HB", 5, 56, 2, "HBP15", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 57, 1, "HBP15", 4, 15, 4, 1, 2, 1, 17, 13, 7, 7, 16, 0}, + {"HB", 5, 57, 2, "HBP15", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 58, 1, "HBP16", 1, 5, 4, 1, 2, 1, 14, 15, 0, 5, 13, 1}, + {"HB", 5, 58, 2, "HBP16", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 59, 1, "HBP16", 2, 8, 4, 1, 2, 1, 14, 15, 0, 7, 13, 1}, + {"HB", 5, 59, 2, "HBP16", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 60, 1, "HBP16", 3, 12, 4, 1, 2, 1, 14, 15, 1, 5, 13, 0}, + {"HB", 5, 60, 2, "HBP16", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 61, 1, "HBP16", 4, 15, 4, 1, 2, 1, 14, 15, 1, 7, 13, 0}, + {"HB", 5, 61, 2, "HBP16", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 62, 1, "HBP17", 1, 5, 4, 1, 2, 1, 14, 15, 6, 5, 16, 1}, + {"HB", 5, 62, 2, "HBP17", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 63, 1, "HBP17", 2, 8, 4, 1, 2, 1, 14, 15, 6, 7, 16, 1}, + {"HB", 5, 63, 2, "HBP17", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 64, 1, "HBP17", 3, 12, 4, 1, 2, 1, 14, 15, 7, 5, 16, 0}, + {"HB", 5, 64, 2, "HBP17", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 65, 1, "HBP17", 4, 15, 4, 1, 2, 1, 14, 15, 7, 7, 16, 0}, + {"HB", 5, 65, 2, "HBP17", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 66, 1, "HBP18", 1, 5, 4, 1, 2, 1, 10, 17, 0, 5, 13, 1}, + {"HB", 5, 66, 2, "HBP18", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 67, 1, "HBP18", 2, 8, 4, 1, 2, 1, 10, 17, 0, 7, 13, 1}, + {"HB", 5, 67, 2, "HBP18", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 68, 1, "HBP18", 3, 12, 4, 1, 2, 1, 10, 17, 1, 5, 13, 0}, + {"HB", 5, 68, 2, "HBP18", 3, 11, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 69, 1, "HBP18", 4, 15, 4, 1, 2, 1, 10, 17, 1, 7, 13, 0}, + {"HB", 5, 69, 2, "HBP18", 4, 16, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 70, 1, "HBP01", 1, 5, 4, 1, 2, 1, 10, 17, 6, 5, 16, 1}, + {"HB", 5, 70, 2, "HBP01", 1, 4, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 5, 71, 1, "HBP01", 2, 8, 4, 1, 2, 1, 10, 17, 6, 7, 16, 1}, + {"HB", 5, 71, 2, "HBP01", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 0, 1, "HBP01", 3, 11, 6, 1, 3, 1, 10, 17, 7, 1, 16, 0}, + {"HB", 6, 0, 2, "HBP01", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 1, 1, "HBP01", 4, 16, 6, 1, 3, 1, 10, 17, 7, 3, 16, 0}, + {"HB", 6, 1, 2, "HBP01", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 2, 1, "HBP02", 1, 4, 6, 1, 3, 1, 4, 1, 0, 1, 13, 1}, + {"HB", 6, 2, 2, "HBP02", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 3, 1, "HBP02", 2, 9, 6, 1, 3, 1, 4, 1, 0, 3, 13, 1}, + {"HB", 6, 3, 2, "HBP02", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 4, 1, "HBP02", 3, 11, 6, 1, 3, 1, 4, 1, 1, 1, 13, 0}, + {"HB", 6, 4, 2, "HBP02", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 5, 1, "HBP02", 4, 16, 6, 1, 3, 1, 4, 1, 1, 3, 13, 0}, + {"HB", 6, 5, 2, "HBP02", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 6, 1, "HBP03", 1, 4, 6, 1, 3, 1, 4, 1, 6, 1, 16, 1}, + {"HB", 6, 6, 2, "HBP03", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 7, 1, "HBP03", 2, 9, 6, 1, 3, 1, 4, 1, 6, 3, 16, 1}, + {"HB", 6, 7, 2, "HBP03", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 8, 1, "HBP03", 3, 11, 6, 1, 3, 1, 4, 1, 7, 1, 16, 0}, + {"HB", 6, 8, 2, "HBP03", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 9, 1, "HBP03", 4, 16, 6, 1, 3, 1, 4, 1, 7, 3, 16, 0}, + {"HB", 6, 9, 2, "HBP03", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 10, 1, "HBP04", 1, 4, 6, 1, 3, 1, 0, 3, 0, 1, 13, 1}, + {"HB", 6, 10, 2, "HBP04", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 11, 1, "HBP04", 2, 9, 6, 1, 3, 1, 0, 3, 0, 3, 13, 1}, + {"HB", 6, 11, 2, "HBP04", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 12, 1, "HBP04", 3, 11, 6, 1, 3, 1, 0, 3, 1, 1, 13, 0}, + {"HB", 6, 12, 2, "HBP04", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 13, 1, "HBP04", 4, 16, 6, 1, 3, 1, 0, 3, 1, 3, 13, 0}, + {"HB", 6, 13, 2, "HBP04", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 14, 1, "HBP05", 1, 4, 6, 1, 3, 1, 0, 3, 6, 1, 16, 1}, + {"HB", 6, 14, 2, "HBP05", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 15, 1, "HBP05", 2, 9, 6, 1, 3, 1, 0, 3, 6, 3, 16, 1}, + {"HB", 6, 15, 2, "HBP05", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 16, 1, "HBP05", 3, 11, 6, 1, 3, 1, 0, 3, 7, 1, 16, 0}, + {"HB", 6, 16, 2, "HBP05", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 17, 1, "HBP05", 4, 16, 6, 1, 3, 1, 0, 3, 7, 3, 16, 0}, + {"HB", 6, 17, 2, "HBP05", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 18, 1, "HBP06", 1, 4, 6, 1, 3, 1, 1, 5, 0, 1, 13, 1}, + {"HB", 6, 18, 2, "HBP06", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 19, 1, "HBP06", 2, 9, 6, 1, 3, 1, 1, 5, 0, 3, 13, 1}, + {"HB", 6, 19, 2, "HBP06", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 20, 1, "HBP06", 3, 11, 6, 1, 3, 1, 1, 5, 1, 1, 13, 0}, + {"HB", 6, 20, 2, "HBP06", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 21, 1, "HBP06", 4, 16, 6, 1, 3, 1, 1, 5, 1, 3, 13, 0}, + {"HB", 6, 21, 2, "HBP06", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 22, 1, "HBP07", 1, 4, 6, 1, 3, 1, 1, 5, 6, 1, 16, 1}, + {"HB", 6, 22, 2, "HBP07", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 23, 1, "HBP07", 2, 9, 6, 1, 3, 1, 1, 5, 6, 3, 16, 1}, + {"HB", 6, 23, 2, "HBP07", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 24, 1, "HBP07", 3, 11, 6, 1, 3, 1, 1, 5, 7, 1, 16, 0}, + {"HB", 6, 24, 2, "HBP07", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 25, 1, "HBP07", 4, 16, 6, 1, 3, 1, 1, 5, 7, 3, 16, 0}, + {"HB", 6, 25, 2, "HBP07", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 26, 1, "HBP08", 1, 4, 6, 1, 3, 1, 5, 7, 0, 1, 13, 1}, + {"HB", 6, 26, 2, "HBP08", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 27, 1, "HBP08", 2, 9, 6, 1, 3, 1, 5, 7, 0, 3, 13, 1}, + {"HB", 6, 27, 2, "HBP08", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 28, 1, "HBP08", 3, 11, 6, 1, 3, 1, 5, 7, 1, 1, 13, 0}, + {"HB", 6, 28, 2, "HBP08", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 29, 1, "HBP08", 4, 16, 6, 1, 3, 1, 5, 7, 1, 3, 13, 0}, + {"HB", 6, 29, 2, "HBP08", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 30, 1, "HBP09", 1, 4, 6, 1, 3, 1, 5, 7, 6, 1, 16, 1}, + {"HB", 6, 30, 2, "HBP09", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 31, 1, "HBP09", 2, 9, 6, 1, 3, 1, 5, 7, 6, 3, 16, 1}, + {"HB", 6, 31, 2, "HBP09", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 32, 1, "HBP09", 3, 11, 6, 1, 3, 1, 5, 7, 7, 1, 16, 0}, + {"HB", 6, 32, 2, "HBP09", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 33, 1, "HBP09", 4, 16, 6, 1, 3, 1, 5, 7, 7, 3, 16, 0}, + {"HB", 6, 33, 2, "HBP09", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 34, 1, "HBP10", 1, 4, 6, 1, 3, 1, 11, 9, 0, 1, 13, 1}, + {"HB", 6, 34, 2, "HBP10", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 35, 1, "HBP10", 2, 9, 6, 1, 3, 1, 11, 9, 0, 3, 13, 1}, + {"HB", 6, 35, 2, "HBP10", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 36, 1, "HBP10", 3, 11, 6, 1, 3, 1, 11, 9, 1, 1, 13, 0}, + {"HB", 6, 36, 2, "HBP10", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 37, 1, "HBP10", 4, 16, 6, 1, 3, 1, 11, 9, 1, 3, 13, 0}, + {"HB", 6, 37, 2, "HBP10", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 38, 1, "HBP11", 1, 4, 6, 1, 3, 1, 11, 9, 6, 1, 16, 1}, + {"HB", 6, 38, 2, "HBP11", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 39, 1, "HBP11", 2, 9, 6, 1, 3, 1, 11, 9, 6, 3, 16, 1}, + {"HB", 6, 39, 2, "HBP11", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 40, 1, "HBP11", 3, 11, 6, 1, 3, 1, 11, 9, 7, 1, 16, 0}, + {"HB", 6, 40, 2, "HBP11", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 41, 1, "HBP11", 4, 16, 6, 1, 3, 1, 11, 9, 7, 3, 16, 0}, + {"HB", 6, 41, 2, "HBP11", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 42, 1, "HBP12", 1, 4, 6, 1, 3, 1, 15, 11, 0, 1, 13, 1}, + {"HB", 6, 42, 2, "HBP12", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 43, 1, "HBP12", 2, 9, 6, 1, 3, 1, 15, 11, 0, 3, 13, 1}, + {"HB", 6, 43, 2, "HBP12", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 44, 1, "HBP12", 3, 11, 6, 1, 3, 1, 15, 11, 1, 1, 13, 0}, + {"HB", 6, 44, 2, "HBP12", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 45, 1, "HBP12", 4, 16, 6, 1, 3, 1, 15, 11, 1, 3, 13, 0}, + {"HB", 6, 45, 2, "HBP12", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 46, 1, "HBP13", 1, 4, 6, 1, 3, 1, 15, 11, 6, 1, 16, 1}, + {"HB", 6, 46, 2, "HBP13", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 47, 1, "HBP13", 2, 9, 6, 1, 3, 1, 15, 11, 6, 3, 16, 1}, + {"HB", 6, 47, 2, "HBP13", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 48, 1, "HBP13", 3, 11, 6, 1, 3, 1, 15, 11, 7, 1, 16, 0}, + {"HB", 6, 48, 2, "HBP13", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 49, 1, "HBP13", 4, 16, 6, 1, 3, 1, 15, 11, 7, 3, 16, 0}, + {"HB", 6, 49, 2, "HBP13", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 50, 1, "HBP14", 1, 4, 6, 1, 3, 1, 17, 13, 0, 1, 13, 1}, + {"HB", 6, 50, 2, "HBP14", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 51, 1, "HBP14", 2, 9, 6, 1, 3, 1, 17, 13, 0, 3, 13, 1}, + {"HB", 6, 51, 2, "HBP14", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 52, 1, "HBP14", 3, 11, 6, 1, 3, 1, 17, 13, 1, 1, 13, 0}, + {"HB", 6, 52, 2, "HBP14", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 53, 1, "HBP14", 4, 16, 6, 1, 3, 1, 17, 13, 1, 3, 13, 0}, + {"HB", 6, 53, 2, "HBP14", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 54, 1, "HBP15", 1, 4, 6, 1, 3, 1, 17, 13, 6, 1, 16, 1}, + {"HB", 6, 54, 2, "HBP15", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 55, 1, "HBP15", 2, 9, 6, 1, 3, 1, 17, 13, 6, 3, 16, 1}, + {"HB", 6, 55, 2, "HBP15", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 56, 1, "HBP15", 3, 11, 6, 1, 3, 1, 17, 13, 7, 1, 16, 0}, + {"HB", 6, 56, 2, "HBP15", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 57, 1, "HBP15", 4, 16, 6, 1, 3, 1, 17, 13, 7, 3, 16, 0}, + {"HB", 6, 57, 2, "HBP15", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 58, 1, "HBP16", 1, 4, 6, 1, 3, 1, 14, 15, 0, 1, 13, 1}, + {"HB", 6, 58, 2, "HBP16", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 59, 1, "HBP16", 2, 9, 6, 1, 3, 1, 14, 15, 0, 3, 13, 1}, + {"HB", 6, 59, 2, "HBP16", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 60, 1, "HBP16", 3, 11, 6, 1, 3, 1, 14, 15, 1, 1, 13, 0}, + {"HB", 6, 60, 2, "HBP16", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 61, 1, "HBP16", 4, 16, 6, 1, 3, 1, 14, 15, 1, 3, 13, 0}, + {"HB", 6, 61, 2, "HBP16", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 62, 1, "HBP17", 1, 4, 6, 1, 3, 1, 14, 15, 6, 1, 16, 1}, + {"HB", 6, 62, 2, "HBP17", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 63, 1, "HBP17", 2, 9, 6, 1, 3, 1, 14, 15, 6, 3, 16, 1}, + {"HB", 6, 63, 2, "HBP17", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 64, 1, "HBP17", 3, 11, 6, 1, 3, 1, 14, 15, 7, 1, 16, 0}, + {"HB", 6, 64, 2, "HBP17", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 65, 1, "HBP17", 4, 16, 6, 1, 3, 1, 14, 15, 7, 3, 16, 0}, + {"HB", 6, 65, 2, "HBP17", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 66, 1, "HBP18", 1, 4, 6, 1, 3, 1, 10, 17, 0, 1, 13, 1}, + {"HB", 6, 66, 2, "HBP18", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 67, 1, "HBP18", 2, 9, 6, 1, 3, 1, 10, 17, 0, 3, 13, 1}, + {"HB", 6, 67, 2, "HBP18", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 68, 1, "HBP18", 3, 11, 6, 1, 3, 1, 10, 17, 1, 1, 13, 0}, + {"HB", 6, 68, 2, "HBP18", 3, 9, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 69, 1, "HBP18", 4, 16, 6, 1, 3, 1, 10, 17, 1, 3, 13, 0}, + {"HB", 6, 69, 2, "HBP18", 4, 8, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 70, 1, "HBP01", 1, 4, 6, 1, 3, 1, 10, 17, 6, 1, 16, 1}, + {"HB", 6, 70, 2, "HBP01", 1, 12, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 6, 71, 1, "HBP01", 2, 9, 6, 1, 3, 1, 10, 17, 6, 3, 16, 1}, + {"HB", 6, 71, 2, "HBP01", 2, 11, 5, 0, 2, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 0, 1, "HBP01", 3, 9, 5, 0, 2, 4, 10, 17, 7, 6, 16, 0}, + {"HB", 7, 0, 2, "HBP01", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 1, 1, "HBP01", 4, 8, 5, 0, 2, 4, 10, 17, 7, 8, 16, 0}, + {"HB", 7, 1, 2, "HBP01", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 2, 1, "HBP02", 1, 12, 5, 0, 2, 4, 4, 1, 0, 6, 13, 1}, + {"HB", 7, 2, 2, "HBP02", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 3, 1, "HBP02", 2, 11, 5, 0, 2, 4, 4, 1, 0, 8, 13, 1}, + {"HB", 7, 3, 2, "HBP02", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 4, 1, "HBP02", 3, 9, 5, 0, 2, 4, 4, 1, 1, 6, 13, 0}, + {"HB", 7, 4, 2, "HBP02", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 5, 1, "HBP02", 4, 8, 5, 0, 2, 4, 4, 1, 1, 8, 13, 0}, + {"HB", 7, 5, 2, "HBP02", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 6, 1, "HBP03", 1, 12, 5, 0, 2, 4, 4, 1, 6, 6, 16, 1}, + {"HB", 7, 6, 2, "HBP03", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 7, 1, "HBP03", 2, 11, 5, 0, 2, 4, 4, 1, 6, 8, 16, 1}, + {"HB", 7, 7, 2, "HBP03", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 8, 1, "HBP03", 3, 9, 5, 0, 2, 4, 4, 1, 7, 6, 16, 0}, + {"HB", 7, 8, 2, "HBP03", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 9, 1, "HBP03", 4, 8, 5, 0, 2, 4, 4, 1, 7, 8, 16, 0}, + {"HB", 7, 9, 2, "HBP03", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 10, 1, "HBP04", 1, 12, 5, 0, 2, 4, 0, 3, 0, 6, 13, 1}, + {"HB", 7, 10, 2, "HBP04", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 11, 1, "HBP04", 2, 11, 5, 0, 2, 4, 0, 3, 0, 8, 13, 1}, + {"HB", 7, 11, 2, "HBP04", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 12, 1, "HBP04", 3, 9, 5, 0, 2, 4, 0, 3, 1, 6, 13, 0}, + {"HB", 7, 12, 2, "HBP04", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 13, 1, "HBP04", 4, 8, 5, 0, 2, 4, 0, 3, 1, 8, 13, 0}, + {"HB", 7, 13, 2, "HBP04", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 14, 1, "HBP05", 1, 12, 5, 0, 2, 4, 0, 3, 6, 6, 16, 1}, + {"HB", 7, 14, 2, "HBP05", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 15, 1, "HBP05", 2, 11, 5, 0, 2, 4, 0, 3, 6, 8, 16, 1}, + {"HB", 7, 15, 2, "HBP05", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 16, 1, "HBP05", 3, 9, 5, 0, 2, 4, 0, 3, 7, 6, 16, 0}, + {"HB", 7, 16, 2, "HBP05", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 17, 1, "HBP05", 4, 8, 5, 0, 2, 4, 0, 3, 7, 8, 16, 0}, + {"HB", 7, 17, 2, "HBP05", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 18, 1, "HBP06", 1, 12, 5, 0, 2, 4, 1, 5, 0, 6, 13, 1}, + {"HB", 7, 18, 2, "HBP06", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 19, 1, "HBP06", 2, 11, 5, 0, 2, 4, 1, 5, 0, 8, 13, 1}, + {"HB", 7, 19, 2, "HBP06", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 20, 1, "HBP06", 3, 9, 5, 0, 2, 4, 1, 5, 1, 6, 13, 0}, + {"HB", 7, 20, 2, "HBP06", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 21, 1, "HBP06", 4, 8, 5, 0, 2, 4, 1, 5, 1, 8, 13, 0}, + {"HB", 7, 21, 2, "HBP06", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 22, 1, "HBP07", 1, 12, 5, 0, 2, 4, 1, 5, 6, 6, 16, 1}, + {"HB", 7, 22, 2, "HBP07", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 23, 1, "HBP07", 2, 11, 5, 0, 2, 4, 1, 5, 6, 8, 16, 1}, + {"HB", 7, 23, 2, "HBP07", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 24, 1, "HBP07", 3, 9, 5, 0, 2, 4, 1, 5, 7, 6, 16, 0}, + {"HB", 7, 24, 2, "HBP07", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 25, 1, "HBP07", 4, 8, 5, 0, 2, 4, 1, 5, 7, 8, 16, 0}, + {"HB", 7, 25, 2, "HBP07", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 26, 1, "HBP08", 1, 12, 5, 0, 2, 4, 5, 7, 0, 6, 13, 1}, + {"HB", 7, 26, 2, "HBP08", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 27, 1, "HBP08", 2, 11, 5, 0, 2, 4, 5, 7, 0, 8, 13, 1}, + {"HB", 7, 27, 2, "HBP08", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 28, 1, "HBP08", 3, 9, 5, 0, 2, 4, 5, 7, 1, 6, 13, 0}, + {"HB", 7, 28, 2, "HBP08", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 29, 1, "HBP08", 4, 8, 5, 0, 2, 4, 5, 7, 1, 8, 13, 0}, + {"HB", 7, 29, 2, "HBP08", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 30, 1, "HBP09", 1, 12, 5, 0, 2, 4, 5, 7, 6, 6, 16, 1}, + {"HB", 7, 30, 2, "HBP09", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 31, 1, "HBP09", 2, 11, 5, 0, 2, 4, 5, 7, 6, 8, 16, 1}, + {"HB", 7, 31, 2, "HBP09", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 32, 1, "HBP09", 3, 9, 5, 0, 2, 4, 5, 7, 7, 6, 16, 0}, + {"HB", 7, 32, 2, "HBP09", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 33, 1, "HBP09", 4, 8, 5, 0, 2, 4, 5, 7, 7, 8, 16, 0}, + {"HB", 7, 33, 2, "HBP09", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 34, 1, "HBP10", 1, 12, 5, 0, 2, 4, 11, 9, 0, 6, 13, 1}, + {"HB", 7, 34, 2, "HBP10", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 35, 1, "HBP10", 2, 11, 5, 0, 2, 4, 11, 9, 0, 8, 13, 1}, + {"HB", 7, 35, 2, "HBP10", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 36, 1, "HBP10", 3, 9, 5, 0, 2, 4, 11, 9, 1, 6, 13, 0}, + {"HB", 7, 36, 2, "HBP10", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 37, 1, "HBP10", 4, 8, 5, 0, 2, 4, 11, 9, 1, 8, 13, 0}, + {"HB", 7, 37, 2, "HBP10", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 38, 1, "HBP11", 1, 12, 5, 0, 2, 4, 11, 9, 6, 6, 16, 1}, + {"HB", 7, 38, 2, "HBP11", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 39, 1, "HBP11", 2, 11, 5, 0, 2, 4, 11, 9, 6, 8, 16, 1}, + {"HB", 7, 39, 2, "HBP11", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 40, 1, "HBP11", 3, 9, 5, 0, 2, 4, 11, 9, 7, 6, 16, 0}, + {"HB", 7, 40, 2, "HBP11", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 41, 1, "HBP11", 4, 8, 5, 0, 2, 4, 11, 9, 7, 8, 16, 0}, + {"HB", 7, 41, 2, "HBP11", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 42, 1, "HBP12", 1, 12, 5, 0, 2, 4, 15, 11, 0, 6, 13, 1}, + {"HB", 7, 42, 2, "HBP12", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 43, 1, "HBP12", 2, 11, 5, 0, 2, 4, 15, 11, 0, 8, 13, 1}, + {"HB", 7, 43, 2, "HBP12", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 44, 1, "HBP12", 3, 9, 5, 0, 2, 4, 15, 11, 1, 6, 13, 0}, + {"HB", 7, 44, 2, "HBP12", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 45, 1, "HBP12", 4, 8, 5, 0, 2, 4, 15, 11, 1, 8, 13, 0}, + {"HB", 7, 45, 2, "HBP12", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 46, 1, "HBP13", 1, 12, 5, 0, 2, 4, 15, 11, 6, 6, 16, 1}, + {"HB", 7, 46, 2, "HBP13", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 47, 1, "HBP13", 2, 11, 5, 0, 2, 4, 15, 11, 6, 8, 16, 1}, + {"HB", 7, 47, 2, "HBP13", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 48, 1, "HBP13", 3, 9, 5, 0, 2, 4, 15, 11, 7, 6, 16, 0}, + {"HB", 7, 48, 2, "HBP13", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 49, 1, "HBP13", 4, 8, 5, 0, 2, 4, 15, 11, 7, 8, 16, 0}, + {"HB", 7, 49, 2, "HBP13", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 50, 1, "HBP14", 1, 12, 5, 0, 2, 4, 17, 13, 0, 6, 13, 1}, + {"HB", 7, 50, 2, "HBP14", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 51, 1, "HBP14", 2, 11, 5, 0, 2, 4, 17, 13, 0, 8, 13, 1}, + {"HB", 7, 51, 2, "HBP14", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 52, 1, "HBP14", 3, 9, 5, 0, 2, 4, 17, 13, 1, 6, 13, 0}, + {"HB", 7, 52, 2, "HBP14", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 53, 1, "HBP14", 4, 8, 5, 0, 2, 4, 17, 13, 1, 8, 13, 0}, + {"HB", 7, 53, 2, "HBP14", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 54, 1, "HBP15", 1, 12, 5, 0, 2, 4, 17, 13, 6, 6, 16, 1}, + {"HB", 7, 54, 2, "HBP15", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 55, 1, "HBP15", 2, 11, 5, 0, 2, 4, 17, 13, 6, 8, 16, 1}, + {"HB", 7, 55, 2, "HBP15", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 56, 1, "HBP15", 3, 9, 5, 0, 2, 4, 17, 13, 7, 6, 16, 0}, + {"HB", 7, 56, 2, "HBP15", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 57, 1, "HBP15", 4, 8, 5, 0, 2, 4, 17, 13, 7, 8, 16, 0}, + {"HB", 7, 57, 2, "HBP15", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 58, 1, "HBP16", 1, 12, 5, 0, 2, 4, 14, 15, 0, 6, 13, 1}, + {"HB", 7, 58, 2, "HBP16", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 59, 1, "HBP16", 2, 11, 5, 0, 2, 4, 14, 15, 0, 8, 13, 1}, + {"HB", 7, 59, 2, "HBP16", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 60, 1, "HBP16", 3, 9, 5, 0, 2, 4, 14, 15, 1, 6, 13, 0}, + {"HB", 7, 60, 2, "HBP16", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 61, 1, "HBP16", 4, 8, 5, 0, 2, 4, 14, 15, 1, 8, 13, 0}, + {"HB", 7, 61, 2, "HBP16", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 62, 1, "HBP17", 1, 12, 5, 0, 2, 4, 14, 15, 6, 6, 16, 1}, + {"HB", 7, 62, 2, "HBP17", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 63, 1, "HBP17", 2, 11, 5, 0, 2, 4, 14, 15, 6, 8, 16, 1}, + {"HB", 7, 63, 2, "HBP17", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 64, 1, "HBP17", 3, 9, 5, 0, 2, 4, 14, 15, 7, 6, 16, 0}, + {"HB", 7, 64, 2, "HBP17", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 65, 1, "HBP17", 4, 8, 5, 0, 2, 4, 14, 15, 7, 8, 16, 0}, + {"HB", 7, 65, 2, "HBP17", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 66, 1, "HBP18", 1, 12, 5, 0, 2, 4, 10, 17, 0, 6, 13, 1}, + {"HB", 7, 66, 2, "HBP18", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 67, 1, "HBP18", 2, 11, 5, 0, 2, 4, 10, 17, 0, 8, 13, 1}, + {"HB", 7, 67, 2, "HBP18", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 68, 1, "HBP18", 3, 9, 5, 0, 2, 4, 10, 17, 1, 6, 13, 0}, + {"HB", 7, 68, 2, "HBP18", 3, 8, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 69, 1, "HBP18", 4, 8, 5, 0, 2, 4, 10, 17, 1, 8, 13, 0}, + {"HB", 7, 69, 2, "HBP18", 4, 9, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 70, 1, "HBP01", 1, 12, 5, 0, 2, 4, 10, 17, 6, 6, 16, 1}, + {"HB", 7, 70, 2, "HBP01", 1, 11, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 7, 71, 1, "HBP01", 2, 11, 5, 0, 2, 4, 10, 17, 6, 8, 16, 1}, + {"HB", 7, 71, 2, "HBP01", 2, 12, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 0, 1, "HBP01", 3, 8, 7, 2, 3, 3, 10, 17, 7, 2, 16, 0}, + {"HB", 8, 0, 2, "HBP01", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 1, 1, "HBP01", 4, 9, 7, 2, 3, 3, 10, 17, 7, 4, 16, 0}, + {"HB", 8, 1, 2, "HBP01", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 2, 1, "HBP02", 1, 11, 7, 2, 3, 3, 4, 1, 0, 2, 13, 1}, + {"HB", 8, 2, 2, "HBP02", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 3, 1, "HBP02", 2, 12, 7, 2, 3, 3, 4, 1, 0, 4, 13, 1}, + {"HB", 8, 3, 2, "HBP02", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 4, 1, "HBP02", 3, 8, 7, 2, 3, 3, 4, 1, 1, 2, 13, 0}, + {"HB", 8, 4, 2, "HBP02", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 5, 1, "HBP02", 4, 9, 7, 2, 3, 3, 4, 1, 1, 4, 13, 0}, + {"HB", 8, 5, 2, "HBP02", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 6, 1, "HBP03", 1, 11, 7, 2, 3, 3, 4, 1, 6, 2, 16, 1}, + {"HB", 8, 6, 2, "HBP03", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 7, 1, "HBP03", 2, 12, 7, 2, 3, 3, 4, 1, 6, 4, 16, 1}, + {"HB", 8, 7, 2, "HBP03", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 8, 1, "HBP03", 3, 8, 7, 2, 3, 3, 4, 1, 7, 2, 16, 0}, + {"HB", 8, 8, 2, "HBP03", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 9, 1, "HBP03", 4, 9, 7, 2, 3, 3, 4, 1, 7, 4, 16, 0}, + {"HB", 8, 9, 2, "HBP03", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 10, 1, "HBP04", 1, 11, 7, 2, 3, 3, 0, 3, 0, 2, 13, 1}, + {"HB", 8, 10, 2, "HBP04", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 11, 1, "HBP04", 2, 12, 7, 2, 3, 3, 0, 3, 0, 4, 13, 1}, + {"HB", 8, 11, 2, "HBP04", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 12, 1, "HBP04", 3, 8, 7, 2, 3, 3, 0, 3, 1, 2, 13, 0}, + {"HB", 8, 12, 2, "HBP04", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 13, 1, "HBP04", 4, 9, 7, 2, 3, 3, 0, 3, 1, 4, 13, 0}, + {"HB", 8, 13, 2, "HBP04", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 14, 1, "HBP05", 1, 11, 7, 2, 3, 3, 0, 3, 6, 2, 16, 1}, + {"HB", 8, 14, 2, "HBP05", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 15, 1, "HBP05", 2, 12, 7, 2, 3, 3, 0, 3, 6, 4, 16, 1}, + {"HB", 8, 15, 2, "HBP05", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 16, 1, "HBP05", 3, 8, 7, 2, 3, 3, 0, 3, 7, 2, 16, 0}, + {"HB", 8, 16, 2, "HBP05", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 17, 1, "HBP05", 4, 9, 7, 2, 3, 3, 0, 3, 7, 4, 16, 0}, + {"HB", 8, 17, 2, "HBP05", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 18, 1, "HBP06", 1, 11, 7, 2, 3, 3, 1, 5, 0, 2, 13, 1}, + {"HB", 8, 18, 2, "HBP06", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 19, 1, "HBP06", 2, 12, 7, 2, 3, 3, 1, 5, 0, 4, 13, 1}, + {"HB", 8, 19, 2, "HBP06", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 20, 1, "HBP06", 3, 8, 7, 2, 3, 3, 1, 5, 1, 2, 13, 0}, + {"HB", 8, 20, 2, "HBP06", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 21, 1, "HBP06", 4, 9, 7, 2, 3, 3, 1, 5, 1, 4, 13, 0}, + {"HB", 8, 21, 2, "HBP06", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 22, 1, "HBP07", 1, 11, 7, 2, 3, 3, 1, 5, 6, 2, 16, 1}, + {"HB", 8, 22, 2, "HBP07", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 23, 1, "HBP07", 2, 12, 7, 2, 3, 3, 1, 5, 6, 4, 16, 1}, + {"HB", 8, 23, 2, "HBP07", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 24, 1, "HBP07", 3, 8, 7, 2, 3, 3, 1, 5, 7, 2, 16, 0}, + {"HB", 8, 24, 2, "HBP07", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 25, 1, "HBP07", 4, 9, 7, 2, 3, 3, 1, 5, 7, 4, 16, 0}, + {"HB", 8, 25, 2, "HBP07", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 26, 1, "HBP08", 1, 11, 7, 2, 3, 3, 5, 7, 0, 2, 13, 1}, + {"HB", 8, 26, 2, "HBP08", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 27, 1, "HBP08", 2, 12, 7, 2, 3, 3, 5, 7, 0, 4, 13, 1}, + {"HB", 8, 27, 2, "HBP08", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 28, 1, "HBP08", 3, 8, 7, 2, 3, 3, 5, 7, 1, 2, 13, 0}, + {"HB", 8, 28, 2, "HBP08", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 29, 1, "HBP08", 4, 9, 7, 2, 3, 3, 5, 7, 1, 4, 13, 0}, + {"HB", 8, 29, 2, "HBP08", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 30, 1, "HBP09", 1, 11, 7, 2, 3, 3, 5, 7, 6, 2, 16, 1}, + {"HB", 8, 30, 2, "HBP09", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 31, 1, "HBP09", 2, 12, 7, 2, 3, 3, 5, 7, 6, 4, 16, 1}, + {"HB", 8, 31, 2, "HBP09", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 32, 1, "HBP09", 3, 8, 7, 2, 3, 3, 5, 7, 7, 2, 16, 0}, + {"HB", 8, 32, 2, "HBP09", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 33, 1, "HBP09", 4, 9, 7, 2, 3, 3, 5, 7, 7, 4, 16, 0}, + {"HB", 8, 33, 2, "HBP09", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 34, 1, "HBP10", 1, 11, 7, 2, 3, 3, 11, 9, 0, 2, 13, 1}, + {"HB", 8, 34, 2, "HBP10", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 35, 1, "HBP10", 2, 12, 7, 2, 3, 3, 11, 9, 0, 4, 13, 1}, + {"HB", 8, 35, 2, "HBP10", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 36, 1, "HBP10", 3, 8, 7, 2, 3, 3, 11, 9, 1, 2, 13, 0}, + {"HB", 8, 36, 2, "HBP10", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 37, 1, "HBP10", 4, 9, 7, 2, 3, 3, 11, 9, 1, 4, 13, 0}, + {"HB", 8, 37, 2, "HBP10", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 38, 1, "HBP11", 1, 11, 7, 2, 3, 3, 11, 9, 6, 2, 16, 1}, + {"HB", 8, 38, 2, "HBP11", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 39, 1, "HBP11", 2, 12, 7, 2, 3, 3, 11, 9, 6, 4, 16, 1}, + {"HB", 8, 39, 2, "HBP11", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 40, 1, "HBP11", 3, 8, 7, 2, 3, 3, 11, 9, 7, 2, 16, 0}, + {"HB", 8, 40, 2, "HBP11", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 41, 1, "HBP11", 4, 9, 7, 2, 3, 3, 11, 9, 7, 4, 16, 0}, + {"HB", 8, 41, 2, "HBP11", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 42, 1, "HBP12", 1, 11, 7, 2, 3, 3, 15, 11, 0, 2, 13, 1}, + {"HB", 8, 42, 2, "HBP12", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 43, 1, "HBP12", 2, 12, 7, 2, 3, 3, 15, 11, 0, 4, 13, 1}, + {"HB", 8, 43, 2, "HBP12", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 44, 1, "HBP12", 3, 8, 7, 2, 3, 3, 15, 11, 1, 2, 13, 0}, + {"HB", 8, 44, 2, "HBP12", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 45, 1, "HBP12", 4, 9, 7, 2, 3, 3, 15, 11, 1, 4, 13, 0}, + {"HB", 8, 45, 2, "HBP12", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 46, 1, "HBP13", 1, 11, 7, 2, 3, 3, 15, 11, 6, 2, 16, 1}, + {"HB", 8, 46, 2, "HBP13", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 47, 1, "HBP13", 2, 12, 7, 2, 3, 3, 15, 11, 6, 4, 16, 1}, + {"HB", 8, 47, 2, "HBP13", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 48, 1, "HBP13", 3, 8, 7, 2, 3, 3, 15, 11, 7, 2, 16, 0}, + {"HB", 8, 48, 2, "HBP13", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 49, 1, "HBP13", 4, 9, 7, 2, 3, 3, 15, 11, 7, 4, 16, 0}, + {"HB", 8, 49, 2, "HBP13", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 50, 1, "HBP14", 1, 11, 7, 2, 3, 3, 17, 13, 0, 2, 13, 1}, + {"HB", 8, 50, 2, "HBP14", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 51, 1, "HBP14", 2, 12, 7, 2, 3, 3, 17, 13, 0, 4, 13, 1}, + {"HB", 8, 51, 2, "HBP14", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 52, 1, "HBP14", 3, 8, 7, 2, 3, 3, 17, 13, 1, 2, 13, 0}, + {"HB", 8, 52, 2, "HBP14", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 53, 1, "HBP14", 4, 9, 7, 2, 3, 3, 17, 13, 1, 4, 13, 0}, + {"HB", 8, 53, 2, "HBP14", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 54, 1, "HBP15", 1, 11, 7, 2, 3, 3, 17, 13, 6, 2, 16, 1}, + {"HB", 8, 54, 2, "HBP15", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 55, 1, "HBP15", 2, 12, 7, 2, 3, 3, 17, 13, 6, 4, 16, 1}, + {"HB", 8, 55, 2, "HBP15", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 56, 1, "HBP15", 3, 8, 7, 2, 3, 3, 17, 13, 7, 2, 16, 0}, + {"HB", 8, 56, 2, "HBP15", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 57, 1, "HBP15", 4, 9, 7, 2, 3, 3, 17, 13, 7, 4, 16, 0}, + {"HB", 8, 57, 2, "HBP15", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 58, 1, "HBP16", 1, 11, 7, 2, 3, 3, 14, 15, 0, 2, 13, 1}, + {"HB", 8, 58, 2, "HBP16", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 59, 1, "HBP16", 2, 12, 7, 2, 3, 3, 14, 15, 0, 4, 13, 1}, + {"HB", 8, 59, 2, "HBP16", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 60, 1, "HBP16", 3, 8, 7, 2, 3, 3, 14, 15, 1, 2, 13, 0}, + {"HB", 8, 60, 2, "HBP16", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 61, 1, "HBP16", 4, 9, 7, 2, 3, 3, 14, 15, 1, 4, 13, 0}, + {"HB", 8, 61, 2, "HBP16", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 62, 1, "HBP17", 1, 11, 7, 2, 3, 3, 14, 15, 6, 2, 16, 1}, + {"HB", 8, 62, 2, "HBP17", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 63, 1, "HBP17", 2, 12, 7, 2, 3, 3, 14, 15, 6, 4, 16, 1}, + {"HB", 8, 63, 2, "HBP17", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 64, 1, "HBP17", 3, 8, 7, 2, 3, 3, 14, 15, 7, 2, 16, 0}, + {"HB", 8, 64, 2, "HBP17", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 65, 1, "HBP17", 4, 9, 7, 2, 3, 3, 14, 15, 7, 4, 16, 0}, + {"HB", 8, 65, 2, "HBP17", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 66, 1, "HBP18", 1, 11, 7, 2, 3, 3, 10, 17, 0, 2, 13, 1}, + {"HB", 8, 66, 2, "HBP18", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 67, 1, "HBP18", 2, 12, 7, 2, 3, 3, 10, 17, 0, 4, 13, 1}, + {"HB", 8, 67, 2, "HBP18", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 68, 1, "HBP18", 3, 8, 7, 2, 3, 3, 10, 17, 1, 2, 13, 0}, + {"HB", 8, 68, 2, "HBP18", 3, 16, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 69, 1, "HBP18", 4, 9, 7, 2, 3, 3, 10, 17, 1, 4, 13, 0}, + {"HB", 8, 69, 2, "HBP18", 4, 11, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 70, 1, "HBP01", 1, 11, 7, 2, 3, 3, 10, 17, 6, 2, 16, 1}, + {"HB", 8, 70, 2, "HBP01", 1, 9, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 8, 71, 1, "HBP01", 2, 12, 7, 2, 3, 3, 10, 17, 6, 4, 16, 1}, + {"HB", 8, 71, 2, "HBP01", 2, 4, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 0, 1, "HBP01", 3, 16, 4, 0, 2, 0, 10, 17, 7, 5, 16, 0}, + {"HB", 9, 0, 2, "HBP01", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 1, 1, "HBP01", 4, 11, 4, 0, 2, 0, 10, 17, 7, 7, 16, 0}, + {"HB", 9, 1, 2, "HBP01", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 2, 1, "HBP02", 1, 9, 4, 0, 2, 0, 4, 1, 0, 5, 13, 1}, + {"HB", 9, 2, 2, "HBP02", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 3, 1, "HBP02", 2, 4, 4, 0, 2, 0, 4, 1, 0, 7, 13, 1}, + {"HB", 9, 3, 2, "HBP02", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 4, 1, "HBP02", 3, 16, 4, 0, 2, 0, 4, 1, 1, 5, 13, 0}, + {"HB", 9, 4, 2, "HBP02", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 5, 1, "HBP02", 4, 11, 4, 0, 2, 0, 4, 1, 1, 7, 13, 0}, + {"HB", 9, 5, 2, "HBP02", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 6, 1, "HBP03", 1, 9, 4, 0, 2, 0, 4, 1, 6, 5, 16, 1}, + {"HB", 9, 6, 2, "HBP03", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 7, 1, "HBP03", 2, 4, 4, 0, 2, 0, 4, 1, 6, 7, 16, 1}, + {"HB", 9, 7, 2, "HBP03", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 8, 1, "HBP03", 3, 16, 4, 0, 2, 0, 4, 1, 7, 5, 16, 0}, + {"HB", 9, 8, 2, "HBP03", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 9, 1, "HBP03", 4, 11, 4, 0, 2, 0, 4, 1, 7, 7, 16, 0}, + {"HB", 9, 9, 2, "HBP03", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 10, 1, "HBP04", 1, 9, 4, 0, 2, 0, 0, 3, 0, 5, 13, 1}, + {"HB", 9, 10, 2, "HBP04", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 11, 1, "HBP04", 2, 4, 4, 0, 2, 0, 0, 3, 0, 7, 13, 1}, + {"HB", 9, 11, 2, "HBP04", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 12, 1, "HBP04", 3, 16, 4, 0, 2, 0, 0, 3, 1, 5, 13, 0}, + {"HB", 9, 12, 2, "HBP04", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 13, 1, "HBP04", 4, 11, 4, 0, 2, 0, 0, 3, 1, 7, 13, 0}, + {"HB", 9, 13, 2, "HBP04", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 14, 1, "HBP05", 1, 9, 4, 0, 2, 0, 0, 3, 6, 5, 16, 1}, + {"HB", 9, 14, 2, "HBP05", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 15, 1, "HBP05", 2, 4, 4, 0, 2, 0, 0, 3, 6, 7, 16, 1}, + {"HB", 9, 15, 2, "HBP05", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 16, 1, "HBP05", 3, 16, 4, 0, 2, 0, 0, 3, 7, 5, 16, 0}, + {"HB", 9, 16, 2, "HBP05", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 17, 1, "HBP05", 4, 11, 4, 0, 2, 0, 0, 3, 7, 7, 16, 0}, + {"HB", 9, 17, 2, "HBP05", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 18, 1, "HBP06", 1, 9, 4, 0, 2, 0, 1, 5, 0, 5, 13, 1}, + {"HB", 9, 18, 2, "HBP06", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 19, 1, "HBP06", 2, 4, 4, 0, 2, 0, 1, 5, 0, 7, 13, 1}, + {"HB", 9, 19, 2, "HBP06", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 20, 1, "HBP06", 3, 16, 4, 0, 2, 0, 1, 5, 1, 5, 13, 0}, + {"HB", 9, 20, 2, "HBP06", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 21, 1, "HBP06", 4, 11, 4, 0, 2, 0, 1, 5, 1, 7, 13, 0}, + {"HB", 9, 21, 2, "HBP06", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 22, 1, "HBP07", 1, 9, 4, 0, 2, 0, 1, 5, 6, 5, 16, 1}, + {"HB", 9, 22, 2, "HBP07", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 23, 1, "HBP07", 2, 4, 4, 0, 2, 0, 1, 5, 6, 7, 16, 1}, + {"HB", 9, 23, 2, "HBP07", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 24, 1, "HBP07", 3, 16, 4, 0, 2, 0, 1, 5, 7, 5, 16, 0}, + {"HB", 9, 24, 2, "HBP07", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 25, 1, "HBP07", 4, 11, 4, 0, 2, 0, 1, 5, 7, 7, 16, 0}, + {"HB", 9, 25, 2, "HBP07", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 26, 1, "HBP08", 1, 9, 4, 0, 2, 0, 5, 7, 0, 5, 13, 1}, + {"HB", 9, 26, 2, "HBP08", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 27, 1, "HBP08", 2, 4, 4, 0, 2, 0, 5, 7, 0, 7, 13, 1}, + {"HB", 9, 27, 2, "HBP08", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 28, 1, "HBP08", 3, 16, 4, 0, 2, 0, 5, 7, 1, 5, 13, 0}, + {"HB", 9, 28, 2, "HBP08", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 29, 1, "HBP08", 4, 11, 4, 0, 2, 0, 5, 7, 1, 7, 13, 0}, + {"HB", 9, 29, 2, "HBP08", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 30, 1, "HBP09", 1, 9, 4, 0, 2, 0, 5, 7, 6, 5, 16, 1}, + {"HB", 9, 30, 2, "HBP09", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 31, 1, "HBP09", 2, 4, 4, 0, 2, 0, 5, 7, 6, 7, 16, 1}, + {"HB", 9, 31, 2, "HBP09", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 32, 1, "HBP09", 3, 16, 4, 0, 2, 0, 5, 7, 7, 5, 16, 0}, + {"HB", 9, 32, 2, "HBP09", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 33, 1, "HBP09", 4, 11, 4, 0, 2, 0, 5, 7, 7, 7, 16, 0}, + {"HB", 9, 33, 2, "HBP09", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 34, 1, "HBP10", 1, 9, 4, 0, 2, 0, 11, 9, 0, 5, 13, 1}, + {"HB", 9, 34, 2, "HBP10", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 35, 1, "HBP10", 2, 4, 4, 0, 2, 0, 11, 9, 0, 7, 13, 1}, + {"HB", 9, 35, 2, "HBP10", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 36, 1, "HBP10", 3, 16, 4, 0, 2, 0, 11, 9, 1, 5, 13, 0}, + {"HB", 9, 36, 2, "HBP10", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 37, 1, "HBP10", 4, 11, 4, 0, 2, 0, 11, 9, 1, 7, 13, 0}, + {"HB", 9, 37, 2, "HBP10", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 38, 1, "HBP11", 1, 9, 4, 0, 2, 0, 11, 9, 6, 5, 16, 1}, + {"HB", 9, 38, 2, "HBP11", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 39, 1, "HBP11", 2, 4, 4, 0, 2, 0, 11, 9, 6, 7, 16, 1}, + {"HB", 9, 39, 2, "HBP11", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 40, 1, "HBP11", 3, 16, 4, 0, 2, 0, 11, 9, 7, 5, 16, 0}, + {"HB", 9, 40, 2, "HBP11", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 41, 1, "HBP11", 4, 11, 4, 0, 2, 0, 11, 9, 7, 7, 16, 0}, + {"HB", 9, 41, 2, "HBP11", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 42, 1, "HBP12", 1, 9, 4, 0, 2, 0, 15, 11, 0, 5, 13, 1}, + {"HB", 9, 42, 2, "HBP12", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 43, 1, "HBP12", 2, 4, 4, 0, 2, 0, 15, 11, 0, 7, 13, 1}, + {"HB", 9, 43, 2, "HBP12", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 44, 1, "HBP12", 3, 16, 4, 0, 2, 0, 15, 11, 1, 5, 13, 0}, + {"HB", 9, 44, 2, "HBP12", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 45, 1, "HBP12", 4, 11, 4, 0, 2, 0, 15, 11, 1, 7, 13, 0}, + {"HB", 9, 45, 2, "HBP12", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 46, 1, "HBP13", 1, 9, 4, 0, 2, 0, 15, 11, 6, 5, 16, 1}, + {"HB", 9, 46, 2, "HBP13", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 47, 1, "HBP13", 2, 4, 4, 0, 2, 0, 15, 11, 6, 7, 16, 1}, + {"HB", 9, 47, 2, "HBP13", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 48, 1, "HBP13", 3, 16, 4, 0, 2, 0, 15, 11, 7, 5, 16, 0}, + {"HB", 9, 48, 2, "HBP13", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 49, 1, "HBP13", 4, 11, 4, 0, 2, 0, 15, 11, 7, 7, 16, 0}, + {"HB", 9, 49, 2, "HBP13", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 50, 1, "HBP14", 1, 9, 4, 0, 2, 0, 17, 13, 0, 5, 13, 1}, + {"HB", 9, 50, 2, "HBP14", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 51, 1, "HBP14", 2, 4, 4, 0, 2, 0, 17, 13, 0, 7, 13, 1}, + {"HB", 9, 51, 2, "HBP14", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 52, 1, "HBP14", 3, 16, 4, 0, 2, 0, 17, 13, 1, 5, 13, 0}, + {"HB", 9, 52, 2, "HBP14", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 53, 1, "HBP14", 4, 11, 4, 0, 2, 0, 17, 13, 1, 7, 13, 0}, + {"HB", 9, 53, 2, "HBP14", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 54, 1, "HBP15", 1, 9, 4, 0, 2, 0, 17, 13, 6, 5, 16, 1}, + {"HB", 9, 54, 2, "HBP15", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 55, 1, "HBP15", 2, 4, 4, 0, 2, 0, 17, 13, 6, 7, 16, 1}, + {"HB", 9, 55, 2, "HBP15", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 56, 1, "HBP15", 3, 16, 4, 0, 2, 0, 17, 13, 7, 5, 16, 0}, + {"HB", 9, 56, 2, "HBP15", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 57, 1, "HBP15", 4, 11, 4, 0, 2, 0, 17, 13, 7, 7, 16, 0}, + {"HB", 9, 57, 2, "HBP15", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 58, 1, "HBP16", 1, 9, 4, 0, 2, 0, 14, 15, 0, 5, 13, 1}, + {"HB", 9, 58, 2, "HBP16", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 59, 1, "HBP16", 2, 4, 4, 0, 2, 0, 14, 15, 0, 7, 13, 1}, + {"HB", 9, 59, 2, "HBP16", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 60, 1, "HBP16", 3, 16, 4, 0, 2, 0, 14, 15, 1, 5, 13, 0}, + {"HB", 9, 60, 2, "HBP16", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 61, 1, "HBP16", 4, 11, 4, 0, 2, 0, 14, 15, 1, 7, 13, 0}, + {"HB", 9, 61, 2, "HBP16", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 62, 1, "HBP17", 1, 9, 4, 0, 2, 0, 14, 15, 6, 5, 16, 1}, + {"HB", 9, 62, 2, "HBP17", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 63, 1, "HBP17", 2, 4, 4, 0, 2, 0, 14, 15, 6, 7, 16, 1}, + {"HB", 9, 63, 2, "HBP17", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 64, 1, "HBP17", 3, 16, 4, 0, 2, 0, 14, 15, 7, 5, 16, 0}, + {"HB", 9, 64, 2, "HBP17", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 65, 1, "HBP17", 4, 11, 4, 0, 2, 0, 14, 15, 7, 7, 16, 0}, + {"HB", 9, 65, 2, "HBP17", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 66, 1, "HBP18", 1, 9, 4, 0, 2, 0, 10, 17, 0, 5, 13, 1}, + {"HB", 9, 66, 2, "HBP18", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 67, 1, "HBP18", 2, 4, 4, 0, 2, 0, 10, 17, 0, 7, 13, 1}, + {"HB", 9, 67, 2, "HBP18", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 68, 1, "HBP18", 3, 16, 4, 0, 2, 0, 10, 17, 1, 5, 13, 0}, + {"HB", 9, 68, 2, "HBP18", 3, 15, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 69, 1, "HBP18", 4, 11, 4, 0, 2, 0, 10, 17, 1, 7, 13, 0}, + {"HB", 9, 69, 2, "HBP18", 4, 12, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 70, 1, "HBP01", 1, 9, 4, 0, 2, 0, 10, 17, 6, 5, 16, 1}, + {"HB", 9, 70, 2, "HBP01", 1, 8, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 9, 71, 1, "HBP01", 2, 4, 4, 0, 2, 0, 10, 17, 6, 7, 16, 1}, + {"HB", 9, 71, 2, "HBP01", 2, 5, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 0, 1, "HBP01", 3, 15, 6, 0, 3, 0, 10, 17, 7, 1, 16, 0}, + {"HB", 10, 0, 2, "HBP01", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 1, 1, "HBP01", 4, 12, 6, 0, 3, 0, 10, 17, 7, 3, 16, 0}, + {"HB", 10, 1, 2, "HBP01", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 2, 1, "HBP02", 1, 8, 6, 0, 3, 0, 4, 1, 0, 1, 13, 1}, + {"HB", 10, 2, 2, "HBP02", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 3, 1, "HBP02", 2, 5, 6, 0, 3, 0, 4, 1, 0, 3, 13, 1}, + {"HB", 10, 3, 2, "HBP02", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 4, 1, "HBP02", 3, 15, 6, 0, 3, 0, 4, 1, 1, 1, 13, 0}, + {"HB", 10, 4, 2, "HBP02", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 5, 1, "HBP02", 4, 12, 6, 0, 3, 0, 4, 1, 1, 3, 13, 0}, + {"HB", 10, 5, 2, "HBP02", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 6, 1, "HBP03", 1, 8, 6, 0, 3, 0, 4, 1, 6, 1, 16, 1}, + {"HB", 10, 6, 2, "HBP03", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 7, 1, "HBP03", 2, 5, 6, 0, 3, 0, 4, 1, 6, 3, 16, 1}, + {"HB", 10, 7, 2, "HBP03", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 8, 1, "HBP03", 3, 15, 6, 0, 3, 0, 4, 1, 7, 1, 16, 0}, + {"HB", 10, 8, 2, "HBP03", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 9, 1, "HBP03", 4, 12, 6, 0, 3, 0, 4, 1, 7, 3, 16, 0}, + {"HB", 10, 9, 2, "HBP03", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 10, 1, "HBP04", 1, 8, 6, 0, 3, 0, 0, 3, 0, 1, 13, 1}, + {"HB", 10, 10, 2, "HBP04", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 11, 1, "HBP04", 2, 5, 6, 0, 3, 0, 0, 3, 0, 3, 13, 1}, + {"HB", 10, 11, 2, "HBP04", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 12, 1, "HBP04", 3, 15, 6, 0, 3, 0, 0, 3, 1, 1, 13, 0}, + {"HB", 10, 12, 2, "HBP04", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 13, 1, "HBP04", 4, 12, 6, 0, 3, 0, 0, 3, 1, 3, 13, 0}, + {"HB", 10, 13, 2, "HBP04", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 14, 1, "HBP05", 1, 8, 6, 0, 3, 0, 0, 3, 6, 1, 16, 1}, + {"HB", 10, 14, 2, "HBP05", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 15, 1, "HBP05", 2, 5, 6, 0, 3, 0, 0, 3, 6, 3, 16, 1}, + {"HB", 10, 15, 2, "HBP05", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 16, 1, "HBP05", 3, 15, 6, 0, 3, 0, 0, 3, 7, 1, 16, 0}, + {"HB", 10, 16, 2, "HBP05", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 17, 1, "HBP05", 4, 12, 6, 0, 3, 0, 0, 3, 7, 3, 16, 0}, + {"HB", 10, 17, 2, "HBP05", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 18, 1, "HBP06", 1, 8, 6, 0, 3, 0, 1, 5, 0, 1, 13, 1}, + {"HB", 10, 18, 2, "HBP06", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 19, 1, "HBP06", 2, 5, 6, 0, 3, 0, 1, 5, 0, 3, 13, 1}, + {"HB", 10, 19, 2, "HBP06", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 20, 1, "HBP06", 3, 15, 6, 0, 3, 0, 1, 5, 1, 1, 13, 0}, + {"HB", 10, 20, 2, "HBP06", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 21, 1, "HBP06", 4, 12, 6, 0, 3, 0, 1, 5, 1, 3, 13, 0}, + {"HB", 10, 21, 2, "HBP06", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 22, 1, "HBP07", 1, 8, 6, 0, 3, 0, 1, 5, 6, 1, 16, 1}, + {"HB", 10, 22, 2, "HBP07", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 23, 1, "HBP07", 2, 5, 6, 0, 3, 0, 1, 5, 6, 3, 16, 1}, + {"HB", 10, 23, 2, "HBP07", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 24, 1, "HBP07", 3, 15, 6, 0, 3, 0, 1, 5, 7, 1, 16, 0}, + {"HB", 10, 24, 2, "HBP07", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 25, 1, "HBP07", 4, 12, 6, 0, 3, 0, 1, 5, 7, 3, 16, 0}, + {"HB", 10, 25, 2, "HBP07", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 26, 1, "HBP08", 1, 8, 6, 0, 3, 0, 5, 7, 0, 1, 13, 1}, + {"HB", 10, 26, 2, "HBP08", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 27, 1, "HBP08", 2, 5, 6, 0, 3, 0, 5, 7, 0, 3, 13, 1}, + {"HB", 10, 27, 2, "HBP08", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 28, 1, "HBP08", 3, 15, 6, 0, 3, 0, 5, 7, 1, 1, 13, 0}, + {"HB", 10, 28, 2, "HBP08", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 29, 1, "HBP08", 4, 12, 6, 0, 3, 0, 5, 7, 1, 3, 13, 0}, + {"HB", 10, 29, 2, "HBP08", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 30, 1, "HBP09", 1, 8, 6, 0, 3, 0, 5, 7, 6, 1, 16, 1}, + {"HB", 10, 30, 2, "HBP09", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 31, 1, "HBP09", 2, 5, 6, 0, 3, 0, 5, 7, 6, 3, 16, 1}, + {"HB", 10, 31, 2, "HBP09", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 32, 1, "HBP09", 3, 15, 6, 0, 3, 0, 5, 7, 7, 1, 16, 0}, + {"HB", 10, 32, 2, "HBP09", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 33, 1, "HBP09", 4, 12, 6, 0, 3, 0, 5, 7, 7, 3, 16, 0}, + {"HB", 10, 33, 2, "HBP09", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 34, 1, "HBP10", 1, 8, 6, 0, 3, 0, 11, 9, 0, 1, 13, 1}, + {"HB", 10, 34, 2, "HBP10", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 35, 1, "HBP10", 2, 5, 6, 0, 3, 0, 11, 9, 0, 3, 13, 1}, + {"HB", 10, 35, 2, "HBP10", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 36, 1, "HBP10", 3, 15, 6, 0, 3, 0, 11, 9, 1, 1, 13, 0}, + {"HB", 10, 36, 2, "HBP10", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 37, 1, "HBP10", 4, 12, 6, 0, 3, 0, 11, 9, 1, 3, 13, 0}, + {"HB", 10, 37, 2, "HBP10", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 38, 1, "HBP11", 1, 8, 6, 0, 3, 0, 11, 9, 6, 1, 16, 1}, + {"HB", 10, 38, 2, "HBP11", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 39, 1, "HBP11", 2, 5, 6, 0, 3, 0, 11, 9, 6, 3, 16, 1}, + {"HB", 10, 39, 2, "HBP11", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 40, 1, "HBP11", 3, 15, 6, 0, 3, 0, 11, 9, 7, 1, 16, 0}, + {"HB", 10, 40, 2, "HBP11", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 41, 1, "HBP11", 4, 12, 6, 0, 3, 0, 11, 9, 7, 3, 16, 0}, + {"HB", 10, 41, 2, "HBP11", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 42, 1, "HBP12", 1, 8, 6, 0, 3, 0, 15, 11, 0, 1, 13, 1}, + {"HB", 10, 42, 2, "HBP12", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 43, 1, "HBP12", 2, 5, 6, 0, 3, 0, 15, 11, 0, 3, 13, 1}, + {"HB", 10, 43, 2, "HBP12", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 44, 1, "HBP12", 3, 15, 6, 0, 3, 0, 15, 11, 1, 1, 13, 0}, + {"HB", 10, 44, 2, "HBP12", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 45, 1, "HBP12", 4, 12, 6, 0, 3, 0, 15, 11, 1, 3, 13, 0}, + {"HB", 10, 45, 2, "HBP12", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 46, 1, "HBP13", 1, 8, 6, 0, 3, 0, 15, 11, 6, 1, 16, 1}, + {"HB", 10, 46, 2, "HBP13", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 47, 1, "HBP13", 2, 5, 6, 0, 3, 0, 15, 11, 6, 3, 16, 1}, + {"HB", 10, 47, 2, "HBP13", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 48, 1, "HBP13", 3, 15, 6, 0, 3, 0, 15, 11, 7, 1, 16, 0}, + {"HB", 10, 48, 2, "HBP13", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 49, 1, "HBP13", 4, 12, 6, 0, 3, 0, 15, 11, 7, 3, 16, 0}, + {"HB", 10, 49, 2, "HBP13", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 50, 1, "HBP14", 1, 8, 6, 0, 3, 0, 17, 13, 0, 1, 13, 1}, + {"HB", 10, 50, 2, "HBP14", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 51, 1, "HBP14", 2, 5, 6, 0, 3, 0, 17, 13, 0, 3, 13, 1}, + {"HB", 10, 51, 2, "HBP14", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 52, 1, "HBP14", 3, 15, 6, 0, 3, 0, 17, 13, 1, 1, 13, 0}, + {"HB", 10, 52, 2, "HBP14", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 53, 1, "HBP14", 4, 12, 6, 0, 3, 0, 17, 13, 1, 3, 13, 0}, + {"HB", 10, 53, 2, "HBP14", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 54, 1, "HBP15", 1, 8, 6, 0, 3, 0, 17, 13, 6, 1, 16, 1}, + {"HB", 10, 54, 2, "HBP15", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 55, 1, "HBP15", 2, 5, 6, 0, 3, 0, 17, 13, 6, 3, 16, 1}, + {"HB", 10, 55, 2, "HBP15", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 56, 1, "HBP15", 3, 15, 6, 0, 3, 0, 17, 13, 7, 1, 16, 0}, + {"HB", 10, 56, 2, "HBP15", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 57, 1, "HBP15", 4, 12, 6, 0, 3, 0, 17, 13, 7, 3, 16, 0}, + {"HB", 10, 57, 2, "HBP15", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 58, 1, "HBP16", 1, 8, 6, 0, 3, 0, 14, 15, 0, 1, 13, 1}, + {"HB", 10, 58, 2, "HBP16", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 59, 1, "HBP16", 2, 5, 6, 0, 3, 0, 14, 15, 0, 3, 13, 1}, + {"HB", 10, 59, 2, "HBP16", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 60, 1, "HBP16", 3, 15, 6, 0, 3, 0, 14, 15, 1, 1, 13, 0}, + {"HB", 10, 60, 2, "HBP16", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 61, 1, "HBP16", 4, 12, 6, 0, 3, 0, 14, 15, 1, 3, 13, 0}, + {"HB", 10, 61, 2, "HBP16", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 62, 1, "HBP17", 1, 8, 6, 0, 3, 0, 14, 15, 6, 1, 16, 1}, + {"HB", 10, 62, 2, "HBP17", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 63, 1, "HBP17", 2, 5, 6, 0, 3, 0, 14, 15, 6, 3, 16, 1}, + {"HB", 10, 63, 2, "HBP17", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 64, 1, "HBP17", 3, 15, 6, 0, 3, 0, 14, 15, 7, 1, 16, 0}, + {"HB", 10, 64, 2, "HBP17", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 65, 1, "HBP17", 4, 12, 6, 0, 3, 0, 14, 15, 7, 3, 16, 0}, + {"HB", 10, 65, 2, "HBP17", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 66, 1, "HBP18", 1, 8, 6, 0, 3, 0, 10, 17, 0, 1, 13, 1}, + {"HB", 10, 66, 2, "HBP18", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 67, 1, "HBP18", 2, 5, 6, 0, 3, 0, 10, 17, 0, 3, 13, 1}, + {"HB", 10, 67, 2, "HBP18", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 68, 1, "HBP18", 3, 15, 6, 0, 3, 0, 10, 17, 1, 1, 13, 0}, + {"HB", 10, 68, 2, "HBP18", 3, 14, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 69, 1, "HBP18", 4, 12, 6, 0, 3, 0, 10, 17, 1, 3, 13, 0}, + {"HB", 10, 69, 2, "HBP18", 4, 4, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 70, 1, "HBP01", 1, 8, 6, 0, 3, 0, 10, 17, 6, 1, 16, 1}, + {"HB", 10, 70, 2, "HBP01", 1, 16, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 10, 71, 1, "HBP01", 2, 5, 6, 0, 3, 0, 10, 17, 6, 3, 16, 1}, + {"HB", 10, 71, 2, "HBP01", 2, 6, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 0, 1, "HBP01", 3, 14, 5, 2, 2, 3, 10, 17, 7, 6, 16, 0}, + {"HB", 11, 0, 2, "HBP01", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 1, 1, "HBP01", 4, 4, 5, 2, 2, 3, 10, 17, 7, 8, 16, 0}, + {"HB", 11, 1, 2, "HBP01", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 2, 1, "HBP02", 1, 16, 5, 2, 2, 3, 4, 1, 0, 6, 13, 1}, + {"HB", 11, 2, 2, "HBP02", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 3, 1, "HBP02", 2, 6, 5, 2, 2, 3, 4, 1, 0, 8, 13, 1}, + {"HB", 11, 3, 2, "HBP02", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 4, 1, "HBP02", 3, 14, 5, 2, 2, 3, 4, 1, 1, 6, 13, 0}, + {"HB", 11, 4, 2, "HBP02", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 5, 1, "HBP02", 4, 4, 5, 2, 2, 3, 4, 1, 1, 8, 13, 0}, + {"HB", 11, 5, 2, "HBP02", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 6, 1, "HBP03", 1, 16, 5, 2, 2, 3, 4, 1, 6, 6, 16, 1}, + {"HB", 11, 6, 2, "HBP03", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 7, 1, "HBP03", 2, 6, 5, 2, 2, 3, 4, 1, 6, 8, 16, 1}, + {"HB", 11, 7, 2, "HBP03", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 8, 1, "HBP03", 3, 14, 5, 2, 2, 3, 4, 1, 7, 6, 16, 0}, + {"HB", 11, 8, 2, "HBP03", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 9, 1, "HBP03", 4, 4, 5, 2, 2, 3, 4, 1, 7, 8, 16, 0}, + {"HB", 11, 9, 2, "HBP03", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 10, 1, "HBP04", 1, 16, 5, 2, 2, 3, 0, 3, 0, 6, 13, 1}, + {"HB", 11, 10, 2, "HBP04", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 11, 1, "HBP04", 2, 6, 5, 2, 2, 3, 0, 3, 0, 8, 13, 1}, + {"HB", 11, 11, 2, "HBP04", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 12, 1, "HBP04", 3, 14, 5, 2, 2, 3, 0, 3, 1, 6, 13, 0}, + {"HB", 11, 12, 2, "HBP04", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 13, 1, "HBP04", 4, 4, 5, 2, 2, 3, 0, 3, 1, 8, 13, 0}, + {"HB", 11, 13, 2, "HBP04", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 14, 1, "HBP05", 1, 16, 5, 2, 2, 3, 0, 3, 6, 6, 16, 1}, + {"HB", 11, 14, 2, "HBP05", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 15, 1, "HBP05", 2, 6, 5, 2, 2, 3, 0, 3, 6, 8, 16, 1}, + {"HB", 11, 15, 2, "HBP05", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 16, 1, "HBP05", 3, 14, 5, 2, 2, 3, 0, 3, 7, 6, 16, 0}, + {"HB", 11, 16, 2, "HBP05", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 17, 1, "HBP05", 4, 4, 5, 2, 2, 3, 0, 3, 7, 8, 16, 0}, + {"HB", 11, 17, 2, "HBP05", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 18, 1, "HBP06", 1, 16, 5, 2, 2, 3, 1, 5, 0, 6, 13, 1}, + {"HB", 11, 18, 2, "HBP06", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 19, 1, "HBP06", 2, 6, 5, 2, 2, 3, 1, 5, 0, 8, 13, 1}, + {"HB", 11, 19, 2, "HBP06", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 20, 1, "HBP06", 3, 14, 5, 2, 2, 3, 1, 5, 1, 6, 13, 0}, + {"HB", 11, 20, 2, "HBP06", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 21, 1, "HBP06", 4, 4, 5, 2, 2, 3, 1, 5, 1, 8, 13, 0}, + {"HB", 11, 21, 2, "HBP06", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 22, 1, "HBP07", 1, 16, 5, 2, 2, 3, 1, 5, 6, 6, 16, 1}, + {"HB", 11, 22, 2, "HBP07", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 23, 1, "HBP07", 2, 6, 5, 2, 2, 3, 1, 5, 6, 8, 16, 1}, + {"HB", 11, 23, 2, "HBP07", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 24, 1, "HBP07", 3, 14, 5, 2, 2, 3, 1, 5, 7, 6, 16, 0}, + {"HB", 11, 24, 2, "HBP07", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 25, 1, "HBP07", 4, 4, 5, 2, 2, 3, 1, 5, 7, 8, 16, 0}, + {"HB", 11, 25, 2, "HBP07", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 26, 1, "HBP08", 1, 16, 5, 2, 2, 3, 5, 7, 0, 6, 13, 1}, + {"HB", 11, 26, 2, "HBP08", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 27, 1, "HBP08", 2, 6, 5, 2, 2, 3, 5, 7, 0, 8, 13, 1}, + {"HB", 11, 27, 2, "HBP08", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 28, 1, "HBP08", 3, 14, 5, 2, 2, 3, 5, 7, 1, 6, 13, 0}, + {"HB", 11, 28, 2, "HBP08", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 29, 1, "HBP08", 4, 4, 5, 2, 2, 3, 5, 7, 1, 8, 13, 0}, + {"HB", 11, 29, 2, "HBP08", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 30, 1, "HBP09", 1, 16, 5, 2, 2, 3, 5, 7, 6, 6, 16, 1}, + {"HB", 11, 30, 2, "HBP09", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 31, 1, "HBP09", 2, 6, 5, 2, 2, 3, 5, 7, 6, 8, 16, 1}, + {"HB", 11, 31, 2, "HBP09", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 32, 1, "HBP09", 3, 14, 5, 2, 2, 3, 5, 7, 7, 6, 16, 0}, + {"HB", 11, 32, 2, "HBP09", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 33, 1, "HBP09", 4, 4, 5, 2, 2, 3, 5, 7, 7, 8, 16, 0}, + {"HB", 11, 33, 2, "HBP09", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 34, 1, "HBP10", 1, 16, 5, 2, 2, 3, 11, 9, 0, 6, 13, 1}, + {"HB", 11, 34, 2, "HBP10", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 35, 1, "HBP10", 2, 6, 5, 2, 2, 3, 11, 9, 0, 8, 13, 1}, + {"HB", 11, 35, 2, "HBP10", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 36, 1, "HBP10", 3, 14, 5, 2, 2, 3, 11, 9, 1, 6, 13, 0}, + {"HB", 11, 36, 2, "HBP10", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 37, 1, "HBP10", 4, 4, 5, 2, 2, 3, 11, 9, 1, 8, 13, 0}, + {"HB", 11, 37, 2, "HBP10", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 38, 1, "HBP11", 1, 16, 5, 2, 2, 3, 11, 9, 6, 6, 16, 1}, + {"HB", 11, 38, 2, "HBP11", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 39, 1, "HBP11", 2, 6, 5, 2, 2, 3, 11, 9, 6, 8, 16, 1}, + {"HB", 11, 39, 2, "HBP11", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 40, 1, "HBP11", 3, 14, 5, 2, 2, 3, 11, 9, 7, 6, 16, 0}, + {"HB", 11, 40, 2, "HBP11", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 41, 1, "HBP11", 4, 4, 5, 2, 2, 3, 11, 9, 7, 8, 16, 0}, + {"HB", 11, 41, 2, "HBP11", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 42, 1, "HBP12", 1, 16, 5, 2, 2, 3, 15, 11, 0, 6, 13, 1}, + {"HB", 11, 42, 2, "HBP12", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 43, 1, "HBP12", 2, 6, 5, 2, 2, 3, 15, 11, 0, 8, 13, 1}, + {"HB", 11, 43, 2, "HBP12", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 44, 1, "HBP12", 3, 14, 5, 2, 2, 3, 15, 11, 1, 6, 13, 0}, + {"HB", 11, 44, 2, "HBP12", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 45, 1, "HBP12", 4, 4, 5, 2, 2, 3, 15, 11, 1, 8, 13, 0}, + {"HB", 11, 45, 2, "HBP12", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 46, 1, "HBP13", 1, 16, 5, 2, 2, 3, 15, 11, 6, 6, 16, 1}, + {"HB", 11, 46, 2, "HBP13", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 47, 1, "HBP13", 2, 6, 5, 2, 2, 3, 15, 11, 6, 8, 16, 1}, + {"HB", 11, 47, 2, "HBP13", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 48, 1, "HBP13", 3, 14, 5, 2, 2, 3, 15, 11, 7, 6, 16, 0}, + {"HB", 11, 48, 2, "HBP13", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 49, 1, "HBP13", 4, 4, 5, 2, 2, 3, 15, 11, 7, 8, 16, 0}, + {"HB", 11, 49, 2, "HBP13", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 50, 1, "HBP14", 1, 16, 5, 2, 2, 3, 17, 13, 0, 6, 13, 1}, + {"HB", 11, 50, 2, "HBP14", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 51, 1, "HBP14", 2, 6, 5, 2, 2, 3, 17, 13, 0, 8, 13, 1}, + {"HB", 11, 51, 2, "HBP14", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 52, 1, "HBP14", 3, 14, 5, 2, 2, 3, 17, 13, 1, 6, 13, 0}, + {"HB", 11, 52, 2, "HBP14", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 53, 1, "HBP14", 4, 4, 5, 2, 2, 3, 17, 13, 1, 8, 13, 0}, + {"HB", 11, 53, 2, "HBP14", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 54, 1, "HBP15", 1, 16, 5, 2, 2, 3, 17, 13, 6, 6, 16, 1}, + {"HB", 11, 54, 2, "HBP15", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 55, 1, "HBP15", 2, 6, 5, 2, 2, 3, 17, 13, 6, 8, 16, 1}, + {"HB", 11, 55, 2, "HBP15", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 56, 1, "HBP15", 3, 14, 5, 2, 2, 3, 17, 13, 7, 6, 16, 0}, + {"HB", 11, 56, 2, "HBP15", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 57, 1, "HBP15", 4, 4, 5, 2, 2, 3, 17, 13, 7, 8, 16, 0}, + {"HB", 11, 57, 2, "HBP15", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 58, 1, "HBP16", 1, 16, 5, 2, 2, 3, 14, 15, 0, 6, 13, 1}, + {"HB", 11, 58, 2, "HBP16", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 59, 1, "HBP16", 2, 6, 5, 2, 2, 3, 14, 15, 0, 8, 13, 1}, + {"HB", 11, 59, 2, "HBP16", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 60, 1, "HBP16", 3, 14, 5, 2, 2, 3, 14, 15, 1, 6, 13, 0}, + {"HB", 11, 60, 2, "HBP16", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 61, 1, "HBP16", 4, 4, 5, 2, 2, 3, 14, 15, 1, 8, 13, 0}, + {"HB", 11, 61, 2, "HBP16", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 62, 1, "HBP17", 1, 16, 5, 2, 2, 3, 14, 15, 6, 6, 16, 1}, + {"HB", 11, 62, 2, "HBP17", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 63, 1, "HBP17", 2, 6, 5, 2, 2, 3, 14, 15, 6, 8, 16, 1}, + {"HB", 11, 63, 2, "HBP17", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 64, 1, "HBP17", 3, 14, 5, 2, 2, 3, 14, 15, 7, 6, 16, 0}, + {"HB", 11, 64, 2, "HBP17", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 65, 1, "HBP17", 4, 4, 5, 2, 2, 3, 14, 15, 7, 8, 16, 0}, + {"HB", 11, 65, 2, "HBP17", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 66, 1, "HBP18", 1, 16, 5, 2, 2, 3, 10, 17, 0, 6, 13, 1}, + {"HB", 11, 66, 2, "HBP18", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 67, 1, "HBP18", 2, 6, 5, 2, 2, 3, 10, 17, 0, 8, 13, 1}, + {"HB", 11, 67, 2, "HBP18", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 68, 1, "HBP18", 3, 14, 5, 2, 2, 3, 10, 17, 1, 6, 13, 0}, + {"HB", 11, 68, 2, "HBP18", 3, 13, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 69, 1, "HBP18", 4, 4, 5, 2, 2, 3, 10, 17, 1, 8, 13, 0}, + {"HB", 11, 69, 2, "HBP18", 4, 5, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 70, 1, "HBP01", 1, 16, 5, 2, 2, 3, 10, 17, 6, 6, 16, 1}, + {"HB", 11, 70, 2, "HBP01", 1, 15, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 11, 71, 1, "HBP01", 2, 6, 5, 2, 2, 3, 10, 17, 6, 8, 16, 1}, + {"HB", 11, 71, 2, "HBP01", 2, 7, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 0, 1, "HBP01", 3, 13, 3, 1, 1, 5, 10, 17, 9, 2, 17, 0}, + {"HB", 12, 0, 2, "HBP01", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 1, 1, "HBP01", 4, 5, 3, 1, 1, 5, 10, 17, 9, 4, 17, 0}, + {"HB", 12, 1, 2, "HBP01", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 2, 1, "HBP02", 1, 15, 3, 1, 1, 5, 4, 1, 2, 2, 14, 1}, + {"HB", 12, 2, 2, "HBP02", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 3, 1, "HBP02", 2, 7, 3, 1, 1, 5, 4, 1, 2, 4, 14, 1}, + {"HB", 12, 3, 2, "HBP02", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 4, 1, "HBP02", 3, 13, 3, 1, 1, 5, 4, 1, 3, 2, 14, 0}, + {"HB", 12, 4, 2, "HBP02", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 5, 1, "HBP02", 4, 5, 3, 1, 1, 5, 4, 1, 3, 4, 14, 0}, + {"HB", 12, 5, 2, "HBP02", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 6, 1, "HBP03", 1, 15, 3, 1, 1, 5, 4, 1, 8, 2, 17, 1}, + {"HB", 12, 6, 2, "HBP03", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 7, 1, "HBP03", 2, 7, 3, 1, 1, 5, 4, 1, 8, 4, 17, 1}, + {"HB", 12, 7, 2, "HBP03", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 8, 1, "HBP03", 3, 13, 3, 1, 1, 5, 4, 1, 9, 2, 17, 0}, + {"HB", 12, 8, 2, "HBP03", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 9, 1, "HBP03", 4, 5, 3, 1, 1, 5, 4, 1, 9, 4, 17, 0}, + {"HB", 12, 9, 2, "HBP03", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 10, 1, "HBP04", 1, 15, 3, 1, 1, 5, 0, 3, 2, 2, 14, 1}, + {"HB", 12, 10, 2, "HBP04", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 11, 1, "HBP04", 2, 7, 3, 1, 1, 5, 0, 3, 2, 4, 14, 1}, + {"HB", 12, 11, 2, "HBP04", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 12, 1, "HBP04", 3, 13, 3, 1, 1, 5, 0, 3, 3, 2, 14, 0}, + {"HB", 12, 12, 2, "HBP04", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 13, 1, "HBP04", 4, 5, 3, 1, 1, 5, 0, 3, 3, 4, 14, 0}, + {"HB", 12, 13, 2, "HBP04", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 14, 1, "HBP05", 1, 15, 3, 1, 1, 5, 0, 3, 8, 2, 17, 1}, + {"HB", 12, 14, 2, "HBP05", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 15, 1, "HBP05", 2, 7, 3, 1, 1, 5, 0, 3, 8, 4, 17, 1}, + {"HB", 12, 15, 2, "HBP05", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 16, 1, "HBP05", 3, 13, 3, 1, 1, 5, 0, 3, 9, 2, 17, 0}, + {"HB", 12, 16, 2, "HBP05", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 17, 1, "HBP05", 4, 5, 3, 1, 1, 5, 0, 3, 9, 4, 17, 0}, + {"HB", 12, 17, 2, "HBP05", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 18, 1, "HBP06", 1, 15, 3, 1, 1, 5, 1, 5, 2, 2, 14, 1}, + {"HB", 12, 18, 2, "HBP06", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 19, 1, "HBP06", 2, 7, 3, 1, 1, 5, 1, 5, 2, 4, 14, 1}, + {"HB", 12, 19, 2, "HBP06", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 20, 1, "HBP06", 3, 13, 3, 1, 1, 5, 1, 5, 3, 2, 14, 0}, + {"HB", 12, 20, 2, "HBP06", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 21, 1, "HBP06", 4, 5, 3, 1, 1, 5, 1, 5, 3, 4, 14, 0}, + {"HB", 12, 21, 2, "HBP06", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 22, 1, "HBP07", 1, 15, 3, 1, 1, 5, 1, 5, 8, 2, 17, 1}, + {"HB", 12, 22, 2, "HBP07", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 23, 1, "HBP07", 2, 7, 3, 1, 1, 5, 1, 5, 8, 4, 17, 1}, + {"HB", 12, 23, 2, "HBP07", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 24, 1, "HBP07", 3, 13, 3, 1, 1, 5, 1, 5, 9, 2, 17, 0}, + {"HB", 12, 24, 2, "HBP07", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 25, 1, "HBP07", 4, 5, 3, 1, 1, 5, 1, 5, 9, 4, 17, 0}, + {"HB", 12, 25, 2, "HBP07", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 26, 1, "HBP08", 1, 15, 3, 1, 1, 5, 5, 7, 2, 2, 14, 1}, + {"HB", 12, 26, 2, "HBP08", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 27, 1, "HBP08", 2, 7, 3, 1, 1, 5, 5, 7, 2, 4, 14, 1}, + {"HB", 12, 27, 2, "HBP08", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 28, 1, "HBP08", 3, 13, 3, 1, 1, 5, 5, 7, 3, 2, 14, 0}, + {"HB", 12, 28, 2, "HBP08", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 29, 1, "HBP08", 4, 5, 3, 1, 1, 5, 5, 7, 3, 4, 14, 0}, + {"HB", 12, 29, 2, "HBP08", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 30, 1, "HBP09", 1, 15, 3, 1, 1, 5, 5, 7, 8, 2, 17, 1}, + {"HB", 12, 30, 2, "HBP09", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 31, 1, "HBP09", 2, 7, 3, 1, 1, 5, 5, 7, 8, 4, 17, 1}, + {"HB", 12, 31, 2, "HBP09", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 32, 1, "HBP09", 3, 13, 3, 1, 1, 5, 5, 7, 9, 2, 17, 0}, + {"HB", 12, 32, 2, "HBP09", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 33, 1, "HBP09", 4, 5, 3, 1, 1, 5, 5, 7, 9, 4, 17, 0}, + {"HB", 12, 33, 2, "HBP09", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 34, 1, "HBP10", 1, 15, 3, 1, 1, 5, 11, 9, 2, 2, 14, 1}, + {"HB", 12, 34, 2, "HBP10", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 35, 1, "HBP10", 2, 7, 3, 1, 1, 5, 11, 9, 2, 4, 14, 1}, + {"HB", 12, 35, 2, "HBP10", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 36, 1, "HBP10", 3, 13, 3, 1, 1, 5, 11, 9, 3, 2, 14, 0}, + {"HB", 12, 36, 2, "HBP10", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 37, 1, "HBP10", 4, 5, 3, 1, 1, 5, 11, 9, 3, 4, 14, 0}, + {"HB", 12, 37, 2, "HBP10", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 38, 1, "HBP11", 1, 15, 3, 1, 1, 5, 11, 9, 8, 2, 17, 1}, + {"HB", 12, 38, 2, "HBP11", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 39, 1, "HBP11", 2, 7, 3, 1, 1, 5, 11, 9, 8, 4, 17, 1}, + {"HB", 12, 39, 2, "HBP11", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 40, 1, "HBP11", 3, 13, 3, 1, 1, 5, 11, 9, 9, 2, 17, 0}, + {"HB", 12, 40, 2, "HBP11", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 41, 1, "HBP11", 4, 5, 3, 1, 1, 5, 11, 9, 9, 4, 17, 0}, + {"HB", 12, 41, 2, "HBP11", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 42, 1, "HBP12", 1, 15, 3, 1, 1, 5, 15, 11, 2, 2, 14, 1}, + {"HB", 12, 42, 2, "HBP12", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 43, 1, "HBP12", 2, 7, 3, 1, 1, 5, 15, 11, 2, 4, 14, 1}, + {"HB", 12, 43, 2, "HBP12", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 44, 1, "HBP12", 3, 13, 3, 1, 1, 5, 15, 11, 3, 2, 14, 0}, + {"HB", 12, 44, 2, "HBP12", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 45, 1, "HBP12", 4, 5, 3, 1, 1, 5, 15, 11, 3, 4, 14, 0}, + {"HB", 12, 45, 2, "HBP12", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 46, 1, "HBP13", 1, 15, 3, 1, 1, 5, 15, 11, 8, 2, 17, 1}, + {"HB", 12, 46, 2, "HBP13", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 47, 1, "HBP13", 2, 7, 3, 1, 1, 5, 15, 11, 8, 4, 17, 1}, + {"HB", 12, 47, 2, "HBP13", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 48, 1, "HBP13", 3, 13, 3, 1, 1, 5, 15, 11, 9, 2, 17, 0}, + {"HB", 12, 48, 2, "HBP13", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 49, 1, "HBP13", 4, 5, 3, 1, 1, 5, 15, 11, 9, 4, 17, 0}, + {"HB", 12, 49, 2, "HBP13", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 50, 1, "HBP14", 1, 15, 3, 1, 1, 5, 17, 13, 2, 2, 14, 1}, + {"HB", 12, 50, 2, "HBP14", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 51, 1, "HBP14", 2, 7, 3, 1, 1, 5, 17, 13, 2, 4, 14, 1}, + {"HB", 12, 51, 2, "HBP14", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 52, 1, "HBP14", 3, 13, 3, 1, 1, 5, 17, 13, 3, 2, 14, 0}, + {"HB", 12, 52, 2, "HBP14", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 53, 1, "HBP14", 4, 5, 3, 1, 1, 5, 17, 13, 3, 4, 14, 0}, + {"HB", 12, 53, 2, "HBP14", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 54, 1, "HBP15", 1, 15, 3, 1, 1, 5, 17, 13, 8, 2, 17, 1}, + {"HB", 12, 54, 2, "HBP15", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 55, 1, "HBP15", 2, 7, 3, 1, 1, 5, 17, 13, 8, 4, 17, 1}, + {"HB", 12, 55, 2, "HBP15", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 56, 1, "HBP15", 3, 13, 3, 1, 1, 5, 17, 13, 9, 2, 17, 0}, + {"HB", 12, 56, 2, "HBP15", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 57, 1, "HBP15", 4, 5, 3, 1, 1, 5, 17, 13, 9, 4, 17, 0}, + {"HB", 12, 57, 2, "HBP15", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 58, 1, "HBP16", 1, 15, 3, 1, 1, 5, 14, 15, 2, 2, 14, 1}, + {"HB", 12, 58, 2, "HBP16", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 59, 1, "HBP16", 2, 7, 3, 1, 1, 5, 14, 15, 2, 4, 14, 1}, + {"HB", 12, 59, 2, "HBP16", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 60, 1, "HBP16", 3, 13, 3, 1, 1, 5, 14, 15, 3, 2, 14, 0}, + {"HB", 12, 60, 2, "HBP16", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 61, 1, "HBP16", 4, 5, 3, 1, 1, 5, 14, 15, 3, 4, 14, 0}, + {"HB", 12, 61, 2, "HBP16", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 62, 1, "HBP17", 1, 15, 3, 1, 1, 5, 14, 15, 8, 2, 17, 1}, + {"HB", 12, 62, 2, "HBP17", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 63, 1, "HBP17", 2, 7, 3, 1, 1, 5, 14, 15, 8, 4, 17, 1}, + {"HB", 12, 63, 2, "HBP17", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 64, 1, "HBP17", 3, 13, 3, 1, 1, 5, 14, 15, 9, 2, 17, 0}, + {"HB", 12, 64, 2, "HBP17", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 65, 1, "HBP17", 4, 5, 3, 1, 1, 5, 14, 15, 9, 4, 17, 0}, + {"HB", 12, 65, 2, "HBP17", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 66, 1, "HBP18", 1, 15, 3, 1, 1, 5, 10, 17, 2, 2, 14, 1}, + {"HB", 12, 66, 2, "HBP18", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 67, 1, "HBP18", 2, 7, 3, 1, 1, 5, 10, 17, 2, 4, 14, 1}, + {"HB", 12, 67, 2, "HBP18", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 68, 1, "HBP18", 3, 13, 3, 1, 1, 5, 10, 17, 3, 2, 14, 0}, + {"HB", 12, 68, 2, "HBP18", 3, 19, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 69, 1, "HBP18", 4, 5, 3, 1, 1, 5, 10, 17, 3, 4, 14, 0}, + {"HB", 12, 69, 2, "HBP18", 4, 6, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 70, 1, "HBP01", 1, 15, 3, 1, 1, 5, 10, 17, 8, 2, 17, 1}, + {"HB", 12, 70, 2, "HBP01", 1, 14, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 12, 71, 1, "HBP01", 2, 7, 3, 1, 1, 5, 10, 17, 8, 4, 17, 1}, + {"HB", 12, 71, 2, "HBP01", 2, 1, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 0, 1, "HBP01", 3, 19, 2, 2, 1, 2, 10, 17, 9, 1, 17, 0}, + {"HB", 13, 0, 2, "HBP01", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 1, 1, "HBP01", 4, 6, 2, 2, 1, 2, 10, 17, 9, 3, 17, 0}, + {"HB", 13, 1, 2, "HBP01", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 2, 1, "HBP02", 1, 14, 2, 2, 1, 2, 4, 1, 2, 1, 14, 1}, + {"HB", 13, 2, 2, "HBP02", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 3, 1, "HBP02", 2, 1, 2, 2, 1, 2, 4, 1, 2, 3, 14, 1}, + {"HB", 13, 3, 2, "HBP02", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 4, 1, "HBP02", 3, 19, 2, 2, 1, 2, 4, 1, 3, 1, 14, 0}, + {"HB", 13, 4, 2, "HBP02", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 5, 1, "HBP02", 4, 6, 2, 2, 1, 2, 4, 1, 3, 3, 14, 0}, + {"HB", 13, 5, 2, "HBP02", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 6, 1, "HBP03", 1, 14, 2, 2, 1, 2, 4, 1, 8, 1, 17, 1}, + {"HB", 13, 6, 2, "HBP03", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 7, 1, "HBP03", 2, 1, 2, 2, 1, 2, 4, 1, 8, 3, 17, 1}, + {"HB", 13, 7, 2, "HBP03", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 8, 1, "HBP03", 3, 19, 2, 2, 1, 2, 4, 1, 9, 1, 17, 0}, + {"HB", 13, 8, 2, "HBP03", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 9, 1, "HBP03", 4, 6, 2, 2, 1, 2, 4, 1, 9, 3, 17, 0}, + {"HB", 13, 9, 2, "HBP03", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 10, 1, "HBP04", 1, 14, 2, 2, 1, 2, 0, 3, 2, 1, 14, 1}, + {"HB", 13, 10, 2, "HBP04", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 11, 1, "HBP04", 2, 1, 2, 2, 1, 2, 0, 3, 2, 3, 14, 1}, + {"HB", 13, 11, 2, "HBP04", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 12, 1, "HBP04", 3, 19, 2, 2, 1, 2, 0, 3, 3, 1, 14, 0}, + {"HB", 13, 12, 2, "HBP04", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 13, 1, "HBP04", 4, 6, 2, 2, 1, 2, 0, 3, 3, 3, 14, 0}, + {"HB", 13, 13, 2, "HBP04", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 14, 1, "HBP05", 1, 14, 2, 2, 1, 2, 0, 3, 8, 1, 17, 1}, + {"HB", 13, 14, 2, "HBP05", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 15, 1, "HBP05", 2, 1, 2, 2, 1, 2, 0, 3, 8, 3, 17, 1}, + {"HB", 13, 15, 2, "HBP05", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 16, 1, "HBP05", 3, 19, 2, 2, 1, 2, 0, 3, 9, 1, 17, 0}, + {"HB", 13, 16, 2, "HBP05", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 17, 1, "HBP05", 4, 6, 2, 2, 1, 2, 0, 3, 9, 3, 17, 0}, + {"HB", 13, 17, 2, "HBP05", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 18, 1, "HBP06", 1, 14, 2, 2, 1, 2, 1, 5, 2, 1, 14, 1}, + {"HB", 13, 18, 2, "HBP06", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 19, 1, "HBP06", 2, 1, 2, 2, 1, 2, 1, 5, 2, 3, 14, 1}, + {"HB", 13, 19, 2, "HBP06", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 20, 1, "HBP06", 3, 19, 2, 2, 1, 2, 1, 5, 3, 1, 14, 0}, + {"HB", 13, 20, 2, "HBP06", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 21, 1, "HBP06", 4, 6, 2, 2, 1, 2, 1, 5, 3, 3, 14, 0}, + {"HB", 13, 21, 2, "HBP06", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 22, 1, "HBP07", 1, 14, 2, 2, 1, 2, 1, 5, 8, 1, 17, 1}, + {"HB", 13, 22, 2, "HBP07", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 23, 1, "HBP07", 2, 1, 2, 2, 1, 2, 1, 5, 8, 3, 17, 1}, + {"HB", 13, 23, 2, "HBP07", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 24, 1, "HBP07", 3, 19, 2, 2, 1, 2, 1, 5, 9, 1, 17, 0}, + {"HB", 13, 24, 2, "HBP07", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 25, 1, "HBP07", 4, 6, 2, 2, 1, 2, 1, 5, 9, 3, 17, 0}, + {"HB", 13, 25, 2, "HBP07", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 26, 1, "HBP08", 1, 14, 2, 2, 1, 2, 5, 7, 2, 1, 14, 1}, + {"HB", 13, 26, 2, "HBP08", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 27, 1, "HBP08", 2, 1, 2, 2, 1, 2, 5, 7, 2, 3, 14, 1}, + {"HB", 13, 27, 2, "HBP08", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 28, 1, "HBP08", 3, 19, 2, 2, 1, 2, 5, 7, 3, 1, 14, 0}, + {"HB", 13, 28, 2, "HBP08", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 29, 1, "HBP08", 4, 6, 2, 2, 1, 2, 5, 7, 3, 3, 14, 0}, + {"HB", 13, 29, 2, "HBP08", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 30, 1, "HBP09", 1, 14, 2, 2, 1, 2, 5, 7, 8, 1, 17, 1}, + {"HB", 13, 30, 2, "HBP09", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 31, 1, "HBP09", 2, 1, 2, 2, 1, 2, 5, 7, 8, 3, 17, 1}, + {"HB", 13, 31, 2, "HBP09", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 32, 1, "HBP09", 3, 19, 2, 2, 1, 2, 5, 7, 9, 1, 17, 0}, + {"HB", 13, 32, 2, "HBP09", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 33, 1, "HBP09", 4, 6, 2, 2, 1, 2, 5, 7, 9, 3, 17, 0}, + {"HB", 13, 33, 2, "HBP09", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 34, 1, "HBP10", 1, 14, 2, 2, 1, 2, 11, 9, 2, 1, 14, 1}, + {"HB", 13, 34, 2, "HBP10", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 35, 1, "HBP10", 2, 1, 2, 2, 1, 2, 11, 9, 2, 3, 14, 1}, + {"HB", 13, 35, 2, "HBP10", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 36, 1, "HBP10", 3, 19, 2, 2, 1, 2, 11, 9, 3, 1, 14, 0}, + {"HB", 13, 36, 2, "HBP10", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 37, 1, "HBP10", 4, 6, 2, 2, 1, 2, 11, 9, 3, 3, 14, 0}, + {"HB", 13, 37, 2, "HBP10", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 38, 1, "HBP11", 1, 14, 2, 2, 1, 2, 11, 9, 8, 1, 17, 1}, + {"HB", 13, 38, 2, "HBP11", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 39, 1, "HBP11", 2, 1, 2, 2, 1, 2, 11, 9, 8, 3, 17, 1}, + {"HB", 13, 39, 2, "HBP11", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 40, 1, "HBP11", 3, 19, 2, 2, 1, 2, 11, 9, 9, 1, 17, 0}, + {"HB", 13, 40, 2, "HBP11", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 41, 1, "HBP11", 4, 6, 2, 2, 1, 2, 11, 9, 9, 3, 17, 0}, + {"HB", 13, 41, 2, "HBP11", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 42, 1, "HBP12", 1, 14, 2, 2, 1, 2, 15, 11, 2, 1, 14, 1}, + {"HB", 13, 42, 2, "HBP12", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 43, 1, "HBP12", 2, 1, 2, 2, 1, 2, 15, 11, 2, 3, 14, 1}, + {"HB", 13, 43, 2, "HBP12", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 44, 1, "HBP12", 3, 19, 2, 2, 1, 2, 15, 11, 3, 1, 14, 0}, + {"HB", 13, 44, 2, "HBP12", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 45, 1, "HBP12", 4, 6, 2, 2, 1, 2, 15, 11, 3, 3, 14, 0}, + {"HB", 13, 45, 2, "HBP12", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 46, 1, "HBP13", 1, 14, 2, 2, 1, 2, 15, 11, 8, 1, 17, 1}, + {"HB", 13, 46, 2, "HBP13", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 47, 1, "HBP13", 2, 1, 2, 2, 1, 2, 15, 11, 8, 3, 17, 1}, + {"HB", 13, 47, 2, "HBP13", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 48, 1, "HBP13", 3, 19, 2, 2, 1, 2, 15, 11, 9, 1, 17, 0}, + {"HB", 13, 48, 2, "HBP13", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 49, 1, "HBP13", 4, 6, 2, 2, 1, 2, 15, 11, 9, 3, 17, 0}, + {"HB", 13, 49, 2, "HBP13", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 50, 1, "HBP14", 1, 14, 2, 2, 1, 2, 17, 13, 2, 1, 14, 1}, + {"HB", 13, 50, 2, "HBP14", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 51, 1, "HBP14", 2, 1, 2, 2, 1, 2, 17, 13, 2, 3, 14, 1}, + {"HB", 13, 51, 2, "HBP14", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 52, 1, "HBP14", 3, 19, 2, 2, 1, 2, 17, 13, 3, 1, 14, 0}, + {"HB", 13, 52, 2, "HBP14", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 53, 1, "HBP14", 4, 6, 2, 2, 1, 2, 17, 13, 3, 3, 14, 0}, + {"HB", 13, 53, 2, "HBP14", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 54, 1, "HBP15", 1, 14, 2, 2, 1, 2, 17, 13, 8, 1, 17, 1}, + {"HB", 13, 54, 2, "HBP15", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 55, 1, "HBP15", 2, 1, 2, 2, 1, 2, 17, 13, 8, 3, 17, 1}, + {"HB", 13, 55, 2, "HBP15", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 56, 1, "HBP15", 3, 19, 2, 2, 1, 2, 17, 13, 9, 1, 17, 0}, + {"HB", 13, 56, 2, "HBP15", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 57, 1, "HBP15", 4, 6, 2, 2, 1, 2, 17, 13, 9, 3, 17, 0}, + {"HB", 13, 57, 2, "HBP15", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 58, 1, "HBP16", 1, 14, 2, 2, 1, 2, 14, 15, 2, 1, 14, 1}, + {"HB", 13, 58, 2, "HBP16", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 59, 1, "HBP16", 2, 1, 2, 2, 1, 2, 14, 15, 2, 3, 14, 1}, + {"HB", 13, 59, 2, "HBP16", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 60, 1, "HBP16", 3, 19, 2, 2, 1, 2, 14, 15, 3, 1, 14, 0}, + {"HB", 13, 60, 2, "HBP16", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 61, 1, "HBP16", 4, 6, 2, 2, 1, 2, 14, 15, 3, 3, 14, 0}, + {"HB", 13, 61, 2, "HBP16", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 62, 1, "HBP17", 1, 14, 2, 2, 1, 2, 14, 15, 8, 1, 17, 1}, + {"HB", 13, 62, 2, "HBP17", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 63, 1, "HBP17", 2, 1, 2, 2, 1, 2, 14, 15, 8, 3, 17, 1}, + {"HB", 13, 63, 2, "HBP17", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 64, 1, "HBP17", 3, 19, 2, 2, 1, 2, 14, 15, 9, 1, 17, 0}, + {"HB", 13, 64, 2, "HBP17", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 65, 1, "HBP17", 4, 6, 2, 2, 1, 2, 14, 15, 9, 3, 17, 0}, + {"HB", 13, 65, 2, "HBP17", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 66, 1, "HBP18", 1, 14, 2, 2, 1, 2, 10, 17, 2, 1, 14, 1}, + {"HB", 13, 66, 2, "HBP18", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 67, 1, "HBP18", 2, 1, 2, 2, 1, 2, 10, 17, 2, 3, 14, 1}, + {"HB", 13, 67, 2, "HBP18", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 68, 1, "HBP18", 3, 19, 2, 2, 1, 2, 10, 17, 3, 1, 14, 0}, + {"HB", 13, 68, 2, "HBP18", 3, 18, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 69, 1, "HBP18", 4, 6, 2, 2, 1, 2, 10, 17, 3, 3, 14, 0}, + {"HB", 13, 69, 2, "HBP18", 4, 1, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 70, 1, "HBP01", 1, 14, 2, 2, 1, 2, 10, 17, 8, 1, 17, 1}, + {"HB", 13, 70, 2, "HBP01", 1, 19, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 13, 71, 1, "HBP01", 2, 1, 2, 2, 1, 2, 10, 17, 8, 3, 17, 1}, + {"HB", 13, 71, 2, "HBP01", 2, 2, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HB", 14, 0, 1, "HBP01", 3, 18, 3, 0, 1, 4, 10, 17, 9, 2, 17, 0}, + {"HB", 14, 0, 2, "HBP01", 3, 17, 2, 1, 1, 1, 10, 17, 9, 1, 17, 0}, + {"HB", 14, 1, 1, "HBP01", 4, 1, 3, 0, 1, 4, 10, 17, 9, 4, 17, 0}, + {"HB", 14, 1, 2, "HBP01", 4, 7, 2, 1, 1, 1, 10, 17, 9, 3, 17, 0}, + {"HB", 14, 2, 1, "HBP02", 1, 19, 3, 0, 1, 4, 4, 1, 2, 2, 14, 1}, + {"HB", 14, 2, 2, "HBP02", 1, 13, 2, 1, 1, 1, 4, 1, 2, 1, 14, 1}, + {"HB", 14, 3, 1, "HBP02", 2, 2, 3, 0, 1, 4, 4, 1, 2, 4, 14, 1}, + {"HB", 14, 3, 2, "HBP02", 2, 3, 2, 1, 1, 1, 4, 1, 2, 3, 14, 1}, + {"HB", 14, 4, 1, "HBP02", 3, 18, 3, 0, 1, 4, 4, 1, 3, 2, 14, 0}, + {"HB", 14, 4, 2, "HBP02", 3, 17, 2, 1, 1, 1, 4, 1, 3, 1, 14, 0}, + {"HB", 14, 5, 1, "HBP02", 4, 1, 3, 0, 1, 4, 4, 1, 3, 4, 14, 0}, + {"HB", 14, 5, 2, "HBP02", 4, 7, 2, 1, 1, 1, 4, 1, 3, 3, 14, 0}, + {"HB", 14, 6, 1, "HBP03", 1, 19, 3, 0, 1, 4, 4, 1, 8, 2, 17, 1}, + {"HB", 14, 6, 2, "HBP03", 1, 13, 2, 1, 1, 1, 4, 1, 8, 1, 17, 1}, + {"HB", 14, 7, 1, "HBP03", 2, 2, 3, 0, 1, 4, 4, 1, 8, 4, 17, 1}, + {"HB", 14, 7, 2, "HBP03", 2, 3, 2, 1, 1, 1, 4, 1, 8, 3, 17, 1}, + {"HB", 14, 8, 1, "HBP03", 3, 18, 3, 0, 1, 4, 4, 1, 9, 2, 17, 0}, + {"HB", 14, 8, 2, "HBP03", 3, 17, 2, 1, 1, 1, 4, 1, 9, 1, 17, 0}, + {"HB", 14, 9, 1, "HBP03", 4, 1, 3, 0, 1, 4, 4, 1, 9, 4, 17, 0}, + {"HB", 14, 9, 2, "HBP03", 4, 7, 2, 1, 1, 1, 4, 1, 9, 3, 17, 0}, + {"HB", 14, 10, 1, "HBP04", 1, 19, 3, 0, 1, 4, 0, 3, 2, 2, 14, 1}, + {"HB", 14, 10, 2, "HBP04", 1, 13, 2, 1, 1, 1, 0, 3, 2, 1, 14, 1}, + {"HB", 14, 11, 1, "HBP04", 2, 2, 3, 0, 1, 4, 0, 3, 2, 4, 14, 1}, + {"HB", 14, 11, 2, "HBP04", 2, 3, 2, 1, 1, 1, 0, 3, 2, 3, 14, 1}, + {"HB", 14, 12, 1, "HBP04", 3, 18, 3, 0, 1, 4, 0, 3, 3, 2, 14, 0}, + {"HB", 14, 12, 2, "HBP04", 3, 17, 2, 1, 1, 1, 0, 3, 3, 1, 14, 0}, + {"HB", 14, 13, 1, "HBP04", 4, 1, 3, 0, 1, 4, 0, 3, 3, 4, 14, 0}, + {"HB", 14, 13, 2, "HBP04", 4, 7, 2, 1, 1, 1, 0, 3, 3, 3, 14, 0}, + {"HB", 14, 14, 1, "HBP05", 1, 19, 3, 0, 1, 4, 0, 3, 8, 2, 17, 1}, + {"HB", 14, 14, 2, "HBP05", 1, 13, 2, 1, 1, 1, 0, 3, 8, 1, 17, 1}, + {"HB", 14, 15, 1, "HBP05", 2, 2, 3, 0, 1, 4, 0, 3, 8, 4, 17, 1}, + {"HB", 14, 15, 2, "HBP05", 2, 3, 2, 1, 1, 1, 0, 3, 8, 3, 17, 1}, + {"HB", 14, 16, 1, "HBP05", 3, 18, 3, 0, 1, 4, 0, 3, 9, 2, 17, 0}, + {"HB", 14, 16, 2, "HBP05", 3, 17, 2, 1, 1, 1, 0, 3, 9, 1, 17, 0}, + {"HB", 14, 17, 1, "HBP05", 4, 1, 3, 0, 1, 4, 0, 3, 9, 4, 17, 0}, + {"HB", 14, 17, 2, "HBP05", 4, 7, 2, 1, 1, 1, 0, 3, 9, 3, 17, 0}, + {"HB", 14, 18, 1, "HBP06", 1, 19, 3, 0, 1, 4, 1, 5, 2, 2, 14, 1}, + {"HB", 14, 18, 2, "HBP06", 1, 13, 2, 1, 1, 1, 1, 5, 2, 1, 14, 1}, + {"HB", 14, 19, 1, "HBP06", 2, 2, 3, 0, 1, 4, 1, 5, 2, 4, 14, 1}, + {"HB", 14, 19, 2, "HBP06", 2, 3, 2, 1, 1, 1, 1, 5, 2, 3, 14, 1}, + {"HB", 14, 20, 1, "HBP06", 3, 18, 3, 0, 1, 4, 1, 5, 3, 2, 14, 0}, + {"HB", 14, 20, 2, "HBP06", 3, 17, 2, 1, 1, 1, 1, 5, 3, 1, 14, 0}, + {"HB", 14, 21, 1, "HBP06", 4, 1, 3, 0, 1, 4, 1, 5, 3, 4, 14, 0}, + {"HB", 14, 21, 2, "HBP06", 4, 7, 2, 1, 1, 1, 1, 5, 3, 3, 14, 0}, + {"HB", 14, 22, 1, "HBP07", 1, 19, 3, 0, 1, 4, 1, 5, 8, 2, 17, 1}, + {"HB", 14, 22, 2, "HBP07", 1, 13, 2, 1, 1, 1, 1, 5, 8, 1, 17, 1}, + {"HB", 14, 23, 1, "HBP07", 2, 2, 3, 0, 1, 4, 1, 5, 8, 4, 17, 1}, + {"HB", 14, 23, 2, "HBP07", 2, 3, 2, 1, 1, 1, 1, 5, 8, 3, 17, 1}, + {"HB", 14, 24, 1, "HBP07", 3, 18, 3, 0, 1, 4, 1, 5, 9, 2, 17, 0}, + {"HB", 14, 24, 2, "HBP07", 3, 17, 2, 1, 1, 1, 1, 5, 9, 1, 17, 0}, + {"HB", 14, 25, 1, "HBP07", 4, 1, 3, 0, 1, 4, 1, 5, 9, 4, 17, 0}, + {"HB", 14, 25, 2, "HBP07", 4, 7, 2, 1, 1, 1, 1, 5, 9, 3, 17, 0}, + {"HB", 14, 26, 1, "HBP08", 1, 19, 3, 0, 1, 4, 5, 7, 2, 2, 14, 1}, + {"HB", 14, 26, 2, "HBP08", 1, 13, 2, 1, 1, 1, 5, 7, 2, 1, 14, 1}, + {"HB", 14, 27, 1, "HBP08", 2, 2, 3, 0, 1, 4, 5, 7, 2, 4, 14, 1}, + {"HB", 14, 27, 2, "HBP08", 2, 3, 2, 1, 1, 1, 5, 7, 2, 3, 14, 1}, + {"HB", 14, 28, 1, "HBP08", 3, 18, 3, 0, 1, 4, 5, 7, 3, 2, 14, 0}, + {"HB", 14, 28, 2, "HBP08", 3, 17, 2, 1, 1, 1, 5, 7, 3, 1, 14, 0}, + {"HB", 14, 29, 1, "HBP08", 4, 1, 3, 0, 1, 4, 5, 7, 3, 4, 14, 0}, + {"HB", 14, 29, 2, "HBP08", 4, 7, 2, 1, 1, 1, 5, 7, 3, 3, 14, 0}, + {"HB", 14, 30, 1, "HBP09", 1, 19, 3, 0, 1, 4, 5, 7, 8, 2, 17, 1}, + {"HB", 14, 30, 2, "HBP09", 1, 13, 2, 1, 1, 1, 5, 7, 8, 1, 17, 1}, + {"HB", 14, 31, 1, "HBP09", 2, 2, 3, 0, 1, 4, 5, 7, 8, 4, 17, 1}, + {"HB", 14, 31, 2, "HBP09", 2, 3, 2, 1, 1, 1, 5, 7, 8, 3, 17, 1}, + {"HB", 14, 32, 1, "HBP09", 3, 18, 3, 0, 1, 4, 5, 7, 9, 2, 17, 0}, + {"HB", 14, 32, 2, "HBP09", 3, 17, 2, 1, 1, 1, 5, 7, 9, 1, 17, 0}, + {"HB", 14, 33, 1, "HBP09", 4, 1, 3, 0, 1, 4, 5, 7, 9, 4, 17, 0}, + {"HB", 14, 33, 2, "HBP09", 4, 7, 2, 1, 1, 1, 5, 7, 9, 3, 17, 0}, + {"HB", 14, 34, 1, "HBP10", 1, 19, 3, 0, 1, 4, 11, 9, 2, 2, 14, 1}, + {"HB", 14, 34, 2, "HBP10", 1, 13, 2, 1, 1, 1, 11, 9, 2, 1, 14, 1}, + {"HB", 14, 35, 1, "HBP10", 2, 2, 3, 0, 1, 4, 11, 9, 2, 4, 14, 1}, + {"HB", 14, 35, 2, "HBP10", 2, 3, 2, 1, 1, 1, 11, 9, 2, 3, 14, 1}, + {"HB", 14, 36, 1, "HBP10", 3, 18, 3, 0, 1, 4, 11, 9, 3, 2, 14, 0}, + {"HB", 14, 36, 2, "HBP10", 3, 17, 2, 1, 1, 1, 11, 9, 3, 1, 14, 0}, + {"HB", 14, 37, 1, "HBP10", 4, 1, 3, 0, 1, 4, 11, 9, 3, 4, 14, 0}, + {"HB", 14, 37, 2, "HBP10", 4, 7, 2, 1, 1, 1, 11, 9, 3, 3, 14, 0}, + {"HB", 14, 38, 1, "HBP11", 1, 19, 3, 0, 1, 4, 11, 9, 8, 2, 17, 1}, + {"HB", 14, 38, 2, "HBP11", 1, 13, 2, 1, 1, 1, 11, 9, 8, 1, 17, 1}, + {"HB", 14, 39, 1, "HBP11", 2, 2, 3, 0, 1, 4, 11, 9, 8, 4, 17, 1}, + {"HB", 14, 39, 2, "HBP11", 2, 3, 2, 1, 1, 1, 11, 9, 8, 3, 17, 1}, + {"HB", 14, 40, 1, "HBP11", 3, 18, 3, 0, 1, 4, 11, 9, 9, 2, 17, 0}, + {"HB", 14, 40, 2, "HBP11", 3, 17, 2, 1, 1, 1, 11, 9, 9, 1, 17, 0}, + {"HB", 14, 41, 1, "HBP11", 4, 1, 3, 0, 1, 4, 11, 9, 9, 4, 17, 0}, + {"HB", 14, 41, 2, "HBP11", 4, 7, 2, 1, 1, 1, 11, 9, 9, 3, 17, 0}, + {"HB", 14, 42, 1, "HBP12", 1, 19, 3, 0, 1, 4, 15, 11, 2, 2, 14, 1}, + {"HB", 14, 42, 2, "HBP12", 1, 13, 2, 1, 1, 1, 15, 11, 2, 1, 14, 1}, + {"HB", 14, 43, 1, "HBP12", 2, 2, 3, 0, 1, 4, 15, 11, 2, 4, 14, 1}, + {"HB", 14, 43, 2, "HBP12", 2, 3, 2, 1, 1, 1, 15, 11, 2, 3, 14, 1}, + {"HB", 14, 44, 1, "HBP12", 3, 18, 3, 0, 1, 4, 15, 11, 3, 2, 14, 0}, + {"HB", 14, 44, 2, "HBP12", 3, 17, 2, 1, 1, 1, 15, 11, 3, 1, 14, 0}, + {"HB", 14, 45, 1, "HBP12", 4, 1, 3, 0, 1, 4, 15, 11, 3, 4, 14, 0}, + {"HB", 14, 45, 2, "HBP12", 4, 7, 2, 1, 1, 1, 15, 11, 3, 3, 14, 0}, + {"HB", 14, 46, 1, "HBP13", 1, 19, 3, 0, 1, 4, 15, 11, 8, 2, 17, 1}, + {"HB", 14, 46, 2, "HBP13", 1, 13, 2, 1, 1, 1, 15, 11, 8, 1, 17, 1}, + {"HB", 14, 47, 1, "HBP13", 2, 2, 3, 0, 1, 4, 15, 11, 8, 4, 17, 1}, + {"HB", 14, 47, 2, "HBP13", 2, 3, 2, 1, 1, 1, 15, 11, 8, 3, 17, 1}, + {"HB", 14, 48, 1, "HBP13", 3, 18, 3, 0, 1, 4, 15, 11, 9, 2, 17, 0}, + {"HB", 14, 48, 2, "HBP13", 3, 17, 2, 1, 1, 1, 15, 11, 9, 1, 17, 0}, + {"HB", 14, 49, 1, "HBP13", 4, 1, 3, 0, 1, 4, 15, 11, 9, 4, 17, 0}, + {"HB", 14, 49, 2, "HBP13", 4, 7, 2, 1, 1, 1, 15, 11, 9, 3, 17, 0}, + {"HB", 14, 50, 1, "HBP14", 1, 19, 3, 0, 1, 4, 17, 13, 2, 2, 14, 1}, + {"HB", 14, 50, 2, "HBP14", 1, 13, 2, 1, 1, 1, 17, 13, 2, 1, 14, 1}, + {"HB", 14, 51, 1, "HBP14", 2, 2, 3, 0, 1, 4, 17, 13, 2, 4, 14, 1}, + {"HB", 14, 51, 2, "HBP14", 2, 3, 2, 1, 1, 1, 17, 13, 2, 3, 14, 1}, + {"HB", 14, 52, 1, "HBP14", 3, 18, 3, 0, 1, 4, 17, 13, 3, 2, 14, 0}, + {"HB", 14, 52, 2, "HBP14", 3, 17, 2, 1, 1, 1, 17, 13, 3, 1, 14, 0}, + {"HB", 14, 53, 1, "HBP14", 4, 1, 3, 0, 1, 4, 17, 13, 3, 4, 14, 0}, + {"HB", 14, 53, 2, "HBP14", 4, 7, 2, 1, 1, 1, 17, 13, 3, 3, 14, 0}, + {"HB", 14, 54, 1, "HBP15", 1, 19, 3, 0, 1, 4, 17, 13, 8, 2, 17, 1}, + {"HB", 14, 54, 2, "HBP15", 1, 13, 2, 1, 1, 1, 17, 13, 8, 1, 17, 1}, + {"HB", 14, 55, 1, "HBP15", 2, 2, 3, 0, 1, 4, 17, 13, 8, 4, 17, 1}, + {"HB", 14, 55, 2, "HBP15", 2, 3, 2, 1, 1, 1, 17, 13, 8, 3, 17, 1}, + {"HB", 14, 56, 1, "HBP15", 3, 18, 3, 0, 1, 4, 17, 13, 9, 2, 17, 0}, + {"HB", 14, 56, 2, "HBP15", 3, 17, 2, 1, 1, 1, 17, 13, 9, 1, 17, 0}, + {"HB", 14, 57, 1, "HBP15", 4, 1, 3, 0, 1, 4, 17, 13, 9, 4, 17, 0}, + {"HB", 14, 57, 2, "HBP15", 4, 7, 2, 1, 1, 1, 17, 13, 9, 3, 17, 0}, + {"HB", 14, 58, 1, "HBP16", 1, 19, 3, 0, 1, 4, 14, 15, 2, 2, 14, 1}, + {"HB", 14, 58, 2, "HBP16", 1, 13, 2, 1, 1, 1, 14, 15, 2, 1, 14, 1}, + {"HB", 14, 59, 1, "HBP16", 2, 2, 3, 0, 1, 4, 14, 15, 2, 4, 14, 1}, + {"HB", 14, 59, 2, "HBP16", 2, 3, 2, 1, 1, 1, 14, 15, 2, 3, 14, 1}, + {"HB", 14, 60, 1, "HBP16", 3, 18, 3, 0, 1, 4, 14, 15, 3, 2, 14, 0}, + {"HB", 14, 60, 2, "HBP16", 3, 17, 2, 1, 1, 1, 14, 15, 3, 1, 14, 0}, + {"HB", 14, 61, 1, "HBP16", 4, 1, 3, 0, 1, 4, 14, 15, 3, 4, 14, 0}, + {"HB", 14, 61, 2, "HBP16", 4, 7, 2, 1, 1, 1, 14, 15, 3, 3, 14, 0}, + {"HB", 14, 62, 1, "HBP17", 1, 19, 3, 0, 1, 4, 14, 15, 8, 2, 17, 1}, + {"HB", 14, 62, 2, "HBP17", 1, 13, 2, 1, 1, 1, 14, 15, 8, 1, 17, 1}, + {"HB", 14, 63, 1, "HBP17", 2, 2, 3, 0, 1, 4, 14, 15, 8, 4, 17, 1}, + {"HB", 14, 63, 2, "HBP17", 2, 3, 2, 1, 1, 1, 14, 15, 8, 3, 17, 1}, + {"HB", 14, 64, 1, "HBP17", 3, 18, 3, 0, 1, 4, 14, 15, 9, 2, 17, 0}, + {"HB", 14, 64, 2, "HBP17", 3, 17, 2, 1, 1, 1, 14, 15, 9, 1, 17, 0}, + {"HB", 14, 65, 1, "HBP17", 4, 1, 3, 0, 1, 4, 14, 15, 9, 4, 17, 0}, + {"HB", 14, 65, 2, "HBP17", 4, 7, 2, 1, 1, 1, 14, 15, 9, 3, 17, 0}, + {"HB", 14, 66, 1, "HBP18", 1, 19, 3, 0, 1, 4, 10, 17, 2, 2, 14, 1}, + {"HB", 14, 66, 2, "HBP18", 1, 13, 2, 1, 1, 1, 10, 17, 2, 1, 14, 1}, + {"HB", 14, 67, 1, "HBP18", 2, 2, 3, 0, 1, 4, 10, 17, 2, 4, 14, 1}, + {"HB", 14, 67, 2, "HBP18", 2, 3, 2, 1, 1, 1, 10, 17, 2, 3, 14, 1}, + {"HB", 14, 68, 1, "HBP18", 3, 18, 3, 0, 1, 4, 10, 17, 3, 2, 14, 0}, + {"HB", 14, 68, 2, "HBP18", 3, 17, 2, 1, 1, 1, 10, 17, 3, 1, 14, 0}, + {"HB", 14, 69, 1, "HBP18", 4, 1, 3, 0, 1, 4, 10, 17, 3, 4, 14, 0}, + {"HB", 14, 69, 2, "HBP18", 4, 7, 2, 1, 1, 1, 10, 17, 3, 3, 14, 0}, + {"HB", 14, 70, 1, "HBP01", 1, 19, 3, 0, 1, 4, 10, 17, 8, 2, 17, 1}, + {"HB", 14, 70, 2, "HBP01", 1, 13, 2, 1, 1, 1, 10, 17, 8, 1, 17, 1}, + {"HB", 14, 71, 1, "HBP01", 2, 2, 3, 0, 1, 4, 10, 17, 8, 4, 17, 1}, + {"HB", 14, 71, 2, "HBP01", 2, 3, 2, 1, 1, 1, 10, 17, 8, 3, 17, 1}, + {"HB", 15, 0, 1, "HBP01", 3, 1, 3, 2, 1, 3, 10, 17, 9, 2, 17, 0}, + {"HB", 15, 0, 2, "HBP01", 3, 3, 2, 0, 1, 0, 10, 17, 9, 1, 17, 0}, + {"HB", 15, 1, 1, "HBP01", 4, 3, 3, 2, 1, 3, 10, 17, 9, 4, 17, 0}, + {"HB", 15, 1, 2, "HBP01", 4, 2, 2, 0, 1, 0, 10, 17, 9, 3, 17, 0}, + {"HB", 15, 2, 1, "HBP02", 1, 17, 3, 2, 1, 3, 4, 1, 2, 2, 14, 1}, + {"HB", 15, 2, 2, "HBP02", 1, 18, 2, 0, 1, 0, 4, 1, 2, 1, 14, 1}, + {"HB", 15, 3, 1, "HBP02", 2, 19, 3, 2, 1, 3, 4, 1, 2, 4, 14, 1}, + {"HB", 15, 3, 2, "HBP02", 2, 17, 2, 0, 1, 0, 4, 1, 2, 3, 14, 1}, + {"HB", 15, 4, 1, "HBP02", 3, 1, 3, 2, 1, 3, 4, 1, 3, 2, 14, 0}, + {"HB", 15, 4, 2, "HBP02", 3, 3, 2, 0, 1, 0, 4, 1, 3, 1, 14, 0}, + {"HB", 15, 5, 1, "HBP02", 4, 3, 3, 2, 1, 3, 4, 1, 3, 4, 14, 0}, + {"HB", 15, 5, 2, "HBP02", 4, 2, 2, 0, 1, 0, 4, 1, 3, 3, 14, 0}, + {"HB", 15, 6, 1, "HBP03", 1, 17, 3, 2, 1, 3, 4, 1, 8, 2, 17, 1}, + {"HB", 15, 6, 2, "HBP03", 1, 18, 2, 0, 1, 0, 4, 1, 8, 1, 17, 1}, + {"HB", 15, 7, 1, "HBP03", 2, 19, 3, 2, 1, 3, 4, 1, 8, 4, 17, 1}, + {"HB", 15, 7, 2, "HBP03", 2, 17, 2, 0, 1, 0, 4, 1, 8, 3, 17, 1}, + {"HB", 15, 8, 1, "HBP03", 3, 1, 3, 2, 1, 3, 4, 1, 9, 2, 17, 0}, + {"HB", 15, 8, 2, "HBP03", 3, 3, 2, 0, 1, 0, 4, 1, 9, 1, 17, 0}, + {"HB", 15, 9, 1, "HBP03", 4, 3, 3, 2, 1, 3, 4, 1, 9, 4, 17, 0}, + {"HB", 15, 9, 2, "HBP03", 4, 2, 2, 0, 1, 0, 4, 1, 9, 3, 17, 0}, + {"HB", 15, 10, 1, "HBP04", 1, 17, 3, 2, 1, 3, 0, 3, 2, 2, 14, 1}, + {"HB", 15, 10, 2, "HBP04", 1, 18, 2, 0, 1, 0, 0, 3, 2, 1, 14, 1}, + {"HB", 15, 11, 1, "HBP04", 2, 19, 3, 2, 1, 3, 0, 3, 2, 4, 14, 1}, + {"HB", 15, 11, 2, "HBP04", 2, 17, 2, 0, 1, 0, 0, 3, 2, 3, 14, 1}, + {"HB", 15, 12, 1, "HBP04", 3, 1, 3, 2, 1, 3, 0, 3, 3, 2, 14, 0}, + {"HB", 15, 12, 2, "HBP04", 3, 3, 2, 0, 1, 0, 0, 3, 3, 1, 14, 0}, + {"HB", 15, 13, 1, "HBP04", 4, 3, 3, 2, 1, 3, 0, 3, 3, 4, 14, 0}, + {"HB", 15, 13, 2, "HBP04", 4, 2, 2, 0, 1, 0, 0, 3, 3, 3, 14, 0}, + {"HB", 15, 14, 1, "HBP05", 1, 17, 3, 2, 1, 3, 0, 3, 8, 2, 17, 1}, + {"HB", 15, 14, 2, "HBP05", 1, 18, 2, 0, 1, 0, 0, 3, 8, 1, 17, 1}, + {"HB", 15, 15, 1, "HBP05", 2, 19, 3, 2, 1, 3, 0, 3, 8, 4, 17, 1}, + {"HB", 15, 15, 2, "HBP05", 2, 17, 2, 0, 1, 0, 0, 3, 8, 3, 17, 1}, + {"HB", 15, 16, 1, "HBP05", 3, 1, 3, 2, 1, 3, 0, 3, 9, 2, 17, 0}, + {"HB", 15, 16, 2, "HBP05", 3, 3, 2, 0, 1, 0, 0, 3, 9, 1, 17, 0}, + {"HB", 15, 17, 1, "HBP05", 4, 3, 3, 2, 1, 3, 0, 3, 9, 4, 17, 0}, + {"HB", 15, 17, 2, "HBP05", 4, 2, 2, 0, 1, 0, 0, 3, 9, 3, 17, 0}, + {"HB", 15, 18, 1, "HBP06", 1, 17, 3, 2, 1, 3, 1, 5, 2, 2, 14, 1}, + {"HB", 15, 18, 2, "HBP06", 1, 18, 2, 0, 1, 0, 1, 5, 2, 1, 14, 1}, + {"HB", 15, 19, 1, "HBP06", 2, 19, 3, 2, 1, 3, 1, 5, 2, 4, 14, 1}, + {"HB", 15, 19, 2, "HBP06", 2, 17, 2, 0, 1, 0, 1, 5, 2, 3, 14, 1}, + {"HB", 15, 20, 1, "HBP06", 3, 1, 3, 2, 1, 3, 1, 5, 3, 2, 14, 0}, + {"HB", 15, 20, 2, "HBP06", 3, 3, 2, 0, 1, 0, 1, 5, 3, 1, 14, 0}, + {"HB", 15, 21, 1, "HBP06", 4, 3, 3, 2, 1, 3, 1, 5, 3, 4, 14, 0}, + {"HB", 15, 21, 2, "HBP06", 4, 2, 2, 0, 1, 0, 1, 5, 3, 3, 14, 0}, + {"HB", 15, 22, 1, "HBP07", 1, 17, 3, 2, 1, 3, 1, 5, 8, 2, 17, 1}, + {"HB", 15, 22, 2, "HBP07", 1, 18, 2, 0, 1, 0, 1, 5, 8, 1, 17, 1}, + {"HB", 15, 23, 1, "HBP07", 2, 19, 3, 2, 1, 3, 1, 5, 8, 4, 17, 1}, + {"HB", 15, 23, 2, "HBP07", 2, 17, 2, 0, 1, 0, 1, 5, 8, 3, 17, 1}, + {"HB", 15, 24, 1, "HBP07", 3, 1, 3, 2, 1, 3, 1, 5, 9, 2, 17, 0}, + {"HB", 15, 24, 2, "HBP07", 3, 3, 2, 0, 1, 0, 1, 5, 9, 1, 17, 0}, + {"HB", 15, 25, 1, "HBP07", 4, 3, 3, 2, 1, 3, 1, 5, 9, 4, 17, 0}, + {"HB", 15, 25, 2, "HBP07", 4, 2, 2, 0, 1, 0, 1, 5, 9, 3, 17, 0}, + {"HB", 15, 26, 1, "HBP08", 1, 17, 3, 2, 1, 3, 5, 7, 2, 2, 14, 1}, + {"HB", 15, 26, 2, "HBP08", 1, 18, 2, 0, 1, 0, 5, 7, 2, 1, 14, 1}, + {"HB", 15, 27, 1, "HBP08", 2, 19, 3, 2, 1, 3, 5, 7, 2, 4, 14, 1}, + {"HB", 15, 27, 2, "HBP08", 2, 17, 2, 0, 1, 0, 5, 7, 2, 3, 14, 1}, + {"HB", 15, 28, 1, "HBP08", 3, 1, 3, 2, 1, 3, 5, 7, 3, 2, 14, 0}, + {"HB", 15, 28, 2, "HBP08", 3, 3, 2, 0, 1, 0, 5, 7, 3, 1, 14, 0}, + {"HB", 15, 29, 1, "HBP08", 4, 3, 3, 2, 1, 3, 5, 7, 3, 4, 14, 0}, + {"HB", 15, 29, 2, "HBP08", 4, 2, 2, 0, 1, 0, 5, 7, 3, 3, 14, 0}, + {"HB", 15, 30, 1, "HBP09", 1, 17, 3, 2, 1, 3, 5, 7, 8, 2, 17, 1}, + {"HB", 15, 30, 2, "HBP09", 1, 18, 2, 0, 1, 0, 5, 7, 8, 1, 17, 1}, + {"HB", 15, 31, 1, "HBP09", 2, 19, 3, 2, 1, 3, 5, 7, 8, 4, 17, 1}, + {"HB", 15, 31, 2, "HBP09", 2, 17, 2, 0, 1, 0, 5, 7, 8, 3, 17, 1}, + {"HB", 15, 32, 1, "HBP09", 3, 1, 3, 2, 1, 3, 5, 7, 9, 2, 17, 0}, + {"HB", 15, 32, 2, "HBP09", 3, 3, 2, 0, 1, 0, 5, 7, 9, 1, 17, 0}, + {"HB", 15, 33, 1, "HBP09", 4, 3, 3, 2, 1, 3, 5, 7, 9, 4, 17, 0}, + {"HB", 15, 33, 2, "HBP09", 4, 2, 2, 0, 1, 0, 5, 7, 9, 3, 17, 0}, + {"HB", 15, 34, 1, "HBP10", 1, 17, 3, 2, 1, 3, 11, 9, 2, 2, 14, 1}, + {"HB", 15, 34, 2, "HBP10", 1, 18, 2, 0, 1, 0, 11, 9, 2, 1, 14, 1}, + {"HB", 15, 35, 1, "HBP10", 2, 19, 3, 2, 1, 3, 11, 9, 2, 4, 14, 1}, + {"HB", 15, 35, 2, "HBP10", 2, 17, 2, 0, 1, 0, 11, 9, 2, 3, 14, 1}, + {"HB", 15, 36, 1, "HBP10", 3, 1, 3, 2, 1, 3, 11, 9, 3, 2, 14, 0}, + {"HB", 15, 36, 2, "HBP10", 3, 3, 2, 0, 1, 0, 11, 9, 3, 1, 14, 0}, + {"HB", 15, 37, 1, "HBP10", 4, 3, 3, 2, 1, 3, 11, 9, 3, 4, 14, 0}, + {"HB", 15, 37, 2, "HBP10", 4, 2, 2, 0, 1, 0, 11, 9, 3, 3, 14, 0}, + {"HB", 15, 38, 1, "HBP11", 1, 17, 3, 2, 1, 3, 11, 9, 8, 2, 17, 1}, + {"HB", 15, 38, 2, "HBP11", 1, 18, 2, 0, 1, 0, 11, 9, 8, 1, 17, 1}, + {"HB", 15, 39, 1, "HBP11", 2, 19, 3, 2, 1, 3, 11, 9, 8, 4, 17, 1}, + {"HB", 15, 39, 2, "HBP11", 2, 17, 2, 0, 1, 0, 11, 9, 8, 3, 17, 1}, + {"HB", 15, 40, 1, "HBP11", 3, 1, 3, 2, 1, 3, 11, 9, 9, 2, 17, 0}, + {"HB", 15, 40, 2, "HBP11", 3, 3, 2, 0, 1, 0, 11, 9, 9, 1, 17, 0}, + {"HB", 15, 41, 1, "HBP11", 4, 3, 3, 2, 1, 3, 11, 9, 9, 4, 17, 0}, + {"HB", 15, 41, 2, "HBP11", 4, 2, 2, 0, 1, 0, 11, 9, 9, 3, 17, 0}, + {"HB", 15, 42, 1, "HBP12", 1, 17, 3, 2, 1, 3, 15, 11, 2, 2, 14, 1}, + {"HB", 15, 42, 2, "HBP12", 1, 18, 2, 0, 1, 0, 15, 11, 2, 1, 14, 1}, + {"HB", 15, 43, 1, "HBP12", 2, 19, 3, 2, 1, 3, 15, 11, 2, 4, 14, 1}, + {"HB", 15, 43, 2, "HBP12", 2, 17, 2, 0, 1, 0, 15, 11, 2, 3, 14, 1}, + {"HB", 15, 44, 1, "HBP12", 3, 1, 3, 2, 1, 3, 15, 11, 3, 2, 14, 0}, + {"HB", 15, 44, 2, "HBP12", 3, 3, 2, 0, 1, 0, 15, 11, 3, 1, 14, 0}, + {"HB", 15, 45, 1, "HBP12", 4, 3, 3, 2, 1, 3, 15, 11, 3, 4, 14, 0}, + {"HB", 15, 45, 2, "HBP12", 4, 2, 2, 0, 1, 0, 15, 11, 3, 3, 14, 0}, + {"HB", 15, 46, 1, "HBP13", 1, 17, 3, 2, 1, 3, 15, 11, 8, 2, 17, 1}, + {"HB", 15, 46, 2, "HBP13", 1, 18, 2, 0, 1, 0, 15, 11, 8, 1, 17, 1}, + {"HB", 15, 47, 1, "HBP13", 2, 19, 3, 2, 1, 3, 15, 11, 8, 4, 17, 1}, + {"HB", 15, 47, 2, "HBP13", 2, 17, 2, 0, 1, 0, 15, 11, 8, 3, 17, 1}, + {"HB", 15, 48, 1, "HBP13", 3, 1, 3, 2, 1, 3, 15, 11, 9, 2, 17, 0}, + {"HB", 15, 48, 2, "HBP13", 3, 3, 2, 0, 1, 0, 15, 11, 9, 1, 17, 0}, + {"HB", 15, 49, 1, "HBP13", 4, 3, 3, 2, 1, 3, 15, 11, 9, 4, 17, 0}, + {"HB", 15, 49, 2, "HBP13", 4, 2, 2, 0, 1, 0, 15, 11, 9, 3, 17, 0}, + {"HB", 15, 50, 1, "HBP14", 1, 17, 3, 2, 1, 3, 17, 13, 2, 2, 14, 1}, + {"HB", 15, 50, 2, "HBP14", 1, 18, 2, 0, 1, 0, 17, 13, 2, 1, 14, 1}, + {"HB", 15, 51, 1, "HBP14", 2, 19, 3, 2, 1, 3, 17, 13, 2, 4, 14, 1}, + {"HB", 15, 51, 2, "HBP14", 2, 17, 2, 0, 1, 0, 17, 13, 2, 3, 14, 1}, + {"HB", 15, 52, 1, "HBP14", 3, 1, 3, 2, 1, 3, 17, 13, 3, 2, 14, 0}, + {"HB", 15, 52, 2, "HBP14", 3, 3, 2, 0, 1, 0, 17, 13, 3, 1, 14, 0}, + {"HB", 15, 53, 1, "HBP14", 4, 3, 3, 2, 1, 3, 17, 13, 3, 4, 14, 0}, + {"HB", 15, 53, 2, "HBP14", 4, 2, 2, 0, 1, 0, 17, 13, 3, 3, 14, 0}, + {"HB", 15, 54, 1, "HBP15", 1, 17, 3, 2, 1, 3, 17, 13, 8, 2, 17, 1}, + {"HB", 15, 54, 2, "HBP15", 1, 18, 2, 0, 1, 0, 17, 13, 8, 1, 17, 1}, + {"HB", 15, 55, 1, "HBP15", 2, 19, 3, 2, 1, 3, 17, 13, 8, 4, 17, 1}, + {"HB", 15, 55, 2, "HBP15", 2, 17, 2, 0, 1, 0, 17, 13, 8, 3, 17, 1}, + {"HB", 15, 56, 1, "HBP15", 3, 1, 3, 2, 1, 3, 17, 13, 9, 2, 17, 0}, + {"HB", 15, 56, 2, "HBP15", 3, 3, 2, 0, 1, 0, 17, 13, 9, 1, 17, 0}, + {"HB", 15, 57, 1, "HBP15", 4, 3, 3, 2, 1, 3, 17, 13, 9, 4, 17, 0}, + {"HB", 15, 57, 2, "HBP15", 4, 2, 2, 0, 1, 0, 17, 13, 9, 3, 17, 0}, + {"HB", 15, 58, 1, "HBP16", 1, 17, 3, 2, 1, 3, 14, 15, 2, 2, 14, 1}, + {"HB", 15, 58, 2, "HBP16", 1, 18, 2, 0, 1, 0, 14, 15, 2, 1, 14, 1}, + {"HB", 15, 59, 1, "HBP16", 2, 19, 3, 2, 1, 3, 14, 15, 2, 4, 14, 1}, + {"HB", 15, 59, 2, "HBP16", 2, 17, 2, 0, 1, 0, 14, 15, 2, 3, 14, 1}, + {"HB", 15, 60, 1, "HBP16", 3, 1, 3, 2, 1, 3, 14, 15, 3, 2, 14, 0}, + {"HB", 15, 60, 2, "HBP16", 3, 3, 2, 0, 1, 0, 14, 15, 3, 1, 14, 0}, + {"HB", 15, 61, 1, "HBP16", 4, 3, 3, 2, 1, 3, 14, 15, 3, 4, 14, 0}, + {"HB", 15, 61, 2, "HBP16", 4, 2, 2, 0, 1, 0, 14, 15, 3, 3, 14, 0}, + {"HB", 15, 62, 1, "HBP17", 1, 17, 3, 2, 1, 3, 14, 15, 8, 2, 17, 1}, + {"HB", 15, 62, 2, "HBP17", 1, 18, 2, 0, 1, 0, 14, 15, 8, 1, 17, 1}, + {"HB", 15, 63, 1, "HBP17", 2, 19, 3, 2, 1, 3, 14, 15, 8, 4, 17, 1}, + {"HB", 15, 63, 2, "HBP17", 2, 17, 2, 0, 1, 0, 14, 15, 8, 3, 17, 1}, + {"HB", 15, 64, 1, "HBP17", 3, 1, 3, 2, 1, 3, 14, 15, 9, 2, 17, 0}, + {"HB", 15, 64, 2, "HBP17", 3, 3, 2, 0, 1, 0, 14, 15, 9, 1, 17, 0}, + {"HB", 15, 65, 1, "HBP17", 4, 3, 3, 2, 1, 3, 14, 15, 9, 4, 17, 0}, + {"HB", 15, 65, 2, "HBP17", 4, 2, 2, 0, 1, 0, 14, 15, 9, 3, 17, 0}, + {"HB", 15, 66, 1, "HBP18", 1, 17, 3, 2, 1, 3, 10, 17, 2, 2, 14, 1}, + {"HB", 15, 66, 2, "HBP18", 1, 18, 2, 0, 1, 0, 10, 17, 2, 1, 14, 1}, + {"HB", 15, 67, 1, "HBP18", 2, 19, 3, 2, 1, 3, 10, 17, 2, 4, 14, 1}, + {"HB", 15, 67, 2, "HBP18", 2, 17, 2, 0, 1, 0, 10, 17, 2, 3, 14, 1}, + {"HB", 15, 68, 1, "HBP18", 3, 1, 3, 2, 1, 3, 10, 17, 3, 2, 14, 0}, + {"HB", 15, 68, 2, "HBP18", 3, 3, 2, 0, 1, 0, 10, 17, 3, 1, 14, 0}, + {"HB", 15, 69, 1, "HBP18", 4, 3, 3, 2, 1, 3, 10, 17, 3, 4, 14, 0}, + {"HB", 15, 69, 2, "HBP18", 4, 2, 2, 0, 1, 0, 10, 17, 3, 3, 14, 0}, + {"HB", 15, 70, 1, "HBP01", 1, 17, 3, 2, 1, 3, 10, 17, 8, 2, 17, 1}, + {"HB", 15, 70, 2, "HBP01", 1, 18, 2, 0, 1, 0, 10, 17, 8, 1, 17, 1}, + {"HB", 15, 71, 1, "HBP01", 2, 19, 3, 2, 1, 3, 10, 17, 8, 4, 17, 1}, + {"HB", 15, 71, 2, "HBP01", 2, 17, 2, 0, 1, 0, 10, 17, 8, 3, 17, 1}, + {"HE", -20, 71, 1, "HEM01", 3, 9, 6, 1, 3, 1, 10, 16, 10, 5, 7, 1}, + {"HE", -20, 71, 2, "HEM01", 3, 8, 7, 1, 3, 5, 10, 16, 10, 6, 7, 1}, + {"HE", -19, 71, 1, "HEM01", 3, 13, 7, 0, 3, 4, 10, 16, 10, 6, 7, 1}, + {"HE", -19, 71, 2, "HEM01", 3, 17, 6, 0, 3, 0, 10, 16, 10, 5, 7, 1}, + {"HE", -19, 71, 3, "HEM01", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 71, 1, "HEM01", 3, 11, 3, 0, 1, 4, 10, 16, 8, 6, 6, 1}, + {"HE", -18, 71, 2, "HEM01", 3, 19, 3, 1, 1, 5, 10, 16, 8, 6, 6, 1}, + {"HE", -18, 71, 3, "HEM01", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 71, 1, "HEM01", 3, 12, 2, 0, 1, 0, 10, 16, 8, 5, 6, 1}, + {"HE", -17, 71, 2, "HEM01", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 71, 3, "HEM01", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 71, 1, "HEM01", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 71, 2, "HEM01", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 71, 3, "HEM01", 3, 16, 2, 1, 1, 1, 10, 16, 8, 5, 6, 1}, + {"HE", -29, 0, 1, "HEM01", 1, 6, 4, 2, 2, 2, 10, 16, 11, 1, 7, 0}, + {"HE", -29, 0, 2, "HEM01", 2, 6, 4, 2, 2, 2, 10, 16, 11, 3, 7, 0}, + {"HE", -29, 0, 3, "HEM01", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 1, 1, "HEM02", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 1, 2, "HEM02", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 1, 3, "HEM02", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 2, 1, "HEM02", 4, 15, 4, 2, 2, 2, 4, 0, 4, 3, 4, 1}, + {"HE", -29, 2, 2, "HEM02", 3, 15, 4, 2, 2, 2, 4, 0, 4, 1, 4, 1}, + {"HE", -29, 2, 3, "HEM02", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 3, 1, "HEM02", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 3, 2, "HEM02", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 3, 3, "HEM02", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 4, 1, "HEM02", 1, 6, 4, 2, 2, 2, 4, 0, 5, 1, 4, 0}, + {"HE", -29, 4, 2, "HEM02", 2, 6, 4, 2, 2, 2, 4, 0, 5, 3, 4, 0}, + {"HE", -29, 4, 3, "HEM02", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 5, 1, "HEM03", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 5, 2, "HEM03", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 5, 3, "HEM03", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 6, 1, "HEM03", 4, 15, 4, 2, 2, 2, 4, 0, 10, 3, 7, 1}, + {"HE", -29, 6, 2, "HEM03", 3, 15, 4, 2, 2, 2, 4, 0, 10, 1, 7, 1}, + {"HE", -29, 6, 3, "HEM03", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 7, 1, "HEM03", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 7, 2, "HEM03", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 7, 3, "HEM03", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 8, 1, "HEM03", 1, 6, 4, 2, 2, 2, 4, 0, 11, 1, 7, 0}, + {"HE", -29, 8, 2, "HEM03", 2, 6, 4, 2, 2, 2, 4, 0, 11, 3, 7, 0}, + {"HE", -29, 8, 3, "HEM03", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 9, 1, "HEM04", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 9, 2, "HEM04", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 9, 3, "HEM04", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 10, 1, "HEM04", 4, 15, 4, 2, 2, 2, 0, 2, 4, 3, 4, 1}, + {"HE", -29, 10, 2, "HEM04", 3, 15, 4, 2, 2, 2, 0, 2, 4, 1, 4, 1}, + {"HE", -29, 10, 3, "HEM04", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 11, 1, "HEM04", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 11, 2, "HEM04", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 11, 3, "HEM04", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 12, 1, "HEM04", 1, 6, 4, 2, 2, 2, 0, 2, 5, 1, 4, 0}, + {"HE", -29, 12, 2, "HEM04", 2, 6, 4, 2, 2, 2, 0, 2, 5, 3, 4, 0}, + {"HE", -29, 12, 3, "HEM04", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 13, 1, "HEM05", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 13, 2, "HEM05", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 13, 3, "HEM05", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 14, 1, "HEM05", 4, 15, 4, 2, 2, 2, 0, 2, 10, 3, 7, 1}, + {"HE", -29, 14, 2, "HEM05", 3, 15, 4, 2, 2, 2, 0, 2, 10, 1, 7, 1}, + {"HE", -29, 14, 3, "HEM05", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 15, 1, "HEM05", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 15, 2, "HEM05", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 15, 3, "HEM05", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 16, 1, "HEM05", 1, 6, 4, 2, 2, 2, 0, 2, 11, 1, 7, 0}, + {"HE", -29, 16, 2, "HEM05", 2, 6, 4, 2, 2, 2, 0, 2, 11, 3, 7, 0}, + {"HE", -29, 16, 3, "HEM05", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 17, 1, "HEM06", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 17, 2, "HEM06", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 17, 3, "HEM06", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 18, 1, "HEM06", 4, 15, 4, 2, 2, 2, 1, 4, 4, 3, 4, 1}, + {"HE", -29, 18, 2, "HEM06", 3, 15, 4, 2, 2, 2, 1, 4, 4, 1, 4, 1}, + {"HE", -29, 18, 3, "HEM06", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 19, 1, "HEM06", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 19, 2, "HEM06", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 19, 3, "HEM06", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 20, 1, "HEM06", 1, 6, 4, 2, 2, 2, 1, 4, 5, 1, 4, 0}, + {"HE", -29, 20, 2, "HEM06", 2, 6, 4, 2, 2, 2, 1, 4, 5, 3, 4, 0}, + {"HE", -29, 20, 3, "HEM06", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 21, 1, "HEM07", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 21, 2, "HEM07", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 21, 3, "HEM07", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 22, 1, "HEM07", 4, 15, 4, 2, 2, 2, 1, 4, 10, 3, 7, 1}, + {"HE", -29, 22, 2, "HEM07", 3, 15, 4, 2, 2, 2, 1, 4, 10, 1, 7, 1}, + {"HE", -29, 22, 3, "HEM07", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 23, 1, "HEM07", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 23, 2, "HEM07", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 23, 3, "HEM07", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 24, 1, "HEM07", 1, 6, 4, 2, 2, 2, 1, 4, 11, 1, 7, 0}, + {"HE", -29, 24, 2, "HEM07", 2, 6, 4, 2, 2, 2, 1, 4, 11, 3, 7, 0}, + {"HE", -29, 24, 3, "HEM07", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 25, 1, "HEM08", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 25, 2, "HEM08", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 25, 3, "HEM08", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 26, 1, "HEM08", 4, 15, 4, 2, 2, 2, 5, 6, 4, 3, 4, 1}, + {"HE", -29, 26, 2, "HEM08", 3, 15, 4, 2, 2, 2, 5, 6, 4, 1, 4, 1}, + {"HE", -29, 26, 3, "HEM08", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 27, 1, "HEM08", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 27, 2, "HEM08", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 27, 3, "HEM08", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 28, 1, "HEM08", 1, 6, 4, 2, 2, 2, 5, 6, 5, 1, 4, 0}, + {"HE", -29, 28, 2, "HEM08", 2, 6, 4, 2, 2, 2, 5, 6, 5, 3, 4, 0}, + {"HE", -29, 28, 3, "HEM08", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 29, 1, "HEM09", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 29, 2, "HEM09", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 29, 3, "HEM09", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 30, 1, "HEM09", 4, 15, 4, 2, 2, 2, 5, 6, 10, 3, 7, 1}, + {"HE", -29, 30, 2, "HEM09", 3, 15, 4, 2, 2, 2, 5, 6, 10, 1, 7, 1}, + {"HE", -29, 30, 3, "HEM09", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 31, 1, "HEM09", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 31, 2, "HEM09", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 31, 3, "HEM09", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 32, 1, "HEM09", 1, 6, 4, 2, 2, 2, 5, 6, 11, 1, 7, 0}, + {"HE", -29, 32, 2, "HEM09", 2, 6, 4, 2, 2, 2, 5, 6, 11, 3, 7, 0}, + {"HE", -29, 32, 3, "HEM09", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 33, 1, "HEM10", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 33, 2, "HEM10", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 33, 3, "HEM10", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 34, 1, "HEM10", 4, 15, 4, 2, 2, 2, 11, 8, 4, 3, 4, 1}, + {"HE", -29, 34, 2, "HEM10", 3, 15, 4, 2, 2, 2, 11, 8, 4, 1, 4, 1}, + {"HE", -29, 34, 3, "HEM10", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 35, 1, "HEM10", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 35, 2, "HEM10", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 35, 3, "HEM10", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 36, 1, "HEM10", 1, 6, 4, 2, 2, 2, 11, 8, 5, 1, 4, 0}, + {"HE", -29, 36, 2, "HEM10", 2, 6, 4, 2, 2, 2, 11, 8, 5, 3, 4, 0}, + {"HE", -29, 36, 3, "HEM10", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 37, 1, "HEM11", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 37, 2, "HEM11", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 37, 3, "HEM11", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 38, 1, "HEM11", 4, 15, 4, 2, 2, 2, 11, 8, 10, 3, 7, 1}, + {"HE", -29, 38, 2, "HEM11", 3, 15, 4, 2, 2, 2, 11, 8, 10, 1, 7, 1}, + {"HE", -29, 38, 3, "HEM11", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 39, 1, "HEM11", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 39, 2, "HEM11", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 39, 3, "HEM11", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 40, 1, "HEM11", 1, 6, 4, 2, 2, 2, 11, 8, 11, 1, 7, 0}, + {"HE", -29, 40, 2, "HEM11", 2, 6, 4, 2, 2, 2, 11, 8, 11, 3, 7, 0}, + {"HE", -29, 40, 3, "HEM11", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 41, 1, "HEM12", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 41, 2, "HEM12", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 41, 3, "HEM12", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 42, 1, "HEM12", 4, 15, 4, 2, 2, 2, 15, 10, 4, 3, 4, 1}, + {"HE", -29, 42, 2, "HEM12", 3, 15, 4, 2, 2, 2, 15, 10, 4, 1, 4, 1}, + {"HE", -29, 42, 3, "HEM12", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 43, 1, "HEM12", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 43, 2, "HEM12", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 43, 3, "HEM12", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 44, 1, "HEM12", 1, 6, 4, 2, 2, 2, 15, 10, 5, 1, 4, 0}, + {"HE", -29, 44, 2, "HEM12", 2, 6, 4, 2, 2, 2, 15, 10, 5, 3, 4, 0}, + {"HE", -29, 44, 3, "HEM12", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 45, 1, "HEM13", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 45, 2, "HEM13", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 45, 3, "HEM13", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 46, 1, "HEM13", 4, 15, 4, 2, 2, 2, 15, 10, 10, 3, 7, 1}, + {"HE", -29, 46, 2, "HEM13", 3, 15, 4, 2, 2, 2, 15, 10, 10, 1, 7, 1}, + {"HE", -29, 46, 3, "HEM13", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 47, 1, "HEM13", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 47, 2, "HEM13", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 47, 3, "HEM13", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 48, 1, "HEM13", 1, 6, 4, 2, 2, 2, 15, 10, 11, 1, 7, 0}, + {"HE", -29, 48, 2, "HEM13", 2, 6, 4, 2, 2, 2, 15, 10, 11, 3, 7, 0}, + {"HE", -29, 48, 3, "HEM13", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 49, 1, "HEM14", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 49, 2, "HEM14", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 49, 3, "HEM14", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 50, 1, "HEM14", 4, 15, 4, 2, 2, 2, 17, 12, 4, 3, 4, 1}, + {"HE", -29, 50, 2, "HEM14", 3, 15, 4, 2, 2, 2, 17, 12, 4, 1, 4, 1}, + {"HE", -29, 50, 3, "HEM14", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 51, 1, "HEM14", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 51, 2, "HEM14", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 51, 3, "HEM14", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 52, 1, "HEM14", 1, 6, 4, 2, 2, 2, 17, 12, 5, 1, 4, 0}, + {"HE", -29, 52, 2, "HEM14", 2, 6, 4, 2, 2, 2, 17, 12, 5, 3, 4, 0}, + {"HE", -29, 52, 3, "HEM14", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 53, 1, "HEM15", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 53, 2, "HEM15", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 53, 3, "HEM15", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 54, 1, "HEM15", 4, 15, 4, 2, 2, 2, 17, 12, 10, 3, 7, 1}, + {"HE", -29, 54, 2, "HEM15", 3, 15, 4, 2, 2, 2, 17, 12, 10, 1, 7, 1}, + {"HE", -29, 54, 3, "HEM15", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 55, 1, "HEM15", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 55, 2, "HEM15", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 55, 3, "HEM15", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 56, 1, "HEM15", 1, 6, 4, 2, 2, 2, 17, 12, 11, 1, 7, 0}, + {"HE", -29, 56, 2, "HEM15", 2, 6, 4, 2, 2, 2, 17, 12, 11, 3, 7, 0}, + {"HE", -29, 56, 3, "HEM15", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 57, 1, "HEM16", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 57, 2, "HEM16", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 57, 3, "HEM16", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 58, 1, "HEM16", 4, 15, 4, 2, 2, 2, 14, 14, 4, 3, 4, 1}, + {"HE", -29, 58, 2, "HEM16", 3, 15, 4, 2, 2, 2, 14, 14, 4, 1, 4, 1}, + {"HE", -29, 58, 3, "HEM16", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 59, 1, "HEM16", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 59, 2, "HEM16", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 59, 3, "HEM16", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 60, 1, "HEM16", 1, 6, 4, 2, 2, 2, 14, 14, 5, 1, 4, 0}, + {"HE", -29, 60, 2, "HEM16", 2, 6, 4, 2, 2, 2, 14, 14, 5, 3, 4, 0}, + {"HE", -29, 60, 3, "HEM16", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 61, 1, "HEM17", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 61, 2, "HEM17", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 61, 3, "HEM17", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 62, 1, "HEM17", 4, 15, 4, 2, 2, 2, 14, 14, 10, 3, 7, 1}, + {"HE", -29, 62, 2, "HEM17", 3, 15, 4, 2, 2, 2, 14, 14, 10, 1, 7, 1}, + {"HE", -29, 62, 3, "HEM17", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 63, 1, "HEM17", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 63, 2, "HEM17", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 63, 3, "HEM17", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 64, 1, "HEM17", 1, 6, 4, 2, 2, 2, 14, 14, 11, 1, 7, 0}, + {"HE", -29, 64, 2, "HEM17", 2, 6, 4, 2, 2, 2, 14, 14, 11, 3, 7, 0}, + {"HE", -29, 64, 3, "HEM17", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 65, 1, "HEM18", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 65, 2, "HEM18", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 65, 3, "HEM18", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 66, 1, "HEM18", 4, 15, 4, 2, 2, 2, 10, 16, 4, 3, 4, 1}, + {"HE", -29, 66, 2, "HEM18", 3, 15, 4, 2, 2, 2, 10, 16, 4, 1, 4, 1}, + {"HE", -29, 66, 3, "HEM18", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 67, 1, "HEM18", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 67, 2, "HEM18", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 67, 3, "HEM18", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 68, 1, "HEM18", 1, 6, 4, 2, 2, 2, 10, 16, 5, 1, 4, 0}, + {"HE", -29, 68, 2, "HEM18", 2, 6, 4, 2, 2, 2, 10, 16, 5, 3, 4, 0}, + {"HE", -29, 68, 3, "HEM18", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 69, 1, "HEM01", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 69, 2, "HEM01", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 69, 3, "HEM01", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -29, 70, 1, "HEM01", 4, 15, 4, 2, 2, 2, 10, 16, 10, 3, 7, 1}, + {"HE", -29, 70, 2, "HEM01", 3, 15, 4, 2, 2, 2, 10, 16, 10, 1, 7, 1}, + {"HE", -29, 70, 3, "HEM01", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 0, 1, "HEM01", 1, 15, 4, 0, 2, 0, 10, 16, 11, 1, 7, 0}, + {"HE", -28, 0, 2, "HEM01", 1, 2, 4, 1, 2, 1, 10, 16, 11, 1, 7, 0}, + {"HE", -28, 0, 3, "HEM01", 1, 5, 5, 0, 2, 4, 10, 16, 11, 2, 7, 0}, + {"HE", -28, 1, 1, "HEM02", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 1, 2, "HEM02", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 1, 3, "HEM02", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 2, 1, "HEM02", 4, 6, 4, 0, 2, 0, 4, 0, 4, 3, 4, 1}, + {"HE", -28, 2, 2, "HEM02", 4, 18, 4, 1, 2, 1, 4, 0, 4, 3, 4, 1}, + {"HE", -28, 2, 3, "HEM02", 4, 14, 5, 0, 2, 4, 4, 0, 4, 4, 4, 1}, + {"HE", -28, 3, 1, "HEM02", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 3, 2, "HEM02", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 3, 3, "HEM02", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 4, 1, "HEM02", 1, 15, 4, 0, 2, 0, 4, 0, 5, 1, 4, 0}, + {"HE", -28, 4, 2, "HEM02", 1, 2, 4, 1, 2, 1, 4, 0, 5, 1, 4, 0}, + {"HE", -28, 4, 3, "HEM02", 1, 5, 5, 0, 2, 4, 4, 0, 5, 2, 4, 0}, + {"HE", -28, 5, 1, "HEM03", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 5, 2, "HEM03", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 5, 3, "HEM03", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 6, 1, "HEM03", 4, 6, 4, 0, 2, 0, 4, 0, 10, 3, 7, 1}, + {"HE", -28, 6, 2, "HEM03", 4, 18, 4, 1, 2, 1, 4, 0, 10, 3, 7, 1}, + {"HE", -28, 6, 3, "HEM03", 4, 14, 5, 0, 2, 4, 4, 0, 10, 4, 7, 1}, + {"HE", -28, 7, 1, "HEM03", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 7, 2, "HEM03", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 7, 3, "HEM03", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 8, 1, "HEM03", 1, 15, 4, 0, 2, 0, 4, 0, 11, 1, 7, 0}, + {"HE", -28, 8, 2, "HEM03", 1, 2, 4, 1, 2, 1, 4, 0, 11, 1, 7, 0}, + {"HE", -28, 8, 3, "HEM03", 1, 5, 5, 0, 2, 4, 4, 0, 11, 2, 7, 0}, + {"HE", -28, 9, 1, "HEM04", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 9, 2, "HEM04", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 9, 3, "HEM04", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 10, 1, "HEM04", 4, 6, 4, 0, 2, 0, 0, 2, 4, 3, 4, 1}, + {"HE", -28, 10, 2, "HEM04", 4, 18, 4, 1, 2, 1, 0, 2, 4, 3, 4, 1}, + {"HE", -28, 10, 3, "HEM04", 4, 14, 5, 0, 2, 4, 0, 2, 4, 4, 4, 1}, + {"HE", -28, 11, 1, "HEM04", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 11, 2, "HEM04", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 11, 3, "HEM04", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 12, 1, "HEM04", 1, 15, 4, 0, 2, 0, 0, 2, 5, 1, 4, 0}, + {"HE", -28, 12, 2, "HEM04", 1, 2, 4, 1, 2, 1, 0, 2, 5, 1, 4, 0}, + {"HE", -28, 12, 3, "HEM04", 1, 5, 5, 0, 2, 4, 0, 2, 5, 2, 4, 0}, + {"HE", -28, 13, 1, "HEM05", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 13, 2, "HEM05", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 13, 3, "HEM05", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 14, 1, "HEM05", 4, 6, 4, 0, 2, 0, 0, 2, 10, 3, 7, 1}, + {"HE", -28, 14, 2, "HEM05", 4, 18, 4, 1, 2, 1, 0, 2, 10, 3, 7, 1}, + {"HE", -28, 14, 3, "HEM05", 4, 14, 5, 0, 2, 4, 0, 2, 10, 4, 7, 1}, + {"HE", -28, 15, 1, "HEM05", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 15, 2, "HEM05", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 15, 3, "HEM05", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 16, 1, "HEM05", 1, 15, 4, 0, 2, 0, 0, 2, 11, 1, 7, 0}, + {"HE", -28, 16, 2, "HEM05", 1, 2, 4, 1, 2, 1, 0, 2, 11, 1, 7, 0}, + {"HE", -28, 16, 3, "HEM05", 1, 5, 5, 0, 2, 4, 0, 2, 11, 2, 7, 0}, + {"HE", -28, 17, 1, "HEM06", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 17, 2, "HEM06", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 17, 3, "HEM06", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 18, 1, "HEM06", 4, 6, 4, 0, 2, 0, 1, 4, 4, 3, 4, 1}, + {"HE", -28, 18, 2, "HEM06", 4, 18, 4, 1, 2, 1, 1, 4, 4, 3, 4, 1}, + {"HE", -28, 18, 3, "HEM06", 4, 14, 5, 0, 2, 4, 1, 4, 4, 4, 4, 1}, + {"HE", -28, 19, 1, "HEM06", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 19, 2, "HEM06", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 19, 3, "HEM06", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 20, 1, "HEM06", 1, 15, 4, 0, 2, 0, 1, 4, 5, 1, 4, 0}, + {"HE", -28, 20, 2, "HEM06", 1, 2, 4, 1, 2, 1, 1, 4, 5, 1, 4, 0}, + {"HE", -28, 20, 3, "HEM06", 1, 5, 5, 0, 2, 4, 1, 4, 5, 2, 4, 0}, + {"HE", -28, 21, 1, "HEM07", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 21, 2, "HEM07", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 21, 3, "HEM07", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 22, 1, "HEM07", 4, 6, 4, 0, 2, 0, 1, 4, 10, 3, 7, 1}, + {"HE", -28, 22, 2, "HEM07", 4, 18, 4, 1, 2, 1, 1, 4, 10, 3, 7, 1}, + {"HE", -28, 22, 3, "HEM07", 4, 14, 5, 0, 2, 4, 1, 4, 10, 4, 7, 1}, + {"HE", -28, 23, 1, "HEM07", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 23, 2, "HEM07", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 23, 3, "HEM07", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 24, 1, "HEM07", 1, 15, 4, 0, 2, 0, 1, 4, 11, 1, 7, 0}, + {"HE", -28, 24, 2, "HEM07", 1, 2, 4, 1, 2, 1, 1, 4, 11, 1, 7, 0}, + {"HE", -28, 24, 3, "HEM07", 1, 5, 5, 0, 2, 4, 1, 4, 11, 2, 7, 0}, + {"HE", -28, 25, 1, "HEM08", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 25, 2, "HEM08", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 25, 3, "HEM08", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 26, 1, "HEM08", 4, 6, 4, 0, 2, 0, 5, 6, 4, 3, 4, 1}, + {"HE", -28, 26, 2, "HEM08", 4, 18, 4, 1, 2, 1, 5, 6, 4, 3, 4, 1}, + {"HE", -28, 26, 3, "HEM08", 4, 14, 5, 0, 2, 4, 5, 6, 4, 4, 4, 1}, + {"HE", -28, 27, 1, "HEM08", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 27, 2, "HEM08", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 27, 3, "HEM08", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 28, 1, "HEM08", 1, 15, 4, 0, 2, 0, 5, 6, 5, 1, 4, 0}, + {"HE", -28, 28, 2, "HEM08", 1, 2, 4, 1, 2, 1, 5, 6, 5, 1, 4, 0}, + {"HE", -28, 28, 3, "HEM08", 1, 5, 5, 0, 2, 4, 5, 6, 5, 2, 4, 0}, + {"HE", -28, 29, 1, "HEM09", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 29, 2, "HEM09", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 29, 3, "HEM09", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 30, 1, "HEM09", 4, 6, 4, 0, 2, 0, 5, 6, 10, 3, 7, 1}, + {"HE", -28, 30, 2, "HEM09", 4, 18, 4, 1, 2, 1, 5, 6, 10, 3, 7, 1}, + {"HE", -28, 30, 3, "HEM09", 4, 14, 5, 0, 2, 4, 5, 6, 10, 4, 7, 1}, + {"HE", -28, 31, 1, "HEM09", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 31, 2, "HEM09", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 31, 3, "HEM09", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 32, 1, "HEM09", 1, 15, 4, 0, 2, 0, 5, 6, 11, 1, 7, 0}, + {"HE", -28, 32, 2, "HEM09", 1, 2, 4, 1, 2, 1, 5, 6, 11, 1, 7, 0}, + {"HE", -28, 32, 3, "HEM09", 1, 5, 5, 0, 2, 4, 5, 6, 11, 2, 7, 0}, + {"HE", -28, 33, 1, "HEM10", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 33, 2, "HEM10", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 33, 3, "HEM10", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 34, 1, "HEM10", 4, 6, 4, 0, 2, 0, 11, 8, 4, 3, 4, 1}, + {"HE", -28, 34, 2, "HEM10", 4, 18, 4, 1, 2, 1, 11, 8, 4, 3, 4, 1}, + {"HE", -28, 34, 3, "HEM10", 4, 14, 5, 0, 2, 4, 11, 8, 4, 4, 4, 1}, + {"HE", -28, 35, 1, "HEM10", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 35, 2, "HEM10", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 35, 3, "HEM10", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 36, 1, "HEM10", 1, 15, 4, 0, 2, 0, 11, 8, 5, 1, 4, 0}, + {"HE", -28, 36, 2, "HEM10", 1, 2, 4, 1, 2, 1, 11, 8, 5, 1, 4, 0}, + {"HE", -28, 36, 3, "HEM10", 1, 5, 5, 0, 2, 4, 11, 8, 5, 2, 4, 0}, + {"HE", -28, 37, 1, "HEM11", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 37, 2, "HEM11", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 37, 3, "HEM11", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 38, 1, "HEM11", 4, 6, 4, 0, 2, 0, 11, 8, 10, 3, 7, 1}, + {"HE", -28, 38, 2, "HEM11", 4, 18, 4, 1, 2, 1, 11, 8, 10, 3, 7, 1}, + {"HE", -28, 38, 3, "HEM11", 4, 14, 5, 0, 2, 4, 11, 8, 10, 4, 7, 1}, + {"HE", -28, 39, 1, "HEM11", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 39, 2, "HEM11", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 39, 3, "HEM11", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 40, 1, "HEM11", 1, 15, 4, 0, 2, 0, 11, 8, 11, 1, 7, 0}, + {"HE", -28, 40, 2, "HEM11", 1, 2, 4, 1, 2, 1, 11, 8, 11, 1, 7, 0}, + {"HE", -28, 40, 3, "HEM11", 1, 5, 5, 0, 2, 4, 11, 8, 11, 2, 7, 0}, + {"HE", -28, 41, 1, "HEM12", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 41, 2, "HEM12", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 41, 3, "HEM12", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 42, 1, "HEM12", 4, 6, 4, 0, 2, 0, 15, 10, 4, 3, 4, 1}, + {"HE", -28, 42, 2, "HEM12", 4, 18, 4, 1, 2, 1, 15, 10, 4, 3, 4, 1}, + {"HE", -28, 42, 3, "HEM12", 4, 14, 5, 0, 2, 4, 15, 10, 4, 4, 4, 1}, + {"HE", -28, 43, 1, "HEM12", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 43, 2, "HEM12", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 43, 3, "HEM12", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 44, 1, "HEM12", 1, 15, 4, 0, 2, 0, 15, 10, 5, 1, 4, 0}, + {"HE", -28, 44, 2, "HEM12", 1, 2, 4, 1, 2, 1, 15, 10, 5, 1, 4, 0}, + {"HE", -28, 44, 3, "HEM12", 1, 5, 5, 0, 2, 4, 15, 10, 5, 2, 4, 0}, + {"HE", -28, 45, 1, "HEM13", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 45, 2, "HEM13", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 45, 3, "HEM13", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 46, 1, "HEM13", 4, 6, 4, 0, 2, 0, 15, 10, 10, 3, 7, 1}, + {"HE", -28, 46, 2, "HEM13", 4, 18, 4, 1, 2, 1, 15, 10, 10, 3, 7, 1}, + {"HE", -28, 46, 3, "HEM13", 4, 14, 5, 0, 2, 4, 15, 10, 10, 4, 7, 1}, + {"HE", -28, 47, 1, "HEM13", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 47, 2, "HEM13", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 47, 3, "HEM13", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 48, 1, "HEM13", 1, 15, 4, 0, 2, 0, 15, 10, 11, 1, 7, 0}, + {"HE", -28, 48, 2, "HEM13", 1, 2, 4, 1, 2, 1, 15, 10, 11, 1, 7, 0}, + {"HE", -28, 48, 3, "HEM13", 1, 5, 5, 0, 2, 4, 15, 10, 11, 2, 7, 0}, + {"HE", -28, 49, 1, "HEM14", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 49, 2, "HEM14", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 49, 3, "HEM14", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 50, 1, "HEM14", 4, 6, 4, 0, 2, 0, 17, 12, 4, 3, 4, 1}, + {"HE", -28, 50, 2, "HEM14", 4, 18, 4, 1, 2, 1, 17, 12, 4, 3, 4, 1}, + {"HE", -28, 50, 3, "HEM14", 4, 14, 5, 0, 2, 4, 17, 12, 4, 4, 4, 1}, + {"HE", -28, 51, 1, "HEM14", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 51, 2, "HEM14", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 51, 3, "HEM14", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 52, 1, "HEM14", 1, 15, 4, 0, 2, 0, 17, 12, 5, 1, 4, 0}, + {"HE", -28, 52, 2, "HEM14", 1, 2, 4, 1, 2, 1, 17, 12, 5, 1, 4, 0}, + {"HE", -28, 52, 3, "HEM14", 1, 5, 5, 0, 2, 4, 17, 12, 5, 2, 4, 0}, + {"HE", -28, 53, 1, "HEM15", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 53, 2, "HEM15", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 53, 3, "HEM15", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 54, 1, "HEM15", 4, 6, 4, 0, 2, 0, 17, 12, 10, 3, 7, 1}, + {"HE", -28, 54, 2, "HEM15", 4, 18, 4, 1, 2, 1, 17, 12, 10, 3, 7, 1}, + {"HE", -28, 54, 3, "HEM15", 4, 14, 5, 0, 2, 4, 17, 12, 10, 4, 7, 1}, + {"HE", -28, 55, 1, "HEM15", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 55, 2, "HEM15", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 55, 3, "HEM15", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 56, 1, "HEM15", 1, 15, 4, 0, 2, 0, 17, 12, 11, 1, 7, 0}, + {"HE", -28, 56, 2, "HEM15", 1, 2, 4, 1, 2, 1, 17, 12, 11, 1, 7, 0}, + {"HE", -28, 56, 3, "HEM15", 1, 5, 5, 0, 2, 4, 17, 12, 11, 2, 7, 0}, + {"HE", -28, 57, 1, "HEM16", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 57, 2, "HEM16", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 57, 3, "HEM16", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 58, 1, "HEM16", 4, 6, 4, 0, 2, 0, 14, 14, 4, 3, 4, 1}, + {"HE", -28, 58, 2, "HEM16", 4, 18, 4, 1, 2, 1, 14, 14, 4, 3, 4, 1}, + {"HE", -28, 58, 3, "HEM16", 4, 14, 5, 0, 2, 4, 14, 14, 4, 4, 4, 1}, + {"HE", -28, 59, 1, "HEM16", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 59, 2, "HEM16", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 59, 3, "HEM16", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 60, 1, "HEM16", 1, 15, 4, 0, 2, 0, 14, 14, 5, 1, 4, 0}, + {"HE", -28, 60, 2, "HEM16", 1, 2, 4, 1, 2, 1, 14, 14, 5, 1, 4, 0}, + {"HE", -28, 60, 3, "HEM16", 1, 5, 5, 0, 2, 4, 14, 14, 5, 2, 4, 0}, + {"HE", -28, 61, 1, "HEM17", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 61, 2, "HEM17", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 61, 3, "HEM17", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 62, 1, "HEM17", 4, 6, 4, 0, 2, 0, 14, 14, 10, 3, 7, 1}, + {"HE", -28, 62, 2, "HEM17", 4, 18, 4, 1, 2, 1, 14, 14, 10, 3, 7, 1}, + {"HE", -28, 62, 3, "HEM17", 4, 14, 5, 0, 2, 4, 14, 14, 10, 4, 7, 1}, + {"HE", -28, 63, 1, "HEM17", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 63, 2, "HEM17", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 63, 3, "HEM17", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 64, 1, "HEM17", 1, 15, 4, 0, 2, 0, 14, 14, 11, 1, 7, 0}, + {"HE", -28, 64, 2, "HEM17", 1, 2, 4, 1, 2, 1, 14, 14, 11, 1, 7, 0}, + {"HE", -28, 64, 3, "HEM17", 1, 5, 5, 0, 2, 4, 14, 14, 11, 2, 7, 0}, + {"HE", -28, 65, 1, "HEM18", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 65, 2, "HEM18", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 65, 3, "HEM18", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 66, 1, "HEM18", 4, 6, 4, 0, 2, 0, 10, 16, 4, 3, 4, 1}, + {"HE", -28, 66, 2, "HEM18", 4, 18, 4, 1, 2, 1, 10, 16, 4, 3, 4, 1}, + {"HE", -28, 66, 3, "HEM18", 4, 14, 5, 0, 2, 4, 10, 16, 4, 4, 4, 1}, + {"HE", -28, 67, 1, "HEM18", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 67, 2, "HEM18", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 67, 3, "HEM18", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 68, 1, "HEM18", 1, 15, 4, 0, 2, 0, 10, 16, 5, 1, 4, 0}, + {"HE", -28, 68, 2, "HEM18", 1, 2, 4, 1, 2, 1, 10, 16, 5, 1, 4, 0}, + {"HE", -28, 68, 3, "HEM18", 1, 5, 5, 0, 2, 4, 10, 16, 5, 2, 4, 0}, + {"HE", -28, 69, 1, "HEM01", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 69, 2, "HEM01", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 69, 3, "HEM01", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -28, 70, 1, "HEM01", 4, 6, 4, 0, 2, 0, 10, 16, 10, 3, 7, 1}, + {"HE", -28, 70, 2, "HEM01", 4, 18, 4, 1, 2, 1, 10, 16, 10, 3, 7, 1}, + {"HE", -28, 70, 3, "HEM01", 4, 14, 5, 0, 2, 4, 10, 16, 10, 4, 7, 1}, + {"HE", -27, 0, 1, "HEM01", 2, 15, 4, 0, 2, 0, 10, 16, 11, 3, 7, 0}, + {"HE", -27, 0, 2, "HEM01", 2, 18, 4, 1, 2, 1, 10, 16, 11, 3, 7, 0}, + {"HE", -27, 0, 3, "HEM01", 2, 14, 5, 0, 2, 4, 10, 16, 11, 4, 7, 0}, + {"HE", -27, 1, 1, "HEM02", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 1, 2, "HEM02", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 1, 3, "HEM02", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 2, 1, "HEM02", 3, 6, 4, 0, 2, 0, 4, 0, 4, 1, 4, 1}, + {"HE", -27, 2, 2, "HEM02", 3, 2, 4, 1, 2, 1, 4, 0, 4, 1, 4, 1}, + {"HE", -27, 2, 3, "HEM02", 3, 5, 5, 0, 2, 4, 4, 0, 4, 2, 4, 1}, + {"HE", -27, 3, 1, "HEM02", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 3, 2, "HEM02", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 3, 3, "HEM02", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 4, 1, "HEM02", 2, 15, 4, 0, 2, 0, 4, 0, 5, 3, 4, 0}, + {"HE", -27, 4, 2, "HEM02", 2, 18, 4, 1, 2, 1, 4, 0, 5, 3, 4, 0}, + {"HE", -27, 4, 3, "HEM02", 2, 14, 5, 0, 2, 4, 4, 0, 5, 4, 4, 0}, + {"HE", -27, 5, 1, "HEM03", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 5, 2, "HEM03", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 5, 3, "HEM03", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 6, 1, "HEM03", 3, 6, 4, 0, 2, 0, 4, 0, 10, 1, 7, 1}, + {"HE", -27, 6, 2, "HEM03", 3, 2, 4, 1, 2, 1, 4, 0, 10, 1, 7, 1}, + {"HE", -27, 6, 3, "HEM03", 3, 5, 5, 0, 2, 4, 4, 0, 10, 2, 7, 1}, + {"HE", -27, 7, 1, "HEM03", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 7, 2, "HEM03", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 7, 3, "HEM03", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 8, 1, "HEM03", 2, 15, 4, 0, 2, 0, 4, 0, 11, 3, 7, 0}, + {"HE", -27, 8, 2, "HEM03", 2, 18, 4, 1, 2, 1, 4, 0, 11, 3, 7, 0}, + {"HE", -27, 8, 3, "HEM03", 2, 14, 5, 0, 2, 4, 4, 0, 11, 4, 7, 0}, + {"HE", -27, 9, 1, "HEM04", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 9, 2, "HEM04", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 9, 3, "HEM04", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 10, 1, "HEM04", 3, 6, 4, 0, 2, 0, 0, 2, 4, 1, 4, 1}, + {"HE", -27, 10, 2, "HEM04", 3, 2, 4, 1, 2, 1, 0, 2, 4, 1, 4, 1}, + {"HE", -27, 10, 3, "HEM04", 3, 5, 5, 0, 2, 4, 0, 2, 4, 2, 4, 1}, + {"HE", -27, 11, 1, "HEM04", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 11, 2, "HEM04", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 11, 3, "HEM04", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 12, 1, "HEM04", 2, 15, 4, 0, 2, 0, 0, 2, 5, 3, 4, 0}, + {"HE", -27, 12, 2, "HEM04", 2, 18, 4, 1, 2, 1, 0, 2, 5, 3, 4, 0}, + {"HE", -27, 12, 3, "HEM04", 2, 14, 5, 0, 2, 4, 0, 2, 5, 4, 4, 0}, + {"HE", -27, 13, 1, "HEM05", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 13, 2, "HEM05", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 13, 3, "HEM05", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 14, 1, "HEM05", 3, 6, 4, 0, 2, 0, 0, 2, 10, 1, 7, 1}, + {"HE", -27, 14, 2, "HEM05", 3, 2, 4, 1, 2, 1, 0, 2, 10, 1, 7, 1}, + {"HE", -27, 14, 3, "HEM05", 3, 5, 5, 0, 2, 4, 0, 2, 10, 2, 7, 1}, + {"HE", -27, 15, 1, "HEM05", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 15, 2, "HEM05", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 15, 3, "HEM05", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 16, 1, "HEM05", 2, 15, 4, 0, 2, 0, 0, 2, 11, 3, 7, 0}, + {"HE", -27, 16, 2, "HEM05", 2, 18, 4, 1, 2, 1, 0, 2, 11, 3, 7, 0}, + {"HE", -27, 16, 3, "HEM05", 2, 14, 5, 0, 2, 4, 0, 2, 11, 4, 7, 0}, + {"HE", -27, 17, 1, "HEM06", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 17, 2, "HEM06", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 17, 3, "HEM06", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 18, 1, "HEM06", 3, 6, 4, 0, 2, 0, 1, 4, 4, 1, 4, 1}, + {"HE", -27, 18, 2, "HEM06", 3, 2, 4, 1, 2, 1, 1, 4, 4, 1, 4, 1}, + {"HE", -27, 18, 3, "HEM06", 3, 5, 5, 0, 2, 4, 1, 4, 4, 2, 4, 1}, + {"HE", -27, 19, 1, "HEM06", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 19, 2, "HEM06", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 19, 3, "HEM06", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 20, 1, "HEM06", 2, 15, 4, 0, 2, 0, 1, 4, 5, 3, 4, 0}, + {"HE", -27, 20, 2, "HEM06", 2, 18, 4, 1, 2, 1, 1, 4, 5, 3, 4, 0}, + {"HE", -27, 20, 3, "HEM06", 2, 14, 5, 0, 2, 4, 1, 4, 5, 4, 4, 0}, + {"HE", -27, 21, 1, "HEM07", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 21, 2, "HEM07", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 21, 3, "HEM07", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 22, 1, "HEM07", 3, 6, 4, 0, 2, 0, 1, 4, 10, 1, 7, 1}, + {"HE", -27, 22, 2, "HEM07", 3, 2, 4, 1, 2, 1, 1, 4, 10, 1, 7, 1}, + {"HE", -27, 22, 3, "HEM07", 3, 5, 5, 0, 2, 4, 1, 4, 10, 2, 7, 1}, + {"HE", -27, 23, 1, "HEM07", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 23, 2, "HEM07", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 23, 3, "HEM07", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 24, 1, "HEM07", 2, 15, 4, 0, 2, 0, 1, 4, 11, 3, 7, 0}, + {"HE", -27, 24, 2, "HEM07", 2, 18, 4, 1, 2, 1, 1, 4, 11, 3, 7, 0}, + {"HE", -27, 24, 3, "HEM07", 2, 14, 5, 0, 2, 4, 1, 4, 11, 4, 7, 0}, + {"HE", -27, 25, 1, "HEM08", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 25, 2, "HEM08", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 25, 3, "HEM08", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 26, 1, "HEM08", 3, 6, 4, 0, 2, 0, 5, 6, 4, 1, 4, 1}, + {"HE", -27, 26, 2, "HEM08", 3, 2, 4, 1, 2, 1, 5, 6, 4, 1, 4, 1}, + {"HE", -27, 26, 3, "HEM08", 3, 5, 5, 0, 2, 4, 5, 6, 4, 2, 4, 1}, + {"HE", -27, 27, 1, "HEM08", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 27, 2, "HEM08", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 27, 3, "HEM08", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 28, 1, "HEM08", 2, 15, 4, 0, 2, 0, 5, 6, 5, 3, 4, 0}, + {"HE", -27, 28, 2, "HEM08", 2, 18, 4, 1, 2, 1, 5, 6, 5, 3, 4, 0}, + {"HE", -27, 28, 3, "HEM08", 2, 14, 5, 0, 2, 4, 5, 6, 5, 4, 4, 0}, + {"HE", -27, 29, 1, "HEM09", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 29, 2, "HEM09", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 29, 3, "HEM09", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 30, 1, "HEM09", 3, 6, 4, 0, 2, 0, 5, 6, 10, 1, 7, 1}, + {"HE", -27, 30, 2, "HEM09", 3, 2, 4, 1, 2, 1, 5, 6, 10, 1, 7, 1}, + {"HE", -27, 30, 3, "HEM09", 3, 5, 5, 0, 2, 4, 5, 6, 10, 2, 7, 1}, + {"HE", -27, 31, 1, "HEM09", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 31, 2, "HEM09", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 31, 3, "HEM09", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 32, 1, "HEM09", 2, 15, 4, 0, 2, 0, 5, 6, 11, 3, 7, 0}, + {"HE", -27, 32, 2, "HEM09", 2, 18, 4, 1, 2, 1, 5, 6, 11, 3, 7, 0}, + {"HE", -27, 32, 3, "HEM09", 2, 14, 5, 0, 2, 4, 5, 6, 11, 4, 7, 0}, + {"HE", -27, 33, 1, "HEM10", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 33, 2, "HEM10", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 33, 3, "HEM10", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 34, 1, "HEM10", 3, 6, 4, 0, 2, 0, 11, 8, 4, 1, 4, 1}, + {"HE", -27, 34, 2, "HEM10", 3, 2, 4, 1, 2, 1, 11, 8, 4, 1, 4, 1}, + {"HE", -27, 34, 3, "HEM10", 3, 5, 5, 0, 2, 4, 11, 8, 4, 2, 4, 1}, + {"HE", -27, 35, 1, "HEM10", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 35, 2, "HEM10", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 35, 3, "HEM10", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 36, 1, "HEM10", 2, 15, 4, 0, 2, 0, 11, 8, 5, 3, 4, 0}, + {"HE", -27, 36, 2, "HEM10", 2, 18, 4, 1, 2, 1, 11, 8, 5, 3, 4, 0}, + {"HE", -27, 36, 3, "HEM10", 2, 14, 5, 0, 2, 4, 11, 8, 5, 4, 4, 0}, + {"HE", -27, 37, 1, "HEM11", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 37, 2, "HEM11", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 37, 3, "HEM11", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 38, 1, "HEM11", 3, 6, 4, 0, 2, 0, 11, 8, 10, 1, 7, 1}, + {"HE", -27, 38, 2, "HEM11", 3, 2, 4, 1, 2, 1, 11, 8, 10, 1, 7, 1}, + {"HE", -27, 38, 3, "HEM11", 3, 5, 5, 0, 2, 4, 11, 8, 10, 2, 7, 1}, + {"HE", -27, 39, 1, "HEM11", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 39, 2, "HEM11", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 39, 3, "HEM11", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 40, 1, "HEM11", 2, 15, 4, 0, 2, 0, 11, 8, 11, 3, 7, 0}, + {"HE", -27, 40, 2, "HEM11", 2, 18, 4, 1, 2, 1, 11, 8, 11, 3, 7, 0}, + {"HE", -27, 40, 3, "HEM11", 2, 14, 5, 0, 2, 4, 11, 8, 11, 4, 7, 0}, + {"HE", -27, 41, 1, "HEM12", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 41, 2, "HEM12", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 41, 3, "HEM12", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 42, 1, "HEM12", 3, 6, 4, 0, 2, 0, 15, 10, 4, 1, 4, 1}, + {"HE", -27, 42, 2, "HEM12", 3, 2, 4, 1, 2, 1, 15, 10, 4, 1, 4, 1}, + {"HE", -27, 42, 3, "HEM12", 3, 5, 5, 0, 2, 4, 15, 10, 4, 2, 4, 1}, + {"HE", -27, 43, 1, "HEM12", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 43, 2, "HEM12", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 43, 3, "HEM12", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 44, 1, "HEM12", 2, 15, 4, 0, 2, 0, 15, 10, 5, 3, 4, 0}, + {"HE", -27, 44, 2, "HEM12", 2, 18, 4, 1, 2, 1, 15, 10, 5, 3, 4, 0}, + {"HE", -27, 44, 3, "HEM12", 2, 14, 5, 0, 2, 4, 15, 10, 5, 4, 4, 0}, + {"HE", -27, 45, 1, "HEM13", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 45, 2, "HEM13", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 45, 3, "HEM13", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 46, 1, "HEM13", 3, 6, 4, 0, 2, 0, 15, 10, 10, 1, 7, 1}, + {"HE", -27, 46, 2, "HEM13", 3, 2, 4, 1, 2, 1, 15, 10, 10, 1, 7, 1}, + {"HE", -27, 46, 3, "HEM13", 3, 5, 5, 0, 2, 4, 15, 10, 10, 2, 7, 1}, + {"HE", -27, 47, 1, "HEM13", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 47, 2, "HEM13", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 47, 3, "HEM13", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 48, 1, "HEM13", 2, 15, 4, 0, 2, 0, 15, 10, 11, 3, 7, 0}, + {"HE", -27, 48, 2, "HEM13", 2, 18, 4, 1, 2, 1, 15, 10, 11, 3, 7, 0}, + {"HE", -27, 48, 3, "HEM13", 2, 14, 5, 0, 2, 4, 15, 10, 11, 4, 7, 0}, + {"HE", -27, 49, 1, "HEM14", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 49, 2, "HEM14", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 49, 3, "HEM14", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 50, 1, "HEM14", 3, 6, 4, 0, 2, 0, 17, 12, 4, 1, 4, 1}, + {"HE", -27, 50, 2, "HEM14", 3, 2, 4, 1, 2, 1, 17, 12, 4, 1, 4, 1}, + {"HE", -27, 50, 3, "HEM14", 3, 5, 5, 0, 2, 4, 17, 12, 4, 2, 4, 1}, + {"HE", -27, 51, 1, "HEM14", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 51, 2, "HEM14", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 51, 3, "HEM14", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 52, 1, "HEM14", 2, 15, 4, 0, 2, 0, 17, 12, 5, 3, 4, 0}, + {"HE", -27, 52, 2, "HEM14", 2, 18, 4, 1, 2, 1, 17, 12, 5, 3, 4, 0}, + {"HE", -27, 52, 3, "HEM14", 2, 14, 5, 0, 2, 4, 17, 12, 5, 4, 4, 0}, + {"HE", -27, 53, 1, "HEM15", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 53, 2, "HEM15", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 53, 3, "HEM15", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 54, 1, "HEM15", 3, 6, 4, 0, 2, 0, 17, 12, 10, 1, 7, 1}, + {"HE", -27, 54, 2, "HEM15", 3, 2, 4, 1, 2, 1, 17, 12, 10, 1, 7, 1}, + {"HE", -27, 54, 3, "HEM15", 3, 5, 5, 0, 2, 4, 17, 12, 10, 2, 7, 1}, + {"HE", -27, 55, 1, "HEM15", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 55, 2, "HEM15", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 55, 3, "HEM15", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 56, 1, "HEM15", 2, 15, 4, 0, 2, 0, 17, 12, 11, 3, 7, 0}, + {"HE", -27, 56, 2, "HEM15", 2, 18, 4, 1, 2, 1, 17, 12, 11, 3, 7, 0}, + {"HE", -27, 56, 3, "HEM15", 2, 14, 5, 0, 2, 4, 17, 12, 11, 4, 7, 0}, + {"HE", -27, 57, 1, "HEM16", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 57, 2, "HEM16", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 57, 3, "HEM16", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 58, 1, "HEM16", 3, 6, 4, 0, 2, 0, 14, 14, 4, 1, 4, 1}, + {"HE", -27, 58, 2, "HEM16", 3, 2, 4, 1, 2, 1, 14, 14, 4, 1, 4, 1}, + {"HE", -27, 58, 3, "HEM16", 3, 5, 5, 0, 2, 4, 14, 14, 4, 2, 4, 1}, + {"HE", -27, 59, 1, "HEM16", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 59, 2, "HEM16", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 59, 3, "HEM16", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 60, 1, "HEM16", 2, 15, 4, 0, 2, 0, 14, 14, 5, 3, 4, 0}, + {"HE", -27, 60, 2, "HEM16", 2, 18, 4, 1, 2, 1, 14, 14, 5, 3, 4, 0}, + {"HE", -27, 60, 3, "HEM16", 2, 14, 5, 0, 2, 4, 14, 14, 5, 4, 4, 0}, + {"HE", -27, 61, 1, "HEM17", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 61, 2, "HEM17", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 61, 3, "HEM17", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 62, 1, "HEM17", 3, 6, 4, 0, 2, 0, 14, 14, 10, 1, 7, 1}, + {"HE", -27, 62, 2, "HEM17", 3, 2, 4, 1, 2, 1, 14, 14, 10, 1, 7, 1}, + {"HE", -27, 62, 3, "HEM17", 3, 5, 5, 0, 2, 4, 14, 14, 10, 2, 7, 1}, + {"HE", -27, 63, 1, "HEM17", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 63, 2, "HEM17", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 63, 3, "HEM17", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 64, 1, "HEM17", 2, 15, 4, 0, 2, 0, 14, 14, 11, 3, 7, 0}, + {"HE", -27, 64, 2, "HEM17", 2, 18, 4, 1, 2, 1, 14, 14, 11, 3, 7, 0}, + {"HE", -27, 64, 3, "HEM17", 2, 14, 5, 0, 2, 4, 14, 14, 11, 4, 7, 0}, + {"HE", -27, 65, 1, "HEM18", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 65, 2, "HEM18", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 65, 3, "HEM18", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 66, 1, "HEM18", 3, 6, 4, 0, 2, 0, 10, 16, 4, 1, 4, 1}, + {"HE", -27, 66, 2, "HEM18", 3, 2, 4, 1, 2, 1, 10, 16, 4, 1, 4, 1}, + {"HE", -27, 66, 3, "HEM18", 3, 5, 5, 0, 2, 4, 10, 16, 4, 2, 4, 1}, + {"HE", -27, 67, 1, "HEM18", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 67, 2, "HEM18", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 67, 3, "HEM18", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 68, 1, "HEM18", 2, 15, 4, 0, 2, 0, 10, 16, 5, 3, 4, 0}, + {"HE", -27, 68, 2, "HEM18", 2, 18, 4, 1, 2, 1, 10, 16, 5, 3, 4, 0}, + {"HE", -27, 68, 3, "HEM18", 2, 14, 5, 0, 2, 4, 10, 16, 5, 4, 4, 0}, + {"HE", -27, 69, 1, "HEM01", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 69, 2, "HEM01", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 69, 3, "HEM01", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -27, 70, 1, "HEM01", 3, 6, 4, 0, 2, 0, 10, 16, 10, 1, 7, 1}, + {"HE", -27, 70, 2, "HEM01", 3, 2, 4, 1, 2, 1, 10, 16, 10, 1, 7, 1}, + {"HE", -27, 70, 3, "HEM01", 3, 5, 5, 0, 2, 4, 10, 16, 10, 2, 7, 1}, + {"HE", -26, 0, 1, "HEM01", 1, 7, 2, 2, 1, 2, 10, 16, 9, 5, 6, 0}, + {"HE", -26, 0, 2, "HEM01", 1, 3, 3, 2, 1, 3, 10, 16, 9, 6, 6, 0}, + {"HE", -26, 0, 3, "HEM01", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 1, 1, "HEM02", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 1, 2, "HEM02", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 1, 3, "HEM02", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 2, 1, "HEM02", 4, 16, 2, 2, 1, 2, 4, 0, 2, 7, 3, 1}, + {"HE", -26, 2, 2, "HEM02", 4, 19, 3, 2, 1, 3, 4, 0, 2, 8, 3, 1}, + {"HE", -26, 2, 3, "HEM02", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 3, 1, "HEM02", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 3, 2, "HEM02", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 3, 3, "HEM02", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 4, 1, "HEM02", 1, 7, 2, 2, 1, 2, 4, 0, 3, 5, 3, 0}, + {"HE", -26, 4, 2, "HEM02", 1, 3, 3, 2, 1, 3, 4, 0, 3, 6, 3, 0}, + {"HE", -26, 4, 3, "HEM02", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 5, 1, "HEM03", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 5, 2, "HEM03", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 5, 3, "HEM03", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 6, 1, "HEM03", 4, 16, 2, 2, 1, 2, 4, 0, 8, 7, 6, 1}, + {"HE", -26, 6, 2, "HEM03", 4, 19, 3, 2, 1, 3, 4, 0, 8, 8, 6, 1}, + {"HE", -26, 6, 3, "HEM03", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 7, 1, "HEM03", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 7, 2, "HEM03", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 7, 3, "HEM03", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 8, 1, "HEM03", 1, 7, 2, 2, 1, 2, 4, 0, 9, 5, 6, 0}, + {"HE", -26, 8, 2, "HEM03", 1, 3, 3, 2, 1, 3, 4, 0, 9, 6, 6, 0}, + {"HE", -26, 8, 3, "HEM03", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 9, 1, "HEM04", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 9, 2, "HEM04", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 9, 3, "HEM04", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 10, 1, "HEM04", 4, 16, 2, 2, 1, 2, 0, 2, 2, 7, 3, 1}, + {"HE", -26, 10, 2, "HEM04", 4, 19, 3, 2, 1, 3, 0, 2, 2, 8, 3, 1}, + {"HE", -26, 10, 3, "HEM04", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 11, 1, "HEM04", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 11, 2, "HEM04", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 11, 3, "HEM04", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 12, 1, "HEM04", 1, 7, 2, 2, 1, 2, 0, 2, 3, 5, 3, 0}, + {"HE", -26, 12, 2, "HEM04", 1, 3, 3, 2, 1, 3, 0, 2, 3, 6, 3, 0}, + {"HE", -26, 12, 3, "HEM04", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 13, 1, "HEM05", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 13, 2, "HEM05", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 13, 3, "HEM05", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 14, 1, "HEM05", 4, 16, 2, 2, 1, 2, 0, 2, 8, 7, 6, 1}, + {"HE", -26, 14, 2, "HEM05", 4, 19, 3, 2, 1, 3, 0, 2, 8, 8, 6, 1}, + {"HE", -26, 14, 3, "HEM05", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 15, 1, "HEM05", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 15, 2, "HEM05", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 15, 3, "HEM05", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 16, 1, "HEM05", 1, 7, 2, 2, 1, 2, 0, 2, 9, 5, 6, 0}, + {"HE", -26, 16, 2, "HEM05", 1, 3, 3, 2, 1, 3, 0, 2, 9, 6, 6, 0}, + {"HE", -26, 16, 3, "HEM05", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 17, 1, "HEM06", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 17, 2, "HEM06", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 17, 3, "HEM06", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 18, 1, "HEM06", 4, 16, 2, 2, 1, 2, 1, 4, 2, 7, 3, 1}, + {"HE", -26, 18, 2, "HEM06", 4, 19, 3, 2, 1, 3, 1, 4, 2, 8, 3, 1}, + {"HE", -26, 18, 3, "HEM06", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 19, 1, "HEM06", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 19, 2, "HEM06", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 19, 3, "HEM06", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 20, 1, "HEM06", 1, 7, 2, 2, 1, 2, 1, 4, 3, 5, 3, 0}, + {"HE", -26, 20, 2, "HEM06", 1, 3, 3, 2, 1, 3, 1, 4, 3, 6, 3, 0}, + {"HE", -26, 20, 3, "HEM06", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 21, 1, "HEM07", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 21, 2, "HEM07", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 21, 3, "HEM07", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 22, 1, "HEM07", 4, 16, 2, 2, 1, 2, 1, 4, 8, 7, 6, 1}, + {"HE", -26, 22, 2, "HEM07", 4, 19, 3, 2, 1, 3, 1, 4, 8, 8, 6, 1}, + {"HE", -26, 22, 3, "HEM07", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 23, 1, "HEM07", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 23, 2, "HEM07", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 23, 3, "HEM07", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 24, 1, "HEM07", 1, 7, 2, 2, 1, 2, 1, 4, 9, 5, 6, 0}, + {"HE", -26, 24, 2, "HEM07", 1, 3, 3, 2, 1, 3, 1, 4, 9, 6, 6, 0}, + {"HE", -26, 24, 3, "HEM07", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 25, 1, "HEM08", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 25, 2, "HEM08", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 25, 3, "HEM08", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 26, 1, "HEM08", 4, 16, 2, 2, 1, 2, 5, 6, 2, 7, 3, 1}, + {"HE", -26, 26, 2, "HEM08", 4, 19, 3, 2, 1, 3, 5, 6, 2, 8, 3, 1}, + {"HE", -26, 26, 3, "HEM08", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 27, 1, "HEM08", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 27, 2, "HEM08", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 27, 3, "HEM08", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 28, 1, "HEM08", 1, 7, 2, 2, 1, 2, 5, 6, 3, 5, 3, 0}, + {"HE", -26, 28, 2, "HEM08", 1, 3, 3, 2, 1, 3, 5, 6, 3, 6, 3, 0}, + {"HE", -26, 28, 3, "HEM08", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 29, 1, "HEM09", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 29, 2, "HEM09", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 29, 3, "HEM09", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 30, 1, "HEM09", 4, 16, 2, 2, 1, 2, 5, 6, 8, 7, 6, 1}, + {"HE", -26, 30, 2, "HEM09", 4, 19, 3, 2, 1, 3, 5, 6, 8, 8, 6, 1}, + {"HE", -26, 30, 3, "HEM09", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 31, 1, "HEM09", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 31, 2, "HEM09", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 31, 3, "HEM09", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 32, 1, "HEM09", 1, 7, 2, 2, 1, 2, 5, 6, 9, 5, 6, 0}, + {"HE", -26, 32, 2, "HEM09", 1, 3, 3, 2, 1, 3, 5, 6, 9, 6, 6, 0}, + {"HE", -26, 32, 3, "HEM09", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 33, 1, "HEM10", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 33, 2, "HEM10", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 33, 3, "HEM10", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 34, 1, "HEM10", 4, 16, 2, 2, 1, 2, 11, 8, 2, 7, 3, 1}, + {"HE", -26, 34, 2, "HEM10", 4, 19, 3, 2, 1, 3, 11, 8, 2, 8, 3, 1}, + {"HE", -26, 34, 3, "HEM10", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 35, 1, "HEM10", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 35, 2, "HEM10", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 35, 3, "HEM10", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 36, 1, "HEM10", 1, 7, 2, 2, 1, 2, 11, 8, 3, 5, 3, 0}, + {"HE", -26, 36, 2, "HEM10", 1, 3, 3, 2, 1, 3, 11, 8, 3, 6, 3, 0}, + {"HE", -26, 36, 3, "HEM10", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 37, 1, "HEM11", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 37, 2, "HEM11", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 37, 3, "HEM11", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 38, 1, "HEM11", 4, 16, 2, 2, 1, 2, 11, 8, 8, 7, 6, 1}, + {"HE", -26, 38, 2, "HEM11", 4, 19, 3, 2, 1, 3, 11, 8, 8, 8, 6, 1}, + {"HE", -26, 38, 3, "HEM11", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 39, 1, "HEM11", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 39, 2, "HEM11", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 39, 3, "HEM11", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 40, 1, "HEM11", 1, 7, 2, 2, 1, 2, 11, 8, 9, 5, 6, 0}, + {"HE", -26, 40, 2, "HEM11", 1, 3, 3, 2, 1, 3, 11, 8, 9, 6, 6, 0}, + {"HE", -26, 40, 3, "HEM11", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 41, 1, "HEM12", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 41, 2, "HEM12", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 41, 3, "HEM12", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 42, 1, "HEM12", 4, 16, 2, 2, 1, 2, 15, 10, 2, 7, 3, 1}, + {"HE", -26, 42, 2, "HEM12", 4, 19, 3, 2, 1, 3, 15, 10, 2, 8, 3, 1}, + {"HE", -26, 42, 3, "HEM12", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 43, 1, "HEM12", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 43, 2, "HEM12", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 43, 3, "HEM12", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 44, 1, "HEM12", 1, 7, 2, 2, 1, 2, 15, 10, 3, 5, 3, 0}, + {"HE", -26, 44, 2, "HEM12", 1, 3, 3, 2, 1, 3, 15, 10, 3, 6, 3, 0}, + {"HE", -26, 44, 3, "HEM12", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 45, 1, "HEM13", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 45, 2, "HEM13", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 45, 3, "HEM13", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 46, 1, "HEM13", 4, 16, 2, 2, 1, 2, 15, 10, 8, 7, 6, 1}, + {"HE", -26, 46, 2, "HEM13", 4, 19, 3, 2, 1, 3, 15, 10, 8, 8, 6, 1}, + {"HE", -26, 46, 3, "HEM13", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 47, 1, "HEM13", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 47, 2, "HEM13", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 47, 3, "HEM13", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 48, 1, "HEM13", 1, 7, 2, 2, 1, 2, 15, 10, 9, 5, 6, 0}, + {"HE", -26, 48, 2, "HEM13", 1, 3, 3, 2, 1, 3, 15, 10, 9, 6, 6, 0}, + {"HE", -26, 48, 3, "HEM13", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 49, 1, "HEM14", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 49, 2, "HEM14", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 49, 3, "HEM14", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 50, 1, "HEM14", 4, 16, 2, 2, 1, 2, 17, 12, 2, 7, 3, 1}, + {"HE", -26, 50, 2, "HEM14", 4, 19, 3, 2, 1, 3, 17, 12, 2, 8, 3, 1}, + {"HE", -26, 50, 3, "HEM14", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 51, 1, "HEM14", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 51, 2, "HEM14", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 51, 3, "HEM14", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 52, 1, "HEM14", 1, 7, 2, 2, 1, 2, 17, 12, 3, 5, 3, 0}, + {"HE", -26, 52, 2, "HEM14", 1, 3, 3, 2, 1, 3, 17, 12, 3, 6, 3, 0}, + {"HE", -26, 52, 3, "HEM14", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 53, 1, "HEM15", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 53, 2, "HEM15", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 53, 3, "HEM15", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 54, 1, "HEM15", 4, 16, 2, 2, 1, 2, 17, 12, 8, 7, 6, 1}, + {"HE", -26, 54, 2, "HEM15", 4, 19, 3, 2, 1, 3, 17, 12, 8, 8, 6, 1}, + {"HE", -26, 54, 3, "HEM15", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 55, 1, "HEM15", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 55, 2, "HEM15", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 55, 3, "HEM15", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 56, 1, "HEM15", 1, 7, 2, 2, 1, 2, 17, 12, 9, 5, 6, 0}, + {"HE", -26, 56, 2, "HEM15", 1, 3, 3, 2, 1, 3, 17, 12, 9, 6, 6, 0}, + {"HE", -26, 56, 3, "HEM15", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 57, 1, "HEM16", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 57, 2, "HEM16", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 57, 3, "HEM16", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 58, 1, "HEM16", 4, 16, 2, 2, 1, 2, 14, 14, 2, 7, 3, 1}, + {"HE", -26, 58, 2, "HEM16", 4, 19, 3, 2, 1, 3, 14, 14, 2, 8, 3, 1}, + {"HE", -26, 58, 3, "HEM16", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 59, 1, "HEM16", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 59, 2, "HEM16", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 59, 3, "HEM16", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 60, 1, "HEM16", 1, 7, 2, 2, 1, 2, 14, 14, 3, 5, 3, 0}, + {"HE", -26, 60, 2, "HEM16", 1, 3, 3, 2, 1, 3, 14, 14, 3, 6, 3, 0}, + {"HE", -26, 60, 3, "HEM16", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 61, 1, "HEM17", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 61, 2, "HEM17", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 61, 3, "HEM17", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 62, 1, "HEM17", 4, 16, 2, 2, 1, 2, 14, 14, 8, 7, 6, 1}, + {"HE", -26, 62, 2, "HEM17", 4, 19, 3, 2, 1, 3, 14, 14, 8, 8, 6, 1}, + {"HE", -26, 62, 3, "HEM17", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 63, 1, "HEM17", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 63, 2, "HEM17", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 63, 3, "HEM17", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 64, 1, "HEM17", 1, 7, 2, 2, 1, 2, 14, 14, 9, 5, 6, 0}, + {"HE", -26, 64, 2, "HEM17", 1, 3, 3, 2, 1, 3, 14, 14, 9, 6, 6, 0}, + {"HE", -26, 64, 3, "HEM17", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 65, 1, "HEM18", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 65, 2, "HEM18", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 65, 3, "HEM18", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 66, 1, "HEM18", 4, 16, 2, 2, 1, 2, 10, 16, 2, 7, 3, 1}, + {"HE", -26, 66, 2, "HEM18", 4, 19, 3, 2, 1, 3, 10, 16, 2, 8, 3, 1}, + {"HE", -26, 66, 3, "HEM18", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 67, 1, "HEM18", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 67, 2, "HEM18", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 67, 3, "HEM18", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 68, 1, "HEM18", 1, 7, 2, 2, 1, 2, 10, 16, 3, 5, 3, 0}, + {"HE", -26, 68, 2, "HEM18", 1, 3, 3, 2, 1, 3, 10, 16, 3, 6, 3, 0}, + {"HE", -26, 68, 3, "HEM18", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 69, 1, "HEM01", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 69, 2, "HEM01", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 69, 3, "HEM01", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -26, 70, 1, "HEM01", 4, 16, 2, 2, 1, 2, 10, 16, 8, 7, 6, 1}, + {"HE", -26, 70, 2, "HEM01", 4, 19, 3, 2, 1, 3, 10, 16, 8, 8, 6, 1}, + {"HE", -26, 70, 3, "HEM01", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 0, 1, "HEM01", 2, 16, 2, 2, 1, 2, 10, 16, 9, 7, 6, 0}, + {"HE", -25, 0, 2, "HEM01", 2, 19, 3, 2, 1, 3, 10, 16, 9, 8, 6, 0}, + {"HE", -25, 0, 3, "HEM01", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 1, 1, "HEM02", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 1, 2, "HEM02", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 1, 3, "HEM02", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 2, 1, "HEM02", 3, 7, 2, 2, 1, 2, 4, 0, 2, 5, 3, 1}, + {"HE", -25, 2, 2, "HEM02", 3, 3, 3, 2, 1, 3, 4, 0, 2, 6, 3, 1}, + {"HE", -25, 2, 3, "HEM02", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 3, 1, "HEM02", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 3, 2, "HEM02", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 3, 3, "HEM02", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 4, 1, "HEM02", 2, 16, 2, 2, 1, 2, 4, 0, 3, 7, 3, 0}, + {"HE", -25, 4, 2, "HEM02", 2, 19, 3, 2, 1, 3, 4, 0, 3, 8, 3, 0}, + {"HE", -25, 4, 3, "HEM02", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 5, 1, "HEM03", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 5, 2, "HEM03", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 5, 3, "HEM03", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 6, 1, "HEM03", 3, 7, 2, 2, 1, 2, 4, 0, 8, 5, 6, 1}, + {"HE", -25, 6, 2, "HEM03", 3, 3, 3, 2, 1, 3, 4, 0, 8, 6, 6, 1}, + {"HE", -25, 6, 3, "HEM03", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 7, 1, "HEM03", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 7, 2, "HEM03", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 7, 3, "HEM03", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 8, 1, "HEM03", 2, 16, 2, 2, 1, 2, 4, 0, 9, 7, 6, 0}, + {"HE", -25, 8, 2, "HEM03", 2, 19, 3, 2, 1, 3, 4, 0, 9, 8, 6, 0}, + {"HE", -25, 8, 3, "HEM03", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 9, 1, "HEM04", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 9, 2, "HEM04", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 9, 3, "HEM04", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 10, 1, "HEM04", 3, 7, 2, 2, 1, 2, 0, 2, 2, 5, 3, 1}, + {"HE", -25, 10, 2, "HEM04", 3, 3, 3, 2, 1, 3, 0, 2, 2, 6, 3, 1}, + {"HE", -25, 10, 3, "HEM04", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 11, 1, "HEM04", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 11, 2, "HEM04", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 11, 3, "HEM04", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 12, 1, "HEM04", 2, 16, 2, 2, 1, 2, 0, 2, 3, 7, 3, 0}, + {"HE", -25, 12, 2, "HEM04", 2, 19, 3, 2, 1, 3, 0, 2, 3, 8, 3, 0}, + {"HE", -25, 12, 3, "HEM04", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 13, 1, "HEM05", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 13, 2, "HEM05", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 13, 3, "HEM05", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 14, 1, "HEM05", 3, 7, 2, 2, 1, 2, 0, 2, 8, 5, 6, 1}, + {"HE", -25, 14, 2, "HEM05", 3, 3, 3, 2, 1, 3, 0, 2, 8, 6, 6, 1}, + {"HE", -25, 14, 3, "HEM05", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 15, 1, "HEM05", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 15, 2, "HEM05", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 15, 3, "HEM05", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 16, 1, "HEM05", 2, 16, 2, 2, 1, 2, 0, 2, 9, 7, 6, 0}, + {"HE", -25, 16, 2, "HEM05", 2, 19, 3, 2, 1, 3, 0, 2, 9, 8, 6, 0}, + {"HE", -25, 16, 3, "HEM05", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 17, 1, "HEM06", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 17, 2, "HEM06", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 17, 3, "HEM06", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 18, 1, "HEM06", 3, 7, 2, 2, 1, 2, 1, 4, 2, 5, 3, 1}, + {"HE", -25, 18, 2, "HEM06", 3, 3, 3, 2, 1, 3, 1, 4, 2, 6, 3, 1}, + {"HE", -25, 18, 3, "HEM06", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 19, 1, "HEM06", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 19, 2, "HEM06", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 19, 3, "HEM06", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 20, 1, "HEM06", 2, 16, 2, 2, 1, 2, 1, 4, 3, 7, 3, 0}, + {"HE", -25, 20, 2, "HEM06", 2, 19, 3, 2, 1, 3, 1, 4, 3, 8, 3, 0}, + {"HE", -25, 20, 3, "HEM06", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 21, 1, "HEM07", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 21, 2, "HEM07", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 21, 3, "HEM07", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 22, 1, "HEM07", 3, 7, 2, 2, 1, 2, 1, 4, 8, 5, 6, 1}, + {"HE", -25, 22, 2, "HEM07", 3, 3, 3, 2, 1, 3, 1, 4, 8, 6, 6, 1}, + {"HE", -25, 22, 3, "HEM07", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 23, 1, "HEM07", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 23, 2, "HEM07", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 23, 3, "HEM07", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 24, 1, "HEM07", 2, 16, 2, 2, 1, 2, 1, 4, 9, 7, 6, 0}, + {"HE", -25, 24, 2, "HEM07", 2, 19, 3, 2, 1, 3, 1, 4, 9, 8, 6, 0}, + {"HE", -25, 24, 3, "HEM07", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 25, 1, "HEM08", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 25, 2, "HEM08", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 25, 3, "HEM08", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 26, 1, "HEM08", 3, 7, 2, 2, 1, 2, 5, 6, 2, 5, 3, 1}, + {"HE", -25, 26, 2, "HEM08", 3, 3, 3, 2, 1, 3, 5, 6, 2, 6, 3, 1}, + {"HE", -25, 26, 3, "HEM08", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 27, 1, "HEM08", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 27, 2, "HEM08", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 27, 3, "HEM08", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 28, 1, "HEM08", 2, 16, 2, 2, 1, 2, 5, 6, 3, 7, 3, 0}, + {"HE", -25, 28, 2, "HEM08", 2, 19, 3, 2, 1, 3, 5, 6, 3, 8, 3, 0}, + {"HE", -25, 28, 3, "HEM08", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 29, 1, "HEM09", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 29, 2, "HEM09", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 29, 3, "HEM09", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 30, 1, "HEM09", 3, 7, 2, 2, 1, 2, 5, 6, 8, 5, 6, 1}, + {"HE", -25, 30, 2, "HEM09", 3, 3, 3, 2, 1, 3, 5, 6, 8, 6, 6, 1}, + {"HE", -25, 30, 3, "HEM09", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 31, 1, "HEM09", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 31, 2, "HEM09", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 31, 3, "HEM09", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 32, 1, "HEM09", 2, 16, 2, 2, 1, 2, 5, 6, 9, 7, 6, 0}, + {"HE", -25, 32, 2, "HEM09", 2, 19, 3, 2, 1, 3, 5, 6, 9, 8, 6, 0}, + {"HE", -25, 32, 3, "HEM09", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 33, 1, "HEM10", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 33, 2, "HEM10", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 33, 3, "HEM10", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 34, 1, "HEM10", 3, 7, 2, 2, 1, 2, 11, 8, 2, 5, 3, 1}, + {"HE", -25, 34, 2, "HEM10", 3, 3, 3, 2, 1, 3, 11, 8, 2, 6, 3, 1}, + {"HE", -25, 34, 3, "HEM10", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 35, 1, "HEM10", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 35, 2, "HEM10", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 35, 3, "HEM10", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 36, 1, "HEM10", 2, 16, 2, 2, 1, 2, 11, 8, 3, 7, 3, 0}, + {"HE", -25, 36, 2, "HEM10", 2, 19, 3, 2, 1, 3, 11, 8, 3, 8, 3, 0}, + {"HE", -25, 36, 3, "HEM10", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 37, 1, "HEM11", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 37, 2, "HEM11", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 37, 3, "HEM11", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 38, 1, "HEM11", 3, 7, 2, 2, 1, 2, 11, 8, 8, 5, 6, 1}, + {"HE", -25, 38, 2, "HEM11", 3, 3, 3, 2, 1, 3, 11, 8, 8, 6, 6, 1}, + {"HE", -25, 38, 3, "HEM11", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 39, 1, "HEM11", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 39, 2, "HEM11", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 39, 3, "HEM11", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 40, 1, "HEM11", 2, 16, 2, 2, 1, 2, 11, 8, 9, 7, 6, 0}, + {"HE", -25, 40, 2, "HEM11", 2, 19, 3, 2, 1, 3, 11, 8, 9, 8, 6, 0}, + {"HE", -25, 40, 3, "HEM11", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 41, 1, "HEM12", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 41, 2, "HEM12", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 41, 3, "HEM12", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 42, 1, "HEM12", 3, 7, 2, 2, 1, 2, 15, 10, 2, 5, 3, 1}, + {"HE", -25, 42, 2, "HEM12", 3, 3, 3, 2, 1, 3, 15, 10, 2, 6, 3, 1}, + {"HE", -25, 42, 3, "HEM12", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 43, 1, "HEM12", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 43, 2, "HEM12", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 43, 3, "HEM12", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 44, 1, "HEM12", 2, 16, 2, 2, 1, 2, 15, 10, 3, 7, 3, 0}, + {"HE", -25, 44, 2, "HEM12", 2, 19, 3, 2, 1, 3, 15, 10, 3, 8, 3, 0}, + {"HE", -25, 44, 3, "HEM12", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 45, 1, "HEM13", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 45, 2, "HEM13", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 45, 3, "HEM13", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 46, 1, "HEM13", 3, 7, 2, 2, 1, 2, 15, 10, 8, 5, 6, 1}, + {"HE", -25, 46, 2, "HEM13", 3, 3, 3, 2, 1, 3, 15, 10, 8, 6, 6, 1}, + {"HE", -25, 46, 3, "HEM13", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 47, 1, "HEM13", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 47, 2, "HEM13", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 47, 3, "HEM13", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 48, 1, "HEM13", 2, 16, 2, 2, 1, 2, 15, 10, 9, 7, 6, 0}, + {"HE", -25, 48, 2, "HEM13", 2, 19, 3, 2, 1, 3, 15, 10, 9, 8, 6, 0}, + {"HE", -25, 48, 3, "HEM13", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 49, 1, "HEM14", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 49, 2, "HEM14", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 49, 3, "HEM14", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 50, 1, "HEM14", 3, 7, 2, 2, 1, 2, 17, 12, 2, 5, 3, 1}, + {"HE", -25, 50, 2, "HEM14", 3, 3, 3, 2, 1, 3, 17, 12, 2, 6, 3, 1}, + {"HE", -25, 50, 3, "HEM14", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 51, 1, "HEM14", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 51, 2, "HEM14", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 51, 3, "HEM14", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 52, 1, "HEM14", 2, 16, 2, 2, 1, 2, 17, 12, 3, 7, 3, 0}, + {"HE", -25, 52, 2, "HEM14", 2, 19, 3, 2, 1, 3, 17, 12, 3, 8, 3, 0}, + {"HE", -25, 52, 3, "HEM14", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 53, 1, "HEM15", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 53, 2, "HEM15", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 53, 3, "HEM15", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 54, 1, "HEM15", 3, 7, 2, 2, 1, 2, 17, 12, 8, 5, 6, 1}, + {"HE", -25, 54, 2, "HEM15", 3, 3, 3, 2, 1, 3, 17, 12, 8, 6, 6, 1}, + {"HE", -25, 54, 3, "HEM15", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 55, 1, "HEM15", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 55, 2, "HEM15", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 55, 3, "HEM15", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 56, 1, "HEM15", 2, 16, 2, 2, 1, 2, 17, 12, 9, 7, 6, 0}, + {"HE", -25, 56, 2, "HEM15", 2, 19, 3, 2, 1, 3, 17, 12, 9, 8, 6, 0}, + {"HE", -25, 56, 3, "HEM15", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 57, 1, "HEM16", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 57, 2, "HEM16", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 57, 3, "HEM16", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 58, 1, "HEM16", 3, 7, 2, 2, 1, 2, 14, 14, 2, 5, 3, 1}, + {"HE", -25, 58, 2, "HEM16", 3, 3, 3, 2, 1, 3, 14, 14, 2, 6, 3, 1}, + {"HE", -25, 58, 3, "HEM16", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 59, 1, "HEM16", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 59, 2, "HEM16", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 59, 3, "HEM16", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 60, 1, "HEM16", 2, 16, 2, 2, 1, 2, 14, 14, 3, 7, 3, 0}, + {"HE", -25, 60, 2, "HEM16", 2, 19, 3, 2, 1, 3, 14, 14, 3, 8, 3, 0}, + {"HE", -25, 60, 3, "HEM16", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 61, 1, "HEM17", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 61, 2, "HEM17", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 61, 3, "HEM17", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 62, 1, "HEM17", 3, 7, 2, 2, 1, 2, 14, 14, 8, 5, 6, 1}, + {"HE", -25, 62, 2, "HEM17", 3, 3, 3, 2, 1, 3, 14, 14, 8, 6, 6, 1}, + {"HE", -25, 62, 3, "HEM17", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 63, 1, "HEM17", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 63, 2, "HEM17", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 63, 3, "HEM17", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 64, 1, "HEM17", 2, 16, 2, 2, 1, 2, 14, 14, 9, 7, 6, 0}, + {"HE", -25, 64, 2, "HEM17", 2, 19, 3, 2, 1, 3, 14, 14, 9, 8, 6, 0}, + {"HE", -25, 64, 3, "HEM17", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 65, 1, "HEM18", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 65, 2, "HEM18", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 65, 3, "HEM18", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 66, 1, "HEM18", 3, 7, 2, 2, 1, 2, 10, 16, 2, 5, 3, 1}, + {"HE", -25, 66, 2, "HEM18", 3, 3, 3, 2, 1, 3, 10, 16, 2, 6, 3, 1}, + {"HE", -25, 66, 3, "HEM18", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 67, 1, "HEM18", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 67, 2, "HEM18", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 67, 3, "HEM18", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 68, 1, "HEM18", 2, 16, 2, 2, 1, 2, 10, 16, 3, 7, 3, 0}, + {"HE", -25, 68, 2, "HEM18", 2, 19, 3, 2, 1, 3, 10, 16, 3, 8, 3, 0}, + {"HE", -25, 68, 3, "HEM18", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 69, 1, "HEM01", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 69, 2, "HEM01", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 69, 3, "HEM01", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -25, 70, 1, "HEM01", 3, 7, 2, 2, 1, 2, 10, 16, 8, 5, 6, 1}, + {"HE", -25, 70, 2, "HEM01", 3, 3, 3, 2, 1, 3, 10, 16, 8, 6, 6, 1}, + {"HE", -25, 70, 3, "HEM01", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 0, 1, "HEM01", 1, 18, 5, 2, 2, 3, 10, 16, 11, 2, 7, 0}, + {"HE", -24, 0, 2, "HEM01", 1, 14, 5, 1, 2, 5, 10, 16, 11, 2, 7, 0}, + {"HE", -24, 0, 3, "HEM01", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 1, 1, "HEM02", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 1, 2, "HEM02", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 1, 3, "HEM02", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 2, 1, "HEM02", 4, 2, 5, 2, 2, 3, 4, 0, 4, 4, 4, 1}, + {"HE", -24, 2, 2, "HEM02", 4, 5, 5, 1, 2, 5, 4, 0, 4, 4, 4, 1}, + {"HE", -24, 2, 3, "HEM02", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 3, 1, "HEM02", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 3, 2, "HEM02", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 3, 3, "HEM02", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 4, 1, "HEM02", 1, 18, 5, 2, 2, 3, 4, 0, 5, 2, 4, 0}, + {"HE", -24, 4, 2, "HEM02", 1, 14, 5, 1, 2, 5, 4, 0, 5, 2, 4, 0}, + {"HE", -24, 4, 3, "HEM02", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 5, 1, "HEM03", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 5, 2, "HEM03", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 5, 3, "HEM03", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 6, 1, "HEM03", 4, 2, 5, 2, 2, 3, 4, 0, 10, 4, 7, 1}, + {"HE", -24, 6, 2, "HEM03", 4, 5, 5, 1, 2, 5, 4, 0, 10, 4, 7, 1}, + {"HE", -24, 6, 3, "HEM03", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 7, 1, "HEM03", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 7, 2, "HEM03", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 7, 3, "HEM03", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 8, 1, "HEM03", 1, 18, 5, 2, 2, 3, 4, 0, 11, 2, 7, 0}, + {"HE", -24, 8, 2, "HEM03", 1, 14, 5, 1, 2, 5, 4, 0, 11, 2, 7, 0}, + {"HE", -24, 8, 3, "HEM03", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 9, 1, "HEM04", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 9, 2, "HEM04", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 9, 3, "HEM04", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 10, 1, "HEM04", 4, 2, 5, 2, 2, 3, 0, 2, 4, 4, 4, 1}, + {"HE", -24, 10, 2, "HEM04", 4, 5, 5, 1, 2, 5, 0, 2, 4, 4, 4, 1}, + {"HE", -24, 10, 3, "HEM04", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 11, 1, "HEM04", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 11, 2, "HEM04", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 11, 3, "HEM04", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 12, 1, "HEM04", 1, 18, 5, 2, 2, 3, 0, 2, 5, 2, 4, 0}, + {"HE", -24, 12, 2, "HEM04", 1, 14, 5, 1, 2, 5, 0, 2, 5, 2, 4, 0}, + {"HE", -24, 12, 3, "HEM04", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 13, 1, "HEM05", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 13, 2, "HEM05", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 13, 3, "HEM05", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 14, 1, "HEM05", 4, 2, 5, 2, 2, 3, 0, 2, 10, 4, 7, 1}, + {"HE", -24, 14, 2, "HEM05", 4, 5, 5, 1, 2, 5, 0, 2, 10, 4, 7, 1}, + {"HE", -24, 14, 3, "HEM05", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 15, 1, "HEM05", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 15, 2, "HEM05", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 15, 3, "HEM05", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 16, 1, "HEM05", 1, 18, 5, 2, 2, 3, 0, 2, 11, 2, 7, 0}, + {"HE", -24, 16, 2, "HEM05", 1, 14, 5, 1, 2, 5, 0, 2, 11, 2, 7, 0}, + {"HE", -24, 16, 3, "HEM05", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 17, 1, "HEM06", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 17, 2, "HEM06", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 17, 3, "HEM06", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 18, 1, "HEM06", 4, 2, 5, 2, 2, 3, 1, 4, 4, 4, 4, 1}, + {"HE", -24, 18, 2, "HEM06", 4, 5, 5, 1, 2, 5, 1, 4, 4, 4, 4, 1}, + {"HE", -24, 18, 3, "HEM06", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 19, 1, "HEM06", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 19, 2, "HEM06", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 19, 3, "HEM06", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 20, 1, "HEM06", 1, 18, 5, 2, 2, 3, 1, 4, 5, 2, 4, 0}, + {"HE", -24, 20, 2, "HEM06", 1, 14, 5, 1, 2, 5, 1, 4, 5, 2, 4, 0}, + {"HE", -24, 20, 3, "HEM06", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 21, 1, "HEM07", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 21, 2, "HEM07", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 21, 3, "HEM07", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 22, 1, "HEM07", 4, 2, 5, 2, 2, 3, 1, 4, 10, 4, 7, 1}, + {"HE", -24, 22, 2, "HEM07", 4, 5, 5, 1, 2, 5, 1, 4, 10, 4, 7, 1}, + {"HE", -24, 22, 3, "HEM07", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 23, 1, "HEM07", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 23, 2, "HEM07", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 23, 3, "HEM07", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 24, 1, "HEM07", 1, 18, 5, 2, 2, 3, 1, 4, 11, 2, 7, 0}, + {"HE", -24, 24, 2, "HEM07", 1, 14, 5, 1, 2, 5, 1, 4, 11, 2, 7, 0}, + {"HE", -24, 24, 3, "HEM07", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 25, 1, "HEM08", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 25, 2, "HEM08", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 25, 3, "HEM08", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 26, 1, "HEM08", 4, 2, 5, 2, 2, 3, 5, 6, 4, 4, 4, 1}, + {"HE", -24, 26, 2, "HEM08", 4, 5, 5, 1, 2, 5, 5, 6, 4, 4, 4, 1}, + {"HE", -24, 26, 3, "HEM08", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 27, 1, "HEM08", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 27, 2, "HEM08", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 27, 3, "HEM08", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 28, 1, "HEM08", 1, 18, 5, 2, 2, 3, 5, 6, 5, 2, 4, 0}, + {"HE", -24, 28, 2, "HEM08", 1, 14, 5, 1, 2, 5, 5, 6, 5, 2, 4, 0}, + {"HE", -24, 28, 3, "HEM08", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 29, 1, "HEM09", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 29, 2, "HEM09", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 29, 3, "HEM09", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 30, 1, "HEM09", 4, 2, 5, 2, 2, 3, 5, 6, 10, 4, 7, 1}, + {"HE", -24, 30, 2, "HEM09", 4, 5, 5, 1, 2, 5, 5, 6, 10, 4, 7, 1}, + {"HE", -24, 30, 3, "HEM09", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 31, 1, "HEM09", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 31, 2, "HEM09", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 31, 3, "HEM09", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 32, 1, "HEM09", 1, 18, 5, 2, 2, 3, 5, 6, 11, 2, 7, 0}, + {"HE", -24, 32, 2, "HEM09", 1, 14, 5, 1, 2, 5, 5, 6, 11, 2, 7, 0}, + {"HE", -24, 32, 3, "HEM09", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 33, 1, "HEM10", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 33, 2, "HEM10", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 33, 3, "HEM10", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 34, 1, "HEM10", 4, 2, 5, 2, 2, 3, 11, 8, 4, 4, 4, 1}, + {"HE", -24, 34, 2, "HEM10", 4, 5, 5, 1, 2, 5, 11, 8, 4, 4, 4, 1}, + {"HE", -24, 34, 3, "HEM10", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 35, 1, "HEM10", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 35, 2, "HEM10", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 35, 3, "HEM10", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 36, 1, "HEM10", 1, 18, 5, 2, 2, 3, 11, 8, 5, 2, 4, 0}, + {"HE", -24, 36, 2, "HEM10", 1, 14, 5, 1, 2, 5, 11, 8, 5, 2, 4, 0}, + {"HE", -24, 36, 3, "HEM10", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 37, 1, "HEM11", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 37, 2, "HEM11", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 37, 3, "HEM11", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 38, 1, "HEM11", 4, 2, 5, 2, 2, 3, 11, 8, 10, 4, 7, 1}, + {"HE", -24, 38, 2, "HEM11", 4, 5, 5, 1, 2, 5, 11, 8, 10, 4, 7, 1}, + {"HE", -24, 38, 3, "HEM11", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 39, 1, "HEM11", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 39, 2, "HEM11", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 39, 3, "HEM11", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 40, 1, "HEM11", 1, 18, 5, 2, 2, 3, 11, 8, 11, 2, 7, 0}, + {"HE", -24, 40, 2, "HEM11", 1, 14, 5, 1, 2, 5, 11, 8, 11, 2, 7, 0}, + {"HE", -24, 40, 3, "HEM11", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 41, 1, "HEM12", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 41, 2, "HEM12", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 41, 3, "HEM12", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 42, 1, "HEM12", 4, 2, 5, 2, 2, 3, 15, 10, 4, 4, 4, 1}, + {"HE", -24, 42, 2, "HEM12", 4, 5, 5, 1, 2, 5, 15, 10, 4, 4, 4, 1}, + {"HE", -24, 42, 3, "HEM12", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 43, 1, "HEM12", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 43, 2, "HEM12", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 43, 3, "HEM12", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 44, 1, "HEM12", 1, 18, 5, 2, 2, 3, 15, 10, 5, 2, 4, 0}, + {"HE", -24, 44, 2, "HEM12", 1, 14, 5, 1, 2, 5, 15, 10, 5, 2, 4, 0}, + {"HE", -24, 44, 3, "HEM12", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 45, 1, "HEM13", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 45, 2, "HEM13", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 45, 3, "HEM13", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 46, 1, "HEM13", 4, 2, 5, 2, 2, 3, 15, 10, 10, 4, 7, 1}, + {"HE", -24, 46, 2, "HEM13", 4, 5, 5, 1, 2, 5, 15, 10, 10, 4, 7, 1}, + {"HE", -24, 46, 3, "HEM13", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 47, 1, "HEM13", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 47, 2, "HEM13", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 47, 3, "HEM13", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 48, 1, "HEM13", 1, 18, 5, 2, 2, 3, 15, 10, 11, 2, 7, 0}, + {"HE", -24, 48, 2, "HEM13", 1, 14, 5, 1, 2, 5, 15, 10, 11, 2, 7, 0}, + {"HE", -24, 48, 3, "HEM13", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 49, 1, "HEM14", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 49, 2, "HEM14", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 49, 3, "HEM14", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 50, 1, "HEM14", 4, 2, 5, 2, 2, 3, 17, 12, 4, 4, 4, 1}, + {"HE", -24, 50, 2, "HEM14", 4, 5, 5, 1, 2, 5, 17, 12, 4, 4, 4, 1}, + {"HE", -24, 50, 3, "HEM14", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 51, 1, "HEM14", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 51, 2, "HEM14", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 51, 3, "HEM14", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 52, 1, "HEM14", 1, 18, 5, 2, 2, 3, 17, 12, 5, 2, 4, 0}, + {"HE", -24, 52, 2, "HEM14", 1, 14, 5, 1, 2, 5, 17, 12, 5, 2, 4, 0}, + {"HE", -24, 52, 3, "HEM14", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 53, 1, "HEM15", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 53, 2, "HEM15", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 53, 3, "HEM15", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 54, 1, "HEM15", 4, 2, 5, 2, 2, 3, 17, 12, 10, 4, 7, 1}, + {"HE", -24, 54, 2, "HEM15", 4, 5, 5, 1, 2, 5, 17, 12, 10, 4, 7, 1}, + {"HE", -24, 54, 3, "HEM15", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 55, 1, "HEM15", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 55, 2, "HEM15", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 55, 3, "HEM15", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 56, 1, "HEM15", 1, 18, 5, 2, 2, 3, 17, 12, 11, 2, 7, 0}, + {"HE", -24, 56, 2, "HEM15", 1, 14, 5, 1, 2, 5, 17, 12, 11, 2, 7, 0}, + {"HE", -24, 56, 3, "HEM15", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 57, 1, "HEM16", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 57, 2, "HEM16", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 57, 3, "HEM16", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 58, 1, "HEM16", 4, 2, 5, 2, 2, 3, 14, 14, 4, 4, 4, 1}, + {"HE", -24, 58, 2, "HEM16", 4, 5, 5, 1, 2, 5, 14, 14, 4, 4, 4, 1}, + {"HE", -24, 58, 3, "HEM16", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 59, 1, "HEM16", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 59, 2, "HEM16", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 59, 3, "HEM16", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 60, 1, "HEM16", 1, 18, 5, 2, 2, 3, 14, 14, 5, 2, 4, 0}, + {"HE", -24, 60, 2, "HEM16", 1, 14, 5, 1, 2, 5, 14, 14, 5, 2, 4, 0}, + {"HE", -24, 60, 3, "HEM16", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 61, 1, "HEM17", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 61, 2, "HEM17", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 61, 3, "HEM17", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 62, 1, "HEM17", 4, 2, 5, 2, 2, 3, 14, 14, 10, 4, 7, 1}, + {"HE", -24, 62, 2, "HEM17", 4, 5, 5, 1, 2, 5, 14, 14, 10, 4, 7, 1}, + {"HE", -24, 62, 3, "HEM17", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 63, 1, "HEM17", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 63, 2, "HEM17", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 63, 3, "HEM17", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 64, 1, "HEM17", 1, 18, 5, 2, 2, 3, 14, 14, 11, 2, 7, 0}, + {"HE", -24, 64, 2, "HEM17", 1, 14, 5, 1, 2, 5, 14, 14, 11, 2, 7, 0}, + {"HE", -24, 64, 3, "HEM17", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 65, 1, "HEM18", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 65, 2, "HEM18", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 65, 3, "HEM18", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 66, 1, "HEM18", 4, 2, 5, 2, 2, 3, 10, 16, 4, 4, 4, 1}, + {"HE", -24, 66, 2, "HEM18", 4, 5, 5, 1, 2, 5, 10, 16, 4, 4, 4, 1}, + {"HE", -24, 66, 3, "HEM18", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 67, 1, "HEM18", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 67, 2, "HEM18", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 67, 3, "HEM18", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 68, 1, "HEM18", 1, 18, 5, 2, 2, 3, 10, 16, 5, 2, 4, 0}, + {"HE", -24, 68, 2, "HEM18", 1, 14, 5, 1, 2, 5, 10, 16, 5, 2, 4, 0}, + {"HE", -24, 68, 3, "HEM18", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 69, 1, "HEM01", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 69, 2, "HEM01", 4, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 69, 3, "HEM01", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -24, 70, 1, "HEM01", 4, 2, 5, 2, 2, 3, 10, 16, 10, 4, 7, 1}, + {"HE", -24, 70, 2, "HEM01", 4, 5, 5, 1, 2, 5, 10, 16, 10, 4, 7, 1}, + {"HE", -24, 70, 3, "HEM01", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 0, 1, "HEM01", 2, 2, 5, 2, 2, 3, 10, 16, 11, 4, 7, 0}, + {"HE", -23, 0, 2, "HEM01", 2, 5, 5, 1, 2, 5, 10, 16, 11, 4, 7, 0}, + {"HE", -23, 0, 3, "HEM01", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 1, 1, "HEM02", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 1, 2, "HEM02", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 1, 3, "HEM02", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 2, 1, "HEM02", 3, 18, 5, 2, 2, 3, 4, 0, 4, 2, 4, 1}, + {"HE", -23, 2, 2, "HEM02", 3, 14, 5, 1, 2, 5, 4, 0, 4, 2, 4, 1}, + {"HE", -23, 2, 3, "HEM02", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 3, 1, "HEM02", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 3, 2, "HEM02", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 3, 3, "HEM02", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 4, 1, "HEM02", 2, 2, 5, 2, 2, 3, 4, 0, 5, 4, 4, 0}, + {"HE", -23, 4, 2, "HEM02", 2, 5, 5, 1, 2, 5, 4, 0, 5, 4, 4, 0}, + {"HE", -23, 4, 3, "HEM02", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 5, 1, "HEM03", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 5, 2, "HEM03", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 5, 3, "HEM03", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 6, 1, "HEM03", 3, 18, 5, 2, 2, 3, 4, 0, 10, 2, 7, 1}, + {"HE", -23, 6, 2, "HEM03", 3, 14, 5, 1, 2, 5, 4, 0, 10, 2, 7, 1}, + {"HE", -23, 6, 3, "HEM03", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 7, 1, "HEM03", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 7, 2, "HEM03", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 7, 3, "HEM03", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 8, 1, "HEM03", 2, 2, 5, 2, 2, 3, 4, 0, 11, 4, 7, 0}, + {"HE", -23, 8, 2, "HEM03", 2, 5, 5, 1, 2, 5, 4, 0, 11, 4, 7, 0}, + {"HE", -23, 8, 3, "HEM03", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 9, 1, "HEM04", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 9, 2, "HEM04", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 9, 3, "HEM04", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 10, 1, "HEM04", 3, 18, 5, 2, 2, 3, 0, 2, 4, 2, 4, 1}, + {"HE", -23, 10, 2, "HEM04", 3, 14, 5, 1, 2, 5, 0, 2, 4, 2, 4, 1}, + {"HE", -23, 10, 3, "HEM04", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 11, 1, "HEM04", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 11, 2, "HEM04", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 11, 3, "HEM04", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 12, 1, "HEM04", 2, 2, 5, 2, 2, 3, 0, 2, 5, 4, 4, 0}, + {"HE", -23, 12, 2, "HEM04", 2, 5, 5, 1, 2, 5, 0, 2, 5, 4, 4, 0}, + {"HE", -23, 12, 3, "HEM04", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 13, 1, "HEM05", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 13, 2, "HEM05", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 13, 3, "HEM05", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 14, 1, "HEM05", 3, 18, 5, 2, 2, 3, 0, 2, 10, 2, 7, 1}, + {"HE", -23, 14, 2, "HEM05", 3, 14, 5, 1, 2, 5, 0, 2, 10, 2, 7, 1}, + {"HE", -23, 14, 3, "HEM05", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 15, 1, "HEM05", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 15, 2, "HEM05", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 15, 3, "HEM05", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 16, 1, "HEM05", 2, 2, 5, 2, 2, 3, 0, 2, 11, 4, 7, 0}, + {"HE", -23, 16, 2, "HEM05", 2, 5, 5, 1, 2, 5, 0, 2, 11, 4, 7, 0}, + {"HE", -23, 16, 3, "HEM05", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 17, 1, "HEM06", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 17, 2, "HEM06", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 17, 3, "HEM06", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 18, 1, "HEM06", 3, 18, 5, 2, 2, 3, 1, 4, 4, 2, 4, 1}, + {"HE", -23, 18, 2, "HEM06", 3, 14, 5, 1, 2, 5, 1, 4, 4, 2, 4, 1}, + {"HE", -23, 18, 3, "HEM06", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 19, 1, "HEM06", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 19, 2, "HEM06", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 19, 3, "HEM06", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 20, 1, "HEM06", 2, 2, 5, 2, 2, 3, 1, 4, 5, 4, 4, 0}, + {"HE", -23, 20, 2, "HEM06", 2, 5, 5, 1, 2, 5, 1, 4, 5, 4, 4, 0}, + {"HE", -23, 20, 3, "HEM06", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 21, 1, "HEM07", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 21, 2, "HEM07", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 21, 3, "HEM07", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 22, 1, "HEM07", 3, 18, 5, 2, 2, 3, 1, 4, 10, 2, 7, 1}, + {"HE", -23, 22, 2, "HEM07", 3, 14, 5, 1, 2, 5, 1, 4, 10, 2, 7, 1}, + {"HE", -23, 22, 3, "HEM07", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 23, 1, "HEM07", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 23, 2, "HEM07", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 23, 3, "HEM07", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 24, 1, "HEM07", 2, 2, 5, 2, 2, 3, 1, 4, 11, 4, 7, 0}, + {"HE", -23, 24, 2, "HEM07", 2, 5, 5, 1, 2, 5, 1, 4, 11, 4, 7, 0}, + {"HE", -23, 24, 3, "HEM07", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 25, 1, "HEM08", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 25, 2, "HEM08", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 25, 3, "HEM08", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 26, 1, "HEM08", 3, 18, 5, 2, 2, 3, 5, 6, 4, 2, 4, 1}, + {"HE", -23, 26, 2, "HEM08", 3, 14, 5, 1, 2, 5, 5, 6, 4, 2, 4, 1}, + {"HE", -23, 26, 3, "HEM08", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 27, 1, "HEM08", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 27, 2, "HEM08", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 27, 3, "HEM08", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 28, 1, "HEM08", 2, 2, 5, 2, 2, 3, 5, 6, 5, 4, 4, 0}, + {"HE", -23, 28, 2, "HEM08", 2, 5, 5, 1, 2, 5, 5, 6, 5, 4, 4, 0}, + {"HE", -23, 28, 3, "HEM08", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 29, 1, "HEM09", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 29, 2, "HEM09", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 29, 3, "HEM09", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 30, 1, "HEM09", 3, 18, 5, 2, 2, 3, 5, 6, 10, 2, 7, 1}, + {"HE", -23, 30, 2, "HEM09", 3, 14, 5, 1, 2, 5, 5, 6, 10, 2, 7, 1}, + {"HE", -23, 30, 3, "HEM09", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 31, 1, "HEM09", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 31, 2, "HEM09", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 31, 3, "HEM09", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 32, 1, "HEM09", 2, 2, 5, 2, 2, 3, 5, 6, 11, 4, 7, 0}, + {"HE", -23, 32, 2, "HEM09", 2, 5, 5, 1, 2, 5, 5, 6, 11, 4, 7, 0}, + {"HE", -23, 32, 3, "HEM09", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 33, 1, "HEM10", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 33, 2, "HEM10", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 33, 3, "HEM10", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 34, 1, "HEM10", 3, 18, 5, 2, 2, 3, 11, 8, 4, 2, 4, 1}, + {"HE", -23, 34, 2, "HEM10", 3, 14, 5, 1, 2, 5, 11, 8, 4, 2, 4, 1}, + {"HE", -23, 34, 3, "HEM10", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 35, 1, "HEM10", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 35, 2, "HEM10", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 35, 3, "HEM10", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 36, 1, "HEM10", 2, 2, 5, 2, 2, 3, 11, 8, 5, 4, 4, 0}, + {"HE", -23, 36, 2, "HEM10", 2, 5, 5, 1, 2, 5, 11, 8, 5, 4, 4, 0}, + {"HE", -23, 36, 3, "HEM10", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 37, 1, "HEM11", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 37, 2, "HEM11", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 37, 3, "HEM11", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 38, 1, "HEM11", 3, 18, 5, 2, 2, 3, 11, 8, 10, 2, 7, 1}, + {"HE", -23, 38, 2, "HEM11", 3, 14, 5, 1, 2, 5, 11, 8, 10, 2, 7, 1}, + {"HE", -23, 38, 3, "HEM11", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 39, 1, "HEM11", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 39, 2, "HEM11", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 39, 3, "HEM11", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 40, 1, "HEM11", 2, 2, 5, 2, 2, 3, 11, 8, 11, 4, 7, 0}, + {"HE", -23, 40, 2, "HEM11", 2, 5, 5, 1, 2, 5, 11, 8, 11, 4, 7, 0}, + {"HE", -23, 40, 3, "HEM11", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 41, 1, "HEM12", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 41, 2, "HEM12", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 41, 3, "HEM12", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 42, 1, "HEM12", 3, 18, 5, 2, 2, 3, 15, 10, 4, 2, 4, 1}, + {"HE", -23, 42, 2, "HEM12", 3, 14, 5, 1, 2, 5, 15, 10, 4, 2, 4, 1}, + {"HE", -23, 42, 3, "HEM12", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 43, 1, "HEM12", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 43, 2, "HEM12", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 43, 3, "HEM12", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 44, 1, "HEM12", 2, 2, 5, 2, 2, 3, 15, 10, 5, 4, 4, 0}, + {"HE", -23, 44, 2, "HEM12", 2, 5, 5, 1, 2, 5, 15, 10, 5, 4, 4, 0}, + {"HE", -23, 44, 3, "HEM12", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 45, 1, "HEM13", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 45, 2, "HEM13", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 45, 3, "HEM13", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 46, 1, "HEM13", 3, 18, 5, 2, 2, 3, 15, 10, 10, 2, 7, 1}, + {"HE", -23, 46, 2, "HEM13", 3, 14, 5, 1, 2, 5, 15, 10, 10, 2, 7, 1}, + {"HE", -23, 46, 3, "HEM13", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 47, 1, "HEM13", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 47, 2, "HEM13", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 47, 3, "HEM13", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 48, 1, "HEM13", 2, 2, 5, 2, 2, 3, 15, 10, 11, 4, 7, 0}, + {"HE", -23, 48, 2, "HEM13", 2, 5, 5, 1, 2, 5, 15, 10, 11, 4, 7, 0}, + {"HE", -23, 48, 3, "HEM13", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 49, 1, "HEM14", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 49, 2, "HEM14", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 49, 3, "HEM14", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 50, 1, "HEM14", 3, 18, 5, 2, 2, 3, 17, 12, 4, 2, 4, 1}, + {"HE", -23, 50, 2, "HEM14", 3, 14, 5, 1, 2, 5, 17, 12, 4, 2, 4, 1}, + {"HE", -23, 50, 3, "HEM14", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 51, 1, "HEM14", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 51, 2, "HEM14", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 51, 3, "HEM14", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 52, 1, "HEM14", 2, 2, 5, 2, 2, 3, 17, 12, 5, 4, 4, 0}, + {"HE", -23, 52, 2, "HEM14", 2, 5, 5, 1, 2, 5, 17, 12, 5, 4, 4, 0}, + {"HE", -23, 52, 3, "HEM14", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 53, 1, "HEM15", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 53, 2, "HEM15", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 53, 3, "HEM15", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 54, 1, "HEM15", 3, 18, 5, 2, 2, 3, 17, 12, 10, 2, 7, 1}, + {"HE", -23, 54, 2, "HEM15", 3, 14, 5, 1, 2, 5, 17, 12, 10, 2, 7, 1}, + {"HE", -23, 54, 3, "HEM15", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 55, 1, "HEM15", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 55, 2, "HEM15", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 55, 3, "HEM15", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 56, 1, "HEM15", 2, 2, 5, 2, 2, 3, 17, 12, 11, 4, 7, 0}, + {"HE", -23, 56, 2, "HEM15", 2, 5, 5, 1, 2, 5, 17, 12, 11, 4, 7, 0}, + {"HE", -23, 56, 3, "HEM15", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 57, 1, "HEM16", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 57, 2, "HEM16", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 57, 3, "HEM16", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 58, 1, "HEM16", 3, 18, 5, 2, 2, 3, 14, 14, 4, 2, 4, 1}, + {"HE", -23, 58, 2, "HEM16", 3, 14, 5, 1, 2, 5, 14, 14, 4, 2, 4, 1}, + {"HE", -23, 58, 3, "HEM16", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 59, 1, "HEM16", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 59, 2, "HEM16", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 59, 3, "HEM16", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 60, 1, "HEM16", 2, 2, 5, 2, 2, 3, 14, 14, 5, 4, 4, 0}, + {"HE", -23, 60, 2, "HEM16", 2, 5, 5, 1, 2, 5, 14, 14, 5, 4, 4, 0}, + {"HE", -23, 60, 3, "HEM16", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 61, 1, "HEM17", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 61, 2, "HEM17", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 61, 3, "HEM17", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 62, 1, "HEM17", 3, 18, 5, 2, 2, 3, 14, 14, 10, 2, 7, 1}, + {"HE", -23, 62, 2, "HEM17", 3, 14, 5, 1, 2, 5, 14, 14, 10, 2, 7, 1}, + {"HE", -23, 62, 3, "HEM17", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 63, 1, "HEM17", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 63, 2, "HEM17", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 63, 3, "HEM17", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 64, 1, "HEM17", 2, 2, 5, 2, 2, 3, 14, 14, 11, 4, 7, 0}, + {"HE", -23, 64, 2, "HEM17", 2, 5, 5, 1, 2, 5, 14, 14, 11, 4, 7, 0}, + {"HE", -23, 64, 3, "HEM17", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 65, 1, "HEM18", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 65, 2, "HEM18", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 65, 3, "HEM18", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 66, 1, "HEM18", 3, 18, 5, 2, 2, 3, 10, 16, 4, 2, 4, 1}, + {"HE", -23, 66, 2, "HEM18", 3, 14, 5, 1, 2, 5, 10, 16, 4, 2, 4, 1}, + {"HE", -23, 66, 3, "HEM18", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 67, 1, "HEM18", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 67, 2, "HEM18", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 67, 3, "HEM18", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 68, 1, "HEM18", 2, 2, 5, 2, 2, 3, 10, 16, 5, 4, 4, 0}, + {"HE", -23, 68, 2, "HEM18", 2, 5, 5, 1, 2, 5, 10, 16, 5, 4, 4, 0}, + {"HE", -23, 68, 3, "HEM18", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 69, 1, "HEM01", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 69, 2, "HEM01", 4, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 69, 3, "HEM01", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -23, 70, 1, "HEM01", 3, 18, 5, 2, 2, 3, 10, 16, 10, 2, 7, 1}, + {"HE", -23, 70, 2, "HEM01", 3, 14, 5, 1, 2, 5, 10, 16, 10, 2, 7, 1}, + {"HE", -23, 70, 3, "HEM01", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 0, 1, "HEM01", 1, 4, 7, 2, 3, 3, 10, 16, 11, 6, 7, 0}, + {"HE", -22, 0, 2, "HEM01", 1, 1, 6, 2, 3, 2, 10, 16, 11, 5, 7, 0}, + {"HE", -22, 0, 3, "HEM01", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 1, 1, "HEM02", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 1, 2, "HEM02", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 1, 3, "HEM02", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 2, 1, "HEM02", 4, 13, 7, 2, 3, 3, 4, 0, 4, 8, 4, 1}, + {"HE", -22, 2, 2, "HEM02", 4, 17, 6, 2, 3, 2, 4, 0, 4, 7, 4, 1}, + {"HE", -22, 2, 3, "HEM02", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 3, 1, "HEM02", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 3, 2, "HEM02", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 3, 3, "HEM02", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 4, 1, "HEM02", 1, 4, 7, 2, 3, 3, 4, 0, 5, 6, 4, 0}, + {"HE", -22, 4, 2, "HEM02", 1, 1, 6, 2, 3, 2, 4, 0, 5, 5, 4, 0}, + {"HE", -22, 4, 3, "HEM02", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 5, 1, "HEM03", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 5, 2, "HEM03", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 5, 3, "HEM03", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 6, 1, "HEM03", 4, 13, 7, 2, 3, 3, 4, 0, 10, 8, 7, 1}, + {"HE", -22, 6, 2, "HEM03", 4, 17, 6, 2, 3, 2, 4, 0, 10, 7, 7, 1}, + {"HE", -22, 6, 3, "HEM03", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 7, 1, "HEM03", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 7, 2, "HEM03", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 7, 3, "HEM03", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 8, 1, "HEM03", 1, 4, 7, 2, 3, 3, 4, 0, 11, 6, 7, 0}, + {"HE", -22, 8, 2, "HEM03", 1, 1, 6, 2, 3, 2, 4, 0, 11, 5, 7, 0}, + {"HE", -22, 8, 3, "HEM03", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 9, 1, "HEM04", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 9, 2, "HEM04", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 9, 3, "HEM04", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 10, 1, "HEM04", 4, 13, 7, 2, 3, 3, 0, 2, 4, 8, 4, 1}, + {"HE", -22, 10, 2, "HEM04", 4, 17, 6, 2, 3, 2, 0, 2, 4, 7, 4, 1}, + {"HE", -22, 10, 3, "HEM04", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 11, 1, "HEM04", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 11, 2, "HEM04", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 11, 3, "HEM04", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 12, 1, "HEM04", 1, 4, 7, 2, 3, 3, 0, 2, 5, 6, 4, 0}, + {"HE", -22, 12, 2, "HEM04", 1, 1, 6, 2, 3, 2, 0, 2, 5, 5, 4, 0}, + {"HE", -22, 12, 3, "HEM04", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 13, 1, "HEM05", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 13, 2, "HEM05", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 13, 3, "HEM05", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 14, 1, "HEM05", 4, 13, 7, 2, 3, 3, 0, 2, 10, 8, 7, 1}, + {"HE", -22, 14, 2, "HEM05", 4, 17, 6, 2, 3, 2, 0, 2, 10, 7, 7, 1}, + {"HE", -22, 14, 3, "HEM05", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 15, 1, "HEM05", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 15, 2, "HEM05", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 15, 3, "HEM05", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 16, 1, "HEM05", 1, 4, 7, 2, 3, 3, 0, 2, 11, 6, 7, 0}, + {"HE", -22, 16, 2, "HEM05", 1, 1, 6, 2, 3, 2, 0, 2, 11, 5, 7, 0}, + {"HE", -22, 16, 3, "HEM05", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 17, 1, "HEM06", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 17, 2, "HEM06", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 17, 3, "HEM06", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 18, 1, "HEM06", 4, 13, 7, 2, 3, 3, 1, 4, 4, 8, 4, 1}, + {"HE", -22, 18, 2, "HEM06", 4, 17, 6, 2, 3, 2, 1, 4, 4, 7, 4, 1}, + {"HE", -22, 18, 3, "HEM06", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 19, 1, "HEM06", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 19, 2, "HEM06", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 19, 3, "HEM06", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 20, 1, "HEM06", 1, 4, 7, 2, 3, 3, 1, 4, 5, 6, 4, 0}, + {"HE", -22, 20, 2, "HEM06", 1, 1, 6, 2, 3, 2, 1, 4, 5, 5, 4, 0}, + {"HE", -22, 20, 3, "HEM06", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 21, 1, "HEM07", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 21, 2, "HEM07", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 21, 3, "HEM07", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 22, 1, "HEM07", 4, 13, 7, 2, 3, 3, 1, 4, 10, 8, 7, 1}, + {"HE", -22, 22, 2, "HEM07", 4, 17, 6, 2, 3, 2, 1, 4, 10, 7, 7, 1}, + {"HE", -22, 22, 3, "HEM07", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 23, 1, "HEM07", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 23, 2, "HEM07", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 23, 3, "HEM07", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 24, 1, "HEM07", 1, 4, 7, 2, 3, 3, 1, 4, 11, 6, 7, 0}, + {"HE", -22, 24, 2, "HEM07", 1, 1, 6, 2, 3, 2, 1, 4, 11, 5, 7, 0}, + {"HE", -22, 24, 3, "HEM07", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 25, 1, "HEM08", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 25, 2, "HEM08", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 25, 3, "HEM08", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 26, 1, "HEM08", 4, 13, 7, 2, 3, 3, 5, 6, 4, 8, 4, 1}, + {"HE", -22, 26, 2, "HEM08", 4, 17, 6, 2, 3, 2, 5, 6, 4, 7, 4, 1}, + {"HE", -22, 26, 3, "HEM08", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 27, 1, "HEM08", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 27, 2, "HEM08", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 27, 3, "HEM08", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 28, 1, "HEM08", 1, 4, 7, 2, 3, 3, 5, 6, 5, 6, 4, 0}, + {"HE", -22, 28, 2, "HEM08", 1, 1, 6, 2, 3, 2, 5, 6, 5, 5, 4, 0}, + {"HE", -22, 28, 3, "HEM08", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 29, 1, "HEM09", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 29, 2, "HEM09", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 29, 3, "HEM09", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 30, 1, "HEM09", 4, 13, 7, 2, 3, 3, 5, 6, 10, 8, 7, 1}, + {"HE", -22, 30, 2, "HEM09", 4, 17, 6, 2, 3, 2, 5, 6, 10, 7, 7, 1}, + {"HE", -22, 30, 3, "HEM09", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 31, 1, "HEM09", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 31, 2, "HEM09", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 31, 3, "HEM09", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 32, 1, "HEM09", 1, 4, 7, 2, 3, 3, 5, 6, 11, 6, 7, 0}, + {"HE", -22, 32, 2, "HEM09", 1, 1, 6, 2, 3, 2, 5, 6, 11, 5, 7, 0}, + {"HE", -22, 32, 3, "HEM09", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 33, 1, "HEM10", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 33, 2, "HEM10", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 33, 3, "HEM10", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 34, 1, "HEM10", 4, 13, 7, 2, 3, 3, 11, 8, 4, 8, 4, 1}, + {"HE", -22, 34, 2, "HEM10", 4, 17, 6, 2, 3, 2, 11, 8, 4, 7, 4, 1}, + {"HE", -22, 34, 3, "HEM10", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 35, 1, "HEM10", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 35, 2, "HEM10", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 35, 3, "HEM10", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 36, 1, "HEM10", 1, 4, 7, 2, 3, 3, 11, 8, 5, 6, 4, 0}, + {"HE", -22, 36, 2, "HEM10", 1, 1, 6, 2, 3, 2, 11, 8, 5, 5, 4, 0}, + {"HE", -22, 36, 3, "HEM10", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 37, 1, "HEM11", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 37, 2, "HEM11", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 37, 3, "HEM11", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 38, 1, "HEM11", 4, 13, 7, 2, 3, 3, 11, 8, 10, 8, 7, 1}, + {"HE", -22, 38, 2, "HEM11", 4, 17, 6, 2, 3, 2, 11, 8, 10, 7, 7, 1}, + {"HE", -22, 38, 3, "HEM11", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 39, 1, "HEM11", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 39, 2, "HEM11", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 39, 3, "HEM11", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 40, 1, "HEM11", 1, 4, 7, 2, 3, 3, 11, 8, 11, 6, 7, 0}, + {"HE", -22, 40, 2, "HEM11", 1, 1, 6, 2, 3, 2, 11, 8, 11, 5, 7, 0}, + {"HE", -22, 40, 3, "HEM11", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 41, 1, "HEM12", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 41, 2, "HEM12", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 41, 3, "HEM12", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 42, 1, "HEM12", 4, 13, 7, 2, 3, 3, 15, 10, 4, 8, 4, 1}, + {"HE", -22, 42, 2, "HEM12", 4, 17, 6, 2, 3, 2, 15, 10, 4, 7, 4, 1}, + {"HE", -22, 42, 3, "HEM12", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 43, 1, "HEM12", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 43, 2, "HEM12", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 43, 3, "HEM12", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 44, 1, "HEM12", 1, 4, 7, 2, 3, 3, 15, 10, 5, 6, 4, 0}, + {"HE", -22, 44, 2, "HEM12", 1, 1, 6, 2, 3, 2, 15, 10, 5, 5, 4, 0}, + {"HE", -22, 44, 3, "HEM12", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 45, 1, "HEM13", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 45, 2, "HEM13", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 45, 3, "HEM13", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 46, 1, "HEM13", 4, 13, 7, 2, 3, 3, 15, 10, 10, 8, 7, 1}, + {"HE", -22, 46, 2, "HEM13", 4, 17, 6, 2, 3, 2, 15, 10, 10, 7, 7, 1}, + {"HE", -22, 46, 3, "HEM13", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 47, 1, "HEM13", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 47, 2, "HEM13", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 47, 3, "HEM13", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 48, 1, "HEM13", 1, 4, 7, 2, 3, 3, 15, 10, 11, 6, 7, 0}, + {"HE", -22, 48, 2, "HEM13", 1, 1, 6, 2, 3, 2, 15, 10, 11, 5, 7, 0}, + {"HE", -22, 48, 3, "HEM13", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 49, 1, "HEM14", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 49, 2, "HEM14", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 49, 3, "HEM14", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 50, 1, "HEM14", 4, 13, 7, 2, 3, 3, 17, 12, 4, 8, 4, 1}, + {"HE", -22, 50, 2, "HEM14", 4, 17, 6, 2, 3, 2, 17, 12, 4, 7, 4, 1}, + {"HE", -22, 50, 3, "HEM14", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 51, 1, "HEM14", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 51, 2, "HEM14", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 51, 3, "HEM14", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 52, 1, "HEM14", 1, 4, 7, 2, 3, 3, 17, 12, 5, 6, 4, 0}, + {"HE", -22, 52, 2, "HEM14", 1, 1, 6, 2, 3, 2, 17, 12, 5, 5, 4, 0}, + {"HE", -22, 52, 3, "HEM14", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 53, 1, "HEM15", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 53, 2, "HEM15", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 53, 3, "HEM15", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 54, 1, "HEM15", 4, 13, 7, 2, 3, 3, 17, 12, 10, 8, 7, 1}, + {"HE", -22, 54, 2, "HEM15", 4, 17, 6, 2, 3, 2, 17, 12, 10, 7, 7, 1}, + {"HE", -22, 54, 3, "HEM15", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 55, 1, "HEM15", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 55, 2, "HEM15", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 55, 3, "HEM15", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 56, 1, "HEM15", 1, 4, 7, 2, 3, 3, 17, 12, 11, 6, 7, 0}, + {"HE", -22, 56, 2, "HEM15", 1, 1, 6, 2, 3, 2, 17, 12, 11, 5, 7, 0}, + {"HE", -22, 56, 3, "HEM15", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 57, 1, "HEM16", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 57, 2, "HEM16", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 57, 3, "HEM16", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 58, 1, "HEM16", 4, 13, 7, 2, 3, 3, 14, 14, 4, 8, 4, 1}, + {"HE", -22, 58, 2, "HEM16", 4, 17, 6, 2, 3, 2, 14, 14, 4, 7, 4, 1}, + {"HE", -22, 58, 3, "HEM16", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 59, 1, "HEM16", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 59, 2, "HEM16", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 59, 3, "HEM16", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 60, 1, "HEM16", 1, 4, 7, 2, 3, 3, 14, 14, 5, 6, 4, 0}, + {"HE", -22, 60, 2, "HEM16", 1, 1, 6, 2, 3, 2, 14, 14, 5, 5, 4, 0}, + {"HE", -22, 60, 3, "HEM16", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 61, 1, "HEM17", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 61, 2, "HEM17", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 61, 3, "HEM17", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 62, 1, "HEM17", 4, 13, 7, 2, 3, 3, 14, 14, 10, 8, 7, 1}, + {"HE", -22, 62, 2, "HEM17", 4, 17, 6, 2, 3, 2, 14, 14, 10, 7, 7, 1}, + {"HE", -22, 62, 3, "HEM17", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 63, 1, "HEM17", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 63, 2, "HEM17", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 63, 3, "HEM17", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 64, 1, "HEM17", 1, 4, 7, 2, 3, 3, 14, 14, 11, 6, 7, 0}, + {"HE", -22, 64, 2, "HEM17", 1, 1, 6, 2, 3, 2, 14, 14, 11, 5, 7, 0}, + {"HE", -22, 64, 3, "HEM17", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 65, 1, "HEM18", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 65, 2, "HEM18", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 65, 3, "HEM18", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 66, 1, "HEM18", 4, 13, 7, 2, 3, 3, 10, 16, 4, 8, 4, 1}, + {"HE", -22, 66, 2, "HEM18", 4, 17, 6, 2, 3, 2, 10, 16, 4, 7, 4, 1}, + {"HE", -22, 66, 3, "HEM18", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 67, 1, "HEM18", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 67, 2, "HEM18", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 67, 3, "HEM18", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 68, 1, "HEM18", 1, 4, 7, 2, 3, 3, 10, 16, 5, 6, 4, 0}, + {"HE", -22, 68, 2, "HEM18", 1, 1, 6, 2, 3, 2, 10, 16, 5, 5, 4, 0}, + {"HE", -22, 68, 3, "HEM18", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 69, 1, "HEM01", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 69, 2, "HEM01", 4, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 69, 3, "HEM01", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -22, 70, 1, "HEM01", 4, 13, 7, 2, 3, 3, 10, 16, 10, 8, 7, 1}, + {"HE", -22, 70, 2, "HEM01", 4, 17, 6, 2, 3, 2, 10, 16, 10, 7, 7, 1}, + {"HE", -22, 70, 3, "HEM01", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 0, 1, "HEM01", 2, 13, 7, 2, 3, 3, 10, 16, 11, 8, 7, 0}, + {"HE", -21, 0, 2, "HEM01", 2, 17, 6, 2, 3, 2, 10, 16, 11, 7, 7, 0}, + {"HE", -21, 0, 3, "HEM01", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 1, 1, "HEM02", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 1, 2, "HEM02", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 1, 3, "HEM02", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 2, 1, "HEM02", 3, 4, 7, 2, 3, 3, 4, 0, 4, 6, 4, 1}, + {"HE", -21, 2, 2, "HEM02", 3, 1, 6, 2, 3, 2, 4, 0, 4, 5, 4, 1}, + {"HE", -21, 2, 3, "HEM02", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 3, 1, "HEM02", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 3, 2, "HEM02", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 3, 3, "HEM02", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 4, 1, "HEM02", 2, 13, 7, 2, 3, 3, 4, 0, 5, 8, 4, 0}, + {"HE", -21, 4, 2, "HEM02", 2, 17, 6, 2, 3, 2, 4, 0, 5, 7, 4, 0}, + {"HE", -21, 4, 3, "HEM02", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 5, 1, "HEM03", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 5, 2, "HEM03", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 5, 3, "HEM03", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 6, 1, "HEM03", 3, 4, 7, 2, 3, 3, 4, 0, 10, 6, 7, 1}, + {"HE", -21, 6, 2, "HEM03", 3, 1, 6, 2, 3, 2, 4, 0, 10, 5, 7, 1}, + {"HE", -21, 6, 3, "HEM03", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 7, 1, "HEM03", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 7, 2, "HEM03", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 7, 3, "HEM03", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 8, 1, "HEM03", 2, 13, 7, 2, 3, 3, 4, 0, 11, 8, 7, 0}, + {"HE", -21, 8, 2, "HEM03", 2, 17, 6, 2, 3, 2, 4, 0, 11, 7, 7, 0}, + {"HE", -21, 8, 3, "HEM03", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 9, 1, "HEM04", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 9, 2, "HEM04", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 9, 3, "HEM04", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 10, 1, "HEM04", 3, 4, 7, 2, 3, 3, 0, 2, 4, 6, 4, 1}, + {"HE", -21, 10, 2, "HEM04", 3, 1, 6, 2, 3, 2, 0, 2, 4, 5, 4, 1}, + {"HE", -21, 10, 3, "HEM04", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 11, 1, "HEM04", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 11, 2, "HEM04", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 11, 3, "HEM04", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 12, 1, "HEM04", 2, 13, 7, 2, 3, 3, 0, 2, 5, 8, 4, 0}, + {"HE", -21, 12, 2, "HEM04", 2, 17, 6, 2, 3, 2, 0, 2, 5, 7, 4, 0}, + {"HE", -21, 12, 3, "HEM04", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 13, 1, "HEM05", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 13, 2, "HEM05", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 13, 3, "HEM05", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 14, 1, "HEM05", 3, 4, 7, 2, 3, 3, 0, 2, 10, 6, 7, 1}, + {"HE", -21, 14, 2, "HEM05", 3, 1, 6, 2, 3, 2, 0, 2, 10, 5, 7, 1}, + {"HE", -21, 14, 3, "HEM05", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 15, 1, "HEM05", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 15, 2, "HEM05", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 15, 3, "HEM05", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 16, 1, "HEM05", 2, 13, 7, 2, 3, 3, 0, 2, 11, 8, 7, 0}, + {"HE", -21, 16, 2, "HEM05", 2, 17, 6, 2, 3, 2, 0, 2, 11, 7, 7, 0}, + {"HE", -21, 16, 3, "HEM05", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 17, 1, "HEM06", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 17, 2, "HEM06", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 17, 3, "HEM06", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 18, 1, "HEM06", 3, 4, 7, 2, 3, 3, 1, 4, 4, 6, 4, 1}, + {"HE", -21, 18, 2, "HEM06", 3, 1, 6, 2, 3, 2, 1, 4, 4, 5, 4, 1}, + {"HE", -21, 18, 3, "HEM06", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 19, 1, "HEM06", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 19, 2, "HEM06", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 19, 3, "HEM06", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 20, 1, "HEM06", 2, 13, 7, 2, 3, 3, 1, 4, 5, 8, 4, 0}, + {"HE", -21, 20, 2, "HEM06", 2, 17, 6, 2, 3, 2, 1, 4, 5, 7, 4, 0}, + {"HE", -21, 20, 3, "HEM06", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 21, 1, "HEM07", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 21, 2, "HEM07", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 21, 3, "HEM07", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 22, 1, "HEM07", 3, 4, 7, 2, 3, 3, 1, 4, 10, 6, 7, 1}, + {"HE", -21, 22, 2, "HEM07", 3, 1, 6, 2, 3, 2, 1, 4, 10, 5, 7, 1}, + {"HE", -21, 22, 3, "HEM07", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 23, 1, "HEM07", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 23, 2, "HEM07", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 23, 3, "HEM07", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 24, 1, "HEM07", 2, 13, 7, 2, 3, 3, 1, 4, 11, 8, 7, 0}, + {"HE", -21, 24, 2, "HEM07", 2, 17, 6, 2, 3, 2, 1, 4, 11, 7, 7, 0}, + {"HE", -21, 24, 3, "HEM07", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 25, 1, "HEM08", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 25, 2, "HEM08", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 25, 3, "HEM08", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 26, 1, "HEM08", 3, 4, 7, 2, 3, 3, 5, 6, 4, 6, 4, 1}, + {"HE", -21, 26, 2, "HEM08", 3, 1, 6, 2, 3, 2, 5, 6, 4, 5, 4, 1}, + {"HE", -21, 26, 3, "HEM08", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 27, 1, "HEM08", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 27, 2, "HEM08", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 27, 3, "HEM08", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 28, 1, "HEM08", 2, 13, 7, 2, 3, 3, 5, 6, 5, 8, 4, 0}, + {"HE", -21, 28, 2, "HEM08", 2, 17, 6, 2, 3, 2, 5, 6, 5, 7, 4, 0}, + {"HE", -21, 28, 3, "HEM08", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 29, 1, "HEM09", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 29, 2, "HEM09", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 29, 3, "HEM09", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 30, 1, "HEM09", 3, 4, 7, 2, 3, 3, 5, 6, 10, 6, 7, 1}, + {"HE", -21, 30, 2, "HEM09", 3, 1, 6, 2, 3, 2, 5, 6, 10, 5, 7, 1}, + {"HE", -21, 30, 3, "HEM09", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 31, 1, "HEM09", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 31, 2, "HEM09", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 31, 3, "HEM09", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 32, 1, "HEM09", 2, 13, 7, 2, 3, 3, 5, 6, 11, 8, 7, 0}, + {"HE", -21, 32, 2, "HEM09", 2, 17, 6, 2, 3, 2, 5, 6, 11, 7, 7, 0}, + {"HE", -21, 32, 3, "HEM09", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 33, 1, "HEM10", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 33, 2, "HEM10", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 33, 3, "HEM10", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 34, 1, "HEM10", 3, 4, 7, 2, 3, 3, 11, 8, 4, 6, 4, 1}, + {"HE", -21, 34, 2, "HEM10", 3, 1, 6, 2, 3, 2, 11, 8, 4, 5, 4, 1}, + {"HE", -21, 34, 3, "HEM10", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 35, 1, "HEM10", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 35, 2, "HEM10", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 35, 3, "HEM10", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 36, 1, "HEM10", 2, 13, 7, 2, 3, 3, 11, 8, 5, 8, 4, 0}, + {"HE", -21, 36, 2, "HEM10", 2, 17, 6, 2, 3, 2, 11, 8, 5, 7, 4, 0}, + {"HE", -21, 36, 3, "HEM10", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 37, 1, "HEM11", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 37, 2, "HEM11", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 37, 3, "HEM11", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 38, 1, "HEM11", 3, 4, 7, 2, 3, 3, 11, 8, 10, 6, 7, 1}, + {"HE", -21, 38, 2, "HEM11", 3, 1, 6, 2, 3, 2, 11, 8, 10, 5, 7, 1}, + {"HE", -21, 38, 3, "HEM11", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 39, 1, "HEM11", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 39, 2, "HEM11", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 39, 3, "HEM11", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 40, 1, "HEM11", 2, 13, 7, 2, 3, 3, 11, 8, 11, 8, 7, 0}, + {"HE", -21, 40, 2, "HEM11", 2, 17, 6, 2, 3, 2, 11, 8, 11, 7, 7, 0}, + {"HE", -21, 40, 3, "HEM11", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 41, 1, "HEM12", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 41, 2, "HEM12", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 41, 3, "HEM12", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 42, 1, "HEM12", 3, 4, 7, 2, 3, 3, 15, 10, 4, 6, 4, 1}, + {"HE", -21, 42, 2, "HEM12", 3, 1, 6, 2, 3, 2, 15, 10, 4, 5, 4, 1}, + {"HE", -21, 42, 3, "HEM12", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 43, 1, "HEM12", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 43, 2, "HEM12", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 43, 3, "HEM12", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 44, 1, "HEM12", 2, 13, 7, 2, 3, 3, 15, 10, 5, 8, 4, 0}, + {"HE", -21, 44, 2, "HEM12", 2, 17, 6, 2, 3, 2, 15, 10, 5, 7, 4, 0}, + {"HE", -21, 44, 3, "HEM12", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 45, 1, "HEM13", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 45, 2, "HEM13", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 45, 3, "HEM13", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 46, 1, "HEM13", 3, 4, 7, 2, 3, 3, 15, 10, 10, 6, 7, 1}, + {"HE", -21, 46, 2, "HEM13", 3, 1, 6, 2, 3, 2, 15, 10, 10, 5, 7, 1}, + {"HE", -21, 46, 3, "HEM13", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 47, 1, "HEM13", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 47, 2, "HEM13", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 47, 3, "HEM13", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 48, 1, "HEM13", 2, 13, 7, 2, 3, 3, 15, 10, 11, 8, 7, 0}, + {"HE", -21, 48, 2, "HEM13", 2, 17, 6, 2, 3, 2, 15, 10, 11, 7, 7, 0}, + {"HE", -21, 48, 3, "HEM13", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 49, 1, "HEM14", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 49, 2, "HEM14", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 49, 3, "HEM14", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 50, 1, "HEM14", 3, 4, 7, 2, 3, 3, 17, 12, 4, 6, 4, 1}, + {"HE", -21, 50, 2, "HEM14", 3, 1, 6, 2, 3, 2, 17, 12, 4, 5, 4, 1}, + {"HE", -21, 50, 3, "HEM14", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 51, 1, "HEM14", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 51, 2, "HEM14", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 51, 3, "HEM14", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 52, 1, "HEM14", 2, 13, 7, 2, 3, 3, 17, 12, 5, 8, 4, 0}, + {"HE", -21, 52, 2, "HEM14", 2, 17, 6, 2, 3, 2, 17, 12, 5, 7, 4, 0}, + {"HE", -21, 52, 3, "HEM14", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 53, 1, "HEM15", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 53, 2, "HEM15", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 53, 3, "HEM15", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 54, 1, "HEM15", 3, 4, 7, 2, 3, 3, 17, 12, 10, 6, 7, 1}, + {"HE", -21, 54, 2, "HEM15", 3, 1, 6, 2, 3, 2, 17, 12, 10, 5, 7, 1}, + {"HE", -21, 54, 3, "HEM15", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 55, 1, "HEM15", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 55, 2, "HEM15", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 55, 3, "HEM15", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 56, 1, "HEM15", 2, 13, 7, 2, 3, 3, 17, 12, 11, 8, 7, 0}, + {"HE", -21, 56, 2, "HEM15", 2, 17, 6, 2, 3, 2, 17, 12, 11, 7, 7, 0}, + {"HE", -21, 56, 3, "HEM15", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 57, 1, "HEM16", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 57, 2, "HEM16", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 57, 3, "HEM16", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 58, 1, "HEM16", 3, 4, 7, 2, 3, 3, 14, 14, 4, 6, 4, 1}, + {"HE", -21, 58, 2, "HEM16", 3, 1, 6, 2, 3, 2, 14, 14, 4, 5, 4, 1}, + {"HE", -21, 58, 3, "HEM16", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 59, 1, "HEM16", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 59, 2, "HEM16", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 59, 3, "HEM16", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 60, 1, "HEM16", 2, 13, 7, 2, 3, 3, 14, 14, 5, 8, 4, 0}, + {"HE", -21, 60, 2, "HEM16", 2, 17, 6, 2, 3, 2, 14, 14, 5, 7, 4, 0}, + {"HE", -21, 60, 3, "HEM16", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 61, 1, "HEM17", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 61, 2, "HEM17", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 61, 3, "HEM17", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 62, 1, "HEM17", 3, 4, 7, 2, 3, 3, 14, 14, 10, 6, 7, 1}, + {"HE", -21, 62, 2, "HEM17", 3, 1, 6, 2, 3, 2, 14, 14, 10, 5, 7, 1}, + {"HE", -21, 62, 3, "HEM17", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 63, 1, "HEM17", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 63, 2, "HEM17", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 63, 3, "HEM17", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 64, 1, "HEM17", 2, 13, 7, 2, 3, 3, 14, 14, 11, 8, 7, 0}, + {"HE", -21, 64, 2, "HEM17", 2, 17, 6, 2, 3, 2, 14, 14, 11, 7, 7, 0}, + {"HE", -21, 64, 3, "HEM17", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 65, 1, "HEM18", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 65, 2, "HEM18", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 65, 3, "HEM18", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 66, 1, "HEM18", 3, 4, 7, 2, 3, 3, 10, 16, 4, 6, 4, 1}, + {"HE", -21, 66, 2, "HEM18", 3, 1, 6, 2, 3, 2, 10, 16, 4, 5, 4, 1}, + {"HE", -21, 66, 3, "HEM18", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 67, 1, "HEM18", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 67, 2, "HEM18", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 67, 3, "HEM18", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 68, 1, "HEM18", 2, 13, 7, 2, 3, 3, 10, 16, 5, 8, 4, 0}, + {"HE", -21, 68, 2, "HEM18", 2, 17, 6, 2, 3, 2, 10, 16, 5, 7, 4, 0}, + {"HE", -21, 68, 3, "HEM18", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 69, 1, "HEM01", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 69, 2, "HEM01", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 69, 3, "HEM01", 4, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -21, 70, 1, "HEM01", 3, 4, 7, 2, 3, 3, 10, 16, 10, 6, 7, 1}, + {"HE", -21, 70, 2, "HEM01", 3, 1, 6, 2, 3, 2, 10, 16, 10, 5, 7, 1}, + {"HE", -21, 70, 3, "HEM01", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 0, 1, "HEM01", 2, 9, 6, 1, 3, 1, 10, 16, 11, 7, 7, 0}, + {"HE", -20, 0, 2, "HEM01", 2, 8, 7, 1, 3, 5, 10, 16, 11, 8, 7, 0}, + {"HE", -20, 0, 3, "HEM01", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 1, 1, "HEM01", 1, 9, 6, 1, 3, 1, 10, 16, 11, 5, 7, 0}, + {"HE", -20, 1, 2, "HEM01", 1, 8, 7, 1, 3, 5, 10, 16, 11, 6, 7, 0}, + {"HE", -20, 1, 3, "HEM02", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 2, 1, "HEM02", 4, 9, 6, 1, 3, 1, 4, 0, 4, 7, 4, 1}, + {"HE", -20, 2, 2, "HEM02", 4, 8, 7, 1, 3, 5, 4, 0, 4, 8, 4, 1}, + {"HE", -20, 2, 3, "HEM02", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 3, 1, "HEM02", 3, 9, 6, 1, 3, 1, 4, 0, 4, 5, 4, 1}, + {"HE", -20, 3, 2, "HEM02", 3, 8, 7, 1, 3, 5, 4, 0, 4, 6, 4, 1}, + {"HE", -20, 3, 3, "HEM02", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 4, 1, "HEM02", 2, 9, 6, 1, 3, 1, 4, 0, 5, 7, 4, 0}, + {"HE", -20, 4, 2, "HEM02", 2, 8, 7, 1, 3, 5, 4, 0, 5, 8, 4, 0}, + {"HE", -20, 4, 3, "HEM02", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 5, 1, "HEM02", 1, 9, 6, 1, 3, 1, 4, 0, 5, 5, 4, 0}, + {"HE", -20, 5, 2, "HEM02", 1, 8, 7, 1, 3, 5, 4, 0, 5, 6, 4, 0}, + {"HE", -20, 5, 3, "HEM03", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 6, 1, "HEM03", 4, 9, 6, 1, 3, 1, 4, 0, 10, 7, 7, 1}, + {"HE", -20, 6, 2, "HEM03", 4, 8, 7, 1, 3, 5, 4, 0, 10, 8, 7, 1}, + {"HE", -20, 6, 3, "HEM03", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 7, 1, "HEM03", 3, 9, 6, 1, 3, 1, 4, 0, 10, 5, 7, 1}, + {"HE", -20, 7, 2, "HEM03", 3, 8, 7, 1, 3, 5, 4, 0, 10, 6, 7, 1}, + {"HE", -20, 7, 3, "HEM03", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 8, 1, "HEM03", 2, 9, 6, 1, 3, 1, 4, 0, 11, 7, 7, 0}, + {"HE", -20, 8, 2, "HEM03", 2, 8, 7, 1, 3, 5, 4, 0, 11, 8, 7, 0}, + {"HE", -20, 8, 3, "HEM03", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 9, 1, "HEM03", 1, 9, 6, 1, 3, 1, 4, 0, 11, 5, 7, 0}, + {"HE", -20, 9, 2, "HEM03", 1, 8, 7, 1, 3, 5, 4, 0, 11, 6, 7, 0}, + {"HE", -20, 9, 3, "HEM04", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 10, 1, "HEM04", 4, 9, 6, 1, 3, 1, 0, 2, 4, 7, 4, 1}, + {"HE", -20, 10, 2, "HEM04", 4, 8, 7, 1, 3, 5, 0, 2, 4, 8, 4, 1}, + {"HE", -20, 10, 3, "HEM04", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 11, 1, "HEM04", 3, 9, 6, 1, 3, 1, 0, 2, 4, 5, 4, 1}, + {"HE", -20, 11, 2, "HEM04", 3, 8, 7, 1, 3, 5, 0, 2, 4, 6, 4, 1}, + {"HE", -20, 11, 3, "HEM04", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 12, 1, "HEM04", 2, 9, 6, 1, 3, 1, 0, 2, 5, 7, 4, 0}, + {"HE", -20, 12, 2, "HEM04", 2, 8, 7, 1, 3, 5, 0, 2, 5, 8, 4, 0}, + {"HE", -20, 12, 3, "HEM04", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 13, 1, "HEM04", 1, 9, 6, 1, 3, 1, 0, 2, 5, 5, 4, 0}, + {"HE", -20, 13, 2, "HEM04", 1, 8, 7, 1, 3, 5, 0, 2, 5, 6, 4, 0}, + {"HE", -20, 13, 3, "HEM05", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 14, 1, "HEM05", 4, 9, 6, 1, 3, 1, 0, 2, 10, 7, 7, 1}, + {"HE", -20, 14, 2, "HEM05", 4, 8, 7, 1, 3, 5, 0, 2, 10, 8, 7, 1}, + {"HE", -20, 14, 3, "HEM05", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 15, 1, "HEM05", 3, 9, 6, 1, 3, 1, 0, 2, 10, 5, 7, 1}, + {"HE", -20, 15, 2, "HEM05", 3, 8, 7, 1, 3, 5, 0, 2, 10, 6, 7, 1}, + {"HE", -20, 15, 3, "HEM05", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 16, 1, "HEM05", 2, 9, 6, 1, 3, 1, 0, 2, 11, 7, 7, 0}, + {"HE", -20, 16, 2, "HEM05", 2, 8, 7, 1, 3, 5, 0, 2, 11, 8, 7, 0}, + {"HE", -20, 16, 3, "HEM05", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 17, 1, "HEM05", 1, 9, 6, 1, 3, 1, 0, 2, 11, 5, 7, 0}, + {"HE", -20, 17, 2, "HEM05", 1, 8, 7, 1, 3, 5, 0, 2, 11, 6, 7, 0}, + {"HE", -20, 17, 3, "HEM06", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 18, 1, "HEM06", 4, 9, 6, 1, 3, 1, 1, 4, 4, 7, 4, 1}, + {"HE", -20, 18, 2, "HEM06", 4, 8, 7, 1, 3, 5, 1, 4, 4, 8, 4, 1}, + {"HE", -20, 18, 3, "HEM06", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 19, 1, "HEM06", 3, 9, 6, 1, 3, 1, 1, 4, 4, 5, 4, 1}, + {"HE", -20, 19, 2, "HEM06", 3, 8, 7, 1, 3, 5, 1, 4, 4, 6, 4, 1}, + {"HE", -20, 19, 3, "HEM06", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 20, 1, "HEM06", 2, 9, 6, 1, 3, 1, 1, 4, 5, 7, 4, 0}, + {"HE", -20, 20, 2, "HEM06", 2, 8, 7, 1, 3, 5, 1, 4, 5, 8, 4, 0}, + {"HE", -20, 20, 3, "HEM06", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 21, 1, "HEM06", 1, 9, 6, 1, 3, 1, 1, 4, 5, 5, 4, 0}, + {"HE", -20, 21, 2, "HEM06", 1, 8, 7, 1, 3, 5, 1, 4, 5, 6, 4, 0}, + {"HE", -20, 21, 3, "HEM07", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 22, 1, "HEM07", 4, 9, 6, 1, 3, 1, 1, 4, 10, 7, 7, 1}, + {"HE", -20, 22, 2, "HEM07", 4, 8, 7, 1, 3, 5, 1, 4, 10, 8, 7, 1}, + {"HE", -20, 22, 3, "HEM07", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 23, 1, "HEM07", 3, 9, 6, 1, 3, 1, 1, 4, 10, 5, 7, 1}, + {"HE", -20, 23, 2, "HEM07", 3, 8, 7, 1, 3, 5, 1, 4, 10, 6, 7, 1}, + {"HE", -20, 23, 3, "HEM07", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 24, 1, "HEM07", 2, 9, 6, 1, 3, 1, 1, 4, 11, 7, 7, 0}, + {"HE", -20, 24, 2, "HEM07", 2, 8, 7, 1, 3, 5, 1, 4, 11, 8, 7, 0}, + {"HE", -20, 24, 3, "HEM07", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 25, 1, "HEM07", 1, 9, 6, 1, 3, 1, 1, 4, 11, 5, 7, 0}, + {"HE", -20, 25, 2, "HEM07", 1, 8, 7, 1, 3, 5, 1, 4, 11, 6, 7, 0}, + {"HE", -20, 25, 3, "HEM08", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 26, 1, "HEM08", 4, 9, 6, 1, 3, 1, 5, 6, 4, 7, 4, 1}, + {"HE", -20, 26, 2, "HEM08", 4, 8, 7, 1, 3, 5, 5, 6, 4, 8, 4, 1}, + {"HE", -20, 26, 3, "HEM08", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 27, 1, "HEM08", 3, 9, 6, 1, 3, 1, 5, 6, 4, 5, 4, 1}, + {"HE", -20, 27, 2, "HEM08", 3, 8, 7, 1, 3, 5, 5, 6, 4, 6, 4, 1}, + {"HE", -20, 27, 3, "HEM08", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 28, 1, "HEM08", 2, 9, 6, 1, 3, 1, 5, 6, 5, 7, 4, 0}, + {"HE", -20, 28, 2, "HEM08", 2, 8, 7, 1, 3, 5, 5, 6, 5, 8, 4, 0}, + {"HE", -20, 28, 3, "HEM08", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 29, 1, "HEM08", 1, 9, 6, 1, 3, 1, 5, 6, 5, 5, 4, 0}, + {"HE", -20, 29, 2, "HEM08", 1, 8, 7, 1, 3, 5, 5, 6, 5, 6, 4, 0}, + {"HE", -20, 29, 3, "HEM09", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 30, 1, "HEM09", 4, 9, 6, 1, 3, 1, 5, 6, 10, 7, 7, 1}, + {"HE", -20, 30, 2, "HEM09", 4, 8, 7, 1, 3, 5, 5, 6, 10, 8, 7, 1}, + {"HE", -20, 30, 3, "HEM09", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 31, 1, "HEM09", 3, 9, 6, 1, 3, 1, 5, 6, 10, 5, 7, 1}, + {"HE", -20, 31, 2, "HEM09", 3, 8, 7, 1, 3, 5, 5, 6, 10, 6, 7, 1}, + {"HE", -20, 31, 3, "HEM09", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 32, 1, "HEM09", 2, 9, 6, 1, 3, 1, 5, 6, 11, 7, 7, 0}, + {"HE", -20, 32, 2, "HEM09", 2, 8, 7, 1, 3, 5, 5, 6, 11, 8, 7, 0}, + {"HE", -20, 32, 3, "HEM09", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 33, 1, "HEM09", 1, 9, 6, 1, 3, 1, 5, 6, 11, 5, 7, 0}, + {"HE", -20, 33, 2, "HEM09", 1, 8, 7, 1, 3, 5, 5, 6, 11, 6, 7, 0}, + {"HE", -20, 33, 3, "HEM10", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 34, 1, "HEM10", 4, 9, 6, 1, 3, 1, 11, 8, 4, 7, 4, 1}, + {"HE", -20, 34, 2, "HEM10", 4, 8, 7, 1, 3, 5, 11, 8, 4, 8, 4, 1}, + {"HE", -20, 34, 3, "HEM10", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 35, 1, "HEM10", 3, 9, 6, 1, 3, 1, 11, 8, 4, 5, 4, 1}, + {"HE", -20, 35, 2, "HEM10", 3, 8, 7, 1, 3, 5, 11, 8, 4, 6, 4, 1}, + {"HE", -20, 35, 3, "HEM10", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 36, 1, "HEM10", 2, 9, 6, 1, 3, 1, 11, 8, 5, 7, 4, 0}, + {"HE", -20, 36, 2, "HEM10", 2, 8, 7, 1, 3, 5, 11, 8, 5, 8, 4, 0}, + {"HE", -20, 36, 3, "HEM10", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 37, 1, "HEM10", 1, 9, 6, 1, 3, 1, 11, 8, 5, 5, 4, 0}, + {"HE", -20, 37, 2, "HEM10", 1, 8, 7, 1, 3, 5, 11, 8, 5, 6, 4, 0}, + {"HE", -20, 37, 3, "HEM11", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 38, 1, "HEM11", 4, 9, 6, 1, 3, 1, 11, 8, 10, 7, 7, 1}, + {"HE", -20, 38, 2, "HEM11", 4, 8, 7, 1, 3, 5, 11, 8, 10, 8, 7, 1}, + {"HE", -20, 38, 3, "HEM11", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 39, 1, "HEM11", 3, 9, 6, 1, 3, 1, 11, 8, 10, 5, 7, 1}, + {"HE", -20, 39, 2, "HEM11", 3, 8, 7, 1, 3, 5, 11, 8, 10, 6, 7, 1}, + {"HE", -20, 39, 3, "HEM11", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 40, 1, "HEM11", 2, 9, 6, 1, 3, 1, 11, 8, 11, 7, 7, 0}, + {"HE", -20, 40, 2, "HEM11", 2, 8, 7, 1, 3, 5, 11, 8, 11, 8, 7, 0}, + {"HE", -20, 40, 3, "HEM11", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 41, 1, "HEM11", 1, 9, 6, 1, 3, 1, 11, 8, 11, 5, 7, 0}, + {"HE", -20, 41, 2, "HEM11", 1, 8, 7, 1, 3, 5, 11, 8, 11, 6, 7, 0}, + {"HE", -20, 41, 3, "HEM12", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 42, 1, "HEM12", 4, 9, 6, 1, 3, 1, 15, 10, 4, 7, 4, 1}, + {"HE", -20, 42, 2, "HEM12", 4, 8, 7, 1, 3, 5, 15, 10, 4, 8, 4, 1}, + {"HE", -20, 42, 3, "HEM12", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 43, 1, "HEM12", 3, 9, 6, 1, 3, 1, 15, 10, 4, 5, 4, 1}, + {"HE", -20, 43, 2, "HEM12", 3, 8, 7, 1, 3, 5, 15, 10, 4, 6, 4, 1}, + {"HE", -20, 43, 3, "HEM12", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 44, 1, "HEM12", 2, 9, 6, 1, 3, 1, 15, 10, 5, 7, 4, 0}, + {"HE", -20, 44, 2, "HEM12", 2, 8, 7, 1, 3, 5, 15, 10, 5, 8, 4, 0}, + {"HE", -20, 44, 3, "HEM12", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 45, 1, "HEM12", 1, 9, 6, 1, 3, 1, 15, 10, 5, 5, 4, 0}, + {"HE", -20, 45, 2, "HEM12", 1, 8, 7, 1, 3, 5, 15, 10, 5, 6, 4, 0}, + {"HE", -20, 45, 3, "HEM13", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 46, 1, "HEM13", 4, 9, 6, 1, 3, 1, 15, 10, 10, 7, 7, 1}, + {"HE", -20, 46, 2, "HEM13", 4, 8, 7, 1, 3, 5, 15, 10, 10, 8, 7, 1}, + {"HE", -20, 46, 3, "HEM13", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 47, 1, "HEM13", 3, 9, 6, 1, 3, 1, 15, 10, 10, 5, 7, 1}, + {"HE", -20, 47, 2, "HEM13", 3, 8, 7, 1, 3, 5, 15, 10, 10, 6, 7, 1}, + {"HE", -20, 47, 3, "HEM13", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 48, 1, "HEM13", 2, 9, 6, 1, 3, 1, 15, 10, 11, 7, 7, 0}, + {"HE", -20, 48, 2, "HEM13", 2, 8, 7, 1, 3, 5, 15, 10, 11, 8, 7, 0}, + {"HE", -20, 48, 3, "HEM13", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 49, 1, "HEM13", 1, 9, 6, 1, 3, 1, 15, 10, 11, 5, 7, 0}, + {"HE", -20, 49, 2, "HEM13", 1, 8, 7, 1, 3, 5, 15, 10, 11, 6, 7, 0}, + {"HE", -20, 49, 3, "HEM14", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 50, 1, "HEM14", 4, 9, 6, 1, 3, 1, 17, 12, 4, 7, 4, 1}, + {"HE", -20, 50, 2, "HEM14", 4, 8, 7, 1, 3, 5, 17, 12, 4, 8, 4, 1}, + {"HE", -20, 50, 3, "HEM14", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 51, 1, "HEM14", 3, 9, 6, 1, 3, 1, 17, 12, 4, 5, 4, 1}, + {"HE", -20, 51, 2, "HEM14", 3, 8, 7, 1, 3, 5, 17, 12, 4, 6, 4, 1}, + {"HE", -20, 51, 3, "HEM14", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 52, 1, "HEM14", 2, 9, 6, 1, 3, 1, 17, 12, 5, 7, 4, 0}, + {"HE", -20, 52, 2, "HEM14", 2, 8, 7, 1, 3, 5, 17, 12, 5, 8, 4, 0}, + {"HE", -20, 52, 3, "HEM14", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 53, 1, "HEM14", 1, 9, 6, 1, 3, 1, 17, 12, 5, 5, 4, 0}, + {"HE", -20, 53, 2, "HEM14", 1, 8, 7, 1, 3, 5, 17, 12, 5, 6, 4, 0}, + {"HE", -20, 53, 3, "HEM15", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 54, 1, "HEM15", 4, 9, 6, 1, 3, 1, 17, 12, 10, 7, 7, 1}, + {"HE", -20, 54, 2, "HEM15", 4, 8, 7, 1, 3, 5, 17, 12, 10, 8, 7, 1}, + {"HE", -20, 54, 3, "HEM15", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 55, 1, "HEM15", 3, 9, 6, 1, 3, 1, 17, 12, 10, 5, 7, 1}, + {"HE", -20, 55, 2, "HEM15", 3, 8, 7, 1, 3, 5, 17, 12, 10, 6, 7, 1}, + {"HE", -20, 55, 3, "HEM15", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 56, 1, "HEM15", 2, 9, 6, 1, 3, 1, 17, 12, 11, 7, 7, 0}, + {"HE", -20, 56, 2, "HEM15", 2, 8, 7, 1, 3, 5, 17, 12, 11, 8, 7, 0}, + {"HE", -20, 56, 3, "HEM15", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 57, 1, "HEM15", 1, 9, 6, 1, 3, 1, 17, 12, 11, 5, 7, 0}, + {"HE", -20, 57, 2, "HEM15", 1, 8, 7, 1, 3, 5, 17, 12, 11, 6, 7, 0}, + {"HE", -20, 57, 3, "HEM16", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 58, 1, "HEM16", 4, 9, 6, 1, 3, 1, 14, 14, 4, 7, 4, 1}, + {"HE", -20, 58, 2, "HEM16", 4, 8, 7, 1, 3, 5, 14, 14, 4, 8, 4, 1}, + {"HE", -20, 58, 3, "HEM16", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 59, 1, "HEM16", 3, 9, 6, 1, 3, 1, 14, 14, 4, 5, 4, 1}, + {"HE", -20, 59, 2, "HEM16", 3, 8, 7, 1, 3, 5, 14, 14, 4, 6, 4, 1}, + {"HE", -20, 59, 3, "HEM16", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 60, 1, "HEM16", 2, 9, 6, 1, 3, 1, 14, 14, 5, 7, 4, 0}, + {"HE", -20, 60, 2, "HEM16", 2, 8, 7, 1, 3, 5, 14, 14, 5, 8, 4, 0}, + {"HE", -20, 60, 3, "HEM16", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 61, 1, "HEM16", 1, 9, 6, 1, 3, 1, 14, 14, 5, 5, 4, 0}, + {"HE", -20, 61, 2, "HEM16", 1, 8, 7, 1, 3, 5, 14, 14, 5, 6, 4, 0}, + {"HE", -20, 61, 3, "HEM17", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 62, 1, "HEM17", 4, 9, 6, 1, 3, 1, 14, 14, 10, 7, 7, 1}, + {"HE", -20, 62, 2, "HEM17", 4, 8, 7, 1, 3, 5, 14, 14, 10, 8, 7, 1}, + {"HE", -20, 62, 3, "HEM17", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 63, 1, "HEM17", 3, 9, 6, 1, 3, 1, 14, 14, 10, 5, 7, 1}, + {"HE", -20, 63, 2, "HEM17", 3, 8, 7, 1, 3, 5, 14, 14, 10, 6, 7, 1}, + {"HE", -20, 63, 3, "HEM17", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 64, 1, "HEM17", 2, 9, 6, 1, 3, 1, 14, 14, 11, 7, 7, 0}, + {"HE", -20, 64, 2, "HEM17", 2, 8, 7, 1, 3, 5, 14, 14, 11, 8, 7, 0}, + {"HE", -20, 64, 3, "HEM17", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 65, 1, "HEM17", 1, 9, 6, 1, 3, 1, 14, 14, 11, 5, 7, 0}, + {"HE", -20, 65, 2, "HEM17", 1, 8, 7, 1, 3, 5, 14, 14, 11, 6, 7, 0}, + {"HE", -20, 65, 3, "HEM18", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 66, 1, "HEM18", 4, 9, 6, 1, 3, 1, 10, 16, 4, 7, 4, 1}, + {"HE", -20, 66, 2, "HEM18", 4, 8, 7, 1, 3, 5, 10, 16, 4, 8, 4, 1}, + {"HE", -20, 66, 3, "HEM18", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 67, 1, "HEM18", 3, 9, 6, 1, 3, 1, 10, 16, 4, 5, 4, 1}, + {"HE", -20, 67, 2, "HEM18", 3, 8, 7, 1, 3, 5, 10, 16, 4, 6, 4, 1}, + {"HE", -20, 67, 3, "HEM18", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 68, 1, "HEM18", 2, 9, 6, 1, 3, 1, 10, 16, 5, 7, 4, 0}, + {"HE", -20, 68, 2, "HEM18", 2, 8, 7, 1, 3, 5, 10, 16, 5, 8, 4, 0}, + {"HE", -20, 68, 3, "HEM18", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 69, 1, "HEM18", 1, 9, 6, 1, 3, 1, 10, 16, 5, 5, 4, 0}, + {"HE", -20, 69, 2, "HEM18", 1, 8, 7, 1, 3, 5, 10, 16, 5, 6, 4, 0}, + {"HE", -20, 69, 3, "HEM01", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -20, 70, 1, "HEM01", 4, 9, 6, 1, 3, 1, 10, 16, 10, 7, 7, 1}, + {"HE", -20, 70, 2, "HEM01", 4, 8, 7, 1, 3, 5, 10, 16, 10, 8, 7, 1}, + {"HE", -20, 70, 3, "HEM01", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 0, 1, "HEM01", 2, 4, 7, 0, 3, 4, 10, 16, 11, 8, 7, 0}, + {"HE", -19, 0, 2, "HEM01", 2, 1, 6, 0, 3, 0, 10, 16, 11, 7, 7, 0}, + {"HE", -19, 0, 3, "HEM01", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 1, 1, "HEM01", 1, 13, 7, 0, 3, 4, 10, 16, 11, 6, 7, 0}, + {"HE", -19, 1, 2, "HEM01", 1, 17, 6, 0, 3, 0, 10, 16, 11, 5, 7, 0}, + {"HE", -19, 1, 3, "HEM01", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 2, 1, "HEM02", 4, 4, 7, 0, 3, 4, 4, 0, 4, 8, 4, 1}, + {"HE", -19, 2, 2, "HEM02", 4, 1, 6, 0, 3, 0, 4, 0, 4, 7, 4, 1}, + {"HE", -19, 2, 3, "HEM02", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 3, 1, "HEM02", 3, 13, 7, 0, 3, 4, 4, 0, 4, 6, 4, 1}, + {"HE", -19, 3, 2, "HEM02", 3, 17, 6, 0, 3, 0, 4, 0, 4, 5, 4, 1}, + {"HE", -19, 3, 3, "HEM02", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 4, 1, "HEM02", 2, 4, 7, 0, 3, 4, 4, 0, 5, 8, 4, 0}, + {"HE", -19, 4, 2, "HEM02", 2, 1, 6, 0, 3, 0, 4, 0, 5, 7, 4, 0}, + {"HE", -19, 4, 3, "HEM02", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 5, 1, "HEM02", 1, 13, 7, 0, 3, 4, 4, 0, 5, 6, 4, 0}, + {"HE", -19, 5, 2, "HEM02", 1, 17, 6, 0, 3, 0, 4, 0, 5, 5, 4, 0}, + {"HE", -19, 5, 3, "HEM02", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 6, 1, "HEM03", 4, 4, 7, 0, 3, 4, 4, 0, 10, 8, 7, 1}, + {"HE", -19, 6, 2, "HEM03", 4, 1, 6, 0, 3, 0, 4, 0, 10, 7, 7, 1}, + {"HE", -19, 6, 3, "HEM03", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 7, 1, "HEM03", 3, 13, 7, 0, 3, 4, 4, 0, 10, 6, 7, 1}, + {"HE", -19, 7, 2, "HEM03", 3, 17, 6, 0, 3, 0, 4, 0, 10, 5, 7, 1}, + {"HE", -19, 7, 3, "HEM03", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 8, 1, "HEM03", 2, 4, 7, 0, 3, 4, 4, 0, 11, 8, 7, 0}, + {"HE", -19, 8, 2, "HEM03", 2, 1, 6, 0, 3, 0, 4, 0, 11, 7, 7, 0}, + {"HE", -19, 8, 3, "HEM03", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 9, 1, "HEM03", 1, 13, 7, 0, 3, 4, 4, 0, 11, 6, 7, 0}, + {"HE", -19, 9, 2, "HEM03", 1, 17, 6, 0, 3, 0, 4, 0, 11, 5, 7, 0}, + {"HE", -19, 9, 3, "HEM03", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 10, 1, "HEM04", 4, 4, 7, 0, 3, 4, 0, 2, 4, 8, 4, 1}, + {"HE", -19, 10, 2, "HEM04", 4, 1, 6, 0, 3, 0, 0, 2, 4, 7, 4, 1}, + {"HE", -19, 10, 3, "HEM04", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 11, 1, "HEM04", 3, 13, 7, 0, 3, 4, 0, 2, 4, 6, 4, 1}, + {"HE", -19, 11, 2, "HEM04", 3, 17, 6, 0, 3, 0, 0, 2, 4, 5, 4, 1}, + {"HE", -19, 11, 3, "HEM04", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 12, 1, "HEM04", 2, 4, 7, 0, 3, 4, 0, 2, 5, 8, 4, 0}, + {"HE", -19, 12, 2, "HEM04", 2, 1, 6, 0, 3, 0, 0, 2, 5, 7, 4, 0}, + {"HE", -19, 12, 3, "HEM04", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 13, 1, "HEM04", 1, 13, 7, 0, 3, 4, 0, 2, 5, 6, 4, 0}, + {"HE", -19, 13, 2, "HEM04", 1, 17, 6, 0, 3, 0, 0, 2, 5, 5, 4, 0}, + {"HE", -19, 13, 3, "HEM04", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 14, 1, "HEM05", 4, 4, 7, 0, 3, 4, 0, 2, 10, 8, 7, 1}, + {"HE", -19, 14, 2, "HEM05", 4, 1, 6, 0, 3, 0, 0, 2, 10, 7, 7, 1}, + {"HE", -19, 14, 3, "HEM05", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 15, 1, "HEM05", 3, 13, 7, 0, 3, 4, 0, 2, 10, 6, 7, 1}, + {"HE", -19, 15, 2, "HEM05", 3, 17, 6, 0, 3, 0, 0, 2, 10, 5, 7, 1}, + {"HE", -19, 15, 3, "HEM05", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 16, 1, "HEM05", 2, 4, 7, 0, 3, 4, 0, 2, 11, 8, 7, 0}, + {"HE", -19, 16, 2, "HEM05", 2, 1, 6, 0, 3, 0, 0, 2, 11, 7, 7, 0}, + {"HE", -19, 16, 3, "HEM05", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 17, 1, "HEM05", 1, 13, 7, 0, 3, 4, 0, 2, 11, 6, 7, 0}, + {"HE", -19, 17, 2, "HEM05", 1, 17, 6, 0, 3, 0, 0, 2, 11, 5, 7, 0}, + {"HE", -19, 17, 3, "HEM05", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 18, 1, "HEM06", 4, 4, 7, 0, 3, 4, 1, 4, 4, 8, 4, 1}, + {"HE", -19, 18, 2, "HEM06", 4, 1, 6, 0, 3, 0, 1, 4, 4, 7, 4, 1}, + {"HE", -19, 18, 3, "HEM06", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 19, 1, "HEM06", 3, 13, 7, 0, 3, 4, 1, 4, 4, 6, 4, 1}, + {"HE", -19, 19, 2, "HEM06", 3, 17, 6, 0, 3, 0, 1, 4, 4, 5, 4, 1}, + {"HE", -19, 19, 3, "HEM06", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 20, 1, "HEM06", 2, 4, 7, 0, 3, 4, 1, 4, 5, 8, 4, 0}, + {"HE", -19, 20, 2, "HEM06", 2, 1, 6, 0, 3, 0, 1, 4, 5, 7, 4, 0}, + {"HE", -19, 20, 3, "HEM06", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 21, 1, "HEM06", 1, 13, 7, 0, 3, 4, 1, 4, 5, 6, 4, 0}, + {"HE", -19, 21, 2, "HEM06", 1, 17, 6, 0, 3, 0, 1, 4, 5, 5, 4, 0}, + {"HE", -19, 21, 3, "HEM06", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 22, 1, "HEM07", 4, 4, 7, 0, 3, 4, 1, 4, 10, 8, 7, 1}, + {"HE", -19, 22, 2, "HEM07", 4, 1, 6, 0, 3, 0, 1, 4, 10, 7, 7, 1}, + {"HE", -19, 22, 3, "HEM07", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 23, 1, "HEM07", 3, 13, 7, 0, 3, 4, 1, 4, 10, 6, 7, 1}, + {"HE", -19, 23, 2, "HEM07", 3, 17, 6, 0, 3, 0, 1, 4, 10, 5, 7, 1}, + {"HE", -19, 23, 3, "HEM07", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 24, 1, "HEM07", 2, 4, 7, 0, 3, 4, 1, 4, 11, 8, 7, 0}, + {"HE", -19, 24, 2, "HEM07", 2, 1, 6, 0, 3, 0, 1, 4, 11, 7, 7, 0}, + {"HE", -19, 24, 3, "HEM07", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 25, 1, "HEM07", 1, 13, 7, 0, 3, 4, 1, 4, 11, 6, 7, 0}, + {"HE", -19, 25, 2, "HEM07", 1, 17, 6, 0, 3, 0, 1, 4, 11, 5, 7, 0}, + {"HE", -19, 25, 3, "HEM07", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 26, 1, "HEM08", 4, 4, 7, 0, 3, 4, 5, 6, 4, 8, 4, 1}, + {"HE", -19, 26, 2, "HEM08", 4, 1, 6, 0, 3, 0, 5, 6, 4, 7, 4, 1}, + {"HE", -19, 26, 3, "HEM08", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 27, 1, "HEM08", 3, 13, 7, 0, 3, 4, 5, 6, 4, 6, 4, 1}, + {"HE", -19, 27, 2, "HEM08", 3, 17, 6, 0, 3, 0, 5, 6, 4, 5, 4, 1}, + {"HE", -19, 27, 3, "HEM08", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 28, 1, "HEM08", 2, 4, 7, 0, 3, 4, 5, 6, 5, 8, 4, 0}, + {"HE", -19, 28, 2, "HEM08", 2, 1, 6, 0, 3, 0, 5, 6, 5, 7, 4, 0}, + {"HE", -19, 28, 3, "HEM08", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 29, 1, "HEM08", 1, 13, 7, 0, 3, 4, 5, 6, 5, 6, 4, 0}, + {"HE", -19, 29, 2, "HEM08", 1, 17, 6, 0, 3, 0, 5, 6, 5, 5, 4, 0}, + {"HE", -19, 29, 3, "HEM08", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 30, 1, "HEM09", 4, 4, 7, 0, 3, 4, 5, 6, 10, 8, 7, 1}, + {"HE", -19, 30, 2, "HEM09", 4, 1, 6, 0, 3, 0, 5, 6, 10, 7, 7, 1}, + {"HE", -19, 30, 3, "HEM09", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 31, 1, "HEM09", 3, 13, 7, 0, 3, 4, 5, 6, 10, 6, 7, 1}, + {"HE", -19, 31, 2, "HEM09", 3, 17, 6, 0, 3, 0, 5, 6, 10, 5, 7, 1}, + {"HE", -19, 31, 3, "HEM09", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 32, 1, "HEM09", 2, 4, 7, 0, 3, 4, 5, 6, 11, 8, 7, 0}, + {"HE", -19, 32, 2, "HEM09", 2, 1, 6, 0, 3, 0, 5, 6, 11, 7, 7, 0}, + {"HE", -19, 32, 3, "HEM09", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 33, 1, "HEM09", 1, 13, 7, 0, 3, 4, 5, 6, 11, 6, 7, 0}, + {"HE", -19, 33, 2, "HEM09", 1, 17, 6, 0, 3, 0, 5, 6, 11, 5, 7, 0}, + {"HE", -19, 33, 3, "HEM09", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 34, 1, "HEM10", 4, 4, 7, 0, 3, 4, 11, 8, 4, 8, 4, 1}, + {"HE", -19, 34, 2, "HEM10", 4, 1, 6, 0, 3, 0, 11, 8, 4, 7, 4, 1}, + {"HE", -19, 34, 3, "HEM10", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 35, 1, "HEM10", 3, 13, 7, 0, 3, 4, 11, 8, 4, 6, 4, 1}, + {"HE", -19, 35, 2, "HEM10", 3, 17, 6, 0, 3, 0, 11, 8, 4, 5, 4, 1}, + {"HE", -19, 35, 3, "HEM10", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 36, 1, "HEM10", 2, 4, 7, 0, 3, 4, 11, 8, 5, 8, 4, 0}, + {"HE", -19, 36, 2, "HEM10", 2, 1, 6, 0, 3, 0, 11, 8, 5, 7, 4, 0}, + {"HE", -19, 36, 3, "HEM10", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 37, 1, "HEM10", 1, 13, 7, 0, 3, 4, 11, 8, 5, 6, 4, 0}, + {"HE", -19, 37, 2, "HEM10", 1, 17, 6, 0, 3, 0, 11, 8, 5, 5, 4, 0}, + {"HE", -19, 37, 3, "HEM10", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 38, 1, "HEM11", 4, 4, 7, 0, 3, 4, 11, 8, 10, 8, 7, 1}, + {"HE", -19, 38, 2, "HEM11", 4, 1, 6, 0, 3, 0, 11, 8, 10, 7, 7, 1}, + {"HE", -19, 38, 3, "HEM11", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 39, 1, "HEM11", 3, 13, 7, 0, 3, 4, 11, 8, 10, 6, 7, 1}, + {"HE", -19, 39, 2, "HEM11", 3, 17, 6, 0, 3, 0, 11, 8, 10, 5, 7, 1}, + {"HE", -19, 39, 3, "HEM11", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 40, 1, "HEM11", 2, 4, 7, 0, 3, 4, 11, 8, 11, 8, 7, 0}, + {"HE", -19, 40, 2, "HEM11", 2, 1, 6, 0, 3, 0, 11, 8, 11, 7, 7, 0}, + {"HE", -19, 40, 3, "HEM11", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 41, 1, "HEM11", 1, 13, 7, 0, 3, 4, 11, 8, 11, 6, 7, 0}, + {"HE", -19, 41, 2, "HEM11", 1, 17, 6, 0, 3, 0, 11, 8, 11, 5, 7, 0}, + {"HE", -19, 41, 3, "HEM11", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 42, 1, "HEM12", 4, 4, 7, 0, 3, 4, 15, 10, 4, 8, 4, 1}, + {"HE", -19, 42, 2, "HEM12", 4, 1, 6, 0, 3, 0, 15, 10, 4, 7, 4, 1}, + {"HE", -19, 42, 3, "HEM12", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 43, 1, "HEM12", 3, 13, 7, 0, 3, 4, 15, 10, 4, 6, 4, 1}, + {"HE", -19, 43, 2, "HEM12", 3, 17, 6, 0, 3, 0, 15, 10, 4, 5, 4, 1}, + {"HE", -19, 43, 3, "HEM12", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 44, 1, "HEM12", 2, 4, 7, 0, 3, 4, 15, 10, 5, 8, 4, 0}, + {"HE", -19, 44, 2, "HEM12", 2, 1, 6, 0, 3, 0, 15, 10, 5, 7, 4, 0}, + {"HE", -19, 44, 3, "HEM12", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 45, 1, "HEM12", 1, 13, 7, 0, 3, 4, 15, 10, 5, 6, 4, 0}, + {"HE", -19, 45, 2, "HEM12", 1, 17, 6, 0, 3, 0, 15, 10, 5, 5, 4, 0}, + {"HE", -19, 45, 3, "HEM12", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 46, 1, "HEM13", 4, 4, 7, 0, 3, 4, 15, 10, 10, 8, 7, 1}, + {"HE", -19, 46, 2, "HEM13", 4, 1, 6, 0, 3, 0, 15, 10, 10, 7, 7, 1}, + {"HE", -19, 46, 3, "HEM13", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 47, 1, "HEM13", 3, 13, 7, 0, 3, 4, 15, 10, 10, 6, 7, 1}, + {"HE", -19, 47, 2, "HEM13", 3, 17, 6, 0, 3, 0, 15, 10, 10, 5, 7, 1}, + {"HE", -19, 47, 3, "HEM13", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 48, 1, "HEM13", 2, 4, 7, 0, 3, 4, 15, 10, 11, 8, 7, 0}, + {"HE", -19, 48, 2, "HEM13", 2, 1, 6, 0, 3, 0, 15, 10, 11, 7, 7, 0}, + {"HE", -19, 48, 3, "HEM13", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 49, 1, "HEM13", 1, 13, 7, 0, 3, 4, 15, 10, 11, 6, 7, 0}, + {"HE", -19, 49, 2, "HEM13", 1, 17, 6, 0, 3, 0, 15, 10, 11, 5, 7, 0}, + {"HE", -19, 49, 3, "HEM13", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 50, 1, "HEM14", 4, 4, 7, 0, 3, 4, 17, 12, 4, 8, 4, 1}, + {"HE", -19, 50, 2, "HEM14", 4, 1, 6, 0, 3, 0, 17, 12, 4, 7, 4, 1}, + {"HE", -19, 50, 3, "HEM14", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 51, 1, "HEM14", 3, 13, 7, 0, 3, 4, 17, 12, 4, 6, 4, 1}, + {"HE", -19, 51, 2, "HEM14", 3, 17, 6, 0, 3, 0, 17, 12, 4, 5, 4, 1}, + {"HE", -19, 51, 3, "HEM14", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 52, 1, "HEM14", 2, 4, 7, 0, 3, 4, 17, 12, 5, 8, 4, 0}, + {"HE", -19, 52, 2, "HEM14", 2, 1, 6, 0, 3, 0, 17, 12, 5, 7, 4, 0}, + {"HE", -19, 52, 3, "HEM14", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 53, 1, "HEM14", 1, 13, 7, 0, 3, 4, 17, 12, 5, 6, 4, 0}, + {"HE", -19, 53, 2, "HEM14", 1, 17, 6, 0, 3, 0, 17, 12, 5, 5, 4, 0}, + {"HE", -19, 53, 3, "HEM14", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 54, 1, "HEM15", 4, 4, 7, 0, 3, 4, 17, 12, 10, 8, 7, 1}, + {"HE", -19, 54, 2, "HEM15", 4, 1, 6, 0, 3, 0, 17, 12, 10, 7, 7, 1}, + {"HE", -19, 54, 3, "HEM15", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 55, 1, "HEM15", 3, 13, 7, 0, 3, 4, 17, 12, 10, 6, 7, 1}, + {"HE", -19, 55, 2, "HEM15", 3, 17, 6, 0, 3, 0, 17, 12, 10, 5, 7, 1}, + {"HE", -19, 55, 3, "HEM15", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 56, 1, "HEM15", 2, 4, 7, 0, 3, 4, 17, 12, 11, 8, 7, 0}, + {"HE", -19, 56, 2, "HEM15", 2, 1, 6, 0, 3, 0, 17, 12, 11, 7, 7, 0}, + {"HE", -19, 56, 3, "HEM15", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 57, 1, "HEM15", 1, 13, 7, 0, 3, 4, 17, 12, 11, 6, 7, 0}, + {"HE", -19, 57, 2, "HEM15", 1, 17, 6, 0, 3, 0, 17, 12, 11, 5, 7, 0}, + {"HE", -19, 57, 3, "HEM15", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 58, 1, "HEM16", 4, 4, 7, 0, 3, 4, 14, 14, 4, 8, 4, 1}, + {"HE", -19, 58, 2, "HEM16", 4, 1, 6, 0, 3, 0, 14, 14, 4, 7, 4, 1}, + {"HE", -19, 58, 3, "HEM16", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 59, 1, "HEM16", 3, 13, 7, 0, 3, 4, 14, 14, 4, 6, 4, 1}, + {"HE", -19, 59, 2, "HEM16", 3, 17, 6, 0, 3, 0, 14, 14, 4, 5, 4, 1}, + {"HE", -19, 59, 3, "HEM16", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 60, 1, "HEM16", 2, 4, 7, 0, 3, 4, 14, 14, 5, 8, 4, 0}, + {"HE", -19, 60, 2, "HEM16", 2, 1, 6, 0, 3, 0, 14, 14, 5, 7, 4, 0}, + {"HE", -19, 60, 3, "HEM16", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 61, 1, "HEM16", 1, 13, 7, 0, 3, 4, 14, 14, 5, 6, 4, 0}, + {"HE", -19, 61, 2, "HEM16", 1, 17, 6, 0, 3, 0, 14, 14, 5, 5, 4, 0}, + {"HE", -19, 61, 3, "HEM16", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 62, 1, "HEM17", 4, 4, 7, 0, 3, 4, 14, 14, 10, 8, 7, 1}, + {"HE", -19, 62, 2, "HEM17", 4, 1, 6, 0, 3, 0, 14, 14, 10, 7, 7, 1}, + {"HE", -19, 62, 3, "HEM17", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 63, 1, "HEM17", 3, 13, 7, 0, 3, 4, 14, 14, 10, 6, 7, 1}, + {"HE", -19, 63, 2, "HEM17", 3, 17, 6, 0, 3, 0, 14, 14, 10, 5, 7, 1}, + {"HE", -19, 63, 3, "HEM17", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 64, 1, "HEM17", 2, 4, 7, 0, 3, 4, 14, 14, 11, 8, 7, 0}, + {"HE", -19, 64, 2, "HEM17", 2, 1, 6, 0, 3, 0, 14, 14, 11, 7, 7, 0}, + {"HE", -19, 64, 3, "HEM17", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 65, 1, "HEM17", 1, 13, 7, 0, 3, 4, 14, 14, 11, 6, 7, 0}, + {"HE", -19, 65, 2, "HEM17", 1, 17, 6, 0, 3, 0, 14, 14, 11, 5, 7, 0}, + {"HE", -19, 65, 3, "HEM17", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 66, 1, "HEM18", 4, 4, 7, 0, 3, 4, 10, 16, 4, 8, 4, 1}, + {"HE", -19, 66, 2, "HEM18", 4, 1, 6, 0, 3, 0, 10, 16, 4, 7, 4, 1}, + {"HE", -19, 66, 3, "HEM18", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 67, 1, "HEM18", 3, 13, 7, 0, 3, 4, 10, 16, 4, 6, 4, 1}, + {"HE", -19, 67, 2, "HEM18", 3, 17, 6, 0, 3, 0, 10, 16, 4, 5, 4, 1}, + {"HE", -19, 67, 3, "HEM18", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 68, 1, "HEM18", 2, 4, 7, 0, 3, 4, 10, 16, 5, 8, 4, 0}, + {"HE", -19, 68, 2, "HEM18", 2, 1, 6, 0, 3, 0, 10, 16, 5, 7, 4, 0}, + {"HE", -19, 68, 3, "HEM18", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 69, 1, "HEM18", 1, 13, 7, 0, 3, 4, 10, 16, 5, 6, 4, 0}, + {"HE", -19, 69, 2, "HEM18", 1, 17, 6, 0, 3, 0, 10, 16, 5, 5, 4, 0}, + {"HE", -19, 69, 3, "HEM18", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -19, 70, 1, "HEM01", 4, 4, 7, 0, 3, 4, 10, 16, 10, 8, 7, 1}, + {"HE", -19, 70, 2, "HEM01", 4, 1, 6, 0, 3, 0, 10, 16, 10, 7, 7, 1}, + {"HE", -19, 70, 3, "HEM01", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 0, 1, "HEM01", 2, 11, 3, 0, 1, 4, 10, 16, 9, 8, 6, 0}, + {"HE", -18, 0, 2, "HEM01", 2, 3, 3, 1, 1, 5, 10, 16, 9, 8, 6, 0}, + {"HE", -18, 0, 3, "HEM01", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 1, 1, "HEM01", 1, 11, 3, 0, 1, 4, 10, 16, 9, 6, 6, 0}, + {"HE", -18, 1, 2, "HEM01", 1, 19, 3, 1, 1, 5, 10, 16, 9, 6, 6, 0}, + {"HE", -18, 1, 3, "HEM01", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 2, 1, "HEM02", 4, 11, 3, 0, 1, 4, 4, 0, 2, 8, 3, 1}, + {"HE", -18, 2, 2, "HEM02", 4, 3, 3, 1, 1, 5, 4, 0, 2, 8, 3, 1}, + {"HE", -18, 2, 3, "HEM02", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 3, 1, "HEM02", 3, 11, 3, 0, 1, 4, 4, 0, 2, 6, 3, 1}, + {"HE", -18, 3, 2, "HEM02", 3, 19, 3, 1, 1, 5, 4, 0, 2, 6, 3, 1}, + {"HE", -18, 3, 3, "HEM02", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 4, 1, "HEM02", 2, 11, 3, 0, 1, 4, 4, 0, 3, 8, 3, 0}, + {"HE", -18, 4, 2, "HEM02", 2, 3, 3, 1, 1, 5, 4, 0, 3, 8, 3, 0}, + {"HE", -18, 4, 3, "HEM02", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 5, 1, "HEM02", 1, 11, 3, 0, 1, 4, 4, 0, 3, 6, 3, 0}, + {"HE", -18, 5, 2, "HEM02", 1, 19, 3, 1, 1, 5, 4, 0, 3, 6, 3, 0}, + {"HE", -18, 5, 3, "HEM02", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 6, 1, "HEM03", 4, 11, 3, 0, 1, 4, 4, 0, 8, 8, 6, 1}, + {"HE", -18, 6, 2, "HEM03", 4, 3, 3, 1, 1, 5, 4, 0, 8, 8, 6, 1}, + {"HE", -18, 6, 3, "HEM03", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 7, 1, "HEM03", 3, 11, 3, 0, 1, 4, 4, 0, 8, 6, 6, 1}, + {"HE", -18, 7, 2, "HEM03", 3, 19, 3, 1, 1, 5, 4, 0, 8, 6, 6, 1}, + {"HE", -18, 7, 3, "HEM03", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 8, 1, "HEM03", 2, 11, 3, 0, 1, 4, 4, 0, 9, 8, 6, 0}, + {"HE", -18, 8, 2, "HEM03", 2, 3, 3, 1, 1, 5, 4, 0, 9, 8, 6, 0}, + {"HE", -18, 8, 3, "HEM03", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 9, 1, "HEM03", 1, 11, 3, 0, 1, 4, 4, 0, 9, 6, 6, 0}, + {"HE", -18, 9, 2, "HEM03", 1, 19, 3, 1, 1, 5, 4, 0, 9, 6, 6, 0}, + {"HE", -18, 9, 3, "HEM03", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 10, 1, "HEM04", 4, 11, 3, 0, 1, 4, 0, 2, 2, 8, 3, 1}, + {"HE", -18, 10, 2, "HEM04", 4, 3, 3, 1, 1, 5, 0, 2, 2, 8, 3, 1}, + {"HE", -18, 10, 3, "HEM04", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 11, 1, "HEM04", 3, 11, 3, 0, 1, 4, 0, 2, 2, 6, 3, 1}, + {"HE", -18, 11, 2, "HEM04", 3, 19, 3, 1, 1, 5, 0, 2, 2, 6, 3, 1}, + {"HE", -18, 11, 3, "HEM04", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 12, 1, "HEM04", 2, 11, 3, 0, 1, 4, 0, 2, 3, 8, 3, 0}, + {"HE", -18, 12, 2, "HEM04", 2, 3, 3, 1, 1, 5, 0, 2, 3, 8, 3, 0}, + {"HE", -18, 12, 3, "HEM04", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 13, 1, "HEM04", 1, 11, 3, 0, 1, 4, 0, 2, 3, 6, 3, 0}, + {"HE", -18, 13, 2, "HEM04", 1, 19, 3, 1, 1, 5, 0, 2, 3, 6, 3, 0}, + {"HE", -18, 13, 3, "HEM04", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 14, 1, "HEM05", 4, 11, 3, 0, 1, 4, 0, 2, 8, 8, 6, 1}, + {"HE", -18, 14, 2, "HEM05", 4, 3, 3, 1, 1, 5, 0, 2, 8, 8, 6, 1}, + {"HE", -18, 14, 3, "HEM05", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 15, 1, "HEM05", 3, 11, 3, 0, 1, 4, 0, 2, 8, 6, 6, 1}, + {"HE", -18, 15, 2, "HEM05", 3, 19, 3, 1, 1, 5, 0, 2, 8, 6, 6, 1}, + {"HE", -18, 15, 3, "HEM05", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 16, 1, "HEM05", 2, 11, 3, 0, 1, 4, 0, 2, 9, 8, 6, 0}, + {"HE", -18, 16, 2, "HEM05", 2, 3, 3, 1, 1, 5, 0, 2, 9, 8, 6, 0}, + {"HE", -18, 16, 3, "HEM05", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 17, 1, "HEM05", 1, 11, 3, 0, 1, 4, 0, 2, 9, 6, 6, 0}, + {"HE", -18, 17, 2, "HEM05", 1, 19, 3, 1, 1, 5, 0, 2, 9, 6, 6, 0}, + {"HE", -18, 17, 3, "HEM05", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 18, 1, "HEM06", 4, 11, 3, 0, 1, 4, 1, 4, 2, 8, 3, 1}, + {"HE", -18, 18, 2, "HEM06", 4, 3, 3, 1, 1, 5, 1, 4, 2, 8, 3, 1}, + {"HE", -18, 18, 3, "HEM06", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 19, 1, "HEM06", 3, 11, 3, 0, 1, 4, 1, 4, 2, 6, 3, 1}, + {"HE", -18, 19, 2, "HEM06", 3, 19, 3, 1, 1, 5, 1, 4, 2, 6, 3, 1}, + {"HE", -18, 19, 3, "HEM06", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 20, 1, "HEM06", 2, 11, 3, 0, 1, 4, 1, 4, 3, 8, 3, 0}, + {"HE", -18, 20, 2, "HEM06", 2, 3, 3, 1, 1, 5, 1, 4, 3, 8, 3, 0}, + {"HE", -18, 20, 3, "HEM06", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 21, 1, "HEM06", 1, 11, 3, 0, 1, 4, 1, 4, 3, 6, 3, 0}, + {"HE", -18, 21, 2, "HEM06", 1, 19, 3, 1, 1, 5, 1, 4, 3, 6, 3, 0}, + {"HE", -18, 21, 3, "HEM06", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 22, 1, "HEM07", 4, 11, 3, 0, 1, 4, 1, 4, 8, 8, 6, 1}, + {"HE", -18, 22, 2, "HEM07", 4, 3, 3, 1, 1, 5, 1, 4, 8, 8, 6, 1}, + {"HE", -18, 22, 3, "HEM07", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 23, 1, "HEM07", 3, 11, 3, 0, 1, 4, 1, 4, 8, 6, 6, 1}, + {"HE", -18, 23, 2, "HEM07", 3, 19, 3, 1, 1, 5, 1, 4, 8, 6, 6, 1}, + {"HE", -18, 23, 3, "HEM07", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 24, 1, "HEM07", 2, 11, 3, 0, 1, 4, 1, 4, 9, 8, 6, 0}, + {"HE", -18, 24, 2, "HEM07", 2, 3, 3, 1, 1, 5, 1, 4, 9, 8, 6, 0}, + {"HE", -18, 24, 3, "HEM07", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 25, 1, "HEM07", 1, 11, 3, 0, 1, 4, 1, 4, 9, 6, 6, 0}, + {"HE", -18, 25, 2, "HEM07", 1, 19, 3, 1, 1, 5, 1, 4, 9, 6, 6, 0}, + {"HE", -18, 25, 3, "HEM07", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 26, 1, "HEM08", 4, 11, 3, 0, 1, 4, 5, 6, 2, 8, 3, 1}, + {"HE", -18, 26, 2, "HEM08", 4, 3, 3, 1, 1, 5, 5, 6, 2, 8, 3, 1}, + {"HE", -18, 26, 3, "HEM08", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 27, 1, "HEM08", 3, 11, 3, 0, 1, 4, 5, 6, 2, 6, 3, 1}, + {"HE", -18, 27, 2, "HEM08", 3, 19, 3, 1, 1, 5, 5, 6, 2, 6, 3, 1}, + {"HE", -18, 27, 3, "HEM08", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 28, 1, "HEM08", 2, 11, 3, 0, 1, 4, 5, 6, 3, 8, 3, 0}, + {"HE", -18, 28, 2, "HEM08", 2, 3, 3, 1, 1, 5, 5, 6, 3, 8, 3, 0}, + {"HE", -18, 28, 3, "HEM08", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 29, 1, "HEM08", 1, 11, 3, 0, 1, 4, 5, 6, 3, 6, 3, 0}, + {"HE", -18, 29, 2, "HEM08", 1, 19, 3, 1, 1, 5, 5, 6, 3, 6, 3, 0}, + {"HE", -18, 29, 3, "HEM08", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 30, 1, "HEM09", 4, 11, 3, 0, 1, 4, 5, 6, 8, 8, 6, 1}, + {"HE", -18, 30, 2, "HEM09", 4, 3, 3, 1, 1, 5, 5, 6, 8, 8, 6, 1}, + {"HE", -18, 30, 3, "HEM09", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 31, 1, "HEM09", 3, 11, 3, 0, 1, 4, 5, 6, 8, 6, 6, 1}, + {"HE", -18, 31, 2, "HEM09", 3, 19, 3, 1, 1, 5, 5, 6, 8, 6, 6, 1}, + {"HE", -18, 31, 3, "HEM09", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 32, 1, "HEM09", 2, 11, 3, 0, 1, 4, 5, 6, 9, 8, 6, 0}, + {"HE", -18, 32, 2, "HEM09", 2, 3, 3, 1, 1, 5, 5, 6, 9, 8, 6, 0}, + {"HE", -18, 32, 3, "HEM09", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 33, 1, "HEM09", 1, 11, 3, 0, 1, 4, 5, 6, 9, 6, 6, 0}, + {"HE", -18, 33, 2, "HEM09", 1, 19, 3, 1, 1, 5, 5, 6, 9, 6, 6, 0}, + {"HE", -18, 33, 3, "HEM09", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 34, 1, "HEM10", 4, 11, 3, 0, 1, 4, 11, 8, 2, 8, 3, 1}, + {"HE", -18, 34, 2, "HEM10", 4, 3, 3, 1, 1, 5, 11, 8, 2, 8, 3, 1}, + {"HE", -18, 34, 3, "HEM10", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 35, 1, "HEM10", 3, 11, 3, 0, 1, 4, 11, 8, 2, 6, 3, 1}, + {"HE", -18, 35, 2, "HEM10", 3, 19, 3, 1, 1, 5, 11, 8, 2, 6, 3, 1}, + {"HE", -18, 35, 3, "HEM10", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 36, 1, "HEM10", 2, 11, 3, 0, 1, 4, 11, 8, 3, 8, 3, 0}, + {"HE", -18, 36, 2, "HEM10", 2, 3, 3, 1, 1, 5, 11, 8, 3, 8, 3, 0}, + {"HE", -18, 36, 3, "HEM10", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 37, 1, "HEM10", 1, 11, 3, 0, 1, 4, 11, 8, 3, 6, 3, 0}, + {"HE", -18, 37, 2, "HEM10", 1, 19, 3, 1, 1, 5, 11, 8, 3, 6, 3, 0}, + {"HE", -18, 37, 3, "HEM10", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 38, 1, "HEM11", 4, 11, 3, 0, 1, 4, 11, 8, 8, 8, 6, 1}, + {"HE", -18, 38, 2, "HEM11", 4, 3, 3, 1, 1, 5, 11, 8, 8, 8, 6, 1}, + {"HE", -18, 38, 3, "HEM11", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 39, 1, "HEM11", 3, 11, 3, 0, 1, 4, 11, 8, 8, 6, 6, 1}, + {"HE", -18, 39, 2, "HEM11", 3, 19, 3, 1, 1, 5, 11, 8, 8, 6, 6, 1}, + {"HE", -18, 39, 3, "HEM11", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 40, 1, "HEM11", 2, 11, 3, 0, 1, 4, 11, 8, 9, 8, 6, 0}, + {"HE", -18, 40, 2, "HEM11", 2, 3, 3, 1, 1, 5, 11, 8, 9, 8, 6, 0}, + {"HE", -18, 40, 3, "HEM11", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 41, 1, "HEM11", 1, 11, 3, 0, 1, 4, 11, 8, 9, 6, 6, 0}, + {"HE", -18, 41, 2, "HEM11", 1, 19, 3, 1, 1, 5, 11, 8, 9, 6, 6, 0}, + {"HE", -18, 41, 3, "HEM11", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 42, 1, "HEM12", 4, 11, 3, 0, 1, 4, 15, 10, 2, 8, 3, 1}, + {"HE", -18, 42, 2, "HEM12", 4, 3, 3, 1, 1, 5, 15, 10, 2, 8, 3, 1}, + {"HE", -18, 42, 3, "HEM12", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 43, 1, "HEM12", 3, 11, 3, 0, 1, 4, 15, 10, 2, 6, 3, 1}, + {"HE", -18, 43, 2, "HEM12", 3, 19, 3, 1, 1, 5, 15, 10, 2, 6, 3, 1}, + {"HE", -18, 43, 3, "HEM12", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 44, 1, "HEM12", 2, 11, 3, 0, 1, 4, 15, 10, 3, 8, 3, 0}, + {"HE", -18, 44, 2, "HEM12", 2, 3, 3, 1, 1, 5, 15, 10, 3, 8, 3, 0}, + {"HE", -18, 44, 3, "HEM12", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 45, 1, "HEM12", 1, 11, 3, 0, 1, 4, 15, 10, 3, 6, 3, 0}, + {"HE", -18, 45, 2, "HEM12", 1, 19, 3, 1, 1, 5, 15, 10, 3, 6, 3, 0}, + {"HE", -18, 45, 3, "HEM12", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 46, 1, "HEM13", 4, 11, 3, 0, 1, 4, 15, 10, 8, 8, 6, 1}, + {"HE", -18, 46, 2, "HEM13", 4, 3, 3, 1, 1, 5, 15, 10, 8, 8, 6, 1}, + {"HE", -18, 46, 3, "HEM13", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 47, 1, "HEM13", 3, 11, 3, 0, 1, 4, 15, 10, 8, 6, 6, 1}, + {"HE", -18, 47, 2, "HEM13", 3, 19, 3, 1, 1, 5, 15, 10, 8, 6, 6, 1}, + {"HE", -18, 47, 3, "HEM13", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 48, 1, "HEM13", 2, 11, 3, 0, 1, 4, 15, 10, 9, 8, 6, 0}, + {"HE", -18, 48, 2, "HEM13", 2, 3, 3, 1, 1, 5, 15, 10, 9, 8, 6, 0}, + {"HE", -18, 48, 3, "HEM13", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 49, 1, "HEM13", 1, 11, 3, 0, 1, 4, 15, 10, 9, 6, 6, 0}, + {"HE", -18, 49, 2, "HEM13", 1, 19, 3, 1, 1, 5, 15, 10, 9, 6, 6, 0}, + {"HE", -18, 49, 3, "HEM13", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 50, 1, "HEM14", 4, 11, 3, 0, 1, 4, 17, 12, 2, 8, 3, 1}, + {"HE", -18, 50, 2, "HEM14", 4, 3, 3, 1, 1, 5, 17, 12, 2, 8, 3, 1}, + {"HE", -18, 50, 3, "HEM14", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 51, 1, "HEM14", 3, 11, 3, 0, 1, 4, 17, 12, 2, 6, 3, 1}, + {"HE", -18, 51, 2, "HEM14", 3, 19, 3, 1, 1, 5, 17, 12, 2, 6, 3, 1}, + {"HE", -18, 51, 3, "HEM14", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 52, 1, "HEM14", 2, 11, 3, 0, 1, 4, 17, 12, 3, 8, 3, 0}, + {"HE", -18, 52, 2, "HEM14", 2, 3, 3, 1, 1, 5, 17, 12, 3, 8, 3, 0}, + {"HE", -18, 52, 3, "HEM14", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 53, 1, "HEM14", 1, 11, 3, 0, 1, 4, 17, 12, 3, 6, 3, 0}, + {"HE", -18, 53, 2, "HEM14", 1, 19, 3, 1, 1, 5, 17, 12, 3, 6, 3, 0}, + {"HE", -18, 53, 3, "HEM14", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 54, 1, "HEM15", 4, 11, 3, 0, 1, 4, 17, 12, 8, 8, 6, 1}, + {"HE", -18, 54, 2, "HEM15", 4, 3, 3, 1, 1, 5, 17, 12, 8, 8, 6, 1}, + {"HE", -18, 54, 3, "HEM15", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 55, 1, "HEM15", 3, 11, 3, 0, 1, 4, 17, 12, 8, 6, 6, 1}, + {"HE", -18, 55, 2, "HEM15", 3, 19, 3, 1, 1, 5, 17, 12, 8, 6, 6, 1}, + {"HE", -18, 55, 3, "HEM15", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 56, 1, "HEM15", 2, 11, 3, 0, 1, 4, 17, 12, 9, 8, 6, 0}, + {"HE", -18, 56, 2, "HEM15", 2, 3, 3, 1, 1, 5, 17, 12, 9, 8, 6, 0}, + {"HE", -18, 56, 3, "HEM15", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 57, 1, "HEM15", 1, 11, 3, 0, 1, 4, 17, 12, 9, 6, 6, 0}, + {"HE", -18, 57, 2, "HEM15", 1, 19, 3, 1, 1, 5, 17, 12, 9, 6, 6, 0}, + {"HE", -18, 57, 3, "HEM15", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 58, 1, "HEM16", 4, 11, 3, 0, 1, 4, 14, 14, 2, 8, 3, 1}, + {"HE", -18, 58, 2, "HEM16", 4, 3, 3, 1, 1, 5, 14, 14, 2, 8, 3, 1}, + {"HE", -18, 58, 3, "HEM16", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 59, 1, "HEM16", 3, 11, 3, 0, 1, 4, 14, 14, 2, 6, 3, 1}, + {"HE", -18, 59, 2, "HEM16", 3, 19, 3, 1, 1, 5, 14, 14, 2, 6, 3, 1}, + {"HE", -18, 59, 3, "HEM16", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 60, 1, "HEM16", 2, 11, 3, 0, 1, 4, 14, 14, 3, 8, 3, 0}, + {"HE", -18, 60, 2, "HEM16", 2, 3, 3, 1, 1, 5, 14, 14, 3, 8, 3, 0}, + {"HE", -18, 60, 3, "HEM16", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 61, 1, "HEM16", 1, 11, 3, 0, 1, 4, 14, 14, 3, 6, 3, 0}, + {"HE", -18, 61, 2, "HEM16", 1, 19, 3, 1, 1, 5, 14, 14, 3, 6, 3, 0}, + {"HE", -18, 61, 3, "HEM16", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 62, 1, "HEM17", 4, 11, 3, 0, 1, 4, 14, 14, 8, 8, 6, 1}, + {"HE", -18, 62, 2, "HEM17", 4, 3, 3, 1, 1, 5, 14, 14, 8, 8, 6, 1}, + {"HE", -18, 62, 3, "HEM17", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 63, 1, "HEM17", 3, 11, 3, 0, 1, 4, 14, 14, 8, 6, 6, 1}, + {"HE", -18, 63, 2, "HEM17", 3, 19, 3, 1, 1, 5, 14, 14, 8, 6, 6, 1}, + {"HE", -18, 63, 3, "HEM17", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 64, 1, "HEM17", 2, 11, 3, 0, 1, 4, 14, 14, 9, 8, 6, 0}, + {"HE", -18, 64, 2, "HEM17", 2, 3, 3, 1, 1, 5, 14, 14, 9, 8, 6, 0}, + {"HE", -18, 64, 3, "HEM17", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 65, 1, "HEM17", 1, 11, 3, 0, 1, 4, 14, 14, 9, 6, 6, 0}, + {"HE", -18, 65, 2, "HEM17", 1, 19, 3, 1, 1, 5, 14, 14, 9, 6, 6, 0}, + {"HE", -18, 65, 3, "HEM17", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 66, 1, "HEM18", 4, 11, 3, 0, 1, 4, 10, 16, 2, 8, 3, 1}, + {"HE", -18, 66, 2, "HEM18", 4, 3, 3, 1, 1, 5, 10, 16, 2, 8, 3, 1}, + {"HE", -18, 66, 3, "HEM18", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 67, 1, "HEM18", 3, 11, 3, 0, 1, 4, 10, 16, 2, 6, 3, 1}, + {"HE", -18, 67, 2, "HEM18", 3, 19, 3, 1, 1, 5, 10, 16, 2, 6, 3, 1}, + {"HE", -18, 67, 3, "HEM18", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 68, 1, "HEM18", 2, 11, 3, 0, 1, 4, 10, 16, 3, 8, 3, 0}, + {"HE", -18, 68, 2, "HEM18", 2, 3, 3, 1, 1, 5, 10, 16, 3, 8, 3, 0}, + {"HE", -18, 68, 3, "HEM18", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 69, 1, "HEM18", 1, 11, 3, 0, 1, 4, 10, 16, 3, 6, 3, 0}, + {"HE", -18, 69, 2, "HEM18", 1, 19, 3, 1, 1, 5, 10, 16, 3, 6, 3, 0}, + {"HE", -18, 69, 3, "HEM18", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -18, 70, 1, "HEM01", 4, 11, 3, 0, 1, 4, 10, 16, 8, 8, 6, 1}, + {"HE", -18, 70, 2, "HEM01", 4, 3, 3, 1, 1, 5, 10, 16, 8, 8, 6, 1}, + {"HE", -18, 70, 3, "HEM01", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 0, 1, "HEM01", 2, 12, 2, 0, 1, 0, 10, 16, 9, 7, 6, 0}, + {"HE", -17, 0, 2, "HEM01", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 0, 3, "HEM01", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 1, 1, "HEM01", 1, 12, 2, 0, 1, 0, 10, 16, 9, 5, 6, 0}, + {"HE", -17, 1, 2, "HEM01", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 1, 3, "HEM01", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 2, 1, "HEM02", 4, 12, 2, 0, 1, 0, 4, 0, 2, 7, 3, 1}, + {"HE", -17, 2, 2, "HEM02", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 2, 3, "HEM02", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 3, 1, "HEM02", 3, 12, 2, 0, 1, 0, 4, 0, 2, 5, 3, 1}, + {"HE", -17, 3, 2, "HEM02", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 3, 3, "HEM02", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 4, 1, "HEM02", 2, 12, 2, 0, 1, 0, 4, 0, 3, 7, 3, 0}, + {"HE", -17, 4, 2, "HEM02", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 4, 3, "HEM02", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 5, 1, "HEM02", 1, 12, 2, 0, 1, 0, 4, 0, 3, 5, 3, 0}, + {"HE", -17, 5, 2, "HEM02", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 5, 3, "HEM02", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 6, 1, "HEM03", 4, 12, 2, 0, 1, 0, 4, 0, 8, 7, 6, 1}, + {"HE", -17, 6, 2, "HEM03", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 6, 3, "HEM03", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 7, 1, "HEM03", 3, 12, 2, 0, 1, 0, 4, 0, 8, 5, 6, 1}, + {"HE", -17, 7, 2, "HEM03", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 7, 3, "HEM03", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 8, 1, "HEM03", 2, 12, 2, 0, 1, 0, 4, 0, 9, 7, 6, 0}, + {"HE", -17, 8, 2, "HEM03", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 8, 3, "HEM03", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 9, 1, "HEM03", 1, 12, 2, 0, 1, 0, 4, 0, 9, 5, 6, 0}, + {"HE", -17, 9, 2, "HEM03", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 9, 3, "HEM03", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 10, 1, "HEM04", 4, 12, 2, 0, 1, 0, 0, 2, 2, 7, 3, 1}, + {"HE", -17, 10, 2, "HEM04", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 10, 3, "HEM04", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 11, 1, "HEM04", 3, 12, 2, 0, 1, 0, 0, 2, 2, 5, 3, 1}, + {"HE", -17, 11, 2, "HEM04", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 11, 3, "HEM04", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 12, 1, "HEM04", 2, 12, 2, 0, 1, 0, 0, 2, 3, 7, 3, 0}, + {"HE", -17, 12, 2, "HEM04", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 12, 3, "HEM04", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 13, 1, "HEM04", 1, 12, 2, 0, 1, 0, 0, 2, 3, 5, 3, 0}, + {"HE", -17, 13, 2, "HEM04", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 13, 3, "HEM04", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 14, 1, "HEM05", 4, 12, 2, 0, 1, 0, 0, 2, 8, 7, 6, 1}, + {"HE", -17, 14, 2, "HEM05", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 14, 3, "HEM05", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 15, 1, "HEM05", 3, 12, 2, 0, 1, 0, 0, 2, 8, 5, 6, 1}, + {"HE", -17, 15, 2, "HEM05", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 15, 3, "HEM05", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 16, 1, "HEM05", 2, 12, 2, 0, 1, 0, 0, 2, 9, 7, 6, 0}, + {"HE", -17, 16, 2, "HEM05", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 16, 3, "HEM05", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 17, 1, "HEM05", 1, 12, 2, 0, 1, 0, 0, 2, 9, 5, 6, 0}, + {"HE", -17, 17, 2, "HEM05", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 17, 3, "HEM05", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 18, 1, "HEM06", 4, 12, 2, 0, 1, 0, 1, 4, 2, 7, 3, 1}, + {"HE", -17, 18, 2, "HEM06", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 18, 3, "HEM06", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 19, 1, "HEM06", 3, 12, 2, 0, 1, 0, 1, 4, 2, 5, 3, 1}, + {"HE", -17, 19, 2, "HEM06", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 19, 3, "HEM06", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 20, 1, "HEM06", 2, 12, 2, 0, 1, 0, 1, 4, 3, 7, 3, 0}, + {"HE", -17, 20, 2, "HEM06", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 20, 3, "HEM06", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 21, 1, "HEM06", 1, 12, 2, 0, 1, 0, 1, 4, 3, 5, 3, 0}, + {"HE", -17, 21, 2, "HEM06", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 21, 3, "HEM06", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 22, 1, "HEM07", 4, 12, 2, 0, 1, 0, 1, 4, 8, 7, 6, 1}, + {"HE", -17, 22, 2, "HEM07", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 22, 3, "HEM07", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 23, 1, "HEM07", 3, 12, 2, 0, 1, 0, 1, 4, 8, 5, 6, 1}, + {"HE", -17, 23, 2, "HEM07", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 23, 3, "HEM07", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 24, 1, "HEM07", 2, 12, 2, 0, 1, 0, 1, 4, 9, 7, 6, 0}, + {"HE", -17, 24, 2, "HEM07", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 24, 3, "HEM07", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 25, 1, "HEM07", 1, 12, 2, 0, 1, 0, 1, 4, 9, 5, 6, 0}, + {"HE", -17, 25, 2, "HEM07", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 25, 3, "HEM07", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 26, 1, "HEM08", 4, 12, 2, 0, 1, 0, 5, 6, 2, 7, 3, 1}, + {"HE", -17, 26, 2, "HEM08", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 26, 3, "HEM08", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 27, 1, "HEM08", 3, 12, 2, 0, 1, 0, 5, 6, 2, 5, 3, 1}, + {"HE", -17, 27, 2, "HEM08", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 27, 3, "HEM08", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 28, 1, "HEM08", 2, 12, 2, 0, 1, 0, 5, 6, 3, 7, 3, 0}, + {"HE", -17, 28, 2, "HEM08", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 28, 3, "HEM08", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 29, 1, "HEM08", 1, 12, 2, 0, 1, 0, 5, 6, 3, 5, 3, 0}, + {"HE", -17, 29, 2, "HEM08", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 29, 3, "HEM08", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 30, 1, "HEM09", 4, 12, 2, 0, 1, 0, 5, 6, 8, 7, 6, 1}, + {"HE", -17, 30, 2, "HEM09", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 30, 3, "HEM09", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 31, 1, "HEM09", 3, 12, 2, 0, 1, 0, 5, 6, 8, 5, 6, 1}, + {"HE", -17, 31, 2, "HEM09", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 31, 3, "HEM09", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 32, 1, "HEM09", 2, 12, 2, 0, 1, 0, 5, 6, 9, 7, 6, 0}, + {"HE", -17, 32, 2, "HEM09", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 32, 3, "HEM09", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 33, 1, "HEM09", 1, 12, 2, 0, 1, 0, 5, 6, 9, 5, 6, 0}, + {"HE", -17, 33, 2, "HEM09", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 33, 3, "HEM09", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 34, 1, "HEM10", 4, 12, 2, 0, 1, 0, 11, 8, 2, 7, 3, 1}, + {"HE", -17, 34, 2, "HEM10", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 34, 3, "HEM10", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 35, 1, "HEM10", 3, 12, 2, 0, 1, 0, 11, 8, 2, 5, 3, 1}, + {"HE", -17, 35, 2, "HEM10", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 35, 3, "HEM10", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 36, 1, "HEM10", 2, 12, 2, 0, 1, 0, 11, 8, 3, 7, 3, 0}, + {"HE", -17, 36, 2, "HEM10", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 36, 3, "HEM10", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 37, 1, "HEM10", 1, 12, 2, 0, 1, 0, 11, 8, 3, 5, 3, 0}, + {"HE", -17, 37, 2, "HEM10", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 37, 3, "HEM10", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 38, 1, "HEM11", 4, 12, 2, 0, 1, 0, 11, 8, 8, 7, 6, 1}, + {"HE", -17, 38, 2, "HEM11", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 38, 3, "HEM11", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 39, 1, "HEM11", 3, 12, 2, 0, 1, 0, 11, 8, 8, 5, 6, 1}, + {"HE", -17, 39, 2, "HEM11", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 39, 3, "HEM11", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 40, 1, "HEM11", 2, 12, 2, 0, 1, 0, 11, 8, 9, 7, 6, 0}, + {"HE", -17, 40, 2, "HEM11", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 40, 3, "HEM11", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 41, 1, "HEM11", 1, 12, 2, 0, 1, 0, 11, 8, 9, 5, 6, 0}, + {"HE", -17, 41, 2, "HEM11", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 41, 3, "HEM11", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 42, 1, "HEM12", 4, 12, 2, 0, 1, 0, 15, 10, 2, 7, 3, 1}, + {"HE", -17, 42, 2, "HEM12", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 42, 3, "HEM12", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 43, 1, "HEM12", 3, 12, 2, 0, 1, 0, 15, 10, 2, 5, 3, 1}, + {"HE", -17, 43, 2, "HEM12", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 43, 3, "HEM12", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 44, 1, "HEM12", 2, 12, 2, 0, 1, 0, 15, 10, 3, 7, 3, 0}, + {"HE", -17, 44, 2, "HEM12", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 44, 3, "HEM12", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 45, 1, "HEM12", 1, 12, 2, 0, 1, 0, 15, 10, 3, 5, 3, 0}, + {"HE", -17, 45, 2, "HEM12", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 45, 3, "HEM12", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 46, 1, "HEM13", 4, 12, 2, 0, 1, 0, 15, 10, 8, 7, 6, 1}, + {"HE", -17, 46, 2, "HEM13", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 46, 3, "HEM13", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 47, 1, "HEM13", 3, 12, 2, 0, 1, 0, 15, 10, 8, 5, 6, 1}, + {"HE", -17, 47, 2, "HEM13", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 47, 3, "HEM13", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 48, 1, "HEM13", 2, 12, 2, 0, 1, 0, 15, 10, 9, 7, 6, 0}, + {"HE", -17, 48, 2, "HEM13", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 48, 3, "HEM13", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 49, 1, "HEM13", 1, 12, 2, 0, 1, 0, 15, 10, 9, 5, 6, 0}, + {"HE", -17, 49, 2, "HEM13", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 49, 3, "HEM13", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 50, 1, "HEM14", 4, 12, 2, 0, 1, 0, 17, 12, 2, 7, 3, 1}, + {"HE", -17, 50, 2, "HEM14", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 50, 3, "HEM14", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 51, 1, "HEM14", 3, 12, 2, 0, 1, 0, 17, 12, 2, 5, 3, 1}, + {"HE", -17, 51, 2, "HEM14", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 51, 3, "HEM14", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 52, 1, "HEM14", 2, 12, 2, 0, 1, 0, 17, 12, 3, 7, 3, 0}, + {"HE", -17, 52, 2, "HEM14", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 52, 3, "HEM14", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 53, 1, "HEM14", 1, 12, 2, 0, 1, 0, 17, 12, 3, 5, 3, 0}, + {"HE", -17, 53, 2, "HEM14", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 53, 3, "HEM14", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 54, 1, "HEM15", 4, 12, 2, 0, 1, 0, 17, 12, 8, 7, 6, 1}, + {"HE", -17, 54, 2, "HEM15", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 54, 3, "HEM15", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 55, 1, "HEM15", 3, 12, 2, 0, 1, 0, 17, 12, 8, 5, 6, 1}, + {"HE", -17, 55, 2, "HEM15", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 55, 3, "HEM15", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 56, 1, "HEM15", 2, 12, 2, 0, 1, 0, 17, 12, 9, 7, 6, 0}, + {"HE", -17, 56, 2, "HEM15", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 56, 3, "HEM15", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 57, 1, "HEM15", 1, 12, 2, 0, 1, 0, 17, 12, 9, 5, 6, 0}, + {"HE", -17, 57, 2, "HEM15", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 57, 3, "HEM15", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 58, 1, "HEM16", 4, 12, 2, 0, 1, 0, 14, 14, 2, 7, 3, 1}, + {"HE", -17, 58, 2, "HEM16", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 58, 3, "HEM16", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 59, 1, "HEM16", 3, 12, 2, 0, 1, 0, 14, 14, 2, 5, 3, 1}, + {"HE", -17, 59, 2, "HEM16", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 59, 3, "HEM16", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 60, 1, "HEM16", 2, 12, 2, 0, 1, 0, 14, 14, 3, 7, 3, 0}, + {"HE", -17, 60, 2, "HEM16", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 60, 3, "HEM16", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 61, 1, "HEM16", 1, 12, 2, 0, 1, 0, 14, 14, 3, 5, 3, 0}, + {"HE", -17, 61, 2, "HEM16", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 61, 3, "HEM16", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 62, 1, "HEM17", 4, 12, 2, 0, 1, 0, 14, 14, 8, 7, 6, 1}, + {"HE", -17, 62, 2, "HEM17", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 62, 3, "HEM17", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 63, 1, "HEM17", 3, 12, 2, 0, 1, 0, 14, 14, 8, 5, 6, 1}, + {"HE", -17, 63, 2, "HEM17", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 63, 3, "HEM17", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 64, 1, "HEM17", 2, 12, 2, 0, 1, 0, 14, 14, 9, 7, 6, 0}, + {"HE", -17, 64, 2, "HEM17", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 64, 3, "HEM17", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 65, 1, "HEM17", 1, 12, 2, 0, 1, 0, 14, 14, 9, 5, 6, 0}, + {"HE", -17, 65, 2, "HEM17", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 65, 3, "HEM17", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 66, 1, "HEM18", 4, 12, 2, 0, 1, 0, 10, 16, 2, 7, 3, 1}, + {"HE", -17, 66, 2, "HEM18", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 66, 3, "HEM18", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 67, 1, "HEM18", 3, 12, 2, 0, 1, 0, 10, 16, 2, 5, 3, 1}, + {"HE", -17, 67, 2, "HEM18", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 67, 3, "HEM18", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 68, 1, "HEM18", 2, 12, 2, 0, 1, 0, 10, 16, 3, 7, 3, 0}, + {"HE", -17, 68, 2, "HEM18", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 68, 3, "HEM18", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 69, 1, "HEM18", 1, 12, 2, 0, 1, 0, 10, 16, 3, 5, 3, 0}, + {"HE", -17, 69, 2, "HEM18", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 69, 3, "HEM18", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 70, 1, "HEM01", 4, 12, 2, 0, 1, 0, 10, 16, 8, 7, 6, 1}, + {"HE", -17, 70, 2, "HEM01", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -17, 70, 3, "HEM01", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 0, 1, "HEM01", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 0, 2, "HEM01", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 0, 3, "HEM01", 2, 7, 2, 1, 1, 1, 10, 16, 9, 7, 6, 0}, + {"HE", -16, 1, 1, "HEM01", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 1, 2, "HEM01", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 1, 3, "HEM01", 1, 16, 2, 1, 1, 1, 10, 16, 9, 5, 6, 0}, + {"HE", -16, 2, 1, "HEM02", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 2, 2, "HEM02", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 2, 3, "HEM02", 4, 7, 2, 1, 1, 1, 4, 0, 2, 7, 3, 1}, + {"HE", -16, 3, 1, "HEM02", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 3, 2, "HEM02", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 3, 3, "HEM02", 3, 16, 2, 1, 1, 1, 4, 0, 2, 5, 3, 1}, + {"HE", -16, 4, 1, "HEM02", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 4, 2, "HEM02", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 4, 3, "HEM02", 2, 7, 2, 1, 1, 1, 4, 0, 3, 7, 3, 0}, + {"HE", -16, 5, 1, "HEM02", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 5, 2, "HEM02", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 5, 3, "HEM02", 1, 16, 2, 1, 1, 1, 4, 0, 3, 5, 3, 0}, + {"HE", -16, 6, 1, "HEM03", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 6, 2, "HEM03", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 6, 3, "HEM03", 4, 7, 2, 1, 1, 1, 4, 0, 8, 7, 6, 1}, + {"HE", -16, 7, 1, "HEM03", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 7, 2, "HEM03", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 7, 3, "HEM03", 3, 16, 2, 1, 1, 1, 4, 0, 8, 5, 6, 1}, + {"HE", -16, 8, 1, "HEM03", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 8, 2, "HEM03", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 8, 3, "HEM03", 2, 7, 2, 1, 1, 1, 4, 0, 9, 7, 6, 0}, + {"HE", -16, 9, 1, "HEM03", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 9, 2, "HEM03", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 9, 3, "HEM03", 1, 16, 2, 1, 1, 1, 4, 0, 9, 5, 6, 0}, + {"HE", -16, 10, 1, "HEM04", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 10, 2, "HEM04", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 10, 3, "HEM04", 4, 7, 2, 1, 1, 1, 0, 2, 2, 7, 3, 1}, + {"HE", -16, 11, 1, "HEM04", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 11, 2, "HEM04", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 11, 3, "HEM04", 3, 16, 2, 1, 1, 1, 0, 2, 2, 5, 3, 1}, + {"HE", -16, 12, 1, "HEM04", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 12, 2, "HEM04", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 12, 3, "HEM04", 2, 7, 2, 1, 1, 1, 0, 2, 3, 7, 3, 0}, + {"HE", -16, 13, 1, "HEM04", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 13, 2, "HEM04", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 13, 3, "HEM04", 1, 16, 2, 1, 1, 1, 0, 2, 3, 5, 3, 0}, + {"HE", -16, 14, 1, "HEM05", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 14, 2, "HEM05", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 14, 3, "HEM05", 4, 7, 2, 1, 1, 1, 0, 2, 8, 7, 6, 1}, + {"HE", -16, 15, 1, "HEM05", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 15, 2, "HEM05", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 15, 3, "HEM05", 3, 16, 2, 1, 1, 1, 0, 2, 8, 5, 6, 1}, + {"HE", -16, 16, 1, "HEM05", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 16, 2, "HEM05", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 16, 3, "HEM05", 2, 7, 2, 1, 1, 1, 0, 2, 9, 7, 6, 0}, + {"HE", -16, 17, 1, "HEM05", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 17, 2, "HEM05", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 17, 3, "HEM05", 1, 16, 2, 1, 1, 1, 0, 2, 9, 5, 6, 0}, + {"HE", -16, 18, 1, "HEM06", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 18, 2, "HEM06", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 18, 3, "HEM06", 4, 7, 2, 1, 1, 1, 1, 4, 2, 7, 3, 1}, + {"HE", -16, 19, 1, "HEM06", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 19, 2, "HEM06", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 19, 3, "HEM06", 3, 16, 2, 1, 1, 1, 1, 4, 2, 5, 3, 1}, + {"HE", -16, 20, 1, "HEM06", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 20, 2, "HEM06", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 20, 3, "HEM06", 2, 7, 2, 1, 1, 1, 1, 4, 3, 7, 3, 0}, + {"HE", -16, 21, 1, "HEM06", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 21, 2, "HEM06", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 21, 3, "HEM06", 1, 16, 2, 1, 1, 1, 1, 4, 3, 5, 3, 0}, + {"HE", -16, 22, 1, "HEM07", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 22, 2, "HEM07", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 22, 3, "HEM07", 4, 7, 2, 1, 1, 1, 1, 4, 8, 7, 6, 1}, + {"HE", -16, 23, 1, "HEM07", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 23, 2, "HEM07", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 23, 3, "HEM07", 3, 16, 2, 1, 1, 1, 1, 4, 8, 5, 6, 1}, + {"HE", -16, 24, 1, "HEM07", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 24, 2, "HEM07", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 24, 3, "HEM07", 2, 7, 2, 1, 1, 1, 1, 4, 9, 7, 6, 0}, + {"HE", -16, 25, 1, "HEM07", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 25, 2, "HEM07", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 25, 3, "HEM07", 1, 16, 2, 1, 1, 1, 1, 4, 9, 5, 6, 0}, + {"HE", -16, 26, 1, "HEM08", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 26, 2, "HEM08", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 26, 3, "HEM08", 4, 7, 2, 1, 1, 1, 5, 6, 2, 7, 3, 1}, + {"HE", -16, 27, 1, "HEM08", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 27, 2, "HEM08", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 27, 3, "HEM08", 3, 16, 2, 1, 1, 1, 5, 6, 2, 5, 3, 1}, + {"HE", -16, 28, 1, "HEM08", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 28, 2, "HEM08", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 28, 3, "HEM08", 2, 7, 2, 1, 1, 1, 5, 6, 3, 7, 3, 0}, + {"HE", -16, 29, 1, "HEM08", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 29, 2, "HEM08", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 29, 3, "HEM08", 1, 16, 2, 1, 1, 1, 5, 6, 3, 5, 3, 0}, + {"HE", -16, 30, 1, "HEM09", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 30, 2, "HEM09", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 30, 3, "HEM09", 4, 7, 2, 1, 1, 1, 5, 6, 8, 7, 6, 1}, + {"HE", -16, 31, 1, "HEM09", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 31, 2, "HEM09", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 31, 3, "HEM09", 3, 16, 2, 1, 1, 1, 5, 6, 8, 5, 6, 1}, + {"HE", -16, 32, 1, "HEM09", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 32, 2, "HEM09", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 32, 3, "HEM09", 2, 7, 2, 1, 1, 1, 5, 6, 9, 7, 6, 0}, + {"HE", -16, 33, 1, "HEM09", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 33, 2, "HEM09", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 33, 3, "HEM09", 1, 16, 2, 1, 1, 1, 5, 6, 9, 5, 6, 0}, + {"HE", -16, 34, 1, "HEM10", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 34, 2, "HEM10", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 34, 3, "HEM10", 4, 7, 2, 1, 1, 1, 11, 8, 2, 7, 3, 1}, + {"HE", -16, 35, 1, "HEM10", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 35, 2, "HEM10", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 35, 3, "HEM10", 3, 16, 2, 1, 1, 1, 11, 8, 2, 5, 3, 1}, + {"HE", -16, 36, 1, "HEM10", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 36, 2, "HEM10", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 36, 3, "HEM10", 2, 7, 2, 1, 1, 1, 11, 8, 3, 7, 3, 0}, + {"HE", -16, 37, 1, "HEM10", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 37, 2, "HEM10", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 37, 3, "HEM10", 1, 16, 2, 1, 1, 1, 11, 8, 3, 5, 3, 0}, + {"HE", -16, 38, 1, "HEM11", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 38, 2, "HEM11", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 38, 3, "HEM11", 4, 7, 2, 1, 1, 1, 11, 8, 8, 7, 6, 1}, + {"HE", -16, 39, 1, "HEM11", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 39, 2, "HEM11", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 39, 3, "HEM11", 3, 16, 2, 1, 1, 1, 11, 8, 8, 5, 6, 1}, + {"HE", -16, 40, 1, "HEM11", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 40, 2, "HEM11", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 40, 3, "HEM11", 2, 7, 2, 1, 1, 1, 11, 8, 9, 7, 6, 0}, + {"HE", -16, 41, 1, "HEM11", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 41, 2, "HEM11", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 41, 3, "HEM11", 1, 16, 2, 1, 1, 1, 11, 8, 9, 5, 6, 0}, + {"HE", -16, 42, 1, "HEM12", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 42, 2, "HEM12", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 42, 3, "HEM12", 4, 7, 2, 1, 1, 1, 15, 10, 2, 7, 3, 1}, + {"HE", -16, 43, 1, "HEM12", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 43, 2, "HEM12", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 43, 3, "HEM12", 3, 16, 2, 1, 1, 1, 15, 10, 2, 5, 3, 1}, + {"HE", -16, 44, 1, "HEM12", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 44, 2, "HEM12", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 44, 3, "HEM12", 2, 7, 2, 1, 1, 1, 15, 10, 3, 7, 3, 0}, + {"HE", -16, 45, 1, "HEM12", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 45, 2, "HEM12", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 45, 3, "HEM12", 1, 16, 2, 1, 1, 1, 15, 10, 3, 5, 3, 0}, + {"HE", -16, 46, 1, "HEM13", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 46, 2, "HEM13", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 46, 3, "HEM13", 4, 7, 2, 1, 1, 1, 15, 10, 8, 7, 6, 1}, + {"HE", -16, 47, 1, "HEM13", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 47, 2, "HEM13", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 47, 3, "HEM13", 3, 16, 2, 1, 1, 1, 15, 10, 8, 5, 6, 1}, + {"HE", -16, 48, 1, "HEM13", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 48, 2, "HEM13", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 48, 3, "HEM13", 2, 7, 2, 1, 1, 1, 15, 10, 9, 7, 6, 0}, + {"HE", -16, 49, 1, "HEM13", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 49, 2, "HEM13", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 49, 3, "HEM13", 1, 16, 2, 1, 1, 1, 15, 10, 9, 5, 6, 0}, + {"HE", -16, 50, 1, "HEM14", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 50, 2, "HEM14", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 50, 3, "HEM14", 4, 7, 2, 1, 1, 1, 17, 12, 2, 7, 3, 1}, + {"HE", -16, 51, 1, "HEM14", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 51, 2, "HEM14", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 51, 3, "HEM14", 3, 16, 2, 1, 1, 1, 17, 12, 2, 5, 3, 1}, + {"HE", -16, 52, 1, "HEM14", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 52, 2, "HEM14", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 52, 3, "HEM14", 2, 7, 2, 1, 1, 1, 17, 12, 3, 7, 3, 0}, + {"HE", -16, 53, 1, "HEM14", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 53, 2, "HEM14", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 53, 3, "HEM14", 1, 16, 2, 1, 1, 1, 17, 12, 3, 5, 3, 0}, + {"HE", -16, 54, 1, "HEM15", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 54, 2, "HEM15", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 54, 3, "HEM15", 4, 7, 2, 1, 1, 1, 17, 12, 8, 7, 6, 1}, + {"HE", -16, 55, 1, "HEM15", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 55, 2, "HEM15", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 55, 3, "HEM15", 3, 16, 2, 1, 1, 1, 17, 12, 8, 5, 6, 1}, + {"HE", -16, 56, 1, "HEM15", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 56, 2, "HEM15", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 56, 3, "HEM15", 2, 7, 2, 1, 1, 1, 17, 12, 9, 7, 6, 0}, + {"HE", -16, 57, 1, "HEM15", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 57, 2, "HEM15", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 57, 3, "HEM15", 1, 16, 2, 1, 1, 1, 17, 12, 9, 5, 6, 0}, + {"HE", -16, 58, 1, "HEM16", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 58, 2, "HEM16", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 58, 3, "HEM16", 4, 7, 2, 1, 1, 1, 14, 14, 2, 7, 3, 1}, + {"HE", -16, 59, 1, "HEM16", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 59, 2, "HEM16", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 59, 3, "HEM16", 3, 16, 2, 1, 1, 1, 14, 14, 2, 5, 3, 1}, + {"HE", -16, 60, 1, "HEM16", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 60, 2, "HEM16", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 60, 3, "HEM16", 2, 7, 2, 1, 1, 1, 14, 14, 3, 7, 3, 0}, + {"HE", -16, 61, 1, "HEM16", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 61, 2, "HEM16", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 61, 3, "HEM16", 1, 16, 2, 1, 1, 1, 14, 14, 3, 5, 3, 0}, + {"HE", -16, 62, 1, "HEM17", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 62, 2, "HEM17", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 62, 3, "HEM17", 4, 7, 2, 1, 1, 1, 14, 14, 8, 7, 6, 1}, + {"HE", -16, 63, 1, "HEM17", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 63, 2, "HEM17", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 63, 3, "HEM17", 3, 16, 2, 1, 1, 1, 14, 14, 8, 5, 6, 1}, + {"HE", -16, 64, 1, "HEM17", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 64, 2, "HEM17", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 64, 3, "HEM17", 2, 7, 2, 1, 1, 1, 14, 14, 9, 7, 6, 0}, + {"HE", -16, 65, 1, "HEM17", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 65, 2, "HEM17", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 65, 3, "HEM17", 1, 16, 2, 1, 1, 1, 14, 14, 9, 5, 6, 0}, + {"HE", -16, 66, 1, "HEM18", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 66, 2, "HEM18", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 66, 3, "HEM18", 4, 7, 2, 1, 1, 1, 10, 16, 2, 7, 3, 1}, + {"HE", -16, 67, 1, "HEM18", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 67, 2, "HEM18", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 67, 3, "HEM18", 3, 16, 2, 1, 1, 1, 10, 16, 2, 5, 3, 1}, + {"HE", -16, 68, 1, "HEM18", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 68, 2, "HEM18", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 68, 3, "HEM18", 2, 7, 2, 1, 1, 1, 10, 16, 3, 7, 3, 0}, + {"HE", -16, 69, 1, "HEM18", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 69, 2, "HEM18", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 69, 3, "HEM18", 1, 16, 2, 1, 1, 1, 10, 16, 3, 5, 3, 0}, + {"HE", -16, 70, 1, "HEM01", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 70, 2, "HEM01", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", -16, 70, 3, "HEM01", 4, 7, 2, 1, 1, 1, 10, 16, 8, 7, 6, 1}, + {"HE", 16, 0, 1, "HEP01", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 0, 2, "HEP01", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 0, 3, "HEP01", 3, 16, 2, 1, 1, 1, 10, 17, 9, 5, 17, 0}, + {"HE", 16, 1, 1, "HEP01", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 1, 2, "HEP01", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 1, 3, "HEP01", 4, 7, 2, 1, 1, 1, 10, 17, 9, 7, 17, 0}, + {"HE", 16, 2, 1, "HEP02", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 2, 2, "HEP02", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 2, 3, "HEP02", 1, 16, 2, 1, 1, 1, 4, 1, 2, 5, 14, 1}, + {"HE", 16, 3, 1, "HEP02", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 3, 2, "HEP02", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 3, 3, "HEP02", 2, 7, 2, 1, 1, 1, 4, 1, 2, 7, 14, 1}, + {"HE", 16, 4, 1, "HEP02", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 4, 2, "HEP02", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 4, 3, "HEP02", 3, 16, 2, 1, 1, 1, 4, 1, 3, 5, 14, 0}, + {"HE", 16, 5, 1, "HEP02", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 5, 2, "HEP02", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 5, 3, "HEP02", 4, 7, 2, 1, 1, 1, 4, 1, 3, 7, 14, 0}, + {"HE", 16, 6, 1, "HEP03", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 6, 2, "HEP03", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 6, 3, "HEP03", 1, 16, 2, 1, 1, 1, 4, 1, 8, 5, 17, 1}, + {"HE", 16, 7, 1, "HEP03", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 7, 2, "HEP03", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 7, 3, "HEP03", 2, 7, 2, 1, 1, 1, 4, 1, 8, 7, 17, 1}, + {"HE", 16, 8, 1, "HEP03", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 8, 2, "HEP03", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 8, 3, "HEP03", 3, 16, 2, 1, 1, 1, 4, 1, 9, 5, 17, 0}, + {"HE", 16, 9, 1, "HEP03", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 9, 2, "HEP03", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 9, 3, "HEP03", 4, 7, 2, 1, 1, 1, 4, 1, 9, 7, 17, 0}, + {"HE", 16, 10, 1, "HEP04", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 10, 2, "HEP04", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 10, 3, "HEP04", 1, 16, 2, 1, 1, 1, 0, 3, 2, 5, 14, 1}, + {"HE", 16, 11, 1, "HEP04", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 11, 2, "HEP04", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 11, 3, "HEP04", 2, 7, 2, 1, 1, 1, 0, 3, 2, 7, 14, 1}, + {"HE", 16, 12, 1, "HEP04", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 12, 2, "HEP04", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 12, 3, "HEP04", 3, 16, 2, 1, 1, 1, 0, 3, 3, 5, 14, 0}, + {"HE", 16, 13, 1, "HEP04", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 13, 2, "HEP04", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 13, 3, "HEP04", 4, 7, 2, 1, 1, 1, 0, 3, 3, 7, 14, 0}, + {"HE", 16, 14, 1, "HEP05", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 14, 2, "HEP05", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 14, 3, "HEP05", 1, 16, 2, 1, 1, 1, 0, 3, 8, 5, 17, 1}, + {"HE", 16, 15, 1, "HEP05", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 15, 2, "HEP05", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 15, 3, "HEP05", 2, 7, 2, 1, 1, 1, 0, 3, 8, 7, 17, 1}, + {"HE", 16, 16, 1, "HEP05", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 16, 2, "HEP05", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 16, 3, "HEP05", 3, 16, 2, 1, 1, 1, 0, 3, 9, 5, 17, 0}, + {"HE", 16, 17, 1, "HEP05", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 17, 2, "HEP05", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 17, 3, "HEP05", 4, 7, 2, 1, 1, 1, 0, 3, 9, 7, 17, 0}, + {"HE", 16, 18, 1, "HEP06", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 18, 2, "HEP06", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 18, 3, "HEP06", 1, 16, 2, 1, 1, 1, 1, 5, 2, 5, 14, 1}, + {"HE", 16, 19, 1, "HEP06", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 19, 2, "HEP06", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 19, 3, "HEP06", 2, 7, 2, 1, 1, 1, 1, 5, 2, 7, 14, 1}, + {"HE", 16, 20, 1, "HEP06", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 20, 2, "HEP06", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 20, 3, "HEP06", 3, 16, 2, 1, 1, 1, 1, 5, 3, 5, 14, 0}, + {"HE", 16, 21, 1, "HEP06", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 21, 2, "HEP06", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 21, 3, "HEP06", 4, 7, 2, 1, 1, 1, 1, 5, 3, 7, 14, 0}, + {"HE", 16, 22, 1, "HEP07", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 22, 2, "HEP07", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 22, 3, "HEP07", 1, 16, 2, 1, 1, 1, 1, 5, 8, 5, 17, 1}, + {"HE", 16, 23, 1, "HEP07", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 23, 2, "HEP07", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 23, 3, "HEP07", 2, 7, 2, 1, 1, 1, 1, 5, 8, 7, 17, 1}, + {"HE", 16, 24, 1, "HEP07", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 24, 2, "HEP07", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 24, 3, "HEP07", 3, 16, 2, 1, 1, 1, 1, 5, 9, 5, 17, 0}, + {"HE", 16, 25, 1, "HEP07", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 25, 2, "HEP07", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 25, 3, "HEP07", 4, 7, 2, 1, 1, 1, 1, 5, 9, 7, 17, 0}, + {"HE", 16, 26, 1, "HEP08", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 26, 2, "HEP08", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 26, 3, "HEP08", 1, 16, 2, 1, 1, 1, 5, 7, 2, 5, 14, 1}, + {"HE", 16, 27, 1, "HEP08", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 27, 2, "HEP08", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 27, 3, "HEP08", 2, 7, 2, 1, 1, 1, 5, 7, 2, 7, 14, 1}, + {"HE", 16, 28, 1, "HEP08", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 28, 2, "HEP08", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 28, 3, "HEP08", 3, 16, 2, 1, 1, 1, 5, 7, 3, 5, 14, 0}, + {"HE", 16, 29, 1, "HEP08", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 29, 2, "HEP08", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 29, 3, "HEP08", 4, 7, 2, 1, 1, 1, 5, 7, 3, 7, 14, 0}, + {"HE", 16, 30, 1, "HEP09", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 30, 2, "HEP09", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 30, 3, "HEP09", 1, 16, 2, 1, 1, 1, 5, 7, 8, 5, 17, 1}, + {"HE", 16, 31, 1, "HEP09", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 31, 2, "HEP09", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 31, 3, "HEP09", 2, 7, 2, 1, 1, 1, 5, 7, 8, 7, 17, 1}, + {"HE", 16, 32, 1, "HEP09", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 32, 2, "HEP09", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 32, 3, "HEP09", 3, 16, 2, 1, 1, 1, 5, 7, 9, 5, 17, 0}, + {"HE", 16, 33, 1, "HEP09", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 33, 2, "HEP09", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 33, 3, "HEP09", 4, 7, 2, 1, 1, 1, 5, 7, 9, 7, 17, 0}, + {"HE", 16, 34, 1, "HEP10", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 34, 2, "HEP10", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 34, 3, "HEP10", 1, 16, 2, 1, 1, 1, 11, 9, 2, 5, 14, 1}, + {"HE", 16, 35, 1, "HEP10", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 35, 2, "HEP10", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 35, 3, "HEP10", 2, 7, 2, 1, 1, 1, 11, 9, 2, 7, 14, 1}, + {"HE", 16, 36, 1, "HEP10", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 36, 2, "HEP10", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 36, 3, "HEP10", 3, 16, 2, 1, 1, 1, 11, 9, 3, 5, 14, 0}, + {"HE", 16, 37, 1, "HEP10", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 37, 2, "HEP10", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 37, 3, "HEP10", 4, 7, 2, 1, 1, 1, 11, 9, 3, 7, 14, 0}, + {"HE", 16, 38, 1, "HEP11", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 38, 2, "HEP11", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 38, 3, "HEP11", 1, 16, 2, 1, 1, 1, 11, 9, 8, 5, 17, 1}, + {"HE", 16, 39, 1, "HEP11", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 39, 2, "HEP11", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 39, 3, "HEP11", 2, 7, 2, 1, 1, 1, 11, 9, 8, 7, 17, 1}, + {"HE", 16, 40, 1, "HEP11", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 40, 2, "HEP11", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 40, 3, "HEP11", 3, 16, 2, 1, 1, 1, 11, 9, 9, 5, 17, 0}, + {"HE", 16, 41, 1, "HEP11", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 41, 2, "HEP11", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 41, 3, "HEP11", 4, 7, 2, 1, 1, 1, 11, 9, 9, 7, 17, 0}, + {"HE", 16, 42, 1, "HEP12", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 42, 2, "HEP12", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 42, 3, "HEP12", 1, 16, 2, 1, 1, 1, 15, 11, 2, 5, 14, 1}, + {"HE", 16, 43, 1, "HEP12", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 43, 2, "HEP12", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 43, 3, "HEP12", 2, 7, 2, 1, 1, 1, 15, 11, 2, 7, 14, 1}, + {"HE", 16, 44, 1, "HEP12", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 44, 2, "HEP12", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 44, 3, "HEP12", 3, 16, 2, 1, 1, 1, 15, 11, 3, 5, 14, 0}, + {"HE", 16, 45, 1, "HEP12", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 45, 2, "HEP12", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 45, 3, "HEP12", 4, 7, 2, 1, 1, 1, 15, 11, 3, 7, 14, 0}, + {"HE", 16, 46, 1, "HEP13", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 46, 2, "HEP13", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 46, 3, "HEP13", 1, 16, 2, 1, 1, 1, 15, 11, 8, 5, 17, 1}, + {"HE", 16, 47, 1, "HEP13", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 47, 2, "HEP13", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 47, 3, "HEP13", 2, 7, 2, 1, 1, 1, 15, 11, 8, 7, 17, 1}, + {"HE", 16, 48, 1, "HEP13", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 48, 2, "HEP13", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 48, 3, "HEP13", 3, 16, 2, 1, 1, 1, 15, 11, 9, 5, 17, 0}, + {"HE", 16, 49, 1, "HEP13", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 49, 2, "HEP13", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 49, 3, "HEP13", 4, 7, 2, 1, 1, 1, 15, 11, 9, 7, 17, 0}, + {"HE", 16, 50, 1, "HEP14", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 50, 2, "HEP14", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 50, 3, "HEP14", 1, 16, 2, 1, 1, 1, 17, 13, 2, 5, 14, 1}, + {"HE", 16, 51, 1, "HEP14", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 51, 2, "HEP14", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 51, 3, "HEP14", 2, 7, 2, 1, 1, 1, 17, 13, 2, 7, 14, 1}, + {"HE", 16, 52, 1, "HEP14", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 52, 2, "HEP14", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 52, 3, "HEP14", 3, 16, 2, 1, 1, 1, 17, 13, 3, 5, 14, 0}, + {"HE", 16, 53, 1, "HEP14", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 53, 2, "HEP14", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 53, 3, "HEP14", 4, 7, 2, 1, 1, 1, 17, 13, 3, 7, 14, 0}, + {"HE", 16, 54, 1, "HEP15", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 54, 2, "HEP15", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 54, 3, "HEP15", 1, 16, 2, 1, 1, 1, 17, 13, 8, 5, 17, 1}, + {"HE", 16, 55, 1, "HEP15", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 55, 2, "HEP15", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 55, 3, "HEP15", 2, 7, 2, 1, 1, 1, 17, 13, 8, 7, 17, 1}, + {"HE", 16, 56, 1, "HEP15", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 56, 2, "HEP15", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 56, 3, "HEP15", 3, 16, 2, 1, 1, 1, 17, 13, 9, 5, 17, 0}, + {"HE", 16, 57, 1, "HEP15", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 57, 2, "HEP15", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 57, 3, "HEP15", 4, 7, 2, 1, 1, 1, 17, 13, 9, 7, 17, 0}, + {"HE", 16, 58, 1, "HEP16", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 58, 2, "HEP16", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 58, 3, "HEP16", 1, 16, 2, 1, 1, 1, 14, 15, 2, 5, 14, 1}, + {"HE", 16, 59, 1, "HEP16", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 59, 2, "HEP16", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 59, 3, "HEP16", 2, 7, 2, 1, 1, 1, 14, 15, 2, 7, 14, 1}, + {"HE", 16, 60, 1, "HEP16", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 60, 2, "HEP16", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 60, 3, "HEP16", 3, 16, 2, 1, 1, 1, 14, 15, 3, 5, 14, 0}, + {"HE", 16, 61, 1, "HEP16", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 61, 2, "HEP16", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 61, 3, "HEP16", 4, 7, 2, 1, 1, 1, 14, 15, 3, 7, 14, 0}, + {"HE", 16, 62, 1, "HEP17", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 62, 2, "HEP17", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 62, 3, "HEP17", 1, 16, 2, 1, 1, 1, 14, 15, 8, 5, 17, 1}, + {"HE", 16, 63, 1, "HEP17", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 63, 2, "HEP17", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 63, 3, "HEP17", 2, 7, 2, 1, 1, 1, 14, 15, 8, 7, 17, 1}, + {"HE", 16, 64, 1, "HEP17", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 64, 2, "HEP17", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 64, 3, "HEP17", 3, 16, 2, 1, 1, 1, 14, 15, 9, 5, 17, 0}, + {"HE", 16, 65, 1, "HEP17", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 65, 2, "HEP17", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 65, 3, "HEP17", 4, 7, 2, 1, 1, 1, 14, 15, 9, 7, 17, 0}, + {"HE", 16, 66, 1, "HEP18", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 66, 2, "HEP18", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 66, 3, "HEP18", 1, 16, 2, 1, 1, 1, 10, 17, 2, 5, 14, 1}, + {"HE", 16, 67, 1, "HEP18", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 67, 2, "HEP18", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 67, 3, "HEP18", 2, 7, 2, 1, 1, 1, 10, 17, 2, 7, 14, 1}, + {"HE", 16, 68, 1, "HEP18", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 68, 2, "HEP18", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 68, 3, "HEP18", 3, 16, 2, 1, 1, 1, 10, 17, 3, 5, 14, 0}, + {"HE", 16, 69, 1, "HEP18", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 69, 2, "HEP18", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 69, 3, "HEP18", 4, 7, 2, 1, 1, 1, 10, 17, 3, 7, 14, 0}, + {"HE", 16, 70, 1, "HEP01", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 70, 2, "HEP01", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 70, 3, "HEP01", 1, 16, 2, 1, 1, 1, 10, 17, 8, 5, 17, 1}, + {"HE", 16, 71, 1, "HEP01", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 71, 2, "HEP01", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 16, 71, 3, "HEP01", 2, 7, 2, 1, 1, 1, 10, 17, 8, 7, 17, 1}, + {"HE", 17, 0, 1, "HEP01", 3, 12, 2, 0, 1, 0, 10, 17, 9, 5, 17, 0}, + {"HE", 17, 0, 2, "HEP01", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 0, 3, "HEP01", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 1, 1, "HEP01", 4, 12, 2, 0, 1, 0, 10, 17, 9, 7, 17, 0}, + {"HE", 17, 1, 2, "HEP01", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 1, 3, "HEP01", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 2, 1, "HEP02", 1, 12, 2, 0, 1, 0, 4, 1, 2, 5, 14, 1}, + {"HE", 17, 2, 2, "HEP02", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 2, 3, "HEP02", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 3, 1, "HEP02", 2, 12, 2, 0, 1, 0, 4, 1, 2, 7, 14, 1}, + {"HE", 17, 3, 2, "HEP02", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 3, 3, "HEP02", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 4, 1, "HEP02", 3, 12, 2, 0, 1, 0, 4, 1, 3, 5, 14, 0}, + {"HE", 17, 4, 2, "HEP02", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 4, 3, "HEP02", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 5, 1, "HEP02", 4, 12, 2, 0, 1, 0, 4, 1, 3, 7, 14, 0}, + {"HE", 17, 5, 2, "HEP02", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 5, 3, "HEP02", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 6, 1, "HEP03", 1, 12, 2, 0, 1, 0, 4, 1, 8, 5, 17, 1}, + {"HE", 17, 6, 2, "HEP03", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 6, 3, "HEP03", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 7, 1, "HEP03", 2, 12, 2, 0, 1, 0, 4, 1, 8, 7, 17, 1}, + {"HE", 17, 7, 2, "HEP03", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 7, 3, "HEP03", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 8, 1, "HEP03", 3, 12, 2, 0, 1, 0, 4, 1, 9, 5, 17, 0}, + {"HE", 17, 8, 2, "HEP03", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 8, 3, "HEP03", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 9, 1, "HEP03", 4, 12, 2, 0, 1, 0, 4, 1, 9, 7, 17, 0}, + {"HE", 17, 9, 2, "HEP03", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 9, 3, "HEP03", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 10, 1, "HEP04", 1, 12, 2, 0, 1, 0, 0, 3, 2, 5, 14, 1}, + {"HE", 17, 10, 2, "HEP04", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 10, 3, "HEP04", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 11, 1, "HEP04", 2, 12, 2, 0, 1, 0, 0, 3, 2, 7, 14, 1}, + {"HE", 17, 11, 2, "HEP04", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 11, 3, "HEP04", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 12, 1, "HEP04", 3, 12, 2, 0, 1, 0, 0, 3, 3, 5, 14, 0}, + {"HE", 17, 12, 2, "HEP04", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 12, 3, "HEP04", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 13, 1, "HEP04", 4, 12, 2, 0, 1, 0, 0, 3, 3, 7, 14, 0}, + {"HE", 17, 13, 2, "HEP04", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 13, 3, "HEP04", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 14, 1, "HEP05", 1, 12, 2, 0, 1, 0, 0, 3, 8, 5, 17, 1}, + {"HE", 17, 14, 2, "HEP05", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 14, 3, "HEP05", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 15, 1, "HEP05", 2, 12, 2, 0, 1, 0, 0, 3, 8, 7, 17, 1}, + {"HE", 17, 15, 2, "HEP05", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 15, 3, "HEP05", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 16, 1, "HEP05", 3, 12, 2, 0, 1, 0, 0, 3, 9, 5, 17, 0}, + {"HE", 17, 16, 2, "HEP05", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 16, 3, "HEP05", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 17, 1, "HEP05", 4, 12, 2, 0, 1, 0, 0, 3, 9, 7, 17, 0}, + {"HE", 17, 17, 2, "HEP05", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 17, 3, "HEP05", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 18, 1, "HEP06", 1, 12, 2, 0, 1, 0, 1, 5, 2, 5, 14, 1}, + {"HE", 17, 18, 2, "HEP06", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 18, 3, "HEP06", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 19, 1, "HEP06", 2, 12, 2, 0, 1, 0, 1, 5, 2, 7, 14, 1}, + {"HE", 17, 19, 2, "HEP06", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 19, 3, "HEP06", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 20, 1, "HEP06", 3, 12, 2, 0, 1, 0, 1, 5, 3, 5, 14, 0}, + {"HE", 17, 20, 2, "HEP06", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 20, 3, "HEP06", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 21, 1, "HEP06", 4, 12, 2, 0, 1, 0, 1, 5, 3, 7, 14, 0}, + {"HE", 17, 21, 2, "HEP06", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 21, 3, "HEP06", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 22, 1, "HEP07", 1, 12, 2, 0, 1, 0, 1, 5, 8, 5, 17, 1}, + {"HE", 17, 22, 2, "HEP07", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 22, 3, "HEP07", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 23, 1, "HEP07", 2, 12, 2, 0, 1, 0, 1, 5, 8, 7, 17, 1}, + {"HE", 17, 23, 2, "HEP07", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 23, 3, "HEP07", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 24, 1, "HEP07", 3, 12, 2, 0, 1, 0, 1, 5, 9, 5, 17, 0}, + {"HE", 17, 24, 2, "HEP07", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 24, 3, "HEP07", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 25, 1, "HEP07", 4, 12, 2, 0, 1, 0, 1, 5, 9, 7, 17, 0}, + {"HE", 17, 25, 2, "HEP07", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 25, 3, "HEP07", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 26, 1, "HEP08", 1, 12, 2, 0, 1, 0, 5, 7, 2, 5, 14, 1}, + {"HE", 17, 26, 2, "HEP08", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 26, 3, "HEP08", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 27, 1, "HEP08", 2, 12, 2, 0, 1, 0, 5, 7, 2, 7, 14, 1}, + {"HE", 17, 27, 2, "HEP08", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 27, 3, "HEP08", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 28, 1, "HEP08", 3, 12, 2, 0, 1, 0, 5, 7, 3, 5, 14, 0}, + {"HE", 17, 28, 2, "HEP08", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 28, 3, "HEP08", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 29, 1, "HEP08", 4, 12, 2, 0, 1, 0, 5, 7, 3, 7, 14, 0}, + {"HE", 17, 29, 2, "HEP08", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 29, 3, "HEP08", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 30, 1, "HEP09", 1, 12, 2, 0, 1, 0, 5, 7, 8, 5, 17, 1}, + {"HE", 17, 30, 2, "HEP09", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 30, 3, "HEP09", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 31, 1, "HEP09", 2, 12, 2, 0, 1, 0, 5, 7, 8, 7, 17, 1}, + {"HE", 17, 31, 2, "HEP09", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 31, 3, "HEP09", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 32, 1, "HEP09", 3, 12, 2, 0, 1, 0, 5, 7, 9, 5, 17, 0}, + {"HE", 17, 32, 2, "HEP09", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 32, 3, "HEP09", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 33, 1, "HEP09", 4, 12, 2, 0, 1, 0, 5, 7, 9, 7, 17, 0}, + {"HE", 17, 33, 2, "HEP09", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 33, 3, "HEP09", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 34, 1, "HEP10", 1, 12, 2, 0, 1, 0, 11, 9, 2, 5, 14, 1}, + {"HE", 17, 34, 2, "HEP10", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 34, 3, "HEP10", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 35, 1, "HEP10", 2, 12, 2, 0, 1, 0, 11, 9, 2, 7, 14, 1}, + {"HE", 17, 35, 2, "HEP10", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 35, 3, "HEP10", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 36, 1, "HEP10", 3, 12, 2, 0, 1, 0, 11, 9, 3, 5, 14, 0}, + {"HE", 17, 36, 2, "HEP10", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 36, 3, "HEP10", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 37, 1, "HEP10", 4, 12, 2, 0, 1, 0, 11, 9, 3, 7, 14, 0}, + {"HE", 17, 37, 2, "HEP10", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 37, 3, "HEP10", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 38, 1, "HEP11", 1, 12, 2, 0, 1, 0, 11, 9, 8, 5, 17, 1}, + {"HE", 17, 38, 2, "HEP11", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 38, 3, "HEP11", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 39, 1, "HEP11", 2, 12, 2, 0, 1, 0, 11, 9, 8, 7, 17, 1}, + {"HE", 17, 39, 2, "HEP11", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 39, 3, "HEP11", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 40, 1, "HEP11", 3, 12, 2, 0, 1, 0, 11, 9, 9, 5, 17, 0}, + {"HE", 17, 40, 2, "HEP11", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 40, 3, "HEP11", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 41, 1, "HEP11", 4, 12, 2, 0, 1, 0, 11, 9, 9, 7, 17, 0}, + {"HE", 17, 41, 2, "HEP11", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 41, 3, "HEP11", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 42, 1, "HEP12", 1, 12, 2, 0, 1, 0, 15, 11, 2, 5, 14, 1}, + {"HE", 17, 42, 2, "HEP12", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 42, 3, "HEP12", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 43, 1, "HEP12", 2, 12, 2, 0, 1, 0, 15, 11, 2, 7, 14, 1}, + {"HE", 17, 43, 2, "HEP12", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 43, 3, "HEP12", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 44, 1, "HEP12", 3, 12, 2, 0, 1, 0, 15, 11, 3, 5, 14, 0}, + {"HE", 17, 44, 2, "HEP12", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 44, 3, "HEP12", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 45, 1, "HEP12", 4, 12, 2, 0, 1, 0, 15, 11, 3, 7, 14, 0}, + {"HE", 17, 45, 2, "HEP12", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 45, 3, "HEP12", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 46, 1, "HEP13", 1, 12, 2, 0, 1, 0, 15, 11, 8, 5, 17, 1}, + {"HE", 17, 46, 2, "HEP13", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 46, 3, "HEP13", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 47, 1, "HEP13", 2, 12, 2, 0, 1, 0, 15, 11, 8, 7, 17, 1}, + {"HE", 17, 47, 2, "HEP13", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 47, 3, "HEP13", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 48, 1, "HEP13", 3, 12, 2, 0, 1, 0, 15, 11, 9, 5, 17, 0}, + {"HE", 17, 48, 2, "HEP13", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 48, 3, "HEP13", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 49, 1, "HEP13", 4, 12, 2, 0, 1, 0, 15, 11, 9, 7, 17, 0}, + {"HE", 17, 49, 2, "HEP13", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 49, 3, "HEP13", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 50, 1, "HEP14", 1, 12, 2, 0, 1, 0, 17, 13, 2, 5, 14, 1}, + {"HE", 17, 50, 2, "HEP14", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 50, 3, "HEP14", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 51, 1, "HEP14", 2, 12, 2, 0, 1, 0, 17, 13, 2, 7, 14, 1}, + {"HE", 17, 51, 2, "HEP14", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 51, 3, "HEP14", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 52, 1, "HEP14", 3, 12, 2, 0, 1, 0, 17, 13, 3, 5, 14, 0}, + {"HE", 17, 52, 2, "HEP14", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 52, 3, "HEP14", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 53, 1, "HEP14", 4, 12, 2, 0, 1, 0, 17, 13, 3, 7, 14, 0}, + {"HE", 17, 53, 2, "HEP14", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 53, 3, "HEP14", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 54, 1, "HEP15", 1, 12, 2, 0, 1, 0, 17, 13, 8, 5, 17, 1}, + {"HE", 17, 54, 2, "HEP15", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 54, 3, "HEP15", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 55, 1, "HEP15", 2, 12, 2, 0, 1, 0, 17, 13, 8, 7, 17, 1}, + {"HE", 17, 55, 2, "HEP15", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 55, 3, "HEP15", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 56, 1, "HEP15", 3, 12, 2, 0, 1, 0, 17, 13, 9, 5, 17, 0}, + {"HE", 17, 56, 2, "HEP15", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 56, 3, "HEP15", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 57, 1, "HEP15", 4, 12, 2, 0, 1, 0, 17, 13, 9, 7, 17, 0}, + {"HE", 17, 57, 2, "HEP15", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 57, 3, "HEP15", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 58, 1, "HEP16", 1, 12, 2, 0, 1, 0, 14, 15, 2, 5, 14, 1}, + {"HE", 17, 58, 2, "HEP16", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 58, 3, "HEP16", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 59, 1, "HEP16", 2, 12, 2, 0, 1, 0, 14, 15, 2, 7, 14, 1}, + {"HE", 17, 59, 2, "HEP16", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 59, 3, "HEP16", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 60, 1, "HEP16", 3, 12, 2, 0, 1, 0, 14, 15, 3, 5, 14, 0}, + {"HE", 17, 60, 2, "HEP16", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 60, 3, "HEP16", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 61, 1, "HEP16", 4, 12, 2, 0, 1, 0, 14, 15, 3, 7, 14, 0}, + {"HE", 17, 61, 2, "HEP16", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 61, 3, "HEP16", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 62, 1, "HEP17", 1, 12, 2, 0, 1, 0, 14, 15, 8, 5, 17, 1}, + {"HE", 17, 62, 2, "HEP17", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 62, 3, "HEP17", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 63, 1, "HEP17", 2, 12, 2, 0, 1, 0, 14, 15, 8, 7, 17, 1}, + {"HE", 17, 63, 2, "HEP17", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 63, 3, "HEP17", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 64, 1, "HEP17", 3, 12, 2, 0, 1, 0, 14, 15, 9, 5, 17, 0}, + {"HE", 17, 64, 2, "HEP17", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 64, 3, "HEP17", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 65, 1, "HEP17", 4, 12, 2, 0, 1, 0, 14, 15, 9, 7, 17, 0}, + {"HE", 17, 65, 2, "HEP17", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 65, 3, "HEP17", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 66, 1, "HEP18", 1, 12, 2, 0, 1, 0, 10, 17, 2, 5, 14, 1}, + {"HE", 17, 66, 2, "HEP18", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 66, 3, "HEP18", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 67, 1, "HEP18", 2, 12, 2, 0, 1, 0, 10, 17, 2, 7, 14, 1}, + {"HE", 17, 67, 2, "HEP18", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 67, 3, "HEP18", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 68, 1, "HEP18", 3, 12, 2, 0, 1, 0, 10, 17, 3, 5, 14, 0}, + {"HE", 17, 68, 2, "HEP18", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 68, 3, "HEP18", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 69, 1, "HEP18", 4, 12, 2, 0, 1, 0, 10, 17, 3, 7, 14, 0}, + {"HE", 17, 69, 2, "HEP18", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 69, 3, "HEP18", 4, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 70, 1, "HEP01", 1, 12, 2, 0, 1, 0, 10, 17, 8, 5, 17, 1}, + {"HE", 17, 70, 2, "HEP01", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 70, 3, "HEP01", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 71, 1, "HEP01", 2, 12, 2, 0, 1, 0, 10, 17, 8, 7, 17, 1}, + {"HE", 17, 71, 2, "HEP01", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 17, 71, 3, "HEP01", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 0, 1, "HEP01", 3, 11, 3, 0, 1, 4, 10, 17, 9, 6, 17, 0}, + {"HE", 18, 0, 2, "HEP01", 3, 19, 3, 1, 1, 5, 10, 17, 9, 6, 17, 0}, + {"HE", 18, 0, 3, "HEP01", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 1, 1, "HEP01", 4, 11, 3, 0, 1, 4, 10, 17, 9, 8, 17, 0}, + {"HE", 18, 1, 2, "HEP01", 4, 3, 3, 1, 1, 5, 10, 17, 9, 8, 17, 0}, + {"HE", 18, 1, 3, "HEP01", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 2, 1, "HEP02", 1, 11, 3, 0, 1, 4, 4, 1, 2, 6, 14, 1}, + {"HE", 18, 2, 2, "HEP02", 1, 19, 3, 1, 1, 5, 4, 1, 2, 6, 14, 1}, + {"HE", 18, 2, 3, "HEP02", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 3, 1, "HEP02", 2, 11, 3, 0, 1, 4, 4, 1, 2, 8, 14, 1}, + {"HE", 18, 3, 2, "HEP02", 2, 3, 3, 1, 1, 5, 4, 1, 2, 8, 14, 1}, + {"HE", 18, 3, 3, "HEP02", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 4, 1, "HEP02", 3, 11, 3, 0, 1, 4, 4, 1, 3, 6, 14, 0}, + {"HE", 18, 4, 2, "HEP02", 3, 19, 3, 1, 1, 5, 4, 1, 3, 6, 14, 0}, + {"HE", 18, 4, 3, "HEP02", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 5, 1, "HEP02", 4, 11, 3, 0, 1, 4, 4, 1, 3, 8, 14, 0}, + {"HE", 18, 5, 2, "HEP02", 4, 3, 3, 1, 1, 5, 4, 1, 3, 8, 14, 0}, + {"HE", 18, 5, 3, "HEP02", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 6, 1, "HEP03", 1, 11, 3, 0, 1, 4, 4, 1, 8, 6, 17, 1}, + {"HE", 18, 6, 2, "HEP03", 1, 19, 3, 1, 1, 5, 4, 1, 8, 6, 17, 1}, + {"HE", 18, 6, 3, "HEP03", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 7, 1, "HEP03", 2, 11, 3, 0, 1, 4, 4, 1, 8, 8, 17, 1}, + {"HE", 18, 7, 2, "HEP03", 2, 3, 3, 1, 1, 5, 4, 1, 8, 8, 17, 1}, + {"HE", 18, 7, 3, "HEP03", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 8, 1, "HEP03", 3, 11, 3, 0, 1, 4, 4, 1, 9, 6, 17, 0}, + {"HE", 18, 8, 2, "HEP03", 3, 19, 3, 1, 1, 5, 4, 1, 9, 6, 17, 0}, + {"HE", 18, 8, 3, "HEP03", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 9, 1, "HEP03", 4, 11, 3, 0, 1, 4, 4, 1, 9, 8, 17, 0}, + {"HE", 18, 9, 2, "HEP03", 4, 3, 3, 1, 1, 5, 4, 1, 9, 8, 17, 0}, + {"HE", 18, 9, 3, "HEP03", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 10, 1, "HEP04", 1, 11, 3, 0, 1, 4, 0, 3, 2, 6, 14, 1}, + {"HE", 18, 10, 2, "HEP04", 1, 19, 3, 1, 1, 5, 0, 3, 2, 6, 14, 1}, + {"HE", 18, 10, 3, "HEP04", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 11, 1, "HEP04", 2, 11, 3, 0, 1, 4, 0, 3, 2, 8, 14, 1}, + {"HE", 18, 11, 2, "HEP04", 2, 3, 3, 1, 1, 5, 0, 3, 2, 8, 14, 1}, + {"HE", 18, 11, 3, "HEP04", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 12, 1, "HEP04", 3, 11, 3, 0, 1, 4, 0, 3, 3, 6, 14, 0}, + {"HE", 18, 12, 2, "HEP04", 3, 19, 3, 1, 1, 5, 0, 3, 3, 6, 14, 0}, + {"HE", 18, 12, 3, "HEP04", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 13, 1, "HEP04", 4, 11, 3, 0, 1, 4, 0, 3, 3, 8, 14, 0}, + {"HE", 18, 13, 2, "HEP04", 4, 3, 3, 1, 1, 5, 0, 3, 3, 8, 14, 0}, + {"HE", 18, 13, 3, "HEP04", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 14, 1, "HEP05", 1, 11, 3, 0, 1, 4, 0, 3, 8, 6, 17, 1}, + {"HE", 18, 14, 2, "HEP05", 1, 19, 3, 1, 1, 5, 0, 3, 8, 6, 17, 1}, + {"HE", 18, 14, 3, "HEP05", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 15, 1, "HEP05", 2, 11, 3, 0, 1, 4, 0, 3, 8, 8, 17, 1}, + {"HE", 18, 15, 2, "HEP05", 2, 3, 3, 1, 1, 5, 0, 3, 8, 8, 17, 1}, + {"HE", 18, 15, 3, "HEP05", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 16, 1, "HEP05", 3, 11, 3, 0, 1, 4, 0, 3, 9, 6, 17, 0}, + {"HE", 18, 16, 2, "HEP05", 3, 19, 3, 1, 1, 5, 0, 3, 9, 6, 17, 0}, + {"HE", 18, 16, 3, "HEP05", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 17, 1, "HEP05", 4, 11, 3, 0, 1, 4, 0, 3, 9, 8, 17, 0}, + {"HE", 18, 17, 2, "HEP05", 4, 3, 3, 1, 1, 5, 0, 3, 9, 8, 17, 0}, + {"HE", 18, 17, 3, "HEP05", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 18, 1, "HEP06", 1, 11, 3, 0, 1, 4, 1, 5, 2, 6, 14, 1}, + {"HE", 18, 18, 2, "HEP06", 1, 19, 3, 1, 1, 5, 1, 5, 2, 6, 14, 1}, + {"HE", 18, 18, 3, "HEP06", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 19, 1, "HEP06", 2, 11, 3, 0, 1, 4, 1, 5, 2, 8, 14, 1}, + {"HE", 18, 19, 2, "HEP06", 2, 3, 3, 1, 1, 5, 1, 5, 2, 8, 14, 1}, + {"HE", 18, 19, 3, "HEP06", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 20, 1, "HEP06", 3, 11, 3, 0, 1, 4, 1, 5, 3, 6, 14, 0}, + {"HE", 18, 20, 2, "HEP06", 3, 19, 3, 1, 1, 5, 1, 5, 3, 6, 14, 0}, + {"HE", 18, 20, 3, "HEP06", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 21, 1, "HEP06", 4, 11, 3, 0, 1, 4, 1, 5, 3, 8, 14, 0}, + {"HE", 18, 21, 2, "HEP06", 4, 3, 3, 1, 1, 5, 1, 5, 3, 8, 14, 0}, + {"HE", 18, 21, 3, "HEP06", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 22, 1, "HEP07", 1, 11, 3, 0, 1, 4, 1, 5, 8, 6, 17, 1}, + {"HE", 18, 22, 2, "HEP07", 1, 19, 3, 1, 1, 5, 1, 5, 8, 6, 17, 1}, + {"HE", 18, 22, 3, "HEP07", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 23, 1, "HEP07", 2, 11, 3, 0, 1, 4, 1, 5, 8, 8, 17, 1}, + {"HE", 18, 23, 2, "HEP07", 2, 3, 3, 1, 1, 5, 1, 5, 8, 8, 17, 1}, + {"HE", 18, 23, 3, "HEP07", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 24, 1, "HEP07", 3, 11, 3, 0, 1, 4, 1, 5, 9, 6, 17, 0}, + {"HE", 18, 24, 2, "HEP07", 3, 19, 3, 1, 1, 5, 1, 5, 9, 6, 17, 0}, + {"HE", 18, 24, 3, "HEP07", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 25, 1, "HEP07", 4, 11, 3, 0, 1, 4, 1, 5, 9, 8, 17, 0}, + {"HE", 18, 25, 2, "HEP07", 4, 3, 3, 1, 1, 5, 1, 5, 9, 8, 17, 0}, + {"HE", 18, 25, 3, "HEP07", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 26, 1, "HEP08", 1, 11, 3, 0, 1, 4, 5, 7, 2, 6, 14, 1}, + {"HE", 18, 26, 2, "HEP08", 1, 19, 3, 1, 1, 5, 5, 7, 2, 6, 14, 1}, + {"HE", 18, 26, 3, "HEP08", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 27, 1, "HEP08", 2, 11, 3, 0, 1, 4, 5, 7, 2, 8, 14, 1}, + {"HE", 18, 27, 2, "HEP08", 2, 3, 3, 1, 1, 5, 5, 7, 2, 8, 14, 1}, + {"HE", 18, 27, 3, "HEP08", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 28, 1, "HEP08", 3, 11, 3, 0, 1, 4, 5, 7, 3, 6, 14, 0}, + {"HE", 18, 28, 2, "HEP08", 3, 19, 3, 1, 1, 5, 5, 7, 3, 6, 14, 0}, + {"HE", 18, 28, 3, "HEP08", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 29, 1, "HEP08", 4, 11, 3, 0, 1, 4, 5, 7, 3, 8, 14, 0}, + {"HE", 18, 29, 2, "HEP08", 4, 3, 3, 1, 1, 5, 5, 7, 3, 8, 14, 0}, + {"HE", 18, 29, 3, "HEP08", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 30, 1, "HEP09", 1, 11, 3, 0, 1, 4, 5, 7, 8, 6, 17, 1}, + {"HE", 18, 30, 2, "HEP09", 1, 19, 3, 1, 1, 5, 5, 7, 8, 6, 17, 1}, + {"HE", 18, 30, 3, "HEP09", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 31, 1, "HEP09", 2, 11, 3, 0, 1, 4, 5, 7, 8, 8, 17, 1}, + {"HE", 18, 31, 2, "HEP09", 2, 3, 3, 1, 1, 5, 5, 7, 8, 8, 17, 1}, + {"HE", 18, 31, 3, "HEP09", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 32, 1, "HEP09", 3, 11, 3, 0, 1, 4, 5, 7, 9, 6, 17, 0}, + {"HE", 18, 32, 2, "HEP09", 3, 19, 3, 1, 1, 5, 5, 7, 9, 6, 17, 0}, + {"HE", 18, 32, 3, "HEP09", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 33, 1, "HEP09", 4, 11, 3, 0, 1, 4, 5, 7, 9, 8, 17, 0}, + {"HE", 18, 33, 2, "HEP09", 4, 3, 3, 1, 1, 5, 5, 7, 9, 8, 17, 0}, + {"HE", 18, 33, 3, "HEP09", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 34, 1, "HEP10", 1, 11, 3, 0, 1, 4, 11, 9, 2, 6, 14, 1}, + {"HE", 18, 34, 2, "HEP10", 1, 19, 3, 1, 1, 5, 11, 9, 2, 6, 14, 1}, + {"HE", 18, 34, 3, "HEP10", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 35, 1, "HEP10", 2, 11, 3, 0, 1, 4, 11, 9, 2, 8, 14, 1}, + {"HE", 18, 35, 2, "HEP10", 2, 3, 3, 1, 1, 5, 11, 9, 2, 8, 14, 1}, + {"HE", 18, 35, 3, "HEP10", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 36, 1, "HEP10", 3, 11, 3, 0, 1, 4, 11, 9, 3, 6, 14, 0}, + {"HE", 18, 36, 2, "HEP10", 3, 19, 3, 1, 1, 5, 11, 9, 3, 6, 14, 0}, + {"HE", 18, 36, 3, "HEP10", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 37, 1, "HEP10", 4, 11, 3, 0, 1, 4, 11, 9, 3, 8, 14, 0}, + {"HE", 18, 37, 2, "HEP10", 4, 3, 3, 1, 1, 5, 11, 9, 3, 8, 14, 0}, + {"HE", 18, 37, 3, "HEP10", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 38, 1, "HEP11", 1, 11, 3, 0, 1, 4, 11, 9, 8, 6, 17, 1}, + {"HE", 18, 38, 2, "HEP11", 1, 19, 3, 1, 1, 5, 11, 9, 8, 6, 17, 1}, + {"HE", 18, 38, 3, "HEP11", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 39, 1, "HEP11", 2, 11, 3, 0, 1, 4, 11, 9, 8, 8, 17, 1}, + {"HE", 18, 39, 2, "HEP11", 2, 3, 3, 1, 1, 5, 11, 9, 8, 8, 17, 1}, + {"HE", 18, 39, 3, "HEP11", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 40, 1, "HEP11", 3, 11, 3, 0, 1, 4, 11, 9, 9, 6, 17, 0}, + {"HE", 18, 40, 2, "HEP11", 3, 19, 3, 1, 1, 5, 11, 9, 9, 6, 17, 0}, + {"HE", 18, 40, 3, "HEP11", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 41, 1, "HEP11", 4, 11, 3, 0, 1, 4, 11, 9, 9, 8, 17, 0}, + {"HE", 18, 41, 2, "HEP11", 4, 3, 3, 1, 1, 5, 11, 9, 9, 8, 17, 0}, + {"HE", 18, 41, 3, "HEP11", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 42, 1, "HEP12", 1, 11, 3, 0, 1, 4, 15, 11, 2, 6, 14, 1}, + {"HE", 18, 42, 2, "HEP12", 1, 19, 3, 1, 1, 5, 15, 11, 2, 6, 14, 1}, + {"HE", 18, 42, 3, "HEP12", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 43, 1, "HEP12", 2, 11, 3, 0, 1, 4, 15, 11, 2, 8, 14, 1}, + {"HE", 18, 43, 2, "HEP12", 2, 3, 3, 1, 1, 5, 15, 11, 2, 8, 14, 1}, + {"HE", 18, 43, 3, "HEP12", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 44, 1, "HEP12", 3, 11, 3, 0, 1, 4, 15, 11, 3, 6, 14, 0}, + {"HE", 18, 44, 2, "HEP12", 3, 19, 3, 1, 1, 5, 15, 11, 3, 6, 14, 0}, + {"HE", 18, 44, 3, "HEP12", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 45, 1, "HEP12", 4, 11, 3, 0, 1, 4, 15, 11, 3, 8, 14, 0}, + {"HE", 18, 45, 2, "HEP12", 4, 3, 3, 1, 1, 5, 15, 11, 3, 8, 14, 0}, + {"HE", 18, 45, 3, "HEP12", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 46, 1, "HEP13", 1, 11, 3, 0, 1, 4, 15, 11, 8, 6, 17, 1}, + {"HE", 18, 46, 2, "HEP13", 1, 19, 3, 1, 1, 5, 15, 11, 8, 6, 17, 1}, + {"HE", 18, 46, 3, "HEP13", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 47, 1, "HEP13", 2, 11, 3, 0, 1, 4, 15, 11, 8, 8, 17, 1}, + {"HE", 18, 47, 2, "HEP13", 2, 3, 3, 1, 1, 5, 15, 11, 8, 8, 17, 1}, + {"HE", 18, 47, 3, "HEP13", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 48, 1, "HEP13", 3, 11, 3, 0, 1, 4, 15, 11, 9, 6, 17, 0}, + {"HE", 18, 48, 2, "HEP13", 3, 19, 3, 1, 1, 5, 15, 11, 9, 6, 17, 0}, + {"HE", 18, 48, 3, "HEP13", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 49, 1, "HEP13", 4, 11, 3, 0, 1, 4, 15, 11, 9, 8, 17, 0}, + {"HE", 18, 49, 2, "HEP13", 4, 3, 3, 1, 1, 5, 15, 11, 9, 8, 17, 0}, + {"HE", 18, 49, 3, "HEP13", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 50, 1, "HEP14", 1, 11, 3, 0, 1, 4, 17, 13, 2, 6, 14, 1}, + {"HE", 18, 50, 2, "HEP14", 1, 19, 3, 1, 1, 5, 17, 13, 2, 6, 14, 1}, + {"HE", 18, 50, 3, "HEP14", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 51, 1, "HEP14", 2, 11, 3, 0, 1, 4, 17, 13, 2, 8, 14, 1}, + {"HE", 18, 51, 2, "HEP14", 2, 3, 3, 1, 1, 5, 17, 13, 2, 8, 14, 1}, + {"HE", 18, 51, 3, "HEP14", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 52, 1, "HEP14", 3, 11, 3, 0, 1, 4, 17, 13, 3, 6, 14, 0}, + {"HE", 18, 52, 2, "HEP14", 3, 19, 3, 1, 1, 5, 17, 13, 3, 6, 14, 0}, + {"HE", 18, 52, 3, "HEP14", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 53, 1, "HEP14", 4, 11, 3, 0, 1, 4, 17, 13, 3, 8, 14, 0}, + {"HE", 18, 53, 2, "HEP14", 4, 3, 3, 1, 1, 5, 17, 13, 3, 8, 14, 0}, + {"HE", 18, 53, 3, "HEP14", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 54, 1, "HEP15", 1, 11, 3, 0, 1, 4, 17, 13, 8, 6, 17, 1}, + {"HE", 18, 54, 2, "HEP15", 1, 19, 3, 1, 1, 5, 17, 13, 8, 6, 17, 1}, + {"HE", 18, 54, 3, "HEP15", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 55, 1, "HEP15", 2, 11, 3, 0, 1, 4, 17, 13, 8, 8, 17, 1}, + {"HE", 18, 55, 2, "HEP15", 2, 3, 3, 1, 1, 5, 17, 13, 8, 8, 17, 1}, + {"HE", 18, 55, 3, "HEP15", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 56, 1, "HEP15", 3, 11, 3, 0, 1, 4, 17, 13, 9, 6, 17, 0}, + {"HE", 18, 56, 2, "HEP15", 3, 19, 3, 1, 1, 5, 17, 13, 9, 6, 17, 0}, + {"HE", 18, 56, 3, "HEP15", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 57, 1, "HEP15", 4, 11, 3, 0, 1, 4, 17, 13, 9, 8, 17, 0}, + {"HE", 18, 57, 2, "HEP15", 4, 3, 3, 1, 1, 5, 17, 13, 9, 8, 17, 0}, + {"HE", 18, 57, 3, "HEP15", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 58, 1, "HEP16", 1, 11, 3, 0, 1, 4, 14, 15, 2, 6, 14, 1}, + {"HE", 18, 58, 2, "HEP16", 1, 19, 3, 1, 1, 5, 14, 15, 2, 6, 14, 1}, + {"HE", 18, 58, 3, "HEP16", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 59, 1, "HEP16", 2, 11, 3, 0, 1, 4, 14, 15, 2, 8, 14, 1}, + {"HE", 18, 59, 2, "HEP16", 2, 3, 3, 1, 1, 5, 14, 15, 2, 8, 14, 1}, + {"HE", 18, 59, 3, "HEP16", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 60, 1, "HEP16", 3, 11, 3, 0, 1, 4, 14, 15, 3, 6, 14, 0}, + {"HE", 18, 60, 2, "HEP16", 3, 19, 3, 1, 1, 5, 14, 15, 3, 6, 14, 0}, + {"HE", 18, 60, 3, "HEP16", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 61, 1, "HEP16", 4, 11, 3, 0, 1, 4, 14, 15, 3, 8, 14, 0}, + {"HE", 18, 61, 2, "HEP16", 4, 3, 3, 1, 1, 5, 14, 15, 3, 8, 14, 0}, + {"HE", 18, 61, 3, "HEP16", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 62, 1, "HEP17", 1, 11, 3, 0, 1, 4, 14, 15, 8, 6, 17, 1}, + {"HE", 18, 62, 2, "HEP17", 1, 19, 3, 1, 1, 5, 14, 15, 8, 6, 17, 1}, + {"HE", 18, 62, 3, "HEP17", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 63, 1, "HEP17", 2, 11, 3, 0, 1, 4, 14, 15, 8, 8, 17, 1}, + {"HE", 18, 63, 2, "HEP17", 2, 3, 3, 1, 1, 5, 14, 15, 8, 8, 17, 1}, + {"HE", 18, 63, 3, "HEP17", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 64, 1, "HEP17", 3, 11, 3, 0, 1, 4, 14, 15, 9, 6, 17, 0}, + {"HE", 18, 64, 2, "HEP17", 3, 19, 3, 1, 1, 5, 14, 15, 9, 6, 17, 0}, + {"HE", 18, 64, 3, "HEP17", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 65, 1, "HEP17", 4, 11, 3, 0, 1, 4, 14, 15, 9, 8, 17, 0}, + {"HE", 18, 65, 2, "HEP17", 4, 3, 3, 1, 1, 5, 14, 15, 9, 8, 17, 0}, + {"HE", 18, 65, 3, "HEP17", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 66, 1, "HEP18", 1, 11, 3, 0, 1, 4, 10, 17, 2, 6, 14, 1}, + {"HE", 18, 66, 2, "HEP18", 1, 19, 3, 1, 1, 5, 10, 17, 2, 6, 14, 1}, + {"HE", 18, 66, 3, "HEP18", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 67, 1, "HEP18", 2, 11, 3, 0, 1, 4, 10, 17, 2, 8, 14, 1}, + {"HE", 18, 67, 2, "HEP18", 2, 3, 3, 1, 1, 5, 10, 17, 2, 8, 14, 1}, + {"HE", 18, 67, 3, "HEP18", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 68, 1, "HEP18", 3, 11, 3, 0, 1, 4, 10, 17, 3, 6, 14, 0}, + {"HE", 18, 68, 2, "HEP18", 3, 19, 3, 1, 1, 5, 10, 17, 3, 6, 14, 0}, + {"HE", 18, 68, 3, "HEP18", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 69, 1, "HEP18", 4, 11, 3, 0, 1, 4, 10, 17, 3, 8, 14, 0}, + {"HE", 18, 69, 2, "HEP18", 4, 3, 3, 1, 1, 5, 10, 17, 3, 8, 14, 0}, + {"HE", 18, 69, 3, "HEP18", 4, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 70, 1, "HEP01", 1, 11, 3, 0, 1, 4, 10, 17, 8, 6, 17, 1}, + {"HE", 18, 70, 2, "HEP01", 1, 19, 3, 1, 1, 5, 10, 17, 8, 6, 17, 1}, + {"HE", 18, 70, 3, "HEP01", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 18, 71, 1, "HEP01", 2, 11, 3, 0, 1, 4, 10, 17, 8, 8, 17, 1}, + {"HE", 18, 71, 2, "HEP01", 2, 3, 3, 1, 1, 5, 10, 17, 8, 8, 17, 1}, + {"HE", 18, 71, 3, "HEP01", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 0, 1, "HEP01", 3, 13, 7, 0, 3, 4, 10, 17, 11, 6, 18, 0}, + {"HE", 19, 0, 2, "HEP01", 3, 17, 6, 0, 3, 0, 10, 17, 11, 5, 18, 0}, + {"HE", 19, 0, 3, "HEP01", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 1, 1, "HEP01", 4, 4, 7, 0, 3, 4, 10, 17, 11, 8, 18, 0}, + {"HE", 19, 1, 2, "HEP01", 4, 1, 6, 0, 3, 0, 10, 17, 11, 7, 18, 0}, + {"HE", 19, 1, 3, "HEP01", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 2, 1, "HEP02", 1, 13, 7, 0, 3, 4, 4, 1, 4, 6, 15, 1}, + {"HE", 19, 2, 2, "HEP02", 1, 17, 6, 0, 3, 0, 4, 1, 4, 5, 15, 1}, + {"HE", 19, 2, 3, "HEP02", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 3, 1, "HEP02", 2, 4, 7, 0, 3, 4, 4, 1, 4, 8, 15, 1}, + {"HE", 19, 3, 2, "HEP02", 2, 1, 6, 0, 3, 0, 4, 1, 4, 7, 15, 1}, + {"HE", 19, 3, 3, "HEP02", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 4, 1, "HEP02", 3, 13, 7, 0, 3, 4, 4, 1, 5, 6, 15, 0}, + {"HE", 19, 4, 2, "HEP02", 3, 17, 6, 0, 3, 0, 4, 1, 5, 5, 15, 0}, + {"HE", 19, 4, 3, "HEP02", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 5, 1, "HEP02", 4, 4, 7, 0, 3, 4, 4, 1, 5, 8, 15, 0}, + {"HE", 19, 5, 2, "HEP02", 4, 1, 6, 0, 3, 0, 4, 1, 5, 7, 15, 0}, + {"HE", 19, 5, 3, "HEP02", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 6, 1, "HEP03", 1, 13, 7, 0, 3, 4, 4, 1, 10, 6, 18, 1}, + {"HE", 19, 6, 2, "HEP03", 1, 17, 6, 0, 3, 0, 4, 1, 10, 5, 18, 1}, + {"HE", 19, 6, 3, "HEP03", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 7, 1, "HEP03", 2, 4, 7, 0, 3, 4, 4, 1, 10, 8, 18, 1}, + {"HE", 19, 7, 2, "HEP03", 2, 1, 6, 0, 3, 0, 4, 1, 10, 7, 18, 1}, + {"HE", 19, 7, 3, "HEP03", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 8, 1, "HEP03", 3, 13, 7, 0, 3, 4, 4, 1, 11, 6, 18, 0}, + {"HE", 19, 8, 2, "HEP03", 3, 17, 6, 0, 3, 0, 4, 1, 11, 5, 18, 0}, + {"HE", 19, 8, 3, "HEP03", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 9, 1, "HEP03", 4, 4, 7, 0, 3, 4, 4, 1, 11, 8, 18, 0}, + {"HE", 19, 9, 2, "HEP03", 4, 1, 6, 0, 3, 0, 4, 1, 11, 7, 18, 0}, + {"HE", 19, 9, 3, "HEP03", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 10, 1, "HEP04", 1, 13, 7, 0, 3, 4, 0, 3, 4, 6, 15, 1}, + {"HE", 19, 10, 2, "HEP04", 1, 17, 6, 0, 3, 0, 0, 3, 4, 5, 15, 1}, + {"HE", 19, 10, 3, "HEP04", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 11, 1, "HEP04", 2, 4, 7, 0, 3, 4, 0, 3, 4, 8, 15, 1}, + {"HE", 19, 11, 2, "HEP04", 2, 1, 6, 0, 3, 0, 0, 3, 4, 7, 15, 1}, + {"HE", 19, 11, 3, "HEP04", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 12, 1, "HEP04", 3, 13, 7, 0, 3, 4, 0, 3, 5, 6, 15, 0}, + {"HE", 19, 12, 2, "HEP04", 3, 17, 6, 0, 3, 0, 0, 3, 5, 5, 15, 0}, + {"HE", 19, 12, 3, "HEP04", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 13, 1, "HEP04", 4, 4, 7, 0, 3, 4, 0, 3, 5, 8, 15, 0}, + {"HE", 19, 13, 2, "HEP04", 4, 1, 6, 0, 3, 0, 0, 3, 5, 7, 15, 0}, + {"HE", 19, 13, 3, "HEP04", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 14, 1, "HEP05", 1, 13, 7, 0, 3, 4, 0, 3, 10, 6, 18, 1}, + {"HE", 19, 14, 2, "HEP05", 1, 17, 6, 0, 3, 0, 0, 3, 10, 5, 18, 1}, + {"HE", 19, 14, 3, "HEP05", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 15, 1, "HEP05", 2, 4, 7, 0, 3, 4, 0, 3, 10, 8, 18, 1}, + {"HE", 19, 15, 2, "HEP05", 2, 1, 6, 0, 3, 0, 0, 3, 10, 7, 18, 1}, + {"HE", 19, 15, 3, "HEP05", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 16, 1, "HEP05", 3, 13, 7, 0, 3, 4, 0, 3, 11, 6, 18, 0}, + {"HE", 19, 16, 2, "HEP05", 3, 17, 6, 0, 3, 0, 0, 3, 11, 5, 18, 0}, + {"HE", 19, 16, 3, "HEP05", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 17, 1, "HEP05", 4, 4, 7, 0, 3, 4, 0, 3, 11, 8, 18, 0}, + {"HE", 19, 17, 2, "HEP05", 4, 1, 6, 0, 3, 0, 0, 3, 11, 7, 18, 0}, + {"HE", 19, 17, 3, "HEP05", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 18, 1, "HEP06", 1, 13, 7, 0, 3, 4, 1, 5, 4, 6, 15, 1}, + {"HE", 19, 18, 2, "HEP06", 1, 17, 6, 0, 3, 0, 1, 5, 4, 5, 15, 1}, + {"HE", 19, 18, 3, "HEP06", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 19, 1, "HEP06", 2, 4, 7, 0, 3, 4, 1, 5, 4, 8, 15, 1}, + {"HE", 19, 19, 2, "HEP06", 2, 1, 6, 0, 3, 0, 1, 5, 4, 7, 15, 1}, + {"HE", 19, 19, 3, "HEP06", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 20, 1, "HEP06", 3, 13, 7, 0, 3, 4, 1, 5, 5, 6, 15, 0}, + {"HE", 19, 20, 2, "HEP06", 3, 17, 6, 0, 3, 0, 1, 5, 5, 5, 15, 0}, + {"HE", 19, 20, 3, "HEP06", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 21, 1, "HEP06", 4, 4, 7, 0, 3, 4, 1, 5, 5, 8, 15, 0}, + {"HE", 19, 21, 2, "HEP06", 4, 1, 6, 0, 3, 0, 1, 5, 5, 7, 15, 0}, + {"HE", 19, 21, 3, "HEP06", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 22, 1, "HEP07", 1, 13, 7, 0, 3, 4, 1, 5, 10, 6, 18, 1}, + {"HE", 19, 22, 2, "HEP07", 1, 17, 6, 0, 3, 0, 1, 5, 10, 5, 18, 1}, + {"HE", 19, 22, 3, "HEP07", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 23, 1, "HEP07", 2, 4, 7, 0, 3, 4, 1, 5, 10, 8, 18, 1}, + {"HE", 19, 23, 2, "HEP07", 2, 1, 6, 0, 3, 0, 1, 5, 10, 7, 18, 1}, + {"HE", 19, 23, 3, "HEP07", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 24, 1, "HEP07", 3, 13, 7, 0, 3, 4, 1, 5, 11, 6, 18, 0}, + {"HE", 19, 24, 2, "HEP07", 3, 17, 6, 0, 3, 0, 1, 5, 11, 5, 18, 0}, + {"HE", 19, 24, 3, "HEP07", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 25, 1, "HEP07", 4, 4, 7, 0, 3, 4, 1, 5, 11, 8, 18, 0}, + {"HE", 19, 25, 2, "HEP07", 4, 1, 6, 0, 3, 0, 1, 5, 11, 7, 18, 0}, + {"HE", 19, 25, 3, "HEP07", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 26, 1, "HEP08", 1, 13, 7, 0, 3, 4, 5, 7, 4, 6, 15, 1}, + {"HE", 19, 26, 2, "HEP08", 1, 17, 6, 0, 3, 0, 5, 7, 4, 5, 15, 1}, + {"HE", 19, 26, 3, "HEP08", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 27, 1, "HEP08", 2, 4, 7, 0, 3, 4, 5, 7, 4, 8, 15, 1}, + {"HE", 19, 27, 2, "HEP08", 2, 1, 6, 0, 3, 0, 5, 7, 4, 7, 15, 1}, + {"HE", 19, 27, 3, "HEP08", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 28, 1, "HEP08", 3, 13, 7, 0, 3, 4, 5, 7, 5, 6, 15, 0}, + {"HE", 19, 28, 2, "HEP08", 3, 17, 6, 0, 3, 0, 5, 7, 5, 5, 15, 0}, + {"HE", 19, 28, 3, "HEP08", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 29, 1, "HEP08", 4, 4, 7, 0, 3, 4, 5, 7, 5, 8, 15, 0}, + {"HE", 19, 29, 2, "HEP08", 4, 1, 6, 0, 3, 0, 5, 7, 5, 7, 15, 0}, + {"HE", 19, 29, 3, "HEP08", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 30, 1, "HEP09", 1, 13, 7, 0, 3, 4, 5, 7, 10, 6, 18, 1}, + {"HE", 19, 30, 2, "HEP09", 1, 17, 6, 0, 3, 0, 5, 7, 10, 5, 18, 1}, + {"HE", 19, 30, 3, "HEP09", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 31, 1, "HEP09", 2, 4, 7, 0, 3, 4, 5, 7, 10, 8, 18, 1}, + {"HE", 19, 31, 2, "HEP09", 2, 1, 6, 0, 3, 0, 5, 7, 10, 7, 18, 1}, + {"HE", 19, 31, 3, "HEP09", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 32, 1, "HEP09", 3, 13, 7, 0, 3, 4, 5, 7, 11, 6, 18, 0}, + {"HE", 19, 32, 2, "HEP09", 3, 17, 6, 0, 3, 0, 5, 7, 11, 5, 18, 0}, + {"HE", 19, 32, 3, "HEP09", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 33, 1, "HEP09", 4, 4, 7, 0, 3, 4, 5, 7, 11, 8, 18, 0}, + {"HE", 19, 33, 2, "HEP09", 4, 1, 6, 0, 3, 0, 5, 7, 11, 7, 18, 0}, + {"HE", 19, 33, 3, "HEP09", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 34, 1, "HEP10", 1, 13, 7, 0, 3, 4, 11, 9, 4, 6, 15, 1}, + {"HE", 19, 34, 2, "HEP10", 1, 17, 6, 0, 3, 0, 11, 9, 4, 5, 15, 1}, + {"HE", 19, 34, 3, "HEP10", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 35, 1, "HEP10", 2, 4, 7, 0, 3, 4, 11, 9, 4, 8, 15, 1}, + {"HE", 19, 35, 2, "HEP10", 2, 1, 6, 0, 3, 0, 11, 9, 4, 7, 15, 1}, + {"HE", 19, 35, 3, "HEP10", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 36, 1, "HEP10", 3, 13, 7, 0, 3, 4, 11, 9, 5, 6, 15, 0}, + {"HE", 19, 36, 2, "HEP10", 3, 17, 6, 0, 3, 0, 11, 9, 5, 5, 15, 0}, + {"HE", 19, 36, 3, "HEP10", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 37, 1, "HEP10", 4, 4, 7, 0, 3, 4, 11, 9, 5, 8, 15, 0}, + {"HE", 19, 37, 2, "HEP10", 4, 1, 6, 0, 3, 0, 11, 9, 5, 7, 15, 0}, + {"HE", 19, 37, 3, "HEP10", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 38, 1, "HEP11", 1, 13, 7, 0, 3, 4, 11, 9, 10, 6, 18, 1}, + {"HE", 19, 38, 2, "HEP11", 1, 17, 6, 0, 3, 0, 11, 9, 10, 5, 18, 1}, + {"HE", 19, 38, 3, "HEP11", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 39, 1, "HEP11", 2, 4, 7, 0, 3, 4, 11, 9, 10, 8, 18, 1}, + {"HE", 19, 39, 2, "HEP11", 2, 1, 6, 0, 3, 0, 11, 9, 10, 7, 18, 1}, + {"HE", 19, 39, 3, "HEP11", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 40, 1, "HEP11", 3, 13, 7, 0, 3, 4, 11, 9, 11, 6, 18, 0}, + {"HE", 19, 40, 2, "HEP11", 3, 17, 6, 0, 3, 0, 11, 9, 11, 5, 18, 0}, + {"HE", 19, 40, 3, "HEP11", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 41, 1, "HEP11", 4, 4, 7, 0, 3, 4, 11, 9, 11, 8, 18, 0}, + {"HE", 19, 41, 2, "HEP11", 4, 1, 6, 0, 3, 0, 11, 9, 11, 7, 18, 0}, + {"HE", 19, 41, 3, "HEP11", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 42, 1, "HEP12", 1, 13, 7, 0, 3, 4, 15, 11, 4, 6, 15, 1}, + {"HE", 19, 42, 2, "HEP12", 1, 17, 6, 0, 3, 0, 15, 11, 4, 5, 15, 1}, + {"HE", 19, 42, 3, "HEP12", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 43, 1, "HEP12", 2, 4, 7, 0, 3, 4, 15, 11, 4, 8, 15, 1}, + {"HE", 19, 43, 2, "HEP12", 2, 1, 6, 0, 3, 0, 15, 11, 4, 7, 15, 1}, + {"HE", 19, 43, 3, "HEP12", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 44, 1, "HEP12", 3, 13, 7, 0, 3, 4, 15, 11, 5, 6, 15, 0}, + {"HE", 19, 44, 2, "HEP12", 3, 17, 6, 0, 3, 0, 15, 11, 5, 5, 15, 0}, + {"HE", 19, 44, 3, "HEP12", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 45, 1, "HEP12", 4, 4, 7, 0, 3, 4, 15, 11, 5, 8, 15, 0}, + {"HE", 19, 45, 2, "HEP12", 4, 1, 6, 0, 3, 0, 15, 11, 5, 7, 15, 0}, + {"HE", 19, 45, 3, "HEP12", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 46, 1, "HEP13", 1, 13, 7, 0, 3, 4, 15, 11, 10, 6, 18, 1}, + {"HE", 19, 46, 2, "HEP13", 1, 17, 6, 0, 3, 0, 15, 11, 10, 5, 18, 1}, + {"HE", 19, 46, 3, "HEP13", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 47, 1, "HEP13", 2, 4, 7, 0, 3, 4, 15, 11, 10, 8, 18, 1}, + {"HE", 19, 47, 2, "HEP13", 2, 1, 6, 0, 3, 0, 15, 11, 10, 7, 18, 1}, + {"HE", 19, 47, 3, "HEP13", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 48, 1, "HEP13", 3, 13, 7, 0, 3, 4, 15, 11, 11, 6, 18, 0}, + {"HE", 19, 48, 2, "HEP13", 3, 17, 6, 0, 3, 0, 15, 11, 11, 5, 18, 0}, + {"HE", 19, 48, 3, "HEP13", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 49, 1, "HEP13", 4, 4, 7, 0, 3, 4, 15, 11, 11, 8, 18, 0}, + {"HE", 19, 49, 2, "HEP13", 4, 1, 6, 0, 3, 0, 15, 11, 11, 7, 18, 0}, + {"HE", 19, 49, 3, "HEP13", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 50, 1, "HEP14", 1, 13, 7, 0, 3, 4, 17, 13, 4, 6, 15, 1}, + {"HE", 19, 50, 2, "HEP14", 1, 17, 6, 0, 3, 0, 17, 13, 4, 5, 15, 1}, + {"HE", 19, 50, 3, "HEP14", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 51, 1, "HEP14", 2, 4, 7, 0, 3, 4, 17, 13, 4, 8, 15, 1}, + {"HE", 19, 51, 2, "HEP14", 2, 1, 6, 0, 3, 0, 17, 13, 4, 7, 15, 1}, + {"HE", 19, 51, 3, "HEP14", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 52, 1, "HEP14", 3, 13, 7, 0, 3, 4, 17, 13, 5, 6, 15, 0}, + {"HE", 19, 52, 2, "HEP14", 3, 17, 6, 0, 3, 0, 17, 13, 5, 5, 15, 0}, + {"HE", 19, 52, 3, "HEP14", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 53, 1, "HEP14", 4, 4, 7, 0, 3, 4, 17, 13, 5, 8, 15, 0}, + {"HE", 19, 53, 2, "HEP14", 4, 1, 6, 0, 3, 0, 17, 13, 5, 7, 15, 0}, + {"HE", 19, 53, 3, "HEP14", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 54, 1, "HEP15", 1, 13, 7, 0, 3, 4, 17, 13, 10, 6, 18, 1}, + {"HE", 19, 54, 2, "HEP15", 1, 17, 6, 0, 3, 0, 17, 13, 10, 5, 18, 1}, + {"HE", 19, 54, 3, "HEP15", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 55, 1, "HEP15", 2, 4, 7, 0, 3, 4, 17, 13, 10, 8, 18, 1}, + {"HE", 19, 55, 2, "HEP15", 2, 1, 6, 0, 3, 0, 17, 13, 10, 7, 18, 1}, + {"HE", 19, 55, 3, "HEP15", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 56, 1, "HEP15", 3, 13, 7, 0, 3, 4, 17, 13, 11, 6, 18, 0}, + {"HE", 19, 56, 2, "HEP15", 3, 17, 6, 0, 3, 0, 17, 13, 11, 5, 18, 0}, + {"HE", 19, 56, 3, "HEP15", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 57, 1, "HEP15", 4, 4, 7, 0, 3, 4, 17, 13, 11, 8, 18, 0}, + {"HE", 19, 57, 2, "HEP15", 4, 1, 6, 0, 3, 0, 17, 13, 11, 7, 18, 0}, + {"HE", 19, 57, 3, "HEP15", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 58, 1, "HEP16", 1, 13, 7, 0, 3, 4, 14, 15, 4, 6, 15, 1}, + {"HE", 19, 58, 2, "HEP16", 1, 17, 6, 0, 3, 0, 14, 15, 4, 5, 15, 1}, + {"HE", 19, 58, 3, "HEP16", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 59, 1, "HEP16", 2, 4, 7, 0, 3, 4, 14, 15, 4, 8, 15, 1}, + {"HE", 19, 59, 2, "HEP16", 2, 1, 6, 0, 3, 0, 14, 15, 4, 7, 15, 1}, + {"HE", 19, 59, 3, "HEP16", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 60, 1, "HEP16", 3, 13, 7, 0, 3, 4, 14, 15, 5, 6, 15, 0}, + {"HE", 19, 60, 2, "HEP16", 3, 17, 6, 0, 3, 0, 14, 15, 5, 5, 15, 0}, + {"HE", 19, 60, 3, "HEP16", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 61, 1, "HEP16", 4, 4, 7, 0, 3, 4, 14, 15, 5, 8, 15, 0}, + {"HE", 19, 61, 2, "HEP16", 4, 1, 6, 0, 3, 0, 14, 15, 5, 7, 15, 0}, + {"HE", 19, 61, 3, "HEP16", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 62, 1, "HEP17", 1, 13, 7, 0, 3, 4, 14, 15, 10, 6, 18, 1}, + {"HE", 19, 62, 2, "HEP17", 1, 17, 6, 0, 3, 0, 14, 15, 10, 5, 18, 1}, + {"HE", 19, 62, 3, "HEP17", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 63, 1, "HEP17", 2, 4, 7, 0, 3, 4, 14, 15, 10, 8, 18, 1}, + {"HE", 19, 63, 2, "HEP17", 2, 1, 6, 0, 3, 0, 14, 15, 10, 7, 18, 1}, + {"HE", 19, 63, 3, "HEP17", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 64, 1, "HEP17", 3, 13, 7, 0, 3, 4, 14, 15, 11, 6, 18, 0}, + {"HE", 19, 64, 2, "HEP17", 3, 17, 6, 0, 3, 0, 14, 15, 11, 5, 18, 0}, + {"HE", 19, 64, 3, "HEP17", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 65, 1, "HEP17", 4, 4, 7, 0, 3, 4, 14, 15, 11, 8, 18, 0}, + {"HE", 19, 65, 2, "HEP17", 4, 1, 6, 0, 3, 0, 14, 15, 11, 7, 18, 0}, + {"HE", 19, 65, 3, "HEP17", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 66, 1, "HEP18", 1, 13, 7, 0, 3, 4, 10, 17, 4, 6, 15, 1}, + {"HE", 19, 66, 2, "HEP18", 1, 17, 6, 0, 3, 0, 10, 17, 4, 5, 15, 1}, + {"HE", 19, 66, 3, "HEP18", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 67, 1, "HEP18", 2, 4, 7, 0, 3, 4, 10, 17, 4, 8, 15, 1}, + {"HE", 19, 67, 2, "HEP18", 2, 1, 6, 0, 3, 0, 10, 17, 4, 7, 15, 1}, + {"HE", 19, 67, 3, "HEP18", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 68, 1, "HEP18", 3, 13, 7, 0, 3, 4, 10, 17, 5, 6, 15, 0}, + {"HE", 19, 68, 2, "HEP18", 3, 17, 6, 0, 3, 0, 10, 17, 5, 5, 15, 0}, + {"HE", 19, 68, 3, "HEP18", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 69, 1, "HEP18", 4, 4, 7, 0, 3, 4, 10, 17, 5, 8, 15, 0}, + {"HE", 19, 69, 2, "HEP18", 4, 1, 6, 0, 3, 0, 10, 17, 5, 7, 15, 0}, + {"HE", 19, 69, 3, "HEP18", 4, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 70, 1, "HEP01", 1, 13, 7, 0, 3, 4, 10, 17, 10, 6, 18, 1}, + {"HE", 19, 70, 2, "HEP01", 1, 17, 6, 0, 3, 0, 10, 17, 10, 5, 18, 1}, + {"HE", 19, 70, 3, "HEP01", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 19, 71, 1, "HEP01", 2, 4, 7, 0, 3, 4, 10, 17, 10, 8, 18, 1}, + {"HE", 19, 71, 2, "HEP01", 2, 1, 6, 0, 3, 0, 10, 17, 10, 7, 18, 1}, + {"HE", 19, 71, 3, "HEP01", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 0, 1, "HEP01", 3, 9, 6, 1, 3, 1, 10, 17, 11, 5, 18, 0}, + {"HE", 20, 0, 2, "HEP01", 3, 8, 7, 1, 3, 5, 10, 17, 11, 6, 18, 0}, + {"HE", 20, 0, 3, "HEP01", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 1, 1, "HEP01", 4, 9, 6, 1, 3, 1, 10, 17, 11, 7, 18, 0}, + {"HE", 20, 1, 2, "HEP01", 4, 8, 7, 1, 3, 5, 10, 17, 11, 8, 18, 0}, + {"HE", 20, 1, 3, "HEP02", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 2, 1, "HEP02", 1, 9, 6, 1, 3, 1, 4, 1, 4, 5, 15, 1}, + {"HE", 20, 2, 2, "HEP02", 1, 8, 7, 1, 3, 5, 4, 1, 4, 6, 15, 1}, + {"HE", 20, 2, 3, "HEP02", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 3, 1, "HEP02", 2, 9, 6, 1, 3, 1, 4, 1, 4, 7, 15, 1}, + {"HE", 20, 3, 2, "HEP02", 2, 8, 7, 1, 3, 5, 4, 1, 4, 8, 15, 1}, + {"HE", 20, 3, 3, "HEP02", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 4, 1, "HEP02", 3, 9, 6, 1, 3, 1, 4, 1, 5, 5, 15, 0}, + {"HE", 20, 4, 2, "HEP02", 3, 8, 7, 1, 3, 5, 4, 1, 5, 6, 15, 0}, + {"HE", 20, 4, 3, "HEP02", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 5, 1, "HEP02", 4, 9, 6, 1, 3, 1, 4, 1, 5, 7, 15, 0}, + {"HE", 20, 5, 2, "HEP02", 4, 8, 7, 1, 3, 5, 4, 1, 5, 8, 15, 0}, + {"HE", 20, 5, 3, "HEP03", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 6, 1, "HEP03", 1, 9, 6, 1, 3, 1, 4, 1, 10, 5, 18, 1}, + {"HE", 20, 6, 2, "HEP03", 1, 8, 7, 1, 3, 5, 4, 1, 10, 6, 18, 1}, + {"HE", 20, 6, 3, "HEP03", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 7, 1, "HEP03", 2, 9, 6, 1, 3, 1, 4, 1, 10, 7, 18, 1}, + {"HE", 20, 7, 2, "HEP03", 2, 8, 7, 1, 3, 5, 4, 1, 10, 8, 18, 1}, + {"HE", 20, 7, 3, "HEP03", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 8, 1, "HEP03", 3, 9, 6, 1, 3, 1, 4, 1, 11, 5, 18, 0}, + {"HE", 20, 8, 2, "HEP03", 3, 8, 7, 1, 3, 5, 4, 1, 11, 6, 18, 0}, + {"HE", 20, 8, 3, "HEP03", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 9, 1, "HEP03", 4, 9, 6, 1, 3, 1, 4, 1, 11, 7, 18, 0}, + {"HE", 20, 9, 2, "HEP03", 4, 8, 7, 1, 3, 5, 4, 1, 11, 8, 18, 0}, + {"HE", 20, 9, 3, "HEP04", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 10, 1, "HEP04", 1, 9, 6, 1, 3, 1, 0, 3, 4, 5, 15, 1}, + {"HE", 20, 10, 2, "HEP04", 1, 8, 7, 1, 3, 5, 0, 3, 4, 6, 15, 1}, + {"HE", 20, 10, 3, "HEP04", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 11, 1, "HEP04", 2, 9, 6, 1, 3, 1, 0, 3, 4, 7, 15, 1}, + {"HE", 20, 11, 2, "HEP04", 2, 8, 7, 1, 3, 5, 0, 3, 4, 8, 15, 1}, + {"HE", 20, 11, 3, "HEP04", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 12, 1, "HEP04", 3, 9, 6, 1, 3, 1, 0, 3, 5, 5, 15, 0}, + {"HE", 20, 12, 2, "HEP04", 3, 8, 7, 1, 3, 5, 0, 3, 5, 6, 15, 0}, + {"HE", 20, 12, 3, "HEP04", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 13, 1, "HEP04", 4, 9, 6, 1, 3, 1, 0, 3, 5, 7, 15, 0}, + {"HE", 20, 13, 2, "HEP04", 4, 8, 7, 1, 3, 5, 0, 3, 5, 8, 15, 0}, + {"HE", 20, 13, 3, "HEP05", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 14, 1, "HEP05", 1, 9, 6, 1, 3, 1, 0, 3, 10, 5, 18, 1}, + {"HE", 20, 14, 2, "HEP05", 1, 8, 7, 1, 3, 5, 0, 3, 10, 6, 18, 1}, + {"HE", 20, 14, 3, "HEP05", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 15, 1, "HEP05", 2, 9, 6, 1, 3, 1, 0, 3, 10, 7, 18, 1}, + {"HE", 20, 15, 2, "HEP05", 2, 8, 7, 1, 3, 5, 0, 3, 10, 8, 18, 1}, + {"HE", 20, 15, 3, "HEP05", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 16, 1, "HEP05", 3, 9, 6, 1, 3, 1, 0, 3, 11, 5, 18, 0}, + {"HE", 20, 16, 2, "HEP05", 3, 8, 7, 1, 3, 5, 0, 3, 11, 6, 18, 0}, + {"HE", 20, 16, 3, "HEP05", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 17, 1, "HEP05", 4, 9, 6, 1, 3, 1, 0, 3, 11, 7, 18, 0}, + {"HE", 20, 17, 2, "HEP05", 4, 8, 7, 1, 3, 5, 0, 3, 11, 8, 18, 0}, + {"HE", 20, 17, 3, "HEP06", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 18, 1, "HEP06", 1, 9, 6, 1, 3, 1, 1, 5, 4, 5, 15, 1}, + {"HE", 20, 18, 2, "HEP06", 1, 8, 7, 1, 3, 5, 1, 5, 4, 6, 15, 1}, + {"HE", 20, 18, 3, "HEP06", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 19, 1, "HEP06", 2, 9, 6, 1, 3, 1, 1, 5, 4, 7, 15, 1}, + {"HE", 20, 19, 2, "HEP06", 2, 8, 7, 1, 3, 5, 1, 5, 4, 8, 15, 1}, + {"HE", 20, 19, 3, "HEP06", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 20, 1, "HEP06", 3, 9, 6, 1, 3, 1, 1, 5, 5, 5, 15, 0}, + {"HE", 20, 20, 2, "HEP06", 3, 8, 7, 1, 3, 5, 1, 5, 5, 6, 15, 0}, + {"HE", 20, 20, 3, "HEP06", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 21, 1, "HEP06", 4, 9, 6, 1, 3, 1, 1, 5, 5, 7, 15, 0}, + {"HE", 20, 21, 2, "HEP06", 4, 8, 7, 1, 3, 5, 1, 5, 5, 8, 15, 0}, + {"HE", 20, 21, 3, "HEP07", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 22, 1, "HEP07", 1, 9, 6, 1, 3, 1, 1, 5, 10, 5, 18, 1}, + {"HE", 20, 22, 2, "HEP07", 1, 8, 7, 1, 3, 5, 1, 5, 10, 6, 18, 1}, + {"HE", 20, 22, 3, "HEP07", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 23, 1, "HEP07", 2, 9, 6, 1, 3, 1, 1, 5, 10, 7, 18, 1}, + {"HE", 20, 23, 2, "HEP07", 2, 8, 7, 1, 3, 5, 1, 5, 10, 8, 18, 1}, + {"HE", 20, 23, 3, "HEP07", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 24, 1, "HEP07", 3, 9, 6, 1, 3, 1, 1, 5, 11, 5, 18, 0}, + {"HE", 20, 24, 2, "HEP07", 3, 8, 7, 1, 3, 5, 1, 5, 11, 6, 18, 0}, + {"HE", 20, 24, 3, "HEP07", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 25, 1, "HEP07", 4, 9, 6, 1, 3, 1, 1, 5, 11, 7, 18, 0}, + {"HE", 20, 25, 2, "HEP07", 4, 8, 7, 1, 3, 5, 1, 5, 11, 8, 18, 0}, + {"HE", 20, 25, 3, "HEP08", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 26, 1, "HEP08", 1, 9, 6, 1, 3, 1, 5, 7, 4, 5, 15, 1}, + {"HE", 20, 26, 2, "HEP08", 1, 8, 7, 1, 3, 5, 5, 7, 4, 6, 15, 1}, + {"HE", 20, 26, 3, "HEP08", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 27, 1, "HEP08", 2, 9, 6, 1, 3, 1, 5, 7, 4, 7, 15, 1}, + {"HE", 20, 27, 2, "HEP08", 2, 8, 7, 1, 3, 5, 5, 7, 4, 8, 15, 1}, + {"HE", 20, 27, 3, "HEP08", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 28, 1, "HEP08", 3, 9, 6, 1, 3, 1, 5, 7, 5, 5, 15, 0}, + {"HE", 20, 28, 2, "HEP08", 3, 8, 7, 1, 3, 5, 5, 7, 5, 6, 15, 0}, + {"HE", 20, 28, 3, "HEP08", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 29, 1, "HEP08", 4, 9, 6, 1, 3, 1, 5, 7, 5, 7, 15, 0}, + {"HE", 20, 29, 2, "HEP08", 4, 8, 7, 1, 3, 5, 5, 7, 5, 8, 15, 0}, + {"HE", 20, 29, 3, "HEP09", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 30, 1, "HEP09", 1, 9, 6, 1, 3, 1, 5, 7, 10, 5, 18, 1}, + {"HE", 20, 30, 2, "HEP09", 1, 8, 7, 1, 3, 5, 5, 7, 10, 6, 18, 1}, + {"HE", 20, 30, 3, "HEP09", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 31, 1, "HEP09", 2, 9, 6, 1, 3, 1, 5, 7, 10, 7, 18, 1}, + {"HE", 20, 31, 2, "HEP09", 2, 8, 7, 1, 3, 5, 5, 7, 10, 8, 18, 1}, + {"HE", 20, 31, 3, "HEP09", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 32, 1, "HEP09", 3, 9, 6, 1, 3, 1, 5, 7, 11, 5, 18, 0}, + {"HE", 20, 32, 2, "HEP09", 3, 8, 7, 1, 3, 5, 5, 7, 11, 6, 18, 0}, + {"HE", 20, 32, 3, "HEP09", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 33, 1, "HEP09", 4, 9, 6, 1, 3, 1, 5, 7, 11, 7, 18, 0}, + {"HE", 20, 33, 2, "HEP09", 4, 8, 7, 1, 3, 5, 5, 7, 11, 8, 18, 0}, + {"HE", 20, 33, 3, "HEP10", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 34, 1, "HEP10", 1, 9, 6, 1, 3, 1, 11, 9, 4, 5, 15, 1}, + {"HE", 20, 34, 2, "HEP10", 1, 8, 7, 1, 3, 5, 11, 9, 4, 6, 15, 1}, + {"HE", 20, 34, 3, "HEP10", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 35, 1, "HEP10", 2, 9, 6, 1, 3, 1, 11, 9, 4, 7, 15, 1}, + {"HE", 20, 35, 2, "HEP10", 2, 8, 7, 1, 3, 5, 11, 9, 4, 8, 15, 1}, + {"HE", 20, 35, 3, "HEP10", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 36, 1, "HEP10", 3, 9, 6, 1, 3, 1, 11, 9, 5, 5, 15, 0}, + {"HE", 20, 36, 2, "HEP10", 3, 8, 7, 1, 3, 5, 11, 9, 5, 6, 15, 0}, + {"HE", 20, 36, 3, "HEP10", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 37, 1, "HEP10", 4, 9, 6, 1, 3, 1, 11, 9, 5, 7, 15, 0}, + {"HE", 20, 37, 2, "HEP10", 4, 8, 7, 1, 3, 5, 11, 9, 5, 8, 15, 0}, + {"HE", 20, 37, 3, "HEP11", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 38, 1, "HEP11", 1, 9, 6, 1, 3, 1, 11, 9, 10, 5, 18, 1}, + {"HE", 20, 38, 2, "HEP11", 1, 8, 7, 1, 3, 5, 11, 9, 10, 6, 18, 1}, + {"HE", 20, 38, 3, "HEP11", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 39, 1, "HEP11", 2, 9, 6, 1, 3, 1, 11, 9, 10, 7, 18, 1}, + {"HE", 20, 39, 2, "HEP11", 2, 8, 7, 1, 3, 5, 11, 9, 10, 8, 18, 1}, + {"HE", 20, 39, 3, "HEP11", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 40, 1, "HEP11", 3, 9, 6, 1, 3, 1, 11, 9, 11, 5, 18, 0}, + {"HE", 20, 40, 2, "HEP11", 3, 8, 7, 1, 3, 5, 11, 9, 11, 6, 18, 0}, + {"HE", 20, 40, 3, "HEP11", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 41, 1, "HEP11", 4, 9, 6, 1, 3, 1, 11, 9, 11, 7, 18, 0}, + {"HE", 20, 41, 2, "HEP11", 4, 8, 7, 1, 3, 5, 11, 9, 11, 8, 18, 0}, + {"HE", 20, 41, 3, "HEP12", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 42, 1, "HEP12", 1, 9, 6, 1, 3, 1, 15, 11, 4, 5, 15, 1}, + {"HE", 20, 42, 2, "HEP12", 1, 8, 7, 1, 3, 5, 15, 11, 4, 6, 15, 1}, + {"HE", 20, 42, 3, "HEP12", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 43, 1, "HEP12", 2, 9, 6, 1, 3, 1, 15, 11, 4, 7, 15, 1}, + {"HE", 20, 43, 2, "HEP12", 2, 8, 7, 1, 3, 5, 15, 11, 4, 8, 15, 1}, + {"HE", 20, 43, 3, "HEP12", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 44, 1, "HEP12", 3, 9, 6, 1, 3, 1, 15, 11, 5, 5, 15, 0}, + {"HE", 20, 44, 2, "HEP12", 3, 8, 7, 1, 3, 5, 15, 11, 5, 6, 15, 0}, + {"HE", 20, 44, 3, "HEP12", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 45, 1, "HEP12", 4, 9, 6, 1, 3, 1, 15, 11, 5, 7, 15, 0}, + {"HE", 20, 45, 2, "HEP12", 4, 8, 7, 1, 3, 5, 15, 11, 5, 8, 15, 0}, + {"HE", 20, 45, 3, "HEP13", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 46, 1, "HEP13", 1, 9, 6, 1, 3, 1, 15, 11, 10, 5, 18, 1}, + {"HE", 20, 46, 2, "HEP13", 1, 8, 7, 1, 3, 5, 15, 11, 10, 6, 18, 1}, + {"HE", 20, 46, 3, "HEP13", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 47, 1, "HEP13", 2, 9, 6, 1, 3, 1, 15, 11, 10, 7, 18, 1}, + {"HE", 20, 47, 2, "HEP13", 2, 8, 7, 1, 3, 5, 15, 11, 10, 8, 18, 1}, + {"HE", 20, 47, 3, "HEP13", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 48, 1, "HEP13", 3, 9, 6, 1, 3, 1, 15, 11, 11, 5, 18, 0}, + {"HE", 20, 48, 2, "HEP13", 3, 8, 7, 1, 3, 5, 15, 11, 11, 6, 18, 0}, + {"HE", 20, 48, 3, "HEP13", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 49, 1, "HEP13", 4, 9, 6, 1, 3, 1, 15, 11, 11, 7, 18, 0}, + {"HE", 20, 49, 2, "HEP13", 4, 8, 7, 1, 3, 5, 15, 11, 11, 8, 18, 0}, + {"HE", 20, 49, 3, "HEP14", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 50, 1, "HEP14", 1, 9, 6, 1, 3, 1, 17, 13, 4, 5, 15, 1}, + {"HE", 20, 50, 2, "HEP14", 1, 8, 7, 1, 3, 5, 17, 13, 4, 6, 15, 1}, + {"HE", 20, 50, 3, "HEP14", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 51, 1, "HEP14", 2, 9, 6, 1, 3, 1, 17, 13, 4, 7, 15, 1}, + {"HE", 20, 51, 2, "HEP14", 2, 8, 7, 1, 3, 5, 17, 13, 4, 8, 15, 1}, + {"HE", 20, 51, 3, "HEP14", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 52, 1, "HEP14", 3, 9, 6, 1, 3, 1, 17, 13, 5, 5, 15, 0}, + {"HE", 20, 52, 2, "HEP14", 3, 8, 7, 1, 3, 5, 17, 13, 5, 6, 15, 0}, + {"HE", 20, 52, 3, "HEP14", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 53, 1, "HEP14", 4, 9, 6, 1, 3, 1, 17, 13, 5, 7, 15, 0}, + {"HE", 20, 53, 2, "HEP14", 4, 8, 7, 1, 3, 5, 17, 13, 5, 8, 15, 0}, + {"HE", 20, 53, 3, "HEP15", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 54, 1, "HEP15", 1, 9, 6, 1, 3, 1, 17, 13, 10, 5, 18, 1}, + {"HE", 20, 54, 2, "HEP15", 1, 8, 7, 1, 3, 5, 17, 13, 10, 6, 18, 1}, + {"HE", 20, 54, 3, "HEP15", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 55, 1, "HEP15", 2, 9, 6, 1, 3, 1, 17, 13, 10, 7, 18, 1}, + {"HE", 20, 55, 2, "HEP15", 2, 8, 7, 1, 3, 5, 17, 13, 10, 8, 18, 1}, + {"HE", 20, 55, 3, "HEP15", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 56, 1, "HEP15", 3, 9, 6, 1, 3, 1, 17, 13, 11, 5, 18, 0}, + {"HE", 20, 56, 2, "HEP15", 3, 8, 7, 1, 3, 5, 17, 13, 11, 6, 18, 0}, + {"HE", 20, 56, 3, "HEP15", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 57, 1, "HEP15", 4, 9, 6, 1, 3, 1, 17, 13, 11, 7, 18, 0}, + {"HE", 20, 57, 2, "HEP15", 4, 8, 7, 1, 3, 5, 17, 13, 11, 8, 18, 0}, + {"HE", 20, 57, 3, "HEP16", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 58, 1, "HEP16", 1, 9, 6, 1, 3, 1, 14, 15, 4, 5, 15, 1}, + {"HE", 20, 58, 2, "HEP16", 1, 8, 7, 1, 3, 5, 14, 15, 4, 6, 15, 1}, + {"HE", 20, 58, 3, "HEP16", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 59, 1, "HEP16", 2, 9, 6, 1, 3, 1, 14, 15, 4, 7, 15, 1}, + {"HE", 20, 59, 2, "HEP16", 2, 8, 7, 1, 3, 5, 14, 15, 4, 8, 15, 1}, + {"HE", 20, 59, 3, "HEP16", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 60, 1, "HEP16", 3, 9, 6, 1, 3, 1, 14, 15, 5, 5, 15, 0}, + {"HE", 20, 60, 2, "HEP16", 3, 8, 7, 1, 3, 5, 14, 15, 5, 6, 15, 0}, + {"HE", 20, 60, 3, "HEP16", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 61, 1, "HEP16", 4, 9, 6, 1, 3, 1, 14, 15, 5, 7, 15, 0}, + {"HE", 20, 61, 2, "HEP16", 4, 8, 7, 1, 3, 5, 14, 15, 5, 8, 15, 0}, + {"HE", 20, 61, 3, "HEP17", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 62, 1, "HEP17", 1, 9, 6, 1, 3, 1, 14, 15, 10, 5, 18, 1}, + {"HE", 20, 62, 2, "HEP17", 1, 8, 7, 1, 3, 5, 14, 15, 10, 6, 18, 1}, + {"HE", 20, 62, 3, "HEP17", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 63, 1, "HEP17", 2, 9, 6, 1, 3, 1, 14, 15, 10, 7, 18, 1}, + {"HE", 20, 63, 2, "HEP17", 2, 8, 7, 1, 3, 5, 14, 15, 10, 8, 18, 1}, + {"HE", 20, 63, 3, "HEP17", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 64, 1, "HEP17", 3, 9, 6, 1, 3, 1, 14, 15, 11, 5, 18, 0}, + {"HE", 20, 64, 2, "HEP17", 3, 8, 7, 1, 3, 5, 14, 15, 11, 6, 18, 0}, + {"HE", 20, 64, 3, "HEP17", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 65, 1, "HEP17", 4, 9, 6, 1, 3, 1, 14, 15, 11, 7, 18, 0}, + {"HE", 20, 65, 2, "HEP17", 4, 8, 7, 1, 3, 5, 14, 15, 11, 8, 18, 0}, + {"HE", 20, 65, 3, "HEP18", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 66, 1, "HEP18", 1, 9, 6, 1, 3, 1, 10, 17, 4, 5, 15, 1}, + {"HE", 20, 66, 2, "HEP18", 1, 8, 7, 1, 3, 5, 10, 17, 4, 6, 15, 1}, + {"HE", 20, 66, 3, "HEP18", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 67, 1, "HEP18", 2, 9, 6, 1, 3, 1, 10, 17, 4, 7, 15, 1}, + {"HE", 20, 67, 2, "HEP18", 2, 8, 7, 1, 3, 5, 10, 17, 4, 8, 15, 1}, + {"HE", 20, 67, 3, "HEP18", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 68, 1, "HEP18", 3, 9, 6, 1, 3, 1, 10, 17, 5, 5, 15, 0}, + {"HE", 20, 68, 2, "HEP18", 3, 8, 7, 1, 3, 5, 10, 17, 5, 6, 15, 0}, + {"HE", 20, 68, 3, "HEP18", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 69, 1, "HEP18", 4, 9, 6, 1, 3, 1, 10, 17, 5, 7, 15, 0}, + {"HE", 20, 69, 2, "HEP18", 4, 8, 7, 1, 3, 5, 10, 17, 5, 8, 15, 0}, + {"HE", 20, 69, 3, "HEP01", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 70, 1, "HEP01", 1, 9, 6, 1, 3, 1, 10, 17, 10, 5, 18, 1}, + {"HE", 20, 70, 2, "HEP01", 1, 8, 7, 1, 3, 5, 10, 17, 10, 6, 18, 1}, + {"HE", 20, 70, 3, "HEP01", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 20, 71, 1, "HEP01", 2, 9, 6, 1, 3, 1, 10, 17, 10, 7, 18, 1}, + {"HE", 20, 71, 2, "HEP01", 2, 8, 7, 1, 3, 5, 10, 17, 10, 8, 18, 1}, + {"HE", 20, 71, 3, "HEM01", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 0, 1, "HEP01", 3, 4, 7, 2, 3, 3, 10, 17, 11, 6, 18, 0}, + {"HE", 21, 0, 2, "HEP01", 3, 1, 6, 2, 3, 2, 10, 17, 11, 5, 18, 0}, + {"HE", 21, 0, 3, "HEP01", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 1, 1, "HEP02", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 1, 2, "HEP02", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 1, 3, "HEP02", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 2, 1, "HEP02", 2, 13, 7, 2, 3, 3, 4, 1, 4, 8, 15, 1}, + {"HE", 21, 2, 2, "HEP02", 2, 17, 6, 2, 3, 2, 4, 1, 4, 7, 15, 1}, + {"HE", 21, 2, 3, "HEP02", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 3, 1, "HEP02", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 3, 2, "HEP02", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 3, 3, "HEP02", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 4, 1, "HEP02", 3, 4, 7, 2, 3, 3, 4, 1, 5, 6, 15, 0}, + {"HE", 21, 4, 2, "HEP02", 3, 1, 6, 2, 3, 2, 4, 1, 5, 5, 15, 0}, + {"HE", 21, 4, 3, "HEP02", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 5, 1, "HEP03", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 5, 2, "HEP03", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 5, 3, "HEP03", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 6, 1, "HEP03", 2, 13, 7, 2, 3, 3, 4, 1, 10, 8, 18, 1}, + {"HE", 21, 6, 2, "HEP03", 2, 17, 6, 2, 3, 2, 4, 1, 10, 7, 18, 1}, + {"HE", 21, 6, 3, "HEP03", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 7, 1, "HEP03", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 7, 2, "HEP03", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 7, 3, "HEP03", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 8, 1, "HEP03", 3, 4, 7, 2, 3, 3, 4, 1, 11, 6, 18, 0}, + {"HE", 21, 8, 2, "HEP03", 3, 1, 6, 2, 3, 2, 4, 1, 11, 5, 18, 0}, + {"HE", 21, 8, 3, "HEP03", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 9, 1, "HEP04", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 9, 2, "HEP04", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 9, 3, "HEP04", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 10, 1, "HEP04", 2, 13, 7, 2, 3, 3, 0, 3, 4, 8, 15, 1}, + {"HE", 21, 10, 2, "HEP04", 2, 17, 6, 2, 3, 2, 0, 3, 4, 7, 15, 1}, + {"HE", 21, 10, 3, "HEP04", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 11, 1, "HEP04", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 11, 2, "HEP04", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 11, 3, "HEP04", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 12, 1, "HEP04", 3, 4, 7, 2, 3, 3, 0, 3, 5, 6, 15, 0}, + {"HE", 21, 12, 2, "HEP04", 3, 1, 6, 2, 3, 2, 0, 3, 5, 5, 15, 0}, + {"HE", 21, 12, 3, "HEP04", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 13, 1, "HEP05", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 13, 2, "HEP05", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 13, 3, "HEP05", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 14, 1, "HEP05", 2, 13, 7, 2, 3, 3, 0, 3, 10, 8, 18, 1}, + {"HE", 21, 14, 2, "HEP05", 2, 17, 6, 2, 3, 2, 0, 3, 10, 7, 18, 1}, + {"HE", 21, 14, 3, "HEP05", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 15, 1, "HEP05", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 15, 2, "HEP05", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 15, 3, "HEP05", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 16, 1, "HEP05", 3, 4, 7, 2, 3, 3, 0, 3, 11, 6, 18, 0}, + {"HE", 21, 16, 2, "HEP05", 3, 1, 6, 2, 3, 2, 0, 3, 11, 5, 18, 0}, + {"HE", 21, 16, 3, "HEP05", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 17, 1, "HEP06", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 17, 2, "HEP06", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 17, 3, "HEP06", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 18, 1, "HEP06", 2, 13, 7, 2, 3, 3, 1, 5, 4, 8, 15, 1}, + {"HE", 21, 18, 2, "HEP06", 2, 17, 6, 2, 3, 2, 1, 5, 4, 7, 15, 1}, + {"HE", 21, 18, 3, "HEP06", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 19, 1, "HEP06", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 19, 2, "HEP06", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 19, 3, "HEP06", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 20, 1, "HEP06", 3, 4, 7, 2, 3, 3, 1, 5, 5, 6, 15, 0}, + {"HE", 21, 20, 2, "HEP06", 3, 1, 6, 2, 3, 2, 1, 5, 5, 5, 15, 0}, + {"HE", 21, 20, 3, "HEP06", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 21, 1, "HEP07", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 21, 2, "HEP07", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 21, 3, "HEP07", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 22, 1, "HEP07", 2, 13, 7, 2, 3, 3, 1, 5, 10, 8, 18, 1}, + {"HE", 21, 22, 2, "HEP07", 2, 17, 6, 2, 3, 2, 1, 5, 10, 7, 18, 1}, + {"HE", 21, 22, 3, "HEP07", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 23, 1, "HEP07", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 23, 2, "HEP07", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 23, 3, "HEP07", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 24, 1, "HEP07", 3, 4, 7, 2, 3, 3, 1, 5, 11, 6, 18, 0}, + {"HE", 21, 24, 2, "HEP07", 3, 1, 6, 2, 3, 2, 1, 5, 11, 5, 18, 0}, + {"HE", 21, 24, 3, "HEP07", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 25, 1, "HEP08", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 25, 2, "HEP08", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 25, 3, "HEP08", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 26, 1, "HEP08", 2, 13, 7, 2, 3, 3, 5, 7, 4, 8, 15, 1}, + {"HE", 21, 26, 2, "HEP08", 2, 17, 6, 2, 3, 2, 5, 7, 4, 7, 15, 1}, + {"HE", 21, 26, 3, "HEP08", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 27, 1, "HEP08", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 27, 2, "HEP08", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 27, 3, "HEP08", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 28, 1, "HEP08", 3, 4, 7, 2, 3, 3, 5, 7, 5, 6, 15, 0}, + {"HE", 21, 28, 2, "HEP08", 3, 1, 6, 2, 3, 2, 5, 7, 5, 5, 15, 0}, + {"HE", 21, 28, 3, "HEP08", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 29, 1, "HEP09", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 29, 2, "HEP09", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 29, 3, "HEP09", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 30, 1, "HEP09", 2, 13, 7, 2, 3, 3, 5, 7, 10, 8, 18, 1}, + {"HE", 21, 30, 2, "HEP09", 2, 17, 6, 2, 3, 2, 5, 7, 10, 7, 18, 1}, + {"HE", 21, 30, 3, "HEP09", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 31, 1, "HEP09", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 31, 2, "HEP09", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 31, 3, "HEP09", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 32, 1, "HEP09", 3, 4, 7, 2, 3, 3, 5, 7, 11, 6, 18, 0}, + {"HE", 21, 32, 2, "HEP09", 3, 1, 6, 2, 3, 2, 5, 7, 11, 5, 18, 0}, + {"HE", 21, 32, 3, "HEP09", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 33, 1, "HEP10", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 33, 2, "HEP10", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 33, 3, "HEP10", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 34, 1, "HEP10", 2, 13, 7, 2, 3, 3, 11, 9, 4, 8, 15, 1}, + {"HE", 21, 34, 2, "HEP10", 2, 17, 6, 2, 3, 2, 11, 9, 4, 7, 15, 1}, + {"HE", 21, 34, 3, "HEP10", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 35, 1, "HEP10", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 35, 2, "HEP10", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 35, 3, "HEP10", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 36, 1, "HEP10", 3, 4, 7, 2, 3, 3, 11, 9, 5, 6, 15, 0}, + {"HE", 21, 36, 2, "HEP10", 3, 1, 6, 2, 3, 2, 11, 9, 5, 5, 15, 0}, + {"HE", 21, 36, 3, "HEP10", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 37, 1, "HEP11", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 37, 2, "HEP11", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 37, 3, "HEP11", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 38, 1, "HEP11", 2, 13, 7, 2, 3, 3, 11, 9, 10, 8, 18, 1}, + {"HE", 21, 38, 2, "HEP11", 2, 17, 6, 2, 3, 2, 11, 9, 10, 7, 18, 1}, + {"HE", 21, 38, 3, "HEP11", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 39, 1, "HEP11", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 39, 2, "HEP11", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 39, 3, "HEP11", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 40, 1, "HEP11", 3, 4, 7, 2, 3, 3, 11, 9, 11, 6, 18, 0}, + {"HE", 21, 40, 2, "HEP11", 3, 1, 6, 2, 3, 2, 11, 9, 11, 5, 18, 0}, + {"HE", 21, 40, 3, "HEP11", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 41, 1, "HEP12", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 41, 2, "HEP12", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 41, 3, "HEP12", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 42, 1, "HEP12", 2, 13, 7, 2, 3, 3, 15, 11, 4, 8, 15, 1}, + {"HE", 21, 42, 2, "HEP12", 2, 17, 6, 2, 3, 2, 15, 11, 4, 7, 15, 1}, + {"HE", 21, 42, 3, "HEP12", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 43, 1, "HEP12", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 43, 2, "HEP12", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 43, 3, "HEP12", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 44, 1, "HEP12", 3, 4, 7, 2, 3, 3, 15, 11, 5, 6, 15, 0}, + {"HE", 21, 44, 2, "HEP12", 3, 1, 6, 2, 3, 2, 15, 11, 5, 5, 15, 0}, + {"HE", 21, 44, 3, "HEP12", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 45, 1, "HEP13", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 45, 2, "HEP13", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 45, 3, "HEP13", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 46, 1, "HEP13", 2, 13, 7, 2, 3, 3, 15, 11, 10, 8, 18, 1}, + {"HE", 21, 46, 2, "HEP13", 2, 17, 6, 2, 3, 2, 15, 11, 10, 7, 18, 1}, + {"HE", 21, 46, 3, "HEP13", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 47, 1, "HEP13", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 47, 2, "HEP13", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 47, 3, "HEP13", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 48, 1, "HEP13", 3, 4, 7, 2, 3, 3, 15, 11, 11, 6, 18, 0}, + {"HE", 21, 48, 2, "HEP13", 3, 1, 6, 2, 3, 2, 15, 11, 11, 5, 18, 0}, + {"HE", 21, 48, 3, "HEP13", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 49, 1, "HEP14", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 49, 2, "HEP14", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 49, 3, "HEP14", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 50, 1, "HEP14", 2, 13, 7, 2, 3, 3, 17, 13, 4, 8, 15, 1}, + {"HE", 21, 50, 2, "HEP14", 2, 17, 6, 2, 3, 2, 17, 13, 4, 7, 15, 1}, + {"HE", 21, 50, 3, "HEP14", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 51, 1, "HEP14", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 51, 2, "HEP14", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 51, 3, "HEP14", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 52, 1, "HEP14", 3, 4, 7, 2, 3, 3, 17, 13, 5, 6, 15, 0}, + {"HE", 21, 52, 2, "HEP14", 3, 1, 6, 2, 3, 2, 17, 13, 5, 5, 15, 0}, + {"HE", 21, 52, 3, "HEP14", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 53, 1, "HEP15", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 53, 2, "HEP15", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 53, 3, "HEP15", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 54, 1, "HEP15", 2, 13, 7, 2, 3, 3, 17, 13, 10, 8, 18, 1}, + {"HE", 21, 54, 2, "HEP15", 2, 17, 6, 2, 3, 2, 17, 13, 10, 7, 18, 1}, + {"HE", 21, 54, 3, "HEP15", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 55, 1, "HEP15", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 55, 2, "HEP15", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 55, 3, "HEP15", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 56, 1, "HEP15", 3, 4, 7, 2, 3, 3, 17, 13, 11, 6, 18, 0}, + {"HE", 21, 56, 2, "HEP15", 3, 1, 6, 2, 3, 2, 17, 13, 11, 5, 18, 0}, + {"HE", 21, 56, 3, "HEP15", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 57, 1, "HEP16", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 57, 2, "HEP16", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 57, 3, "HEP16", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 58, 1, "HEP16", 2, 13, 7, 2, 3, 3, 14, 15, 4, 8, 15, 1}, + {"HE", 21, 58, 2, "HEP16", 2, 17, 6, 2, 3, 2, 14, 15, 4, 7, 15, 1}, + {"HE", 21, 58, 3, "HEP16", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 59, 1, "HEP16", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 59, 2, "HEP16", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 59, 3, "HEP16", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 60, 1, "HEP16", 3, 4, 7, 2, 3, 3, 14, 15, 5, 6, 15, 0}, + {"HE", 21, 60, 2, "HEP16", 3, 1, 6, 2, 3, 2, 14, 15, 5, 5, 15, 0}, + {"HE", 21, 60, 3, "HEP16", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 61, 1, "HEP17", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 61, 2, "HEP17", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 61, 3, "HEP17", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 62, 1, "HEP17", 2, 13, 7, 2, 3, 3, 14, 15, 10, 8, 18, 1}, + {"HE", 21, 62, 2, "HEP17", 2, 17, 6, 2, 3, 2, 14, 15, 10, 7, 18, 1}, + {"HE", 21, 62, 3, "HEP17", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 63, 1, "HEP17", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 63, 2, "HEP17", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 63, 3, "HEP17", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 64, 1, "HEP17", 3, 4, 7, 2, 3, 3, 14, 15, 11, 6, 18, 0}, + {"HE", 21, 64, 2, "HEP17", 3, 1, 6, 2, 3, 2, 14, 15, 11, 5, 18, 0}, + {"HE", 21, 64, 3, "HEP17", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 65, 1, "HEP18", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 65, 2, "HEP18", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 65, 3, "HEP18", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 66, 1, "HEP18", 2, 13, 7, 2, 3, 3, 10, 17, 4, 8, 15, 1}, + {"HE", 21, 66, 2, "HEP18", 2, 17, 6, 2, 3, 2, 10, 17, 4, 7, 15, 1}, + {"HE", 21, 66, 3, "HEP18", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 67, 1, "HEP18", 3, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 67, 2, "HEP18", 3, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 67, 3, "HEP18", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 68, 1, "HEP18", 3, 4, 7, 2, 3, 3, 10, 17, 5, 6, 15, 0}, + {"HE", 21, 68, 2, "HEP18", 3, 1, 6, 2, 3, 2, 10, 17, 5, 5, 15, 0}, + {"HE", 21, 68, 3, "HEP18", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 69, 1, "HEP01", 1, 16, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 69, 2, "HEP01", 1, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 69, 3, "HEP01", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 70, 1, "HEP01", 2, 13, 7, 2, 3, 3, 10, 17, 10, 8, 18, 1}, + {"HE", 21, 70, 2, "HEP01", 2, 17, 6, 2, 3, 2, 10, 17, 10, 7, 18, 1}, + {"HE", 21, 70, 3, "HEP01", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 71, 1, "HEM01", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 71, 2, "HEM01", 2, 12, 2, 0, 1, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 21, 71, 3, "HEM01", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 0, 1, "HEP01", 4, 13, 7, 2, 3, 3, 10, 17, 11, 8, 18, 0}, + {"HE", 22, 0, 2, "HEP01", 4, 17, 6, 2, 3, 2, 10, 17, 11, 7, 18, 0}, + {"HE", 22, 0, 3, "HEP01", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 1, 1, "HEP02", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 1, 2, "HEP02", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 1, 3, "HEP02", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 2, 1, "HEP02", 1, 4, 7, 2, 3, 3, 4, 1, 4, 6, 15, 1}, + {"HE", 22, 2, 2, "HEP02", 1, 1, 6, 2, 3, 2, 4, 1, 4, 5, 15, 1}, + {"HE", 22, 2, 3, "HEP02", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 3, 1, "HEP02", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 3, 2, "HEP02", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 3, 3, "HEP02", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 4, 1, "HEP02", 4, 13, 7, 2, 3, 3, 4, 1, 5, 8, 15, 0}, + {"HE", 22, 4, 2, "HEP02", 4, 17, 6, 2, 3, 2, 4, 1, 5, 7, 15, 0}, + {"HE", 22, 4, 3, "HEP02", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 5, 1, "HEP03", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 5, 2, "HEP03", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 5, 3, "HEP03", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 6, 1, "HEP03", 1, 4, 7, 2, 3, 3, 4, 1, 10, 6, 18, 1}, + {"HE", 22, 6, 2, "HEP03", 1, 1, 6, 2, 3, 2, 4, 1, 10, 5, 18, 1}, + {"HE", 22, 6, 3, "HEP03", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 7, 1, "HEP03", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 7, 2, "HEP03", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 7, 3, "HEP03", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 8, 1, "HEP03", 4, 13, 7, 2, 3, 3, 4, 1, 11, 8, 18, 0}, + {"HE", 22, 8, 2, "HEP03", 4, 17, 6, 2, 3, 2, 4, 1, 11, 7, 18, 0}, + {"HE", 22, 8, 3, "HEP03", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 9, 1, "HEP04", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 9, 2, "HEP04", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 9, 3, "HEP04", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 10, 1, "HEP04", 1, 4, 7, 2, 3, 3, 0, 3, 4, 6, 15, 1}, + {"HE", 22, 10, 2, "HEP04", 1, 1, 6, 2, 3, 2, 0, 3, 4, 5, 15, 1}, + {"HE", 22, 10, 3, "HEP04", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 11, 1, "HEP04", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 11, 2, "HEP04", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 11, 3, "HEP04", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 12, 1, "HEP04", 4, 13, 7, 2, 3, 3, 0, 3, 5, 8, 15, 0}, + {"HE", 22, 12, 2, "HEP04", 4, 17, 6, 2, 3, 2, 0, 3, 5, 7, 15, 0}, + {"HE", 22, 12, 3, "HEP04", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 13, 1, "HEP05", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 13, 2, "HEP05", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 13, 3, "HEP05", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 14, 1, "HEP05", 1, 4, 7, 2, 3, 3, 0, 3, 10, 6, 18, 1}, + {"HE", 22, 14, 2, "HEP05", 1, 1, 6, 2, 3, 2, 0, 3, 10, 5, 18, 1}, + {"HE", 22, 14, 3, "HEP05", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 15, 1, "HEP05", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 15, 2, "HEP05", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 15, 3, "HEP05", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 16, 1, "HEP05", 4, 13, 7, 2, 3, 3, 0, 3, 11, 8, 18, 0}, + {"HE", 22, 16, 2, "HEP05", 4, 17, 6, 2, 3, 2, 0, 3, 11, 7, 18, 0}, + {"HE", 22, 16, 3, "HEP05", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 17, 1, "HEP06", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 17, 2, "HEP06", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 17, 3, "HEP06", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 18, 1, "HEP06", 1, 4, 7, 2, 3, 3, 1, 5, 4, 6, 15, 1}, + {"HE", 22, 18, 2, "HEP06", 1, 1, 6, 2, 3, 2, 1, 5, 4, 5, 15, 1}, + {"HE", 22, 18, 3, "HEP06", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 19, 1, "HEP06", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 19, 2, "HEP06", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 19, 3, "HEP06", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 20, 1, "HEP06", 4, 13, 7, 2, 3, 3, 1, 5, 5, 8, 15, 0}, + {"HE", 22, 20, 2, "HEP06", 4, 17, 6, 2, 3, 2, 1, 5, 5, 7, 15, 0}, + {"HE", 22, 20, 3, "HEP06", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 21, 1, "HEP07", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 21, 2, "HEP07", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 21, 3, "HEP07", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 22, 1, "HEP07", 1, 4, 7, 2, 3, 3, 1, 5, 10, 6, 18, 1}, + {"HE", 22, 22, 2, "HEP07", 1, 1, 6, 2, 3, 2, 1, 5, 10, 5, 18, 1}, + {"HE", 22, 22, 3, "HEP07", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 23, 1, "HEP07", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 23, 2, "HEP07", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 23, 3, "HEP07", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 24, 1, "HEP07", 4, 13, 7, 2, 3, 3, 1, 5, 11, 8, 18, 0}, + {"HE", 22, 24, 2, "HEP07", 4, 17, 6, 2, 3, 2, 1, 5, 11, 7, 18, 0}, + {"HE", 22, 24, 3, "HEP07", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 25, 1, "HEP08", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 25, 2, "HEP08", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 25, 3, "HEP08", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 26, 1, "HEP08", 1, 4, 7, 2, 3, 3, 5, 7, 4, 6, 15, 1}, + {"HE", 22, 26, 2, "HEP08", 1, 1, 6, 2, 3, 2, 5, 7, 4, 5, 15, 1}, + {"HE", 22, 26, 3, "HEP08", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 27, 1, "HEP08", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 27, 2, "HEP08", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 27, 3, "HEP08", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 28, 1, "HEP08", 4, 13, 7, 2, 3, 3, 5, 7, 5, 8, 15, 0}, + {"HE", 22, 28, 2, "HEP08", 4, 17, 6, 2, 3, 2, 5, 7, 5, 7, 15, 0}, + {"HE", 22, 28, 3, "HEP08", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 29, 1, "HEP09", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 29, 2, "HEP09", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 29, 3, "HEP09", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 30, 1, "HEP09", 1, 4, 7, 2, 3, 3, 5, 7, 10, 6, 18, 1}, + {"HE", 22, 30, 2, "HEP09", 1, 1, 6, 2, 3, 2, 5, 7, 10, 5, 18, 1}, + {"HE", 22, 30, 3, "HEP09", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 31, 1, "HEP09", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 31, 2, "HEP09", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 31, 3, "HEP09", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 32, 1, "HEP09", 4, 13, 7, 2, 3, 3, 5, 7, 11, 8, 18, 0}, + {"HE", 22, 32, 2, "HEP09", 4, 17, 6, 2, 3, 2, 5, 7, 11, 7, 18, 0}, + {"HE", 22, 32, 3, "HEP09", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 33, 1, "HEP10", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 33, 2, "HEP10", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 33, 3, "HEP10", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 34, 1, "HEP10", 1, 4, 7, 2, 3, 3, 11, 9, 4, 6, 15, 1}, + {"HE", 22, 34, 2, "HEP10", 1, 1, 6, 2, 3, 2, 11, 9, 4, 5, 15, 1}, + {"HE", 22, 34, 3, "HEP10", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 35, 1, "HEP10", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 35, 2, "HEP10", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 35, 3, "HEP10", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 36, 1, "HEP10", 4, 13, 7, 2, 3, 3, 11, 9, 5, 8, 15, 0}, + {"HE", 22, 36, 2, "HEP10", 4, 17, 6, 2, 3, 2, 11, 9, 5, 7, 15, 0}, + {"HE", 22, 36, 3, "HEP10", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 37, 1, "HEP11", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 37, 2, "HEP11", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 37, 3, "HEP11", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 38, 1, "HEP11", 1, 4, 7, 2, 3, 3, 11, 9, 10, 6, 18, 1}, + {"HE", 22, 38, 2, "HEP11", 1, 1, 6, 2, 3, 2, 11, 9, 10, 5, 18, 1}, + {"HE", 22, 38, 3, "HEP11", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 39, 1, "HEP11", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 39, 2, "HEP11", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 39, 3, "HEP11", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 40, 1, "HEP11", 4, 13, 7, 2, 3, 3, 11, 9, 11, 8, 18, 0}, + {"HE", 22, 40, 2, "HEP11", 4, 17, 6, 2, 3, 2, 11, 9, 11, 7, 18, 0}, + {"HE", 22, 40, 3, "HEP11", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 41, 1, "HEP12", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 41, 2, "HEP12", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 41, 3, "HEP12", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 42, 1, "HEP12", 1, 4, 7, 2, 3, 3, 15, 11, 4, 6, 15, 1}, + {"HE", 22, 42, 2, "HEP12", 1, 1, 6, 2, 3, 2, 15, 11, 4, 5, 15, 1}, + {"HE", 22, 42, 3, "HEP12", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 43, 1, "HEP12", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 43, 2, "HEP12", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 43, 3, "HEP12", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 44, 1, "HEP12", 4, 13, 7, 2, 3, 3, 15, 11, 5, 8, 15, 0}, + {"HE", 22, 44, 2, "HEP12", 4, 17, 6, 2, 3, 2, 15, 11, 5, 7, 15, 0}, + {"HE", 22, 44, 3, "HEP12", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 45, 1, "HEP13", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 45, 2, "HEP13", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 45, 3, "HEP13", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 46, 1, "HEP13", 1, 4, 7, 2, 3, 3, 15, 11, 10, 6, 18, 1}, + {"HE", 22, 46, 2, "HEP13", 1, 1, 6, 2, 3, 2, 15, 11, 10, 5, 18, 1}, + {"HE", 22, 46, 3, "HEP13", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 47, 1, "HEP13", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 47, 2, "HEP13", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 47, 3, "HEP13", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 48, 1, "HEP13", 4, 13, 7, 2, 3, 3, 15, 11, 11, 8, 18, 0}, + {"HE", 22, 48, 2, "HEP13", 4, 17, 6, 2, 3, 2, 15, 11, 11, 7, 18, 0}, + {"HE", 22, 48, 3, "HEP13", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 49, 1, "HEP14", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 49, 2, "HEP14", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 49, 3, "HEP14", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 50, 1, "HEP14", 1, 4, 7, 2, 3, 3, 17, 13, 4, 6, 15, 1}, + {"HE", 22, 50, 2, "HEP14", 1, 1, 6, 2, 3, 2, 17, 13, 4, 5, 15, 1}, + {"HE", 22, 50, 3, "HEP14", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 51, 1, "HEP14", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 51, 2, "HEP14", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 51, 3, "HEP14", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 52, 1, "HEP14", 4, 13, 7, 2, 3, 3, 17, 13, 5, 8, 15, 0}, + {"HE", 22, 52, 2, "HEP14", 4, 17, 6, 2, 3, 2, 17, 13, 5, 7, 15, 0}, + {"HE", 22, 52, 3, "HEP14", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 53, 1, "HEP15", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 53, 2, "HEP15", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 53, 3, "HEP15", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 54, 1, "HEP15", 1, 4, 7, 2, 3, 3, 17, 13, 10, 6, 18, 1}, + {"HE", 22, 54, 2, "HEP15", 1, 1, 6, 2, 3, 2, 17, 13, 10, 5, 18, 1}, + {"HE", 22, 54, 3, "HEP15", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 55, 1, "HEP15", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 55, 2, "HEP15", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 55, 3, "HEP15", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 56, 1, "HEP15", 4, 13, 7, 2, 3, 3, 17, 13, 11, 8, 18, 0}, + {"HE", 22, 56, 2, "HEP15", 4, 17, 6, 2, 3, 2, 17, 13, 11, 7, 18, 0}, + {"HE", 22, 56, 3, "HEP15", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 57, 1, "HEP16", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 57, 2, "HEP16", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 57, 3, "HEP16", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 58, 1, "HEP16", 1, 4, 7, 2, 3, 3, 14, 15, 4, 6, 15, 1}, + {"HE", 22, 58, 2, "HEP16", 1, 1, 6, 2, 3, 2, 14, 15, 4, 5, 15, 1}, + {"HE", 22, 58, 3, "HEP16", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 59, 1, "HEP16", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 59, 2, "HEP16", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 59, 3, "HEP16", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 60, 1, "HEP16", 4, 13, 7, 2, 3, 3, 14, 15, 5, 8, 15, 0}, + {"HE", 22, 60, 2, "HEP16", 4, 17, 6, 2, 3, 2, 14, 15, 5, 7, 15, 0}, + {"HE", 22, 60, 3, "HEP16", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 61, 1, "HEP17", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 61, 2, "HEP17", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 61, 3, "HEP17", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 62, 1, "HEP17", 1, 4, 7, 2, 3, 3, 14, 15, 10, 6, 18, 1}, + {"HE", 22, 62, 2, "HEP17", 1, 1, 6, 2, 3, 2, 14, 15, 10, 5, 18, 1}, + {"HE", 22, 62, 3, "HEP17", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 63, 1, "HEP17", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 63, 2, "HEP17", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 63, 3, "HEP17", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 64, 1, "HEP17", 4, 13, 7, 2, 3, 3, 14, 15, 11, 8, 18, 0}, + {"HE", 22, 64, 2, "HEP17", 4, 17, 6, 2, 3, 2, 14, 15, 11, 7, 18, 0}, + {"HE", 22, 64, 3, "HEP17", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 65, 1, "HEP18", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 65, 2, "HEP18", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 65, 3, "HEP18", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 66, 1, "HEP18", 1, 4, 7, 2, 3, 3, 10, 17, 4, 6, 15, 1}, + {"HE", 22, 66, 2, "HEP18", 1, 1, 6, 2, 3, 2, 10, 17, 4, 5, 15, 1}, + {"HE", 22, 66, 3, "HEP18", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 67, 1, "HEP18", 3, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 67, 2, "HEP18", 3, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 67, 3, "HEP18", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 68, 1, "HEP18", 4, 13, 7, 2, 3, 3, 10, 17, 5, 8, 15, 0}, + {"HE", 22, 68, 2, "HEP18", 4, 17, 6, 2, 3, 2, 10, 17, 5, 7, 15, 0}, + {"HE", 22, 68, 3, "HEP18", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 69, 1, "HEP01", 1, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 69, 2, "HEP01", 1, 19, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 69, 3, "HEP01", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 70, 1, "HEP01", 1, 4, 7, 2, 3, 3, 10, 17, 10, 6, 18, 1}, + {"HE", 22, 70, 2, "HEP01", 1, 1, 6, 2, 3, 2, 10, 17, 10, 5, 18, 1}, + {"HE", 22, 70, 3, "HEP01", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 71, 1, "HEM01", 2, 11, 3, 0, 1, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 71, 2, "HEM01", 2, 3, 3, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 22, 71, 3, "HEM01", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 0, 1, "HEP01", 3, 18, 5, 2, 2, 3, 10, 17, 11, 2, 18, 0}, + {"HE", 23, 0, 2, "HEP01", 3, 14, 5, 1, 2, 5, 10, 17, 11, 2, 18, 0}, + {"HE", 23, 0, 3, "HEP01", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 1, 1, "HEP02", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 1, 2, "HEP02", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 1, 3, "HEP02", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 2, 1, "HEP02", 2, 2, 5, 2, 2, 3, 4, 1, 4, 4, 15, 1}, + {"HE", 23, 2, 2, "HEP02", 2, 5, 5, 1, 2, 5, 4, 1, 4, 4, 15, 1}, + {"HE", 23, 2, 3, "HEP02", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 3, 1, "HEP02", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 3, 2, "HEP02", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 3, 3, "HEP02", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 4, 1, "HEP02", 3, 18, 5, 2, 2, 3, 4, 1, 5, 2, 15, 0}, + {"HE", 23, 4, 2, "HEP02", 3, 14, 5, 1, 2, 5, 4, 1, 5, 2, 15, 0}, + {"HE", 23, 4, 3, "HEP02", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 5, 1, "HEP03", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 5, 2, "HEP03", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 5, 3, "HEP03", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 6, 1, "HEP03", 2, 2, 5, 2, 2, 3, 4, 1, 10, 4, 18, 1}, + {"HE", 23, 6, 2, "HEP03", 2, 5, 5, 1, 2, 5, 4, 1, 10, 4, 18, 1}, + {"HE", 23, 6, 3, "HEP03", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 7, 1, "HEP03", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 7, 2, "HEP03", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 7, 3, "HEP03", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 8, 1, "HEP03", 3, 18, 5, 2, 2, 3, 4, 1, 11, 2, 18, 0}, + {"HE", 23, 8, 2, "HEP03", 3, 14, 5, 1, 2, 5, 4, 1, 11, 2, 18, 0}, + {"HE", 23, 8, 3, "HEP03", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 9, 1, "HEP04", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 9, 2, "HEP04", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 9, 3, "HEP04", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 10, 1, "HEP04", 2, 2, 5, 2, 2, 3, 0, 3, 4, 4, 15, 1}, + {"HE", 23, 10, 2, "HEP04", 2, 5, 5, 1, 2, 5, 0, 3, 4, 4, 15, 1}, + {"HE", 23, 10, 3, "HEP04", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 11, 1, "HEP04", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 11, 2, "HEP04", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 11, 3, "HEP04", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 12, 1, "HEP04", 3, 18, 5, 2, 2, 3, 0, 3, 5, 2, 15, 0}, + {"HE", 23, 12, 2, "HEP04", 3, 14, 5, 1, 2, 5, 0, 3, 5, 2, 15, 0}, + {"HE", 23, 12, 3, "HEP04", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 13, 1, "HEP05", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 13, 2, "HEP05", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 13, 3, "HEP05", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 14, 1, "HEP05", 2, 2, 5, 2, 2, 3, 0, 3, 10, 4, 18, 1}, + {"HE", 23, 14, 2, "HEP05", 2, 5, 5, 1, 2, 5, 0, 3, 10, 4, 18, 1}, + {"HE", 23, 14, 3, "HEP05", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 15, 1, "HEP05", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 15, 2, "HEP05", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 15, 3, "HEP05", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 16, 1, "HEP05", 3, 18, 5, 2, 2, 3, 0, 3, 11, 2, 18, 0}, + {"HE", 23, 16, 2, "HEP05", 3, 14, 5, 1, 2, 5, 0, 3, 11, 2, 18, 0}, + {"HE", 23, 16, 3, "HEP05", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 17, 1, "HEP06", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 17, 2, "HEP06", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 17, 3, "HEP06", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 18, 1, "HEP06", 2, 2, 5, 2, 2, 3, 1, 5, 4, 4, 15, 1}, + {"HE", 23, 18, 2, "HEP06", 2, 5, 5, 1, 2, 5, 1, 5, 4, 4, 15, 1}, + {"HE", 23, 18, 3, "HEP06", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 19, 1, "HEP06", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 19, 2, "HEP06", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 19, 3, "HEP06", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 20, 1, "HEP06", 3, 18, 5, 2, 2, 3, 1, 5, 5, 2, 15, 0}, + {"HE", 23, 20, 2, "HEP06", 3, 14, 5, 1, 2, 5, 1, 5, 5, 2, 15, 0}, + {"HE", 23, 20, 3, "HEP06", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 21, 1, "HEP07", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 21, 2, "HEP07", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 21, 3, "HEP07", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 22, 1, "HEP07", 2, 2, 5, 2, 2, 3, 1, 5, 10, 4, 18, 1}, + {"HE", 23, 22, 2, "HEP07", 2, 5, 5, 1, 2, 5, 1, 5, 10, 4, 18, 1}, + {"HE", 23, 22, 3, "HEP07", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 23, 1, "HEP07", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 23, 2, "HEP07", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 23, 3, "HEP07", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 24, 1, "HEP07", 3, 18, 5, 2, 2, 3, 1, 5, 11, 2, 18, 0}, + {"HE", 23, 24, 2, "HEP07", 3, 14, 5, 1, 2, 5, 1, 5, 11, 2, 18, 0}, + {"HE", 23, 24, 3, "HEP07", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 25, 1, "HEP08", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 25, 2, "HEP08", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 25, 3, "HEP08", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 26, 1, "HEP08", 2, 2, 5, 2, 2, 3, 5, 7, 4, 4, 15, 1}, + {"HE", 23, 26, 2, "HEP08", 2, 5, 5, 1, 2, 5, 5, 7, 4, 4, 15, 1}, + {"HE", 23, 26, 3, "HEP08", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 27, 1, "HEP08", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 27, 2, "HEP08", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 27, 3, "HEP08", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 28, 1, "HEP08", 3, 18, 5, 2, 2, 3, 5, 7, 5, 2, 15, 0}, + {"HE", 23, 28, 2, "HEP08", 3, 14, 5, 1, 2, 5, 5, 7, 5, 2, 15, 0}, + {"HE", 23, 28, 3, "HEP08", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 29, 1, "HEP09", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 29, 2, "HEP09", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 29, 3, "HEP09", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 30, 1, "HEP09", 2, 2, 5, 2, 2, 3, 5, 7, 10, 4, 18, 1}, + {"HE", 23, 30, 2, "HEP09", 2, 5, 5, 1, 2, 5, 5, 7, 10, 4, 18, 1}, + {"HE", 23, 30, 3, "HEP09", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 31, 1, "HEP09", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 31, 2, "HEP09", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 31, 3, "HEP09", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 32, 1, "HEP09", 3, 18, 5, 2, 2, 3, 5, 7, 11, 2, 18, 0}, + {"HE", 23, 32, 2, "HEP09", 3, 14, 5, 1, 2, 5, 5, 7, 11, 2, 18, 0}, + {"HE", 23, 32, 3, "HEP09", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 33, 1, "HEP10", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 33, 2, "HEP10", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 33, 3, "HEP10", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 34, 1, "HEP10", 2, 2, 5, 2, 2, 3, 11, 9, 4, 4, 15, 1}, + {"HE", 23, 34, 2, "HEP10", 2, 5, 5, 1, 2, 5, 11, 9, 4, 4, 15, 1}, + {"HE", 23, 34, 3, "HEP10", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 35, 1, "HEP10", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 35, 2, "HEP10", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 35, 3, "HEP10", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 36, 1, "HEP10", 3, 18, 5, 2, 2, 3, 11, 9, 5, 2, 15, 0}, + {"HE", 23, 36, 2, "HEP10", 3, 14, 5, 1, 2, 5, 11, 9, 5, 2, 15, 0}, + {"HE", 23, 36, 3, "HEP10", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 37, 1, "HEP11", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 37, 2, "HEP11", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 37, 3, "HEP11", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 38, 1, "HEP11", 2, 2, 5, 2, 2, 3, 11, 9, 10, 4, 18, 1}, + {"HE", 23, 38, 2, "HEP11", 2, 5, 5, 1, 2, 5, 11, 9, 10, 4, 18, 1}, + {"HE", 23, 38, 3, "HEP11", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 39, 1, "HEP11", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 39, 2, "HEP11", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 39, 3, "HEP11", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 40, 1, "HEP11", 3, 18, 5, 2, 2, 3, 11, 9, 11, 2, 18, 0}, + {"HE", 23, 40, 2, "HEP11", 3, 14, 5, 1, 2, 5, 11, 9, 11, 2, 18, 0}, + {"HE", 23, 40, 3, "HEP11", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 41, 1, "HEP12", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 41, 2, "HEP12", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 41, 3, "HEP12", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 42, 1, "HEP12", 2, 2, 5, 2, 2, 3, 15, 11, 4, 4, 15, 1}, + {"HE", 23, 42, 2, "HEP12", 2, 5, 5, 1, 2, 5, 15, 11, 4, 4, 15, 1}, + {"HE", 23, 42, 3, "HEP12", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 43, 1, "HEP12", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 43, 2, "HEP12", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 43, 3, "HEP12", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 44, 1, "HEP12", 3, 18, 5, 2, 2, 3, 15, 11, 5, 2, 15, 0}, + {"HE", 23, 44, 2, "HEP12", 3, 14, 5, 1, 2, 5, 15, 11, 5, 2, 15, 0}, + {"HE", 23, 44, 3, "HEP12", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 45, 1, "HEP13", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 45, 2, "HEP13", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 45, 3, "HEP13", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 46, 1, "HEP13", 2, 2, 5, 2, 2, 3, 15, 11, 10, 4, 18, 1}, + {"HE", 23, 46, 2, "HEP13", 2, 5, 5, 1, 2, 5, 15, 11, 10, 4, 18, 1}, + {"HE", 23, 46, 3, "HEP13", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 47, 1, "HEP13", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 47, 2, "HEP13", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 47, 3, "HEP13", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 48, 1, "HEP13", 3, 18, 5, 2, 2, 3, 15, 11, 11, 2, 18, 0}, + {"HE", 23, 48, 2, "HEP13", 3, 14, 5, 1, 2, 5, 15, 11, 11, 2, 18, 0}, + {"HE", 23, 48, 3, "HEP13", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 49, 1, "HEP14", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 49, 2, "HEP14", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 49, 3, "HEP14", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 50, 1, "HEP14", 2, 2, 5, 2, 2, 3, 17, 13, 4, 4, 15, 1}, + {"HE", 23, 50, 2, "HEP14", 2, 5, 5, 1, 2, 5, 17, 13, 4, 4, 15, 1}, + {"HE", 23, 50, 3, "HEP14", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 51, 1, "HEP14", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 51, 2, "HEP14", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 51, 3, "HEP14", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 52, 1, "HEP14", 3, 18, 5, 2, 2, 3, 17, 13, 5, 2, 15, 0}, + {"HE", 23, 52, 2, "HEP14", 3, 14, 5, 1, 2, 5, 17, 13, 5, 2, 15, 0}, + {"HE", 23, 52, 3, "HEP14", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 53, 1, "HEP15", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 53, 2, "HEP15", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 53, 3, "HEP15", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 54, 1, "HEP15", 2, 2, 5, 2, 2, 3, 17, 13, 10, 4, 18, 1}, + {"HE", 23, 54, 2, "HEP15", 2, 5, 5, 1, 2, 5, 17, 13, 10, 4, 18, 1}, + {"HE", 23, 54, 3, "HEP15", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 55, 1, "HEP15", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 55, 2, "HEP15", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 55, 3, "HEP15", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 56, 1, "HEP15", 3, 18, 5, 2, 2, 3, 17, 13, 11, 2, 18, 0}, + {"HE", 23, 56, 2, "HEP15", 3, 14, 5, 1, 2, 5, 17, 13, 11, 2, 18, 0}, + {"HE", 23, 56, 3, "HEP15", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 57, 1, "HEP16", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 57, 2, "HEP16", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 57, 3, "HEP16", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 58, 1, "HEP16", 2, 2, 5, 2, 2, 3, 14, 15, 4, 4, 15, 1}, + {"HE", 23, 58, 2, "HEP16", 2, 5, 5, 1, 2, 5, 14, 15, 4, 4, 15, 1}, + {"HE", 23, 58, 3, "HEP16", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 59, 1, "HEP16", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 59, 2, "HEP16", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 59, 3, "HEP16", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 60, 1, "HEP16", 3, 18, 5, 2, 2, 3, 14, 15, 5, 2, 15, 0}, + {"HE", 23, 60, 2, "HEP16", 3, 14, 5, 1, 2, 5, 14, 15, 5, 2, 15, 0}, + {"HE", 23, 60, 3, "HEP16", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 61, 1, "HEP17", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 61, 2, "HEP17", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 61, 3, "HEP17", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 62, 1, "HEP17", 2, 2, 5, 2, 2, 3, 14, 15, 10, 4, 18, 1}, + {"HE", 23, 62, 2, "HEP17", 2, 5, 5, 1, 2, 5, 14, 15, 10, 4, 18, 1}, + {"HE", 23, 62, 3, "HEP17", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 63, 1, "HEP17", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 63, 2, "HEP17", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 63, 3, "HEP17", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 64, 1, "HEP17", 3, 18, 5, 2, 2, 3, 14, 15, 11, 2, 18, 0}, + {"HE", 23, 64, 2, "HEP17", 3, 14, 5, 1, 2, 5, 14, 15, 11, 2, 18, 0}, + {"HE", 23, 64, 3, "HEP17", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 65, 1, "HEP18", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 65, 2, "HEP18", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 65, 3, "HEP18", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 66, 1, "HEP18", 2, 2, 5, 2, 2, 3, 10, 17, 4, 4, 15, 1}, + {"HE", 23, 66, 2, "HEP18", 2, 5, 5, 1, 2, 5, 10, 17, 4, 4, 15, 1}, + {"HE", 23, 66, 3, "HEP18", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 67, 1, "HEP18", 3, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 67, 2, "HEP18", 3, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 67, 3, "HEP18", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 68, 1, "HEP18", 3, 18, 5, 2, 2, 3, 10, 17, 5, 2, 15, 0}, + {"HE", 23, 68, 2, "HEP18", 3, 14, 5, 1, 2, 5, 10, 17, 5, 2, 15, 0}, + {"HE", 23, 68, 3, "HEP18", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 69, 1, "HEP01", 1, 13, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 69, 2, "HEP01", 1, 17, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 69, 3, "HEP01", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 70, 1, "HEP01", 2, 2, 5, 2, 2, 3, 10, 17, 10, 4, 18, 1}, + {"HE", 23, 70, 2, "HEP01", 2, 5, 5, 1, 2, 5, 10, 17, 10, 4, 18, 1}, + {"HE", 23, 70, 3, "HEP01", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 71, 1, "HEM01", 2, 4, 7, 0, 3, 4, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 71, 2, "HEM01", 2, 1, 6, 0, 3, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 23, 71, 3, "HEM01", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 0, 1, "HEP01", 4, 2, 5, 2, 2, 3, 10, 17, 11, 4, 18, 0}, + {"HE", 24, 0, 2, "HEP01", 4, 5, 5, 1, 2, 5, 10, 17, 11, 4, 18, 0}, + {"HE", 24, 0, 3, "HEP01", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 1, 1, "HEP02", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 1, 2, "HEP02", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 1, 3, "HEP02", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 2, 1, "HEP02", 1, 18, 5, 2, 2, 3, 4, 1, 4, 2, 15, 1}, + {"HE", 24, 2, 2, "HEP02", 1, 14, 5, 1, 2, 5, 4, 1, 4, 2, 15, 1}, + {"HE", 24, 2, 3, "HEP02", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 3, 1, "HEP02", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 3, 2, "HEP02", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 3, 3, "HEP02", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 4, 1, "HEP02", 4, 2, 5, 2, 2, 3, 4, 1, 5, 4, 15, 0}, + {"HE", 24, 4, 2, "HEP02", 4, 5, 5, 1, 2, 5, 4, 1, 5, 4, 15, 0}, + {"HE", 24, 4, 3, "HEP02", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 5, 1, "HEP03", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 5, 2, "HEP03", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 5, 3, "HEP03", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 6, 1, "HEP03", 1, 18, 5, 2, 2, 3, 4, 1, 10, 2, 18, 1}, + {"HE", 24, 6, 2, "HEP03", 1, 14, 5, 1, 2, 5, 4, 1, 10, 2, 18, 1}, + {"HE", 24, 6, 3, "HEP03", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 7, 1, "HEP03", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 7, 2, "HEP03", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 7, 3, "HEP03", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 8, 1, "HEP03", 4, 2, 5, 2, 2, 3, 4, 1, 11, 4, 18, 0}, + {"HE", 24, 8, 2, "HEP03", 4, 5, 5, 1, 2, 5, 4, 1, 11, 4, 18, 0}, + {"HE", 24, 8, 3, "HEP03", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 9, 1, "HEP04", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 9, 2, "HEP04", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 9, 3, "HEP04", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 10, 1, "HEP04", 1, 18, 5, 2, 2, 3, 0, 3, 4, 2, 15, 1}, + {"HE", 24, 10, 2, "HEP04", 1, 14, 5, 1, 2, 5, 0, 3, 4, 2, 15, 1}, + {"HE", 24, 10, 3, "HEP04", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 11, 1, "HEP04", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 11, 2, "HEP04", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 11, 3, "HEP04", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 12, 1, "HEP04", 4, 2, 5, 2, 2, 3, 0, 3, 5, 4, 15, 0}, + {"HE", 24, 12, 2, "HEP04", 4, 5, 5, 1, 2, 5, 0, 3, 5, 4, 15, 0}, + {"HE", 24, 12, 3, "HEP04", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 13, 1, "HEP05", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 13, 2, "HEP05", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 13, 3, "HEP05", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 14, 1, "HEP05", 1, 18, 5, 2, 2, 3, 0, 3, 10, 2, 18, 1}, + {"HE", 24, 14, 2, "HEP05", 1, 14, 5, 1, 2, 5, 0, 3, 10, 2, 18, 1}, + {"HE", 24, 14, 3, "HEP05", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 15, 1, "HEP05", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 15, 2, "HEP05", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 15, 3, "HEP05", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 16, 1, "HEP05", 4, 2, 5, 2, 2, 3, 0, 3, 11, 4, 18, 0}, + {"HE", 24, 16, 2, "HEP05", 4, 5, 5, 1, 2, 5, 0, 3, 11, 4, 18, 0}, + {"HE", 24, 16, 3, "HEP05", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 17, 1, "HEP06", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 17, 2, "HEP06", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 17, 3, "HEP06", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 18, 1, "HEP06", 1, 18, 5, 2, 2, 3, 1, 5, 4, 2, 15, 1}, + {"HE", 24, 18, 2, "HEP06", 1, 14, 5, 1, 2, 5, 1, 5, 4, 2, 15, 1}, + {"HE", 24, 18, 3, "HEP06", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 19, 1, "HEP06", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 19, 2, "HEP06", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 19, 3, "HEP06", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 20, 1, "HEP06", 4, 2, 5, 2, 2, 3, 1, 5, 5, 4, 15, 0}, + {"HE", 24, 20, 2, "HEP06", 4, 5, 5, 1, 2, 5, 1, 5, 5, 4, 15, 0}, + {"HE", 24, 20, 3, "HEP06", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 21, 1, "HEP07", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 21, 2, "HEP07", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 21, 3, "HEP07", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 22, 1, "HEP07", 1, 18, 5, 2, 2, 3, 1, 5, 10, 2, 18, 1}, + {"HE", 24, 22, 2, "HEP07", 1, 14, 5, 1, 2, 5, 1, 5, 10, 2, 18, 1}, + {"HE", 24, 22, 3, "HEP07", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 23, 1, "HEP07", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 23, 2, "HEP07", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 23, 3, "HEP07", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 24, 1, "HEP07", 4, 2, 5, 2, 2, 3, 1, 5, 11, 4, 18, 0}, + {"HE", 24, 24, 2, "HEP07", 4, 5, 5, 1, 2, 5, 1, 5, 11, 4, 18, 0}, + {"HE", 24, 24, 3, "HEP07", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 25, 1, "HEP08", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 25, 2, "HEP08", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 25, 3, "HEP08", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 26, 1, "HEP08", 1, 18, 5, 2, 2, 3, 5, 7, 4, 2, 15, 1}, + {"HE", 24, 26, 2, "HEP08", 1, 14, 5, 1, 2, 5, 5, 7, 4, 2, 15, 1}, + {"HE", 24, 26, 3, "HEP08", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 27, 1, "HEP08", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 27, 2, "HEP08", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 27, 3, "HEP08", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 28, 1, "HEP08", 4, 2, 5, 2, 2, 3, 5, 7, 5, 4, 15, 0}, + {"HE", 24, 28, 2, "HEP08", 4, 5, 5, 1, 2, 5, 5, 7, 5, 4, 15, 0}, + {"HE", 24, 28, 3, "HEP08", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 29, 1, "HEP09", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 29, 2, "HEP09", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 29, 3, "HEP09", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 30, 1, "HEP09", 1, 18, 5, 2, 2, 3, 5, 7, 10, 2, 18, 1}, + {"HE", 24, 30, 2, "HEP09", 1, 14, 5, 1, 2, 5, 5, 7, 10, 2, 18, 1}, + {"HE", 24, 30, 3, "HEP09", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 31, 1, "HEP09", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 31, 2, "HEP09", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 31, 3, "HEP09", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 32, 1, "HEP09", 4, 2, 5, 2, 2, 3, 5, 7, 11, 4, 18, 0}, + {"HE", 24, 32, 2, "HEP09", 4, 5, 5, 1, 2, 5, 5, 7, 11, 4, 18, 0}, + {"HE", 24, 32, 3, "HEP09", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 33, 1, "HEP10", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 33, 2, "HEP10", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 33, 3, "HEP10", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 34, 1, "HEP10", 1, 18, 5, 2, 2, 3, 11, 9, 4, 2, 15, 1}, + {"HE", 24, 34, 2, "HEP10", 1, 14, 5, 1, 2, 5, 11, 9, 4, 2, 15, 1}, + {"HE", 24, 34, 3, "HEP10", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 35, 1, "HEP10", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 35, 2, "HEP10", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 35, 3, "HEP10", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 36, 1, "HEP10", 4, 2, 5, 2, 2, 3, 11, 9, 5, 4, 15, 0}, + {"HE", 24, 36, 2, "HEP10", 4, 5, 5, 1, 2, 5, 11, 9, 5, 4, 15, 0}, + {"HE", 24, 36, 3, "HEP10", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 37, 1, "HEP11", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 37, 2, "HEP11", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 37, 3, "HEP11", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 38, 1, "HEP11", 1, 18, 5, 2, 2, 3, 11, 9, 10, 2, 18, 1}, + {"HE", 24, 38, 2, "HEP11", 1, 14, 5, 1, 2, 5, 11, 9, 10, 2, 18, 1}, + {"HE", 24, 38, 3, "HEP11", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 39, 1, "HEP11", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 39, 2, "HEP11", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 39, 3, "HEP11", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 40, 1, "HEP11", 4, 2, 5, 2, 2, 3, 11, 9, 11, 4, 18, 0}, + {"HE", 24, 40, 2, "HEP11", 4, 5, 5, 1, 2, 5, 11, 9, 11, 4, 18, 0}, + {"HE", 24, 40, 3, "HEP11", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 41, 1, "HEP12", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 41, 2, "HEP12", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 41, 3, "HEP12", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 42, 1, "HEP12", 1, 18, 5, 2, 2, 3, 15, 11, 4, 2, 15, 1}, + {"HE", 24, 42, 2, "HEP12", 1, 14, 5, 1, 2, 5, 15, 11, 4, 2, 15, 1}, + {"HE", 24, 42, 3, "HEP12", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 43, 1, "HEP12", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 43, 2, "HEP12", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 43, 3, "HEP12", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 44, 1, "HEP12", 4, 2, 5, 2, 2, 3, 15, 11, 5, 4, 15, 0}, + {"HE", 24, 44, 2, "HEP12", 4, 5, 5, 1, 2, 5, 15, 11, 5, 4, 15, 0}, + {"HE", 24, 44, 3, "HEP12", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 45, 1, "HEP13", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 45, 2, "HEP13", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 45, 3, "HEP13", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 46, 1, "HEP13", 1, 18, 5, 2, 2, 3, 15, 11, 10, 2, 18, 1}, + {"HE", 24, 46, 2, "HEP13", 1, 14, 5, 1, 2, 5, 15, 11, 10, 2, 18, 1}, + {"HE", 24, 46, 3, "HEP13", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 47, 1, "HEP13", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 47, 2, "HEP13", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 47, 3, "HEP13", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 48, 1, "HEP13", 4, 2, 5, 2, 2, 3, 15, 11, 11, 4, 18, 0}, + {"HE", 24, 48, 2, "HEP13", 4, 5, 5, 1, 2, 5, 15, 11, 11, 4, 18, 0}, + {"HE", 24, 48, 3, "HEP13", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 49, 1, "HEP14", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 49, 2, "HEP14", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 49, 3, "HEP14", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 50, 1, "HEP14", 1, 18, 5, 2, 2, 3, 17, 13, 4, 2, 15, 1}, + {"HE", 24, 50, 2, "HEP14", 1, 14, 5, 1, 2, 5, 17, 13, 4, 2, 15, 1}, + {"HE", 24, 50, 3, "HEP14", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 51, 1, "HEP14", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 51, 2, "HEP14", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 51, 3, "HEP14", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 52, 1, "HEP14", 4, 2, 5, 2, 2, 3, 17, 13, 5, 4, 15, 0}, + {"HE", 24, 52, 2, "HEP14", 4, 5, 5, 1, 2, 5, 17, 13, 5, 4, 15, 0}, + {"HE", 24, 52, 3, "HEP14", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 53, 1, "HEP15", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 53, 2, "HEP15", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 53, 3, "HEP15", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 54, 1, "HEP15", 1, 18, 5, 2, 2, 3, 17, 13, 10, 2, 18, 1}, + {"HE", 24, 54, 2, "HEP15", 1, 14, 5, 1, 2, 5, 17, 13, 10, 2, 18, 1}, + {"HE", 24, 54, 3, "HEP15", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 55, 1, "HEP15", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 55, 2, "HEP15", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 55, 3, "HEP15", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 56, 1, "HEP15", 4, 2, 5, 2, 2, 3, 17, 13, 11, 4, 18, 0}, + {"HE", 24, 56, 2, "HEP15", 4, 5, 5, 1, 2, 5, 17, 13, 11, 4, 18, 0}, + {"HE", 24, 56, 3, "HEP15", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 57, 1, "HEP16", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 57, 2, "HEP16", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 57, 3, "HEP16", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 58, 1, "HEP16", 1, 18, 5, 2, 2, 3, 14, 15, 4, 2, 15, 1}, + {"HE", 24, 58, 2, "HEP16", 1, 14, 5, 1, 2, 5, 14, 15, 4, 2, 15, 1}, + {"HE", 24, 58, 3, "HEP16", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 59, 1, "HEP16", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 59, 2, "HEP16", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 59, 3, "HEP16", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 60, 1, "HEP16", 4, 2, 5, 2, 2, 3, 14, 15, 5, 4, 15, 0}, + {"HE", 24, 60, 2, "HEP16", 4, 5, 5, 1, 2, 5, 14, 15, 5, 4, 15, 0}, + {"HE", 24, 60, 3, "HEP16", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 61, 1, "HEP17", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 61, 2, "HEP17", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 61, 3, "HEP17", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 62, 1, "HEP17", 1, 18, 5, 2, 2, 3, 14, 15, 10, 2, 18, 1}, + {"HE", 24, 62, 2, "HEP17", 1, 14, 5, 1, 2, 5, 14, 15, 10, 2, 18, 1}, + {"HE", 24, 62, 3, "HEP17", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 63, 1, "HEP17", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 63, 2, "HEP17", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 63, 3, "HEP17", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 64, 1, "HEP17", 4, 2, 5, 2, 2, 3, 14, 15, 11, 4, 18, 0}, + {"HE", 24, 64, 2, "HEP17", 4, 5, 5, 1, 2, 5, 14, 15, 11, 4, 18, 0}, + {"HE", 24, 64, 3, "HEP17", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 65, 1, "HEP18", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 65, 2, "HEP18", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 65, 3, "HEP18", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 66, 1, "HEP18", 1, 18, 5, 2, 2, 3, 10, 17, 4, 2, 15, 1}, + {"HE", 24, 66, 2, "HEP18", 1, 14, 5, 1, 2, 5, 10, 17, 4, 2, 15, 1}, + {"HE", 24, 66, 3, "HEP18", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 67, 1, "HEP18", 3, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 67, 2, "HEP18", 3, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 67, 3, "HEP18", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 68, 1, "HEP18", 4, 2, 5, 2, 2, 3, 10, 17, 5, 4, 15, 0}, + {"HE", 24, 68, 2, "HEP18", 4, 5, 5, 1, 2, 5, 10, 17, 5, 4, 15, 0}, + {"HE", 24, 68, 3, "HEP18", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 69, 1, "HEP01", 1, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 69, 2, "HEP01", 1, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 69, 3, "HEP01", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 70, 1, "HEP01", 1, 18, 5, 2, 2, 3, 10, 17, 10, 2, 18, 1}, + {"HE", 24, 70, 2, "HEP01", 1, 14, 5, 1, 2, 5, 10, 17, 10, 2, 18, 1}, + {"HE", 24, 70, 3, "HEP01", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 71, 1, "HEM01", 2, 9, 6, 1, 3, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 71, 2, "HEM01", 2, 8, 7, 1, 3, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 24, 71, 3, "HEM01", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 0, 1, "HEP01", 3, 7, 2, 2, 1, 2, 10, 17, 9, 5, 17, 0}, + {"HE", 25, 0, 2, "HEP01", 3, 3, 3, 2, 1, 3, 10, 17, 9, 6, 17, 0}, + {"HE", 25, 0, 3, "HEP01", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 1, 1, "HEP02", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 1, 2, "HEP02", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 1, 3, "HEP02", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 2, 1, "HEP02", 2, 16, 2, 2, 1, 2, 4, 1, 2, 7, 14, 1}, + {"HE", 25, 2, 2, "HEP02", 2, 19, 3, 2, 1, 3, 4, 1, 2, 8, 14, 1}, + {"HE", 25, 2, 3, "HEP02", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 3, 1, "HEP02", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 3, 2, "HEP02", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 3, 3, "HEP02", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 4, 1, "HEP02", 3, 7, 2, 2, 1, 2, 4, 1, 3, 5, 14, 0}, + {"HE", 25, 4, 2, "HEP02", 3, 3, 3, 2, 1, 3, 4, 1, 3, 6, 14, 0}, + {"HE", 25, 4, 3, "HEP02", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 5, 1, "HEP03", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 5, 2, "HEP03", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 5, 3, "HEP03", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 6, 1, "HEP03", 2, 16, 2, 2, 1, 2, 4, 1, 8, 7, 17, 1}, + {"HE", 25, 6, 2, "HEP03", 2, 19, 3, 2, 1, 3, 4, 1, 8, 8, 17, 1}, + {"HE", 25, 6, 3, "HEP03", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 7, 1, "HEP03", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 7, 2, "HEP03", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 7, 3, "HEP03", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 8, 1, "HEP03", 3, 7, 2, 2, 1, 2, 4, 1, 9, 5, 17, 0}, + {"HE", 25, 8, 2, "HEP03", 3, 3, 3, 2, 1, 3, 4, 1, 9, 6, 17, 0}, + {"HE", 25, 8, 3, "HEP03", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 9, 1, "HEP04", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 9, 2, "HEP04", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 9, 3, "HEP04", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 10, 1, "HEP04", 2, 16, 2, 2, 1, 2, 0, 3, 2, 7, 14, 1}, + {"HE", 25, 10, 2, "HEP04", 2, 19, 3, 2, 1, 3, 0, 3, 2, 8, 14, 1}, + {"HE", 25, 10, 3, "HEP04", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 11, 1, "HEP04", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 11, 2, "HEP04", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 11, 3, "HEP04", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 12, 1, "HEP04", 3, 7, 2, 2, 1, 2, 0, 3, 3, 5, 14, 0}, + {"HE", 25, 12, 2, "HEP04", 3, 3, 3, 2, 1, 3, 0, 3, 3, 6, 14, 0}, + {"HE", 25, 12, 3, "HEP04", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 13, 1, "HEP05", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 13, 2, "HEP05", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 13, 3, "HEP05", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 14, 1, "HEP05", 2, 16, 2, 2, 1, 2, 0, 3, 8, 7, 17, 1}, + {"HE", 25, 14, 2, "HEP05", 2, 19, 3, 2, 1, 3, 0, 3, 8, 8, 17, 1}, + {"HE", 25, 14, 3, "HEP05", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 15, 1, "HEP05", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 15, 2, "HEP05", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 15, 3, "HEP05", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 16, 1, "HEP05", 3, 7, 2, 2, 1, 2, 0, 3, 9, 5, 17, 0}, + {"HE", 25, 16, 2, "HEP05", 3, 3, 3, 2, 1, 3, 0, 3, 9, 6, 17, 0}, + {"HE", 25, 16, 3, "HEP05", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 17, 1, "HEP06", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 17, 2, "HEP06", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 17, 3, "HEP06", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 18, 1, "HEP06", 2, 16, 2, 2, 1, 2, 1, 5, 2, 7, 14, 1}, + {"HE", 25, 18, 2, "HEP06", 2, 19, 3, 2, 1, 3, 1, 5, 2, 8, 14, 1}, + {"HE", 25, 18, 3, "HEP06", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 19, 1, "HEP06", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 19, 2, "HEP06", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 19, 3, "HEP06", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 20, 1, "HEP06", 3, 7, 2, 2, 1, 2, 1, 5, 3, 5, 14, 0}, + {"HE", 25, 20, 2, "HEP06", 3, 3, 3, 2, 1, 3, 1, 5, 3, 6, 14, 0}, + {"HE", 25, 20, 3, "HEP06", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 21, 1, "HEP07", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 21, 2, "HEP07", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 21, 3, "HEP07", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 22, 1, "HEP07", 2, 16, 2, 2, 1, 2, 1, 5, 8, 7, 17, 1}, + {"HE", 25, 22, 2, "HEP07", 2, 19, 3, 2, 1, 3, 1, 5, 8, 8, 17, 1}, + {"HE", 25, 22, 3, "HEP07", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 23, 1, "HEP07", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 23, 2, "HEP07", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 23, 3, "HEP07", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 24, 1, "HEP07", 3, 7, 2, 2, 1, 2, 1, 5, 9, 5, 17, 0}, + {"HE", 25, 24, 2, "HEP07", 3, 3, 3, 2, 1, 3, 1, 5, 9, 6, 17, 0}, + {"HE", 25, 24, 3, "HEP07", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 25, 1, "HEP08", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 25, 2, "HEP08", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 25, 3, "HEP08", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 26, 1, "HEP08", 2, 16, 2, 2, 1, 2, 5, 7, 2, 7, 14, 1}, + {"HE", 25, 26, 2, "HEP08", 2, 19, 3, 2, 1, 3, 5, 7, 2, 8, 14, 1}, + {"HE", 25, 26, 3, "HEP08", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 27, 1, "HEP08", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 27, 2, "HEP08", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 27, 3, "HEP08", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 28, 1, "HEP08", 3, 7, 2, 2, 1, 2, 5, 7, 3, 5, 14, 0}, + {"HE", 25, 28, 2, "HEP08", 3, 3, 3, 2, 1, 3, 5, 7, 3, 6, 14, 0}, + {"HE", 25, 28, 3, "HEP08", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 29, 1, "HEP09", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 29, 2, "HEP09", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 29, 3, "HEP09", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 30, 1, "HEP09", 2, 16, 2, 2, 1, 2, 5, 7, 8, 7, 17, 1}, + {"HE", 25, 30, 2, "HEP09", 2, 19, 3, 2, 1, 3, 5, 7, 8, 8, 17, 1}, + {"HE", 25, 30, 3, "HEP09", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 31, 1, "HEP09", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 31, 2, "HEP09", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 31, 3, "HEP09", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 32, 1, "HEP09", 3, 7, 2, 2, 1, 2, 5, 7, 9, 5, 17, 0}, + {"HE", 25, 32, 2, "HEP09", 3, 3, 3, 2, 1, 3, 5, 7, 9, 6, 17, 0}, + {"HE", 25, 32, 3, "HEP09", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 33, 1, "HEP10", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 33, 2, "HEP10", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 33, 3, "HEP10", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 34, 1, "HEP10", 2, 16, 2, 2, 1, 2, 11, 9, 2, 7, 14, 1}, + {"HE", 25, 34, 2, "HEP10", 2, 19, 3, 2, 1, 3, 11, 9, 2, 8, 14, 1}, + {"HE", 25, 34, 3, "HEP10", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 35, 1, "HEP10", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 35, 2, "HEP10", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 35, 3, "HEP10", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 36, 1, "HEP10", 3, 7, 2, 2, 1, 2, 11, 9, 3, 5, 14, 0}, + {"HE", 25, 36, 2, "HEP10", 3, 3, 3, 2, 1, 3, 11, 9, 3, 6, 14, 0}, + {"HE", 25, 36, 3, "HEP10", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 37, 1, "HEP11", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 37, 2, "HEP11", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 37, 3, "HEP11", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 38, 1, "HEP11", 2, 16, 2, 2, 1, 2, 11, 9, 8, 7, 17, 1}, + {"HE", 25, 38, 2, "HEP11", 2, 19, 3, 2, 1, 3, 11, 9, 8, 8, 17, 1}, + {"HE", 25, 38, 3, "HEP11", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 39, 1, "HEP11", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 39, 2, "HEP11", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 39, 3, "HEP11", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 40, 1, "HEP11", 3, 7, 2, 2, 1, 2, 11, 9, 9, 5, 17, 0}, + {"HE", 25, 40, 2, "HEP11", 3, 3, 3, 2, 1, 3, 11, 9, 9, 6, 17, 0}, + {"HE", 25, 40, 3, "HEP11", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 41, 1, "HEP12", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 41, 2, "HEP12", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 41, 3, "HEP12", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 42, 1, "HEP12", 2, 16, 2, 2, 1, 2, 15, 11, 2, 7, 14, 1}, + {"HE", 25, 42, 2, "HEP12", 2, 19, 3, 2, 1, 3, 15, 11, 2, 8, 14, 1}, + {"HE", 25, 42, 3, "HEP12", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 43, 1, "HEP12", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 43, 2, "HEP12", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 43, 3, "HEP12", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 44, 1, "HEP12", 3, 7, 2, 2, 1, 2, 15, 11, 3, 5, 14, 0}, + {"HE", 25, 44, 2, "HEP12", 3, 3, 3, 2, 1, 3, 15, 11, 3, 6, 14, 0}, + {"HE", 25, 44, 3, "HEP12", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 45, 1, "HEP13", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 45, 2, "HEP13", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 45, 3, "HEP13", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 46, 1, "HEP13", 2, 16, 2, 2, 1, 2, 15, 11, 8, 7, 17, 1}, + {"HE", 25, 46, 2, "HEP13", 2, 19, 3, 2, 1, 3, 15, 11, 8, 8, 17, 1}, + {"HE", 25, 46, 3, "HEP13", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 47, 1, "HEP13", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 47, 2, "HEP13", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 47, 3, "HEP13", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 48, 1, "HEP13", 3, 7, 2, 2, 1, 2, 15, 11, 9, 5, 17, 0}, + {"HE", 25, 48, 2, "HEP13", 3, 3, 3, 2, 1, 3, 15, 11, 9, 6, 17, 0}, + {"HE", 25, 48, 3, "HEP13", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 49, 1, "HEP14", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 49, 2, "HEP14", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 49, 3, "HEP14", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 50, 1, "HEP14", 2, 16, 2, 2, 1, 2, 17, 13, 2, 7, 14, 1}, + {"HE", 25, 50, 2, "HEP14", 2, 19, 3, 2, 1, 3, 17, 13, 2, 8, 14, 1}, + {"HE", 25, 50, 3, "HEP14", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 51, 1, "HEP14", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 51, 2, "HEP14", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 51, 3, "HEP14", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 52, 1, "HEP14", 3, 7, 2, 2, 1, 2, 17, 13, 3, 5, 14, 0}, + {"HE", 25, 52, 2, "HEP14", 3, 3, 3, 2, 1, 3, 17, 13, 3, 6, 14, 0}, + {"HE", 25, 52, 3, "HEP14", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 53, 1, "HEP15", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 53, 2, "HEP15", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 53, 3, "HEP15", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 54, 1, "HEP15", 2, 16, 2, 2, 1, 2, 17, 13, 8, 7, 17, 1}, + {"HE", 25, 54, 2, "HEP15", 2, 19, 3, 2, 1, 3, 17, 13, 8, 8, 17, 1}, + {"HE", 25, 54, 3, "HEP15", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 55, 1, "HEP15", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 55, 2, "HEP15", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 55, 3, "HEP15", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 56, 1, "HEP15", 3, 7, 2, 2, 1, 2, 17, 13, 9, 5, 17, 0}, + {"HE", 25, 56, 2, "HEP15", 3, 3, 3, 2, 1, 3, 17, 13, 9, 6, 17, 0}, + {"HE", 25, 56, 3, "HEP15", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 57, 1, "HEP16", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 57, 2, "HEP16", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 57, 3, "HEP16", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 58, 1, "HEP16", 2, 16, 2, 2, 1, 2, 14, 15, 2, 7, 14, 1}, + {"HE", 25, 58, 2, "HEP16", 2, 19, 3, 2, 1, 3, 14, 15, 2, 8, 14, 1}, + {"HE", 25, 58, 3, "HEP16", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 59, 1, "HEP16", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 59, 2, "HEP16", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 59, 3, "HEP16", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 60, 1, "HEP16", 3, 7, 2, 2, 1, 2, 14, 15, 3, 5, 14, 0}, + {"HE", 25, 60, 2, "HEP16", 3, 3, 3, 2, 1, 3, 14, 15, 3, 6, 14, 0}, + {"HE", 25, 60, 3, "HEP16", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 61, 1, "HEP17", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 61, 2, "HEP17", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 61, 3, "HEP17", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 62, 1, "HEP17", 2, 16, 2, 2, 1, 2, 14, 15, 8, 7, 17, 1}, + {"HE", 25, 62, 2, "HEP17", 2, 19, 3, 2, 1, 3, 14, 15, 8, 8, 17, 1}, + {"HE", 25, 62, 3, "HEP17", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 63, 1, "HEP17", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 63, 2, "HEP17", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 63, 3, "HEP17", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 64, 1, "HEP17", 3, 7, 2, 2, 1, 2, 14, 15, 9, 5, 17, 0}, + {"HE", 25, 64, 2, "HEP17", 3, 3, 3, 2, 1, 3, 14, 15, 9, 6, 17, 0}, + {"HE", 25, 64, 3, "HEP17", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 65, 1, "HEP18", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 65, 2, "HEP18", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 65, 3, "HEP18", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 66, 1, "HEP18", 2, 16, 2, 2, 1, 2, 10, 17, 2, 7, 14, 1}, + {"HE", 25, 66, 2, "HEP18", 2, 19, 3, 2, 1, 3, 10, 17, 2, 8, 14, 1}, + {"HE", 25, 66, 3, "HEP18", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 67, 1, "HEP18", 3, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 67, 2, "HEP18", 3, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 67, 3, "HEP18", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 68, 1, "HEP18", 3, 7, 2, 2, 1, 2, 10, 17, 3, 5, 14, 0}, + {"HE", 25, 68, 2, "HEP18", 3, 3, 3, 2, 1, 3, 10, 17, 3, 6, 14, 0}, + {"HE", 25, 68, 3, "HEP18", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 69, 1, "HEP01", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 69, 2, "HEP01", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 69, 3, "HEP01", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 70, 1, "HEP01", 2, 16, 2, 2, 1, 2, 10, 17, 8, 7, 17, 1}, + {"HE", 25, 70, 2, "HEP01", 2, 19, 3, 2, 1, 3, 10, 17, 8, 8, 17, 1}, + {"HE", 25, 70, 3, "HEP01", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 71, 1, "HEM01", 2, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 71, 2, "HEM01", 2, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 25, 71, 3, "HEM01", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 0, 1, "HEP01", 4, 16, 2, 2, 1, 2, 10, 17, 9, 7, 17, 0}, + {"HE", 26, 0, 2, "HEP01", 4, 19, 3, 2, 1, 3, 10, 17, 9, 8, 17, 0}, + {"HE", 26, 0, 3, "HEP01", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 1, 1, "HEP02", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 1, 2, "HEP02", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 1, 3, "HEP02", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 2, 1, "HEP02", 1, 7, 2, 2, 1, 2, 4, 1, 2, 5, 14, 1}, + {"HE", 26, 2, 2, "HEP02", 1, 3, 3, 2, 1, 3, 4, 1, 2, 6, 14, 1}, + {"HE", 26, 2, 3, "HEP02", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 3, 1, "HEP02", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 3, 2, "HEP02", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 3, 3, "HEP02", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 4, 1, "HEP02", 4, 16, 2, 2, 1, 2, 4, 1, 3, 7, 14, 0}, + {"HE", 26, 4, 2, "HEP02", 4, 19, 3, 2, 1, 3, 4, 1, 3, 8, 14, 0}, + {"HE", 26, 4, 3, "HEP02", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 5, 1, "HEP03", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 5, 2, "HEP03", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 5, 3, "HEP03", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 6, 1, "HEP03", 1, 7, 2, 2, 1, 2, 4, 1, 8, 5, 17, 1}, + {"HE", 26, 6, 2, "HEP03", 1, 3, 3, 2, 1, 3, 4, 1, 8, 6, 17, 1}, + {"HE", 26, 6, 3, "HEP03", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 7, 1, "HEP03", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 7, 2, "HEP03", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 7, 3, "HEP03", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 8, 1, "HEP03", 4, 16, 2, 2, 1, 2, 4, 1, 9, 7, 17, 0}, + {"HE", 26, 8, 2, "HEP03", 4, 19, 3, 2, 1, 3, 4, 1, 9, 8, 17, 0}, + {"HE", 26, 8, 3, "HEP03", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 9, 1, "HEP04", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 9, 2, "HEP04", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 9, 3, "HEP04", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 10, 1, "HEP04", 1, 7, 2, 2, 1, 2, 0, 3, 2, 5, 14, 1}, + {"HE", 26, 10, 2, "HEP04", 1, 3, 3, 2, 1, 3, 0, 3, 2, 6, 14, 1}, + {"HE", 26, 10, 3, "HEP04", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 11, 1, "HEP04", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 11, 2, "HEP04", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 11, 3, "HEP04", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 12, 1, "HEP04", 4, 16, 2, 2, 1, 2, 0, 3, 3, 7, 14, 0}, + {"HE", 26, 12, 2, "HEP04", 4, 19, 3, 2, 1, 3, 0, 3, 3, 8, 14, 0}, + {"HE", 26, 12, 3, "HEP04", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 13, 1, "HEP05", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 13, 2, "HEP05", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 13, 3, "HEP05", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 14, 1, "HEP05", 1, 7, 2, 2, 1, 2, 0, 3, 8, 5, 17, 1}, + {"HE", 26, 14, 2, "HEP05", 1, 3, 3, 2, 1, 3, 0, 3, 8, 6, 17, 1}, + {"HE", 26, 14, 3, "HEP05", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 15, 1, "HEP05", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 15, 2, "HEP05", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 15, 3, "HEP05", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 16, 1, "HEP05", 4, 16, 2, 2, 1, 2, 0, 3, 9, 7, 17, 0}, + {"HE", 26, 16, 2, "HEP05", 4, 19, 3, 2, 1, 3, 0, 3, 9, 8, 17, 0}, + {"HE", 26, 16, 3, "HEP05", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 17, 1, "HEP06", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 17, 2, "HEP06", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 17, 3, "HEP06", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 18, 1, "HEP06", 1, 7, 2, 2, 1, 2, 1, 5, 2, 5, 14, 1}, + {"HE", 26, 18, 2, "HEP06", 1, 3, 3, 2, 1, 3, 1, 5, 2, 6, 14, 1}, + {"HE", 26, 18, 3, "HEP06", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 19, 1, "HEP06", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 19, 2, "HEP06", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 19, 3, "HEP06", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 20, 1, "HEP06", 4, 16, 2, 2, 1, 2, 1, 5, 3, 7, 14, 0}, + {"HE", 26, 20, 2, "HEP06", 4, 19, 3, 2, 1, 3, 1, 5, 3, 8, 14, 0}, + {"HE", 26, 20, 3, "HEP06", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 21, 1, "HEP07", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 21, 2, "HEP07", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 21, 3, "HEP07", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 22, 1, "HEP07", 1, 7, 2, 2, 1, 2, 1, 5, 8, 5, 17, 1}, + {"HE", 26, 22, 2, "HEP07", 1, 3, 3, 2, 1, 3, 1, 5, 8, 6, 17, 1}, + {"HE", 26, 22, 3, "HEP07", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 23, 1, "HEP07", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 23, 2, "HEP07", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 23, 3, "HEP07", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 24, 1, "HEP07", 4, 16, 2, 2, 1, 2, 1, 5, 9, 7, 17, 0}, + {"HE", 26, 24, 2, "HEP07", 4, 19, 3, 2, 1, 3, 1, 5, 9, 8, 17, 0}, + {"HE", 26, 24, 3, "HEP07", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 25, 1, "HEP08", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 25, 2, "HEP08", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 25, 3, "HEP08", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 26, 1, "HEP08", 1, 7, 2, 2, 1, 2, 5, 7, 2, 5, 14, 1}, + {"HE", 26, 26, 2, "HEP08", 1, 3, 3, 2, 1, 3, 5, 7, 2, 6, 14, 1}, + {"HE", 26, 26, 3, "HEP08", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 27, 1, "HEP08", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 27, 2, "HEP08", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 27, 3, "HEP08", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 28, 1, "HEP08", 4, 16, 2, 2, 1, 2, 5, 7, 3, 7, 14, 0}, + {"HE", 26, 28, 2, "HEP08", 4, 19, 3, 2, 1, 3, 5, 7, 3, 8, 14, 0}, + {"HE", 26, 28, 3, "HEP08", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 29, 1, "HEP09", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 29, 2, "HEP09", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 29, 3, "HEP09", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 30, 1, "HEP09", 1, 7, 2, 2, 1, 2, 5, 7, 8, 5, 17, 1}, + {"HE", 26, 30, 2, "HEP09", 1, 3, 3, 2, 1, 3, 5, 7, 8, 6, 17, 1}, + {"HE", 26, 30, 3, "HEP09", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 31, 1, "HEP09", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 31, 2, "HEP09", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 31, 3, "HEP09", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 32, 1, "HEP09", 4, 16, 2, 2, 1, 2, 5, 7, 9, 7, 17, 0}, + {"HE", 26, 32, 2, "HEP09", 4, 19, 3, 2, 1, 3, 5, 7, 9, 8, 17, 0}, + {"HE", 26, 32, 3, "HEP09", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 33, 1, "HEP10", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 33, 2, "HEP10", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 33, 3, "HEP10", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 34, 1, "HEP10", 1, 7, 2, 2, 1, 2, 11, 9, 2, 5, 14, 1}, + {"HE", 26, 34, 2, "HEP10", 1, 3, 3, 2, 1, 3, 11, 9, 2, 6, 14, 1}, + {"HE", 26, 34, 3, "HEP10", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 35, 1, "HEP10", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 35, 2, "HEP10", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 35, 3, "HEP10", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 36, 1, "HEP10", 4, 16, 2, 2, 1, 2, 11, 9, 3, 7, 14, 0}, + {"HE", 26, 36, 2, "HEP10", 4, 19, 3, 2, 1, 3, 11, 9, 3, 8, 14, 0}, + {"HE", 26, 36, 3, "HEP10", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 37, 1, "HEP11", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 37, 2, "HEP11", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 37, 3, "HEP11", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 38, 1, "HEP11", 1, 7, 2, 2, 1, 2, 11, 9, 8, 5, 17, 1}, + {"HE", 26, 38, 2, "HEP11", 1, 3, 3, 2, 1, 3, 11, 9, 8, 6, 17, 1}, + {"HE", 26, 38, 3, "HEP11", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 39, 1, "HEP11", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 39, 2, "HEP11", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 39, 3, "HEP11", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 40, 1, "HEP11", 4, 16, 2, 2, 1, 2, 11, 9, 9, 7, 17, 0}, + {"HE", 26, 40, 2, "HEP11", 4, 19, 3, 2, 1, 3, 11, 9, 9, 8, 17, 0}, + {"HE", 26, 40, 3, "HEP11", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 41, 1, "HEP12", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 41, 2, "HEP12", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 41, 3, "HEP12", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 42, 1, "HEP12", 1, 7, 2, 2, 1, 2, 15, 11, 2, 5, 14, 1}, + {"HE", 26, 42, 2, "HEP12", 1, 3, 3, 2, 1, 3, 15, 11, 2, 6, 14, 1}, + {"HE", 26, 42, 3, "HEP12", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 43, 1, "HEP12", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 43, 2, "HEP12", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 43, 3, "HEP12", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 44, 1, "HEP12", 4, 16, 2, 2, 1, 2, 15, 11, 3, 7, 14, 0}, + {"HE", 26, 44, 2, "HEP12", 4, 19, 3, 2, 1, 3, 15, 11, 3, 8, 14, 0}, + {"HE", 26, 44, 3, "HEP12", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 45, 1, "HEP13", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 45, 2, "HEP13", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 45, 3, "HEP13", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 46, 1, "HEP13", 1, 7, 2, 2, 1, 2, 15, 11, 8, 5, 17, 1}, + {"HE", 26, 46, 2, "HEP13", 1, 3, 3, 2, 1, 3, 15, 11, 8, 6, 17, 1}, + {"HE", 26, 46, 3, "HEP13", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 47, 1, "HEP13", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 47, 2, "HEP13", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 47, 3, "HEP13", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 48, 1, "HEP13", 4, 16, 2, 2, 1, 2, 15, 11, 9, 7, 17, 0}, + {"HE", 26, 48, 2, "HEP13", 4, 19, 3, 2, 1, 3, 15, 11, 9, 8, 17, 0}, + {"HE", 26, 48, 3, "HEP13", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 49, 1, "HEP14", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 49, 2, "HEP14", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 49, 3, "HEP14", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 50, 1, "HEP14", 1, 7, 2, 2, 1, 2, 17, 13, 2, 5, 14, 1}, + {"HE", 26, 50, 2, "HEP14", 1, 3, 3, 2, 1, 3, 17, 13, 2, 6, 14, 1}, + {"HE", 26, 50, 3, "HEP14", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 51, 1, "HEP14", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 51, 2, "HEP14", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 51, 3, "HEP14", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 52, 1, "HEP14", 4, 16, 2, 2, 1, 2, 17, 13, 3, 7, 14, 0}, + {"HE", 26, 52, 2, "HEP14", 4, 19, 3, 2, 1, 3, 17, 13, 3, 8, 14, 0}, + {"HE", 26, 52, 3, "HEP14", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 53, 1, "HEP15", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 53, 2, "HEP15", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 53, 3, "HEP15", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 54, 1, "HEP15", 1, 7, 2, 2, 1, 2, 17, 13, 8, 5, 17, 1}, + {"HE", 26, 54, 2, "HEP15", 1, 3, 3, 2, 1, 3, 17, 13, 8, 6, 17, 1}, + {"HE", 26, 54, 3, "HEP15", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 55, 1, "HEP15", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 55, 2, "HEP15", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 55, 3, "HEP15", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 56, 1, "HEP15", 4, 16, 2, 2, 1, 2, 17, 13, 9, 7, 17, 0}, + {"HE", 26, 56, 2, "HEP15", 4, 19, 3, 2, 1, 3, 17, 13, 9, 8, 17, 0}, + {"HE", 26, 56, 3, "HEP15", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 57, 1, "HEP16", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 57, 2, "HEP16", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 57, 3, "HEP16", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 58, 1, "HEP16", 1, 7, 2, 2, 1, 2, 14, 15, 2, 5, 14, 1}, + {"HE", 26, 58, 2, "HEP16", 1, 3, 3, 2, 1, 3, 14, 15, 2, 6, 14, 1}, + {"HE", 26, 58, 3, "HEP16", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 59, 1, "HEP16", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 59, 2, "HEP16", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 59, 3, "HEP16", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 60, 1, "HEP16", 4, 16, 2, 2, 1, 2, 14, 15, 3, 7, 14, 0}, + {"HE", 26, 60, 2, "HEP16", 4, 19, 3, 2, 1, 3, 14, 15, 3, 8, 14, 0}, + {"HE", 26, 60, 3, "HEP16", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 61, 1, "HEP17", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 61, 2, "HEP17", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 61, 3, "HEP17", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 62, 1, "HEP17", 1, 7, 2, 2, 1, 2, 14, 15, 8, 5, 17, 1}, + {"HE", 26, 62, 2, "HEP17", 1, 3, 3, 2, 1, 3, 14, 15, 8, 6, 17, 1}, + {"HE", 26, 62, 3, "HEP17", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 63, 1, "HEP17", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 63, 2, "HEP17", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 63, 3, "HEP17", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 64, 1, "HEP17", 4, 16, 2, 2, 1, 2, 14, 15, 9, 7, 17, 0}, + {"HE", 26, 64, 2, "HEP17", 4, 19, 3, 2, 1, 3, 14, 15, 9, 8, 17, 0}, + {"HE", 26, 64, 3, "HEP17", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 65, 1, "HEP18", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 65, 2, "HEP18", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 65, 3, "HEP18", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 66, 1, "HEP18", 1, 7, 2, 2, 1, 2, 10, 17, 2, 5, 14, 1}, + {"HE", 26, 66, 2, "HEP18", 1, 3, 3, 2, 1, 3, 10, 17, 2, 6, 14, 1}, + {"HE", 26, 66, 3, "HEP18", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 67, 1, "HEP18", 4, 13, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 67, 2, "HEP18", 4, 17, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 67, 3, "HEP18", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 68, 1, "HEP18", 4, 16, 2, 2, 1, 2, 10, 17, 3, 7, 14, 0}, + {"HE", 26, 68, 2, "HEP18", 4, 19, 3, 2, 1, 3, 10, 17, 3, 8, 14, 0}, + {"HE", 26, 68, 3, "HEP18", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 69, 1, "HEP01", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 69, 2, "HEP01", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 69, 3, "HEP01", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 70, 1, "HEP01", 1, 7, 2, 2, 1, 2, 10, 17, 8, 5, 17, 1}, + {"HE", 26, 70, 2, "HEP01", 1, 3, 3, 2, 1, 3, 10, 17, 8, 6, 17, 1}, + {"HE", 26, 70, 3, "HEP01", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 71, 1, "HEM01", 1, 4, 7, 2, 3, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 71, 2, "HEM01", 1, 1, 6, 2, 3, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 26, 71, 3, "HEM01", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 0, 1, "HEP01", 3, 6, 4, 0, 2, 0, 10, 17, 11, 1, 18, 0}, + {"HE", 27, 0, 2, "HEP01", 3, 2, 4, 1, 2, 1, 10, 17, 11, 1, 18, 0}, + {"HE", 27, 0, 3, "HEP01", 3, 5, 5, 0, 2, 4, 10, 17, 11, 2, 18, 0}, + {"HE", 27, 1, 1, "HEP02", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 1, 2, "HEP02", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 1, 3, "HEP02", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 2, 1, "HEP02", 2, 15, 4, 0, 2, 0, 4, 1, 4, 3, 15, 1}, + {"HE", 27, 2, 2, "HEP02", 2, 18, 4, 1, 2, 1, 4, 1, 4, 3, 15, 1}, + {"HE", 27, 2, 3, "HEP02", 2, 14, 5, 0, 2, 4, 4, 1, 4, 4, 15, 1}, + {"HE", 27, 3, 1, "HEP02", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 3, 2, "HEP02", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 3, 3, "HEP02", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 4, 1, "HEP02", 3, 6, 4, 0, 2, 0, 4, 1, 5, 1, 15, 0}, + {"HE", 27, 4, 2, "HEP02", 3, 2, 4, 1, 2, 1, 4, 1, 5, 1, 15, 0}, + {"HE", 27, 4, 3, "HEP02", 3, 5, 5, 0, 2, 4, 4, 1, 5, 2, 15, 0}, + {"HE", 27, 5, 1, "HEP03", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 5, 2, "HEP03", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 5, 3, "HEP03", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 6, 1, "HEP03", 2, 15, 4, 0, 2, 0, 4, 1, 10, 3, 18, 1}, + {"HE", 27, 6, 2, "HEP03", 2, 18, 4, 1, 2, 1, 4, 1, 10, 3, 18, 1}, + {"HE", 27, 6, 3, "HEP03", 2, 14, 5, 0, 2, 4, 4, 1, 10, 4, 18, 1}, + {"HE", 27, 7, 1, "HEP03", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 7, 2, "HEP03", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 7, 3, "HEP03", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 8, 1, "HEP03", 3, 6, 4, 0, 2, 0, 4, 1, 11, 1, 18, 0}, + {"HE", 27, 8, 2, "HEP03", 3, 2, 4, 1, 2, 1, 4, 1, 11, 1, 18, 0}, + {"HE", 27, 8, 3, "HEP03", 3, 5, 5, 0, 2, 4, 4, 1, 11, 2, 18, 0}, + {"HE", 27, 9, 1, "HEP04", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 9, 2, "HEP04", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 9, 3, "HEP04", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 10, 1, "HEP04", 2, 15, 4, 0, 2, 0, 0, 3, 4, 3, 15, 1}, + {"HE", 27, 10, 2, "HEP04", 2, 18, 4, 1, 2, 1, 0, 3, 4, 3, 15, 1}, + {"HE", 27, 10, 3, "HEP04", 2, 14, 5, 0, 2, 4, 0, 3, 4, 4, 15, 1}, + {"HE", 27, 11, 1, "HEP04", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 11, 2, "HEP04", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 11, 3, "HEP04", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 12, 1, "HEP04", 3, 6, 4, 0, 2, 0, 0, 3, 5, 1, 15, 0}, + {"HE", 27, 12, 2, "HEP04", 3, 2, 4, 1, 2, 1, 0, 3, 5, 1, 15, 0}, + {"HE", 27, 12, 3, "HEP04", 3, 5, 5, 0, 2, 4, 0, 3, 5, 2, 15, 0}, + {"HE", 27, 13, 1, "HEP05", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 13, 2, "HEP05", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 13, 3, "HEP05", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 14, 1, "HEP05", 2, 15, 4, 0, 2, 0, 0, 3, 10, 3, 18, 1}, + {"HE", 27, 14, 2, "HEP05", 2, 18, 4, 1, 2, 1, 0, 3, 10, 3, 18, 1}, + {"HE", 27, 14, 3, "HEP05", 2, 14, 5, 0, 2, 4, 0, 3, 10, 4, 18, 1}, + {"HE", 27, 15, 1, "HEP05", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 15, 2, "HEP05", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 15, 3, "HEP05", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 16, 1, "HEP05", 3, 6, 4, 0, 2, 0, 0, 3, 11, 1, 18, 0}, + {"HE", 27, 16, 2, "HEP05", 3, 2, 4, 1, 2, 1, 0, 3, 11, 1, 18, 0}, + {"HE", 27, 16, 3, "HEP05", 3, 5, 5, 0, 2, 4, 0, 3, 11, 2, 18, 0}, + {"HE", 27, 17, 1, "HEP06", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 17, 2, "HEP06", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 17, 3, "HEP06", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 18, 1, "HEP06", 2, 15, 4, 0, 2, 0, 1, 5, 4, 3, 15, 1}, + {"HE", 27, 18, 2, "HEP06", 2, 18, 4, 1, 2, 1, 1, 5, 4, 3, 15, 1}, + {"HE", 27, 18, 3, "HEP06", 2, 14, 5, 0, 2, 4, 1, 5, 4, 4, 15, 1}, + {"HE", 27, 19, 1, "HEP06", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 19, 2, "HEP06", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 19, 3, "HEP06", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 20, 1, "HEP06", 3, 6, 4, 0, 2, 0, 1, 5, 5, 1, 15, 0}, + {"HE", 27, 20, 2, "HEP06", 3, 2, 4, 1, 2, 1, 1, 5, 5, 1, 15, 0}, + {"HE", 27, 20, 3, "HEP06", 3, 5, 5, 0, 2, 4, 1, 5, 5, 2, 15, 0}, + {"HE", 27, 21, 1, "HEP07", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 21, 2, "HEP07", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 21, 3, "HEP07", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 22, 1, "HEP07", 2, 15, 4, 0, 2, 0, 1, 5, 10, 3, 18, 1}, + {"HE", 27, 22, 2, "HEP07", 2, 18, 4, 1, 2, 1, 1, 5, 10, 3, 18, 1}, + {"HE", 27, 22, 3, "HEP07", 2, 14, 5, 0, 2, 4, 1, 5, 10, 4, 18, 1}, + {"HE", 27, 23, 1, "HEP07", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 23, 2, "HEP07", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 23, 3, "HEP07", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 24, 1, "HEP07", 3, 6, 4, 0, 2, 0, 1, 5, 11, 1, 18, 0}, + {"HE", 27, 24, 2, "HEP07", 3, 2, 4, 1, 2, 1, 1, 5, 11, 1, 18, 0}, + {"HE", 27, 24, 3, "HEP07", 3, 5, 5, 0, 2, 4, 1, 5, 11, 2, 18, 0}, + {"HE", 27, 25, 1, "HEP08", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 25, 2, "HEP08", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 25, 3, "HEP08", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 26, 1, "HEP08", 2, 15, 4, 0, 2, 0, 5, 7, 4, 3, 15, 1}, + {"HE", 27, 26, 2, "HEP08", 2, 18, 4, 1, 2, 1, 5, 7, 4, 3, 15, 1}, + {"HE", 27, 26, 3, "HEP08", 2, 14, 5, 0, 2, 4, 5, 7, 4, 4, 15, 1}, + {"HE", 27, 27, 1, "HEP08", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 27, 2, "HEP08", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 27, 3, "HEP08", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 28, 1, "HEP08", 3, 6, 4, 0, 2, 0, 5, 7, 5, 1, 15, 0}, + {"HE", 27, 28, 2, "HEP08", 3, 2, 4, 1, 2, 1, 5, 7, 5, 1, 15, 0}, + {"HE", 27, 28, 3, "HEP08", 3, 5, 5, 0, 2, 4, 5, 7, 5, 2, 15, 0}, + {"HE", 27, 29, 1, "HEP09", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 29, 2, "HEP09", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 29, 3, "HEP09", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 30, 1, "HEP09", 2, 15, 4, 0, 2, 0, 5, 7, 10, 3, 18, 1}, + {"HE", 27, 30, 2, "HEP09", 2, 18, 4, 1, 2, 1, 5, 7, 10, 3, 18, 1}, + {"HE", 27, 30, 3, "HEP09", 2, 14, 5, 0, 2, 4, 5, 7, 10, 4, 18, 1}, + {"HE", 27, 31, 1, "HEP09", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 31, 2, "HEP09", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 31, 3, "HEP09", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 32, 1, "HEP09", 3, 6, 4, 0, 2, 0, 5, 7, 11, 1, 18, 0}, + {"HE", 27, 32, 2, "HEP09", 3, 2, 4, 1, 2, 1, 5, 7, 11, 1, 18, 0}, + {"HE", 27, 32, 3, "HEP09", 3, 5, 5, 0, 2, 4, 5, 7, 11, 2, 18, 0}, + {"HE", 27, 33, 1, "HEP10", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 33, 2, "HEP10", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 33, 3, "HEP10", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 34, 1, "HEP10", 2, 15, 4, 0, 2, 0, 11, 9, 4, 3, 15, 1}, + {"HE", 27, 34, 2, "HEP10", 2, 18, 4, 1, 2, 1, 11, 9, 4, 3, 15, 1}, + {"HE", 27, 34, 3, "HEP10", 2, 14, 5, 0, 2, 4, 11, 9, 4, 4, 15, 1}, + {"HE", 27, 35, 1, "HEP10", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 35, 2, "HEP10", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 35, 3, "HEP10", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 36, 1, "HEP10", 3, 6, 4, 0, 2, 0, 11, 9, 5, 1, 15, 0}, + {"HE", 27, 36, 2, "HEP10", 3, 2, 4, 1, 2, 1, 11, 9, 5, 1, 15, 0}, + {"HE", 27, 36, 3, "HEP10", 3, 5, 5, 0, 2, 4, 11, 9, 5, 2, 15, 0}, + {"HE", 27, 37, 1, "HEP11", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 37, 2, "HEP11", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 37, 3, "HEP11", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 38, 1, "HEP11", 2, 15, 4, 0, 2, 0, 11, 9, 10, 3, 18, 1}, + {"HE", 27, 38, 2, "HEP11", 2, 18, 4, 1, 2, 1, 11, 9, 10, 3, 18, 1}, + {"HE", 27, 38, 3, "HEP11", 2, 14, 5, 0, 2, 4, 11, 9, 10, 4, 18, 1}, + {"HE", 27, 39, 1, "HEP11", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 39, 2, "HEP11", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 39, 3, "HEP11", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 40, 1, "HEP11", 3, 6, 4, 0, 2, 0, 11, 9, 11, 1, 18, 0}, + {"HE", 27, 40, 2, "HEP11", 3, 2, 4, 1, 2, 1, 11, 9, 11, 1, 18, 0}, + {"HE", 27, 40, 3, "HEP11", 3, 5, 5, 0, 2, 4, 11, 9, 11, 2, 18, 0}, + {"HE", 27, 41, 1, "HEP12", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 41, 2, "HEP12", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 41, 3, "HEP12", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 42, 1, "HEP12", 2, 15, 4, 0, 2, 0, 15, 11, 4, 3, 15, 1}, + {"HE", 27, 42, 2, "HEP12", 2, 18, 4, 1, 2, 1, 15, 11, 4, 3, 15, 1}, + {"HE", 27, 42, 3, "HEP12", 2, 14, 5, 0, 2, 4, 15, 11, 4, 4, 15, 1}, + {"HE", 27, 43, 1, "HEP12", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 43, 2, "HEP12", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 43, 3, "HEP12", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 44, 1, "HEP12", 3, 6, 4, 0, 2, 0, 15, 11, 5, 1, 15, 0}, + {"HE", 27, 44, 2, "HEP12", 3, 2, 4, 1, 2, 1, 15, 11, 5, 1, 15, 0}, + {"HE", 27, 44, 3, "HEP12", 3, 5, 5, 0, 2, 4, 15, 11, 5, 2, 15, 0}, + {"HE", 27, 45, 1, "HEP13", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 45, 2, "HEP13", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 45, 3, "HEP13", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 46, 1, "HEP13", 2, 15, 4, 0, 2, 0, 15, 11, 10, 3, 18, 1}, + {"HE", 27, 46, 2, "HEP13", 2, 18, 4, 1, 2, 1, 15, 11, 10, 3, 18, 1}, + {"HE", 27, 46, 3, "HEP13", 2, 14, 5, 0, 2, 4, 15, 11, 10, 4, 18, 1}, + {"HE", 27, 47, 1, "HEP13", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 47, 2, "HEP13", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 47, 3, "HEP13", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 48, 1, "HEP13", 3, 6, 4, 0, 2, 0, 15, 11, 11, 1, 18, 0}, + {"HE", 27, 48, 2, "HEP13", 3, 2, 4, 1, 2, 1, 15, 11, 11, 1, 18, 0}, + {"HE", 27, 48, 3, "HEP13", 3, 5, 5, 0, 2, 4, 15, 11, 11, 2, 18, 0}, + {"HE", 27, 49, 1, "HEP14", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 49, 2, "HEP14", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 49, 3, "HEP14", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 50, 1, "HEP14", 2, 15, 4, 0, 2, 0, 17, 13, 4, 3, 15, 1}, + {"HE", 27, 50, 2, "HEP14", 2, 18, 4, 1, 2, 1, 17, 13, 4, 3, 15, 1}, + {"HE", 27, 50, 3, "HEP14", 2, 14, 5, 0, 2, 4, 17, 13, 4, 4, 15, 1}, + {"HE", 27, 51, 1, "HEP14", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 51, 2, "HEP14", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 51, 3, "HEP14", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 52, 1, "HEP14", 3, 6, 4, 0, 2, 0, 17, 13, 5, 1, 15, 0}, + {"HE", 27, 52, 2, "HEP14", 3, 2, 4, 1, 2, 1, 17, 13, 5, 1, 15, 0}, + {"HE", 27, 52, 3, "HEP14", 3, 5, 5, 0, 2, 4, 17, 13, 5, 2, 15, 0}, + {"HE", 27, 53, 1, "HEP15", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 53, 2, "HEP15", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 53, 3, "HEP15", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 54, 1, "HEP15", 2, 15, 4, 0, 2, 0, 17, 13, 10, 3, 18, 1}, + {"HE", 27, 54, 2, "HEP15", 2, 18, 4, 1, 2, 1, 17, 13, 10, 3, 18, 1}, + {"HE", 27, 54, 3, "HEP15", 2, 14, 5, 0, 2, 4, 17, 13, 10, 4, 18, 1}, + {"HE", 27, 55, 1, "HEP15", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 55, 2, "HEP15", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 55, 3, "HEP15", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 56, 1, "HEP15", 3, 6, 4, 0, 2, 0, 17, 13, 11, 1, 18, 0}, + {"HE", 27, 56, 2, "HEP15", 3, 2, 4, 1, 2, 1, 17, 13, 11, 1, 18, 0}, + {"HE", 27, 56, 3, "HEP15", 3, 5, 5, 0, 2, 4, 17, 13, 11, 2, 18, 0}, + {"HE", 27, 57, 1, "HEP16", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 57, 2, "HEP16", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 57, 3, "HEP16", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 58, 1, "HEP16", 2, 15, 4, 0, 2, 0, 14, 15, 4, 3, 15, 1}, + {"HE", 27, 58, 2, "HEP16", 2, 18, 4, 1, 2, 1, 14, 15, 4, 3, 15, 1}, + {"HE", 27, 58, 3, "HEP16", 2, 14, 5, 0, 2, 4, 14, 15, 4, 4, 15, 1}, + {"HE", 27, 59, 1, "HEP16", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 59, 2, "HEP16", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 59, 3, "HEP16", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 60, 1, "HEP16", 3, 6, 4, 0, 2, 0, 14, 15, 5, 1, 15, 0}, + {"HE", 27, 60, 2, "HEP16", 3, 2, 4, 1, 2, 1, 14, 15, 5, 1, 15, 0}, + {"HE", 27, 60, 3, "HEP16", 3, 5, 5, 0, 2, 4, 14, 15, 5, 2, 15, 0}, + {"HE", 27, 61, 1, "HEP17", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 61, 2, "HEP17", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 61, 3, "HEP17", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 62, 1, "HEP17", 2, 15, 4, 0, 2, 0, 14, 15, 10, 3, 18, 1}, + {"HE", 27, 62, 2, "HEP17", 2, 18, 4, 1, 2, 1, 14, 15, 10, 3, 18, 1}, + {"HE", 27, 62, 3, "HEP17", 2, 14, 5, 0, 2, 4, 14, 15, 10, 4, 18, 1}, + {"HE", 27, 63, 1, "HEP17", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 63, 2, "HEP17", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 63, 3, "HEP17", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 64, 1, "HEP17", 3, 6, 4, 0, 2, 0, 14, 15, 11, 1, 18, 0}, + {"HE", 27, 64, 2, "HEP17", 3, 2, 4, 1, 2, 1, 14, 15, 11, 1, 18, 0}, + {"HE", 27, 64, 3, "HEP17", 3, 5, 5, 0, 2, 4, 14, 15, 11, 2, 18, 0}, + {"HE", 27, 65, 1, "HEP18", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 65, 2, "HEP18", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 65, 3, "HEP18", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 66, 1, "HEP18", 2, 15, 4, 0, 2, 0, 10, 17, 4, 3, 15, 1}, + {"HE", 27, 66, 2, "HEP18", 2, 18, 4, 1, 2, 1, 10, 17, 4, 3, 15, 1}, + {"HE", 27, 66, 3, "HEP18", 2, 14, 5, 0, 2, 4, 10, 17, 4, 4, 15, 1}, + {"HE", 27, 67, 1, "HEP18", 3, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 67, 2, "HEP18", 3, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 67, 3, "HEP18", 4, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 68, 1, "HEP18", 3, 6, 4, 0, 2, 0, 10, 17, 5, 1, 15, 0}, + {"HE", 27, 68, 2, "HEP18", 3, 2, 4, 1, 2, 1, 10, 17, 5, 1, 15, 0}, + {"HE", 27, 68, 3, "HEP18", 3, 5, 5, 0, 2, 4, 10, 17, 5, 2, 15, 0}, + {"HE", 27, 69, 1, "HEP01", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 69, 2, "HEP01", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 69, 3, "HEP01", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 70, 1, "HEP01", 2, 15, 4, 0, 2, 0, 10, 17, 10, 3, 18, 1}, + {"HE", 27, 70, 2, "HEP01", 2, 18, 4, 1, 2, 1, 10, 17, 10, 3, 18, 1}, + {"HE", 27, 70, 3, "HEP01", 2, 14, 5, 0, 2, 4, 10, 17, 10, 4, 18, 1}, + {"HE", 27, 71, 1, "HEM01", 2, 2, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 71, 2, "HEM01", 2, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 27, 71, 3, "HEM01", 1, 18, 5, 2, 2, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 0, 1, "HEP01", 4, 6, 4, 0, 2, 0, 10, 17, 11, 3, 18, 0}, + {"HE", 28, 0, 2, "HEP01", 4, 18, 4, 1, 2, 1, 10, 17, 11, 3, 18, 0}, + {"HE", 28, 0, 3, "HEP01", 4, 14, 5, 0, 2, 4, 10, 17, 11, 4, 18, 0}, + {"HE", 28, 1, 1, "HEP02", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 1, 2, "HEP02", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 1, 3, "HEP02", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 2, 1, "HEP02", 1, 15, 4, 0, 2, 0, 4, 1, 4, 1, 15, 1}, + {"HE", 28, 2, 2, "HEP02", 1, 2, 4, 1, 2, 1, 4, 1, 4, 1, 15, 1}, + {"HE", 28, 2, 3, "HEP02", 1, 5, 5, 0, 2, 4, 4, 1, 4, 2, 15, 1}, + {"HE", 28, 3, 1, "HEP02", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 3, 2, "HEP02", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 3, 3, "HEP02", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 4, 1, "HEP02", 4, 6, 4, 0, 2, 0, 4, 1, 5, 3, 15, 0}, + {"HE", 28, 4, 2, "HEP02", 4, 18, 4, 1, 2, 1, 4, 1, 5, 3, 15, 0}, + {"HE", 28, 4, 3, "HEP02", 4, 14, 5, 0, 2, 4, 4, 1, 5, 4, 15, 0}, + {"HE", 28, 5, 1, "HEP03", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 5, 2, "HEP03", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 5, 3, "HEP03", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 6, 1, "HEP03", 1, 15, 4, 0, 2, 0, 4, 1, 10, 1, 18, 1}, + {"HE", 28, 6, 2, "HEP03", 1, 2, 4, 1, 2, 1, 4, 1, 10, 1, 18, 1}, + {"HE", 28, 6, 3, "HEP03", 1, 5, 5, 0, 2, 4, 4, 1, 10, 2, 18, 1}, + {"HE", 28, 7, 1, "HEP03", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 7, 2, "HEP03", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 7, 3, "HEP03", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 8, 1, "HEP03", 4, 6, 4, 0, 2, 0, 4, 1, 11, 3, 18, 0}, + {"HE", 28, 8, 2, "HEP03", 4, 18, 4, 1, 2, 1, 4, 1, 11, 3, 18, 0}, + {"HE", 28, 8, 3, "HEP03", 4, 14, 5, 0, 2, 4, 4, 1, 11, 4, 18, 0}, + {"HE", 28, 9, 1, "HEP04", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 9, 2, "HEP04", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 9, 3, "HEP04", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 10, 1, "HEP04", 1, 15, 4, 0, 2, 0, 0, 3, 4, 1, 15, 1}, + {"HE", 28, 10, 2, "HEP04", 1, 2, 4, 1, 2, 1, 0, 3, 4, 1, 15, 1}, + {"HE", 28, 10, 3, "HEP04", 1, 5, 5, 0, 2, 4, 0, 3, 4, 2, 15, 1}, + {"HE", 28, 11, 1, "HEP04", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 11, 2, "HEP04", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 11, 3, "HEP04", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 12, 1, "HEP04", 4, 6, 4, 0, 2, 0, 0, 3, 5, 3, 15, 0}, + {"HE", 28, 12, 2, "HEP04", 4, 18, 4, 1, 2, 1, 0, 3, 5, 3, 15, 0}, + {"HE", 28, 12, 3, "HEP04", 4, 14, 5, 0, 2, 4, 0, 3, 5, 4, 15, 0}, + {"HE", 28, 13, 1, "HEP05", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 13, 2, "HEP05", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 13, 3, "HEP05", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 14, 1, "HEP05", 1, 15, 4, 0, 2, 0, 0, 3, 10, 1, 18, 1}, + {"HE", 28, 14, 2, "HEP05", 1, 2, 4, 1, 2, 1, 0, 3, 10, 1, 18, 1}, + {"HE", 28, 14, 3, "HEP05", 1, 5, 5, 0, 2, 4, 0, 3, 10, 2, 18, 1}, + {"HE", 28, 15, 1, "HEP05", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 15, 2, "HEP05", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 15, 3, "HEP05", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 16, 1, "HEP05", 4, 6, 4, 0, 2, 0, 0, 3, 11, 3, 18, 0}, + {"HE", 28, 16, 2, "HEP05", 4, 18, 4, 1, 2, 1, 0, 3, 11, 3, 18, 0}, + {"HE", 28, 16, 3, "HEP05", 4, 14, 5, 0, 2, 4, 0, 3, 11, 4, 18, 0}, + {"HE", 28, 17, 1, "HEP06", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 17, 2, "HEP06", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 17, 3, "HEP06", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 18, 1, "HEP06", 1, 15, 4, 0, 2, 0, 1, 5, 4, 1, 15, 1}, + {"HE", 28, 18, 2, "HEP06", 1, 2, 4, 1, 2, 1, 1, 5, 4, 1, 15, 1}, + {"HE", 28, 18, 3, "HEP06", 1, 5, 5, 0, 2, 4, 1, 5, 4, 2, 15, 1}, + {"HE", 28, 19, 1, "HEP06", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 19, 2, "HEP06", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 19, 3, "HEP06", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 20, 1, "HEP06", 4, 6, 4, 0, 2, 0, 1, 5, 5, 3, 15, 0}, + {"HE", 28, 20, 2, "HEP06", 4, 18, 4, 1, 2, 1, 1, 5, 5, 3, 15, 0}, + {"HE", 28, 20, 3, "HEP06", 4, 14, 5, 0, 2, 4, 1, 5, 5, 4, 15, 0}, + {"HE", 28, 21, 1, "HEP07", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 21, 2, "HEP07", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 21, 3, "HEP07", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 22, 1, "HEP07", 1, 15, 4, 0, 2, 0, 1, 5, 10, 1, 18, 1}, + {"HE", 28, 22, 2, "HEP07", 1, 2, 4, 1, 2, 1, 1, 5, 10, 1, 18, 1}, + {"HE", 28, 22, 3, "HEP07", 1, 5, 5, 0, 2, 4, 1, 5, 10, 2, 18, 1}, + {"HE", 28, 23, 1, "HEP07", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 23, 2, "HEP07", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 23, 3, "HEP07", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 24, 1, "HEP07", 4, 6, 4, 0, 2, 0, 1, 5, 11, 3, 18, 0}, + {"HE", 28, 24, 2, "HEP07", 4, 18, 4, 1, 2, 1, 1, 5, 11, 3, 18, 0}, + {"HE", 28, 24, 3, "HEP07", 4, 14, 5, 0, 2, 4, 1, 5, 11, 4, 18, 0}, + {"HE", 28, 25, 1, "HEP08", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 25, 2, "HEP08", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 25, 3, "HEP08", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 26, 1, "HEP08", 1, 15, 4, 0, 2, 0, 5, 7, 4, 1, 15, 1}, + {"HE", 28, 26, 2, "HEP08", 1, 2, 4, 1, 2, 1, 5, 7, 4, 1, 15, 1}, + {"HE", 28, 26, 3, "HEP08", 1, 5, 5, 0, 2, 4, 5, 7, 4, 2, 15, 1}, + {"HE", 28, 27, 1, "HEP08", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 27, 2, "HEP08", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 27, 3, "HEP08", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 28, 1, "HEP08", 4, 6, 4, 0, 2, 0, 5, 7, 5, 3, 15, 0}, + {"HE", 28, 28, 2, "HEP08", 4, 18, 4, 1, 2, 1, 5, 7, 5, 3, 15, 0}, + {"HE", 28, 28, 3, "HEP08", 4, 14, 5, 0, 2, 4, 5, 7, 5, 4, 15, 0}, + {"HE", 28, 29, 1, "HEP09", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 29, 2, "HEP09", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 29, 3, "HEP09", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 30, 1, "HEP09", 1, 15, 4, 0, 2, 0, 5, 7, 10, 1, 18, 1}, + {"HE", 28, 30, 2, "HEP09", 1, 2, 4, 1, 2, 1, 5, 7, 10, 1, 18, 1}, + {"HE", 28, 30, 3, "HEP09", 1, 5, 5, 0, 2, 4, 5, 7, 10, 2, 18, 1}, + {"HE", 28, 31, 1, "HEP09", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 31, 2, "HEP09", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 31, 3, "HEP09", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 32, 1, "HEP09", 4, 6, 4, 0, 2, 0, 5, 7, 11, 3, 18, 0}, + {"HE", 28, 32, 2, "HEP09", 4, 18, 4, 1, 2, 1, 5, 7, 11, 3, 18, 0}, + {"HE", 28, 32, 3, "HEP09", 4, 14, 5, 0, 2, 4, 5, 7, 11, 4, 18, 0}, + {"HE", 28, 33, 1, "HEP10", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 33, 2, "HEP10", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 33, 3, "HEP10", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 34, 1, "HEP10", 1, 15, 4, 0, 2, 0, 11, 9, 4, 1, 15, 1}, + {"HE", 28, 34, 2, "HEP10", 1, 2, 4, 1, 2, 1, 11, 9, 4, 1, 15, 1}, + {"HE", 28, 34, 3, "HEP10", 1, 5, 5, 0, 2, 4, 11, 9, 4, 2, 15, 1}, + {"HE", 28, 35, 1, "HEP10", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 35, 2, "HEP10", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 35, 3, "HEP10", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 36, 1, "HEP10", 4, 6, 4, 0, 2, 0, 11, 9, 5, 3, 15, 0}, + {"HE", 28, 36, 2, "HEP10", 4, 18, 4, 1, 2, 1, 11, 9, 5, 3, 15, 0}, + {"HE", 28, 36, 3, "HEP10", 4, 14, 5, 0, 2, 4, 11, 9, 5, 4, 15, 0}, + {"HE", 28, 37, 1, "HEP11", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 37, 2, "HEP11", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 37, 3, "HEP11", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 38, 1, "HEP11", 1, 15, 4, 0, 2, 0, 11, 9, 10, 1, 18, 1}, + {"HE", 28, 38, 2, "HEP11", 1, 2, 4, 1, 2, 1, 11, 9, 10, 1, 18, 1}, + {"HE", 28, 38, 3, "HEP11", 1, 5, 5, 0, 2, 4, 11, 9, 10, 2, 18, 1}, + {"HE", 28, 39, 1, "HEP11", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 39, 2, "HEP11", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 39, 3, "HEP11", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 40, 1, "HEP11", 4, 6, 4, 0, 2, 0, 11, 9, 11, 3, 18, 0}, + {"HE", 28, 40, 2, "HEP11", 4, 18, 4, 1, 2, 1, 11, 9, 11, 3, 18, 0}, + {"HE", 28, 40, 3, "HEP11", 4, 14, 5, 0, 2, 4, 11, 9, 11, 4, 18, 0}, + {"HE", 28, 41, 1, "HEP12", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 41, 2, "HEP12", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 41, 3, "HEP12", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 42, 1, "HEP12", 1, 15, 4, 0, 2, 0, 15, 11, 4, 1, 15, 1}, + {"HE", 28, 42, 2, "HEP12", 1, 2, 4, 1, 2, 1, 15, 11, 4, 1, 15, 1}, + {"HE", 28, 42, 3, "HEP12", 1, 5, 5, 0, 2, 4, 15, 11, 4, 2, 15, 1}, + {"HE", 28, 43, 1, "HEP12", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 43, 2, "HEP12", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 43, 3, "HEP12", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 44, 1, "HEP12", 4, 6, 4, 0, 2, 0, 15, 11, 5, 3, 15, 0}, + {"HE", 28, 44, 2, "HEP12", 4, 18, 4, 1, 2, 1, 15, 11, 5, 3, 15, 0}, + {"HE", 28, 44, 3, "HEP12", 4, 14, 5, 0, 2, 4, 15, 11, 5, 4, 15, 0}, + {"HE", 28, 45, 1, "HEP13", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 45, 2, "HEP13", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 45, 3, "HEP13", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 46, 1, "HEP13", 1, 15, 4, 0, 2, 0, 15, 11, 10, 1, 18, 1}, + {"HE", 28, 46, 2, "HEP13", 1, 2, 4, 1, 2, 1, 15, 11, 10, 1, 18, 1}, + {"HE", 28, 46, 3, "HEP13", 1, 5, 5, 0, 2, 4, 15, 11, 10, 2, 18, 1}, + {"HE", 28, 47, 1, "HEP13", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 47, 2, "HEP13", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 47, 3, "HEP13", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 48, 1, "HEP13", 4, 6, 4, 0, 2, 0, 15, 11, 11, 3, 18, 0}, + {"HE", 28, 48, 2, "HEP13", 4, 18, 4, 1, 2, 1, 15, 11, 11, 3, 18, 0}, + {"HE", 28, 48, 3, "HEP13", 4, 14, 5, 0, 2, 4, 15, 11, 11, 4, 18, 0}, + {"HE", 28, 49, 1, "HEP14", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 49, 2, "HEP14", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 49, 3, "HEP14", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 50, 1, "HEP14", 1, 15, 4, 0, 2, 0, 17, 13, 4, 1, 15, 1}, + {"HE", 28, 50, 2, "HEP14", 1, 2, 4, 1, 2, 1, 17, 13, 4, 1, 15, 1}, + {"HE", 28, 50, 3, "HEP14", 1, 5, 5, 0, 2, 4, 17, 13, 4, 2, 15, 1}, + {"HE", 28, 51, 1, "HEP14", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 51, 2, "HEP14", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 51, 3, "HEP14", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 52, 1, "HEP14", 4, 6, 4, 0, 2, 0, 17, 13, 5, 3, 15, 0}, + {"HE", 28, 52, 2, "HEP14", 4, 18, 4, 1, 2, 1, 17, 13, 5, 3, 15, 0}, + {"HE", 28, 52, 3, "HEP14", 4, 14, 5, 0, 2, 4, 17, 13, 5, 4, 15, 0}, + {"HE", 28, 53, 1, "HEP15", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 53, 2, "HEP15", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 53, 3, "HEP15", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 54, 1, "HEP15", 1, 15, 4, 0, 2, 0, 17, 13, 10, 1, 18, 1}, + {"HE", 28, 54, 2, "HEP15", 1, 2, 4, 1, 2, 1, 17, 13, 10, 1, 18, 1}, + {"HE", 28, 54, 3, "HEP15", 1, 5, 5, 0, 2, 4, 17, 13, 10, 2, 18, 1}, + {"HE", 28, 55, 1, "HEP15", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 55, 2, "HEP15", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 55, 3, "HEP15", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 56, 1, "HEP15", 4, 6, 4, 0, 2, 0, 17, 13, 11, 3, 18, 0}, + {"HE", 28, 56, 2, "HEP15", 4, 18, 4, 1, 2, 1, 17, 13, 11, 3, 18, 0}, + {"HE", 28, 56, 3, "HEP15", 4, 14, 5, 0, 2, 4, 17, 13, 11, 4, 18, 0}, + {"HE", 28, 57, 1, "HEP16", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 57, 2, "HEP16", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 57, 3, "HEP16", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 58, 1, "HEP16", 1, 15, 4, 0, 2, 0, 14, 15, 4, 1, 15, 1}, + {"HE", 28, 58, 2, "HEP16", 1, 2, 4, 1, 2, 1, 14, 15, 4, 1, 15, 1}, + {"HE", 28, 58, 3, "HEP16", 1, 5, 5, 0, 2, 4, 14, 15, 4, 2, 15, 1}, + {"HE", 28, 59, 1, "HEP16", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 59, 2, "HEP16", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 59, 3, "HEP16", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 60, 1, "HEP16", 4, 6, 4, 0, 2, 0, 14, 15, 5, 3, 15, 0}, + {"HE", 28, 60, 2, "HEP16", 4, 18, 4, 1, 2, 1, 14, 15, 5, 3, 15, 0}, + {"HE", 28, 60, 3, "HEP16", 4, 14, 5, 0, 2, 4, 14, 15, 5, 4, 15, 0}, + {"HE", 28, 61, 1, "HEP17", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 61, 2, "HEP17", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 61, 3, "HEP17", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 62, 1, "HEP17", 1, 15, 4, 0, 2, 0, 14, 15, 10, 1, 18, 1}, + {"HE", 28, 62, 2, "HEP17", 1, 2, 4, 1, 2, 1, 14, 15, 10, 1, 18, 1}, + {"HE", 28, 62, 3, "HEP17", 1, 5, 5, 0, 2, 4, 14, 15, 10, 2, 18, 1}, + {"HE", 28, 63, 1, "HEP17", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 63, 2, "HEP17", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 63, 3, "HEP17", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 64, 1, "HEP17", 4, 6, 4, 0, 2, 0, 14, 15, 11, 3, 18, 0}, + {"HE", 28, 64, 2, "HEP17", 4, 18, 4, 1, 2, 1, 14, 15, 11, 3, 18, 0}, + {"HE", 28, 64, 3, "HEP17", 4, 14, 5, 0, 2, 4, 14, 15, 11, 4, 18, 0}, + {"HE", 28, 65, 1, "HEP18", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 65, 2, "HEP18", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 65, 3, "HEP18", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 66, 1, "HEP18", 1, 15, 4, 0, 2, 0, 10, 17, 4, 1, 15, 1}, + {"HE", 28, 66, 2, "HEP18", 1, 2, 4, 1, 2, 1, 10, 17, 4, 1, 15, 1}, + {"HE", 28, 66, 3, "HEP18", 1, 5, 5, 0, 2, 4, 10, 17, 4, 2, 15, 1}, + {"HE", 28, 67, 1, "HEP18", 4, 5, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 67, 2, "HEP18", 3, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 67, 3, "HEP18", 3, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 68, 1, "HEP18", 4, 6, 4, 0, 2, 0, 10, 17, 5, 3, 15, 0}, + {"HE", 28, 68, 2, "HEP18", 4, 18, 4, 1, 2, 1, 10, 17, 5, 3, 15, 0}, + {"HE", 28, 68, 3, "HEP18", 4, 14, 5, 0, 2, 4, 10, 17, 5, 4, 15, 0}, + {"HE", 28, 69, 1, "HEP01", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 69, 2, "HEP01", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 69, 3, "HEP01", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 70, 1, "HEP01", 1, 15, 4, 0, 2, 0, 10, 17, 10, 1, 18, 1}, + {"HE", 28, 70, 2, "HEP01", 1, 2, 4, 1, 2, 1, 10, 17, 10, 1, 18, 1}, + {"HE", 28, 70, 3, "HEP01", 1, 5, 5, 0, 2, 4, 10, 17, 10, 2, 18, 1}, + {"HE", 28, 71, 1, "HEM01", 1, 14, 5, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 71, 2, "HEM01", 2, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 28, 71, 3, "HEM01", 2, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 0, 1, "HEP01", 4, 15, 4, 2, 2, 2, 10, 17, 11, 3, 18, 0}, + {"HE", 29, 0, 2, "HEP01", 3, 15, 4, 2, 2, 2, 10, 17, 11, 1, 18, 0}, + {"HE", 29, 0, 3, "HEP01", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 1, 1, "HEP02", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 1, 2, "HEP02", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 1, 3, "HEP02", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 2, 1, "HEP02", 1, 6, 4, 2, 2, 2, 4, 1, 4, 1, 15, 1}, + {"HE", 29, 2, 2, "HEP02", 2, 6, 4, 2, 2, 2, 4, 1, 4, 3, 15, 1}, + {"HE", 29, 2, 3, "HEP02", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 3, 1, "HEP02", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 3, 2, "HEP02", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 3, 3, "HEP02", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 4, 1, "HEP02", 4, 15, 4, 2, 2, 2, 4, 1, 5, 3, 15, 0}, + {"HE", 29, 4, 2, "HEP02", 3, 15, 4, 2, 2, 2, 4, 1, 5, 1, 15, 0}, + {"HE", 29, 4, 3, "HEP02", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 5, 1, "HEP03", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 5, 2, "HEP03", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 5, 3, "HEP03", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 6, 1, "HEP03", 1, 6, 4, 2, 2, 2, 4, 1, 10, 1, 18, 1}, + {"HE", 29, 6, 2, "HEP03", 2, 6, 4, 2, 2, 2, 4, 1, 10, 3, 18, 1}, + {"HE", 29, 6, 3, "HEP03", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 7, 1, "HEP03", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 7, 2, "HEP03", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 7, 3, "HEP03", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 8, 1, "HEP03", 4, 15, 4, 2, 2, 2, 4, 1, 11, 3, 18, 0}, + {"HE", 29, 8, 2, "HEP03", 3, 15, 4, 2, 2, 2, 4, 1, 11, 1, 18, 0}, + {"HE", 29, 8, 3, "HEP03", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 9, 1, "HEP04", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 9, 2, "HEP04", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 9, 3, "HEP04", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 10, 1, "HEP04", 1, 6, 4, 2, 2, 2, 0, 3, 4, 1, 15, 1}, + {"HE", 29, 10, 2, "HEP04", 2, 6, 4, 2, 2, 2, 0, 3, 4, 3, 15, 1}, + {"HE", 29, 10, 3, "HEP04", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 11, 1, "HEP04", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 11, 2, "HEP04", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 11, 3, "HEP04", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 12, 1, "HEP04", 4, 15, 4, 2, 2, 2, 0, 3, 5, 3, 15, 0}, + {"HE", 29, 12, 2, "HEP04", 3, 15, 4, 2, 2, 2, 0, 3, 5, 1, 15, 0}, + {"HE", 29, 12, 3, "HEP04", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 13, 1, "HEP05", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 13, 2, "HEP05", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 13, 3, "HEP05", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 14, 1, "HEP05", 1, 6, 4, 2, 2, 2, 0, 3, 10, 1, 18, 1}, + {"HE", 29, 14, 2, "HEP05", 2, 6, 4, 2, 2, 2, 0, 3, 10, 3, 18, 1}, + {"HE", 29, 14, 3, "HEP05", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 15, 1, "HEP05", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 15, 2, "HEP05", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 15, 3, "HEP05", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 16, 1, "HEP05", 4, 15, 4, 2, 2, 2, 0, 3, 11, 3, 18, 0}, + {"HE", 29, 16, 2, "HEP05", 3, 15, 4, 2, 2, 2, 0, 3, 11, 1, 18, 0}, + {"HE", 29, 16, 3, "HEP05", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 17, 1, "HEP06", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 17, 2, "HEP06", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 17, 3, "HEP06", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 18, 1, "HEP06", 1, 6, 4, 2, 2, 2, 1, 5, 4, 1, 15, 1}, + {"HE", 29, 18, 2, "HEP06", 2, 6, 4, 2, 2, 2, 1, 5, 4, 3, 15, 1}, + {"HE", 29, 18, 3, "HEP06", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 19, 1, "HEP06", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 19, 2, "HEP06", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 19, 3, "HEP06", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 20, 1, "HEP06", 4, 15, 4, 2, 2, 2, 1, 5, 5, 3, 15, 0}, + {"HE", 29, 20, 2, "HEP06", 3, 15, 4, 2, 2, 2, 1, 5, 5, 1, 15, 0}, + {"HE", 29, 20, 3, "HEP06", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 21, 1, "HEP07", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 21, 2, "HEP07", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 21, 3, "HEP07", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 22, 1, "HEP07", 1, 6, 4, 2, 2, 2, 1, 5, 10, 1, 18, 1}, + {"HE", 29, 22, 2, "HEP07", 2, 6, 4, 2, 2, 2, 1, 5, 10, 3, 18, 1}, + {"HE", 29, 22, 3, "HEP07", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 23, 1, "HEP07", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 23, 2, "HEP07", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 23, 3, "HEP07", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 24, 1, "HEP07", 4, 15, 4, 2, 2, 2, 1, 5, 11, 3, 18, 0}, + {"HE", 29, 24, 2, "HEP07", 3, 15, 4, 2, 2, 2, 1, 5, 11, 1, 18, 0}, + {"HE", 29, 24, 3, "HEP07", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 25, 1, "HEP08", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 25, 2, "HEP08", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 25, 3, "HEP08", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 26, 1, "HEP08", 1, 6, 4, 2, 2, 2, 5, 7, 4, 1, 15, 1}, + {"HE", 29, 26, 2, "HEP08", 2, 6, 4, 2, 2, 2, 5, 7, 4, 3, 15, 1}, + {"HE", 29, 26, 3, "HEP08", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 27, 1, "HEP08", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 27, 2, "HEP08", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 27, 3, "HEP08", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 28, 1, "HEP08", 4, 15, 4, 2, 2, 2, 5, 7, 5, 3, 15, 0}, + {"HE", 29, 28, 2, "HEP08", 3, 15, 4, 2, 2, 2, 5, 7, 5, 1, 15, 0}, + {"HE", 29, 28, 3, "HEP08", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 29, 1, "HEP09", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 29, 2, "HEP09", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 29, 3, "HEP09", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 30, 1, "HEP09", 1, 6, 4, 2, 2, 2, 5, 7, 10, 1, 18, 1}, + {"HE", 29, 30, 2, "HEP09", 2, 6, 4, 2, 2, 2, 5, 7, 10, 3, 18, 1}, + {"HE", 29, 30, 3, "HEP09", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 31, 1, "HEP09", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 31, 2, "HEP09", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 31, 3, "HEP09", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 32, 1, "HEP09", 4, 15, 4, 2, 2, 2, 5, 7, 11, 3, 18, 0}, + {"HE", 29, 32, 2, "HEP09", 3, 15, 4, 2, 2, 2, 5, 7, 11, 1, 18, 0}, + {"HE", 29, 32, 3, "HEP09", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 33, 1, "HEP10", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 33, 2, "HEP10", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 33, 3, "HEP10", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 34, 1, "HEP10", 1, 6, 4, 2, 2, 2, 11, 9, 4, 1, 15, 1}, + {"HE", 29, 34, 2, "HEP10", 2, 6, 4, 2, 2, 2, 11, 9, 4, 3, 15, 1}, + {"HE", 29, 34, 3, "HEP10", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 35, 1, "HEP10", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 35, 2, "HEP10", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 35, 3, "HEP10", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 36, 1, "HEP10", 4, 15, 4, 2, 2, 2, 11, 9, 5, 3, 15, 0}, + {"HE", 29, 36, 2, "HEP10", 3, 15, 4, 2, 2, 2, 11, 9, 5, 1, 15, 0}, + {"HE", 29, 36, 3, "HEP10", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 37, 1, "HEP11", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 37, 2, "HEP11", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 37, 3, "HEP11", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 38, 1, "HEP11", 1, 6, 4, 2, 2, 2, 11, 9, 10, 1, 18, 1}, + {"HE", 29, 38, 2, "HEP11", 2, 6, 4, 2, 2, 2, 11, 9, 10, 3, 18, 1}, + {"HE", 29, 38, 3, "HEP11", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 39, 1, "HEP11", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 39, 2, "HEP11", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 39, 3, "HEP11", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 40, 1, "HEP11", 4, 15, 4, 2, 2, 2, 11, 9, 11, 3, 18, 0}, + {"HE", 29, 40, 2, "HEP11", 3, 15, 4, 2, 2, 2, 11, 9, 11, 1, 18, 0}, + {"HE", 29, 40, 3, "HEP11", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 41, 1, "HEP12", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 41, 2, "HEP12", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 41, 3, "HEP12", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 42, 1, "HEP12", 1, 6, 4, 2, 2, 2, 15, 11, 4, 1, 15, 1}, + {"HE", 29, 42, 2, "HEP12", 2, 6, 4, 2, 2, 2, 15, 11, 4, 3, 15, 1}, + {"HE", 29, 42, 3, "HEP12", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 43, 1, "HEP12", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 43, 2, "HEP12", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 43, 3, "HEP12", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 44, 1, "HEP12", 4, 15, 4, 2, 2, 2, 15, 11, 5, 3, 15, 0}, + {"HE", 29, 44, 2, "HEP12", 3, 15, 4, 2, 2, 2, 15, 11, 5, 1, 15, 0}, + {"HE", 29, 44, 3, "HEP12", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 45, 1, "HEP13", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 45, 2, "HEP13", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 45, 3, "HEP13", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 46, 1, "HEP13", 1, 6, 4, 2, 2, 2, 15, 11, 10, 1, 18, 1}, + {"HE", 29, 46, 2, "HEP13", 2, 6, 4, 2, 2, 2, 15, 11, 10, 3, 18, 1}, + {"HE", 29, 46, 3, "HEP13", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 47, 1, "HEP13", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 47, 2, "HEP13", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 47, 3, "HEP13", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 48, 1, "HEP13", 4, 15, 4, 2, 2, 2, 15, 11, 11, 3, 18, 0}, + {"HE", 29, 48, 2, "HEP13", 3, 15, 4, 2, 2, 2, 15, 11, 11, 1, 18, 0}, + {"HE", 29, 48, 3, "HEP13", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 49, 1, "HEP14", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 49, 2, "HEP14", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 49, 3, "HEP14", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 50, 1, "HEP14", 1, 6, 4, 2, 2, 2, 17, 13, 4, 1, 15, 1}, + {"HE", 29, 50, 2, "HEP14", 2, 6, 4, 2, 2, 2, 17, 13, 4, 3, 15, 1}, + {"HE", 29, 50, 3, "HEP14", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 51, 1, "HEP14", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 51, 2, "HEP14", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 51, 3, "HEP14", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 52, 1, "HEP14", 4, 15, 4, 2, 2, 2, 17, 13, 5, 3, 15, 0}, + {"HE", 29, 52, 2, "HEP14", 3, 15, 4, 2, 2, 2, 17, 13, 5, 1, 15, 0}, + {"HE", 29, 52, 3, "HEP14", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 53, 1, "HEP15", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 53, 2, "HEP15", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 53, 3, "HEP15", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 54, 1, "HEP15", 1, 6, 4, 2, 2, 2, 17, 13, 10, 1, 18, 1}, + {"HE", 29, 54, 2, "HEP15", 2, 6, 4, 2, 2, 2, 17, 13, 10, 3, 18, 1}, + {"HE", 29, 54, 3, "HEP15", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 55, 1, "HEP15", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 55, 2, "HEP15", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 55, 3, "HEP15", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 56, 1, "HEP15", 4, 15, 4, 2, 2, 2, 17, 13, 11, 3, 18, 0}, + {"HE", 29, 56, 2, "HEP15", 3, 15, 4, 2, 2, 2, 17, 13, 11, 1, 18, 0}, + {"HE", 29, 56, 3, "HEP15", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 57, 1, "HEP16", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 57, 2, "HEP16", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 57, 3, "HEP16", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 58, 1, "HEP16", 1, 6, 4, 2, 2, 2, 14, 15, 4, 1, 15, 1}, + {"HE", 29, 58, 2, "HEP16", 2, 6, 4, 2, 2, 2, 14, 15, 4, 3, 15, 1}, + {"HE", 29, 58, 3, "HEP16", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 59, 1, "HEP16", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 59, 2, "HEP16", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 59, 3, "HEP16", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 60, 1, "HEP16", 4, 15, 4, 2, 2, 2, 14, 15, 5, 3, 15, 0}, + {"HE", 29, 60, 2, "HEP16", 3, 15, 4, 2, 2, 2, 14, 15, 5, 1, 15, 0}, + {"HE", 29, 60, 3, "HEP16", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 61, 1, "HEP17", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 61, 2, "HEP17", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 61, 3, "HEP17", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 62, 1, "HEP17", 1, 6, 4, 2, 2, 2, 14, 15, 10, 1, 18, 1}, + {"HE", 29, 62, 2, "HEP17", 2, 6, 4, 2, 2, 2, 14, 15, 10, 3, 18, 1}, + {"HE", 29, 62, 3, "HEP17", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 63, 1, "HEP17", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 63, 2, "HEP17", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 63, 3, "HEP17", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 64, 1, "HEP17", 4, 15, 4, 2, 2, 2, 14, 15, 11, 3, 18, 0}, + {"HE", 29, 64, 2, "HEP17", 3, 15, 4, 2, 2, 2, 14, 15, 11, 1, 18, 0}, + {"HE", 29, 64, 3, "HEP17", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 65, 1, "HEP18", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 65, 2, "HEP18", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 65, 3, "HEP18", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 66, 1, "HEP18", 1, 6, 4, 2, 2, 2, 10, 17, 4, 1, 15, 1}, + {"HE", 29, 66, 2, "HEP18", 2, 6, 4, 2, 2, 2, 10, 17, 4, 3, 15, 1}, + {"HE", 29, 66, 3, "HEP18", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 67, 1, "HEP18", 4, 16, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 67, 2, "HEP18", 4, 19, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 67, 3, "HEP18", 3, 6, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 68, 1, "HEP18", 4, 15, 4, 2, 2, 2, 10, 17, 5, 3, 15, 0}, + {"HE", 29, 68, 2, "HEP18", 3, 15, 4, 2, 2, 2, 10, 17, 5, 1, 15, 0}, + {"HE", 29, 68, 3, "HEP18", 4, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 69, 1, "HEP01", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 69, 2, "HEP01", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 69, 3, "HEP01", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 70, 1, "HEP01", 1, 6, 4, 2, 2, 2, 10, 17, 10, 1, 18, 1}, + {"HE", 29, 70, 2, "HEP01", 2, 6, 4, 2, 2, 2, 10, 17, 10, 3, 18, 1}, + {"HE", 29, 70, 3, "HEP01", 2, 7, 2, 1, 1, 1, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 71, 1, "HEM01", 1, 7, 2, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 71, 2, "HEM01", 1, 3, 3, 2, 1, 3, 0, 0, 0, 1, 0, 0}, + {"HE", 29, 71, 3, "HEM01", 2, 15, 4, 0, 2, 0, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 0, 1, "HFM01", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 0, 2, "HFM01", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 2, 1, "HFM01", 3, 0, 5, 0, 3, 0, 2, 18, 1, 1, 2, 0}, + {"HF", -41, 2, 2, "HFM01", 3, 0, 7, 0, 4, 0, 2, 18, 1, 3, 2, 0}, + {"HF", -41, 4, 1, "HFM02", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 4, 2, "HFM02", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 6, 1, "HFM02", 2, 0, 5, 0, 3, 0, 2, 18, 3, 1, 3, 0}, + {"HF", -41, 6, 2, "HFM02", 2, 0, 7, 0, 4, 0, 2, 18, 3, 3, 3, 0}, + {"HF", -41, 8, 1, "HFM02", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 8, 2, "HFM02", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 10, 1, "HFM03", 1, 0, 5, 0, 3, 0, 2, 18, 5, 1, 4, 0}, + {"HF", -41, 10, 2, "HFM03", 1, 0, 7, 0, 4, 0, 2, 18, 5, 3, 4, 0}, + {"HF", -41, 12, 1, "HFM03", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 12, 2, "HFM03", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 14, 1, "HFM03", 3, 0, 5, 0, 3, 0, 2, 18, 7, 1, 5, 0}, + {"HF", -41, 14, 2, "HFM03", 3, 0, 7, 0, 4, 0, 2, 18, 7, 3, 5, 0}, + {"HF", -41, 16, 1, "HFM04", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 16, 2, "HFM04", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 18, 1, "HFM04", 2, 0, 5, 0, 3, 0, 2, 18, 9, 1, 6, 0}, + {"HF", -41, 18, 2, "HFM04", 2, 0, 7, 0, 4, 0, 2, 18, 9, 3, 6, 0}, + {"HF", -41, 20, 1, "HFM04", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 20, 2, "HFM04", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 22, 1, "HFM05", 1, 0, 5, 0, 3, 0, 2, 18, 11, 1, 7, 0}, + {"HF", -41, 22, 2, "HFM05", 1, 0, 7, 0, 4, 0, 2, 18, 11, 3, 7, 0}, + {"HF", -41, 24, 1, "HFM05", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 24, 2, "HFM05", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 26, 1, "HFM05", 3, 0, 5, 0, 3, 0, 9, 20, 1, 1, 2, 0}, + {"HF", -41, 26, 2, "HFM05", 3, 0, 7, 0, 4, 0, 9, 20, 1, 3, 2, 0}, + {"HF", -41, 28, 1, "HFM06", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 28, 2, "HFM06", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 30, 1, "HFM06", 2, 0, 5, 0, 3, 0, 9, 20, 3, 1, 3, 0}, + {"HF", -41, 30, 2, "HFM06", 2, 0, 7, 0, 4, 0, 9, 20, 3, 3, 3, 0}, + {"HF", -41, 32, 1, "HFM06", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 32, 2, "HFM06", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 34, 1, "HFM07", 1, 0, 5, 0, 3, 0, 9, 20, 5, 1, 4, 0}, + {"HF", -41, 34, 2, "HFM07", 1, 0, 7, 0, 4, 0, 9, 20, 5, 3, 4, 0}, + {"HF", -41, 36, 1, "HFM07", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 36, 2, "HFM07", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 38, 1, "HFM07", 3, 0, 5, 0, 3, 0, 9, 20, 7, 1, 5, 0}, + {"HF", -41, 38, 2, "HFM07", 3, 0, 7, 0, 4, 0, 9, 20, 7, 3, 5, 0}, + {"HF", -41, 40, 1, "HFM08", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 40, 2, "HFM08", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 42, 1, "HFM08", 2, 0, 5, 0, 3, 0, 9, 20, 9, 1, 6, 0}, + {"HF", -41, 42, 2, "HFM08", 2, 0, 7, 0, 4, 0, 9, 20, 9, 3, 6, 0}, + {"HF", -41, 44, 1, "HFM08", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 44, 2, "HFM08", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 46, 1, "HFM09", 1, 0, 5, 0, 3, 0, 9, 20, 11, 1, 7, 0}, + {"HF", -41, 46, 2, "HFM09", 1, 0, 7, 0, 4, 0, 9, 20, 11, 3, 7, 0}, + {"HF", -41, 48, 1, "HFM09", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 48, 2, "HFM09", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 50, 1, "HFM09", 3, 0, 5, 0, 3, 0, 12, 22, 1, 1, 2, 0}, + {"HF", -41, 50, 2, "HFM09", 3, 0, 7, 0, 4, 0, 12, 22, 1, 3, 2, 0}, + {"HF", -41, 52, 1, "HFM10", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 52, 2, "HFM10", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 54, 1, "HFM10", 2, 0, 5, 0, 3, 0, 12, 22, 3, 1, 3, 0}, + {"HF", -41, 54, 2, "HFM10", 2, 0, 7, 0, 4, 0, 12, 22, 3, 3, 3, 0}, + {"HF", -41, 56, 1, "HFM10", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 56, 2, "HFM10", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 58, 1, "HFM11", 1, 0, 5, 0, 3, 0, 12, 22, 5, 1, 4, 0}, + {"HF", -41, 58, 2, "HFM11", 1, 0, 7, 0, 4, 0, 12, 22, 5, 3, 4, 0}, + {"HF", -41, 60, 1, "HFM11", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 60, 2, "HFM11", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 62, 1, "HFM11", 3, 0, 5, 0, 3, 0, 12, 22, 7, 1, 5, 0}, + {"HF", -41, 62, 2, "HFM11", 3, 0, 7, 0, 4, 0, 12, 22, 7, 3, 5, 0}, + {"HF", -41, 64, 1, "HFM12", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 64, 2, "HFM12", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 66, 1, "HFM12", 2, 0, 5, 0, 3, 0, 12, 22, 9, 1, 6, 0}, + {"HF", -41, 66, 2, "HFM12", 2, 0, 7, 0, 4, 0, 12, 22, 9, 3, 6, 0}, + {"HF", -41, 68, 1, "HFM12", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 68, 2, "HFM12", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", -41, 70, 1, "HFM01", 1, 0, 5, 0, 3, 0, 12, 22, 11, 1, 7, 0}, + {"HF", -41, 70, 2, "HFM01", 1, 0, 7, 0, 4, 0, 12, 22, 11, 3, 7, 0}, + {"HF", -40, 0, 1, "HFM01", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 0, 2, "HFM01", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 2, 1, "HFM01", 2, 0, 7, 0, 4, 0, 2, 18, 1, 7, 2, 0}, + {"HF", -40, 2, 2, "HFM01", 2, 0, 5, 0, 3, 0, 2, 18, 1, 5, 2, 0}, + {"HF", -40, 4, 1, "HFM02", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 4, 2, "HFM02", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 6, 1, "HFM02", 1, 0, 7, 0, 4, 0, 2, 18, 3, 7, 3, 0}, + {"HF", -40, 6, 2, "HFM02", 1, 0, 5, 0, 3, 0, 2, 18, 3, 5, 3, 0}, + {"HF", -40, 8, 1, "HFM02", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 8, 2, "HFM02", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 10, 1, "HFM02", 3, 0, 7, 0, 4, 0, 2, 18, 5, 7, 4, 0}, + {"HF", -40, 10, 2, "HFM02", 3, 0, 5, 0, 3, 0, 2, 18, 5, 5, 4, 0}, + {"HF", -40, 12, 1, "HFM03", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 12, 2, "HFM03", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 14, 1, "HFM03", 2, 0, 7, 0, 4, 0, 2, 18, 7, 7, 5, 0}, + {"HF", -40, 14, 2, "HFM03", 2, 0, 5, 0, 3, 0, 2, 18, 7, 5, 5, 0}, + {"HF", -40, 16, 1, "HFM04", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 16, 2, "HFM04", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 18, 1, "HFM04", 1, 0, 7, 0, 4, 0, 2, 18, 9, 7, 6, 0}, + {"HF", -40, 18, 2, "HFM04", 1, 0, 5, 0, 3, 0, 2, 18, 9, 5, 6, 0}, + {"HF", -40, 20, 1, "HFM04", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 20, 2, "HFM04", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 22, 1, "HFM04", 3, 0, 7, 0, 4, 0, 2, 18, 11, 7, 7, 0}, + {"HF", -40, 22, 2, "HFM04", 3, 0, 5, 0, 3, 0, 2, 18, 11, 5, 7, 0}, + {"HF", -40, 24, 1, "HFM05", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 24, 2, "HFM05", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 26, 1, "HFM05", 2, 0, 7, 0, 4, 0, 9, 20, 1, 7, 2, 0}, + {"HF", -40, 26, 2, "HFM05", 2, 0, 5, 0, 3, 0, 9, 20, 1, 5, 2, 0}, + {"HF", -40, 28, 1, "HFM06", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 28, 2, "HFM06", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 30, 1, "HFM06", 1, 0, 7, 0, 4, 0, 9, 20, 3, 7, 3, 0}, + {"HF", -40, 30, 2, "HFM06", 1, 0, 5, 0, 3, 0, 9, 20, 3, 5, 3, 0}, + {"HF", -40, 32, 1, "HFM06", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 32, 2, "HFM06", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 34, 1, "HFM06", 3, 0, 7, 0, 4, 0, 9, 20, 5, 7, 4, 0}, + {"HF", -40, 34, 2, "HFM06", 3, 0, 5, 0, 3, 0, 9, 20, 5, 5, 4, 0}, + {"HF", -40, 36, 1, "HFM07", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 36, 2, "HFM07", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 38, 1, "HFM07", 2, 0, 7, 0, 4, 0, 9, 20, 7, 7, 5, 0}, + {"HF", -40, 38, 2, "HFM07", 2, 0, 5, 0, 3, 0, 9, 20, 7, 5, 5, 0}, + {"HF", -40, 40, 1, "HFM08", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 40, 2, "HFM08", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 42, 1, "HFM08", 1, 0, 7, 0, 4, 0, 9, 20, 9, 7, 6, 0}, + {"HF", -40, 42, 2, "HFM08", 1, 0, 5, 0, 3, 0, 9, 20, 9, 5, 6, 0}, + {"HF", -40, 44, 1, "HFM08", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 44, 2, "HFM08", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 46, 1, "HFM08", 3, 0, 7, 0, 4, 0, 9, 20, 11, 7, 7, 0}, + {"HF", -40, 46, 2, "HFM08", 3, 0, 5, 0, 3, 0, 9, 20, 11, 5, 7, 0}, + {"HF", -40, 48, 1, "HFM09", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 48, 2, "HFM09", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 50, 1, "HFM09", 2, 0, 7, 0, 4, 0, 12, 22, 1, 7, 2, 0}, + {"HF", -40, 50, 2, "HFM09", 2, 0, 5, 0, 3, 0, 12, 22, 1, 5, 2, 0}, + {"HF", -40, 52, 1, "HFM10", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 52, 2, "HFM10", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 54, 1, "HFM10", 1, 0, 7, 0, 4, 0, 12, 22, 3, 7, 3, 0}, + {"HF", -40, 54, 2, "HFM10", 1, 0, 5, 0, 3, 0, 12, 22, 3, 5, 3, 0}, + {"HF", -40, 56, 1, "HFM10", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 56, 2, "HFM10", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 58, 1, "HFM10", 3, 0, 7, 0, 4, 0, 12, 22, 5, 7, 4, 0}, + {"HF", -40, 58, 2, "HFM10", 3, 0, 5, 0, 3, 0, 12, 22, 5, 5, 4, 0}, + {"HF", -40, 60, 1, "HFM11", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 60, 2, "HFM11", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 62, 1, "HFM11", 2, 0, 7, 0, 4, 0, 12, 22, 7, 7, 5, 0}, + {"HF", -40, 62, 2, "HFM11", 2, 0, 5, 0, 3, 0, 12, 22, 7, 5, 5, 0}, + {"HF", -40, 64, 1, "HFM12", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 64, 2, "HFM12", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 66, 1, "HFM12", 1, 0, 7, 0, 4, 0, 12, 22, 9, 7, 6, 0}, + {"HF", -40, 66, 2, "HFM12", 1, 0, 5, 0, 3, 0, 12, 22, 9, 5, 6, 0}, + {"HF", -40, 68, 1, "HFM12", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 68, 2, "HFM12", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", -40, 70, 1, "HFM12", 3, 0, 7, 0, 4, 0, 12, 22, 11, 7, 7, 0}, + {"HF", -40, 70, 2, "HFM12", 3, 0, 5, 0, 3, 0, 12, 22, 11, 5, 7, 0}, + {"HF", -39, 0, 1, "HFM01", 1, 0, 6, 2, 3, 3, 12, 22, 11, 2, 7, 0}, + {"HF", -39, 0, 2, "HFM01", 1, 0, 8, 2, 4, 3, 12, 22, 11, 4, 7, 0}, + {"HF", -39, 2, 1, "HFM01", 2, 0, 8, 2, 4, 3, 2, 18, 1, 8, 2, 0}, + {"HF", -39, 2, 2, "HFM01", 2, 0, 6, 2, 3, 3, 2, 18, 1, 6, 2, 0}, + {"HF", -39, 4, 1, "HFM01", 3, 0, 6, 2, 3, 3, 2, 18, 1, 2, 2, 0}, + {"HF", -39, 4, 2, "HFM01", 3, 0, 8, 2, 4, 3, 2, 18, 1, 4, 2, 0}, + {"HF", -39, 6, 1, "HFM02", 1, 0, 8, 2, 4, 3, 2, 18, 3, 8, 3, 0}, + {"HF", -39, 6, 2, "HFM02", 1, 0, 6, 2, 3, 3, 2, 18, 3, 6, 3, 0}, + {"HF", -39, 8, 1, "HFM02", 2, 0, 6, 2, 3, 3, 2, 18, 3, 2, 3, 0}, + {"HF", -39, 8, 2, "HFM02", 2, 0, 8, 2, 4, 3, 2, 18, 3, 4, 3, 0}, + {"HF", -39, 10, 1, "HFM02", 3, 0, 8, 2, 4, 3, 2, 18, 5, 8, 4, 0}, + {"HF", -39, 10, 2, "HFM02", 3, 0, 6, 2, 3, 3, 2, 18, 5, 6, 4, 0}, + {"HF", -39, 12, 1, "HFM03", 1, 0, 6, 2, 3, 3, 2, 18, 5, 2, 4, 0}, + {"HF", -39, 12, 2, "HFM03", 1, 0, 8, 2, 4, 3, 2, 18, 5, 4, 4, 0}, + {"HF", -39, 14, 1, "HFM03", 2, 0, 8, 2, 4, 3, 2, 18, 7, 8, 5, 0}, + {"HF", -39, 14, 2, "HFM03", 2, 0, 6, 2, 3, 3, 2, 18, 7, 6, 5, 0}, + {"HF", -39, 16, 1, "HFM03", 3, 0, 6, 2, 3, 3, 2, 18, 7, 2, 5, 0}, + {"HF", -39, 16, 2, "HFM03", 3, 0, 8, 2, 4, 3, 2, 18, 7, 4, 5, 0}, + {"HF", -39, 18, 1, "HFM04", 1, 0, 8, 2, 4, 3, 2, 18, 9, 8, 6, 0}, + {"HF", -39, 18, 2, "HFM04", 1, 0, 6, 2, 3, 3, 2, 18, 9, 6, 6, 0}, + {"HF", -39, 20, 1, "HFM04", 2, 0, 6, 2, 3, 3, 2, 18, 9, 2, 6, 0}, + {"HF", -39, 20, 2, "HFM04", 2, 0, 8, 2, 4, 3, 2, 18, 9, 4, 6, 0}, + {"HF", -39, 22, 1, "HFM04", 3, 0, 8, 2, 4, 3, 2, 18, 11, 8, 7, 0}, + {"HF", -39, 22, 2, "HFM04", 3, 0, 6, 2, 3, 3, 2, 18, 11, 6, 7, 0}, + {"HF", -39, 24, 1, "HFM05", 1, 0, 6, 2, 3, 3, 2, 18, 11, 2, 7, 0}, + {"HF", -39, 24, 2, "HFM05", 1, 0, 8, 2, 4, 3, 2, 18, 11, 4, 7, 0}, + {"HF", -39, 26, 1, "HFM05", 2, 0, 8, 2, 4, 3, 9, 20, 1, 8, 2, 0}, + {"HF", -39, 26, 2, "HFM05", 2, 0, 6, 2, 3, 3, 9, 20, 1, 6, 2, 0}, + {"HF", -39, 28, 1, "HFM05", 3, 0, 6, 2, 3, 3, 9, 20, 1, 2, 2, 0}, + {"HF", -39, 28, 2, "HFM05", 3, 0, 8, 2, 4, 3, 9, 20, 1, 4, 2, 0}, + {"HF", -39, 30, 1, "HFM06", 1, 0, 8, 2, 4, 3, 9, 20, 3, 8, 3, 0}, + {"HF", -39, 30, 2, "HFM06", 1, 0, 6, 2, 3, 3, 9, 20, 3, 6, 3, 0}, + {"HF", -39, 32, 1, "HFM06", 2, 0, 6, 2, 3, 3, 9, 20, 3, 2, 3, 0}, + {"HF", -39, 32, 2, "HFM06", 2, 0, 8, 2, 4, 3, 9, 20, 3, 4, 3, 0}, + {"HF", -39, 34, 1, "HFM06", 3, 0, 8, 2, 4, 3, 9, 20, 5, 8, 4, 0}, + {"HF", -39, 34, 2, "HFM06", 3, 0, 6, 2, 3, 3, 9, 20, 5, 6, 4, 0}, + {"HF", -39, 36, 1, "HFM07", 1, 0, 6, 2, 3, 3, 9, 20, 5, 2, 4, 0}, + {"HF", -39, 36, 2, "HFM07", 1, 0, 8, 2, 4, 3, 9, 20, 5, 4, 4, 0}, + {"HF", -39, 38, 1, "HFM07", 2, 0, 8, 2, 4, 3, 9, 20, 7, 8, 5, 0}, + {"HF", -39, 38, 2, "HFM07", 2, 0, 6, 2, 3, 3, 9, 20, 7, 6, 5, 0}, + {"HF", -39, 40, 1, "HFM07", 3, 0, 6, 2, 3, 3, 9, 20, 7, 2, 5, 0}, + {"HF", -39, 40, 2, "HFM07", 3, 0, 8, 2, 4, 3, 9, 20, 7, 4, 5, 0}, + {"HF", -39, 42, 1, "HFM08", 1, 0, 8, 2, 4, 3, 9, 20, 9, 8, 6, 0}, + {"HF", -39, 42, 2, "HFM08", 1, 0, 6, 2, 3, 3, 9, 20, 9, 6, 6, 0}, + {"HF", -39, 44, 1, "HFM08", 2, 0, 6, 2, 3, 3, 9, 20, 9, 2, 6, 0}, + {"HF", -39, 44, 2, "HFM08", 2, 0, 8, 2, 4, 3, 9, 20, 9, 4, 6, 0}, + {"HF", -39, 46, 1, "HFM08", 3, 0, 8, 2, 4, 3, 9, 20, 11, 8, 7, 0}, + {"HF", -39, 46, 2, "HFM08", 3, 0, 6, 2, 3, 3, 9, 20, 11, 6, 7, 0}, + {"HF", -39, 48, 1, "HFM09", 1, 0, 6, 2, 3, 3, 9, 20, 11, 2, 7, 0}, + {"HF", -39, 48, 2, "HFM09", 1, 0, 8, 2, 4, 3, 9, 20, 11, 4, 7, 0}, + {"HF", -39, 50, 1, "HFM09", 2, 0, 8, 2, 4, 3, 12, 22, 1, 8, 2, 0}, + {"HF", -39, 50, 2, "HFM09", 2, 0, 6, 2, 3, 3, 12, 22, 1, 6, 2, 0}, + {"HF", -39, 52, 1, "HFM09", 3, 0, 6, 2, 3, 3, 12, 22, 1, 2, 2, 0}, + {"HF", -39, 52, 2, "HFM09", 3, 0, 8, 2, 4, 3, 12, 22, 1, 4, 2, 0}, + {"HF", -39, 54, 1, "HFM10", 1, 0, 8, 2, 4, 3, 12, 22, 3, 8, 3, 0}, + {"HF", -39, 54, 2, "HFM10", 1, 0, 6, 2, 3, 3, 12, 22, 3, 6, 3, 0}, + {"HF", -39, 56, 1, "HFM10", 2, 0, 6, 2, 3, 3, 12, 22, 3, 2, 3, 0}, + {"HF", -39, 56, 2, "HFM10", 2, 0, 8, 2, 4, 3, 12, 22, 3, 4, 3, 0}, + {"HF", -39, 58, 1, "HFM10", 3, 0, 8, 2, 4, 3, 12, 22, 5, 8, 4, 0}, + {"HF", -39, 58, 2, "HFM10", 3, 0, 6, 2, 3, 3, 12, 22, 5, 6, 4, 0}, + {"HF", -39, 60, 1, "HFM11", 1, 0, 6, 2, 3, 3, 12, 22, 5, 2, 4, 0}, + {"HF", -39, 60, 2, "HFM11", 1, 0, 8, 2, 4, 3, 12, 22, 5, 4, 4, 0}, + {"HF", -39, 62, 1, "HFM11", 2, 0, 8, 2, 4, 3, 12, 22, 7, 8, 5, 0}, + {"HF", -39, 62, 2, "HFM11", 2, 0, 6, 2, 3, 3, 12, 22, 7, 6, 5, 0}, + {"HF", -39, 64, 1, "HFM11", 3, 0, 6, 2, 3, 3, 12, 22, 7, 2, 5, 0}, + {"HF", -39, 64, 2, "HFM11", 3, 0, 8, 2, 4, 3, 12, 22, 7, 4, 5, 0}, + {"HF", -39, 66, 1, "HFM12", 1, 0, 8, 2, 4, 3, 12, 22, 9, 8, 6, 0}, + {"HF", -39, 66, 2, "HFM12", 1, 0, 6, 2, 3, 3, 12, 22, 9, 6, 6, 0}, + {"HF", -39, 68, 1, "HFM12", 2, 0, 6, 2, 3, 3, 12, 22, 9, 2, 6, 0}, + {"HF", -39, 68, 2, "HFM12", 2, 0, 8, 2, 4, 3, 12, 22, 9, 4, 6, 0}, + {"HF", -39, 70, 1, "HFM12", 3, 0, 8, 2, 4, 3, 12, 22, 11, 8, 7, 0}, + {"HF", -39, 70, 2, "HFM12", 3, 0, 6, 2, 3, 3, 12, 22, 11, 6, 7, 0}, + {"HF", -38, 0, 1, "HFM01", 1, 0, 6, 0, 3, 4, 12, 22, 11, 2, 7, 0}, + {"HF", -38, 0, 2, "HFM01", 1, 0, 8, 0, 4, 4, 12, 22, 11, 4, 7, 0}, + {"HF", -38, 2, 1, "HFM01", 2, 0, 7, 1, 4, 1, 2, 18, 1, 7, 2, 0}, + {"HF", -38, 2, 2, "HFM01", 2, 0, 5, 1, 3, 1, 2, 18, 1, 5, 2, 0}, + {"HF", -38, 4, 1, "HFM01", 3, 0, 6, 0, 3, 4, 2, 18, 1, 2, 2, 0}, + {"HF", -38, 4, 2, "HFM01", 3, 0, 8, 0, 4, 4, 2, 18, 1, 4, 2, 0}, + {"HF", -38, 6, 1, "HFM02", 1, 0, 7, 1, 4, 1, 2, 18, 3, 7, 3, 0}, + {"HF", -38, 6, 2, "HFM02", 1, 0, 5, 1, 3, 1, 2, 18, 3, 5, 3, 0}, + {"HF", -38, 8, 1, "HFM02", 2, 0, 6, 0, 3, 4, 2, 18, 3, 2, 3, 0}, + {"HF", -38, 8, 2, "HFM02", 2, 0, 8, 0, 4, 4, 2, 18, 3, 4, 3, 0}, + {"HF", -38, 10, 1, "HFM02", 3, 0, 7, 1, 4, 1, 2, 18, 5, 7, 4, 0}, + {"HF", -38, 10, 2, "HFM02", 3, 0, 5, 1, 3, 1, 2, 18, 5, 5, 4, 0}, + {"HF", -38, 12, 1, "HFM03", 1, 0, 6, 0, 3, 4, 2, 18, 5, 2, 4, 0}, + {"HF", -38, 12, 2, "HFM03", 1, 0, 8, 0, 4, 4, 2, 18, 5, 4, 4, 0}, + {"HF", -38, 14, 1, "HFM03", 2, 0, 7, 1, 4, 1, 2, 18, 7, 7, 5, 0}, + {"HF", -38, 14, 2, "HFM03", 2, 0, 5, 1, 3, 1, 2, 18, 7, 5, 5, 0}, + {"HF", -38, 16, 1, "HFM03", 3, 0, 6, 0, 3, 4, 2, 18, 7, 2, 5, 0}, + {"HF", -38, 16, 2, "HFM03", 3, 0, 8, 0, 4, 4, 2, 18, 7, 4, 5, 0}, + {"HF", -38, 18, 1, "HFM04", 1, 0, 7, 1, 4, 1, 2, 18, 9, 7, 6, 0}, + {"HF", -38, 18, 2, "HFM04", 1, 0, 5, 1, 3, 1, 2, 18, 9, 5, 6, 0}, + {"HF", -38, 20, 1, "HFM04", 2, 0, 6, 0, 3, 4, 2, 18, 9, 2, 6, 0}, + {"HF", -38, 20, 2, "HFM04", 2, 0, 8, 0, 4, 4, 2, 18, 9, 4, 6, 0}, + {"HF", -38, 22, 1, "HFM04", 3, 0, 7, 1, 4, 1, 2, 18, 11, 7, 7, 0}, + {"HF", -38, 22, 2, "HFM04", 3, 0, 5, 1, 3, 1, 2, 18, 11, 5, 7, 0}, + {"HF", -38, 24, 1, "HFM05", 1, 0, 6, 0, 3, 4, 2, 18, 11, 2, 7, 0}, + {"HF", -38, 24, 2, "HFM05", 1, 0, 8, 0, 4, 4, 2, 18, 11, 4, 7, 0}, + {"HF", -38, 26, 1, "HFM05", 2, 0, 7, 1, 4, 1, 9, 20, 1, 7, 2, 0}, + {"HF", -38, 26, 2, "HFM05", 2, 0, 5, 1, 3, 1, 9, 20, 1, 5, 2, 0}, + {"HF", -38, 28, 1, "HFM05", 3, 0, 6, 0, 3, 4, 9, 20, 1, 2, 2, 0}, + {"HF", -38, 28, 2, "HFM05", 3, 0, 8, 0, 4, 4, 9, 20, 1, 4, 2, 0}, + {"HF", -38, 30, 1, "HFM06", 1, 0, 7, 1, 4, 1, 9, 20, 3, 7, 3, 0}, + {"HF", -38, 30, 2, "HFM06", 1, 0, 5, 1, 3, 1, 9, 20, 3, 5, 3, 0}, + {"HF", -38, 32, 1, "HFM06", 2, 0, 6, 0, 3, 4, 9, 20, 3, 2, 3, 0}, + {"HF", -38, 32, 2, "HFM06", 2, 0, 8, 0, 4, 4, 9, 20, 3, 4, 3, 0}, + {"HF", -38, 34, 1, "HFM06", 3, 0, 7, 1, 4, 1, 9, 20, 5, 7, 4, 0}, + {"HF", -38, 34, 2, "HFM06", 3, 0, 5, 1, 3, 1, 9, 20, 5, 5, 4, 0}, + {"HF", -38, 36, 1, "HFM07", 1, 0, 6, 0, 3, 4, 9, 20, 5, 2, 4, 0}, + {"HF", -38, 36, 2, "HFM07", 1, 0, 8, 0, 4, 4, 9, 20, 5, 4, 4, 0}, + {"HF", -38, 38, 1, "HFM07", 2, 0, 7, 1, 4, 1, 9, 20, 7, 7, 5, 0}, + {"HF", -38, 38, 2, "HFM07", 2, 0, 5, 1, 3, 1, 9, 20, 7, 5, 5, 0}, + {"HF", -38, 40, 1, "HFM07", 3, 0, 6, 0, 3, 4, 9, 20, 7, 2, 5, 0}, + {"HF", -38, 40, 2, "HFM07", 3, 0, 8, 0, 4, 4, 9, 20, 7, 4, 5, 0}, + {"HF", -38, 42, 1, "HFM08", 1, 0, 7, 1, 4, 1, 9, 20, 9, 7, 6, 0}, + {"HF", -38, 42, 2, "HFM08", 1, 0, 5, 1, 3, 1, 9, 20, 9, 5, 6, 0}, + {"HF", -38, 44, 1, "HFM08", 2, 0, 6, 0, 3, 4, 9, 20, 9, 2, 6, 0}, + {"HF", -38, 44, 2, "HFM08", 2, 0, 8, 0, 4, 4, 9, 20, 9, 4, 6, 0}, + {"HF", -38, 46, 1, "HFM08", 3, 0, 7, 1, 4, 1, 9, 20, 11, 7, 7, 0}, + {"HF", -38, 46, 2, "HFM08", 3, 0, 5, 1, 3, 1, 9, 20, 11, 5, 7, 0}, + {"HF", -38, 48, 1, "HFM09", 1, 0, 6, 0, 3, 4, 9, 20, 11, 2, 7, 0}, + {"HF", -38, 48, 2, "HFM09", 1, 0, 8, 0, 4, 4, 9, 20, 11, 4, 7, 0}, + {"HF", -38, 50, 1, "HFM09", 2, 0, 7, 1, 4, 1, 12, 22, 1, 7, 2, 0}, + {"HF", -38, 50, 2, "HFM09", 2, 0, 5, 1, 3, 1, 12, 22, 1, 5, 2, 0}, + {"HF", -38, 52, 1, "HFM09", 3, 0, 6, 0, 3, 4, 12, 22, 1, 2, 2, 0}, + {"HF", -38, 52, 2, "HFM09", 3, 0, 8, 0, 4, 4, 12, 22, 1, 4, 2, 0}, + {"HF", -38, 54, 1, "HFM10", 1, 0, 7, 1, 4, 1, 12, 22, 3, 7, 3, 0}, + {"HF", -38, 54, 2, "HFM10", 1, 0, 5, 1, 3, 1, 12, 22, 3, 5, 3, 0}, + {"HF", -38, 56, 1, "HFM10", 2, 0, 6, 0, 3, 4, 12, 22, 3, 2, 3, 0}, + {"HF", -38, 56, 2, "HFM10", 2, 0, 8, 0, 4, 4, 12, 22, 3, 4, 3, 0}, + {"HF", -38, 58, 1, "HFM10", 3, 0, 7, 1, 4, 1, 12, 22, 5, 7, 4, 0}, + {"HF", -38, 58, 2, "HFM10", 3, 0, 5, 1, 3, 1, 12, 22, 5, 5, 4, 0}, + {"HF", -38, 60, 1, "HFM11", 1, 0, 6, 0, 3, 4, 12, 22, 5, 2, 4, 0}, + {"HF", -38, 60, 2, "HFM11", 1, 0, 8, 0, 4, 4, 12, 22, 5, 4, 4, 0}, + {"HF", -38, 62, 1, "HFM11", 2, 0, 7, 1, 4, 1, 12, 22, 7, 7, 5, 0}, + {"HF", -38, 62, 2, "HFM11", 2, 0, 5, 1, 3, 1, 12, 22, 7, 5, 5, 0}, + {"HF", -38, 64, 1, "HFM11", 3, 0, 6, 0, 3, 4, 12, 22, 7, 2, 5, 0}, + {"HF", -38, 64, 2, "HFM11", 3, 0, 8, 0, 4, 4, 12, 22, 7, 4, 5, 0}, + {"HF", -38, 66, 1, "HFM12", 1, 0, 7, 1, 4, 1, 12, 22, 9, 7, 6, 0}, + {"HF", -38, 66, 2, "HFM12", 1, 0, 5, 1, 3, 1, 12, 22, 9, 5, 6, 0}, + {"HF", -38, 68, 1, "HFM12", 2, 0, 6, 0, 3, 4, 12, 22, 9, 2, 6, 0}, + {"HF", -38, 68, 2, "HFM12", 2, 0, 8, 0, 4, 4, 12, 22, 9, 4, 6, 0}, + {"HF", -38, 70, 1, "HFM12", 3, 0, 7, 1, 4, 1, 12, 22, 11, 7, 7, 0}, + {"HF", -38, 70, 2, "HFM12", 3, 0, 5, 1, 3, 1, 12, 22, 11, 5, 7, 0}, + {"HF", -37, 0, 1, "HFM01", 1, 0, 5, 1, 3, 1, 12, 22, 11, 1, 7, 0}, + {"HF", -37, 0, 2, "HFM01", 1, 0, 7, 1, 4, 1, 12, 22, 11, 3, 7, 0}, + {"HF", -37, 2, 1, "HFM01", 2, 0, 8, 0, 4, 4, 2, 18, 1, 8, 2, 0}, + {"HF", -37, 2, 2, "HFM01", 2, 0, 6, 0, 3, 4, 2, 18, 1, 6, 2, 0}, + {"HF", -37, 4, 1, "HFM01", 3, 0, 5, 1, 3, 1, 2, 18, 1, 1, 2, 0}, + {"HF", -37, 4, 2, "HFM01", 3, 0, 7, 1, 4, 1, 2, 18, 1, 3, 2, 0}, + {"HF", -37, 6, 1, "HFM02", 1, 0, 8, 0, 4, 4, 2, 18, 3, 8, 3, 0}, + {"HF", -37, 6, 2, "HFM02", 1, 0, 6, 0, 3, 4, 2, 18, 3, 6, 3, 0}, + {"HF", -37, 8, 1, "HFM02", 2, 0, 5, 1, 3, 1, 2, 18, 3, 1, 3, 0}, + {"HF", -37, 8, 2, "HFM02", 2, 0, 7, 1, 4, 1, 2, 18, 3, 3, 3, 0}, + {"HF", -37, 10, 1, "HFM02", 3, 0, 8, 0, 4, 4, 2, 18, 5, 8, 4, 0}, + {"HF", -37, 10, 2, "HFM02", 3, 0, 6, 0, 3, 4, 2, 18, 5, 6, 4, 0}, + {"HF", -37, 12, 1, "HFM03", 1, 0, 5, 1, 3, 1, 2, 18, 5, 1, 4, 0}, + {"HF", -37, 12, 2, "HFM03", 1, 0, 7, 1, 4, 1, 2, 18, 5, 3, 4, 0}, + {"HF", -37, 14, 1, "HFM03", 2, 0, 8, 0, 4, 4, 2, 18, 7, 8, 5, 0}, + {"HF", -37, 14, 2, "HFM03", 2, 0, 6, 0, 3, 4, 2, 18, 7, 6, 5, 0}, + {"HF", -37, 16, 1, "HFM03", 3, 0, 5, 1, 3, 1, 2, 18, 7, 1, 5, 0}, + {"HF", -37, 16, 2, "HFM03", 3, 0, 7, 1, 4, 1, 2, 18, 7, 3, 5, 0}, + {"HF", -37, 18, 1, "HFM04", 1, 0, 8, 0, 4, 4, 2, 18, 9, 8, 6, 0}, + {"HF", -37, 18, 2, "HFM04", 1, 0, 6, 0, 3, 4, 2, 18, 9, 6, 6, 0}, + {"HF", -37, 20, 1, "HFM04", 2, 0, 5, 1, 3, 1, 2, 18, 9, 1, 6, 0}, + {"HF", -37, 20, 2, "HFM04", 2, 0, 7, 1, 4, 1, 2, 18, 9, 3, 6, 0}, + {"HF", -37, 22, 1, "HFM04", 3, 0, 8, 0, 4, 4, 2, 18, 11, 8, 7, 0}, + {"HF", -37, 22, 2, "HFM04", 3, 0, 6, 0, 3, 4, 2, 18, 11, 6, 7, 0}, + {"HF", -37, 24, 1, "HFM05", 1, 0, 5, 1, 3, 1, 2, 18, 11, 1, 7, 0}, + {"HF", -37, 24, 2, "HFM05", 1, 0, 7, 1, 4, 1, 2, 18, 11, 3, 7, 0}, + {"HF", -37, 26, 1, "HFM05", 2, 0, 8, 0, 4, 4, 9, 20, 1, 8, 2, 0}, + {"HF", -37, 26, 2, "HFM05", 2, 0, 6, 0, 3, 4, 9, 20, 1, 6, 2, 0}, + {"HF", -37, 28, 1, "HFM05", 3, 0, 5, 1, 3, 1, 9, 20, 1, 1, 2, 0}, + {"HF", -37, 28, 2, "HFM05", 3, 0, 7, 1, 4, 1, 9, 20, 1, 3, 2, 0}, + {"HF", -37, 30, 1, "HFM06", 1, 0, 8, 0, 4, 4, 9, 20, 3, 8, 3, 0}, + {"HF", -37, 30, 2, "HFM06", 1, 0, 6, 0, 3, 4, 9, 20, 3, 6, 3, 0}, + {"HF", -37, 32, 1, "HFM06", 2, 0, 5, 1, 3, 1, 9, 20, 3, 1, 3, 0}, + {"HF", -37, 32, 2, "HFM06", 2, 0, 7, 1, 4, 1, 9, 20, 3, 3, 3, 0}, + {"HF", -37, 34, 1, "HFM06", 3, 0, 8, 0, 4, 4, 9, 20, 5, 8, 4, 0}, + {"HF", -37, 34, 2, "HFM06", 3, 0, 6, 0, 3, 4, 9, 20, 5, 6, 4, 0}, + {"HF", -37, 36, 1, "HFM07", 1, 0, 5, 1, 3, 1, 9, 20, 5, 1, 4, 0}, + {"HF", -37, 36, 2, "HFM07", 1, 0, 7, 1, 4, 1, 9, 20, 5, 3, 4, 0}, + {"HF", -37, 38, 1, "HFM07", 2, 0, 8, 0, 4, 4, 9, 20, 7, 8, 5, 0}, + {"HF", -37, 38, 2, "HFM07", 2, 0, 6, 0, 3, 4, 9, 20, 7, 6, 5, 0}, + {"HF", -37, 40, 1, "HFM07", 3, 0, 5, 1, 3, 1, 9, 20, 7, 1, 5, 0}, + {"HF", -37, 40, 2, "HFM07", 3, 0, 7, 1, 4, 1, 9, 20, 7, 3, 5, 0}, + {"HF", -37, 42, 1, "HFM08", 1, 0, 8, 0, 4, 4, 9, 20, 9, 8, 6, 0}, + {"HF", -37, 42, 2, "HFM08", 1, 0, 6, 0, 3, 4, 9, 20, 9, 6, 6, 0}, + {"HF", -37, 44, 1, "HFM08", 2, 0, 5, 1, 3, 1, 9, 20, 9, 1, 6, 0}, + {"HF", -37, 44, 2, "HFM08", 2, 0, 7, 1, 4, 1, 9, 20, 9, 3, 6, 0}, + {"HF", -37, 46, 1, "HFM08", 3, 0, 8, 0, 4, 4, 9, 20, 11, 8, 7, 0}, + {"HF", -37, 46, 2, "HFM08", 3, 0, 6, 0, 3, 4, 9, 20, 11, 6, 7, 0}, + {"HF", -37, 48, 1, "HFM09", 1, 0, 5, 1, 3, 1, 9, 20, 11, 1, 7, 0}, + {"HF", -37, 48, 2, "HFM09", 1, 0, 7, 1, 4, 1, 9, 20, 11, 3, 7, 0}, + {"HF", -37, 50, 1, "HFM09", 2, 0, 8, 0, 4, 4, 12, 22, 1, 8, 2, 0}, + {"HF", -37, 50, 2, "HFM09", 2, 0, 6, 0, 3, 4, 12, 22, 1, 6, 2, 0}, + {"HF", -37, 52, 1, "HFM09", 3, 0, 5, 1, 3, 1, 12, 22, 1, 1, 2, 0}, + {"HF", -37, 52, 2, "HFM09", 3, 0, 7, 1, 4, 1, 12, 22, 1, 3, 2, 0}, + {"HF", -37, 54, 1, "HFM10", 1, 0, 8, 0, 4, 4, 12, 22, 3, 8, 3, 0}, + {"HF", -37, 54, 2, "HFM10", 1, 0, 6, 0, 3, 4, 12, 22, 3, 6, 3, 0}, + {"HF", -37, 56, 1, "HFM10", 2, 0, 5, 1, 3, 1, 12, 22, 3, 1, 3, 0}, + {"HF", -37, 56, 2, "HFM10", 2, 0, 7, 1, 4, 1, 12, 22, 3, 3, 3, 0}, + {"HF", -37, 58, 1, "HFM10", 3, 0, 8, 0, 4, 4, 12, 22, 5, 8, 4, 0}, + {"HF", -37, 58, 2, "HFM10", 3, 0, 6, 0, 3, 4, 12, 22, 5, 6, 4, 0}, + {"HF", -37, 60, 1, "HFM11", 1, 0, 5, 1, 3, 1, 12, 22, 5, 1, 4, 0}, + {"HF", -37, 60, 2, "HFM11", 1, 0, 7, 1, 4, 1, 12, 22, 5, 3, 4, 0}, + {"HF", -37, 62, 1, "HFM11", 2, 0, 8, 0, 4, 4, 12, 22, 7, 8, 5, 0}, + {"HF", -37, 62, 2, "HFM11", 2, 0, 6, 0, 3, 4, 12, 22, 7, 6, 5, 0}, + {"HF", -37, 64, 1, "HFM11", 3, 0, 5, 1, 3, 1, 12, 22, 7, 1, 5, 0}, + {"HF", -37, 64, 2, "HFM11", 3, 0, 7, 1, 4, 1, 12, 22, 7, 3, 5, 0}, + {"HF", -37, 66, 1, "HFM12", 1, 0, 8, 0, 4, 4, 12, 22, 9, 8, 6, 0}, + {"HF", -37, 66, 2, "HFM12", 1, 0, 6, 0, 3, 4, 12, 22, 9, 6, 6, 0}, + {"HF", -37, 68, 1, "HFM12", 2, 0, 5, 1, 3, 1, 12, 22, 9, 1, 6, 0}, + {"HF", -37, 68, 2, "HFM12", 2, 0, 7, 1, 4, 1, 12, 22, 9, 3, 6, 0}, + {"HF", -37, 70, 1, "HFM12", 3, 0, 8, 0, 4, 4, 12, 22, 11, 8, 7, 0}, + {"HF", -37, 70, 2, "HFM12", 3, 0, 6, 0, 3, 4, 12, 22, 11, 6, 7, 0}, + {"HF", -36, 0, 1, "HFM01", 1, 0, 6, 1, 3, 5, 12, 22, 11, 2, 7, 0}, + {"HF", -36, 0, 2, "HFM01", 1, 0, 8, 1, 4, 5, 12, 22, 11, 4, 7, 0}, + {"HF", -36, 2, 1, "HFM01", 2, 0, 7, 2, 4, 2, 2, 18, 1, 7, 2, 0}, + {"HF", -36, 2, 2, "HFM01", 2, 0, 5, 2, 3, 2, 2, 18, 1, 5, 2, 0}, + {"HF", -36, 4, 1, "HFM01", 3, 0, 6, 1, 3, 5, 2, 18, 1, 2, 2, 0}, + {"HF", -36, 4, 2, "HFM01", 3, 0, 8, 1, 4, 5, 2, 18, 1, 4, 2, 0}, + {"HF", -36, 6, 1, "HFM02", 1, 0, 7, 2, 4, 2, 2, 18, 3, 7, 3, 0}, + {"HF", -36, 6, 2, "HFM02", 1, 0, 5, 2, 3, 2, 2, 18, 3, 5, 3, 0}, + {"HF", -36, 8, 1, "HFM02", 2, 0, 6, 1, 3, 5, 2, 18, 3, 2, 3, 0}, + {"HF", -36, 8, 2, "HFM02", 2, 0, 8, 1, 4, 5, 2, 18, 3, 4, 3, 0}, + {"HF", -36, 10, 1, "HFM02", 3, 0, 7, 2, 4, 2, 2, 18, 5, 7, 4, 0}, + {"HF", -36, 10, 2, "HFM02", 3, 0, 5, 2, 3, 2, 2, 18, 5, 5, 4, 0}, + {"HF", -36, 12, 1, "HFM03", 1, 0, 6, 1, 3, 5, 2, 18, 5, 2, 4, 0}, + {"HF", -36, 12, 2, "HFM03", 1, 0, 8, 1, 4, 5, 2, 18, 5, 4, 4, 0}, + {"HF", -36, 14, 1, "HFM03", 2, 0, 7, 2, 4, 2, 2, 18, 7, 7, 5, 0}, + {"HF", -36, 14, 2, "HFM03", 2, 0, 5, 2, 3, 2, 2, 18, 7, 5, 5, 0}, + {"HF", -36, 16, 1, "HFM03", 3, 0, 6, 1, 3, 5, 2, 18, 7, 2, 5, 0}, + {"HF", -36, 16, 2, "HFM03", 3, 0, 8, 1, 4, 5, 2, 18, 7, 4, 5, 0}, + {"HF", -36, 18, 1, "HFM04", 1, 0, 7, 2, 4, 2, 2, 18, 9, 7, 6, 0}, + {"HF", -36, 18, 2, "HFM04", 1, 0, 5, 2, 3, 2, 2, 18, 9, 5, 6, 0}, + {"HF", -36, 20, 1, "HFM04", 2, 0, 6, 1, 3, 5, 2, 18, 9, 2, 6, 0}, + {"HF", -36, 20, 2, "HFM04", 2, 0, 8, 1, 4, 5, 2, 18, 9, 4, 6, 0}, + {"HF", -36, 22, 1, "HFM04", 3, 0, 7, 2, 4, 2, 2, 18, 11, 7, 7, 0}, + {"HF", -36, 22, 2, "HFM04", 3, 0, 5, 2, 3, 2, 2, 18, 11, 5, 7, 0}, + {"HF", -36, 24, 1, "HFM05", 1, 0, 6, 1, 3, 5, 2, 18, 11, 2, 7, 0}, + {"HF", -36, 24, 2, "HFM05", 1, 0, 8, 1, 4, 5, 2, 18, 11, 4, 7, 0}, + {"HF", -36, 26, 1, "HFM05", 2, 0, 7, 2, 4, 2, 9, 20, 1, 7, 2, 0}, + {"HF", -36, 26, 2, "HFM05", 2, 0, 5, 2, 3, 2, 9, 20, 1, 5, 2, 0}, + {"HF", -36, 28, 1, "HFM05", 3, 0, 6, 1, 3, 5, 9, 20, 1, 2, 2, 0}, + {"HF", -36, 28, 2, "HFM05", 3, 0, 8, 1, 4, 5, 9, 20, 1, 4, 2, 0}, + {"HF", -36, 30, 1, "HFM06", 1, 0, 7, 2, 4, 2, 9, 20, 3, 7, 3, 0}, + {"HF", -36, 30, 2, "HFM06", 1, 0, 5, 2, 3, 2, 9, 20, 3, 5, 3, 0}, + {"HF", -36, 32, 1, "HFM06", 2, 0, 6, 1, 3, 5, 9, 20, 3, 2, 3, 0}, + {"HF", -36, 32, 2, "HFM06", 2, 0, 8, 1, 4, 5, 9, 20, 3, 4, 3, 0}, + {"HF", -36, 34, 1, "HFM06", 3, 0, 7, 2, 4, 2, 9, 20, 5, 7, 4, 0}, + {"HF", -36, 34, 2, "HFM06", 3, 0, 5, 2, 3, 2, 9, 20, 5, 5, 4, 0}, + {"HF", -36, 36, 1, "HFM07", 1, 0, 6, 1, 3, 5, 9, 20, 5, 2, 4, 0}, + {"HF", -36, 36, 2, "HFM07", 1, 0, 8, 1, 4, 5, 9, 20, 5, 4, 4, 0}, + {"HF", -36, 38, 1, "HFM07", 2, 0, 7, 2, 4, 2, 9, 20, 7, 7, 5, 0}, + {"HF", -36, 38, 2, "HFM07", 2, 0, 5, 2, 3, 2, 9, 20, 7, 5, 5, 0}, + {"HF", -36, 40, 1, "HFM07", 3, 0, 6, 1, 3, 5, 9, 20, 7, 2, 5, 0}, + {"HF", -36, 40, 2, "HFM07", 3, 0, 8, 1, 4, 5, 9, 20, 7, 4, 5, 0}, + {"HF", -36, 42, 1, "HFM08", 1, 0, 7, 2, 4, 2, 9, 20, 9, 7, 6, 0}, + {"HF", -36, 42, 2, "HFM08", 1, 0, 5, 2, 3, 2, 9, 20, 9, 5, 6, 0}, + {"HF", -36, 44, 1, "HFM08", 2, 0, 6, 1, 3, 5, 9, 20, 9, 2, 6, 0}, + {"HF", -36, 44, 2, "HFM08", 2, 0, 8, 1, 4, 5, 9, 20, 9, 4, 6, 0}, + {"HF", -36, 46, 1, "HFM08", 3, 0, 7, 2, 4, 2, 9, 20, 11, 7, 7, 0}, + {"HF", -36, 46, 2, "HFM08", 3, 0, 5, 2, 3, 2, 9, 20, 11, 5, 7, 0}, + {"HF", -36, 48, 1, "HFM09", 1, 0, 6, 1, 3, 5, 9, 20, 11, 2, 7, 0}, + {"HF", -36, 48, 2, "HFM09", 1, 0, 8, 1, 4, 5, 9, 20, 11, 4, 7, 0}, + {"HF", -36, 50, 1, "HFM09", 2, 0, 7, 2, 4, 2, 12, 22, 1, 7, 2, 0}, + {"HF", -36, 50, 2, "HFM09", 2, 0, 5, 2, 3, 2, 12, 22, 1, 5, 2, 0}, + {"HF", -36, 52, 1, "HFM09", 3, 0, 6, 1, 3, 5, 12, 22, 1, 2, 2, 0}, + {"HF", -36, 52, 2, "HFM09", 3, 0, 8, 1, 4, 5, 12, 22, 1, 4, 2, 0}, + {"HF", -36, 54, 1, "HFM10", 1, 0, 7, 2, 4, 2, 12, 22, 3, 7, 3, 0}, + {"HF", -36, 54, 2, "HFM10", 1, 0, 5, 2, 3, 2, 12, 22, 3, 5, 3, 0}, + {"HF", -36, 56, 1, "HFM10", 2, 0, 6, 1, 3, 5, 12, 22, 3, 2, 3, 0}, + {"HF", -36, 56, 2, "HFM10", 2, 0, 8, 1, 4, 5, 12, 22, 3, 4, 3, 0}, + {"HF", -36, 58, 1, "HFM10", 3, 0, 7, 2, 4, 2, 12, 22, 5, 7, 4, 0}, + {"HF", -36, 58, 2, "HFM10", 3, 0, 5, 2, 3, 2, 12, 22, 5, 5, 4, 0}, + {"HF", -36, 60, 1, "HFM11", 1, 0, 6, 1, 3, 5, 12, 22, 5, 2, 4, 0}, + {"HF", -36, 60, 2, "HFM11", 1, 0, 8, 1, 4, 5, 12, 22, 5, 4, 4, 0}, + {"HF", -36, 62, 1, "HFM11", 2, 0, 7, 2, 4, 2, 12, 22, 7, 7, 5, 0}, + {"HF", -36, 62, 2, "HFM11", 2, 0, 5, 2, 3, 2, 12, 22, 7, 5, 5, 0}, + {"HF", -36, 64, 1, "HFM11", 3, 0, 6, 1, 3, 5, 12, 22, 7, 2, 5, 0}, + {"HF", -36, 64, 2, "HFM11", 3, 0, 8, 1, 4, 5, 12, 22, 7, 4, 5, 0}, + {"HF", -36, 66, 1, "HFM12", 1, 0, 7, 2, 4, 2, 12, 22, 9, 7, 6, 0}, + {"HF", -36, 66, 2, "HFM12", 1, 0, 5, 2, 3, 2, 12, 22, 9, 5, 6, 0}, + {"HF", -36, 68, 1, "HFM12", 2, 0, 6, 1, 3, 5, 12, 22, 9, 2, 6, 0}, + {"HF", -36, 68, 2, "HFM12", 2, 0, 8, 1, 4, 5, 12, 22, 9, 4, 6, 0}, + {"HF", -36, 70, 1, "HFM12", 3, 0, 7, 2, 4, 2, 12, 22, 11, 7, 7, 0}, + {"HF", -36, 70, 2, "HFM12", 3, 0, 5, 2, 3, 2, 12, 22, 11, 5, 7, 0}, + {"HF", -35, 0, 1, "HFM01", 1, 0, 5, 2, 3, 2, 12, 22, 11, 1, 7, 0}, + {"HF", -35, 0, 2, "HFM01", 1, 0, 7, 2, 4, 2, 12, 22, 11, 3, 7, 0}, + {"HF", -35, 2, 1, "HFM01", 2, 0, 8, 1, 4, 5, 2, 18, 1, 8, 2, 0}, + {"HF", -35, 2, 2, "HFM01", 2, 0, 6, 1, 3, 5, 2, 18, 1, 6, 2, 0}, + {"HF", -35, 4, 1, "HFM01", 3, 0, 5, 2, 3, 2, 2, 18, 1, 1, 2, 0}, + {"HF", -35, 4, 2, "HFM01", 3, 0, 7, 2, 4, 2, 2, 18, 1, 3, 2, 0}, + {"HF", -35, 6, 1, "HFM02", 1, 0, 8, 1, 4, 5, 2, 18, 3, 8, 3, 0}, + {"HF", -35, 6, 2, "HFM02", 1, 0, 6, 1, 3, 5, 2, 18, 3, 6, 3, 0}, + {"HF", -35, 8, 1, "HFM02", 2, 0, 5, 2, 3, 2, 2, 18, 3, 1, 3, 0}, + {"HF", -35, 8, 2, "HFM02", 2, 0, 7, 2, 4, 2, 2, 18, 3, 3, 3, 0}, + {"HF", -35, 10, 1, "HFM02", 3, 0, 8, 1, 4, 5, 2, 18, 5, 8, 4, 0}, + {"HF", -35, 10, 2, "HFM02", 3, 0, 6, 1, 3, 5, 2, 18, 5, 6, 4, 0}, + {"HF", -35, 12, 1, "HFM03", 1, 0, 5, 2, 3, 2, 2, 18, 5, 1, 4, 0}, + {"HF", -35, 12, 2, "HFM03", 1, 0, 7, 2, 4, 2, 2, 18, 5, 3, 4, 0}, + {"HF", -35, 14, 1, "HFM03", 2, 0, 8, 1, 4, 5, 2, 18, 7, 8, 5, 0}, + {"HF", -35, 14, 2, "HFM03", 2, 0, 6, 1, 3, 5, 2, 18, 7, 6, 5, 0}, + {"HF", -35, 16, 1, "HFM03", 3, 0, 5, 2, 3, 2, 2, 18, 7, 1, 5, 0}, + {"HF", -35, 16, 2, "HFM03", 3, 0, 7, 2, 4, 2, 2, 18, 7, 3, 5, 0}, + {"HF", -35, 18, 1, "HFM04", 1, 0, 8, 1, 4, 5, 2, 18, 9, 8, 6, 0}, + {"HF", -35, 18, 2, "HFM04", 1, 0, 6, 1, 3, 5, 2, 18, 9, 6, 6, 0}, + {"HF", -35, 20, 1, "HFM04", 2, 0, 5, 2, 3, 2, 2, 18, 9, 1, 6, 0}, + {"HF", -35, 20, 2, "HFM04", 2, 0, 7, 2, 4, 2, 2, 18, 9, 3, 6, 0}, + {"HF", -35, 22, 1, "HFM04", 3, 0, 8, 1, 4, 5, 2, 18, 11, 8, 7, 0}, + {"HF", -35, 22, 2, "HFM04", 3, 0, 6, 1, 3, 5, 2, 18, 11, 6, 7, 0}, + {"HF", -35, 24, 1, "HFM05", 1, 0, 5, 2, 3, 2, 2, 18, 11, 1, 7, 0}, + {"HF", -35, 24, 2, "HFM05", 1, 0, 7, 2, 4, 2, 2, 18, 11, 3, 7, 0}, + {"HF", -35, 26, 1, "HFM05", 2, 0, 8, 1, 4, 5, 9, 20, 1, 8, 2, 0}, + {"HF", -35, 26, 2, "HFM05", 2, 0, 6, 1, 3, 5, 9, 20, 1, 6, 2, 0}, + {"HF", -35, 28, 1, "HFM05", 3, 0, 5, 2, 3, 2, 9, 20, 1, 1, 2, 0}, + {"HF", -35, 28, 2, "HFM05", 3, 0, 7, 2, 4, 2, 9, 20, 1, 3, 2, 0}, + {"HF", -35, 30, 1, "HFM06", 1, 0, 8, 1, 4, 5, 9, 20, 3, 8, 3, 0}, + {"HF", -35, 30, 2, "HFM06", 1, 0, 6, 1, 3, 5, 9, 20, 3, 6, 3, 0}, + {"HF", -35, 32, 1, "HFM06", 2, 0, 5, 2, 3, 2, 9, 20, 3, 1, 3, 0}, + {"HF", -35, 32, 2, "HFM06", 2, 0, 7, 2, 4, 2, 9, 20, 3, 3, 3, 0}, + {"HF", -35, 34, 1, "HFM06", 3, 0, 8, 1, 4, 5, 9, 20, 5, 8, 4, 0}, + {"HF", -35, 34, 2, "HFM06", 3, 0, 6, 1, 3, 5, 9, 20, 5, 6, 4, 0}, + {"HF", -35, 36, 1, "HFM07", 1, 0, 5, 2, 3, 2, 9, 20, 5, 1, 4, 0}, + {"HF", -35, 36, 2, "HFM07", 1, 0, 7, 2, 4, 2, 9, 20, 5, 3, 4, 0}, + {"HF", -35, 38, 1, "HFM07", 2, 0, 8, 1, 4, 5, 9, 20, 7, 8, 5, 0}, + {"HF", -35, 38, 2, "HFM07", 2, 0, 6, 1, 3, 5, 9, 20, 7, 6, 5, 0}, + {"HF", -35, 40, 1, "HFM07", 3, 0, 5, 2, 3, 2, 9, 20, 7, 1, 5, 0}, + {"HF", -35, 40, 2, "HFM07", 3, 0, 7, 2, 4, 2, 9, 20, 7, 3, 5, 0}, + {"HF", -35, 42, 1, "HFM08", 1, 0, 8, 1, 4, 5, 9, 20, 9, 8, 6, 0}, + {"HF", -35, 42, 2, "HFM08", 1, 0, 6, 1, 3, 5, 9, 20, 9, 6, 6, 0}, + {"HF", -35, 44, 1, "HFM08", 2, 0, 5, 2, 3, 2, 9, 20, 9, 1, 6, 0}, + {"HF", -35, 44, 2, "HFM08", 2, 0, 7, 2, 4, 2, 9, 20, 9, 3, 6, 0}, + {"HF", -35, 46, 1, "HFM08", 3, 0, 8, 1, 4, 5, 9, 20, 11, 8, 7, 0}, + {"HF", -35, 46, 2, "HFM08", 3, 0, 6, 1, 3, 5, 9, 20, 11, 6, 7, 0}, + {"HF", -35, 48, 1, "HFM09", 1, 0, 5, 2, 3, 2, 9, 20, 11, 1, 7, 0}, + {"HF", -35, 48, 2, "HFM09", 1, 0, 7, 2, 4, 2, 9, 20, 11, 3, 7, 0}, + {"HF", -35, 50, 1, "HFM09", 2, 0, 8, 1, 4, 5, 12, 22, 1, 8, 2, 0}, + {"HF", -35, 50, 2, "HFM09", 2, 0, 6, 1, 3, 5, 12, 22, 1, 6, 2, 0}, + {"HF", -35, 52, 1, "HFM09", 3, 0, 5, 2, 3, 2, 12, 22, 1, 1, 2, 0}, + {"HF", -35, 52, 2, "HFM09", 3, 0, 7, 2, 4, 2, 12, 22, 1, 3, 2, 0}, + {"HF", -35, 54, 1, "HFM10", 1, 0, 8, 1, 4, 5, 12, 22, 3, 8, 3, 0}, + {"HF", -35, 54, 2, "HFM10", 1, 0, 6, 1, 3, 5, 12, 22, 3, 6, 3, 0}, + {"HF", -35, 56, 1, "HFM10", 2, 0, 5, 2, 3, 2, 12, 22, 3, 1, 3, 0}, + {"HF", -35, 56, 2, "HFM10", 2, 0, 7, 2, 4, 2, 12, 22, 3, 3, 3, 0}, + {"HF", -35, 58, 1, "HFM10", 3, 0, 8, 1, 4, 5, 12, 22, 5, 8, 4, 0}, + {"HF", -35, 58, 2, "HFM10", 3, 0, 6, 1, 3, 5, 12, 22, 5, 6, 4, 0}, + {"HF", -35, 60, 1, "HFM11", 1, 0, 5, 2, 3, 2, 12, 22, 5, 1, 4, 0}, + {"HF", -35, 60, 2, "HFM11", 1, 0, 7, 2, 4, 2, 12, 22, 5, 3, 4, 0}, + {"HF", -35, 62, 1, "HFM11", 2, 0, 8, 1, 4, 5, 12, 22, 7, 8, 5, 0}, + {"HF", -35, 62, 2, "HFM11", 2, 0, 6, 1, 3, 5, 12, 22, 7, 6, 5, 0}, + {"HF", -35, 64, 1, "HFM11", 3, 0, 5, 2, 3, 2, 12, 22, 7, 1, 5, 0}, + {"HF", -35, 64, 2, "HFM11", 3, 0, 7, 2, 4, 2, 12, 22, 7, 3, 5, 0}, + {"HF", -35, 66, 1, "HFM12", 1, 0, 8, 1, 4, 5, 12, 22, 9, 8, 6, 0}, + {"HF", -35, 66, 2, "HFM12", 1, 0, 6, 1, 3, 5, 12, 22, 9, 6, 6, 0}, + {"HF", -35, 68, 1, "HFM12", 2, 0, 5, 2, 3, 2, 12, 22, 9, 1, 6, 0}, + {"HF", -35, 68, 2, "HFM12", 2, 0, 7, 2, 4, 2, 12, 22, 9, 3, 6, 0}, + {"HF", -35, 70, 1, "HFM12", 3, 0, 8, 1, 4, 5, 12, 22, 11, 8, 7, 0}, + {"HF", -35, 70, 2, "HFM12", 3, 0, 6, 1, 3, 5, 12, 22, 11, 6, 7, 0}, + {"HF", -34, 0, 1, "HFM01", 1, 0, 2, 2, 1, 3, 12, 22, 10, 2, 7, 1}, + {"HF", -34, 0, 2, "HFM01", 1, 0, 4, 2, 2, 3, 12, 22, 10, 4, 7, 1}, + {"HF", -34, 2, 1, "HFM01", 2, 0, 3, 0, 2, 0, 2, 18, 0, 7, 2, 1}, + {"HF", -34, 2, 2, "HFM01", 2, 0, 1, 0, 1, 0, 2, 18, 0, 5, 2, 1}, + {"HF", -34, 4, 1, "HFM01", 3, 0, 2, 2, 1, 3, 2, 18, 0, 2, 2, 1}, + {"HF", -34, 4, 2, "HFM01", 3, 0, 4, 2, 2, 3, 2, 18, 0, 4, 2, 1}, + {"HF", -34, 6, 1, "HFM02", 1, 0, 3, 0, 2, 0, 2, 18, 2, 7, 3, 1}, + {"HF", -34, 6, 2, "HFM02", 1, 0, 1, 0, 1, 0, 2, 18, 2, 5, 3, 1}, + {"HF", -34, 8, 1, "HFM02", 2, 0, 2, 2, 1, 3, 2, 18, 2, 2, 3, 1}, + {"HF", -34, 8, 2, "HFM02", 2, 0, 4, 2, 2, 3, 2, 18, 2, 4, 3, 1}, + {"HF", -34, 10, 1, "HFM02", 3, 0, 3, 0, 2, 0, 2, 18, 4, 7, 4, 1}, + {"HF", -34, 10, 2, "HFM02", 3, 0, 1, 0, 1, 0, 2, 18, 4, 5, 4, 1}, + {"HF", -34, 12, 1, "HFM03", 1, 0, 2, 2, 1, 3, 2, 18, 4, 2, 4, 1}, + {"HF", -34, 12, 2, "HFM03", 1, 0, 4, 2, 2, 3, 2, 18, 4, 4, 4, 1}, + {"HF", -34, 14, 1, "HFM03", 2, 0, 3, 0, 2, 0, 2, 18, 6, 7, 5, 1}, + {"HF", -34, 14, 2, "HFM03", 2, 0, 1, 0, 1, 0, 2, 18, 6, 5, 5, 1}, + {"HF", -34, 16, 1, "HFM03", 3, 0, 2, 2, 1, 3, 2, 18, 6, 2, 5, 1}, + {"HF", -34, 16, 2, "HFM03", 3, 0, 4, 2, 2, 3, 2, 18, 6, 4, 5, 1}, + {"HF", -34, 18, 1, "HFM04", 1, 0, 3, 0, 2, 0, 2, 18, 8, 7, 6, 1}, + {"HF", -34, 18, 2, "HFM04", 1, 0, 1, 0, 1, 0, 2, 18, 8, 5, 6, 1}, + {"HF", -34, 20, 1, "HFM04", 2, 0, 2, 2, 1, 3, 2, 18, 8, 2, 6, 1}, + {"HF", -34, 20, 2, "HFM04", 2, 0, 4, 2, 2, 3, 2, 18, 8, 4, 6, 1}, + {"HF", -34, 22, 1, "HFM04", 3, 0, 3, 0, 2, 0, 2, 18, 10, 7, 7, 1}, + {"HF", -34, 22, 2, "HFM04", 3, 0, 1, 0, 1, 0, 2, 18, 10, 5, 7, 1}, + {"HF", -34, 24, 1, "HFM05", 1, 0, 2, 2, 1, 3, 2, 18, 10, 2, 7, 1}, + {"HF", -34, 24, 2, "HFM05", 1, 0, 4, 2, 2, 3, 2, 18, 10, 4, 7, 1}, + {"HF", -34, 26, 1, "HFM05", 2, 0, 3, 0, 2, 0, 9, 20, 0, 7, 2, 1}, + {"HF", -34, 26, 2, "HFM05", 2, 0, 1, 0, 1, 0, 9, 20, 0, 5, 2, 1}, + {"HF", -34, 28, 1, "HFM05", 3, 0, 2, 2, 1, 3, 9, 20, 0, 2, 2, 1}, + {"HF", -34, 28, 2, "HFM05", 3, 0, 4, 2, 2, 3, 9, 20, 0, 4, 2, 1}, + {"HF", -34, 30, 1, "HFM06", 1, 0, 3, 0, 2, 0, 9, 20, 2, 7, 3, 1}, + {"HF", -34, 30, 2, "HFM06", 1, 0, 1, 0, 1, 0, 9, 20, 2, 5, 3, 1}, + {"HF", -34, 32, 1, "HFM06", 2, 0, 2, 2, 1, 3, 9, 20, 2, 2, 3, 1}, + {"HF", -34, 32, 2, "HFM06", 2, 0, 4, 2, 2, 3, 9, 20, 2, 4, 3, 1}, + {"HF", -34, 34, 1, "HFM06", 3, 0, 3, 0, 2, 0, 9, 20, 4, 7, 4, 1}, + {"HF", -34, 34, 2, "HFM06", 3, 0, 1, 0, 1, 0, 9, 20, 4, 5, 4, 1}, + {"HF", -34, 36, 1, "HFM07", 1, 0, 2, 2, 1, 3, 9, 20, 4, 2, 4, 1}, + {"HF", -34, 36, 2, "HFM07", 1, 0, 4, 2, 2, 3, 9, 20, 4, 4, 4, 1}, + {"HF", -34, 38, 1, "HFM07", 2, 0, 3, 0, 2, 0, 9, 20, 6, 7, 5, 1}, + {"HF", -34, 38, 2, "HFM07", 2, 0, 1, 0, 1, 0, 9, 20, 6, 5, 5, 1}, + {"HF", -34, 40, 1, "HFM07", 3, 0, 2, 2, 1, 3, 9, 20, 6, 2, 5, 1}, + {"HF", -34, 40, 2, "HFM07", 3, 0, 4, 2, 2, 3, 9, 20, 6, 4, 5, 1}, + {"HF", -34, 42, 1, "HFM08", 1, 0, 3, 0, 2, 0, 9, 20, 8, 7, 6, 1}, + {"HF", -34, 42, 2, "HFM08", 1, 0, 1, 0, 1, 0, 9, 20, 8, 5, 6, 1}, + {"HF", -34, 44, 1, "HFM08", 2, 0, 2, 2, 1, 3, 9, 20, 8, 2, 6, 1}, + {"HF", -34, 44, 2, "HFM08", 2, 0, 4, 2, 2, 3, 9, 20, 8, 4, 6, 1}, + {"HF", -34, 46, 1, "HFM08", 3, 0, 3, 0, 2, 0, 9, 20, 10, 7, 7, 1}, + {"HF", -34, 46, 2, "HFM08", 3, 0, 1, 0, 1, 0, 9, 20, 10, 5, 7, 1}, + {"HF", -34, 48, 1, "HFM09", 1, 0, 2, 2, 1, 3, 9, 20, 10, 2, 7, 1}, + {"HF", -34, 48, 2, "HFM09", 1, 0, 4, 2, 2, 3, 9, 20, 10, 4, 7, 1}, + {"HF", -34, 50, 1, "HFM09", 2, 0, 3, 0, 2, 0, 12, 22, 0, 7, 2, 1}, + {"HF", -34, 50, 2, "HFM09", 2, 0, 1, 0, 1, 0, 12, 22, 0, 5, 2, 1}, + {"HF", -34, 52, 1, "HFM09", 3, 0, 2, 2, 1, 3, 12, 22, 0, 2, 2, 1}, + {"HF", -34, 52, 2, "HFM09", 3, 0, 4, 2, 2, 3, 12, 22, 0, 4, 2, 1}, + {"HF", -34, 54, 1, "HFM10", 1, 0, 3, 0, 2, 0, 12, 22, 2, 7, 3, 1}, + {"HF", -34, 54, 2, "HFM10", 1, 0, 1, 0, 1, 0, 12, 22, 2, 5, 3, 1}, + {"HF", -34, 56, 1, "HFM10", 2, 0, 2, 2, 1, 3, 12, 22, 2, 2, 3, 1}, + {"HF", -34, 56, 2, "HFM10", 2, 0, 4, 2, 2, 3, 12, 22, 2, 4, 3, 1}, + {"HF", -34, 58, 1, "HFM10", 3, 0, 3, 0, 2, 0, 12, 22, 4, 7, 4, 1}, + {"HF", -34, 58, 2, "HFM10", 3, 0, 1, 0, 1, 0, 12, 22, 4, 5, 4, 1}, + {"HF", -34, 60, 1, "HFM11", 1, 0, 2, 2, 1, 3, 12, 22, 4, 2, 4, 1}, + {"HF", -34, 60, 2, "HFM11", 1, 0, 4, 2, 2, 3, 12, 22, 4, 4, 4, 1}, + {"HF", -34, 62, 1, "HFM11", 2, 0, 3, 0, 2, 0, 12, 22, 6, 7, 5, 1}, + {"HF", -34, 62, 2, "HFM11", 2, 0, 1, 0, 1, 0, 12, 22, 6, 5, 5, 1}, + {"HF", -34, 64, 1, "HFM11", 3, 0, 2, 2, 1, 3, 12, 22, 6, 2, 5, 1}, + {"HF", -34, 64, 2, "HFM11", 3, 0, 4, 2, 2, 3, 12, 22, 6, 4, 5, 1}, + {"HF", -34, 66, 1, "HFM12", 1, 0, 3, 0, 2, 0, 12, 22, 8, 7, 6, 1}, + {"HF", -34, 66, 2, "HFM12", 1, 0, 1, 0, 1, 0, 12, 22, 8, 5, 6, 1}, + {"HF", -34, 68, 1, "HFM12", 2, 0, 2, 2, 1, 3, 12, 22, 8, 2, 6, 1}, + {"HF", -34, 68, 2, "HFM12", 2, 0, 4, 2, 2, 3, 12, 22, 8, 4, 6, 1}, + {"HF", -34, 70, 1, "HFM12", 3, 0, 3, 0, 2, 0, 12, 22, 10, 7, 7, 1}, + {"HF", -34, 70, 2, "HFM12", 3, 0, 1, 0, 1, 0, 12, 22, 10, 5, 7, 1}, + {"HF", -33, 0, 1, "HFM01", 1, 0, 1, 0, 1, 0, 12, 22, 10, 1, 7, 1}, + {"HF", -33, 0, 2, "HFM01", 1, 0, 3, 0, 2, 0, 12, 22, 10, 3, 7, 1}, + {"HF", -33, 2, 1, "HFM01", 2, 0, 4, 2, 2, 3, 2, 18, 0, 8, 2, 1}, + {"HF", -33, 2, 2, "HFM01", 2, 0, 2, 2, 1, 3, 2, 18, 0, 6, 2, 1}, + {"HF", -33, 4, 1, "HFM01", 3, 0, 1, 0, 1, 0, 2, 18, 0, 1, 2, 1}, + {"HF", -33, 4, 2, "HFM01", 3, 0, 3, 0, 2, 0, 2, 18, 0, 3, 2, 1}, + {"HF", -33, 6, 1, "HFM02", 1, 0, 4, 2, 2, 3, 2, 18, 2, 8, 3, 1}, + {"HF", -33, 6, 2, "HFM02", 1, 0, 2, 2, 1, 3, 2, 18, 2, 6, 3, 1}, + {"HF", -33, 8, 1, "HFM02", 2, 0, 1, 0, 1, 0, 2, 18, 2, 1, 3, 1}, + {"HF", -33, 8, 2, "HFM02", 2, 0, 3, 0, 2, 0, 2, 18, 2, 3, 3, 1}, + {"HF", -33, 10, 1, "HFM02", 3, 0, 4, 2, 2, 3, 2, 18, 4, 8, 4, 1}, + {"HF", -33, 10, 2, "HFM02", 3, 0, 2, 2, 1, 3, 2, 18, 4, 6, 4, 1}, + {"HF", -33, 12, 1, "HFM03", 1, 0, 1, 0, 1, 0, 2, 18, 4, 1, 4, 1}, + {"HF", -33, 12, 2, "HFM03", 1, 0, 3, 0, 2, 0, 2, 18, 4, 3, 4, 1}, + {"HF", -33, 14, 1, "HFM03", 2, 0, 4, 2, 2, 3, 2, 18, 6, 8, 5, 1}, + {"HF", -33, 14, 2, "HFM03", 2, 0, 2, 2, 1, 3, 2, 18, 6, 6, 5, 1}, + {"HF", -33, 16, 1, "HFM03", 3, 0, 1, 0, 1, 0, 2, 18, 6, 1, 5, 1}, + {"HF", -33, 16, 2, "HFM03", 3, 0, 3, 0, 2, 0, 2, 18, 6, 3, 5, 1}, + {"HF", -33, 18, 1, "HFM04", 1, 0, 4, 2, 2, 3, 2, 18, 8, 8, 6, 1}, + {"HF", -33, 18, 2, "HFM04", 1, 0, 2, 2, 1, 3, 2, 18, 8, 6, 6, 1}, + {"HF", -33, 20, 1, "HFM04", 2, 0, 1, 0, 1, 0, 2, 18, 8, 1, 6, 1}, + {"HF", -33, 20, 2, "HFM04", 2, 0, 3, 0, 2, 0, 2, 18, 8, 3, 6, 1}, + {"HF", -33, 22, 1, "HFM04", 3, 0, 4, 2, 2, 3, 2, 18, 10, 8, 7, 1}, + {"HF", -33, 22, 2, "HFM04", 3, 0, 2, 2, 1, 3, 2, 18, 10, 6, 7, 1}, + {"HF", -33, 24, 1, "HFM05", 1, 0, 1, 0, 1, 0, 2, 18, 10, 1, 7, 1}, + {"HF", -33, 24, 2, "HFM05", 1, 0, 3, 0, 2, 0, 2, 18, 10, 3, 7, 1}, + {"HF", -33, 26, 1, "HFM05", 2, 0, 4, 2, 2, 3, 9, 20, 0, 8, 2, 1}, + {"HF", -33, 26, 2, "HFM05", 2, 0, 2, 2, 1, 3, 9, 20, 0, 6, 2, 1}, + {"HF", -33, 28, 1, "HFM05", 3, 0, 1, 0, 1, 0, 9, 20, 0, 1, 2, 1}, + {"HF", -33, 28, 2, "HFM05", 3, 0, 3, 0, 2, 0, 9, 20, 0, 3, 2, 1}, + {"HF", -33, 30, 1, "HFM06", 1, 0, 4, 2, 2, 3, 9, 20, 2, 8, 3, 1}, + {"HF", -33, 30, 2, "HFM06", 1, 0, 2, 2, 1, 3, 9, 20, 2, 6, 3, 1}, + {"HF", -33, 32, 1, "HFM06", 2, 0, 1, 0, 1, 0, 9, 20, 2, 1, 3, 1}, + {"HF", -33, 32, 2, "HFM06", 2, 0, 3, 0, 2, 0, 9, 20, 2, 3, 3, 1}, + {"HF", -33, 34, 1, "HFM06", 3, 0, 4, 2, 2, 3, 9, 20, 4, 8, 4, 1}, + {"HF", -33, 34, 2, "HFM06", 3, 0, 2, 2, 1, 3, 9, 20, 4, 6, 4, 1}, + {"HF", -33, 36, 1, "HFM07", 1, 0, 1, 0, 1, 0, 9, 20, 4, 1, 4, 1}, + {"HF", -33, 36, 2, "HFM07", 1, 0, 3, 0, 2, 0, 9, 20, 4, 3, 4, 1}, + {"HF", -33, 38, 1, "HFM07", 2, 0, 4, 2, 2, 3, 9, 20, 6, 8, 5, 1}, + {"HF", -33, 38, 2, "HFM07", 2, 0, 2, 2, 1, 3, 9, 20, 6, 6, 5, 1}, + {"HF", -33, 40, 1, "HFM07", 3, 0, 1, 0, 1, 0, 9, 20, 6, 1, 5, 1}, + {"HF", -33, 40, 2, "HFM07", 3, 0, 3, 0, 2, 0, 9, 20, 6, 3, 5, 1}, + {"HF", -33, 42, 1, "HFM08", 1, 0, 4, 2, 2, 3, 9, 20, 8, 8, 6, 1}, + {"HF", -33, 42, 2, "HFM08", 1, 0, 2, 2, 1, 3, 9, 20, 8, 6, 6, 1}, + {"HF", -33, 44, 1, "HFM08", 2, 0, 1, 0, 1, 0, 9, 20, 8, 1, 6, 1}, + {"HF", -33, 44, 2, "HFM08", 2, 0, 3, 0, 2, 0, 9, 20, 8, 3, 6, 1}, + {"HF", -33, 46, 1, "HFM08", 3, 0, 4, 2, 2, 3, 9, 20, 10, 8, 7, 1}, + {"HF", -33, 46, 2, "HFM08", 3, 0, 2, 2, 1, 3, 9, 20, 10, 6, 7, 1}, + {"HF", -33, 48, 1, "HFM09", 1, 0, 1, 0, 1, 0, 9, 20, 10, 1, 7, 1}, + {"HF", -33, 48, 2, "HFM09", 1, 0, 3, 0, 2, 0, 9, 20, 10, 3, 7, 1}, + {"HF", -33, 50, 1, "HFM09", 2, 0, 4, 2, 2, 3, 12, 22, 0, 8, 2, 1}, + {"HF", -33, 50, 2, "HFM09", 2, 0, 2, 2, 1, 3, 12, 22, 0, 6, 2, 1}, + {"HF", -33, 52, 1, "HFM09", 3, 0, 1, 0, 1, 0, 12, 22, 0, 1, 2, 1}, + {"HF", -33, 52, 2, "HFM09", 3, 0, 3, 0, 2, 0, 12, 22, 0, 3, 2, 1}, + {"HF", -33, 54, 1, "HFM10", 1, 0, 4, 2, 2, 3, 12, 22, 2, 8, 3, 1}, + {"HF", -33, 54, 2, "HFM10", 1, 0, 2, 2, 1, 3, 12, 22, 2, 6, 3, 1}, + {"HF", -33, 56, 1, "HFM10", 2, 0, 1, 0, 1, 0, 12, 22, 2, 1, 3, 1}, + {"HF", -33, 56, 2, "HFM10", 2, 0, 3, 0, 2, 0, 12, 22, 2, 3, 3, 1}, + {"HF", -33, 58, 1, "HFM10", 3, 0, 4, 2, 2, 3, 12, 22, 4, 8, 4, 1}, + {"HF", -33, 58, 2, "HFM10", 3, 0, 2, 2, 1, 3, 12, 22, 4, 6, 4, 1}, + {"HF", -33, 60, 1, "HFM11", 1, 0, 1, 0, 1, 0, 12, 22, 4, 1, 4, 1}, + {"HF", -33, 60, 2, "HFM11", 1, 0, 3, 0, 2, 0, 12, 22, 4, 3, 4, 1}, + {"HF", -33, 62, 1, "HFM11", 2, 0, 4, 2, 2, 3, 12, 22, 6, 8, 5, 1}, + {"HF", -33, 62, 2, "HFM11", 2, 0, 2, 2, 1, 3, 12, 22, 6, 6, 5, 1}, + {"HF", -33, 64, 1, "HFM11", 3, 0, 1, 0, 1, 0, 12, 22, 6, 1, 5, 1}, + {"HF", -33, 64, 2, "HFM11", 3, 0, 3, 0, 2, 0, 12, 22, 6, 3, 5, 1}, + {"HF", -33, 66, 1, "HFM12", 1, 0, 4, 2, 2, 3, 12, 22, 8, 8, 6, 1}, + {"HF", -33, 66, 2, "HFM12", 1, 0, 2, 2, 1, 3, 12, 22, 8, 6, 6, 1}, + {"HF", -33, 68, 1, "HFM12", 2, 0, 1, 0, 1, 0, 12, 22, 8, 1, 6, 1}, + {"HF", -33, 68, 2, "HFM12", 2, 0, 3, 0, 2, 0, 12, 22, 8, 3, 6, 1}, + {"HF", -33, 70, 1, "HFM12", 3, 0, 4, 2, 2, 3, 12, 22, 10, 8, 7, 1}, + {"HF", -33, 70, 2, "HFM12", 3, 0, 2, 2, 1, 3, 12, 22, 10, 6, 7, 1}, + {"HF", -32, 0, 1, "HFM01", 1, 0, 2, 0, 1, 4, 12, 22, 10, 2, 7, 1}, + {"HF", -32, 0, 2, "HFM01", 1, 0, 4, 0, 2, 4, 12, 22, 10, 4, 7, 1}, + {"HF", -32, 2, 1, "HFM01", 2, 0, 3, 1, 2, 1, 2, 18, 0, 7, 2, 1}, + {"HF", -32, 2, 2, "HFM01", 2, 0, 1, 1, 1, 1, 2, 18, 0, 5, 2, 1}, + {"HF", -32, 4, 1, "HFM01", 3, 0, 2, 0, 1, 4, 2, 18, 0, 2, 2, 1}, + {"HF", -32, 4, 2, "HFM01", 3, 0, 4, 0, 2, 4, 2, 18, 0, 4, 2, 1}, + {"HF", -32, 6, 1, "HFM02", 1, 0, 3, 1, 2, 1, 2, 18, 2, 7, 3, 1}, + {"HF", -32, 6, 2, "HFM02", 1, 0, 1, 1, 1, 1, 2, 18, 2, 5, 3, 1}, + {"HF", -32, 8, 1, "HFM02", 2, 0, 2, 0, 1, 4, 2, 18, 2, 2, 3, 1}, + {"HF", -32, 8, 2, "HFM02", 2, 0, 4, 0, 2, 4, 2, 18, 2, 4, 3, 1}, + {"HF", -32, 10, 1, "HFM02", 3, 0, 3, 1, 2, 1, 2, 18, 4, 7, 4, 1}, + {"HF", -32, 10, 2, "HFM02", 3, 0, 1, 1, 1, 1, 2, 18, 4, 5, 4, 1}, + {"HF", -32, 12, 1, "HFM03", 1, 0, 2, 0, 1, 4, 2, 18, 4, 2, 4, 1}, + {"HF", -32, 12, 2, "HFM03", 1, 0, 4, 0, 2, 4, 2, 18, 4, 4, 4, 1}, + {"HF", -32, 14, 1, "HFM03", 2, 0, 3, 1, 2, 1, 2, 18, 6, 7, 5, 1}, + {"HF", -32, 14, 2, "HFM03", 2, 0, 1, 1, 1, 1, 2, 18, 6, 5, 5, 1}, + {"HF", -32, 16, 1, "HFM03", 3, 0, 2, 0, 1, 4, 2, 18, 6, 2, 5, 1}, + {"HF", -32, 16, 2, "HFM03", 3, 0, 4, 0, 2, 4, 2, 18, 6, 4, 5, 1}, + {"HF", -32, 18, 1, "HFM04", 1, 0, 3, 1, 2, 1, 2, 18, 8, 7, 6, 1}, + {"HF", -32, 18, 2, "HFM04", 1, 0, 1, 1, 1, 1, 2, 18, 8, 5, 6, 1}, + {"HF", -32, 20, 1, "HFM04", 2, 0, 2, 0, 1, 4, 2, 18, 8, 2, 6, 1}, + {"HF", -32, 20, 2, "HFM04", 2, 0, 4, 0, 2, 4, 2, 18, 8, 4, 6, 1}, + {"HF", -32, 22, 1, "HFM04", 3, 0, 3, 1, 2, 1, 2, 18, 10, 7, 7, 1}, + {"HF", -32, 22, 2, "HFM04", 3, 0, 1, 1, 1, 1, 2, 18, 10, 5, 7, 1}, + {"HF", -32, 24, 1, "HFM05", 1, 0, 2, 0, 1, 4, 2, 18, 10, 2, 7, 1}, + {"HF", -32, 24, 2, "HFM05", 1, 0, 4, 0, 2, 4, 2, 18, 10, 4, 7, 1}, + {"HF", -32, 26, 1, "HFM05", 2, 0, 3, 1, 2, 1, 9, 20, 0, 7, 2, 1}, + {"HF", -32, 26, 2, "HFM05", 2, 0, 1, 1, 1, 1, 9, 20, 0, 5, 2, 1}, + {"HF", -32, 28, 1, "HFM05", 3, 0, 2, 0, 1, 4, 9, 20, 0, 2, 2, 1}, + {"HF", -32, 28, 2, "HFM05", 3, 0, 4, 0, 2, 4, 9, 20, 0, 4, 2, 1}, + {"HF", -32, 30, 1, "HFM06", 1, 0, 3, 1, 2, 1, 9, 20, 2, 7, 3, 1}, + {"HF", -32, 30, 2, "HFM06", 1, 0, 1, 1, 1, 1, 9, 20, 2, 5, 3, 1}, + {"HF", -32, 32, 1, "HFM06", 2, 0, 2, 0, 1, 4, 9, 20, 2, 2, 3, 1}, + {"HF", -32, 32, 2, "HFM06", 2, 0, 4, 0, 2, 4, 9, 20, 2, 4, 3, 1}, + {"HF", -32, 34, 1, "HFM06", 3, 0, 3, 1, 2, 1, 9, 20, 4, 7, 4, 1}, + {"HF", -32, 34, 2, "HFM06", 3, 0, 1, 1, 1, 1, 9, 20, 4, 5, 4, 1}, + {"HF", -32, 36, 1, "HFM07", 1, 0, 2, 0, 1, 4, 9, 20, 4, 2, 4, 1}, + {"HF", -32, 36, 2, "HFM07", 1, 0, 4, 0, 2, 4, 9, 20, 4, 4, 4, 1}, + {"HF", -32, 38, 1, "HFM07", 2, 0, 3, 1, 2, 1, 9, 20, 6, 7, 5, 1}, + {"HF", -32, 38, 2, "HFM07", 2, 0, 1, 1, 1, 1, 9, 20, 6, 5, 5, 1}, + {"HF", -32, 40, 1, "HFM07", 3, 0, 2, 0, 1, 4, 9, 20, 6, 2, 5, 1}, + {"HF", -32, 40, 2, "HFM07", 3, 0, 4, 0, 2, 4, 9, 20, 6, 4, 5, 1}, + {"HF", -32, 42, 1, "HFM08", 1, 0, 3, 1, 2, 1, 9, 20, 8, 7, 6, 1}, + {"HF", -32, 42, 2, "HFM08", 1, 0, 1, 1, 1, 1, 9, 20, 8, 5, 6, 1}, + {"HF", -32, 44, 1, "HFM08", 2, 0, 2, 0, 1, 4, 9, 20, 8, 2, 6, 1}, + {"HF", -32, 44, 2, "HFM08", 2, 0, 4, 0, 2, 4, 9, 20, 8, 4, 6, 1}, + {"HF", -32, 46, 1, "HFM08", 3, 0, 3, 1, 2, 1, 9, 20, 10, 7, 7, 1}, + {"HF", -32, 46, 2, "HFM08", 3, 0, 1, 1, 1, 1, 9, 20, 10, 5, 7, 1}, + {"HF", -32, 48, 1, "HFM09", 1, 0, 2, 0, 1, 4, 9, 20, 10, 2, 7, 1}, + {"HF", -32, 48, 2, "HFM09", 1, 0, 4, 0, 2, 4, 9, 20, 10, 4, 7, 1}, + {"HF", -32, 50, 1, "HFM09", 2, 0, 3, 1, 2, 1, 12, 22, 0, 7, 2, 1}, + {"HF", -32, 50, 2, "HFM09", 2, 0, 1, 1, 1, 1, 12, 22, 0, 5, 2, 1}, + {"HF", -32, 52, 1, "HFM09", 3, 0, 2, 0, 1, 4, 12, 22, 0, 2, 2, 1}, + {"HF", -32, 52, 2, "HFM09", 3, 0, 4, 0, 2, 4, 12, 22, 0, 4, 2, 1}, + {"HF", -32, 54, 1, "HFM10", 1, 0, 3, 1, 2, 1, 12, 22, 2, 7, 3, 1}, + {"HF", -32, 54, 2, "HFM10", 1, 0, 1, 1, 1, 1, 12, 22, 2, 5, 3, 1}, + {"HF", -32, 56, 1, "HFM10", 2, 0, 2, 0, 1, 4, 12, 22, 2, 2, 3, 1}, + {"HF", -32, 56, 2, "HFM10", 2, 0, 4, 0, 2, 4, 12, 22, 2, 4, 3, 1}, + {"HF", -32, 58, 1, "HFM10", 3, 0, 3, 1, 2, 1, 12, 22, 4, 7, 4, 1}, + {"HF", -32, 58, 2, "HFM10", 3, 0, 1, 1, 1, 1, 12, 22, 4, 5, 4, 1}, + {"HF", -32, 60, 1, "HFM11", 1, 0, 2, 0, 1, 4, 12, 22, 4, 2, 4, 1}, + {"HF", -32, 60, 2, "HFM11", 1, 0, 4, 0, 2, 4, 12, 22, 4, 4, 4, 1}, + {"HF", -32, 62, 1, "HFM11", 2, 0, 3, 1, 2, 1, 12, 22, 6, 7, 5, 1}, + {"HF", -32, 62, 2, "HFM11", 2, 0, 1, 1, 1, 1, 12, 22, 6, 5, 5, 1}, + {"HF", -32, 64, 1, "HFM11", 3, 0, 2, 0, 1, 4, 12, 22, 6, 2, 5, 1}, + {"HF", -32, 64, 2, "HFM11", 3, 0, 4, 0, 2, 4, 12, 22, 6, 4, 5, 1}, + {"HF", -32, 66, 1, "HFM12", 1, 0, 3, 1, 2, 1, 12, 22, 8, 7, 6, 1}, + {"HF", -32, 66, 2, "HFM12", 1, 0, 1, 1, 1, 1, 12, 22, 8, 5, 6, 1}, + {"HF", -32, 68, 1, "HFM12", 2, 0, 2, 0, 1, 4, 12, 22, 8, 2, 6, 1}, + {"HF", -32, 68, 2, "HFM12", 2, 0, 4, 0, 2, 4, 12, 22, 8, 4, 6, 1}, + {"HF", -32, 70, 1, "HFM12", 3, 0, 3, 1, 2, 1, 12, 22, 10, 7, 7, 1}, + {"HF", -32, 70, 2, "HFM12", 3, 0, 1, 1, 1, 1, 12, 22, 10, 5, 7, 1}, + {"HF", -31, 0, 1, "HFM01", 1, 0, 1, 1, 1, 1, 12, 22, 10, 1, 7, 1}, + {"HF", -31, 0, 2, "HFM01", 1, 0, 3, 1, 2, 1, 12, 22, 10, 3, 7, 1}, + {"HF", -31, 2, 1, "HFM01", 2, 0, 4, 0, 2, 4, 2, 18, 0, 8, 2, 1}, + {"HF", -31, 2, 2, "HFM01", 2, 0, 2, 0, 1, 4, 2, 18, 0, 6, 2, 1}, + {"HF", -31, 4, 1, "HFM01", 3, 0, 1, 1, 1, 1, 2, 18, 0, 1, 2, 1}, + {"HF", -31, 4, 2, "HFM01", 3, 0, 3, 1, 2, 1, 2, 18, 0, 3, 2, 1}, + {"HF", -31, 6, 1, "HFM02", 1, 0, 4, 0, 2, 4, 2, 18, 2, 8, 3, 1}, + {"HF", -31, 6, 2, "HFM02", 1, 0, 2, 0, 1, 4, 2, 18, 2, 6, 3, 1}, + {"HF", -31, 8, 1, "HFM02", 2, 0, 1, 1, 1, 1, 2, 18, 2, 1, 3, 1}, + {"HF", -31, 8, 2, "HFM02", 2, 0, 3, 1, 2, 1, 2, 18, 2, 3, 3, 1}, + {"HF", -31, 10, 1, "HFM02", 3, 0, 4, 0, 2, 4, 2, 18, 4, 8, 4, 1}, + {"HF", -31, 10, 2, "HFM02", 3, 0, 2, 0, 1, 4, 2, 18, 4, 6, 4, 1}, + {"HF", -31, 12, 1, "HFM03", 1, 0, 1, 1, 1, 1, 2, 18, 4, 1, 4, 1}, + {"HF", -31, 12, 2, "HFM03", 1, 0, 3, 1, 2, 1, 2, 18, 4, 3, 4, 1}, + {"HF", -31, 14, 1, "HFM03", 2, 0, 4, 0, 2, 4, 2, 18, 6, 8, 5, 1}, + {"HF", -31, 14, 2, "HFM03", 2, 0, 2, 0, 1, 4, 2, 18, 6, 6, 5, 1}, + {"HF", -31, 16, 1, "HFM03", 3, 0, 1, 1, 1, 1, 2, 18, 6, 1, 5, 1}, + {"HF", -31, 16, 2, "HFM03", 3, 0, 3, 1, 2, 1, 2, 18, 6, 3, 5, 1}, + {"HF", -31, 18, 1, "HFM04", 1, 0, 4, 0, 2, 4, 2, 18, 8, 8, 6, 1}, + {"HF", -31, 18, 2, "HFM04", 1, 0, 2, 0, 1, 4, 2, 18, 8, 6, 6, 1}, + {"HF", -31, 20, 1, "HFM04", 2, 0, 1, 1, 1, 1, 2, 18, 8, 1, 6, 1}, + {"HF", -31, 20, 2, "HFM04", 2, 0, 3, 1, 2, 1, 2, 18, 8, 3, 6, 1}, + {"HF", -31, 22, 1, "HFM04", 3, 0, 4, 0, 2, 4, 2, 18, 10, 8, 7, 1}, + {"HF", -31, 22, 2, "HFM04", 3, 0, 2, 0, 1, 4, 2, 18, 10, 6, 7, 1}, + {"HF", -31, 24, 1, "HFM05", 1, 0, 1, 1, 1, 1, 2, 18, 10, 1, 7, 1}, + {"HF", -31, 24, 2, "HFM05", 1, 0, 3, 1, 2, 1, 2, 18, 10, 3, 7, 1}, + {"HF", -31, 26, 1, "HFM05", 2, 0, 4, 0, 2, 4, 9, 20, 0, 8, 2, 1}, + {"HF", -31, 26, 2, "HFM05", 2, 0, 2, 0, 1, 4, 9, 20, 0, 6, 2, 1}, + {"HF", -31, 28, 1, "HFM05", 3, 0, 1, 1, 1, 1, 9, 20, 0, 1, 2, 1}, + {"HF", -31, 28, 2, "HFM05", 3, 0, 3, 1, 2, 1, 9, 20, 0, 3, 2, 1}, + {"HF", -31, 30, 1, "HFM06", 1, 0, 4, 0, 2, 4, 9, 20, 2, 8, 3, 1}, + {"HF", -31, 30, 2, "HFM06", 1, 0, 2, 0, 1, 4, 9, 20, 2, 6, 3, 1}, + {"HF", -31, 32, 1, "HFM06", 2, 0, 1, 1, 1, 1, 9, 20, 2, 1, 3, 1}, + {"HF", -31, 32, 2, "HFM06", 2, 0, 3, 1, 2, 1, 9, 20, 2, 3, 3, 1}, + {"HF", -31, 34, 1, "HFM06", 3, 0, 4, 0, 2, 4, 9, 20, 4, 8, 4, 1}, + {"HF", -31, 34, 2, "HFM06", 3, 0, 2, 0, 1, 4, 9, 20, 4, 6, 4, 1}, + {"HF", -31, 36, 1, "HFM07", 1, 0, 1, 1, 1, 1, 9, 20, 4, 1, 4, 1}, + {"HF", -31, 36, 2, "HFM07", 1, 0, 3, 1, 2, 1, 9, 20, 4, 3, 4, 1}, + {"HF", -31, 38, 1, "HFM07", 2, 0, 4, 0, 2, 4, 9, 20, 6, 8, 5, 1}, + {"HF", -31, 38, 2, "HFM07", 2, 0, 2, 0, 1, 4, 9, 20, 6, 6, 5, 1}, + {"HF", -31, 40, 1, "HFM07", 3, 0, 1, 1, 1, 1, 9, 20, 6, 1, 5, 1}, + {"HF", -31, 40, 2, "HFM07", 3, 0, 3, 1, 2, 1, 9, 20, 6, 3, 5, 1}, + {"HF", -31, 42, 1, "HFM08", 1, 0, 4, 0, 2, 4, 9, 20, 8, 8, 6, 1}, + {"HF", -31, 42, 2, "HFM08", 1, 0, 2, 0, 1, 4, 9, 20, 8, 6, 6, 1}, + {"HF", -31, 44, 1, "HFM08", 2, 0, 1, 1, 1, 1, 9, 20, 8, 1, 6, 1}, + {"HF", -31, 44, 2, "HFM08", 2, 0, 3, 1, 2, 1, 9, 20, 8, 3, 6, 1}, + {"HF", -31, 46, 1, "HFM08", 3, 0, 4, 0, 2, 4, 9, 20, 10, 8, 7, 1}, + {"HF", -31, 46, 2, "HFM08", 3, 0, 2, 0, 1, 4, 9, 20, 10, 6, 7, 1}, + {"HF", -31, 48, 1, "HFM09", 1, 0, 1, 1, 1, 1, 9, 20, 10, 1, 7, 1}, + {"HF", -31, 48, 2, "HFM09", 1, 0, 3, 1, 2, 1, 9, 20, 10, 3, 7, 1}, + {"HF", -31, 50, 1, "HFM09", 2, 0, 4, 0, 2, 4, 12, 22, 0, 8, 2, 1}, + {"HF", -31, 50, 2, "HFM09", 2, 0, 2, 0, 1, 4, 12, 22, 0, 6, 2, 1}, + {"HF", -31, 52, 1, "HFM09", 3, 0, 1, 1, 1, 1, 12, 22, 0, 1, 2, 1}, + {"HF", -31, 52, 2, "HFM09", 3, 0, 3, 1, 2, 1, 12, 22, 0, 3, 2, 1}, + {"HF", -31, 54, 1, "HFM10", 1, 0, 4, 0, 2, 4, 12, 22, 2, 8, 3, 1}, + {"HF", -31, 54, 2, "HFM10", 1, 0, 2, 0, 1, 4, 12, 22, 2, 6, 3, 1}, + {"HF", -31, 56, 1, "HFM10", 2, 0, 1, 1, 1, 1, 12, 22, 2, 1, 3, 1}, + {"HF", -31, 56, 2, "HFM10", 2, 0, 3, 1, 2, 1, 12, 22, 2, 3, 3, 1}, + {"HF", -31, 58, 1, "HFM10", 3, 0, 4, 0, 2, 4, 12, 22, 4, 8, 4, 1}, + {"HF", -31, 58, 2, "HFM10", 3, 0, 2, 0, 1, 4, 12, 22, 4, 6, 4, 1}, + {"HF", -31, 60, 1, "HFM11", 1, 0, 1, 1, 1, 1, 12, 22, 4, 1, 4, 1}, + {"HF", -31, 60, 2, "HFM11", 1, 0, 3, 1, 2, 1, 12, 22, 4, 3, 4, 1}, + {"HF", -31, 62, 1, "HFM11", 2, 0, 4, 0, 2, 4, 12, 22, 6, 8, 5, 1}, + {"HF", -31, 62, 2, "HFM11", 2, 0, 2, 0, 1, 4, 12, 22, 6, 6, 5, 1}, + {"HF", -31, 64, 1, "HFM11", 3, 0, 1, 1, 1, 1, 12, 22, 6, 1, 5, 1}, + {"HF", -31, 64, 2, "HFM11", 3, 0, 3, 1, 2, 1, 12, 22, 6, 3, 5, 1}, + {"HF", -31, 66, 1, "HFM12", 1, 0, 4, 0, 2, 4, 12, 22, 8, 8, 6, 1}, + {"HF", -31, 66, 2, "HFM12", 1, 0, 2, 0, 1, 4, 12, 22, 8, 6, 6, 1}, + {"HF", -31, 68, 1, "HFM12", 2, 0, 1, 1, 1, 1, 12, 22, 8, 1, 6, 1}, + {"HF", -31, 68, 2, "HFM12", 2, 0, 3, 1, 2, 1, 12, 22, 8, 3, 6, 1}, + {"HF", -31, 70, 1, "HFM12", 3, 0, 4, 0, 2, 4, 12, 22, 10, 8, 7, 1}, + {"HF", -31, 70, 2, "HFM12", 3, 0, 2, 0, 1, 4, 12, 22, 10, 6, 7, 1}, + {"HF", -30, 0, 1, "HFM01", 1, 0, 2, 1, 1, 5, 12, 22, 10, 2, 7, 1}, + {"HF", -30, 0, 2, "HFM01", 1, 0, 4, 1, 2, 5, 12, 22, 10, 4, 7, 1}, + {"HF", -30, 2, 1, "HFM01", 2, 0, 3, 2, 2, 2, 2, 18, 0, 7, 2, 1}, + {"HF", -30, 2, 2, "HFM01", 2, 0, 1, 2, 1, 2, 2, 18, 0, 5, 2, 1}, + {"HF", -30, 4, 1, "HFM01", 3, 0, 2, 1, 1, 5, 2, 18, 0, 2, 2, 1}, + {"HF", -30, 4, 2, "HFM01", 3, 0, 4, 1, 2, 5, 2, 18, 0, 4, 2, 1}, + {"HF", -30, 6, 1, "HFM02", 1, 0, 3, 2, 2, 2, 2, 18, 2, 7, 3, 1}, + {"HF", -30, 6, 2, "HFM02", 1, 0, 1, 2, 1, 2, 2, 18, 2, 5, 3, 1}, + {"HF", -30, 8, 1, "HFM02", 2, 0, 2, 1, 1, 5, 2, 18, 2, 2, 3, 1}, + {"HF", -30, 8, 2, "HFM02", 2, 0, 4, 1, 2, 5, 2, 18, 2, 4, 3, 1}, + {"HF", -30, 10, 1, "HFM02", 3, 0, 3, 2, 2, 2, 2, 18, 4, 7, 4, 1}, + {"HF", -30, 10, 2, "HFM02", 3, 0, 1, 2, 1, 2, 2, 18, 4, 5, 4, 1}, + {"HF", -30, 12, 1, "HFM03", 1, 0, 2, 1, 1, 5, 2, 18, 4, 2, 4, 1}, + {"HF", -30, 12, 2, "HFM03", 1, 0, 4, 1, 2, 5, 2, 18, 4, 4, 4, 1}, + {"HF", -30, 14, 1, "HFM03", 2, 0, 3, 2, 2, 2, 2, 18, 6, 7, 5, 1}, + {"HF", -30, 14, 2, "HFM03", 2, 0, 1, 2, 1, 2, 2, 18, 6, 5, 5, 1}, + {"HF", -30, 16, 1, "HFM03", 3, 0, 2, 1, 1, 5, 2, 18, 6, 2, 5, 1}, + {"HF", -30, 16, 2, "HFM03", 3, 0, 4, 1, 2, 5, 2, 18, 6, 4, 5, 1}, + {"HF", -30, 18, 1, "HFM04", 1, 0, 3, 2, 2, 2, 2, 18, 8, 7, 6, 1}, + {"HF", -30, 18, 2, "HFM04", 1, 0, 1, 2, 1, 2, 2, 18, 8, 5, 6, 1}, + {"HF", -30, 20, 1, "HFM04", 2, 0, 2, 1, 1, 5, 2, 18, 8, 2, 6, 1}, + {"HF", -30, 20, 2, "HFM04", 2, 0, 4, 1, 2, 5, 2, 18, 8, 4, 6, 1}, + {"HF", -30, 22, 1, "HFM04", 3, 0, 3, 2, 2, 2, 2, 18, 10, 7, 7, 1}, + {"HF", -30, 22, 2, "HFM04", 3, 0, 1, 2, 1, 2, 2, 18, 10, 5, 7, 1}, + {"HF", -30, 24, 1, "HFM05", 1, 0, 2, 1, 1, 5, 2, 18, 10, 2, 7, 1}, + {"HF", -30, 24, 2, "HFM05", 1, 0, 4, 1, 2, 5, 2, 18, 10, 4, 7, 1}, + {"HF", -30, 26, 1, "HFM05", 2, 0, 3, 2, 2, 2, 9, 20, 0, 7, 2, 1}, + {"HF", -30, 26, 2, "HFM05", 2, 0, 1, 2, 1, 2, 9, 20, 0, 5, 2, 1}, + {"HF", -30, 28, 1, "HFM05", 3, 0, 2, 1, 1, 5, 9, 20, 0, 2, 2, 1}, + {"HF", -30, 28, 2, "HFM05", 3, 0, 4, 1, 2, 5, 9, 20, 0, 4, 2, 1}, + {"HF", -30, 30, 1, "HFM06", 1, 0, 3, 2, 2, 2, 9, 20, 2, 7, 3, 1}, + {"HF", -30, 30, 2, "HFM06", 1, 0, 1, 2, 1, 2, 9, 20, 2, 5, 3, 1}, + {"HF", -30, 32, 1, "HFM06", 2, 0, 2, 1, 1, 5, 9, 20, 2, 2, 3, 1}, + {"HF", -30, 32, 2, "HFM06", 2, 0, 4, 1, 2, 5, 9, 20, 2, 4, 3, 1}, + {"HF", -30, 34, 1, "HFM06", 3, 0, 3, 2, 2, 2, 9, 20, 4, 7, 4, 1}, + {"HF", -30, 34, 2, "HFM06", 3, 0, 1, 2, 1, 2, 9, 20, 4, 5, 4, 1}, + {"HF", -30, 36, 1, "HFM07", 1, 0, 2, 1, 1, 5, 9, 20, 4, 2, 4, 1}, + {"HF", -30, 36, 2, "HFM07", 1, 0, 4, 1, 2, 5, 9, 20, 4, 4, 4, 1}, + {"HF", -30, 38, 1, "HFM07", 2, 0, 3, 2, 2, 2, 9, 20, 6, 7, 5, 1}, + {"HF", -30, 38, 2, "HFM07", 2, 0, 1, 2, 1, 2, 9, 20, 6, 5, 5, 1}, + {"HF", -30, 40, 1, "HFM07", 3, 0, 2, 1, 1, 5, 9, 20, 6, 2, 5, 1}, + {"HF", -30, 40, 2, "HFM07", 3, 0, 4, 1, 2, 5, 9, 20, 6, 4, 5, 1}, + {"HF", -30, 42, 1, "HFM08", 1, 0, 3, 2, 2, 2, 9, 20, 8, 7, 6, 1}, + {"HF", -30, 42, 2, "HFM08", 1, 0, 1, 2, 1, 2, 9, 20, 8, 5, 6, 1}, + {"HF", -30, 44, 1, "HFM08", 2, 0, 2, 1, 1, 5, 9, 20, 8, 2, 6, 1}, + {"HF", -30, 44, 2, "HFM08", 2, 0, 4, 1, 2, 5, 9, 20, 8, 4, 6, 1}, + {"HF", -30, 46, 1, "HFM08", 3, 0, 3, 2, 2, 2, 9, 20, 10, 7, 7, 1}, + {"HF", -30, 46, 2, "HFM08", 3, 0, 1, 2, 1, 2, 9, 20, 10, 5, 7, 1}, + {"HF", -30, 48, 1, "HFM09", 1, 0, 2, 1, 1, 5, 9, 20, 10, 2, 7, 1}, + {"HF", -30, 48, 2, "HFM09", 1, 0, 4, 1, 2, 5, 9, 20, 10, 4, 7, 1}, + {"HF", -30, 50, 1, "HFM09", 2, 0, 3, 2, 2, 2, 12, 22, 0, 7, 2, 1}, + {"HF", -30, 50, 2, "HFM09", 2, 0, 1, 2, 1, 2, 12, 22, 0, 5, 2, 1}, + {"HF", -30, 52, 1, "HFM09", 3, 0, 2, 1, 1, 5, 12, 22, 0, 2, 2, 1}, + {"HF", -30, 52, 2, "HFM09", 3, 0, 4, 1, 2, 5, 12, 22, 0, 4, 2, 1}, + {"HF", -30, 54, 1, "HFM10", 1, 0, 3, 2, 2, 2, 12, 22, 2, 7, 3, 1}, + {"HF", -30, 54, 2, "HFM10", 1, 0, 1, 2, 1, 2, 12, 22, 2, 5, 3, 1}, + {"HF", -30, 56, 1, "HFM10", 2, 0, 2, 1, 1, 5, 12, 22, 2, 2, 3, 1}, + {"HF", -30, 56, 2, "HFM10", 2, 0, 4, 1, 2, 5, 12, 22, 2, 4, 3, 1}, + {"HF", -30, 58, 1, "HFM10", 3, 0, 3, 2, 2, 2, 12, 22, 4, 7, 4, 1}, + {"HF", -30, 58, 2, "HFM10", 3, 0, 1, 2, 1, 2, 12, 22, 4, 5, 4, 1}, + {"HF", -30, 60, 1, "HFM11", 1, 0, 2, 1, 1, 5, 12, 22, 4, 2, 4, 1}, + {"HF", -30, 60, 2, "HFM11", 1, 0, 4, 1, 2, 5, 12, 22, 4, 4, 4, 1}, + {"HF", -30, 62, 1, "HFM11", 2, 0, 3, 2, 2, 2, 12, 22, 6, 7, 5, 1}, + {"HF", -30, 62, 2, "HFM11", 2, 0, 1, 2, 1, 2, 12, 22, 6, 5, 5, 1}, + {"HF", -30, 64, 1, "HFM11", 3, 0, 2, 1, 1, 5, 12, 22, 6, 2, 5, 1}, + {"HF", -30, 64, 2, "HFM11", 3, 0, 4, 1, 2, 5, 12, 22, 6, 4, 5, 1}, + {"HF", -30, 66, 1, "HFM12", 1, 0, 3, 2, 2, 2, 12, 22, 8, 7, 6, 1}, + {"HF", -30, 66, 2, "HFM12", 1, 0, 1, 2, 1, 2, 12, 22, 8, 5, 6, 1}, + {"HF", -30, 68, 1, "HFM12", 2, 0, 2, 1, 1, 5, 12, 22, 8, 2, 6, 1}, + {"HF", -30, 68, 2, "HFM12", 2, 0, 4, 1, 2, 5, 12, 22, 8, 4, 6, 1}, + {"HF", -30, 70, 1, "HFM12", 3, 0, 3, 2, 2, 2, 12, 22, 10, 7, 7, 1}, + {"HF", -30, 70, 2, "HFM12", 3, 0, 1, 2, 1, 2, 12, 22, 10, 5, 7, 1}, + {"HF", -29, 0, 1, "HFM01", 1, 0, 1, 2, 1, 2, 12, 22, 10, 1, 7, 1}, + {"HF", -29, 0, 2, "HFM01", 1, 0, 3, 2, 2, 2, 12, 22, 10, 3, 7, 1}, + {"HF", -29, 2, 1, "HFM01", 2, 0, 4, 1, 2, 5, 2, 18, 0, 8, 2, 1}, + {"HF", -29, 2, 2, "HFM01", 2, 0, 2, 1, 1, 5, 2, 18, 0, 6, 2, 1}, + {"HF", -29, 4, 1, "HFM01", 3, 0, 1, 2, 1, 2, 2, 18, 0, 1, 2, 1}, + {"HF", -29, 4, 2, "HFM01", 3, 0, 3, 2, 2, 2, 2, 18, 0, 3, 2, 1}, + {"HF", -29, 6, 1, "HFM02", 1, 0, 4, 1, 2, 5, 2, 18, 2, 8, 3, 1}, + {"HF", -29, 6, 2, "HFM02", 1, 0, 2, 1, 1, 5, 2, 18, 2, 6, 3, 1}, + {"HF", -29, 8, 1, "HFM02", 2, 0, 1, 2, 1, 2, 2, 18, 2, 1, 3, 1}, + {"HF", -29, 8, 2, "HFM02", 2, 0, 3, 2, 2, 2, 2, 18, 2, 3, 3, 1}, + {"HF", -29, 10, 1, "HFM02", 3, 0, 4, 1, 2, 5, 2, 18, 4, 8, 4, 1}, + {"HF", -29, 10, 2, "HFM02", 3, 0, 2, 1, 1, 5, 2, 18, 4, 6, 4, 1}, + {"HF", -29, 12, 1, "HFM03", 1, 0, 1, 2, 1, 2, 2, 18, 4, 1, 4, 1}, + {"HF", -29, 12, 2, "HFM03", 1, 0, 3, 2, 2, 2, 2, 18, 4, 3, 4, 1}, + {"HF", -29, 14, 1, "HFM03", 2, 0, 4, 1, 2, 5, 2, 18, 6, 8, 5, 1}, + {"HF", -29, 14, 2, "HFM03", 2, 0, 2, 1, 1, 5, 2, 18, 6, 6, 5, 1}, + {"HF", -29, 16, 1, "HFM03", 3, 0, 1, 2, 1, 2, 2, 18, 6, 1, 5, 1}, + {"HF", -29, 16, 2, "HFM03", 3, 0, 3, 2, 2, 2, 2, 18, 6, 3, 5, 1}, + {"HF", -29, 18, 1, "HFM04", 1, 0, 4, 1, 2, 5, 2, 18, 8, 8, 6, 1}, + {"HF", -29, 18, 2, "HFM04", 1, 0, 2, 1, 1, 5, 2, 18, 8, 6, 6, 1}, + {"HF", -29, 20, 1, "HFM04", 2, 0, 1, 2, 1, 2, 2, 18, 8, 1, 6, 1}, + {"HF", -29, 20, 2, "HFM04", 2, 0, 3, 2, 2, 2, 2, 18, 8, 3, 6, 1}, + {"HF", -29, 22, 1, "HFM04", 3, 0, 4, 1, 2, 5, 2, 18, 10, 8, 7, 1}, + {"HF", -29, 22, 2, "HFM04", 3, 0, 2, 1, 1, 5, 2, 18, 10, 6, 7, 1}, + {"HF", -29, 24, 1, "HFM05", 1, 0, 1, 2, 1, 2, 2, 18, 10, 1, 7, 1}, + {"HF", -29, 24, 2, "HFM05", 1, 0, 3, 2, 2, 2, 2, 18, 10, 3, 7, 1}, + {"HF", -29, 26, 1, "HFM05", 2, 0, 4, 1, 2, 5, 9, 20, 0, 8, 2, 1}, + {"HF", -29, 26, 2, "HFM05", 2, 0, 2, 1, 1, 5, 9, 20, 0, 6, 2, 1}, + {"HF", -29, 28, 1, "HFM05", 3, 0, 1, 2, 1, 2, 9, 20, 0, 1, 2, 1}, + {"HF", -29, 28, 2, "HFM05", 3, 0, 3, 2, 2, 2, 9, 20, 0, 3, 2, 1}, + {"HF", -29, 30, 1, "HFM06", 1, 0, 4, 1, 2, 5, 9, 20, 2, 8, 3, 1}, + {"HF", -29, 30, 2, "HFM06", 1, 0, 2, 1, 1, 5, 9, 20, 2, 6, 3, 1}, + {"HF", -29, 32, 1, "HFM06", 2, 0, 1, 2, 1, 2, 9, 20, 2, 1, 3, 1}, + {"HF", -29, 32, 2, "HFM06", 2, 0, 3, 2, 2, 2, 9, 20, 2, 3, 3, 1}, + {"HF", -29, 34, 1, "HFM06", 3, 0, 4, 1, 2, 5, 9, 20, 4, 8, 4, 1}, + {"HF", -29, 34, 2, "HFM06", 3, 0, 2, 1, 1, 5, 9, 20, 4, 6, 4, 1}, + {"HF", -29, 36, 1, "HFM07", 1, 0, 1, 2, 1, 2, 9, 20, 4, 1, 4, 1}, + {"HF", -29, 36, 2, "HFM07", 1, 0, 3, 2, 2, 2, 9, 20, 4, 3, 4, 1}, + {"HF", -29, 38, 1, "HFM07", 2, 0, 4, 1, 2, 5, 9, 20, 6, 8, 5, 1}, + {"HF", -29, 38, 2, "HFM07", 2, 0, 2, 1, 1, 5, 9, 20, 6, 6, 5, 1}, + {"HF", -29, 40, 1, "HFM07", 3, 0, 1, 2, 1, 2, 9, 20, 6, 1, 5, 1}, + {"HF", -29, 40, 2, "HFM07", 3, 0, 3, 2, 2, 2, 9, 20, 6, 3, 5, 1}, + {"HF", -29, 42, 1, "HFM08", 1, 0, 4, 1, 2, 5, 9, 20, 8, 8, 6, 1}, + {"HF", -29, 42, 2, "HFM08", 1, 0, 2, 1, 1, 5, 9, 20, 8, 6, 6, 1}, + {"HF", -29, 44, 1, "HFM08", 2, 0, 1, 2, 1, 2, 9, 20, 8, 1, 6, 1}, + {"HF", -29, 44, 2, "HFM08", 2, 0, 3, 2, 2, 2, 9, 20, 8, 3, 6, 1}, + {"HF", -29, 46, 1, "HFM08", 3, 0, 4, 1, 2, 5, 9, 20, 10, 8, 7, 1}, + {"HF", -29, 46, 2, "HFM08", 3, 0, 2, 1, 1, 5, 9, 20, 10, 6, 7, 1}, + {"HF", -29, 48, 1, "HFM09", 1, 0, 1, 2, 1, 2, 9, 20, 10, 1, 7, 1}, + {"HF", -29, 48, 2, "HFM09", 1, 0, 3, 2, 2, 2, 9, 20, 10, 3, 7, 1}, + {"HF", -29, 50, 1, "HFM09", 2, 0, 4, 1, 2, 5, 12, 22, 0, 8, 2, 1}, + {"HF", -29, 50, 2, "HFM09", 2, 0, 2, 1, 1, 5, 12, 22, 0, 6, 2, 1}, + {"HF", -29, 52, 1, "HFM09", 3, 0, 1, 2, 1, 2, 12, 22, 0, 1, 2, 1}, + {"HF", -29, 52, 2, "HFM09", 3, 0, 3, 2, 2, 2, 12, 22, 0, 3, 2, 1}, + {"HF", -29, 54, 1, "HFM10", 1, 0, 4, 1, 2, 5, 12, 22, 2, 8, 3, 1}, + {"HF", -29, 54, 2, "HFM10", 1, 0, 2, 1, 1, 5, 12, 22, 2, 6, 3, 1}, + {"HF", -29, 56, 1, "HFM10", 2, 0, 1, 2, 1, 2, 12, 22, 2, 1, 3, 1}, + {"HF", -29, 56, 2, "HFM10", 2, 0, 3, 2, 2, 2, 12, 22, 2, 3, 3, 1}, + {"HF", -29, 58, 1, "HFM10", 3, 0, 4, 1, 2, 5, 12, 22, 4, 8, 4, 1}, + {"HF", -29, 58, 2, "HFM10", 3, 0, 2, 1, 1, 5, 12, 22, 4, 6, 4, 1}, + {"HF", -29, 60, 1, "HFM11", 1, 0, 1, 2, 1, 2, 12, 22, 4, 1, 4, 1}, + {"HF", -29, 60, 2, "HFM11", 1, 0, 3, 2, 2, 2, 12, 22, 4, 3, 4, 1}, + {"HF", -29, 62, 1, "HFM11", 2, 0, 4, 1, 2, 5, 12, 22, 6, 8, 5, 1}, + {"HF", -29, 62, 2, "HFM11", 2, 0, 2, 1, 1, 5, 12, 22, 6, 6, 5, 1}, + {"HF", -29, 64, 1, "HFM11", 3, 0, 1, 2, 1, 2, 12, 22, 6, 1, 5, 1}, + {"HF", -29, 64, 2, "HFM11", 3, 0, 3, 2, 2, 2, 12, 22, 6, 3, 5, 1}, + {"HF", -29, 66, 1, "HFM12", 1, 0, 4, 1, 2, 5, 12, 22, 8, 8, 6, 1}, + {"HF", -29, 66, 2, "HFM12", 1, 0, 2, 1, 1, 5, 12, 22, 8, 6, 6, 1}, + {"HF", -29, 68, 1, "HFM12", 2, 0, 1, 2, 1, 2, 12, 22, 8, 1, 6, 1}, + {"HF", -29, 68, 2, "HFM12", 2, 0, 3, 2, 2, 2, 12, 22, 8, 3, 6, 1}, + {"HF", -29, 70, 1, "HFM12", 3, 0, 4, 1, 2, 5, 12, 22, 10, 8, 7, 1}, + {"HF", -29, 70, 2, "HFM12", 3, 0, 2, 1, 1, 5, 12, 22, 10, 6, 7, 1}, + {"HF", 29, 0, 1, "HFP01", 1, 0, 4, 1, 2, 5, 12, 23, 10, 8, 18, 1}, + {"HF", 29, 0, 2, "HFP01", 1, 0, 2, 1, 1, 5, 12, 23, 10, 6, 18, 1}, + {"HF", 29, 2, 1, "HFP01", 2, 0, 1, 2, 1, 2, 2, 19, 0, 1, 13, 1}, + {"HF", 29, 2, 2, "HFP01", 2, 0, 3, 2, 2, 2, 2, 19, 0, 3, 13, 1}, + {"HF", 29, 4, 1, "HFP01", 3, 0, 4, 1, 2, 5, 2, 19, 0, 8, 13, 1}, + {"HF", 29, 4, 2, "HFP01", 3, 0, 2, 1, 1, 5, 2, 19, 0, 6, 13, 1}, + {"HF", 29, 6, 1, "HFP02", 1, 0, 1, 2, 1, 2, 2, 19, 2, 1, 14, 1}, + {"HF", 29, 6, 2, "HFP02", 1, 0, 3, 2, 2, 2, 2, 19, 2, 3, 14, 1}, + {"HF", 29, 8, 1, "HFP02", 2, 0, 4, 1, 2, 5, 2, 19, 2, 8, 14, 1}, + {"HF", 29, 8, 2, "HFP02", 2, 0, 2, 1, 1, 5, 2, 19, 2, 6, 14, 1}, + {"HF", 29, 10, 1, "HFP02", 3, 0, 1, 2, 1, 2, 2, 19, 4, 1, 15, 1}, + {"HF", 29, 10, 2, "HFP02", 3, 0, 3, 2, 2, 2, 2, 19, 4, 3, 15, 1}, + {"HF", 29, 12, 1, "HFP03", 1, 0, 4, 1, 2, 5, 2, 19, 4, 8, 15, 1}, + {"HF", 29, 12, 2, "HFP03", 1, 0, 2, 1, 1, 5, 2, 19, 4, 6, 15, 1}, + {"HF", 29, 14, 1, "HFP03", 2, 0, 1, 2, 1, 2, 2, 19, 6, 1, 16, 1}, + {"HF", 29, 14, 2, "HFP03", 2, 0, 3, 2, 2, 2, 2, 19, 6, 3, 16, 1}, + {"HF", 29, 16, 1, "HFP03", 3, 0, 4, 1, 2, 5, 2, 19, 6, 8, 16, 1}, + {"HF", 29, 16, 2, "HFP03", 3, 0, 2, 1, 1, 5, 2, 19, 6, 6, 16, 1}, + {"HF", 29, 18, 1, "HFP04", 1, 0, 1, 2, 1, 2, 2, 19, 8, 1, 17, 1}, + {"HF", 29, 18, 2, "HFP04", 1, 0, 3, 2, 2, 2, 2, 19, 8, 3, 17, 1}, + {"HF", 29, 20, 1, "HFP04", 2, 0, 4, 1, 2, 5, 2, 19, 8, 8, 17, 1}, + {"HF", 29, 20, 2, "HFP04", 2, 0, 2, 1, 1, 5, 2, 19, 8, 6, 17, 1}, + {"HF", 29, 22, 1, "HFP04", 3, 0, 1, 2, 1, 2, 2, 19, 10, 1, 18, 1}, + {"HF", 29, 22, 2, "HFP04", 3, 0, 3, 2, 2, 2, 2, 19, 10, 3, 18, 1}, + {"HF", 29, 24, 1, "HFP05", 1, 0, 4, 1, 2, 5, 2, 19, 10, 8, 18, 1}, + {"HF", 29, 24, 2, "HFP05", 1, 0, 2, 1, 1, 5, 2, 19, 10, 6, 18, 1}, + {"HF", 29, 26, 1, "HFP05", 2, 0, 1, 2, 1, 2, 9, 21, 0, 1, 13, 1}, + {"HF", 29, 26, 2, "HFP05", 2, 0, 3, 2, 2, 2, 9, 21, 0, 3, 13, 1}, + {"HF", 29, 28, 1, "HFP05", 3, 0, 4, 1, 2, 5, 9, 21, 0, 8, 13, 1}, + {"HF", 29, 28, 2, "HFP05", 3, 0, 2, 1, 1, 5, 9, 21, 0, 6, 13, 1}, + {"HF", 29, 30, 1, "HFP06", 1, 0, 1, 2, 1, 2, 9, 21, 2, 1, 14, 1}, + {"HF", 29, 30, 2, "HFP06", 1, 0, 3, 2, 2, 2, 9, 21, 2, 3, 14, 1}, + {"HF", 29, 32, 1, "HFP06", 2, 0, 4, 1, 2, 5, 9, 21, 2, 8, 14, 1}, + {"HF", 29, 32, 2, "HFP06", 2, 0, 2, 1, 1, 5, 9, 21, 2, 6, 14, 1}, + {"HF", 29, 34, 1, "HFP06", 3, 0, 1, 2, 1, 2, 9, 21, 4, 1, 15, 1}, + {"HF", 29, 34, 2, "HFP06", 3, 0, 3, 2, 2, 2, 9, 21, 4, 3, 15, 1}, + {"HF", 29, 36, 1, "HFP07", 1, 0, 4, 1, 2, 5, 9, 21, 4, 8, 15, 1}, + {"HF", 29, 36, 2, "HFP07", 1, 0, 2, 1, 1, 5, 9, 21, 4, 6, 15, 1}, + {"HF", 29, 38, 1, "HFP07", 2, 0, 1, 2, 1, 2, 9, 21, 6, 1, 16, 1}, + {"HF", 29, 38, 2, "HFP07", 2, 0, 3, 2, 2, 2, 9, 21, 6, 3, 16, 1}, + {"HF", 29, 40, 1, "HFP07", 3, 0, 4, 1, 2, 5, 9, 21, 6, 8, 16, 1}, + {"HF", 29, 40, 2, "HFP07", 3, 0, 2, 1, 1, 5, 9, 21, 6, 6, 16, 1}, + {"HF", 29, 42, 1, "HFP08", 1, 0, 1, 2, 1, 2, 9, 21, 8, 1, 17, 1}, + {"HF", 29, 42, 2, "HFP08", 1, 0, 3, 2, 2, 2, 9, 21, 8, 3, 17, 1}, + {"HF", 29, 44, 1, "HFP08", 2, 0, 4, 1, 2, 5, 9, 21, 8, 8, 17, 1}, + {"HF", 29, 44, 2, "HFP08", 2, 0, 2, 1, 1, 5, 9, 21, 8, 6, 17, 1}, + {"HF", 29, 46, 1, "HFP08", 3, 0, 1, 2, 1, 2, 9, 21, 10, 1, 18, 1}, + {"HF", 29, 46, 2, "HFP08", 3, 0, 3, 2, 2, 2, 9, 21, 10, 3, 18, 1}, + {"HF", 29, 48, 1, "HFP09", 1, 0, 4, 1, 2, 5, 9, 21, 10, 8, 18, 1}, + {"HF", 29, 48, 2, "HFP09", 1, 0, 2, 1, 1, 5, 9, 21, 10, 6, 18, 1}, + {"HF", 29, 50, 1, "HFP09", 2, 0, 1, 2, 1, 2, 12, 23, 0, 1, 13, 1}, + {"HF", 29, 50, 2, "HFP09", 2, 0, 3, 2, 2, 2, 12, 23, 0, 3, 13, 1}, + {"HF", 29, 52, 1, "HFP09", 3, 0, 4, 1, 2, 5, 12, 23, 0, 8, 13, 1}, + {"HF", 29, 52, 2, "HFP09", 3, 0, 2, 1, 1, 5, 12, 23, 0, 6, 13, 1}, + {"HF", 29, 54, 1, "HFP10", 1, 0, 1, 2, 1, 2, 12, 23, 2, 1, 14, 1}, + {"HF", 29, 54, 2, "HFP10", 1, 0, 3, 2, 2, 2, 12, 23, 2, 3, 14, 1}, + {"HF", 29, 56, 1, "HFP10", 2, 0, 4, 1, 2, 5, 12, 23, 2, 8, 14, 1}, + {"HF", 29, 56, 2, "HFP10", 2, 0, 2, 1, 1, 5, 12, 23, 2, 6, 14, 1}, + {"HF", 29, 58, 1, "HFP10", 3, 0, 1, 2, 1, 2, 12, 23, 4, 1, 15, 1}, + {"HF", 29, 58, 2, "HFP10", 3, 0, 3, 2, 2, 2, 12, 23, 4, 3, 15, 1}, + {"HF", 29, 60, 1, "HFP11", 1, 0, 4, 1, 2, 5, 12, 23, 4, 8, 15, 1}, + {"HF", 29, 60, 2, "HFP11", 1, 0, 2, 1, 1, 5, 12, 23, 4, 6, 15, 1}, + {"HF", 29, 62, 1, "HFP11", 2, 0, 1, 2, 1, 2, 12, 23, 6, 1, 16, 1}, + {"HF", 29, 62, 2, "HFP11", 2, 0, 3, 2, 2, 2, 12, 23, 6, 3, 16, 1}, + {"HF", 29, 64, 1, "HFP11", 3, 0, 4, 1, 2, 5, 12, 23, 6, 8, 16, 1}, + {"HF", 29, 64, 2, "HFP11", 3, 0, 2, 1, 1, 5, 12, 23, 6, 6, 16, 1}, + {"HF", 29, 66, 1, "HFP12", 1, 0, 1, 2, 1, 2, 12, 23, 8, 1, 17, 1}, + {"HF", 29, 66, 2, "HFP12", 1, 0, 3, 2, 2, 2, 12, 23, 8, 3, 17, 1}, + {"HF", 29, 68, 1, "HFP12", 2, 0, 4, 1, 2, 5, 12, 23, 8, 8, 17, 1}, + {"HF", 29, 68, 2, "HFP12", 2, 0, 2, 1, 1, 5, 12, 23, 8, 6, 17, 1}, + {"HF", 29, 70, 1, "HFP12", 3, 0, 1, 2, 1, 2, 12, 23, 10, 1, 18, 1}, + {"HF", 29, 70, 2, "HFP12", 3, 0, 3, 2, 2, 2, 12, 23, 10, 3, 18, 1}, + {"HF", 30, 0, 1, "HFP01", 1, 0, 3, 2, 2, 2, 12, 23, 10, 7, 18, 1}, + {"HF", 30, 0, 2, "HFP01", 1, 0, 1, 2, 1, 2, 12, 23, 10, 5, 18, 1}, + {"HF", 30, 2, 1, "HFP01", 2, 0, 2, 1, 1, 5, 2, 19, 0, 2, 13, 1}, + {"HF", 30, 2, 2, "HFP01", 2, 0, 4, 1, 2, 5, 2, 19, 0, 4, 13, 1}, + {"HF", 30, 4, 1, "HFP01", 3, 0, 3, 2, 2, 2, 2, 19, 0, 7, 13, 1}, + {"HF", 30, 4, 2, "HFP01", 3, 0, 1, 2, 1, 2, 2, 19, 0, 5, 13, 1}, + {"HF", 30, 6, 1, "HFP02", 1, 0, 2, 1, 1, 5, 2, 19, 2, 2, 14, 1}, + {"HF", 30, 6, 2, "HFP02", 1, 0, 4, 1, 2, 5, 2, 19, 2, 4, 14, 1}, + {"HF", 30, 8, 1, "HFP02", 2, 0, 3, 2, 2, 2, 2, 19, 2, 7, 14, 1}, + {"HF", 30, 8, 2, "HFP02", 2, 0, 1, 2, 1, 2, 2, 19, 2, 5, 14, 1}, + {"HF", 30, 10, 1, "HFP02", 3, 0, 2, 1, 1, 5, 2, 19, 4, 2, 15, 1}, + {"HF", 30, 10, 2, "HFP02", 3, 0, 4, 1, 2, 5, 2, 19, 4, 4, 15, 1}, + {"HF", 30, 12, 1, "HFP03", 1, 0, 3, 2, 2, 2, 2, 19, 4, 7, 15, 1}, + {"HF", 30, 12, 2, "HFP03", 1, 0, 1, 2, 1, 2, 2, 19, 4, 5, 15, 1}, + {"HF", 30, 14, 1, "HFP03", 2, 0, 2, 1, 1, 5, 2, 19, 6, 2, 16, 1}, + {"HF", 30, 14, 2, "HFP03", 2, 0, 4, 1, 2, 5, 2, 19, 6, 4, 16, 1}, + {"HF", 30, 16, 1, "HFP03", 3, 0, 3, 2, 2, 2, 2, 19, 6, 7, 16, 1}, + {"HF", 30, 16, 2, "HFP03", 3, 0, 1, 2, 1, 2, 2, 19, 6, 5, 16, 1}, + {"HF", 30, 18, 1, "HFP04", 1, 0, 2, 1, 1, 5, 2, 19, 8, 2, 17, 1}, + {"HF", 30, 18, 2, "HFP04", 1, 0, 4, 1, 2, 5, 2, 19, 8, 4, 17, 1}, + {"HF", 30, 20, 1, "HFP04", 2, 0, 3, 2, 2, 2, 2, 19, 8, 7, 17, 1}, + {"HF", 30, 20, 2, "HFP04", 2, 0, 1, 2, 1, 2, 2, 19, 8, 5, 17, 1}, + {"HF", 30, 22, 1, "HFP04", 3, 0, 2, 1, 1, 5, 2, 19, 10, 2, 18, 1}, + {"HF", 30, 22, 2, "HFP04", 3, 0, 4, 1, 2, 5, 2, 19, 10, 4, 18, 1}, + {"HF", 30, 24, 1, "HFP05", 1, 0, 3, 2, 2, 2, 2, 19, 10, 7, 18, 1}, + {"HF", 30, 24, 2, "HFP05", 1, 0, 1, 2, 1, 2, 2, 19, 10, 5, 18, 1}, + {"HF", 30, 26, 1, "HFP05", 2, 0, 2, 1, 1, 5, 9, 21, 0, 2, 13, 1}, + {"HF", 30, 26, 2, "HFP05", 2, 0, 4, 1, 2, 5, 9, 21, 0, 4, 13, 1}, + {"HF", 30, 28, 1, "HFP05", 3, 0, 3, 2, 2, 2, 9, 21, 0, 7, 13, 1}, + {"HF", 30, 28, 2, "HFP05", 3, 0, 1, 2, 1, 2, 9, 21, 0, 5, 13, 1}, + {"HF", 30, 30, 1, "HFP06", 1, 0, 2, 1, 1, 5, 9, 21, 2, 2, 14, 1}, + {"HF", 30, 30, 2, "HFP06", 1, 0, 4, 1, 2, 5, 9, 21, 2, 4, 14, 1}, + {"HF", 30, 32, 1, "HFP06", 2, 0, 3, 2, 2, 2, 9, 21, 2, 7, 14, 1}, + {"HF", 30, 32, 2, "HFP06", 2, 0, 1, 2, 1, 2, 9, 21, 2, 5, 14, 1}, + {"HF", 30, 34, 1, "HFP06", 3, 0, 2, 1, 1, 5, 9, 21, 4, 2, 15, 1}, + {"HF", 30, 34, 2, "HFP06", 3, 0, 4, 1, 2, 5, 9, 21, 4, 4, 15, 1}, + {"HF", 30, 36, 1, "HFP07", 1, 0, 3, 2, 2, 2, 9, 21, 4, 7, 15, 1}, + {"HF", 30, 36, 2, "HFP07", 1, 0, 1, 2, 1, 2, 9, 21, 4, 5, 15, 1}, + {"HF", 30, 38, 1, "HFP07", 2, 0, 2, 1, 1, 5, 9, 21, 6, 2, 16, 1}, + {"HF", 30, 38, 2, "HFP07", 2, 0, 4, 1, 2, 5, 9, 21, 6, 4, 16, 1}, + {"HF", 30, 40, 1, "HFP07", 3, 0, 3, 2, 2, 2, 9, 21, 6, 7, 16, 1}, + {"HF", 30, 40, 2, "HFP07", 3, 0, 1, 2, 1, 2, 9, 21, 6, 5, 16, 1}, + {"HF", 30, 42, 1, "HFP08", 1, 0, 2, 1, 1, 5, 9, 21, 8, 2, 17, 1}, + {"HF", 30, 42, 2, "HFP08", 1, 0, 4, 1, 2, 5, 9, 21, 8, 4, 17, 1}, + {"HF", 30, 44, 1, "HFP08", 2, 0, 3, 2, 2, 2, 9, 21, 8, 7, 17, 1}, + {"HF", 30, 44, 2, "HFP08", 2, 0, 1, 2, 1, 2, 9, 21, 8, 5, 17, 1}, + {"HF", 30, 46, 1, "HFP08", 3, 0, 2, 1, 1, 5, 9, 21, 10, 2, 18, 1}, + {"HF", 30, 46, 2, "HFP08", 3, 0, 4, 1, 2, 5, 9, 21, 10, 4, 18, 1}, + {"HF", 30, 48, 1, "HFP09", 1, 0, 3, 2, 2, 2, 9, 21, 10, 7, 18, 1}, + {"HF", 30, 48, 2, "HFP09", 1, 0, 1, 2, 1, 2, 9, 21, 10, 5, 18, 1}, + {"HF", 30, 50, 1, "HFP09", 2, 0, 2, 1, 1, 5, 12, 23, 0, 2, 13, 1}, + {"HF", 30, 50, 2, "HFP09", 2, 0, 4, 1, 2, 5, 12, 23, 0, 4, 13, 1}, + {"HF", 30, 52, 1, "HFP09", 3, 0, 3, 2, 2, 2, 12, 23, 0, 7, 13, 1}, + {"HF", 30, 52, 2, "HFP09", 3, 0, 1, 2, 1, 2, 12, 23, 0, 5, 13, 1}, + {"HF", 30, 54, 1, "HFP10", 1, 0, 2, 1, 1, 5, 12, 23, 2, 2, 14, 1}, + {"HF", 30, 54, 2, "HFP10", 1, 0, 4, 1, 2, 5, 12, 23, 2, 4, 14, 1}, + {"HF", 30, 56, 1, "HFP10", 2, 0, 3, 2, 2, 2, 12, 23, 2, 7, 14, 1}, + {"HF", 30, 56, 2, "HFP10", 2, 0, 1, 2, 1, 2, 12, 23, 2, 5, 14, 1}, + {"HF", 30, 58, 1, "HFP10", 3, 0, 2, 1, 1, 5, 12, 23, 4, 2, 15, 1}, + {"HF", 30, 58, 2, "HFP10", 3, 0, 4, 1, 2, 5, 12, 23, 4, 4, 15, 1}, + {"HF", 30, 60, 1, "HFP11", 1, 0, 3, 2, 2, 2, 12, 23, 4, 7, 15, 1}, + {"HF", 30, 60, 2, "HFP11", 1, 0, 1, 2, 1, 2, 12, 23, 4, 5, 15, 1}, + {"HF", 30, 62, 1, "HFP11", 2, 0, 2, 1, 1, 5, 12, 23, 6, 2, 16, 1}, + {"HF", 30, 62, 2, "HFP11", 2, 0, 4, 1, 2, 5, 12, 23, 6, 4, 16, 1}, + {"HF", 30, 64, 1, "HFP11", 3, 0, 3, 2, 2, 2, 12, 23, 6, 7, 16, 1}, + {"HF", 30, 64, 2, "HFP11", 3, 0, 1, 2, 1, 2, 12, 23, 6, 5, 16, 1}, + {"HF", 30, 66, 1, "HFP12", 1, 0, 2, 1, 1, 5, 12, 23, 8, 2, 17, 1}, + {"HF", 30, 66, 2, "HFP12", 1, 0, 4, 1, 2, 5, 12, 23, 8, 4, 17, 1}, + {"HF", 30, 68, 1, "HFP12", 2, 0, 3, 2, 2, 2, 12, 23, 8, 7, 17, 1}, + {"HF", 30, 68, 2, "HFP12", 2, 0, 1, 2, 1, 2, 12, 23, 8, 5, 17, 1}, + {"HF", 30, 70, 1, "HFP12", 3, 0, 2, 1, 1, 5, 12, 23, 10, 2, 18, 1}, + {"HF", 30, 70, 2, "HFP12", 3, 0, 4, 1, 2, 5, 12, 23, 10, 4, 18, 1}, + {"HF", 31, 0, 1, "HFP01", 1, 0, 4, 0, 2, 4, 12, 23, 10, 8, 18, 1}, + {"HF", 31, 0, 2, "HFP01", 1, 0, 2, 0, 1, 4, 12, 23, 10, 6, 18, 1}, + {"HF", 31, 2, 1, "HFP01", 2, 0, 1, 1, 1, 1, 2, 19, 0, 1, 13, 1}, + {"HF", 31, 2, 2, "HFP01", 2, 0, 3, 1, 2, 1, 2, 19, 0, 3, 13, 1}, + {"HF", 31, 4, 1, "HFP01", 3, 0, 4, 0, 2, 4, 2, 19, 0, 8, 13, 1}, + {"HF", 31, 4, 2, "HFP01", 3, 0, 2, 0, 1, 4, 2, 19, 0, 6, 13, 1}, + {"HF", 31, 6, 1, "HFP02", 1, 0, 1, 1, 1, 1, 2, 19, 2, 1, 14, 1}, + {"HF", 31, 6, 2, "HFP02", 1, 0, 3, 1, 2, 1, 2, 19, 2, 3, 14, 1}, + {"HF", 31, 8, 1, "HFP02", 2, 0, 4, 0, 2, 4, 2, 19, 2, 8, 14, 1}, + {"HF", 31, 8, 2, "HFP02", 2, 0, 2, 0, 1, 4, 2, 19, 2, 6, 14, 1}, + {"HF", 31, 10, 1, "HFP02", 3, 0, 1, 1, 1, 1, 2, 19, 4, 1, 15, 1}, + {"HF", 31, 10, 2, "HFP02", 3, 0, 3, 1, 2, 1, 2, 19, 4, 3, 15, 1}, + {"HF", 31, 12, 1, "HFP03", 1, 0, 4, 0, 2, 4, 2, 19, 4, 8, 15, 1}, + {"HF", 31, 12, 2, "HFP03", 1, 0, 2, 0, 1, 4, 2, 19, 4, 6, 15, 1}, + {"HF", 31, 14, 1, "HFP03", 2, 0, 1, 1, 1, 1, 2, 19, 6, 1, 16, 1}, + {"HF", 31, 14, 2, "HFP03", 2, 0, 3, 1, 2, 1, 2, 19, 6, 3, 16, 1}, + {"HF", 31, 16, 1, "HFP03", 3, 0, 4, 0, 2, 4, 2, 19, 6, 8, 16, 1}, + {"HF", 31, 16, 2, "HFP03", 3, 0, 2, 0, 1, 4, 2, 19, 6, 6, 16, 1}, + {"HF", 31, 18, 1, "HFP04", 1, 0, 1, 1, 1, 1, 2, 19, 8, 1, 17, 1}, + {"HF", 31, 18, 2, "HFP04", 1, 0, 3, 1, 2, 1, 2, 19, 8, 3, 17, 1}, + {"HF", 31, 20, 1, "HFP04", 2, 0, 4, 0, 2, 4, 2, 19, 8, 8, 17, 1}, + {"HF", 31, 20, 2, "HFP04", 2, 0, 2, 0, 1, 4, 2, 19, 8, 6, 17, 1}, + {"HF", 31, 22, 1, "HFP04", 3, 0, 1, 1, 1, 1, 2, 19, 10, 1, 18, 1}, + {"HF", 31, 22, 2, "HFP04", 3, 0, 3, 1, 2, 1, 2, 19, 10, 3, 18, 1}, + {"HF", 31, 24, 1, "HFP05", 1, 0, 4, 0, 2, 4, 2, 19, 10, 8, 18, 1}, + {"HF", 31, 24, 2, "HFP05", 1, 0, 2, 0, 1, 4, 2, 19, 10, 6, 18, 1}, + {"HF", 31, 26, 1, "HFP05", 2, 0, 1, 1, 1, 1, 9, 21, 0, 1, 13, 1}, + {"HF", 31, 26, 2, "HFP05", 2, 0, 3, 1, 2, 1, 9, 21, 0, 3, 13, 1}, + {"HF", 31, 28, 1, "HFP05", 3, 0, 4, 0, 2, 4, 9, 21, 0, 8, 13, 1}, + {"HF", 31, 28, 2, "HFP05", 3, 0, 2, 0, 1, 4, 9, 21, 0, 6, 13, 1}, + {"HF", 31, 30, 1, "HFP06", 1, 0, 1, 1, 1, 1, 9, 21, 2, 1, 14, 1}, + {"HF", 31, 30, 2, "HFP06", 1, 0, 3, 1, 2, 1, 9, 21, 2, 3, 14, 1}, + {"HF", 31, 32, 1, "HFP06", 2, 0, 4, 0, 2, 4, 9, 21, 2, 8, 14, 1}, + {"HF", 31, 32, 2, "HFP06", 2, 0, 2, 0, 1, 4, 9, 21, 2, 6, 14, 1}, + {"HF", 31, 34, 1, "HFP06", 3, 0, 1, 1, 1, 1, 9, 21, 4, 1, 15, 1}, + {"HF", 31, 34, 2, "HFP06", 3, 0, 3, 1, 2, 1, 9, 21, 4, 3, 15, 1}, + {"HF", 31, 36, 1, "HFP07", 1, 0, 4, 0, 2, 4, 9, 21, 4, 8, 15, 1}, + {"HF", 31, 36, 2, "HFP07", 1, 0, 2, 0, 1, 4, 9, 21, 4, 6, 15, 1}, + {"HF", 31, 38, 1, "HFP07", 2, 0, 1, 1, 1, 1, 9, 21, 6, 1, 16, 1}, + {"HF", 31, 38, 2, "HFP07", 2, 0, 3, 1, 2, 1, 9, 21, 6, 3, 16, 1}, + {"HF", 31, 40, 1, "HFP07", 3, 0, 4, 0, 2, 4, 9, 21, 6, 8, 16, 1}, + {"HF", 31, 40, 2, "HFP07", 3, 0, 2, 0, 1, 4, 9, 21, 6, 6, 16, 1}, + {"HF", 31, 42, 1, "HFP08", 1, 0, 1, 1, 1, 1, 9, 21, 8, 1, 17, 1}, + {"HF", 31, 42, 2, "HFP08", 1, 0, 3, 1, 2, 1, 9, 21, 8, 3, 17, 1}, + {"HF", 31, 44, 1, "HFP08", 2, 0, 4, 0, 2, 4, 9, 21, 8, 8, 17, 1}, + {"HF", 31, 44, 2, "HFP08", 2, 0, 2, 0, 1, 4, 9, 21, 8, 6, 17, 1}, + {"HF", 31, 46, 1, "HFP08", 3, 0, 1, 1, 1, 1, 9, 21, 10, 1, 18, 1}, + {"HF", 31, 46, 2, "HFP08", 3, 0, 3, 1, 2, 1, 9, 21, 10, 3, 18, 1}, + {"HF", 31, 48, 1, "HFP09", 1, 0, 4, 0, 2, 4, 9, 21, 10, 8, 18, 1}, + {"HF", 31, 48, 2, "HFP09", 1, 0, 2, 0, 1, 4, 9, 21, 10, 6, 18, 1}, + {"HF", 31, 50, 1, "HFP09", 2, 0, 1, 1, 1, 1, 12, 23, 0, 1, 13, 1}, + {"HF", 31, 50, 2, "HFP09", 2, 0, 3, 1, 2, 1, 12, 23, 0, 3, 13, 1}, + {"HF", 31, 52, 1, "HFP09", 3, 0, 4, 0, 2, 4, 12, 23, 0, 8, 13, 1}, + {"HF", 31, 52, 2, "HFP09", 3, 0, 2, 0, 1, 4, 12, 23, 0, 6, 13, 1}, + {"HF", 31, 54, 1, "HFP10", 1, 0, 1, 1, 1, 1, 12, 23, 2, 1, 14, 1}, + {"HF", 31, 54, 2, "HFP10", 1, 0, 3, 1, 2, 1, 12, 23, 2, 3, 14, 1}, + {"HF", 31, 56, 1, "HFP10", 2, 0, 4, 0, 2, 4, 12, 23, 2, 8, 14, 1}, + {"HF", 31, 56, 2, "HFP10", 2, 0, 2, 0, 1, 4, 12, 23, 2, 6, 14, 1}, + {"HF", 31, 58, 1, "HFP10", 3, 0, 1, 1, 1, 1, 12, 23, 4, 1, 15, 1}, + {"HF", 31, 58, 2, "HFP10", 3, 0, 3, 1, 2, 1, 12, 23, 4, 3, 15, 1}, + {"HF", 31, 60, 1, "HFP11", 1, 0, 4, 0, 2, 4, 12, 23, 4, 8, 15, 1}, + {"HF", 31, 60, 2, "HFP11", 1, 0, 2, 0, 1, 4, 12, 23, 4, 6, 15, 1}, + {"HF", 31, 62, 1, "HFP11", 2, 0, 1, 1, 1, 1, 12, 23, 6, 1, 16, 1}, + {"HF", 31, 62, 2, "HFP11", 2, 0, 3, 1, 2, 1, 12, 23, 6, 3, 16, 1}, + {"HF", 31, 64, 1, "HFP11", 3, 0, 4, 0, 2, 4, 12, 23, 6, 8, 16, 1}, + {"HF", 31, 64, 2, "HFP11", 3, 0, 2, 0, 1, 4, 12, 23, 6, 6, 16, 1}, + {"HF", 31, 66, 1, "HFP12", 1, 0, 1, 1, 1, 1, 12, 23, 8, 1, 17, 1}, + {"HF", 31, 66, 2, "HFP12", 1, 0, 3, 1, 2, 1, 12, 23, 8, 3, 17, 1}, + {"HF", 31, 68, 1, "HFP12", 2, 0, 4, 0, 2, 4, 12, 23, 8, 8, 17, 1}, + {"HF", 31, 68, 2, "HFP12", 2, 0, 2, 0, 1, 4, 12, 23, 8, 6, 17, 1}, + {"HF", 31, 70, 1, "HFP12", 3, 0, 1, 1, 1, 1, 12, 23, 10, 1, 18, 1}, + {"HF", 31, 70, 2, "HFP12", 3, 0, 3, 1, 2, 1, 12, 23, 10, 3, 18, 1}, + {"HF", 32, 0, 1, "HFP01", 1, 0, 3, 1, 2, 1, 12, 23, 10, 7, 18, 1}, + {"HF", 32, 0, 2, "HFP01", 1, 0, 1, 1, 1, 1, 12, 23, 10, 5, 18, 1}, + {"HF", 32, 2, 1, "HFP01", 2, 0, 2, 0, 1, 4, 2, 19, 0, 2, 13, 1}, + {"HF", 32, 2, 2, "HFP01", 2, 0, 4, 0, 2, 4, 2, 19, 0, 4, 13, 1}, + {"HF", 32, 4, 1, "HFP01", 3, 0, 3, 1, 2, 1, 2, 19, 0, 7, 13, 1}, + {"HF", 32, 4, 2, "HFP01", 3, 0, 1, 1, 1, 1, 2, 19, 0, 5, 13, 1}, + {"HF", 32, 6, 1, "HFP02", 1, 0, 2, 0, 1, 4, 2, 19, 2, 2, 14, 1}, + {"HF", 32, 6, 2, "HFP02", 1, 0, 4, 0, 2, 4, 2, 19, 2, 4, 14, 1}, + {"HF", 32, 8, 1, "HFP02", 2, 0, 3, 1, 2, 1, 2, 19, 2, 7, 14, 1}, + {"HF", 32, 8, 2, "HFP02", 2, 0, 1, 1, 1, 1, 2, 19, 2, 5, 14, 1}, + {"HF", 32, 10, 1, "HFP02", 3, 0, 2, 0, 1, 4, 2, 19, 4, 2, 15, 1}, + {"HF", 32, 10, 2, "HFP02", 3, 0, 4, 0, 2, 4, 2, 19, 4, 4, 15, 1}, + {"HF", 32, 12, 1, "HFP03", 1, 0, 3, 1, 2, 1, 2, 19, 4, 7, 15, 1}, + {"HF", 32, 12, 2, "HFP03", 1, 0, 1, 1, 1, 1, 2, 19, 4, 5, 15, 1}, + {"HF", 32, 14, 1, "HFP03", 2, 0, 2, 0, 1, 4, 2, 19, 6, 2, 16, 1}, + {"HF", 32, 14, 2, "HFP03", 2, 0, 4, 0, 2, 4, 2, 19, 6, 4, 16, 1}, + {"HF", 32, 16, 1, "HFP03", 3, 0, 3, 1, 2, 1, 2, 19, 6, 7, 16, 1}, + {"HF", 32, 16, 2, "HFP03", 3, 0, 1, 1, 1, 1, 2, 19, 6, 5, 16, 1}, + {"HF", 32, 18, 1, "HFP04", 1, 0, 2, 0, 1, 4, 2, 19, 8, 2, 17, 1}, + {"HF", 32, 18, 2, "HFP04", 1, 0, 4, 0, 2, 4, 2, 19, 8, 4, 17, 1}, + {"HF", 32, 20, 1, "HFP04", 2, 0, 3, 1, 2, 1, 2, 19, 8, 7, 17, 1}, + {"HF", 32, 20, 2, "HFP04", 2, 0, 1, 1, 1, 1, 2, 19, 8, 5, 17, 1}, + {"HF", 32, 22, 1, "HFP04", 3, 0, 2, 0, 1, 4, 2, 19, 10, 2, 18, 1}, + {"HF", 32, 22, 2, "HFP04", 3, 0, 4, 0, 2, 4, 2, 19, 10, 4, 18, 1}, + {"HF", 32, 24, 1, "HFP05", 1, 0, 3, 1, 2, 1, 2, 19, 10, 7, 18, 1}, + {"HF", 32, 24, 2, "HFP05", 1, 0, 1, 1, 1, 1, 2, 19, 10, 5, 18, 1}, + {"HF", 32, 26, 1, "HFP05", 2, 0, 2, 0, 1, 4, 9, 21, 0, 2, 13, 1}, + {"HF", 32, 26, 2, "HFP05", 2, 0, 4, 0, 2, 4, 9, 21, 0, 4, 13, 1}, + {"HF", 32, 28, 1, "HFP05", 3, 0, 3, 1, 2, 1, 9, 21, 0, 7, 13, 1}, + {"HF", 32, 28, 2, "HFP05", 3, 0, 1, 1, 1, 1, 9, 21, 0, 5, 13, 1}, + {"HF", 32, 30, 1, "HFP06", 1, 0, 2, 0, 1, 4, 9, 21, 2, 2, 14, 1}, + {"HF", 32, 30, 2, "HFP06", 1, 0, 4, 0, 2, 4, 9, 21, 2, 4, 14, 1}, + {"HF", 32, 32, 1, "HFP06", 2, 0, 3, 1, 2, 1, 9, 21, 2, 7, 14, 1}, + {"HF", 32, 32, 2, "HFP06", 2, 0, 1, 1, 1, 1, 9, 21, 2, 5, 14, 1}, + {"HF", 32, 34, 1, "HFP06", 3, 0, 2, 0, 1, 4, 9, 21, 4, 2, 15, 1}, + {"HF", 32, 34, 2, "HFP06", 3, 0, 4, 0, 2, 4, 9, 21, 4, 4, 15, 1}, + {"HF", 32, 36, 1, "HFP07", 1, 0, 3, 1, 2, 1, 9, 21, 4, 7, 15, 1}, + {"HF", 32, 36, 2, "HFP07", 1, 0, 1, 1, 1, 1, 9, 21, 4, 5, 15, 1}, + {"HF", 32, 38, 1, "HFP07", 2, 0, 2, 0, 1, 4, 9, 21, 6, 2, 16, 1}, + {"HF", 32, 38, 2, "HFP07", 2, 0, 4, 0, 2, 4, 9, 21, 6, 4, 16, 1}, + {"HF", 32, 40, 1, "HFP07", 3, 0, 3, 1, 2, 1, 9, 21, 6, 7, 16, 1}, + {"HF", 32, 40, 2, "HFP07", 3, 0, 1, 1, 1, 1, 9, 21, 6, 5, 16, 1}, + {"HF", 32, 42, 1, "HFP08", 1, 0, 2, 0, 1, 4, 9, 21, 8, 2, 17, 1}, + {"HF", 32, 42, 2, "HFP08", 1, 0, 4, 0, 2, 4, 9, 21, 8, 4, 17, 1}, + {"HF", 32, 44, 1, "HFP08", 2, 0, 3, 1, 2, 1, 9, 21, 8, 7, 17, 1}, + {"HF", 32, 44, 2, "HFP08", 2, 0, 1, 1, 1, 1, 9, 21, 8, 5, 17, 1}, + {"HF", 32, 46, 1, "HFP08", 3, 0, 2, 0, 1, 4, 9, 21, 10, 2, 18, 1}, + {"HF", 32, 46, 2, "HFP08", 3, 0, 4, 0, 2, 4, 9, 21, 10, 4, 18, 1}, + {"HF", 32, 48, 1, "HFP09", 1, 0, 3, 1, 2, 1, 9, 21, 10, 7, 18, 1}, + {"HF", 32, 48, 2, "HFP09", 1, 0, 1, 1, 1, 1, 9, 21, 10, 5, 18, 1}, + {"HF", 32, 50, 1, "HFP09", 2, 0, 2, 0, 1, 4, 12, 23, 0, 2, 13, 1}, + {"HF", 32, 50, 2, "HFP09", 2, 0, 4, 0, 2, 4, 12, 23, 0, 4, 13, 1}, + {"HF", 32, 52, 1, "HFP09", 3, 0, 3, 1, 2, 1, 12, 23, 0, 7, 13, 1}, + {"HF", 32, 52, 2, "HFP09", 3, 0, 1, 1, 1, 1, 12, 23, 0, 5, 13, 1}, + {"HF", 32, 54, 1, "HFP10", 1, 0, 2, 0, 1, 4, 12, 23, 2, 2, 14, 1}, + {"HF", 32, 54, 2, "HFP10", 1, 0, 4, 0, 2, 4, 12, 23, 2, 4, 14, 1}, + {"HF", 32, 56, 1, "HFP10", 2, 0, 3, 1, 2, 1, 12, 23, 2, 7, 14, 1}, + {"HF", 32, 56, 2, "HFP10", 2, 0, 1, 1, 1, 1, 12, 23, 2, 5, 14, 1}, + {"HF", 32, 58, 1, "HFP10", 3, 0, 2, 0, 1, 4, 12, 23, 4, 2, 15, 1}, + {"HF", 32, 58, 2, "HFP10", 3, 0, 4, 0, 2, 4, 12, 23, 4, 4, 15, 1}, + {"HF", 32, 60, 1, "HFP11", 1, 0, 3, 1, 2, 1, 12, 23, 4, 7, 15, 1}, + {"HF", 32, 60, 2, "HFP11", 1, 0, 1, 1, 1, 1, 12, 23, 4, 5, 15, 1}, + {"HF", 32, 62, 1, "HFP11", 2, 0, 2, 0, 1, 4, 12, 23, 6, 2, 16, 1}, + {"HF", 32, 62, 2, "HFP11", 2, 0, 4, 0, 2, 4, 12, 23, 6, 4, 16, 1}, + {"HF", 32, 64, 1, "HFP11", 3, 0, 3, 1, 2, 1, 12, 23, 6, 7, 16, 1}, + {"HF", 32, 64, 2, "HFP11", 3, 0, 1, 1, 1, 1, 12, 23, 6, 5, 16, 1}, + {"HF", 32, 66, 1, "HFP12", 1, 0, 2, 0, 1, 4, 12, 23, 8, 2, 17, 1}, + {"HF", 32, 66, 2, "HFP12", 1, 0, 4, 0, 2, 4, 12, 23, 8, 4, 17, 1}, + {"HF", 32, 68, 1, "HFP12", 2, 0, 3, 1, 2, 1, 12, 23, 8, 7, 17, 1}, + {"HF", 32, 68, 2, "HFP12", 2, 0, 1, 1, 1, 1, 12, 23, 8, 5, 17, 1}, + {"HF", 32, 70, 1, "HFP12", 3, 0, 2, 0, 1, 4, 12, 23, 10, 2, 18, 1}, + {"HF", 32, 70, 2, "HFP12", 3, 0, 4, 0, 2, 4, 12, 23, 10, 4, 18, 1}, + {"HF", 33, 0, 1, "HFP01", 1, 0, 4, 2, 2, 3, 12, 23, 10, 8, 18, 1}, + {"HF", 33, 0, 2, "HFP01", 1, 0, 2, 2, 1, 3, 12, 23, 10, 6, 18, 1}, + {"HF", 33, 2, 1, "HFP01", 2, 0, 1, 0, 1, 0, 2, 19, 0, 1, 13, 1}, + {"HF", 33, 2, 2, "HFP01", 2, 0, 3, 0, 2, 0, 2, 19, 0, 3, 13, 1}, + {"HF", 33, 4, 1, "HFP01", 3, 0, 4, 2, 2, 3, 2, 19, 0, 8, 13, 1}, + {"HF", 33, 4, 2, "HFP01", 3, 0, 2, 2, 1, 3, 2, 19, 0, 6, 13, 1}, + {"HF", 33, 6, 1, "HFP02", 1, 0, 1, 0, 1, 0, 2, 19, 2, 1, 14, 1}, + {"HF", 33, 6, 2, "HFP02", 1, 0, 3, 0, 2, 0, 2, 19, 2, 3, 14, 1}, + {"HF", 33, 8, 1, "HFP02", 2, 0, 4, 2, 2, 3, 2, 19, 2, 8, 14, 1}, + {"HF", 33, 8, 2, "HFP02", 2, 0, 2, 2, 1, 3, 2, 19, 2, 6, 14, 1}, + {"HF", 33, 10, 1, "HFP02", 3, 0, 1, 0, 1, 0, 2, 19, 4, 1, 15, 1}, + {"HF", 33, 10, 2, "HFP02", 3, 0, 3, 0, 2, 0, 2, 19, 4, 3, 15, 1}, + {"HF", 33, 12, 1, "HFP03", 1, 0, 4, 2, 2, 3, 2, 19, 4, 8, 15, 1}, + {"HF", 33, 12, 2, "HFP03", 1, 0, 2, 2, 1, 3, 2, 19, 4, 6, 15, 1}, + {"HF", 33, 14, 1, "HFP03", 2, 0, 1, 0, 1, 0, 2, 19, 6, 1, 16, 1}, + {"HF", 33, 14, 2, "HFP03", 2, 0, 3, 0, 2, 0, 2, 19, 6, 3, 16, 1}, + {"HF", 33, 16, 1, "HFP03", 3, 0, 4, 2, 2, 3, 2, 19, 6, 8, 16, 1}, + {"HF", 33, 16, 2, "HFP03", 3, 0, 2, 2, 1, 3, 2, 19, 6, 6, 16, 1}, + {"HF", 33, 18, 1, "HFP04", 1, 0, 1, 0, 1, 0, 2, 19, 8, 1, 17, 1}, + {"HF", 33, 18, 2, "HFP04", 1, 0, 3, 0, 2, 0, 2, 19, 8, 3, 17, 1}, + {"HF", 33, 20, 1, "HFP04", 2, 0, 4, 2, 2, 3, 2, 19, 8, 8, 17, 1}, + {"HF", 33, 20, 2, "HFP04", 2, 0, 2, 2, 1, 3, 2, 19, 8, 6, 17, 1}, + {"HF", 33, 22, 1, "HFP04", 3, 0, 1, 0, 1, 0, 2, 19, 10, 1, 18, 1}, + {"HF", 33, 22, 2, "HFP04", 3, 0, 3, 0, 2, 0, 2, 19, 10, 3, 18, 1}, + {"HF", 33, 24, 1, "HFP05", 1, 0, 4, 2, 2, 3, 2, 19, 10, 8, 18, 1}, + {"HF", 33, 24, 2, "HFP05", 1, 0, 2, 2, 1, 3, 2, 19, 10, 6, 18, 1}, + {"HF", 33, 26, 1, "HFP05", 2, 0, 1, 0, 1, 0, 9, 21, 0, 1, 13, 1}, + {"HF", 33, 26, 2, "HFP05", 2, 0, 3, 0, 2, 0, 9, 21, 0, 3, 13, 1}, + {"HF", 33, 28, 1, "HFP05", 3, 0, 4, 2, 2, 3, 9, 21, 0, 8, 13, 1}, + {"HF", 33, 28, 2, "HFP05", 3, 0, 2, 2, 1, 3, 9, 21, 0, 6, 13, 1}, + {"HF", 33, 30, 1, "HFP06", 1, 0, 1, 0, 1, 0, 9, 21, 2, 1, 14, 1}, + {"HF", 33, 30, 2, "HFP06", 1, 0, 3, 0, 2, 0, 9, 21, 2, 3, 14, 1}, + {"HF", 33, 32, 1, "HFP06", 2, 0, 4, 2, 2, 3, 9, 21, 2, 8, 14, 1}, + {"HF", 33, 32, 2, "HFP06", 2, 0, 2, 2, 1, 3, 9, 21, 2, 6, 14, 1}, + {"HF", 33, 34, 1, "HFP06", 3, 0, 1, 0, 1, 0, 9, 21, 4, 1, 15, 1}, + {"HF", 33, 34, 2, "HFP06", 3, 0, 3, 0, 2, 0, 9, 21, 4, 3, 15, 1}, + {"HF", 33, 36, 1, "HFP07", 1, 0, 4, 2, 2, 3, 9, 21, 4, 8, 15, 1}, + {"HF", 33, 36, 2, "HFP07", 1, 0, 2, 2, 1, 3, 9, 21, 4, 6, 15, 1}, + {"HF", 33, 38, 1, "HFP07", 2, 0, 1, 0, 1, 0, 9, 21, 6, 1, 16, 1}, + {"HF", 33, 38, 2, "HFP07", 2, 0, 3, 0, 2, 0, 9, 21, 6, 3, 16, 1}, + {"HF", 33, 40, 1, "HFP07", 3, 0, 4, 2, 2, 3, 9, 21, 6, 8, 16, 1}, + {"HF", 33, 40, 2, "HFP07", 3, 0, 2, 2, 1, 3, 9, 21, 6, 6, 16, 1}, + {"HF", 33, 42, 1, "HFP08", 1, 0, 1, 0, 1, 0, 9, 21, 8, 1, 17, 1}, + {"HF", 33, 42, 2, "HFP08", 1, 0, 3, 0, 2, 0, 9, 21, 8, 3, 17, 1}, + {"HF", 33, 44, 1, "HFP08", 2, 0, 4, 2, 2, 3, 9, 21, 8, 8, 17, 1}, + {"HF", 33, 44, 2, "HFP08", 2, 0, 2, 2, 1, 3, 9, 21, 8, 6, 17, 1}, + {"HF", 33, 46, 1, "HFP08", 3, 0, 1, 0, 1, 0, 9, 21, 10, 1, 18, 1}, + {"HF", 33, 46, 2, "HFP08", 3, 0, 3, 0, 2, 0, 9, 21, 10, 3, 18, 1}, + {"HF", 33, 48, 1, "HFP09", 1, 0, 4, 2, 2, 3, 9, 21, 10, 8, 18, 1}, + {"HF", 33, 48, 2, "HFP09", 1, 0, 2, 2, 1, 3, 9, 21, 10, 6, 18, 1}, + {"HF", 33, 50, 1, "HFP09", 2, 0, 1, 0, 1, 0, 12, 23, 0, 1, 13, 1}, + {"HF", 33, 50, 2, "HFP09", 2, 0, 3, 0, 2, 0, 12, 23, 0, 3, 13, 1}, + {"HF", 33, 52, 1, "HFP09", 3, 0, 4, 2, 2, 3, 12, 23, 0, 8, 13, 1}, + {"HF", 33, 52, 2, "HFP09", 3, 0, 2, 2, 1, 3, 12, 23, 0, 6, 13, 1}, + {"HF", 33, 54, 1, "HFP10", 1, 0, 1, 0, 1, 0, 12, 23, 2, 1, 14, 1}, + {"HF", 33, 54, 2, "HFP10", 1, 0, 3, 0, 2, 0, 12, 23, 2, 3, 14, 1}, + {"HF", 33, 56, 1, "HFP10", 2, 0, 4, 2, 2, 3, 12, 23, 2, 8, 14, 1}, + {"HF", 33, 56, 2, "HFP10", 2, 0, 2, 2, 1, 3, 12, 23, 2, 6, 14, 1}, + {"HF", 33, 58, 1, "HFP10", 3, 0, 1, 0, 1, 0, 12, 23, 4, 1, 15, 1}, + {"HF", 33, 58, 2, "HFP10", 3, 0, 3, 0, 2, 0, 12, 23, 4, 3, 15, 1}, + {"HF", 33, 60, 1, "HFP11", 1, 0, 4, 2, 2, 3, 12, 23, 4, 8, 15, 1}, + {"HF", 33, 60, 2, "HFP11", 1, 0, 2, 2, 1, 3, 12, 23, 4, 6, 15, 1}, + {"HF", 33, 62, 1, "HFP11", 2, 0, 1, 0, 1, 0, 12, 23, 6, 1, 16, 1}, + {"HF", 33, 62, 2, "HFP11", 2, 0, 3, 0, 2, 0, 12, 23, 6, 3, 16, 1}, + {"HF", 33, 64, 1, "HFP11", 3, 0, 4, 2, 2, 3, 12, 23, 6, 8, 16, 1}, + {"HF", 33, 64, 2, "HFP11", 3, 0, 2, 2, 1, 3, 12, 23, 6, 6, 16, 1}, + {"HF", 33, 66, 1, "HFP12", 1, 0, 1, 0, 1, 0, 12, 23, 8, 1, 17, 1}, + {"HF", 33, 66, 2, "HFP12", 1, 0, 3, 0, 2, 0, 12, 23, 8, 3, 17, 1}, + {"HF", 33, 68, 1, "HFP12", 2, 0, 4, 2, 2, 3, 12, 23, 8, 8, 17, 1}, + {"HF", 33, 68, 2, "HFP12", 2, 0, 2, 2, 1, 3, 12, 23, 8, 6, 17, 1}, + {"HF", 33, 70, 1, "HFP12", 3, 0, 1, 0, 1, 0, 12, 23, 10, 1, 18, 1}, + {"HF", 33, 70, 2, "HFP12", 3, 0, 3, 0, 2, 0, 12, 23, 10, 3, 18, 1}, + {"HF", 34, 0, 1, "HFP01", 1, 0, 3, 0, 2, 0, 12, 23, 10, 7, 18, 1}, + {"HF", 34, 0, 2, "HFP01", 1, 0, 1, 0, 1, 0, 12, 23, 10, 5, 18, 1}, + {"HF", 34, 2, 1, "HFP01", 2, 0, 2, 2, 1, 3, 2, 19, 0, 2, 13, 1}, + {"HF", 34, 2, 2, "HFP01", 2, 0, 4, 2, 2, 3, 2, 19, 0, 4, 13, 1}, + {"HF", 34, 4, 1, "HFP01", 3, 0, 3, 0, 2, 0, 2, 19, 0, 7, 13, 1}, + {"HF", 34, 4, 2, "HFP01", 3, 0, 1, 0, 1, 0, 2, 19, 0, 5, 13, 1}, + {"HF", 34, 6, 1, "HFP02", 1, 0, 2, 2, 1, 3, 2, 19, 2, 2, 14, 1}, + {"HF", 34, 6, 2, "HFP02", 1, 0, 4, 2, 2, 3, 2, 19, 2, 4, 14, 1}, + {"HF", 34, 8, 1, "HFP02", 2, 0, 3, 0, 2, 0, 2, 19, 2, 7, 14, 1}, + {"HF", 34, 8, 2, "HFP02", 2, 0, 1, 0, 1, 0, 2, 19, 2, 5, 14, 1}, + {"HF", 34, 10, 1, "HFP02", 3, 0, 2, 2, 1, 3, 2, 19, 4, 2, 15, 1}, + {"HF", 34, 10, 2, "HFP02", 3, 0, 4, 2, 2, 3, 2, 19, 4, 4, 15, 1}, + {"HF", 34, 12, 1, "HFP03", 1, 0, 3, 0, 2, 0, 2, 19, 4, 7, 15, 1}, + {"HF", 34, 12, 2, "HFP03", 1, 0, 1, 0, 1, 0, 2, 19, 4, 5, 15, 1}, + {"HF", 34, 14, 1, "HFP03", 2, 0, 2, 2, 1, 3, 2, 19, 6, 2, 16, 1}, + {"HF", 34, 14, 2, "HFP03", 2, 0, 4, 2, 2, 3, 2, 19, 6, 4, 16, 1}, + {"HF", 34, 16, 1, "HFP03", 3, 0, 3, 0, 2, 0, 2, 19, 6, 7, 16, 1}, + {"HF", 34, 16, 2, "HFP03", 3, 0, 1, 0, 1, 0, 2, 19, 6, 5, 16, 1}, + {"HF", 34, 18, 1, "HFP04", 1, 0, 2, 2, 1, 3, 2, 19, 8, 2, 17, 1}, + {"HF", 34, 18, 2, "HFP04", 1, 0, 4, 2, 2, 3, 2, 19, 8, 4, 17, 1}, + {"HF", 34, 20, 1, "HFP04", 2, 0, 3, 0, 2, 0, 2, 19, 8, 7, 17, 1}, + {"HF", 34, 20, 2, "HFP04", 2, 0, 1, 0, 1, 0, 2, 19, 8, 5, 17, 1}, + {"HF", 34, 22, 1, "HFP04", 3, 0, 2, 2, 1, 3, 2, 19, 10, 2, 18, 1}, + {"HF", 34, 22, 2, "HFP04", 3, 0, 4, 2, 2, 3, 2, 19, 10, 4, 18, 1}, + {"HF", 34, 24, 1, "HFP05", 1, 0, 3, 0, 2, 0, 2, 19, 10, 7, 18, 1}, + {"HF", 34, 24, 2, "HFP05", 1, 0, 1, 0, 1, 0, 2, 19, 10, 5, 18, 1}, + {"HF", 34, 26, 1, "HFP05", 2, 0, 2, 2, 1, 3, 9, 21, 0, 2, 13, 1}, + {"HF", 34, 26, 2, "HFP05", 2, 0, 4, 2, 2, 3, 9, 21, 0, 4, 13, 1}, + {"HF", 34, 28, 1, "HFP05", 3, 0, 3, 0, 2, 0, 9, 21, 0, 7, 13, 1}, + {"HF", 34, 28, 2, "HFP05", 3, 0, 1, 0, 1, 0, 9, 21, 0, 5, 13, 1}, + {"HF", 34, 30, 1, "HFP06", 1, 0, 2, 2, 1, 3, 9, 21, 2, 2, 14, 1}, + {"HF", 34, 30, 2, "HFP06", 1, 0, 4, 2, 2, 3, 9, 21, 2, 4, 14, 1}, + {"HF", 34, 32, 1, "HFP06", 2, 0, 3, 0, 2, 0, 9, 21, 2, 7, 14, 1}, + {"HF", 34, 32, 2, "HFP06", 2, 0, 1, 0, 1, 0, 9, 21, 2, 5, 14, 1}, + {"HF", 34, 34, 1, "HFP06", 3, 0, 2, 2, 1, 3, 9, 21, 4, 2, 15, 1}, + {"HF", 34, 34, 2, "HFP06", 3, 0, 4, 2, 2, 3, 9, 21, 4, 4, 15, 1}, + {"HF", 34, 36, 1, "HFP07", 1, 0, 3, 0, 2, 0, 9, 21, 4, 7, 15, 1}, + {"HF", 34, 36, 2, "HFP07", 1, 0, 1, 0, 1, 0, 9, 21, 4, 5, 15, 1}, + {"HF", 34, 38, 1, "HFP07", 2, 0, 2, 2, 1, 3, 9, 21, 6, 2, 16, 1}, + {"HF", 34, 38, 2, "HFP07", 2, 0, 4, 2, 2, 3, 9, 21, 6, 4, 16, 1}, + {"HF", 34, 40, 1, "HFP07", 3, 0, 3, 0, 2, 0, 9, 21, 6, 7, 16, 1}, + {"HF", 34, 40, 2, "HFP07", 3, 0, 1, 0, 1, 0, 9, 21, 6, 5, 16, 1}, + {"HF", 34, 42, 1, "HFP08", 1, 0, 2, 2, 1, 3, 9, 21, 8, 2, 17, 1}, + {"HF", 34, 42, 2, "HFP08", 1, 0, 4, 2, 2, 3, 9, 21, 8, 4, 17, 1}, + {"HF", 34, 44, 1, "HFP08", 2, 0, 3, 0, 2, 0, 9, 21, 8, 7, 17, 1}, + {"HF", 34, 44, 2, "HFP08", 2, 0, 1, 0, 1, 0, 9, 21, 8, 5, 17, 1}, + {"HF", 34, 46, 1, "HFP08", 3, 0, 2, 2, 1, 3, 9, 21, 10, 2, 18, 1}, + {"HF", 34, 46, 2, "HFP08", 3, 0, 4, 2, 2, 3, 9, 21, 10, 4, 18, 1}, + {"HF", 34, 48, 1, "HFP09", 1, 0, 3, 0, 2, 0, 9, 21, 10, 7, 18, 1}, + {"HF", 34, 48, 2, "HFP09", 1, 0, 1, 0, 1, 0, 9, 21, 10, 5, 18, 1}, + {"HF", 34, 50, 1, "HFP09", 2, 0, 2, 2, 1, 3, 12, 23, 0, 2, 13, 1}, + {"HF", 34, 50, 2, "HFP09", 2, 0, 4, 2, 2, 3, 12, 23, 0, 4, 13, 1}, + {"HF", 34, 52, 1, "HFP09", 3, 0, 3, 0, 2, 0, 12, 23, 0, 7, 13, 1}, + {"HF", 34, 52, 2, "HFP09", 3, 0, 1, 0, 1, 0, 12, 23, 0, 5, 13, 1}, + {"HF", 34, 54, 1, "HFP10", 1, 0, 2, 2, 1, 3, 12, 23, 2, 2, 14, 1}, + {"HF", 34, 54, 2, "HFP10", 1, 0, 4, 2, 2, 3, 12, 23, 2, 4, 14, 1}, + {"HF", 34, 56, 1, "HFP10", 2, 0, 3, 0, 2, 0, 12, 23, 2, 7, 14, 1}, + {"HF", 34, 56, 2, "HFP10", 2, 0, 1, 0, 1, 0, 12, 23, 2, 5, 14, 1}, + {"HF", 34, 58, 1, "HFP10", 3, 0, 2, 2, 1, 3, 12, 23, 4, 2, 15, 1}, + {"HF", 34, 58, 2, "HFP10", 3, 0, 4, 2, 2, 3, 12, 23, 4, 4, 15, 1}, + {"HF", 34, 60, 1, "HFP11", 1, 0, 3, 0, 2, 0, 12, 23, 4, 7, 15, 1}, + {"HF", 34, 60, 2, "HFP11", 1, 0, 1, 0, 1, 0, 12, 23, 4, 5, 15, 1}, + {"HF", 34, 62, 1, "HFP11", 2, 0, 2, 2, 1, 3, 12, 23, 6, 2, 16, 1}, + {"HF", 34, 62, 2, "HFP11", 2, 0, 4, 2, 2, 3, 12, 23, 6, 4, 16, 1}, + {"HF", 34, 64, 1, "HFP11", 3, 0, 3, 0, 2, 0, 12, 23, 6, 7, 16, 1}, + {"HF", 34, 64, 2, "HFP11", 3, 0, 1, 0, 1, 0, 12, 23, 6, 5, 16, 1}, + {"HF", 34, 66, 1, "HFP12", 1, 0, 2, 2, 1, 3, 12, 23, 8, 2, 17, 1}, + {"HF", 34, 66, 2, "HFP12", 1, 0, 4, 2, 2, 3, 12, 23, 8, 4, 17, 1}, + {"HF", 34, 68, 1, "HFP12", 2, 0, 3, 0, 2, 0, 12, 23, 8, 7, 17, 1}, + {"HF", 34, 68, 2, "HFP12", 2, 0, 1, 0, 1, 0, 12, 23, 8, 5, 17, 1}, + {"HF", 34, 70, 1, "HFP12", 3, 0, 2, 2, 1, 3, 12, 23, 10, 2, 18, 1}, + {"HF", 34, 70, 2, "HFP12", 3, 0, 4, 2, 2, 3, 12, 23, 10, 4, 18, 1}, + {"HF", 35, 0, 1, "HFP01", 1, 0, 8, 1, 4, 5, 12, 23, 11, 8, 18, 0}, + {"HF", 35, 0, 2, "HFP01", 1, 0, 6, 1, 3, 5, 12, 23, 11, 6, 18, 0}, + {"HF", 35, 2, 1, "HFP01", 2, 0, 5, 2, 3, 2, 2, 19, 1, 1, 13, 0}, + {"HF", 35, 2, 2, "HFP01", 2, 0, 7, 2, 4, 2, 2, 19, 1, 3, 13, 0}, + {"HF", 35, 4, 1, "HFP01", 3, 0, 8, 1, 4, 5, 2, 19, 1, 8, 13, 0}, + {"HF", 35, 4, 2, "HFP01", 3, 0, 6, 1, 3, 5, 2, 19, 1, 6, 13, 0}, + {"HF", 35, 6, 1, "HFP02", 1, 0, 5, 2, 3, 2, 2, 19, 3, 1, 14, 0}, + {"HF", 35, 6, 2, "HFP02", 1, 0, 7, 2, 4, 2, 2, 19, 3, 3, 14, 0}, + {"HF", 35, 8, 1, "HFP02", 2, 0, 8, 1, 4, 5, 2, 19, 3, 8, 14, 0}, + {"HF", 35, 8, 2, "HFP02", 2, 0, 6, 1, 3, 5, 2, 19, 3, 6, 14, 0}, + {"HF", 35, 10, 1, "HFP02", 3, 0, 5, 2, 3, 2, 2, 19, 5, 1, 15, 0}, + {"HF", 35, 10, 2, "HFP02", 3, 0, 7, 2, 4, 2, 2, 19, 5, 3, 15, 0}, + {"HF", 35, 12, 1, "HFP03", 1, 0, 8, 1, 4, 5, 2, 19, 5, 8, 15, 0}, + {"HF", 35, 12, 2, "HFP03", 1, 0, 6, 1, 3, 5, 2, 19, 5, 6, 15, 0}, + {"HF", 35, 14, 1, "HFP03", 2, 0, 5, 2, 3, 2, 2, 19, 7, 1, 16, 0}, + {"HF", 35, 14, 2, "HFP03", 2, 0, 7, 2, 4, 2, 2, 19, 7, 3, 16, 0}, + {"HF", 35, 16, 1, "HFP03", 3, 0, 8, 1, 4, 5, 2, 19, 7, 8, 16, 0}, + {"HF", 35, 16, 2, "HFP03", 3, 0, 6, 1, 3, 5, 2, 19, 7, 6, 16, 0}, + {"HF", 35, 18, 1, "HFP04", 1, 0, 5, 2, 3, 2, 2, 19, 9, 1, 17, 0}, + {"HF", 35, 18, 2, "HFP04", 1, 0, 7, 2, 4, 2, 2, 19, 9, 3, 17, 0}, + {"HF", 35, 20, 1, "HFP04", 2, 0, 8, 1, 4, 5, 2, 19, 9, 8, 17, 0}, + {"HF", 35, 20, 2, "HFP04", 2, 0, 6, 1, 3, 5, 2, 19, 9, 6, 17, 0}, + {"HF", 35, 22, 1, "HFP04", 3, 0, 5, 2, 3, 2, 2, 19, 11, 1, 18, 0}, + {"HF", 35, 22, 2, "HFP04", 3, 0, 7, 2, 4, 2, 2, 19, 11, 3, 18, 0}, + {"HF", 35, 24, 1, "HFP05", 1, 0, 8, 1, 4, 5, 2, 19, 11, 8, 18, 0}, + {"HF", 35, 24, 2, "HFP05", 1, 0, 6, 1, 3, 5, 2, 19, 11, 6, 18, 0}, + {"HF", 35, 26, 1, "HFP05", 2, 0, 5, 2, 3, 2, 9, 21, 1, 1, 13, 0}, + {"HF", 35, 26, 2, "HFP05", 2, 0, 7, 2, 4, 2, 9, 21, 1, 3, 13, 0}, + {"HF", 35, 28, 1, "HFP05", 3, 0, 8, 1, 4, 5, 9, 21, 1, 8, 13, 0}, + {"HF", 35, 28, 2, "HFP05", 3, 0, 6, 1, 3, 5, 9, 21, 1, 6, 13, 0}, + {"HF", 35, 30, 1, "HFP06", 1, 0, 5, 2, 3, 2, 9, 21, 3, 1, 14, 0}, + {"HF", 35, 30, 2, "HFP06", 1, 0, 7, 2, 4, 2, 9, 21, 3, 3, 14, 0}, + {"HF", 35, 32, 1, "HFP06", 2, 0, 8, 1, 4, 5, 9, 21, 3, 8, 14, 0}, + {"HF", 35, 32, 2, "HFP06", 2, 0, 6, 1, 3, 5, 9, 21, 3, 6, 14, 0}, + {"HF", 35, 34, 1, "HFP06", 3, 0, 5, 2, 3, 2, 9, 21, 5, 1, 15, 0}, + {"HF", 35, 34, 2, "HFP06", 3, 0, 7, 2, 4, 2, 9, 21, 5, 3, 15, 0}, + {"HF", 35, 36, 1, "HFP07", 1, 0, 8, 1, 4, 5, 9, 21, 5, 8, 15, 0}, + {"HF", 35, 36, 2, "HFP07", 1, 0, 6, 1, 3, 5, 9, 21, 5, 6, 15, 0}, + {"HF", 35, 38, 1, "HFP07", 2, 0, 5, 2, 3, 2, 9, 21, 7, 1, 16, 0}, + {"HF", 35, 38, 2, "HFP07", 2, 0, 7, 2, 4, 2, 9, 21, 7, 3, 16, 0}, + {"HF", 35, 40, 1, "HFP07", 3, 0, 8, 1, 4, 5, 9, 21, 7, 8, 16, 0}, + {"HF", 35, 40, 2, "HFP07", 3, 0, 6, 1, 3, 5, 9, 21, 7, 6, 16, 0}, + {"HF", 35, 42, 1, "HFP08", 1, 0, 5, 2, 3, 2, 9, 21, 9, 1, 17, 0}, + {"HF", 35, 42, 2, "HFP08", 1, 0, 7, 2, 4, 2, 9, 21, 9, 3, 17, 0}, + {"HF", 35, 44, 1, "HFP08", 2, 0, 8, 1, 4, 5, 9, 21, 9, 8, 17, 0}, + {"HF", 35, 44, 2, "HFP08", 2, 0, 6, 1, 3, 5, 9, 21, 9, 6, 17, 0}, + {"HF", 35, 46, 1, "HFP08", 3, 0, 5, 2, 3, 2, 9, 21, 11, 1, 18, 0}, + {"HF", 35, 46, 2, "HFP08", 3, 0, 7, 2, 4, 2, 9, 21, 11, 3, 18, 0}, + {"HF", 35, 48, 1, "HFP09", 1, 0, 8, 1, 4, 5, 9, 21, 11, 8, 18, 0}, + {"HF", 35, 48, 2, "HFP09", 1, 0, 6, 1, 3, 5, 9, 21, 11, 6, 18, 0}, + {"HF", 35, 50, 1, "HFP09", 2, 0, 5, 2, 3, 2, 12, 23, 1, 1, 13, 0}, + {"HF", 35, 50, 2, "HFP09", 2, 0, 7, 2, 4, 2, 12, 23, 1, 3, 13, 0}, + {"HF", 35, 52, 1, "HFP09", 3, 0, 8, 1, 4, 5, 12, 23, 1, 8, 13, 0}, + {"HF", 35, 52, 2, "HFP09", 3, 0, 6, 1, 3, 5, 12, 23, 1, 6, 13, 0}, + {"HF", 35, 54, 1, "HFP10", 1, 0, 5, 2, 3, 2, 12, 23, 3, 1, 14, 0}, + {"HF", 35, 54, 2, "HFP10", 1, 0, 7, 2, 4, 2, 12, 23, 3, 3, 14, 0}, + {"HF", 35, 56, 1, "HFP10", 2, 0, 8, 1, 4, 5, 12, 23, 3, 8, 14, 0}, + {"HF", 35, 56, 2, "HFP10", 2, 0, 6, 1, 3, 5, 12, 23, 3, 6, 14, 0}, + {"HF", 35, 58, 1, "HFP10", 3, 0, 5, 2, 3, 2, 12, 23, 5, 1, 15, 0}, + {"HF", 35, 58, 2, "HFP10", 3, 0, 7, 2, 4, 2, 12, 23, 5, 3, 15, 0}, + {"HF", 35, 60, 1, "HFP11", 1, 0, 8, 1, 4, 5, 12, 23, 5, 8, 15, 0}, + {"HF", 35, 60, 2, "HFP11", 1, 0, 6, 1, 3, 5, 12, 23, 5, 6, 15, 0}, + {"HF", 35, 62, 1, "HFP11", 2, 0, 5, 2, 3, 2, 12, 23, 7, 1, 16, 0}, + {"HF", 35, 62, 2, "HFP11", 2, 0, 7, 2, 4, 2, 12, 23, 7, 3, 16, 0}, + {"HF", 35, 64, 1, "HFP11", 3, 0, 8, 1, 4, 5, 12, 23, 7, 8, 16, 0}, + {"HF", 35, 64, 2, "HFP11", 3, 0, 6, 1, 3, 5, 12, 23, 7, 6, 16, 0}, + {"HF", 35, 66, 1, "HFP12", 1, 0, 5, 2, 3, 2, 12, 23, 9, 1, 17, 0}, + {"HF", 35, 66, 2, "HFP12", 1, 0, 7, 2, 4, 2, 12, 23, 9, 3, 17, 0}, + {"HF", 35, 68, 1, "HFP12", 2, 0, 8, 1, 4, 5, 12, 23, 9, 8, 17, 0}, + {"HF", 35, 68, 2, "HFP12", 2, 0, 6, 1, 3, 5, 12, 23, 9, 6, 17, 0}, + {"HF", 35, 70, 1, "HFP12", 3, 0, 5, 2, 3, 2, 12, 23, 11, 1, 18, 0}, + {"HF", 35, 70, 2, "HFP12", 3, 0, 7, 2, 4, 2, 12, 23, 11, 3, 18, 0}, + {"HF", 36, 0, 1, "HFP01", 1, 0, 7, 2, 4, 2, 12, 23, 11, 7, 18, 0}, + {"HF", 36, 0, 2, "HFP01", 1, 0, 5, 2, 3, 2, 12, 23, 11, 5, 18, 0}, + {"HF", 36, 2, 1, "HFP01", 2, 0, 6, 1, 3, 5, 2, 19, 1, 2, 13, 0}, + {"HF", 36, 2, 2, "HFP01", 2, 0, 8, 1, 4, 5, 2, 19, 1, 4, 13, 0}, + {"HF", 36, 4, 1, "HFP01", 3, 0, 7, 2, 4, 2, 2, 19, 1, 7, 13, 0}, + {"HF", 36, 4, 2, "HFP01", 3, 0, 5, 2, 3, 2, 2, 19, 1, 5, 13, 0}, + {"HF", 36, 6, 1, "HFP02", 1, 0, 6, 1, 3, 5, 2, 19, 3, 2, 14, 0}, + {"HF", 36, 6, 2, "HFP02", 1, 0, 8, 1, 4, 5, 2, 19, 3, 4, 14, 0}, + {"HF", 36, 8, 1, "HFP02", 2, 0, 7, 2, 4, 2, 2, 19, 3, 7, 14, 0}, + {"HF", 36, 8, 2, "HFP02", 2, 0, 5, 2, 3, 2, 2, 19, 3, 5, 14, 0}, + {"HF", 36, 10, 1, "HFP02", 3, 0, 6, 1, 3, 5, 2, 19, 5, 2, 15, 0}, + {"HF", 36, 10, 2, "HFP02", 3, 0, 8, 1, 4, 5, 2, 19, 5, 4, 15, 0}, + {"HF", 36, 12, 1, "HFP03", 1, 0, 7, 2, 4, 2, 2, 19, 5, 7, 15, 0}, + {"HF", 36, 12, 2, "HFP03", 1, 0, 5, 2, 3, 2, 2, 19, 5, 5, 15, 0}, + {"HF", 36, 14, 1, "HFP03", 2, 0, 6, 1, 3, 5, 2, 19, 7, 2, 16, 0}, + {"HF", 36, 14, 2, "HFP03", 2, 0, 8, 1, 4, 5, 2, 19, 7, 4, 16, 0}, + {"HF", 36, 16, 1, "HFP03", 3, 0, 7, 2, 4, 2, 2, 19, 7, 7, 16, 0}, + {"HF", 36, 16, 2, "HFP03", 3, 0, 5, 2, 3, 2, 2, 19, 7, 5, 16, 0}, + {"HF", 36, 18, 1, "HFP04", 1, 0, 6, 1, 3, 5, 2, 19, 9, 2, 17, 0}, + {"HF", 36, 18, 2, "HFP04", 1, 0, 8, 1, 4, 5, 2, 19, 9, 4, 17, 0}, + {"HF", 36, 20, 1, "HFP04", 2, 0, 7, 2, 4, 2, 2, 19, 9, 7, 17, 0}, + {"HF", 36, 20, 2, "HFP04", 2, 0, 5, 2, 3, 2, 2, 19, 9, 5, 17, 0}, + {"HF", 36, 22, 1, "HFP04", 3, 0, 6, 1, 3, 5, 2, 19, 11, 2, 18, 0}, + {"HF", 36, 22, 2, "HFP04", 3, 0, 8, 1, 4, 5, 2, 19, 11, 4, 18, 0}, + {"HF", 36, 24, 1, "HFP05", 1, 0, 7, 2, 4, 2, 2, 19, 11, 7, 18, 0}, + {"HF", 36, 24, 2, "HFP05", 1, 0, 5, 2, 3, 2, 2, 19, 11, 5, 18, 0}, + {"HF", 36, 26, 1, "HFP05", 2, 0, 6, 1, 3, 5, 9, 21, 1, 2, 13, 0}, + {"HF", 36, 26, 2, "HFP05", 2, 0, 8, 1, 4, 5, 9, 21, 1, 4, 13, 0}, + {"HF", 36, 28, 1, "HFP05", 3, 0, 7, 2, 4, 2, 9, 21, 1, 7, 13, 0}, + {"HF", 36, 28, 2, "HFP05", 3, 0, 5, 2, 3, 2, 9, 21, 1, 5, 13, 0}, + {"HF", 36, 30, 1, "HFP06", 1, 0, 6, 1, 3, 5, 9, 21, 3, 2, 14, 0}, + {"HF", 36, 30, 2, "HFP06", 1, 0, 8, 1, 4, 5, 9, 21, 3, 4, 14, 0}, + {"HF", 36, 32, 1, "HFP06", 2, 0, 7, 2, 4, 2, 9, 21, 3, 7, 14, 0}, + {"HF", 36, 32, 2, "HFP06", 2, 0, 5, 2, 3, 2, 9, 21, 3, 5, 14, 0}, + {"HF", 36, 34, 1, "HFP06", 3, 0, 6, 1, 3, 5, 9, 21, 5, 2, 15, 0}, + {"HF", 36, 34, 2, "HFP06", 3, 0, 8, 1, 4, 5, 9, 21, 5, 4, 15, 0}, + {"HF", 36, 36, 1, "HFP07", 1, 0, 7, 2, 4, 2, 9, 21, 5, 7, 15, 0}, + {"HF", 36, 36, 2, "HFP07", 1, 0, 5, 2, 3, 2, 9, 21, 5, 5, 15, 0}, + {"HF", 36, 38, 1, "HFP07", 2, 0, 6, 1, 3, 5, 9, 21, 7, 2, 16, 0}, + {"HF", 36, 38, 2, "HFP07", 2, 0, 8, 1, 4, 5, 9, 21, 7, 4, 16, 0}, + {"HF", 36, 40, 1, "HFP07", 3, 0, 7, 2, 4, 2, 9, 21, 7, 7, 16, 0}, + {"HF", 36, 40, 2, "HFP07", 3, 0, 5, 2, 3, 2, 9, 21, 7, 5, 16, 0}, + {"HF", 36, 42, 1, "HFP08", 1, 0, 6, 1, 3, 5, 9, 21, 9, 2, 17, 0}, + {"HF", 36, 42, 2, "HFP08", 1, 0, 8, 1, 4, 5, 9, 21, 9, 4, 17, 0}, + {"HF", 36, 44, 1, "HFP08", 2, 0, 7, 2, 4, 2, 9, 21, 9, 7, 17, 0}, + {"HF", 36, 44, 2, "HFP08", 2, 0, 5, 2, 3, 2, 9, 21, 9, 5, 17, 0}, + {"HF", 36, 46, 1, "HFP08", 3, 0, 6, 1, 3, 5, 9, 21, 11, 2, 18, 0}, + {"HF", 36, 46, 2, "HFP08", 3, 0, 8, 1, 4, 5, 9, 21, 11, 4, 18, 0}, + {"HF", 36, 48, 1, "HFP09", 1, 0, 7, 2, 4, 2, 9, 21, 11, 7, 18, 0}, + {"HF", 36, 48, 2, "HFP09", 1, 0, 5, 2, 3, 2, 9, 21, 11, 5, 18, 0}, + {"HF", 36, 50, 1, "HFP09", 2, 0, 6, 1, 3, 5, 12, 23, 1, 2, 13, 0}, + {"HF", 36, 50, 2, "HFP09", 2, 0, 8, 1, 4, 5, 12, 23, 1, 4, 13, 0}, + {"HF", 36, 52, 1, "HFP09", 3, 0, 7, 2, 4, 2, 12, 23, 1, 7, 13, 0}, + {"HF", 36, 52, 2, "HFP09", 3, 0, 5, 2, 3, 2, 12, 23, 1, 5, 13, 0}, + {"HF", 36, 54, 1, "HFP10", 1, 0, 6, 1, 3, 5, 12, 23, 3, 2, 14, 0}, + {"HF", 36, 54, 2, "HFP10", 1, 0, 8, 1, 4, 5, 12, 23, 3, 4, 14, 0}, + {"HF", 36, 56, 1, "HFP10", 2, 0, 7, 2, 4, 2, 12, 23, 3, 7, 14, 0}, + {"HF", 36, 56, 2, "HFP10", 2, 0, 5, 2, 3, 2, 12, 23, 3, 5, 14, 0}, + {"HF", 36, 58, 1, "HFP10", 3, 0, 6, 1, 3, 5, 12, 23, 5, 2, 15, 0}, + {"HF", 36, 58, 2, "HFP10", 3, 0, 8, 1, 4, 5, 12, 23, 5, 4, 15, 0}, + {"HF", 36, 60, 1, "HFP11", 1, 0, 7, 2, 4, 2, 12, 23, 5, 7, 15, 0}, + {"HF", 36, 60, 2, "HFP11", 1, 0, 5, 2, 3, 2, 12, 23, 5, 5, 15, 0}, + {"HF", 36, 62, 1, "HFP11", 2, 0, 6, 1, 3, 5, 12, 23, 7, 2, 16, 0}, + {"HF", 36, 62, 2, "HFP11", 2, 0, 8, 1, 4, 5, 12, 23, 7, 4, 16, 0}, + {"HF", 36, 64, 1, "HFP11", 3, 0, 7, 2, 4, 2, 12, 23, 7, 7, 16, 0}, + {"HF", 36, 64, 2, "HFP11", 3, 0, 5, 2, 3, 2, 12, 23, 7, 5, 16, 0}, + {"HF", 36, 66, 1, "HFP12", 1, 0, 6, 1, 3, 5, 12, 23, 9, 2, 17, 0}, + {"HF", 36, 66, 2, "HFP12", 1, 0, 8, 1, 4, 5, 12, 23, 9, 4, 17, 0}, + {"HF", 36, 68, 1, "HFP12", 2, 0, 7, 2, 4, 2, 12, 23, 9, 7, 17, 0}, + {"HF", 36, 68, 2, "HFP12", 2, 0, 5, 2, 3, 2, 12, 23, 9, 5, 17, 0}, + {"HF", 36, 70, 1, "HFP12", 3, 0, 6, 1, 3, 5, 12, 23, 11, 2, 18, 0}, + {"HF", 36, 70, 2, "HFP12", 3, 0, 8, 1, 4, 5, 12, 23, 11, 4, 18, 0}, + {"HF", 37, 0, 1, "HFP01", 1, 0, 8, 0, 4, 4, 12, 23, 11, 8, 18, 0}, + {"HF", 37, 0, 2, "HFP01", 1, 0, 6, 0, 3, 4, 12, 23, 11, 6, 18, 0}, + {"HF", 37, 2, 1, "HFP01", 2, 0, 5, 1, 3, 1, 2, 19, 1, 1, 13, 0}, + {"HF", 37, 2, 2, "HFP01", 2, 0, 7, 1, 4, 1, 2, 19, 1, 3, 13, 0}, + {"HF", 37, 4, 1, "HFP01", 3, 0, 8, 0, 4, 4, 2, 19, 1, 8, 13, 0}, + {"HF", 37, 4, 2, "HFP01", 3, 0, 6, 0, 3, 4, 2, 19, 1, 6, 13, 0}, + {"HF", 37, 6, 1, "HFP02", 1, 0, 5, 1, 3, 1, 2, 19, 3, 1, 14, 0}, + {"HF", 37, 6, 2, "HFP02", 1, 0, 7, 1, 4, 1, 2, 19, 3, 3, 14, 0}, + {"HF", 37, 8, 1, "HFP02", 2, 0, 8, 0, 4, 4, 2, 19, 3, 8, 14, 0}, + {"HF", 37, 8, 2, "HFP02", 2, 0, 6, 0, 3, 4, 2, 19, 3, 6, 14, 0}, + {"HF", 37, 10, 1, "HFP02", 3, 0, 5, 1, 3, 1, 2, 19, 5, 1, 15, 0}, + {"HF", 37, 10, 2, "HFP02", 3, 0, 7, 1, 4, 1, 2, 19, 5, 3, 15, 0}, + {"HF", 37, 12, 1, "HFP03", 1, 0, 8, 0, 4, 4, 2, 19, 5, 8, 15, 0}, + {"HF", 37, 12, 2, "HFP03", 1, 0, 6, 0, 3, 4, 2, 19, 5, 6, 15, 0}, + {"HF", 37, 14, 1, "HFP03", 2, 0, 5, 1, 3, 1, 2, 19, 7, 1, 16, 0}, + {"HF", 37, 14, 2, "HFP03", 2, 0, 7, 1, 4, 1, 2, 19, 7, 3, 16, 0}, + {"HF", 37, 16, 1, "HFP03", 3, 0, 8, 0, 4, 4, 2, 19, 7, 8, 16, 0}, + {"HF", 37, 16, 2, "HFP03", 3, 0, 6, 0, 3, 4, 2, 19, 7, 6, 16, 0}, + {"HF", 37, 18, 1, "HFP04", 1, 0, 5, 1, 3, 1, 2, 19, 9, 1, 17, 0}, + {"HF", 37, 18, 2, "HFP04", 1, 0, 7, 1, 4, 1, 2, 19, 9, 3, 17, 0}, + {"HF", 37, 20, 1, "HFP04", 2, 0, 8, 0, 4, 4, 2, 19, 9, 8, 17, 0}, + {"HF", 37, 20, 2, "HFP04", 2, 0, 6, 0, 3, 4, 2, 19, 9, 6, 17, 0}, + {"HF", 37, 22, 1, "HFP04", 3, 0, 5, 1, 3, 1, 2, 19, 11, 1, 18, 0}, + {"HF", 37, 22, 2, "HFP04", 3, 0, 7, 1, 4, 1, 2, 19, 11, 3, 18, 0}, + {"HF", 37, 24, 1, "HFP05", 1, 0, 8, 0, 4, 4, 2, 19, 11, 8, 18, 0}, + {"HF", 37, 24, 2, "HFP05", 1, 0, 6, 0, 3, 4, 2, 19, 11, 6, 18, 0}, + {"HF", 37, 26, 1, "HFP05", 2, 0, 5, 1, 3, 1, 9, 21, 1, 1, 13, 0}, + {"HF", 37, 26, 2, "HFP05", 2, 0, 7, 1, 4, 1, 9, 21, 1, 3, 13, 0}, + {"HF", 37, 28, 1, "HFP05", 3, 0, 8, 0, 4, 4, 9, 21, 1, 8, 13, 0}, + {"HF", 37, 28, 2, "HFP05", 3, 0, 6, 0, 3, 4, 9, 21, 1, 6, 13, 0}, + {"HF", 37, 30, 1, "HFP06", 1, 0, 5, 1, 3, 1, 9, 21, 3, 1, 14, 0}, + {"HF", 37, 30, 2, "HFP06", 1, 0, 7, 1, 4, 1, 9, 21, 3, 3, 14, 0}, + {"HF", 37, 32, 1, "HFP06", 2, 0, 8, 0, 4, 4, 9, 21, 3, 8, 14, 0}, + {"HF", 37, 32, 2, "HFP06", 2, 0, 6, 0, 3, 4, 9, 21, 3, 6, 14, 0}, + {"HF", 37, 34, 1, "HFP06", 3, 0, 5, 1, 3, 1, 9, 21, 5, 1, 15, 0}, + {"HF", 37, 34, 2, "HFP06", 3, 0, 7, 1, 4, 1, 9, 21, 5, 3, 15, 0}, + {"HF", 37, 36, 1, "HFP07", 1, 0, 8, 0, 4, 4, 9, 21, 5, 8, 15, 0}, + {"HF", 37, 36, 2, "HFP07", 1, 0, 6, 0, 3, 4, 9, 21, 5, 6, 15, 0}, + {"HF", 37, 38, 1, "HFP07", 2, 0, 5, 1, 3, 1, 9, 21, 7, 1, 16, 0}, + {"HF", 37, 38, 2, "HFP07", 2, 0, 7, 1, 4, 1, 9, 21, 7, 3, 16, 0}, + {"HF", 37, 40, 1, "HFP07", 3, 0, 8, 0, 4, 4, 9, 21, 7, 8, 16, 0}, + {"HF", 37, 40, 2, "HFP07", 3, 0, 6, 0, 3, 4, 9, 21, 7, 6, 16, 0}, + {"HF", 37, 42, 1, "HFP08", 1, 0, 5, 1, 3, 1, 9, 21, 9, 1, 17, 0}, + {"HF", 37, 42, 2, "HFP08", 1, 0, 7, 1, 4, 1, 9, 21, 9, 3, 17, 0}, + {"HF", 37, 44, 1, "HFP08", 2, 0, 8, 0, 4, 4, 9, 21, 9, 8, 17, 0}, + {"HF", 37, 44, 2, "HFP08", 2, 0, 6, 0, 3, 4, 9, 21, 9, 6, 17, 0}, + {"HF", 37, 46, 1, "HFP08", 3, 0, 5, 1, 3, 1, 9, 21, 11, 1, 18, 0}, + {"HF", 37, 46, 2, "HFP08", 3, 0, 7, 1, 4, 1, 9, 21, 11, 3, 18, 0}, + {"HF", 37, 48, 1, "HFP09", 1, 0, 8, 0, 4, 4, 9, 21, 11, 8, 18, 0}, + {"HF", 37, 48, 2, "HFP09", 1, 0, 6, 0, 3, 4, 9, 21, 11, 6, 18, 0}, + {"HF", 37, 50, 1, "HFP09", 2, 0, 5, 1, 3, 1, 12, 23, 1, 1, 13, 0}, + {"HF", 37, 50, 2, "HFP09", 2, 0, 7, 1, 4, 1, 12, 23, 1, 3, 13, 0}, + {"HF", 37, 52, 1, "HFP09", 3, 0, 8, 0, 4, 4, 12, 23, 1, 8, 13, 0}, + {"HF", 37, 52, 2, "HFP09", 3, 0, 6, 0, 3, 4, 12, 23, 1, 6, 13, 0}, + {"HF", 37, 54, 1, "HFP10", 1, 0, 5, 1, 3, 1, 12, 23, 3, 1, 14, 0}, + {"HF", 37, 54, 2, "HFP10", 1, 0, 7, 1, 4, 1, 12, 23, 3, 3, 14, 0}, + {"HF", 37, 56, 1, "HFP10", 2, 0, 8, 0, 4, 4, 12, 23, 3, 8, 14, 0}, + {"HF", 37, 56, 2, "HFP10", 2, 0, 6, 0, 3, 4, 12, 23, 3, 6, 14, 0}, + {"HF", 37, 58, 1, "HFP10", 3, 0, 5, 1, 3, 1, 12, 23, 5, 1, 15, 0}, + {"HF", 37, 58, 2, "HFP10", 3, 0, 7, 1, 4, 1, 12, 23, 5, 3, 15, 0}, + {"HF", 37, 60, 1, "HFP11", 1, 0, 8, 0, 4, 4, 12, 23, 5, 8, 15, 0}, + {"HF", 37, 60, 2, "HFP11", 1, 0, 6, 0, 3, 4, 12, 23, 5, 6, 15, 0}, + {"HF", 37, 62, 1, "HFP11", 2, 0, 5, 1, 3, 1, 12, 23, 7, 1, 16, 0}, + {"HF", 37, 62, 2, "HFP11", 2, 0, 7, 1, 4, 1, 12, 23, 7, 3, 16, 0}, + {"HF", 37, 64, 1, "HFP11", 3, 0, 8, 0, 4, 4, 12, 23, 7, 8, 16, 0}, + {"HF", 37, 64, 2, "HFP11", 3, 0, 6, 0, 3, 4, 12, 23, 7, 6, 16, 0}, + {"HF", 37, 66, 1, "HFP12", 1, 0, 5, 1, 3, 1, 12, 23, 9, 1, 17, 0}, + {"HF", 37, 66, 2, "HFP12", 1, 0, 7, 1, 4, 1, 12, 23, 9, 3, 17, 0}, + {"HF", 37, 68, 1, "HFP12", 2, 0, 8, 0, 4, 4, 12, 23, 9, 8, 17, 0}, + {"HF", 37, 68, 2, "HFP12", 2, 0, 6, 0, 3, 4, 12, 23, 9, 6, 17, 0}, + {"HF", 37, 70, 1, "HFP12", 3, 0, 5, 1, 3, 1, 12, 23, 11, 1, 18, 0}, + {"HF", 37, 70, 2, "HFP12", 3, 0, 7, 1, 4, 1, 12, 23, 11, 3, 18, 0}, + {"HF", 38, 0, 1, "HFP01", 1, 0, 7, 1, 4, 1, 12, 23, 11, 7, 18, 0}, + {"HF", 38, 0, 2, "HFP01", 1, 0, 5, 1, 3, 1, 12, 23, 11, 5, 18, 0}, + {"HF", 38, 2, 1, "HFP01", 2, 0, 6, 0, 3, 4, 2, 19, 1, 2, 13, 0}, + {"HF", 38, 2, 2, "HFP01", 2, 0, 8, 0, 4, 4, 2, 19, 1, 4, 13, 0}, + {"HF", 38, 4, 1, "HFP01", 3, 0, 7, 1, 4, 1, 2, 19, 1, 7, 13, 0}, + {"HF", 38, 4, 2, "HFP01", 3, 0, 5, 1, 3, 1, 2, 19, 1, 5, 13, 0}, + {"HF", 38, 6, 1, "HFP02", 1, 0, 6, 0, 3, 4, 2, 19, 3, 2, 14, 0}, + {"HF", 38, 6, 2, "HFP02", 1, 0, 8, 0, 4, 4, 2, 19, 3, 4, 14, 0}, + {"HF", 38, 8, 1, "HFP02", 2, 0, 7, 1, 4, 1, 2, 19, 3, 7, 14, 0}, + {"HF", 38, 8, 2, "HFP02", 2, 0, 5, 1, 3, 1, 2, 19, 3, 5, 14, 0}, + {"HF", 38, 10, 1, "HFP02", 3, 0, 6, 0, 3, 4, 2, 19, 5, 2, 15, 0}, + {"HF", 38, 10, 2, "HFP02", 3, 0, 8, 0, 4, 4, 2, 19, 5, 4, 15, 0}, + {"HF", 38, 12, 1, "HFP03", 1, 0, 7, 1, 4, 1, 2, 19, 5, 7, 15, 0}, + {"HF", 38, 12, 2, "HFP03", 1, 0, 5, 1, 3, 1, 2, 19, 5, 5, 15, 0}, + {"HF", 38, 14, 1, "HFP03", 2, 0, 6, 0, 3, 4, 2, 19, 7, 2, 16, 0}, + {"HF", 38, 14, 2, "HFP03", 2, 0, 8, 0, 4, 4, 2, 19, 7, 4, 16, 0}, + {"HF", 38, 16, 1, "HFP03", 3, 0, 7, 1, 4, 1, 2, 19, 7, 7, 16, 0}, + {"HF", 38, 16, 2, "HFP03", 3, 0, 5, 1, 3, 1, 2, 19, 7, 5, 16, 0}, + {"HF", 38, 18, 1, "HFP04", 1, 0, 6, 0, 3, 4, 2, 19, 9, 2, 17, 0}, + {"HF", 38, 18, 2, "HFP04", 1, 0, 8, 0, 4, 4, 2, 19, 9, 4, 17, 0}, + {"HF", 38, 20, 1, "HFP04", 2, 0, 7, 1, 4, 1, 2, 19, 9, 7, 17, 0}, + {"HF", 38, 20, 2, "HFP04", 2, 0, 5, 1, 3, 1, 2, 19, 9, 5, 17, 0}, + {"HF", 38, 22, 1, "HFP04", 3, 0, 6, 0, 3, 4, 2, 19, 11, 2, 18, 0}, + {"HF", 38, 22, 2, "HFP04", 3, 0, 8, 0, 4, 4, 2, 19, 11, 4, 18, 0}, + {"HF", 38, 24, 1, "HFP05", 1, 0, 7, 1, 4, 1, 2, 19, 11, 7, 18, 0}, + {"HF", 38, 24, 2, "HFP05", 1, 0, 5, 1, 3, 1, 2, 19, 11, 5, 18, 0}, + {"HF", 38, 26, 1, "HFP05", 2, 0, 6, 0, 3, 4, 9, 21, 1, 2, 13, 0}, + {"HF", 38, 26, 2, "HFP05", 2, 0, 8, 0, 4, 4, 9, 21, 1, 4, 13, 0}, + {"HF", 38, 28, 1, "HFP05", 3, 0, 7, 1, 4, 1, 9, 21, 1, 7, 13, 0}, + {"HF", 38, 28, 2, "HFP05", 3, 0, 5, 1, 3, 1, 9, 21, 1, 5, 13, 0}, + {"HF", 38, 30, 1, "HFP06", 1, 0, 6, 0, 3, 4, 9, 21, 3, 2, 14, 0}, + {"HF", 38, 30, 2, "HFP06", 1, 0, 8, 0, 4, 4, 9, 21, 3, 4, 14, 0}, + {"HF", 38, 32, 1, "HFP06", 2, 0, 7, 1, 4, 1, 9, 21, 3, 7, 14, 0}, + {"HF", 38, 32, 2, "HFP06", 2, 0, 5, 1, 3, 1, 9, 21, 3, 5, 14, 0}, + {"HF", 38, 34, 1, "HFP06", 3, 0, 6, 0, 3, 4, 9, 21, 5, 2, 15, 0}, + {"HF", 38, 34, 2, "HFP06", 3, 0, 8, 0, 4, 4, 9, 21, 5, 4, 15, 0}, + {"HF", 38, 36, 1, "HFP07", 1, 0, 7, 1, 4, 1, 9, 21, 5, 7, 15, 0}, + {"HF", 38, 36, 2, "HFP07", 1, 0, 5, 1, 3, 1, 9, 21, 5, 5, 15, 0}, + {"HF", 38, 38, 1, "HFP07", 2, 0, 6, 0, 3, 4, 9, 21, 7, 2, 16, 0}, + {"HF", 38, 38, 2, "HFP07", 2, 0, 8, 0, 4, 4, 9, 21, 7, 4, 16, 0}, + {"HF", 38, 40, 1, "HFP07", 3, 0, 7, 1, 4, 1, 9, 21, 7, 7, 16, 0}, + {"HF", 38, 40, 2, "HFP07", 3, 0, 5, 1, 3, 1, 9, 21, 7, 5, 16, 0}, + {"HF", 38, 42, 1, "HFP08", 1, 0, 6, 0, 3, 4, 9, 21, 9, 2, 17, 0}, + {"HF", 38, 42, 2, "HFP08", 1, 0, 8, 0, 4, 4, 9, 21, 9, 4, 17, 0}, + {"HF", 38, 44, 1, "HFP08", 2, 0, 7, 1, 4, 1, 9, 21, 9, 7, 17, 0}, + {"HF", 38, 44, 2, "HFP08", 2, 0, 5, 1, 3, 1, 9, 21, 9, 5, 17, 0}, + {"HF", 38, 46, 1, "HFP08", 3, 0, 6, 0, 3, 4, 9, 21, 11, 2, 18, 0}, + {"HF", 38, 46, 2, "HFP08", 3, 0, 8, 0, 4, 4, 9, 21, 11, 4, 18, 0}, + {"HF", 38, 48, 1, "HFP09", 1, 0, 7, 1, 4, 1, 9, 21, 11, 7, 18, 0}, + {"HF", 38, 48, 2, "HFP09", 1, 0, 5, 1, 3, 1, 9, 21, 11, 5, 18, 0}, + {"HF", 38, 50, 1, "HFP09", 2, 0, 6, 0, 3, 4, 12, 23, 1, 2, 13, 0}, + {"HF", 38, 50, 2, "HFP09", 2, 0, 8, 0, 4, 4, 12, 23, 1, 4, 13, 0}, + {"HF", 38, 52, 1, "HFP09", 3, 0, 7, 1, 4, 1, 12, 23, 1, 7, 13, 0}, + {"HF", 38, 52, 2, "HFP09", 3, 0, 5, 1, 3, 1, 12, 23, 1, 5, 13, 0}, + {"HF", 38, 54, 1, "HFP10", 1, 0, 6, 0, 3, 4, 12, 23, 3, 2, 14, 0}, + {"HF", 38, 54, 2, "HFP10", 1, 0, 8, 0, 4, 4, 12, 23, 3, 4, 14, 0}, + {"HF", 38, 56, 1, "HFP10", 2, 0, 7, 1, 4, 1, 12, 23, 3, 7, 14, 0}, + {"HF", 38, 56, 2, "HFP10", 2, 0, 5, 1, 3, 1, 12, 23, 3, 5, 14, 0}, + {"HF", 38, 58, 1, "HFP10", 3, 0, 6, 0, 3, 4, 12, 23, 5, 2, 15, 0}, + {"HF", 38, 58, 2, "HFP10", 3, 0, 8, 0, 4, 4, 12, 23, 5, 4, 15, 0}, + {"HF", 38, 60, 1, "HFP11", 1, 0, 7, 1, 4, 1, 12, 23, 5, 7, 15, 0}, + {"HF", 38, 60, 2, "HFP11", 1, 0, 5, 1, 3, 1, 12, 23, 5, 5, 15, 0}, + {"HF", 38, 62, 1, "HFP11", 2, 0, 6, 0, 3, 4, 12, 23, 7, 2, 16, 0}, + {"HF", 38, 62, 2, "HFP11", 2, 0, 8, 0, 4, 4, 12, 23, 7, 4, 16, 0}, + {"HF", 38, 64, 1, "HFP11", 3, 0, 7, 1, 4, 1, 12, 23, 7, 7, 16, 0}, + {"HF", 38, 64, 2, "HFP11", 3, 0, 5, 1, 3, 1, 12, 23, 7, 5, 16, 0}, + {"HF", 38, 66, 1, "HFP12", 1, 0, 6, 0, 3, 4, 12, 23, 9, 2, 17, 0}, + {"HF", 38, 66, 2, "HFP12", 1, 0, 8, 0, 4, 4, 12, 23, 9, 4, 17, 0}, + {"HF", 38, 68, 1, "HFP12", 2, 0, 7, 1, 4, 1, 12, 23, 9, 7, 17, 0}, + {"HF", 38, 68, 2, "HFP12", 2, 0, 5, 1, 3, 1, 12, 23, 9, 5, 17, 0}, + {"HF", 38, 70, 1, "HFP12", 3, 0, 6, 0, 3, 4, 12, 23, 11, 2, 18, 0}, + {"HF", 38, 70, 2, "HFP12", 3, 0, 8, 0, 4, 4, 12, 23, 11, 4, 18, 0}, + {"HF", 39, 0, 1, "HFP01", 1, 0, 8, 2, 4, 3, 12, 23, 11, 8, 18, 0}, + {"HF", 39, 0, 2, "HFP01", 1, 0, 6, 2, 3, 3, 12, 23, 11, 6, 18, 0}, + {"HF", 39, 2, 1, "HFP01", 2, 0, 6, 2, 3, 3, 2, 19, 1, 2, 13, 0}, + {"HF", 39, 2, 2, "HFP01", 2, 0, 8, 2, 4, 3, 2, 19, 1, 4, 13, 0}, + {"HF", 39, 4, 1, "HFP01", 3, 0, 8, 2, 4, 3, 2, 19, 1, 8, 13, 0}, + {"HF", 39, 4, 2, "HFP01", 3, 0, 6, 2, 3, 3, 2, 19, 1, 6, 13, 0}, + {"HF", 39, 6, 1, "HFP02", 1, 0, 6, 2, 3, 3, 2, 19, 3, 2, 14, 0}, + {"HF", 39, 6, 2, "HFP02", 1, 0, 8, 2, 4, 3, 2, 19, 3, 4, 14, 0}, + {"HF", 39, 8, 1, "HFP02", 2, 0, 8, 2, 4, 3, 2, 19, 3, 8, 14, 0}, + {"HF", 39, 8, 2, "HFP02", 2, 0, 6, 2, 3, 3, 2, 19, 3, 6, 14, 0}, + {"HF", 39, 10, 1, "HFP02", 3, 0, 6, 2, 3, 3, 2, 19, 5, 2, 15, 0}, + {"HF", 39, 10, 2, "HFP02", 3, 0, 8, 2, 4, 3, 2, 19, 5, 4, 15, 0}, + {"HF", 39, 12, 1, "HFP03", 1, 0, 8, 2, 4, 3, 2, 19, 5, 8, 15, 0}, + {"HF", 39, 12, 2, "HFP03", 1, 0, 6, 2, 3, 3, 2, 19, 5, 6, 15, 0}, + {"HF", 39, 14, 1, "HFP03", 2, 0, 6, 2, 3, 3, 2, 19, 7, 2, 16, 0}, + {"HF", 39, 14, 2, "HFP03", 2, 0, 8, 2, 4, 3, 2, 19, 7, 4, 16, 0}, + {"HF", 39, 16, 1, "HFP03", 3, 0, 8, 2, 4, 3, 2, 19, 7, 8, 16, 0}, + {"HF", 39, 16, 2, "HFP03", 3, 0, 6, 2, 3, 3, 2, 19, 7, 6, 16, 0}, + {"HF", 39, 18, 1, "HFP04", 1, 0, 6, 2, 3, 3, 2, 19, 9, 2, 17, 0}, + {"HF", 39, 18, 2, "HFP04", 1, 0, 8, 2, 4, 3, 2, 19, 9, 4, 17, 0}, + {"HF", 39, 20, 1, "HFP04", 2, 0, 8, 2, 4, 3, 2, 19, 9, 8, 17, 0}, + {"HF", 39, 20, 2, "HFP04", 2, 0, 6, 2, 3, 3, 2, 19, 9, 6, 17, 0}, + {"HF", 39, 22, 1, "HFP04", 3, 0, 6, 2, 3, 3, 2, 19, 11, 2, 18, 0}, + {"HF", 39, 22, 2, "HFP04", 3, 0, 8, 2, 4, 3, 2, 19, 11, 4, 18, 0}, + {"HF", 39, 24, 1, "HFP05", 1, 0, 8, 2, 4, 3, 2, 19, 11, 8, 18, 0}, + {"HF", 39, 24, 2, "HFP05", 1, 0, 6, 2, 3, 3, 2, 19, 11, 6, 18, 0}, + {"HF", 39, 26, 1, "HFP05", 2, 0, 6, 2, 3, 3, 9, 21, 1, 2, 13, 0}, + {"HF", 39, 26, 2, "HFP05", 2, 0, 8, 2, 4, 3, 9, 21, 1, 4, 13, 0}, + {"HF", 39, 28, 1, "HFP05", 3, 0, 8, 2, 4, 3, 9, 21, 1, 8, 13, 0}, + {"HF", 39, 28, 2, "HFP05", 3, 0, 6, 2, 3, 3, 9, 21, 1, 6, 13, 0}, + {"HF", 39, 30, 1, "HFP06", 1, 0, 6, 2, 3, 3, 9, 21, 3, 2, 14, 0}, + {"HF", 39, 30, 2, "HFP06", 1, 0, 8, 2, 4, 3, 9, 21, 3, 4, 14, 0}, + {"HF", 39, 32, 1, "HFP06", 2, 0, 8, 2, 4, 3, 9, 21, 3, 8, 14, 0}, + {"HF", 39, 32, 2, "HFP06", 2, 0, 6, 2, 3, 3, 9, 21, 3, 6, 14, 0}, + {"HF", 39, 34, 1, "HFP06", 3, 0, 6, 2, 3, 3, 9, 21, 5, 2, 15, 0}, + {"HF", 39, 34, 2, "HFP06", 3, 0, 8, 2, 4, 3, 9, 21, 5, 4, 15, 0}, + {"HF", 39, 36, 1, "HFP07", 1, 0, 8, 2, 4, 3, 9, 21, 5, 8, 15, 0}, + {"HF", 39, 36, 2, "HFP07", 1, 0, 6, 2, 3, 3, 9, 21, 5, 6, 15, 0}, + {"HF", 39, 38, 1, "HFP07", 2, 0, 6, 2, 3, 3, 9, 21, 7, 2, 16, 0}, + {"HF", 39, 38, 2, "HFP07", 2, 0, 8, 2, 4, 3, 9, 21, 7, 4, 16, 0}, + {"HF", 39, 40, 1, "HFP07", 3, 0, 8, 2, 4, 3, 9, 21, 7, 8, 16, 0}, + {"HF", 39, 40, 2, "HFP07", 3, 0, 6, 2, 3, 3, 9, 21, 7, 6, 16, 0}, + {"HF", 39, 42, 1, "HFP08", 1, 0, 6, 2, 3, 3, 9, 21, 9, 2, 17, 0}, + {"HF", 39, 42, 2, "HFP08", 1, 0, 8, 2, 4, 3, 9, 21, 9, 4, 17, 0}, + {"HF", 39, 44, 1, "HFP08", 2, 0, 8, 2, 4, 3, 9, 21, 9, 8, 17, 0}, + {"HF", 39, 44, 2, "HFP08", 2, 0, 6, 2, 3, 3, 9, 21, 9, 6, 17, 0}, + {"HF", 39, 46, 1, "HFP08", 3, 0, 6, 2, 3, 3, 9, 21, 11, 2, 18, 0}, + {"HF", 39, 46, 2, "HFP08", 3, 0, 8, 2, 4, 3, 9, 21, 11, 4, 18, 0}, + {"HF", 39, 48, 1, "HFP09", 1, 0, 8, 2, 4, 3, 9, 21, 11, 8, 18, 0}, + {"HF", 39, 48, 2, "HFP09", 1, 0, 6, 2, 3, 3, 9, 21, 11, 6, 18, 0}, + {"HF", 39, 50, 1, "HFP09", 2, 0, 6, 2, 3, 3, 12, 23, 1, 2, 13, 0}, + {"HF", 39, 50, 2, "HFP09", 2, 0, 8, 2, 4, 3, 12, 23, 1, 4, 13, 0}, + {"HF", 39, 52, 1, "HFP09", 3, 0, 8, 2, 4, 3, 12, 23, 1, 8, 13, 0}, + {"HF", 39, 52, 2, "HFP09", 3, 0, 6, 2, 3, 3, 12, 23, 1, 6, 13, 0}, + {"HF", 39, 54, 1, "HFP10", 1, 0, 6, 2, 3, 3, 12, 23, 3, 2, 14, 0}, + {"HF", 39, 54, 2, "HFP10", 1, 0, 8, 2, 4, 3, 12, 23, 3, 4, 14, 0}, + {"HF", 39, 56, 1, "HFP10", 2, 0, 8, 2, 4, 3, 12, 23, 3, 8, 14, 0}, + {"HF", 39, 56, 2, "HFP10", 2, 0, 6, 2, 3, 3, 12, 23, 3, 6, 14, 0}, + {"HF", 39, 58, 1, "HFP10", 3, 0, 6, 2, 3, 3, 12, 23, 5, 2, 15, 0}, + {"HF", 39, 58, 2, "HFP10", 3, 0, 8, 2, 4, 3, 12, 23, 5, 4, 15, 0}, + {"HF", 39, 60, 1, "HFP11", 1, 0, 8, 2, 4, 3, 12, 23, 5, 8, 15, 0}, + {"HF", 39, 60, 2, "HFP11", 1, 0, 6, 2, 3, 3, 12, 23, 5, 6, 15, 0}, + {"HF", 39, 62, 1, "HFP11", 2, 0, 6, 2, 3, 3, 12, 23, 7, 2, 16, 0}, + {"HF", 39, 62, 2, "HFP11", 2, 0, 8, 2, 4, 3, 12, 23, 7, 4, 16, 0}, + {"HF", 39, 64, 1, "HFP11", 3, 0, 8, 2, 4, 3, 12, 23, 7, 8, 16, 0}, + {"HF", 39, 64, 2, "HFP11", 3, 0, 6, 2, 3, 3, 12, 23, 7, 6, 16, 0}, + {"HF", 39, 66, 1, "HFP12", 1, 0, 6, 2, 3, 3, 12, 23, 9, 2, 17, 0}, + {"HF", 39, 66, 2, "HFP12", 1, 0, 8, 2, 4, 3, 12, 23, 9, 4, 17, 0}, + {"HF", 39, 68, 1, "HFP12", 2, 0, 8, 2, 4, 3, 12, 23, 9, 8, 17, 0}, + {"HF", 39, 68, 2, "HFP12", 2, 0, 6, 2, 3, 3, 12, 23, 9, 6, 17, 0}, + {"HF", 39, 70, 1, "HFP12", 3, 0, 6, 2, 3, 3, 12, 23, 11, 2, 18, 0}, + {"HF", 39, 70, 2, "HFP12", 3, 0, 8, 2, 4, 3, 12, 23, 11, 4, 18, 0}, + {"HF", 40, 0, 1, "HFP01", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 0, 2, "HFP01", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 2, 1, "HFP01", 3, 0, 7, 0, 4, 0, 2, 19, 1, 7, 13, 0}, + {"HF", 40, 2, 2, "HFP01", 3, 0, 5, 0, 3, 0, 2, 19, 1, 5, 13, 0}, + {"HF", 40, 4, 1, "HFP02", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 4, 2, "HFP02", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 6, 1, "HFP02", 2, 0, 7, 0, 4, 0, 2, 19, 3, 7, 14, 0}, + {"HF", 40, 6, 2, "HFP02", 2, 0, 5, 0, 3, 0, 2, 19, 3, 5, 14, 0}, + {"HF", 40, 8, 1, "HFP02", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 8, 2, "HFP02", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 10, 1, "HFP03", 1, 0, 7, 0, 4, 0, 2, 19, 5, 7, 15, 0}, + {"HF", 40, 10, 2, "HFP03", 1, 0, 5, 0, 3, 0, 2, 19, 5, 5, 15, 0}, + {"HF", 40, 12, 1, "HFP03", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 12, 2, "HFP03", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 14, 1, "HFP03", 3, 0, 7, 0, 4, 0, 2, 19, 7, 7, 16, 0}, + {"HF", 40, 14, 2, "HFP03", 3, 0, 5, 0, 3, 0, 2, 19, 7, 5, 16, 0}, + {"HF", 40, 16, 1, "HFP04", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 16, 2, "HFP04", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 18, 1, "HFP04", 2, 0, 7, 0, 4, 0, 2, 19, 9, 7, 17, 0}, + {"HF", 40, 18, 2, "HFP04", 2, 0, 5, 0, 3, 0, 2, 19, 9, 5, 17, 0}, + {"HF", 40, 20, 1, "HFP04", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 20, 2, "HFP04", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 22, 1, "HFP05", 1, 0, 7, 0, 4, 0, 2, 19, 11, 7, 18, 0}, + {"HF", 40, 22, 2, "HFP05", 1, 0, 5, 0, 3, 0, 2, 19, 11, 5, 18, 0}, + {"HF", 40, 24, 1, "HFP05", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 24, 2, "HFP05", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 26, 1, "HFP05", 3, 0, 7, 0, 4, 0, 9, 21, 1, 7, 13, 0}, + {"HF", 40, 26, 2, "HFP05", 3, 0, 5, 0, 3, 0, 9, 21, 1, 5, 13, 0}, + {"HF", 40, 28, 1, "HFP06", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 28, 2, "HFP06", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 30, 1, "HFP06", 2, 0, 7, 0, 4, 0, 9, 21, 3, 7, 14, 0}, + {"HF", 40, 30, 2, "HFP06", 2, 0, 5, 0, 3, 0, 9, 21, 3, 5, 14, 0}, + {"HF", 40, 32, 1, "HFP06", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 32, 2, "HFP06", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 34, 1, "HFP07", 1, 0, 7, 0, 4, 0, 9, 21, 5, 7, 15, 0}, + {"HF", 40, 34, 2, "HFP07", 1, 0, 5, 0, 3, 0, 9, 21, 5, 5, 15, 0}, + {"HF", 40, 36, 1, "HFP07", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 36, 2, "HFP07", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 38, 1, "HFP07", 3, 0, 7, 0, 4, 0, 9, 21, 7, 7, 16, 0}, + {"HF", 40, 38, 2, "HFP07", 3, 0, 5, 0, 3, 0, 9, 21, 7, 5, 16, 0}, + {"HF", 40, 40, 1, "HFP08", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 40, 2, "HFP08", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 42, 1, "HFP08", 2, 0, 7, 0, 4, 0, 9, 21, 9, 7, 17, 0}, + {"HF", 40, 42, 2, "HFP08", 2, 0, 5, 0, 3, 0, 9, 21, 9, 5, 17, 0}, + {"HF", 40, 44, 1, "HFP08", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 44, 2, "HFP08", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 46, 1, "HFP09", 1, 0, 7, 0, 4, 0, 9, 21, 11, 7, 18, 0}, + {"HF", 40, 46, 2, "HFP09", 1, 0, 5, 0, 3, 0, 9, 21, 11, 5, 18, 0}, + {"HF", 40, 48, 1, "HFP09", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 48, 2, "HFP09", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 50, 1, "HFP09", 3, 0, 7, 0, 4, 0, 12, 23, 1, 7, 13, 0}, + {"HF", 40, 50, 2, "HFP09", 3, 0, 5, 0, 3, 0, 12, 23, 1, 5, 13, 0}, + {"HF", 40, 52, 1, "HFP10", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 52, 2, "HFP10", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 54, 1, "HFP10", 2, 0, 7, 0, 4, 0, 12, 23, 3, 7, 14, 0}, + {"HF", 40, 54, 2, "HFP10", 2, 0, 5, 0, 3, 0, 12, 23, 3, 5, 14, 0}, + {"HF", 40, 56, 1, "HFP10", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 56, 2, "HFP10", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 58, 1, "HFP11", 1, 0, 7, 0, 4, 0, 12, 23, 5, 7, 15, 0}, + {"HF", 40, 58, 2, "HFP11", 1, 0, 5, 0, 3, 0, 12, 23, 5, 5, 15, 0}, + {"HF", 40, 60, 1, "HFP11", 2, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 60, 2, "HFP11", 2, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 62, 1, "HFP11", 3, 0, 7, 0, 4, 0, 12, 23, 7, 7, 16, 0}, + {"HF", 40, 62, 2, "HFP11", 3, 0, 5, 0, 3, 0, 12, 23, 7, 5, 16, 0}, + {"HF", 40, 64, 1, "HFP12", 1, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 64, 2, "HFP12", 1, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 66, 1, "HFP12", 2, 0, 7, 0, 4, 0, 12, 23, 9, 7, 17, 0}, + {"HF", 40, 66, 2, "HFP12", 2, 0, 5, 0, 3, 0, 12, 23, 9, 5, 17, 0}, + {"HF", 40, 68, 1, "HFP12", 3, 0, 1, 2, 1, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 68, 2, "HFP12", 3, 0, 3, 2, 2, 2, 0, 0, 0, 1, 0, 0}, + {"HF", 40, 70, 1, "HFP01", 1, 0, 7, 0, 4, 0, 12, 23, 11, 7, 18, 0}, + {"HF", 40, 70, 2, "HFP01", 1, 0, 5, 0, 3, 0, 12, 23, 11, 5, 18, 0}, + {"HF", 41, 0, 1, "HFP01", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 0, 2, "HFP01", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 2, 1, "HFP01", 2, 0, 5, 0, 3, 0, 2, 19, 1, 1, 13, 0}, + {"HF", 41, 2, 2, "HFP01", 2, 0, 7, 0, 4, 0, 2, 19, 1, 3, 13, 0}, + {"HF", 41, 4, 1, "HFP02", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 4, 2, "HFP02", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 6, 1, "HFP02", 1, 0, 5, 0, 3, 0, 2, 19, 3, 1, 14, 0}, + {"HF", 41, 6, 2, "HFP02", 1, 0, 7, 0, 4, 0, 2, 19, 3, 3, 14, 0}, + {"HF", 41, 8, 1, "HFP02", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 8, 2, "HFP02", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 10, 1, "HFP02", 3, 0, 5, 0, 3, 0, 2, 19, 5, 1, 15, 0}, + {"HF", 41, 10, 2, "HFP02", 3, 0, 7, 0, 4, 0, 2, 19, 5, 3, 15, 0}, + {"HF", 41, 12, 1, "HFP03", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 12, 2, "HFP03", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 14, 1, "HFP03", 2, 0, 5, 0, 3, 0, 2, 19, 7, 1, 16, 0}, + {"HF", 41, 14, 2, "HFP03", 2, 0, 7, 0, 4, 0, 2, 19, 7, 3, 16, 0}, + {"HF", 41, 16, 1, "HFP04", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 16, 2, "HFP04", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 18, 1, "HFP04", 1, 0, 5, 0, 3, 0, 2, 19, 9, 1, 17, 0}, + {"HF", 41, 18, 2, "HFP04", 1, 0, 7, 0, 4, 0, 2, 19, 9, 3, 17, 0}, + {"HF", 41, 20, 1, "HFP04", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 20, 2, "HFP04", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 22, 1, "HFP04", 3, 0, 5, 0, 3, 0, 2, 19, 11, 1, 18, 0}, + {"HF", 41, 22, 2, "HFP04", 3, 0, 7, 0, 4, 0, 2, 19, 11, 3, 18, 0}, + {"HF", 41, 24, 1, "HFP05", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 24, 2, "HFP05", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 26, 1, "HFP05", 2, 0, 5, 0, 3, 0, 9, 21, 1, 1, 13, 0}, + {"HF", 41, 26, 2, "HFP05", 2, 0, 7, 0, 4, 0, 9, 21, 1, 3, 13, 0}, + {"HF", 41, 28, 1, "HFP06", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 28, 2, "HFP06", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 30, 1, "HFP06", 1, 0, 5, 0, 3, 0, 9, 21, 3, 1, 14, 0}, + {"HF", 41, 30, 2, "HFP06", 1, 0, 7, 0, 4, 0, 9, 21, 3, 3, 14, 0}, + {"HF", 41, 32, 1, "HFP06", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 32, 2, "HFP06", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 34, 1, "HFP06", 3, 0, 5, 0, 3, 0, 9, 21, 5, 1, 15, 0}, + {"HF", 41, 34, 2, "HFP06", 3, 0, 7, 0, 4, 0, 9, 21, 5, 3, 15, 0}, + {"HF", 41, 36, 1, "HFP07", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 36, 2, "HFP07", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 38, 1, "HFP07", 2, 0, 5, 0, 3, 0, 9, 21, 7, 1, 16, 0}, + {"HF", 41, 38, 2, "HFP07", 2, 0, 7, 0, 4, 0, 9, 21, 7, 3, 16, 0}, + {"HF", 41, 40, 1, "HFP08", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 40, 2, "HFP08", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 42, 1, "HFP08", 1, 0, 5, 0, 3, 0, 9, 21, 9, 1, 17, 0}, + {"HF", 41, 42, 2, "HFP08", 1, 0, 7, 0, 4, 0, 9, 21, 9, 3, 17, 0}, + {"HF", 41, 44, 1, "HFP08", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 44, 2, "HFP08", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 46, 1, "HFP08", 3, 0, 5, 0, 3, 0, 9, 21, 11, 1, 18, 0}, + {"HF", 41, 46, 2, "HFP08", 3, 0, 7, 0, 4, 0, 9, 21, 11, 3, 18, 0}, + {"HF", 41, 48, 1, "HFP09", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 48, 2, "HFP09", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 50, 1, "HFP09", 2, 0, 5, 0, 3, 0, 12, 23, 1, 1, 13, 0}, + {"HF", 41, 50, 2, "HFP09", 2, 0, 7, 0, 4, 0, 12, 23, 1, 3, 13, 0}, + {"HF", 41, 52, 1, "HFP10", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 52, 2, "HFP10", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 54, 1, "HFP10", 1, 0, 5, 0, 3, 0, 12, 23, 3, 1, 14, 0}, + {"HF", 41, 54, 2, "HFP10", 1, 0, 7, 0, 4, 0, 12, 23, 3, 3, 14, 0}, + {"HF", 41, 56, 1, "HFP10", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 56, 2, "HFP10", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 58, 1, "HFP10", 3, 0, 5, 0, 3, 0, 12, 23, 5, 1, 15, 0}, + {"HF", 41, 58, 2, "HFP10", 3, 0, 7, 0, 4, 0, 12, 23, 5, 3, 15, 0}, + {"HF", 41, 60, 1, "HFP11", 2, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 60, 2, "HFP11", 2, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 62, 1, "HFP11", 2, 0, 5, 0, 3, 0, 12, 23, 7, 1, 16, 0}, + {"HF", 41, 62, 2, "HFP11", 2, 0, 7, 0, 4, 0, 12, 23, 7, 3, 16, 0}, + {"HF", 41, 64, 1, "HFP12", 1, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 64, 2, "HFP12", 1, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 66, 1, "HFP12", 1, 0, 5, 0, 3, 0, 12, 23, 9, 1, 17, 0}, + {"HF", 41, 66, 2, "HFP12", 1, 0, 7, 0, 4, 0, 12, 23, 9, 3, 17, 0}, + {"HF", 41, 68, 1, "HFP12", 3, 0, 2, 1, 1, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 68, 2, "HFP12", 3, 0, 4, 1, 2, 5, 0, 0, 0, 1, 0, 0}, + {"HF", 41, 70, 1, "HFP12", 3, 0, 5, 0, 3, 0, 12, 23, 11, 1, 18, 0}, + {"HF", 41, 70, 2, "HFP12", 3, 0, 7, 0, 4, 0, 12, 23, 11, 3, 18, 0}, + {"HO", -15, 0, 4, "HO2M02", 4, 16, 7, 2, 3, 3, 3, 24, 5, 6, 4, 0}, + {"HO", -15, 1, 4, "HO2M02", 2, 14, 7, 1, 3, 5, 3, 24, 5, 5, 4, 0}, + {"HO", -15, 2, 4, "HO2M02", 2, 15, 7, 0, 3, 4, 3, 24, 5, 5, 4, 0}, + {"HO", -15, 3, 4, "HO2M02", 2, 16, 7, 2, 3, 3, 3, 24, 5, 5, 4, 0}, + {"HO", -15, 4, 4, "HO2M02", 1, 16, 7, 2, 3, 3, 3, 25, 1, 6, 13, 0}, + {"HO", -15, 5, 4, "HO2M02", 1, 15, 7, 0, 3, 4, 3, 25, 1, 6, 13, 0}, + {"HO", -15, 6, 4, "HO2M02", 1, 14, 7, 1, 3, 5, 3, 25, 1, 6, 13, 0}, + {"HO", -15, 7, 4, "HO2M02", 3, 16, 7, 2, 3, 3, 3, 25, 1, 5, 13, 0}, + {"HO", -15, 8, 4, "HO2M02", 3, 15, 7, 0, 3, 4, 3, 25, 1, 5, 13, 0}, + {"HO", -15, 9, 4, "HO2M02", 3, 14, 7, 1, 3, 5, 3, 25, 1, 5, 13, 0}, + {"HO", -15, 10, 4, "HO2M04", 4, 14, 7, 1, 3, 5, 3, 25, 9, 6, 17, 0}, + {"HO", -15, 11, 4, "HO2M04", 4, 15, 7, 0, 3, 4, 3, 25, 9, 6, 17, 0}, + {"HO", -15, 12, 4, "HO2M04", 4, 16, 7, 2, 3, 3, 3, 25, 9, 6, 17, 0}, + {"HO", -15, 13, 4, "HO2M04", 2, 14, 7, 1, 3, 5, 3, 25, 9, 5, 17, 0}, + {"HO", -15, 14, 4, "HO2M04", 2, 15, 7, 0, 3, 4, 3, 25, 9, 5, 17, 0}, + {"HO", -15, 15, 4, "HO2M04", 2, 16, 7, 2, 3, 3, 3, 25, 9, 5, 17, 0}, + {"HO", -15, 16, 4, "HO2M04", 1, 16, 7, 2, 3, 3, 7, 26, 5, 6, 4, 0}, + {"HO", -15, 17, 4, "HO2M04", 1, 15, 7, 0, 3, 4, 7, 26, 5, 6, 4, 0}, + {"HO", -15, 18, 4, "HO2M04", 1, 14, 7, 1, 3, 5, 7, 26, 5, 6, 4, 0}, + {"HO", -15, 19, 4, "HO2M04", 3, 16, 7, 2, 3, 3, 7, 26, 5, 5, 4, 0}, + {"HO", -15, 20, 4, "HO2M04", 3, 15, 7, 0, 3, 4, 7, 26, 5, 5, 4, 0}, + {"HO", -15, 21, 4, "HO2M04", 3, 14, 7, 1, 3, 5, 7, 26, 5, 5, 4, 0}, + {"HO", -15, 22, 4, "HO2M06", 4, 14, 7, 1, 3, 5, 7, 27, 1, 6, 13, 0}, + {"HO", -15, 23, 4, "HO2M06", 4, 15, 7, 0, 3, 4, 7, 27, 1, 6, 13, 0}, + {"HO", -15, 24, 4, "HO2M06", 4, 16, 7, 2, 3, 3, 7, 27, 1, 6, 13, 0}, + {"HO", -15, 25, 4, "HO2M06", 2, 14, 7, 1, 3, 5, 7, 27, 1, 5, 13, 0}, + {"HO", -15, 26, 4, "HO2M06", 2, 15, 7, 0, 3, 4, 7, 27, 1, 5, 13, 0}, + {"HO", -15, 27, 4, "HO2M06", 2, 16, 7, 2, 3, 3, 7, 27, 1, 5, 13, 0}, + {"HO", -15, 28, 4, "HO2M06", 1, 16, 7, 2, 3, 3, 7, 27, 9, 6, 17, 0}, + {"HO", -15, 29, 4, "HO2M06", 1, 15, 7, 0, 3, 4, 7, 27, 9, 6, 17, 0}, + {"HO", -15, 30, 4, "HO2M06", 1, 14, 7, 1, 3, 5, 7, 27, 9, 6, 17, 0}, + {"HO", -15, 31, 4, "HO2M06", 3, 16, 7, 2, 3, 3, 7, 27, 9, 5, 17, 0}, + {"HO", -15, 32, 4, "HO2M06", 3, 15, 7, 0, 3, 4, 7, 27, 9, 5, 17, 0}, + {"HO", -15, 33, 4, "HO2M06", 3, 14, 7, 1, 3, 5, 7, 27, 9, 5, 17, 0}, + {"HO", -15, 34, 4, "HO2M08", 4, 14, 7, 1, 3, 5, 6, 28, 5, 6, 4, 0}, + {"HO", -15, 35, 4, "HO2M08", 4, 15, 7, 0, 3, 4, 6, 28, 5, 6, 4, 0}, + {"HO", -15, 36, 4, "HO2M08", 4, 16, 7, 2, 3, 3, 6, 28, 5, 6, 4, 0}, + {"HO", -15, 37, 4, "HO2M08", 2, 14, 7, 1, 3, 5, 6, 28, 5, 5, 4, 0}, + {"HO", -15, 38, 4, "HO2M08", 2, 15, 7, 0, 3, 4, 6, 28, 5, 5, 4, 0}, + {"HO", -15, 39, 4, "HO2M08", 2, 16, 7, 2, 3, 3, 6, 28, 5, 5, 4, 0}, + {"HO", -15, 40, 4, "HO2M08", 1, 16, 7, 2, 3, 3, 6, 29, 1, 6, 13, 0}, + {"HO", -15, 41, 4, "HO2M08", 1, 15, 7, 0, 3, 4, 6, 29, 1, 6, 13, 0}, + {"HO", -15, 42, 4, "HO2M08", 1, 14, 7, 1, 3, 5, 6, 29, 1, 6, 13, 0}, + {"HO", -15, 43, 4, "HO2M08", 3, 16, 7, 2, 3, 3, 6, 29, 1, 5, 13, 0}, + {"HO", -15, 44, 4, "HO2M08", 3, 15, 7, 0, 3, 4, 6, 29, 1, 5, 13, 0}, + {"HO", -15, 45, 4, "HO2M08", 3, 14, 7, 1, 3, 5, 6, 29, 1, 5, 13, 0}, + {"HO", -15, 46, 4, "HO2M10", 4, 14, 7, 1, 3, 5, 6, 29, 9, 6, 17, 0}, + {"HO", -15, 47, 4, "HO2M10", 4, 15, 7, 0, 3, 4, 6, 29, 9, 6, 17, 0}, + {"HO", -15, 48, 4, "HO2M10", 4, 16, 7, 2, 3, 3, 6, 29, 9, 6, 17, 0}, + {"HO", -15, 49, 4, "HO2M10", 2, 14, 7, 1, 3, 5, 6, 29, 9, 5, 17, 0}, + {"HO", -15, 50, 4, "HO2M10", 2, 15, 7, 0, 3, 4, 6, 29, 9, 5, 17, 0}, + {"HO", -15, 51, 4, "HO2M10", 2, 16, 7, 2, 3, 3, 6, 29, 9, 5, 17, 0}, + {"HO", -15, 52, 4, "HO2M10", 1, 16, 7, 2, 3, 3, 13, 30, 5, 6, 4, 0}, + {"HO", -15, 53, 4, "HO2M10", 1, 15, 7, 0, 3, 4, 13, 30, 5, 6, 4, 0}, + {"HO", -15, 54, 4, "HO2M10", 1, 14, 7, 1, 3, 5, 13, 30, 5, 6, 4, 0}, + {"HO", -15, 55, 4, "HO2M10", 3, 16, 7, 2, 3, 3, 13, 30, 5, 5, 4, 0}, + {"HO", -15, 56, 4, "HO2M10", 3, 15, 7, 0, 3, 4, 13, 30, 5, 5, 4, 0}, + {"HO", -15, 57, 4, "HO2M10", 3, 14, 7, 1, 3, 5, 13, 30, 5, 5, 4, 0}, + {"HO", -15, 58, 4, "HO2M12", 4, 14, 7, 1, 3, 5, 13, 31, 1, 6, 13, 0}, + {"HO", -15, 59, 4, "HO2M12", 4, 15, 7, 0, 3, 4, 13, 31, 1, 6, 13, 0}, + {"HO", -15, 60, 4, "HO2M12", 4, 16, 7, 2, 3, 3, 13, 31, 1, 6, 13, 0}, + {"HO", -15, 61, 4, "HO2M12", 2, 14, 7, 1, 3, 5, 13, 31, 1, 5, 13, 0}, + {"HO", -15, 62, 4, "HO2M12", 2, 15, 7, 0, 3, 4, 13, 31, 1, 5, 13, 0}, + {"HO", -15, 63, 4, "HO2M12", 2, 16, 7, 2, 3, 3, 13, 31, 1, 5, 13, 0}, + {"HO", -15, 64, 4, "HO2M12", 1, 16, 7, 2, 3, 3, 13, 31, 9, 6, 17, 0}, + {"HO", -15, 65, 4, "HO2M12", 1, 15, 7, 0, 3, 4, 13, 31, 9, 6, 17, 0}, + {"HO", -15, 66, 4, "HO2M12", 1, 14, 7, 1, 3, 5, 13, 31, 9, 6, 17, 0}, + {"HO", -15, 67, 4, "HO2M12", 3, 16, 7, 2, 3, 3, 13, 31, 9, 5, 17, 0}, + {"HO", -15, 68, 4, "HO2M12", 3, 15, 7, 0, 3, 4, 13, 31, 9, 5, 17, 0}, + {"HO", -15, 69, 4, "HO2M12", 3, 14, 7, 1, 3, 5, 13, 31, 9, 5, 17, 0}, + {"HO", -15, 70, 4, "HO2M02", 4, 14, 7, 1, 3, 5, 3, 24, 5, 6, 4, 0}, + {"HO", -15, 71, 4, "HO2M02", 4, 15, 7, 0, 3, 4, 3, 24, 5, 6, 4, 0}, + {"HO", -14, 0, 4, "HO2M02", 4, 11, 4, 0, 2, 0, 3, 24, 5, 4, 4, 0}, + {"HO", -14, 1, 4, "HO2M02", 2, 2, 4, 2, 2, 2, 3, 24, 5, 3, 4, 0}, + {"HO", -14, 2, 4, "HO2M02", 2, 6, 4, 1, 2, 1, 3, 24, 5, 3, 4, 0}, + {"HO", -14, 3, 4, "HO2M02", 2, 11, 4, 0, 2, 0, 3, 24, 5, 3, 4, 0}, + {"HO", -14, 4, 4, "HO2M02", 1, 11, 4, 0, 2, 0, 3, 25, 1, 4, 13, 0}, + {"HO", -14, 5, 4, "HO2M02", 1, 6, 4, 1, 2, 1, 3, 25, 1, 4, 13, 0}, + {"HO", -14, 6, 4, "HO2M02", 1, 2, 4, 2, 2, 2, 3, 25, 1, 4, 13, 0}, + {"HO", -14, 7, 4, "HO2M02", 3, 11, 4, 0, 2, 0, 3, 25, 1, 3, 13, 0}, + {"HO", -14, 8, 4, "HO2M02", 3, 6, 4, 1, 2, 1, 3, 25, 1, 3, 13, 0}, + {"HO", -14, 9, 4, "HO2M02", 3, 2, 4, 2, 2, 2, 3, 25, 1, 3, 13, 0}, + {"HO", -14, 10, 4, "HO2M04", 4, 2, 4, 2, 2, 2, 3, 25, 9, 4, 17, 0}, + {"HO", -14, 11, 4, "HO2M04", 4, 6, 4, 1, 2, 1, 3, 25, 9, 4, 17, 0}, + {"HO", -14, 12, 4, "HO2M04", 4, 11, 4, 0, 2, 0, 3, 25, 9, 4, 17, 0}, + {"HO", -14, 13, 4, "HO2M04", 2, 2, 4, 2, 2, 2, 3, 25, 9, 3, 17, 0}, + {"HO", -14, 14, 4, "HO2M04", 2, 6, 4, 1, 2, 1, 3, 25, 9, 3, 17, 0}, + {"HO", -14, 15, 4, "HO2M04", 2, 11, 4, 0, 2, 0, 3, 25, 9, 3, 17, 0}, + {"HO", -14, 16, 4, "HO2M04", 1, 11, 4, 0, 2, 0, 7, 26, 5, 4, 4, 0}, + {"HO", -14, 17, 4, "HO2M04", 1, 6, 4, 1, 2, 1, 7, 26, 5, 4, 4, 0}, + {"HO", -14, 18, 4, "HO2M04", 1, 2, 4, 2, 2, 2, 7, 26, 5, 4, 4, 0}, + {"HO", -14, 19, 4, "HO2M04", 3, 11, 4, 0, 2, 0, 7, 26, 5, 3, 4, 0}, + {"HO", -14, 20, 4, "HO2M04", 3, 6, 4, 1, 2, 1, 7, 26, 5, 3, 4, 0}, + {"HO", -14, 21, 4, "HO2M04", 3, 2, 4, 2, 2, 2, 7, 26, 5, 3, 4, 0}, + {"HO", -14, 22, 4, "HO2M06", 4, 2, 4, 2, 2, 2, 7, 27, 1, 4, 13, 0}, + {"HO", -14, 23, 4, "HO2M06", 4, 6, 4, 1, 2, 1, 7, 27, 1, 4, 13, 0}, + {"HO", -14, 24, 4, "HO2M06", 4, 11, 4, 0, 2, 0, 7, 27, 1, 4, 13, 0}, + {"HO", -14, 25, 4, "HO2M06", 2, 2, 4, 2, 2, 2, 7, 27, 1, 3, 13, 0}, + {"HO", -14, 26, 4, "HO2M06", 2, 6, 4, 1, 2, 1, 7, 27, 1, 3, 13, 0}, + {"HO", -14, 27, 4, "HO2M06", 2, 11, 4, 0, 2, 0, 7, 27, 1, 3, 13, 0}, + {"HO", -14, 28, 4, "HO2M06", 1, 11, 4, 0, 2, 0, 7, 27, 9, 4, 17, 0}, + {"HO", -14, 29, 4, "HO2M06", 1, 6, 4, 1, 2, 1, 7, 27, 9, 4, 17, 0}, + {"HO", -14, 30, 4, "HO2M06", 1, 2, 4, 2, 2, 2, 7, 27, 9, 4, 17, 0}, + {"HO", -14, 31, 4, "HO2M06", 3, 11, 4, 0, 2, 0, 7, 27, 9, 3, 17, 0}, + {"HO", -14, 32, 4, "HO2M06", 3, 6, 4, 1, 2, 1, 7, 27, 9, 3, 17, 0}, + {"HO", -14, 33, 4, "HO2M06", 3, 2, 4, 2, 2, 2, 7, 27, 9, 3, 17, 0}, + {"HO", -14, 34, 4, "HO2M08", 4, 2, 4, 2, 2, 2, 6, 28, 5, 4, 4, 0}, + {"HO", -14, 35, 4, "HO2M08", 4, 6, 4, 1, 2, 1, 6, 28, 5, 4, 4, 0}, + {"HO", -14, 36, 4, "HO2M08", 4, 11, 4, 0, 2, 0, 6, 28, 5, 4, 4, 0}, + {"HO", -14, 37, 4, "HO2M08", 2, 2, 4, 2, 2, 2, 6, 28, 5, 3, 4, 0}, + {"HO", -14, 38, 4, "HO2M08", 2, 6, 4, 1, 2, 1, 6, 28, 5, 3, 4, 0}, + {"HO", -14, 39, 4, "HO2M08", 2, 11, 4, 0, 2, 0, 6, 28, 5, 3, 4, 0}, + {"HO", -14, 40, 4, "HO2M08", 1, 11, 4, 0, 2, 0, 6, 29, 1, 4, 13, 0}, + {"HO", -14, 41, 4, "HO2M08", 1, 6, 4, 1, 2, 1, 6, 29, 1, 4, 13, 0}, + {"HO", -14, 42, 4, "HO2M08", 1, 2, 4, 2, 2, 2, 6, 29, 1, 4, 13, 0}, + {"HO", -14, 43, 4, "HO2M08", 3, 11, 4, 0, 2, 0, 6, 29, 1, 3, 13, 0}, + {"HO", -14, 44, 4, "HO2M08", 3, 6, 4, 1, 2, 1, 6, 29, 1, 3, 13, 0}, + {"HO", -14, 45, 4, "HO2M08", 3, 2, 4, 2, 2, 2, 6, 29, 1, 3, 13, 0}, + {"HO", -14, 46, 4, "HO2M10", 4, 2, 4, 2, 2, 2, 6, 29, 9, 4, 17, 0}, + {"HO", -14, 47, 4, "HO2M10", 4, 6, 4, 1, 2, 1, 6, 29, 9, 4, 17, 0}, + {"HO", -14, 48, 4, "HO2M10", 4, 11, 4, 0, 2, 0, 6, 29, 9, 4, 17, 0}, + {"HO", -14, 49, 4, "HO2M10", 2, 2, 4, 2, 2, 2, 6, 29, 9, 3, 17, 0}, + {"HO", -14, 50, 4, "HO2M10", 2, 6, 4, 1, 2, 1, 6, 29, 9, 3, 17, 0}, + {"HO", -14, 51, 4, "HO2M10", 2, 11, 4, 0, 2, 0, 6, 29, 9, 3, 17, 0}, + {"HO", -14, 52, 4, "HO2M10", 1, 11, 4, 0, 2, 0, 13, 30, 5, 4, 4, 0}, + {"HO", -14, 53, 4, "HO2M10", 1, 6, 4, 1, 2, 1, 13, 30, 5, 4, 4, 0}, + {"HO", -14, 54, 4, "HO2M10", 1, 2, 4, 2, 2, 2, 13, 30, 5, 4, 4, 0}, + {"HO", -14, 55, 4, "HO2M10", 3, 11, 4, 0, 2, 0, 13, 30, 5, 3, 4, 0}, + {"HO", -14, 56, 4, "HO2M10", 3, 6, 4, 1, 2, 1, 13, 30, 5, 3, 4, 0}, + {"HO", -14, 57, 4, "HO2M10", 3, 2, 4, 2, 2, 2, 13, 30, 5, 3, 4, 0}, + {"HO", -14, 58, 4, "HO2M12", 4, 2, 4, 2, 2, 2, 13, 31, 1, 4, 13, 0}, + {"HO", -14, 59, 4, "HO2M12", 4, 6, 4, 1, 2, 1, 13, 31, 1, 4, 13, 0}, + {"HO", -14, 60, 4, "HO2M12", 4, 11, 4, 0, 2, 0, 13, 31, 1, 4, 13, 0}, + {"HO", -14, 61, 4, "HO2M12", 2, 2, 4, 2, 2, 2, 13, 31, 1, 3, 13, 0}, + {"HO", -14, 62, 4, "HO2M12", 2, 6, 4, 1, 2, 1, 13, 31, 1, 3, 13, 0}, + {"HO", -14, 63, 4, "HO2M12", 2, 11, 4, 0, 2, 0, 13, 31, 1, 3, 13, 0}, + {"HO", -14, 64, 4, "HO2M12", 1, 11, 4, 0, 2, 0, 13, 31, 9, 4, 17, 0}, + {"HO", -14, 65, 4, "HO2M12", 1, 6, 4, 1, 2, 1, 13, 31, 9, 4, 17, 0}, + {"HO", -14, 66, 4, "HO2M12", 1, 2, 4, 2, 2, 2, 13, 31, 9, 4, 17, 0}, + {"HO", -14, 67, 4, "HO2M12", 3, 11, 4, 0, 2, 0, 13, 31, 9, 3, 17, 0}, + {"HO", -14, 68, 4, "HO2M12", 3, 6, 4, 1, 2, 1, 13, 31, 9, 3, 17, 0}, + {"HO", -14, 69, 4, "HO2M12", 3, 2, 4, 2, 2, 2, 13, 31, 9, 3, 17, 0}, + {"HO", -14, 70, 4, "HO2M02", 4, 2, 4, 2, 2, 2, 3, 24, 5, 4, 4, 0}, + {"HO", -14, 71, 4, "HO2M02", 4, 6, 4, 1, 2, 1, 3, 24, 5, 4, 4, 0}, + {"HO", -13, 0, 4, "HO2M02", 4, 5, 5, 2, 2, 3, 3, 24, 7, 8, 5, 0}, + {"HO", -13, 1, 4, "HO2M02", 2, 13, 5, 1, 2, 5, 3, 24, 7, 7, 5, 0}, + {"HO", -13, 2, 4, "HO2M02", 2, 9, 5, 0, 2, 4, 3, 24, 7, 7, 5, 0}, + {"HO", -13, 3, 4, "HO2M02", 2, 5, 5, 2, 2, 3, 3, 24, 7, 7, 5, 0}, + {"HO", -13, 4, 4, "HO2M02", 1, 5, 5, 2, 2, 3, 3, 25, 3, 8, 14, 0}, + {"HO", -13, 5, 4, "HO2M02", 1, 9, 5, 0, 2, 4, 3, 25, 3, 8, 14, 0}, + {"HO", -13, 6, 4, "HO2M02", 1, 13, 5, 1, 2, 5, 3, 25, 3, 8, 14, 0}, + {"HO", -13, 7, 4, "HO2M02", 3, 5, 5, 2, 2, 3, 3, 25, 3, 7, 14, 0}, + {"HO", -13, 8, 4, "HO2M02", 3, 9, 5, 0, 2, 4, 3, 25, 3, 7, 14, 0}, + {"HO", -13, 9, 4, "HO2M02", 3, 13, 5, 1, 2, 5, 3, 25, 3, 7, 14, 0}, + {"HO", -13, 10, 4, "HO2M04", 4, 13, 5, 1, 2, 5, 3, 25, 11, 8, 18, 0}, + {"HO", -13, 11, 4, "HO2M04", 4, 9, 5, 0, 2, 4, 3, 25, 11, 8, 18, 0}, + {"HO", -13, 12, 4, "HO2M04", 4, 5, 5, 2, 2, 3, 3, 25, 11, 8, 18, 0}, + {"HO", -13, 13, 4, "HO2M04", 2, 13, 5, 1, 2, 5, 3, 25, 11, 7, 18, 0}, + {"HO", -13, 14, 4, "HO2M04", 2, 9, 5, 0, 2, 4, 3, 25, 11, 7, 18, 0}, + {"HO", -13, 15, 4, "HO2M04", 2, 5, 5, 2, 2, 3, 3, 25, 11, 7, 18, 0}, + {"HO", -13, 16, 4, "HO2M04", 1, 5, 5, 2, 2, 3, 7, 26, 7, 8, 5, 0}, + {"HO", -13, 17, 4, "HO2M04", 1, 9, 5, 0, 2, 4, 7, 26, 7, 8, 5, 0}, + {"HO", -13, 18, 4, "HO2M04", 1, 13, 5, 1, 2, 5, 7, 26, 7, 8, 5, 0}, + {"HO", -13, 19, 4, "HO2M04", 3, 5, 5, 2, 2, 3, 7, 26, 7, 7, 5, 0}, + {"HO", -13, 20, 4, "HO2M04", 3, 9, 5, 0, 2, 4, 7, 26, 7, 7, 5, 0}, + {"HO", -13, 21, 4, "HO2M04", 3, 13, 5, 1, 2, 5, 7, 26, 7, 7, 5, 0}, + {"HO", -13, 22, 4, "HO2M06", 4, 13, 5, 1, 2, 5, 7, 27, 3, 8, 14, 0}, + {"HO", -13, 23, 4, "HO2M06", 4, 9, 5, 0, 2, 4, 7, 27, 3, 8, 14, 0}, + {"HO", -13, 24, 4, "HO2M06", 4, 5, 5, 2, 2, 3, 7, 27, 3, 8, 14, 0}, + {"HO", -13, 25, 4, "HO2M06", 2, 13, 5, 1, 2, 5, 7, 27, 3, 7, 14, 0}, + {"HO", -13, 26, 4, "HO2M06", 2, 9, 5, 0, 2, 4, 7, 27, 3, 7, 14, 0}, + {"HO", -13, 27, 4, "HO2M06", 2, 5, 5, 2, 2, 3, 7, 27, 3, 7, 14, 0}, + {"HO", -13, 28, 4, "HO2M06", 1, 5, 5, 2, 2, 3, 7, 27, 11, 8, 18, 0}, + {"HO", -13, 29, 4, "HO2M06", 1, 9, 5, 0, 2, 4, 7, 27, 11, 8, 18, 0}, + {"HO", -13, 30, 4, "HO2M06", 1, 13, 5, 1, 2, 5, 7, 27, 11, 8, 18, 0}, + {"HO", -13, 31, 4, "HO2M06", 3, 5, 5, 2, 2, 3, 7, 27, 11, 7, 18, 0}, + {"HO", -13, 32, 4, "HO2M06", 3, 9, 5, 0, 2, 4, 7, 27, 11, 7, 18, 0}, + {"HO", -13, 33, 4, "HO2M06", 3, 13, 5, 1, 2, 5, 7, 27, 11, 7, 18, 0}, + {"HO", -13, 34, 4, "HO2M08", 4, 13, 5, 1, 2, 5, 6, 28, 7, 8, 5, 0}, + {"HO", -13, 35, 4, "HO2M08", 4, 9, 5, 0, 2, 4, 6, 28, 7, 8, 5, 0}, + {"HO", -13, 36, 4, "HO2M08", 4, 5, 5, 2, 2, 3, 6, 28, 7, 8, 5, 0}, + {"HO", -13, 37, 4, "HO2M08", 2, 13, 5, 1, 2, 5, 6, 28, 7, 7, 5, 0}, + {"HO", -13, 38, 4, "HO2M08", 2, 9, 5, 0, 2, 4, 6, 28, 7, 7, 5, 0}, + {"HO", -13, 39, 4, "HO2M08", 2, 5, 5, 2, 2, 3, 6, 28, 7, 7, 5, 0}, + {"HO", -13, 40, 4, "HO2M08", 1, 5, 5, 2, 2, 3, 6, 29, 3, 8, 14, 0}, + {"HO", -13, 41, 4, "HO2M08", 1, 9, 5, 0, 2, 4, 6, 29, 3, 8, 14, 0}, + {"HO", -13, 42, 4, "HO2M08", 1, 13, 5, 1, 2, 5, 6, 29, 3, 8, 14, 0}, + {"HO", -13, 43, 4, "HO2M08", 3, 5, 5, 2, 2, 3, 6, 29, 3, 7, 14, 0}, + {"HO", -13, 44, 4, "HO2M08", 3, 9, 5, 0, 2, 4, 6, 29, 3, 7, 14, 0}, + {"HO", -13, 45, 4, "HO2M08", 3, 13, 5, 1, 2, 5, 6, 29, 3, 7, 14, 0}, + {"HO", -13, 46, 4, "HO2M10", 4, 13, 5, 1, 2, 5, 6, 29, 11, 8, 18, 0}, + {"HO", -13, 47, 4, "HO2M10", 4, 9, 5, 0, 2, 4, 6, 29, 11, 8, 18, 0}, + {"HO", -13, 48, 4, "HO2M10", 4, 5, 5, 2, 2, 3, 6, 29, 11, 8, 18, 0}, + {"HO", -13, 49, 4, "HO2M10", 2, 13, 5, 1, 2, 5, 6, 29, 11, 7, 18, 0}, + {"HO", -13, 50, 4, "HO2M10", 2, 9, 5, 0, 2, 4, 6, 29, 11, 7, 18, 0}, + {"HO", -13, 51, 4, "HO2M10", 2, 5, 5, 2, 2, 3, 6, 29, 11, 7, 18, 0}, + {"HO", -13, 52, 4, "HO2M10", 1, 5, 5, 2, 2, 3, 13, 30, 7, 8, 5, 0}, + {"HO", -13, 53, 4, "HO2M10", 1, 9, 5, 0, 2, 4, 13, 30, 7, 8, 5, 0}, + {"HO", -13, 54, 4, "HO2M10", 1, 13, 5, 1, 2, 5, 13, 30, 7, 8, 5, 0}, + {"HO", -13, 55, 4, "HO2M10", 3, 5, 5, 2, 2, 3, 13, 30, 7, 7, 5, 0}, + {"HO", -13, 56, 4, "HO2M10", 3, 9, 5, 0, 2, 4, 13, 30, 7, 7, 5, 0}, + {"HO", -13, 57, 4, "HO2M10", 3, 13, 5, 1, 2, 5, 13, 30, 7, 7, 5, 0}, + {"HO", -13, 58, 4, "HO2M12", 4, 13, 5, 1, 2, 5, 13, 31, 3, 8, 14, 0}, + {"HO", -13, 59, 4, "HO2M12", 4, 9, 5, 0, 2, 4, 13, 31, 3, 8, 14, 0}, + {"HO", -13, 60, 4, "HO2M12", 4, 5, 5, 2, 2, 3, 13, 31, 3, 8, 14, 0}, + {"HO", -13, 61, 4, "HO2M12", 2, 13, 5, 1, 2, 5, 13, 31, 3, 7, 14, 0}, + {"HO", -13, 62, 4, "HO2M12", 2, 9, 5, 0, 2, 4, 13, 31, 3, 7, 14, 0}, + {"HO", -13, 63, 4, "HO2M12", 2, 5, 5, 2, 2, 3, 13, 31, 3, 7, 14, 0}, + {"HO", -13, 64, 4, "HO2M12", 1, 5, 5, 2, 2, 3, 13, 31, 11, 8, 18, 0}, + {"HO", -13, 65, 4, "HO2M12", 1, 9, 5, 0, 2, 4, 13, 31, 11, 8, 18, 0}, + {"HO", -13, 66, 4, "HO2M12", 1, 13, 5, 1, 2, 5, 13, 31, 11, 8, 18, 0}, + {"HO", -13, 67, 4, "HO2M12", 3, 5, 5, 2, 2, 3, 13, 31, 11, 7, 18, 0}, + {"HO", -13, 68, 4, "HO2M12", 3, 9, 5, 0, 2, 4, 13, 31, 11, 7, 18, 0}, + {"HO", -13, 69, 4, "HO2M12", 3, 13, 5, 1, 2, 5, 13, 31, 11, 7, 18, 0}, + {"HO", -13, 70, 4, "HO2M02", 4, 13, 5, 1, 2, 5, 3, 24, 7, 8, 5, 0}, + {"HO", -13, 71, 4, "HO2M02", 4, 9, 5, 0, 2, 4, 3, 24, 7, 8, 5, 0}, + {"HO", -12, 0, 4, "HO2M02", 4, 12, 2, 0, 1, 0, 3, 24, 7, 6, 5, 0}, + {"HO", -12, 1, 4, "HO2M02", 2, 3, 2, 2, 1, 2, 3, 24, 7, 5, 5, 0}, + {"HO", -12, 2, 4, "HO2M02", 2, 7, 2, 1, 1, 1, 3, 24, 7, 5, 5, 0}, + {"HO", -12, 3, 4, "HO2M02", 2, 12, 2, 0, 1, 0, 3, 24, 7, 5, 5, 0}, + {"HO", -12, 4, 4, "HO2M02", 1, 12, 2, 0, 1, 0, 3, 25, 3, 6, 14, 0}, + {"HO", -12, 5, 4, "HO2M02", 1, 7, 2, 1, 1, 1, 3, 25, 3, 6, 14, 0}, + {"HO", -12, 6, 4, "HO2M02", 1, 3, 2, 2, 1, 2, 3, 25, 3, 6, 14, 0}, + {"HO", -12, 7, 4, "HO2M02", 3, 12, 2, 0, 1, 0, 3, 25, 3, 5, 14, 0}, + {"HO", -12, 8, 4, "HO2M02", 3, 7, 2, 1, 1, 1, 3, 25, 3, 5, 14, 0}, + {"HO", -12, 9, 4, "HO2M02", 3, 3, 2, 2, 1, 2, 3, 25, 3, 5, 14, 0}, + {"HO", -12, 10, 4, "HO2M04", 4, 3, 2, 2, 1, 2, 3, 25, 11, 6, 18, 0}, + {"HO", -12, 11, 4, "HO2M04", 4, 7, 2, 1, 1, 1, 3, 25, 11, 6, 18, 0}, + {"HO", -12, 12, 4, "HO2M04", 4, 12, 2, 0, 1, 0, 3, 25, 11, 6, 18, 0}, + {"HO", -12, 13, 4, "HO2M04", 2, 3, 2, 2, 1, 2, 3, 25, 11, 5, 18, 0}, + {"HO", -12, 14, 4, "HO2M04", 2, 7, 2, 1, 1, 1, 3, 25, 11, 5, 18, 0}, + {"HO", -12, 15, 4, "HO2M04", 2, 12, 2, 0, 1, 0, 3, 25, 11, 5, 18, 0}, + {"HO", -12, 16, 4, "HO2M04", 1, 12, 2, 0, 1, 0, 7, 26, 7, 6, 5, 0}, + {"HO", -12, 17, 4, "HO2M04", 1, 7, 2, 1, 1, 1, 7, 26, 7, 6, 5, 0}, + {"HO", -12, 18, 4, "HO2M04", 1, 3, 2, 2, 1, 2, 7, 26, 7, 6, 5, 0}, + {"HO", -12, 19, 4, "HO2M04", 3, 12, 2, 0, 1, 0, 7, 26, 7, 5, 5, 0}, + {"HO", -12, 20, 4, "HO2M04", 3, 7, 2, 1, 1, 1, 7, 26, 7, 5, 5, 0}, + {"HO", -12, 21, 4, "HO2M04", 3, 3, 2, 2, 1, 2, 7, 26, 7, 5, 5, 0}, + {"HO", -12, 22, 4, "HO2M06", 4, 3, 2, 2, 1, 2, 7, 27, 3, 6, 14, 0}, + {"HO", -12, 23, 4, "HO2M06", 4, 7, 2, 1, 1, 1, 7, 27, 3, 6, 14, 0}, + {"HO", -12, 24, 4, "HO2M06", 4, 12, 2, 0, 1, 0, 7, 27, 3, 6, 14, 0}, + {"HO", -12, 25, 4, "HO2M06", 2, 3, 2, 2, 1, 2, 7, 27, 3, 5, 14, 0}, + {"HO", -12, 26, 4, "HO2M06", 2, 7, 2, 1, 1, 1, 7, 27, 3, 5, 14, 0}, + {"HO", -12, 27, 4, "HO2M06", 2, 12, 2, 0, 1, 0, 7, 27, 3, 5, 14, 0}, + {"HO", -12, 28, 4, "HO2M06", 1, 12, 2, 0, 1, 0, 7, 27, 11, 6, 18, 0}, + {"HO", -12, 29, 4, "HO2M06", 1, 7, 2, 1, 1, 1, 7, 27, 11, 6, 18, 0}, + {"HO", -12, 30, 4, "HO2M06", 1, 3, 2, 2, 1, 2, 7, 27, 11, 6, 18, 0}, + {"HO", -12, 31, 4, "HO2M06", 3, 12, 2, 0, 1, 0, 7, 27, 11, 5, 18, 0}, + {"HO", -12, 32, 4, "HO2M06", 3, 7, 2, 1, 1, 1, 7, 27, 11, 5, 18, 0}, + {"HO", -12, 33, 4, "HO2M06", 3, 3, 2, 2, 1, 2, 7, 27, 11, 5, 18, 0}, + {"HO", -12, 34, 4, "HO2M08", 4, 3, 2, 2, 1, 2, 6, 28, 7, 6, 5, 0}, + {"HO", -12, 35, 4, "HO2M08", 4, 7, 2, 1, 1, 1, 6, 28, 7, 6, 5, 0}, + {"HO", -12, 36, 4, "HO2M08", 4, 12, 2, 0, 1, 0, 6, 28, 7, 6, 5, 0}, + {"HO", -12, 37, 4, "HO2M08", 2, 3, 2, 2, 1, 2, 6, 28, 7, 5, 5, 0}, + {"HO", -12, 38, 4, "HO2M08", 2, 7, 2, 1, 1, 1, 6, 28, 7, 5, 5, 0}, + {"HO", -12, 39, 4, "HO2M08", 2, 12, 2, 0, 1, 0, 6, 28, 7, 5, 5, 0}, + {"HO", -12, 40, 4, "HO2M08", 1, 12, 2, 0, 1, 0, 6, 29, 3, 6, 14, 0}, + {"HO", -12, 41, 4, "HO2M08", 1, 7, 2, 1, 1, 1, 6, 29, 3, 6, 14, 0}, + {"HO", -12, 42, 4, "HO2M08", 1, 3, 2, 2, 1, 2, 6, 29, 3, 6, 14, 0}, + {"HO", -12, 43, 4, "HO2M08", 3, 12, 2, 0, 1, 0, 6, 29, 3, 5, 14, 0}, + {"HO", -12, 44, 4, "HO2M08", 3, 7, 2, 1, 1, 1, 6, 29, 3, 5, 14, 0}, + {"HO", -12, 45, 4, "HO2M08", 3, 3, 2, 2, 1, 2, 6, 29, 3, 5, 14, 0}, + {"HO", -12, 46, 4, "HO2M10", 4, 3, 2, 2, 1, 2, 6, 29, 11, 6, 18, 0}, + {"HO", -12, 47, 4, "HO2M10", 4, 7, 2, 1, 1, 1, 6, 29, 11, 6, 18, 0}, + {"HO", -12, 48, 4, "HO2M10", 4, 12, 2, 0, 1, 0, 6, 29, 11, 6, 18, 0}, + {"HO", -12, 49, 4, "HO2M10", 2, 3, 2, 2, 1, 2, 6, 29, 11, 5, 18, 0}, + {"HO", -12, 50, 4, "HO2M10", 2, 7, 2, 1, 1, 1, 6, 29, 11, 5, 18, 0}, + {"HO", -12, 51, 4, "HO2M10", 2, 12, 2, 0, 1, 0, 6, 29, 11, 5, 18, 0}, + {"HO", -12, 52, 4, "HO2M10", 1, 12, 2, 0, 1, 0, 13, 30, 7, 6, 5, 0}, + {"HO", -12, 53, 4, "HO2M10", 1, 7, 2, 1, 1, 1, 13, 30, 7, 6, 5, 0}, + {"HO", -12, 54, 4, "HO2M10", 1, 3, 2, 2, 1, 2, 13, 30, 7, 6, 5, 0}, + {"HO", -12, 55, 4, "HO2M10", 3, 12, 2, 0, 1, 0, 13, 30, 7, 5, 5, 0}, + {"HO", -12, 56, 4, "HO2M10", 3, 7, 2, 1, 1, 1, 13, 30, 7, 5, 5, 0}, + {"HO", -12, 57, 4, "HO2M10", 3, 3, 2, 2, 1, 2, 13, 30, 7, 5, 5, 0}, + {"HO", -12, 58, 4, "HO2M12", 4, 3, 2, 2, 1, 2, 13, 31, 3, 6, 14, 0}, + {"HO", -12, 59, 4, "HO2M12", 4, 7, 2, 1, 1, 1, 13, 31, 3, 6, 14, 0}, + {"HO", -12, 60, 4, "HO2M12", 4, 12, 2, 0, 1, 0, 13, 31, 3, 6, 14, 0}, + {"HO", -12, 61, 4, "HO2M12", 2, 3, 2, 2, 1, 2, 13, 31, 3, 5, 14, 0}, + {"HO", -12, 62, 4, "HO2M12", 2, 7, 2, 1, 1, 1, 13, 31, 3, 5, 14, 0}, + {"HO", -12, 63, 4, "HO2M12", 2, 12, 2, 0, 1, 0, 13, 31, 3, 5, 14, 0}, + {"HO", -12, 64, 4, "HO2M12", 1, 12, 2, 0, 1, 0, 13, 31, 11, 6, 18, 0}, + {"HO", -12, 65, 4, "HO2M12", 1, 7, 2, 1, 1, 1, 13, 31, 11, 6, 18, 0}, + {"HO", -12, 66, 4, "HO2M12", 1, 3, 2, 2, 1, 2, 13, 31, 11, 6, 18, 0}, + {"HO", -12, 67, 4, "HO2M12", 3, 12, 2, 0, 1, 0, 13, 31, 11, 5, 18, 0}, + {"HO", -12, 68, 4, "HO2M12", 3, 7, 2, 1, 1, 1, 13, 31, 11, 5, 18, 0}, + {"HO", -12, 69, 4, "HO2M12", 3, 3, 2, 2, 1, 2, 13, 31, 11, 5, 18, 0}, + {"HO", -12, 70, 4, "HO2M02", 4, 3, 2, 2, 1, 2, 3, 24, 7, 6, 5, 0}, + {"HO", -12, 71, 4, "HO2M02", 4, 7, 2, 1, 1, 1, 3, 24, 7, 6, 5, 0}, + {"HO", -11, 0, 4, "HO2M02", 4, 1, 3, 2, 1, 3, 3, 24, 7, 4, 5, 0}, + {"HO", -11, 1, 4, "HO2M02", 2, 8, 3, 1, 1, 5, 3, 24, 7, 3, 5, 0}, + {"HO", -11, 2, 4, "HO2M02", 2, 4, 3, 0, 1, 4, 3, 24, 7, 3, 5, 0}, + {"HO", -11, 3, 4, "HO2M02", 2, 1, 3, 2, 1, 3, 3, 24, 7, 3, 5, 0}, + {"HO", -11, 4, 4, "HO2M02", 1, 1, 3, 2, 1, 3, 3, 25, 3, 4, 14, 0}, + {"HO", -11, 5, 4, "HO2M02", 1, 4, 3, 0, 1, 4, 3, 25, 3, 4, 14, 0}, + {"HO", -11, 6, 4, "HO2M02", 1, 8, 3, 1, 1, 5, 3, 25, 3, 4, 14, 0}, + {"HO", -11, 7, 4, "HO2M02", 3, 1, 3, 2, 1, 3, 3, 25, 3, 3, 14, 0}, + {"HO", -11, 8, 4, "HO2M02", 3, 4, 3, 0, 1, 4, 3, 25, 3, 3, 14, 0}, + {"HO", -11, 9, 4, "HO2M02", 3, 8, 3, 1, 1, 5, 3, 25, 3, 3, 14, 0}, + {"HO", -11, 10, 4, "HO2M04", 4, 8, 3, 1, 1, 5, 3, 25, 11, 4, 18, 0}, + {"HO", -11, 11, 4, "HO2M04", 4, 4, 3, 0, 1, 4, 3, 25, 11, 4, 18, 0}, + {"HO", -11, 12, 4, "HO2M04", 4, 1, 3, 2, 1, 3, 3, 25, 11, 4, 18, 0}, + {"HO", -11, 13, 4, "HO2M04", 2, 8, 3, 1, 1, 5, 3, 25, 11, 3, 18, 0}, + {"HO", -11, 14, 4, "HO2M04", 2, 4, 3, 0, 1, 4, 3, 25, 11, 3, 18, 0}, + {"HO", -11, 15, 4, "HO2M04", 2, 1, 3, 2, 1, 3, 3, 25, 11, 3, 18, 0}, + {"HO", -11, 16, 4, "HO2M04", 1, 1, 3, 2, 1, 3, 7, 26, 7, 4, 5, 0}, + {"HO", -11, 17, 4, "HO2M04", 1, 4, 3, 0, 1, 4, 7, 26, 7, 4, 5, 0}, + {"HO", -11, 18, 4, "HO2M04", 1, 8, 3, 1, 1, 5, 7, 26, 7, 4, 5, 0}, + {"HO", -11, 19, 4, "HO2M04", 3, 1, 3, 2, 1, 3, 7, 26, 7, 3, 5, 0}, + {"HO", -11, 20, 4, "HO2M04", 3, 4, 3, 0, 1, 4, 7, 26, 7, 3, 5, 0}, + {"HO", -11, 21, 4, "HO2M04", 3, 8, 3, 1, 1, 5, 7, 26, 7, 3, 5, 0}, + {"HO", -11, 22, 4, "HO2M06", 4, 8, 3, 1, 1, 5, 7, 27, 3, 4, 14, 0}, + {"HO", -11, 23, 4, "HO2M06", 4, 4, 3, 0, 1, 4, 7, 27, 3, 4, 14, 0}, + {"HO", -11, 24, 4, "HO2M06", 4, 1, 3, 2, 1, 3, 7, 27, 3, 4, 14, 0}, + {"HO", -11, 25, 4, "HO2M06", 2, 8, 3, 1, 1, 5, 7, 27, 3, 3, 14, 0}, + {"HO", -11, 26, 4, "HO2M06", 2, 4, 3, 0, 1, 4, 7, 27, 3, 3, 14, 0}, + {"HO", -11, 27, 4, "HO2M06", 2, 1, 3, 2, 1, 3, 7, 27, 3, 3, 14, 0}, + {"HO", -11, 28, 4, "HO2M06", 1, 1, 3, 2, 1, 3, 7, 27, 11, 4, 18, 0}, + {"HO", -11, 29, 4, "HO2M06", 1, 4, 3, 0, 1, 4, 7, 27, 11, 4, 18, 0}, + {"HO", -11, 30, 4, "HO2M06", 1, 8, 3, 1, 1, 5, 7, 27, 11, 4, 18, 0}, + {"HO", -11, 31, 4, "HO2M06", 3, 1, 3, 2, 1, 3, 7, 27, 11, 3, 18, 0}, + {"HO", -11, 32, 4, "HO2M06", 3, 4, 3, 0, 1, 4, 7, 27, 11, 3, 18, 0}, + {"HO", -11, 33, 4, "HO2M06", 3, 8, 3, 1, 1, 5, 7, 27, 11, 3, 18, 0}, + {"HO", -11, 34, 4, "HO2M08", 4, 8, 3, 1, 1, 5, 6, 28, 7, 4, 5, 0}, + {"HO", -11, 35, 4, "HO2M08", 4, 4, 3, 0, 1, 4, 6, 28, 7, 4, 5, 0}, + {"HO", -11, 36, 4, "HO2M08", 4, 1, 3, 2, 1, 3, 6, 28, 7, 4, 5, 0}, + {"HO", -11, 37, 4, "HO2M08", 2, 8, 3, 1, 1, 5, 6, 28, 7, 3, 5, 0}, + {"HO", -11, 38, 4, "HO2M08", 2, 4, 3, 0, 1, 4, 6, 28, 7, 3, 5, 0}, + {"HO", -11, 39, 4, "HO2M08", 2, 1, 3, 2, 1, 3, 6, 28, 7, 3, 5, 0}, + {"HO", -11, 40, 4, "HO2M08", 1, 1, 3, 2, 1, 3, 6, 29, 3, 4, 14, 0}, + {"HO", -11, 41, 4, "HO2M08", 1, 4, 3, 0, 1, 4, 6, 29, 3, 4, 14, 0}, + {"HO", -11, 42, 4, "HO2M08", 1, 8, 3, 1, 1, 5, 6, 29, 3, 4, 14, 0}, + {"HO", -11, 43, 4, "HO2M08", 3, 1, 3, 2, 1, 3, 6, 29, 3, 3, 14, 0}, + {"HO", -11, 44, 4, "HO2M08", 3, 4, 3, 0, 1, 4, 6, 29, 3, 3, 14, 0}, + {"HO", -11, 45, 4, "HO2M08", 3, 8, 3, 1, 1, 5, 6, 29, 3, 3, 14, 0}, + {"HO", -11, 46, 4, "HO2M10", 4, 8, 3, 1, 1, 5, 6, 29, 11, 4, 18, 0}, + {"HO", -11, 47, 4, "HO2M10", 4, 4, 3, 0, 1, 4, 6, 29, 11, 4, 18, 0}, + {"HO", -11, 48, 4, "HO2M10", 4, 1, 3, 2, 1, 3, 6, 29, 11, 4, 18, 0}, + {"HO", -11, 49, 4, "HO2M10", 2, 8, 3, 1, 1, 5, 6, 29, 11, 3, 18, 0}, + {"HO", -11, 50, 4, "HO2M10", 2, 4, 3, 0, 1, 4, 6, 29, 11, 3, 18, 0}, + {"HO", -11, 51, 4, "HO2M10", 2, 1, 3, 2, 1, 3, 6, 29, 11, 3, 18, 0}, + {"HO", -11, 52, 4, "HO2M10", 1, 1, 3, 2, 1, 3, 13, 30, 7, 4, 5, 0}, + {"HO", -11, 53, 4, "HO2M10", 1, 4, 3, 0, 1, 4, 13, 30, 7, 4, 5, 0}, + {"HO", -11, 54, 4, "HO2M10", 1, 8, 3, 1, 1, 5, 13, 30, 7, 4, 5, 0}, + {"HO", -11, 55, 4, "HO2M10", 3, 1, 3, 2, 1, 3, 13, 30, 7, 3, 5, 0}, + {"HO", -11, 56, 4, "HO2M10", 3, 4, 3, 0, 1, 4, 13, 30, 7, 3, 5, 0}, + {"HO", -11, 57, 4, "HO2M10", 3, 8, 3, 1, 1, 5, 13, 30, 7, 3, 5, 0}, + {"HO", -11, 58, 4, "HO2M12", 4, 8, 3, 1, 1, 5, 13, 31, 3, 4, 14, 0}, + {"HO", -11, 59, 4, "HO2M12", 4, 4, 3, 0, 1, 4, 13, 31, 3, 4, 14, 0}, + {"HO", -11, 60, 4, "HO2M12", 4, 1, 3, 2, 1, 3, 13, 31, 3, 4, 14, 0}, + {"HO", -11, 61, 4, "HO2M12", 2, 8, 3, 1, 1, 5, 13, 31, 3, 3, 14, 0}, + {"HO", -11, 62, 4, "HO2M12", 2, 4, 3, 0, 1, 4, 13, 31, 3, 3, 14, 0}, + {"HO", -11, 63, 4, "HO2M12", 2, 1, 3, 2, 1, 3, 13, 31, 3, 3, 14, 0}, + {"HO", -11, 64, 4, "HO2M12", 1, 1, 3, 2, 1, 3, 13, 31, 11, 4, 18, 0}, + {"HO", -11, 65, 4, "HO2M12", 1, 4, 3, 0, 1, 4, 13, 31, 11, 4, 18, 0}, + {"HO", -11, 66, 4, "HO2M12", 1, 8, 3, 1, 1, 5, 13, 31, 11, 4, 18, 0}, + {"HO", -11, 67, 4, "HO2M12", 3, 1, 3, 2, 1, 3, 13, 31, 11, 3, 18, 0}, + {"HO", -11, 68, 4, "HO2M12", 3, 4, 3, 0, 1, 4, 13, 31, 11, 3, 18, 0}, + {"HO", -11, 69, 4, "HO2M12", 3, 8, 3, 1, 1, 5, 13, 31, 11, 3, 18, 0}, + {"HO", -11, 70, 4, "HO2M02", 4, 8, 3, 1, 1, 5, 3, 24, 7, 4, 5, 0}, + {"HO", -11, 71, 4, "HO2M02", 4, 4, 3, 0, 1, 4, 3, 24, 7, 4, 5, 0}, + {"HO", -10, 0, 4, "HO1M02", 2, 19, 6, 0, 3, 0, 3, 24, 7, 2, 5, 0}, + {"HO", -10, 1, 4, "HO1M02", 4, 17, 6, 2, 3, 2, 3, 24, 7, 1, 5, 0}, + {"HO", -10, 2, 4, "HO1M02", 4, 18, 6, 1, 3, 1, 3, 24, 7, 1, 5, 0}, + {"HO", -10, 3, 4, "HO1M02", 4, 19, 6, 0, 3, 0, 3, 24, 7, 1, 5, 0}, + {"HO", -10, 4, 4, "HO1M02", 3, 19, 6, 0, 3, 0, 3, 25, 3, 2, 14, 0}, + {"HO", -10, 5, 4, "HO1M02", 3, 18, 6, 1, 3, 1, 3, 25, 3, 2, 14, 0}, + {"HO", -10, 6, 4, "HO1M02", 3, 17, 6, 2, 3, 2, 3, 25, 3, 2, 14, 0}, + {"HO", -10, 7, 4, "HO1M02", 1, 19, 6, 0, 3, 0, 3, 25, 3, 1, 14, 0}, + {"HO", -10, 8, 4, "HO1M02", 1, 18, 6, 1, 3, 1, 3, 25, 3, 1, 14, 0}, + {"HO", -10, 9, 4, "HO1M02", 1, 17, 6, 2, 3, 2, 3, 25, 3, 1, 14, 0}, + {"HO", -10, 10, 4, "HO1M04", 2, 17, 6, 2, 3, 2, 3, 25, 11, 2, 18, 0}, + {"HO", -10, 11, 4, "HO1M04", 2, 18, 6, 1, 3, 1, 3, 25, 11, 2, 18, 0}, + {"HO", -10, 12, 4, "HO1M04", 2, 19, 6, 0, 3, 0, 3, 25, 11, 2, 18, 0}, + {"HO", -10, 13, 4, "HO1M04", 4, 17, 6, 2, 3, 2, 3, 25, 11, 1, 18, 0}, + {"HO", -10, 14, 4, "HO1M04", 4, 18, 6, 1, 3, 1, 3, 25, 11, 1, 18, 0}, + {"HO", -10, 15, 4, "HO1M04", 4, 19, 6, 0, 3, 0, 3, 25, 11, 1, 18, 0}, + {"HO", -10, 16, 4, "HO1M04", 3, 19, 6, 0, 3, 0, 7, 26, 7, 2, 5, 0}, + {"HO", -10, 17, 4, "HO1M04", 3, 18, 6, 1, 3, 1, 7, 26, 7, 2, 5, 0}, + {"HO", -10, 18, 4, "HO1M04", 3, 17, 6, 2, 3, 2, 7, 26, 7, 2, 5, 0}, + {"HO", -10, 19, 4, "HO1M04", 1, 19, 6, 0, 3, 0, 7, 26, 7, 1, 5, 0}, + {"HO", -10, 20, 4, "HO1M04", 1, 18, 6, 1, 3, 1, 7, 26, 7, 1, 5, 0}, + {"HO", -10, 21, 4, "HO1M04", 1, 17, 6, 2, 3, 2, 7, 26, 7, 1, 5, 0}, + {"HO", -10, 22, 4, "HO1M06", 2, 17, 6, 2, 3, 2, 7, 27, 3, 2, 14, 0}, + {"HO", -10, 23, 4, "HO1M06", 2, 18, 6, 1, 3, 1, 7, 27, 3, 2, 14, 0}, + {"HO", -10, 24, 4, "HO1M06", 2, 19, 6, 0, 3, 0, 7, 27, 3, 2, 14, 0}, + {"HO", -10, 25, 4, "HO1M06", 4, 17, 6, 2, 3, 2, 7, 27, 3, 1, 14, 0}, + {"HO", -10, 26, 4, "HO1M06", 4, 18, 6, 1, 3, 1, 7, 27, 3, 1, 14, 0}, + {"HO", -10, 27, 4, "HO1M06", 4, 19, 6, 0, 3, 0, 7, 27, 3, 1, 14, 0}, + {"HO", -10, 28, 4, "HO1M06", 3, 19, 6, 0, 3, 0, 7, 27, 11, 2, 18, 0}, + {"HO", -10, 29, 4, "HO1M06", 3, 18, 6, 1, 3, 1, 7, 27, 11, 2, 18, 0}, + {"HO", -10, 30, 4, "HO1M06", 3, 17, 6, 2, 3, 2, 7, 27, 11, 2, 18, 0}, + {"HO", -10, 31, 4, "HO1M06", 1, 19, 6, 0, 3, 0, 7, 27, 11, 1, 18, 0}, + {"HO", -10, 32, 4, "HO1M06", 1, 18, 6, 1, 3, 1, 7, 27, 11, 1, 18, 0}, + {"HO", -10, 33, 4, "HO1M06", 1, 17, 6, 2, 3, 2, 7, 27, 11, 1, 18, 0}, + {"HO", -10, 34, 4, "HO1M08", 2, 17, 6, 2, 3, 2, 6, 28, 7, 2, 5, 0}, + {"HO", -10, 35, 4, "HO1M08", 2, 18, 6, 1, 3, 1, 6, 28, 7, 2, 5, 0}, + {"HO", -10, 36, 4, "HO1M08", 2, 19, 6, 0, 3, 0, 6, 28, 7, 2, 5, 0}, + {"HO", -10, 37, 4, "HO1M08", 4, 17, 6, 2, 3, 2, 6, 28, 7, 1, 5, 0}, + {"HO", -10, 38, 4, "HO1M08", 4, 18, 6, 1, 3, 1, 6, 28, 7, 1, 5, 0}, + {"HO", -10, 39, 4, "HO1M08", 4, 19, 6, 0, 3, 0, 6, 28, 7, 1, 5, 0}, + {"HO", -10, 40, 4, "HO1M08", 3, 19, 6, 0, 3, 0, 6, 29, 3, 2, 14, 0}, + {"HO", -10, 41, 4, "HO1M08", 3, 18, 6, 1, 3, 1, 6, 29, 3, 2, 14, 0}, + {"HO", -10, 42, 4, "HO1M08", 3, 17, 6, 2, 3, 2, 6, 29, 3, 2, 14, 0}, + {"HO", -10, 43, 4, "HO1M08", 1, 19, 6, 0, 3, 0, 6, 29, 3, 1, 14, 0}, + {"HO", -10, 44, 4, "HO1M08", 1, 18, 6, 1, 3, 1, 6, 29, 3, 1, 14, 0}, + {"HO", -10, 45, 4, "HO1M08", 1, 17, 6, 2, 3, 2, 6, 29, 3, 1, 14, 0}, + {"HO", -10, 46, 4, "HO1M10", 2, 17, 6, 2, 3, 2, 6, 29, 11, 2, 18, 0}, + {"HO", -10, 47, 4, "HO1M10", 2, 18, 6, 1, 3, 1, 6, 29, 11, 2, 18, 0}, + {"HO", -10, 48, 4, "HO1M10", 2, 19, 6, 0, 3, 0, 6, 29, 11, 2, 18, 0}, + {"HO", -10, 49, 4, "HO1M10", 4, 17, 6, 2, 3, 2, 6, 29, 11, 1, 18, 0}, + {"HO", -10, 50, 4, "HO1M10", 4, 18, 6, 1, 3, 1, 6, 29, 11, 1, 18, 0}, + {"HO", -10, 51, 4, "HO1M10", 4, 19, 6, 0, 3, 0, 6, 29, 11, 1, 18, 0}, + {"HO", -10, 52, 4, "HO1M10", 3, 19, 6, 0, 3, 0, 13, 30, 7, 2, 5, 0}, + {"HO", -10, 53, 4, "HO1M10", 3, 18, 6, 1, 3, 1, 13, 30, 7, 2, 5, 0}, + {"HO", -10, 54, 4, "HO1M10", 3, 17, 6, 2, 3, 2, 13, 30, 7, 2, 5, 0}, + {"HO", -10, 55, 4, "HO1M10", 1, 19, 6, 0, 3, 0, 13, 30, 7, 1, 5, 0}, + {"HO", -10, 56, 4, "HO1M10", 1, 18, 6, 1, 3, 1, 13, 30, 7, 1, 5, 0}, + {"HO", -10, 57, 4, "HO1M10", 1, 17, 6, 2, 3, 2, 13, 30, 7, 1, 5, 0}, + {"HO", -10, 58, 4, "HO1M12", 2, 17, 6, 2, 3, 2, 13, 31, 3, 2, 14, 0}, + {"HO", -10, 59, 4, "HO1M12", 2, 18, 6, 1, 3, 1, 13, 31, 3, 2, 14, 0}, + {"HO", -10, 60, 4, "HO1M12", 2, 19, 6, 0, 3, 0, 13, 31, 3, 2, 14, 0}, + {"HO", -10, 61, 4, "HO1M12", 4, 17, 6, 2, 3, 2, 13, 31, 3, 1, 14, 0}, + {"HO", -10, 62, 4, "HO1M12", 4, 18, 6, 1, 3, 1, 13, 31, 3, 1, 14, 0}, + {"HO", -10, 63, 4, "HO1M12", 4, 19, 6, 0, 3, 0, 13, 31, 3, 1, 14, 0}, + {"HO", -10, 64, 4, "HO1M12", 3, 19, 6, 0, 3, 0, 13, 31, 11, 2, 18, 0}, + {"HO", -10, 65, 4, "HO1M12", 3, 18, 6, 1, 3, 1, 13, 31, 11, 2, 18, 0}, + {"HO", -10, 66, 4, "HO1M12", 3, 17, 6, 2, 3, 2, 13, 31, 11, 2, 18, 0}, + {"HO", -10, 67, 4, "HO1M12", 1, 19, 6, 0, 3, 0, 13, 31, 11, 1, 18, 0}, + {"HO", -10, 68, 4, "HO1M12", 1, 18, 6, 1, 3, 1, 13, 31, 11, 1, 18, 0}, + {"HO", -10, 69, 4, "HO1M12", 1, 17, 6, 2, 3, 2, 13, 31, 11, 1, 18, 0}, + {"HO", -10, 70, 4, "HO1M02", 2, 17, 6, 2, 3, 2, 3, 24, 7, 2, 5, 0}, + {"HO", -10, 71, 4, "HO1M02", 2, 18, 6, 1, 3, 1, 3, 24, 7, 2, 5, 0}, + {"HO", -9, 0, 4, "HO1M02", 2, 16, 7, 2, 3, 3, 3, 24, 6, 8, 5, 1}, + {"HO", -9, 1, 4, "HO1M02", 4, 14, 7, 1, 3, 5, 3, 24, 6, 7, 5, 1}, + {"HO", -9, 2, 4, "HO1M02", 4, 15, 7, 0, 3, 4, 3, 24, 6, 7, 5, 1}, + {"HO", -9, 3, 4, "HO1M02", 4, 16, 7, 2, 3, 3, 3, 24, 6, 7, 5, 1}, + {"HO", -9, 4, 4, "HO1M02", 3, 16, 7, 2, 3, 3, 3, 25, 2, 8, 14, 1}, + {"HO", -9, 5, 4, "HO1M02", 3, 15, 7, 0, 3, 4, 3, 25, 2, 8, 14, 1}, + {"HO", -9, 6, 4, "HO1M02", 3, 14, 7, 1, 3, 5, 3, 25, 2, 8, 14, 1}, + {"HO", -9, 7, 4, "HO1M02", 1, 16, 7, 2, 3, 3, 3, 25, 2, 7, 14, 1}, + {"HO", -9, 8, 4, "HO1M02", 1, 15, 7, 0, 3, 4, 3, 25, 2, 7, 14, 1}, + {"HO", -9, 9, 4, "HO1M02", 1, 14, 7, 1, 3, 5, 3, 25, 2, 7, 14, 1}, + {"HO", -9, 10, 4, "HO1M04", 2, 14, 7, 1, 3, 5, 3, 25, 10, 8, 18, 1}, + {"HO", -9, 11, 4, "HO1M04", 2, 15, 7, 0, 3, 4, 3, 25, 10, 8, 18, 1}, + {"HO", -9, 12, 4, "HO1M04", 2, 16, 7, 2, 3, 3, 3, 25, 10, 8, 18, 1}, + {"HO", -9, 13, 4, "HO1M04", 4, 14, 7, 1, 3, 5, 3, 25, 10, 7, 18, 1}, + {"HO", -9, 14, 4, "HO1M04", 4, 15, 7, 0, 3, 4, 3, 25, 10, 7, 18, 1}, + {"HO", -9, 15, 4, "HO1M04", 4, 16, 7, 2, 3, 3, 3, 25, 10, 7, 18, 1}, + {"HO", -9, 16, 4, "HO1M04", 3, 16, 7, 2, 3, 3, 7, 26, 6, 8, 5, 1}, + {"HO", -9, 17, 4, "HO1M04", 3, 15, 7, 0, 3, 4, 7, 26, 6, 8, 5, 1}, + {"HO", -9, 18, 4, "HO1M04", 3, 14, 7, 1, 3, 5, 7, 26, 6, 8, 5, 1}, + {"HO", -9, 19, 4, "HO1M04", 1, 16, 7, 2, 3, 3, 7, 26, 6, 7, 5, 1}, + {"HO", -9, 20, 4, "HO1M04", 1, 15, 7, 0, 3, 4, 7, 26, 6, 7, 5, 1}, + {"HO", -9, 21, 4, "HO1M04", 1, 14, 7, 1, 3, 5, 7, 26, 6, 7, 5, 1}, + {"HO", -9, 22, 4, "HO1M06", 2, 14, 7, 1, 3, 5, 7, 27, 2, 8, 14, 1}, + {"HO", -9, 23, 4, "HO1M06", 2, 15, 7, 0, 3, 4, 7, 27, 2, 8, 14, 1}, + {"HO", -9, 24, 4, "HO1M06", 2, 16, 7, 2, 3, 3, 7, 27, 2, 8, 14, 1}, + {"HO", -9, 25, 4, "HO1M06", 4, 14, 7, 1, 3, 5, 7, 27, 2, 7, 14, 1}, + {"HO", -9, 26, 4, "HO1M06", 4, 15, 7, 0, 3, 4, 7, 27, 2, 7, 14, 1}, + {"HO", -9, 27, 4, "HO1M06", 4, 16, 7, 2, 3, 3, 7, 27, 2, 7, 14, 1}, + {"HO", -9, 28, 4, "HO1M06", 3, 16, 7, 2, 3, 3, 7, 27, 10, 8, 18, 1}, + {"HO", -9, 29, 4, "HO1M06", 3, 15, 7, 0, 3, 4, 7, 27, 10, 8, 18, 1}, + {"HO", -9, 30, 4, "HO1M06", 3, 14, 7, 1, 3, 5, 7, 27, 10, 8, 18, 1}, + {"HO", -9, 31, 4, "HO1M06", 1, 16, 7, 2, 3, 3, 7, 27, 10, 7, 18, 1}, + {"HO", -9, 32, 4, "HO1M06", 1, 15, 7, 0, 3, 4, 7, 27, 10, 7, 18, 1}, + {"HO", -9, 33, 4, "HO1M06", 1, 14, 7, 1, 3, 5, 7, 27, 10, 7, 18, 1}, + {"HO", -9, 34, 4, "HO1M08", 2, 14, 7, 1, 3, 5, 6, 28, 6, 8, 5, 1}, + {"HO", -9, 35, 4, "HO1M08", 2, 15, 7, 0, 3, 4, 6, 28, 6, 8, 5, 1}, + {"HO", -9, 36, 4, "HO1M08", 2, 16, 7, 2, 3, 3, 6, 28, 6, 8, 5, 1}, + {"HO", -9, 37, 4, "HO1M08", 4, 14, 7, 1, 3, 5, 6, 28, 6, 7, 5, 1}, + {"HO", -9, 38, 4, "HO1M08", 4, 15, 7, 0, 3, 4, 6, 28, 6, 7, 5, 1}, + {"HO", -9, 39, 4, "HO1M08", 4, 16, 7, 2, 3, 3, 6, 28, 6, 7, 5, 1}, + {"HO", -9, 40, 4, "HO1M08", 3, 16, 7, 2, 3, 3, 6, 29, 2, 8, 14, 1}, + {"HO", -9, 41, 4, "HO1M08", 3, 15, 7, 0, 3, 4, 6, 29, 2, 8, 14, 1}, + {"HO", -9, 42, 4, "HO1M08", 3, 14, 7, 1, 3, 5, 6, 29, 2, 8, 14, 1}, + {"HO", -9, 43, 4, "HO1M08", 1, 16, 7, 2, 3, 3, 6, 29, 2, 7, 14, 1}, + {"HO", -9, 44, 4, "HO1M08", 1, 15, 7, 0, 3, 4, 6, 29, 2, 7, 14, 1}, + {"HO", -9, 45, 4, "HO1M08", 1, 14, 7, 1, 3, 5, 6, 29, 2, 7, 14, 1}, + {"HO", -9, 46, 4, "HO1M10", 2, 14, 7, 1, 3, 5, 6, 29, 10, 8, 18, 1}, + {"HO", -9, 47, 4, "HO1M10", 2, 15, 7, 0, 3, 4, 6, 29, 10, 8, 18, 1}, + {"HO", -9, 48, 4, "HO1M10", 2, 16, 7, 2, 3, 3, 6, 29, 10, 8, 18, 1}, + {"HO", -9, 49, 4, "HO1M10", 4, 14, 7, 1, 3, 5, 6, 29, 10, 7, 18, 1}, + {"HO", -9, 50, 4, "HO1M10", 4, 15, 7, 0, 3, 4, 6, 29, 10, 7, 18, 1}, + {"HO", -9, 51, 4, "HO1M10", 4, 16, 7, 2, 3, 3, 6, 29, 10, 7, 18, 1}, + {"HO", -9, 52, 4, "HO1M10", 3, 16, 7, 2, 3, 3, 13, 30, 6, 8, 5, 1}, + {"HO", -9, 53, 4, "HO1M10", 3, 15, 7, 0, 3, 4, 13, 30, 6, 8, 5, 1}, + {"HO", -9, 54, 4, "HO1M10", 3, 14, 7, 1, 3, 5, 13, 30, 6, 8, 5, 1}, + {"HO", -9, 55, 4, "HO1M10", 1, 16, 7, 2, 3, 3, 13, 30, 6, 7, 5, 1}, + {"HO", -9, 56, 4, "HO1M10", 1, 15, 7, 0, 3, 4, 13, 30, 6, 7, 5, 1}, + {"HO", -9, 57, 4, "HO1M10", 1, 14, 7, 1, 3, 5, 13, 30, 6, 7, 5, 1}, + {"HO", -9, 58, 4, "HO1M12", 2, 14, 7, 1, 3, 5, 13, 31, 2, 8, 14, 1}, + {"HO", -9, 59, 4, "HO1M12", 2, 15, 7, 0, 3, 4, 13, 31, 2, 8, 14, 1}, + {"HO", -9, 60, 4, "HO1M12", 2, 16, 7, 2, 3, 3, 13, 31, 2, 8, 14, 1}, + {"HO", -9, 61, 4, "HO1M12", 4, 14, 7, 1, 3, 5, 13, 31, 2, 7, 14, 1}, + {"HO", -9, 62, 4, "HO1M12", 4, 15, 7, 0, 3, 4, 13, 31, 2, 7, 14, 1}, + {"HO", -9, 63, 4, "HO1M12", 4, 16, 7, 2, 3, 3, 13, 31, 2, 7, 14, 1}, + {"HO", -9, 64, 4, "HO1M12", 3, 16, 7, 2, 3, 3, 13, 31, 10, 8, 18, 1}, + {"HO", -9, 65, 4, "HO1M12", 3, 15, 7, 0, 3, 4, 13, 31, 10, 8, 18, 1}, + {"HO", -9, 66, 4, "HO1M12", 3, 14, 7, 1, 3, 5, 13, 31, 10, 8, 18, 1}, + {"HO", -9, 67, 4, "HO1M12", 1, 16, 7, 2, 3, 3, 13, 31, 10, 7, 18, 1}, + {"HO", -9, 68, 4, "HO1M12", 1, 15, 7, 0, 3, 4, 13, 31, 10, 7, 18, 1}, + {"HO", -9, 69, 4, "HO1M12", 1, 14, 7, 1, 3, 5, 13, 31, 10, 7, 18, 1}, + {"HO", -9, 70, 4, "HO1M02", 2, 14, 7, 1, 3, 5, 3, 24, 6, 8, 5, 1}, + {"HO", -9, 71, 4, "HO1M02", 2, 15, 7, 0, 3, 4, 3, 24, 6, 8, 5, 1}, + {"HO", -8, 0, 4, "HO1M02", 2, 11, 4, 0, 2, 0, 3, 24, 6, 6, 5, 1}, + {"HO", -8, 1, 4, "HO1M02", 4, 2, 4, 2, 2, 2, 3, 24, 6, 5, 5, 1}, + {"HO", -8, 2, 4, "HO1M02", 4, 6, 4, 1, 2, 1, 3, 24, 6, 5, 5, 1}, + {"HO", -8, 3, 4, "HO1M02", 4, 11, 4, 0, 2, 0, 3, 24, 6, 5, 5, 1}, + {"HO", -8, 4, 4, "HO1M02", 3, 11, 4, 0, 2, 0, 3, 25, 2, 6, 14, 1}, + {"HO", -8, 5, 4, "HO1M02", 3, 6, 4, 1, 2, 1, 3, 25, 2, 6, 14, 1}, + {"HO", -8, 6, 4, "HO1M02", 3, 2, 4, 2, 2, 2, 3, 25, 2, 6, 14, 1}, + {"HO", -8, 7, 4, "HO1M02", 1, 11, 4, 0, 2, 0, 3, 25, 2, 5, 14, 1}, + {"HO", -8, 8, 4, "HO1M02", 1, 6, 4, 1, 2, 1, 3, 25, 2, 5, 14, 1}, + {"HO", -8, 9, 4, "HO1M02", 1, 2, 4, 2, 2, 2, 3, 25, 2, 5, 14, 1}, + {"HO", -8, 10, 4, "HO1M04", 2, 2, 4, 2, 2, 2, 3, 25, 10, 6, 18, 1}, + {"HO", -8, 11, 4, "HO1M04", 2, 6, 4, 1, 2, 1, 3, 25, 10, 6, 18, 1}, + {"HO", -8, 12, 4, "HO1M04", 2, 11, 4, 0, 2, 0, 3, 25, 10, 6, 18, 1}, + {"HO", -8, 13, 4, "HO1M04", 4, 2, 4, 2, 2, 2, 3, 25, 10, 5, 18, 1}, + {"HO", -8, 14, 4, "HO1M04", 4, 6, 4, 1, 2, 1, 3, 25, 10, 5, 18, 1}, + {"HO", -8, 15, 4, "HO1M04", 4, 11, 4, 0, 2, 0, 3, 25, 10, 5, 18, 1}, + {"HO", -8, 16, 4, "HO1M04", 3, 11, 4, 0, 2, 0, 7, 26, 6, 6, 5, 1}, + {"HO", -8, 17, 4, "HO1M04", 3, 6, 4, 1, 2, 1, 7, 26, 6, 6, 5, 1}, + {"HO", -8, 18, 4, "HO1M04", 3, 2, 4, 2, 2, 2, 7, 26, 6, 6, 5, 1}, + {"HO", -8, 19, 4, "HO1M04", 1, 11, 4, 0, 2, 0, 7, 26, 6, 5, 5, 1}, + {"HO", -8, 20, 4, "HO1M04", 1, 6, 4, 1, 2, 1, 7, 26, 6, 5, 5, 1}, + {"HO", -8, 21, 4, "HO1M04", 1, 2, 4, 2, 2, 2, 7, 26, 6, 5, 5, 1}, + {"HO", -8, 22, 4, "HO1M06", 2, 2, 4, 2, 2, 2, 7, 27, 2, 6, 14, 1}, + {"HO", -8, 23, 4, "HO1M06", 2, 6, 4, 1, 2, 1, 7, 27, 2, 6, 14, 1}, + {"HO", -8, 24, 4, "HO1M06", 2, 11, 4, 0, 2, 0, 7, 27, 2, 6, 14, 1}, + {"HO", -8, 25, 4, "HO1M06", 4, 2, 4, 2, 2, 2, 7, 27, 2, 5, 14, 1}, + {"HO", -8, 26, 4, "HO1M06", 4, 6, 4, 1, 2, 1, 7, 27, 2, 5, 14, 1}, + {"HO", -8, 27, 4, "HO1M06", 4, 11, 4, 0, 2, 0, 7, 27, 2, 5, 14, 1}, + {"HO", -8, 28, 4, "HO1M06", 3, 11, 4, 0, 2, 0, 7, 27, 10, 6, 18, 1}, + {"HO", -8, 29, 4, "HO1M06", 3, 6, 4, 1, 2, 1, 7, 27, 10, 6, 18, 1}, + {"HO", -8, 30, 4, "HO1M06", 3, 2, 4, 2, 2, 2, 7, 27, 10, 6, 18, 1}, + {"HO", -8, 31, 4, "HO1M06", 1, 11, 4, 0, 2, 0, 7, 27, 10, 5, 18, 1}, + {"HO", -8, 32, 4, "HO1M06", 1, 6, 4, 1, 2, 1, 7, 27, 10, 5, 18, 1}, + {"HO", -8, 33, 4, "HO1M06", 1, 2, 4, 2, 2, 2, 7, 27, 10, 5, 18, 1}, + {"HO", -8, 34, 4, "HO1M08", 2, 2, 4, 2, 2, 2, 6, 28, 6, 6, 5, 1}, + {"HO", -8, 35, 4, "HO1M08", 2, 6, 4, 1, 2, 1, 6, 28, 6, 6, 5, 1}, + {"HO", -8, 36, 4, "HO1M08", 2, 11, 4, 0, 2, 0, 6, 28, 6, 6, 5, 1}, + {"HO", -8, 37, 4, "HO1M08", 4, 2, 4, 2, 2, 2, 6, 28, 6, 5, 5, 1}, + {"HO", -8, 38, 4, "HO1M08", 4, 6, 4, 1, 2, 1, 6, 28, 6, 5, 5, 1}, + {"HO", -8, 39, 4, "HO1M08", 4, 11, 4, 0, 2, 0, 6, 28, 6, 5, 5, 1}, + {"HO", -8, 40, 4, "HO1M08", 3, 11, 4, 0, 2, 0, 6, 29, 2, 6, 14, 1}, + {"HO", -8, 41, 4, "HO1M08", 3, 6, 4, 1, 2, 1, 6, 29, 2, 6, 14, 1}, + {"HO", -8, 42, 4, "HO1M08", 3, 2, 4, 2, 2, 2, 6, 29, 2, 6, 14, 1}, + {"HO", -8, 43, 4, "HO1M08", 1, 11, 4, 0, 2, 0, 6, 29, 2, 5, 14, 1}, + {"HO", -8, 44, 4, "HO1M08", 1, 6, 4, 1, 2, 1, 6, 29, 2, 5, 14, 1}, + {"HO", -8, 45, 4, "HO1M08", 1, 2, 4, 2, 2, 2, 6, 29, 2, 5, 14, 1}, + {"HO", -8, 46, 4, "HO1M10", 2, 2, 4, 2, 2, 2, 6, 29, 10, 6, 18, 1}, + {"HO", -8, 47, 4, "HO1M10", 2, 6, 4, 1, 2, 1, 6, 29, 10, 6, 18, 1}, + {"HO", -8, 48, 4, "HO1M10", 2, 11, 4, 0, 2, 0, 6, 29, 10, 6, 18, 1}, + {"HO", -8, 49, 4, "HO1M10", 4, 2, 4, 2, 2, 2, 6, 29, 10, 5, 18, 1}, + {"HO", -8, 50, 4, "HO1M10", 4, 6, 4, 1, 2, 1, 6, 29, 10, 5, 18, 1}, + {"HO", -8, 51, 4, "HO1M10", 4, 11, 4, 0, 2, 0, 6, 29, 10, 5, 18, 1}, + {"HO", -8, 52, 4, "HO1M10", 3, 11, 4, 0, 2, 0, 13, 30, 6, 6, 5, 1}, + {"HO", -8, 53, 4, "HO1M10", 3, 6, 4, 1, 2, 1, 13, 30, 6, 6, 5, 1}, + {"HO", -8, 54, 4, "HO1M10", 3, 2, 4, 2, 2, 2, 13, 30, 6, 6, 5, 1}, + {"HO", -8, 55, 4, "HO1M10", 1, 11, 4, 0, 2, 0, 13, 30, 6, 5, 5, 1}, + {"HO", -8, 56, 4, "HO1M10", 1, 6, 4, 1, 2, 1, 13, 30, 6, 5, 5, 1}, + {"HO", -8, 57, 4, "HO1M10", 1, 2, 4, 2, 2, 2, 13, 30, 6, 5, 5, 1}, + {"HO", -8, 58, 4, "HO1M12", 2, 2, 4, 2, 2, 2, 13, 31, 2, 6, 14, 1}, + {"HO", -8, 59, 4, "HO1M12", 2, 6, 4, 1, 2, 1, 13, 31, 2, 6, 14, 1}, + {"HO", -8, 60, 4, "HO1M12", 2, 11, 4, 0, 2, 0, 13, 31, 2, 6, 14, 1}, + {"HO", -8, 61, 4, "HO1M12", 4, 2, 4, 2, 2, 2, 13, 31, 2, 5, 14, 1}, + {"HO", -8, 62, 4, "HO1M12", 4, 6, 4, 1, 2, 1, 13, 31, 2, 5, 14, 1}, + {"HO", -8, 63, 4, "HO1M12", 4, 11, 4, 0, 2, 0, 13, 31, 2, 5, 14, 1}, + {"HO", -8, 64, 4, "HO1M12", 3, 11, 4, 0, 2, 0, 13, 31, 10, 6, 18, 1}, + {"HO", -8, 65, 4, "HO1M12", 3, 6, 4, 1, 2, 1, 13, 31, 10, 6, 18, 1}, + {"HO", -8, 66, 4, "HO1M12", 3, 2, 4, 2, 2, 2, 13, 31, 10, 6, 18, 1}, + {"HO", -8, 67, 4, "HO1M12", 1, 11, 4, 0, 2, 0, 13, 31, 10, 5, 18, 1}, + {"HO", -8, 68, 4, "HO1M12", 1, 6, 4, 1, 2, 1, 13, 31, 10, 5, 18, 1}, + {"HO", -8, 69, 4, "HO1M12", 1, 2, 4, 2, 2, 2, 13, 31, 10, 5, 18, 1}, + {"HO", -8, 70, 4, "HO1M02", 2, 2, 4, 2, 2, 2, 3, 24, 6, 6, 5, 1}, + {"HO", -8, 71, 4, "HO1M02", 2, 6, 4, 1, 2, 1, 3, 24, 6, 6, 5, 1}, + {"HO", -7, 0, 4, "HO1M02", 2, 5, 5, 2, 2, 3, 3, 24, 6, 4, 5, 1}, + {"HO", -7, 1, 4, "HO1M02", 4, 13, 5, 1, 2, 5, 3, 24, 6, 3, 5, 1}, + {"HO", -7, 2, 4, "HO1M02", 4, 9, 5, 0, 2, 4, 3, 24, 6, 3, 5, 1}, + {"HO", -7, 3, 4, "HO1M02", 4, 5, 5, 2, 2, 3, 3, 24, 6, 3, 5, 1}, + {"HO", -7, 4, 4, "HO1M02", 3, 5, 5, 2, 2, 3, 3, 25, 2, 4, 14, 1}, + {"HO", -7, 5, 4, "HO1M02", 3, 9, 5, 0, 2, 4, 3, 25, 2, 4, 14, 1}, + {"HO", -7, 6, 4, "HO1M02", 3, 13, 5, 1, 2, 5, 3, 25, 2, 4, 14, 1}, + {"HO", -7, 7, 4, "HO1M02", 1, 5, 5, 2, 2, 3, 3, 25, 2, 3, 14, 1}, + {"HO", -7, 8, 4, "HO1M02", 1, 9, 5, 0, 2, 4, 3, 25, 2, 3, 14, 1}, + {"HO", -7, 9, 4, "HO1M02", 1, 13, 5, 1, 2, 5, 3, 25, 2, 3, 14, 1}, + {"HO", -7, 10, 4, "HO1M04", 2, 13, 5, 1, 2, 5, 3, 25, 10, 4, 18, 1}, + {"HO", -7, 11, 4, "HO1M04", 2, 9, 5, 0, 2, 4, 3, 25, 10, 4, 18, 1}, + {"HO", -7, 12, 4, "HO1M04", 2, 5, 5, 2, 2, 3, 3, 25, 10, 4, 18, 1}, + {"HO", -7, 13, 4, "HO1M04", 4, 13, 5, 1, 2, 5, 3, 25, 10, 3, 18, 1}, + {"HO", -7, 14, 4, "HO1M04", 4, 9, 5, 0, 2, 4, 3, 25, 10, 3, 18, 1}, + {"HO", -7, 15, 4, "HO1M04", 4, 5, 5, 2, 2, 3, 3, 25, 10, 3, 18, 1}, + {"HO", -7, 16, 4, "HO1M04", 3, 5, 5, 2, 2, 3, 7, 26, 6, 4, 5, 1}, + {"HO", -7, 17, 4, "HO1M04", 3, 9, 5, 0, 2, 4, 7, 26, 6, 4, 5, 1}, + {"HO", -7, 18, 4, "HO1M04", 3, 13, 5, 1, 2, 5, 7, 26, 6, 4, 5, 1}, + {"HO", -7, 19, 4, "HO1M04", 1, 5, 5, 2, 2, 3, 7, 26, 6, 3, 5, 1}, + {"HO", -7, 20, 4, "HO1M04", 1, 9, 5, 0, 2, 4, 7, 26, 6, 3, 5, 1}, + {"HO", -7, 21, 4, "HO1M04", 1, 13, 5, 1, 2, 5, 7, 26, 6, 3, 5, 1}, + {"HO", -7, 22, 4, "HO1M06", 2, 13, 5, 1, 2, 5, 7, 27, 2, 4, 14, 1}, + {"HO", -7, 23, 4, "HO1M06", 2, 9, 5, 0, 2, 4, 7, 27, 2, 4, 14, 1}, + {"HO", -7, 24, 4, "HO1M06", 2, 5, 5, 2, 2, 3, 7, 27, 2, 4, 14, 1}, + {"HO", -7, 25, 4, "HO1M06", 4, 13, 5, 1, 2, 5, 7, 27, 2, 3, 14, 1}, + {"HO", -7, 26, 4, "HO1M06", 4, 9, 5, 0, 2, 4, 7, 27, 2, 3, 14, 1}, + {"HO", -7, 27, 4, "HO1M06", 4, 5, 5, 2, 2, 3, 7, 27, 2, 3, 14, 1}, + {"HO", -7, 28, 4, "HO1M06", 3, 5, 5, 2, 2, 3, 7, 27, 10, 4, 18, 1}, + {"HO", -7, 29, 4, "HO1M06", 3, 9, 5, 0, 2, 4, 7, 27, 10, 4, 18, 1}, + {"HO", -7, 30, 4, "HO1M06", 3, 13, 5, 1, 2, 5, 7, 27, 10, 4, 18, 1}, + {"HO", -7, 31, 4, "HO1M06", 1, 5, 5, 2, 2, 3, 7, 27, 10, 3, 18, 1}, + {"HO", -7, 32, 4, "HO1M06", 1, 9, 5, 0, 2, 4, 7, 27, 10, 3, 18, 1}, + {"HO", -7, 33, 4, "HO1M06", 1, 13, 5, 1, 2, 5, 7, 27, 10, 3, 18, 1}, + {"HO", -7, 34, 4, "HO1M08", 2, 13, 5, 1, 2, 5, 6, 28, 6, 4, 5, 1}, + {"HO", -7, 35, 4, "HO1M08", 2, 9, 5, 0, 2, 4, 6, 28, 6, 4, 5, 1}, + {"HO", -7, 36, 4, "HO1M08", 2, 5, 5, 2, 2, 3, 6, 28, 6, 4, 5, 1}, + {"HO", -7, 37, 4, "HO1M08", 4, 13, 5, 1, 2, 5, 6, 28, 6, 3, 5, 1}, + {"HO", -7, 38, 4, "HO1M08", 4, 9, 5, 0, 2, 4, 6, 28, 6, 3, 5, 1}, + {"HO", -7, 39, 4, "HO1M08", 4, 5, 5, 2, 2, 3, 6, 28, 6, 3, 5, 1}, + {"HO", -7, 40, 4, "HO1M08", 3, 5, 5, 2, 2, 3, 6, 29, 2, 4, 14, 1}, + {"HO", -7, 41, 4, "HO1M08", 3, 9, 5, 0, 2, 4, 6, 29, 2, 4, 14, 1}, + {"HO", -7, 42, 4, "HO1M08", 3, 13, 5, 1, 2, 5, 6, 29, 2, 4, 14, 1}, + {"HO", -7, 43, 4, "HO1M08", 1, 5, 5, 2, 2, 3, 6, 29, 2, 3, 14, 1}, + {"HO", -7, 44, 4, "HO1M08", 1, 9, 5, 0, 2, 4, 6, 29, 2, 3, 14, 1}, + {"HO", -7, 45, 4, "HO1M08", 1, 13, 5, 1, 2, 5, 6, 29, 2, 3, 14, 1}, + {"HO", -7, 46, 4, "HO1M10", 2, 13, 5, 1, 2, 5, 6, 29, 10, 4, 18, 1}, + {"HO", -7, 47, 4, "HO1M10", 2, 9, 5, 0, 2, 4, 6, 29, 10, 4, 18, 1}, + {"HO", -7, 48, 4, "HO1M10", 2, 5, 5, 2, 2, 3, 6, 29, 10, 4, 18, 1}, + {"HO", -7, 49, 4, "HO1M10", 4, 13, 5, 1, 2, 5, 6, 29, 10, 3, 18, 1}, + {"HO", -7, 50, 4, "HO1M10", 4, 9, 5, 0, 2, 4, 6, 29, 10, 3, 18, 1}, + {"HO", -7, 51, 4, "HO1M10", 4, 5, 5, 2, 2, 3, 6, 29, 10, 3, 18, 1}, + {"HO", -7, 52, 4, "HO1M10", 3, 5, 5, 2, 2, 3, 13, 30, 6, 4, 5, 1}, + {"HO", -7, 53, 4, "HO1M10", 3, 9, 5, 0, 2, 4, 13, 30, 6, 4, 5, 1}, + {"HO", -7, 54, 4, "HO1M10", 3, 13, 5, 1, 2, 5, 13, 30, 6, 4, 5, 1}, + {"HO", -7, 55, 4, "HO1M10", 1, 5, 5, 2, 2, 3, 13, 30, 6, 3, 5, 1}, + {"HO", -7, 56, 4, "HO1M10", 1, 9, 5, 0, 2, 4, 13, 30, 6, 3, 5, 1}, + {"HO", -7, 57, 4, "HO1M10", 1, 13, 5, 1, 2, 5, 13, 30, 6, 3, 5, 1}, + {"HO", -7, 58, 4, "HO1M12", 2, 13, 5, 1, 2, 5, 13, 31, 2, 4, 14, 1}, + {"HO", -7, 59, 4, "HO1M12", 2, 9, 5, 0, 2, 4, 13, 31, 2, 4, 14, 1}, + {"HO", -7, 60, 4, "HO1M12", 2, 5, 5, 2, 2, 3, 13, 31, 2, 4, 14, 1}, + {"HO", -7, 61, 4, "HO1M12", 4, 13, 5, 1, 2, 5, 13, 31, 2, 3, 14, 1}, + {"HO", -7, 62, 4, "HO1M12", 4, 9, 5, 0, 2, 4, 13, 31, 2, 3, 14, 1}, + {"HO", -7, 63, 4, "HO1M12", 4, 5, 5, 2, 2, 3, 13, 31, 2, 3, 14, 1}, + {"HO", -7, 64, 4, "HO1M12", 3, 5, 5, 2, 2, 3, 13, 31, 10, 4, 18, 1}, + {"HO", -7, 65, 4, "HO1M12", 3, 9, 5, 0, 2, 4, 13, 31, 10, 4, 18, 1}, + {"HO", -7, 66, 4, "HO1M12", 3, 13, 5, 1, 2, 5, 13, 31, 10, 4, 18, 1}, + {"HO", -7, 67, 4, "HO1M12", 1, 5, 5, 2, 2, 3, 13, 31, 10, 3, 18, 1}, + {"HO", -7, 68, 4, "HO1M12", 1, 9, 5, 0, 2, 4, 13, 31, 10, 3, 18, 1}, + {"HO", -7, 69, 4, "HO1M12", 1, 13, 5, 1, 2, 5, 13, 31, 10, 3, 18, 1}, + {"HO", -7, 70, 4, "HO1M02", 2, 13, 5, 1, 2, 5, 3, 24, 6, 4, 5, 1}, + {"HO", -7, 71, 4, "HO1M02", 2, 9, 5, 0, 2, 4, 3, 24, 6, 4, 5, 1}, + {"HO", -6, 0, 4, "HO1M02", 2, 12, 2, 0, 1, 0, 3, 24, 6, 2, 5, 1}, + {"HO", -6, 1, 4, "HO1M02", 4, 3, 2, 2, 1, 2, 3, 24, 6, 1, 5, 1}, + {"HO", -6, 2, 4, "HO1M02", 4, 7, 2, 1, 1, 1, 3, 24, 6, 1, 5, 1}, + {"HO", -6, 3, 4, "HO1M02", 4, 12, 2, 0, 1, 0, 3, 24, 6, 1, 5, 1}, + {"HO", -6, 4, 4, "HO1M02", 3, 12, 2, 0, 1, 0, 3, 25, 2, 2, 14, 1}, + {"HO", -6, 5, 4, "HO1M02", 3, 7, 2, 1, 1, 1, 3, 25, 2, 2, 14, 1}, + {"HO", -6, 6, 4, "HO1M02", 3, 3, 2, 2, 1, 2, 3, 25, 2, 2, 14, 1}, + {"HO", -6, 7, 4, "HO1M02", 1, 12, 2, 0, 1, 0, 3, 25, 2, 1, 14, 1}, + {"HO", -6, 8, 4, "HO1M02", 1, 7, 2, 1, 1, 1, 3, 25, 2, 1, 14, 1}, + {"HO", -6, 9, 4, "HO1M02", 1, 3, 2, 2, 1, 2, 3, 25, 2, 1, 14, 1}, + {"HO", -6, 10, 4, "HO1M04", 2, 3, 2, 2, 1, 2, 3, 25, 10, 2, 18, 1}, + {"HO", -6, 11, 4, "HO1M04", 2, 7, 2, 1, 1, 1, 3, 25, 10, 2, 18, 1}, + {"HO", -6, 12, 4, "HO1M04", 2, 12, 2, 0, 1, 0, 3, 25, 10, 2, 18, 1}, + {"HO", -6, 13, 4, "HO1M04", 4, 3, 2, 2, 1, 2, 3, 25, 10, 1, 18, 1}, + {"HO", -6, 14, 4, "HO1M04", 4, 7, 2, 1, 1, 1, 3, 25, 10, 1, 18, 1}, + {"HO", -6, 15, 4, "HO1M04", 4, 12, 2, 0, 1, 0, 3, 25, 10, 1, 18, 1}, + {"HO", -6, 16, 4, "HO1M04", 3, 12, 2, 0, 1, 0, 7, 26, 6, 2, 5, 1}, + {"HO", -6, 17, 4, "HO1M04", 3, 7, 2, 1, 1, 1, 7, 26, 6, 2, 5, 1}, + {"HO", -6, 18, 4, "HO1M04", 3, 3, 2, 2, 1, 2, 7, 26, 6, 2, 5, 1}, + {"HO", -6, 19, 4, "HO1M04", 1, 12, 2, 0, 1, 0, 7, 26, 6, 1, 5, 1}, + {"HO", -6, 20, 4, "HO1M04", 1, 7, 2, 1, 1, 1, 7, 26, 6, 1, 5, 1}, + {"HO", -6, 21, 4, "HO1M04", 1, 3, 2, 2, 1, 2, 7, 26, 6, 1, 5, 1}, + {"HO", -6, 22, 4, "HO1M06", 2, 3, 2, 2, 1, 2, 7, 27, 2, 2, 14, 1}, + {"HO", -6, 23, 4, "HO1M06", 2, 7, 2, 1, 1, 1, 7, 27, 2, 2, 14, 1}, + {"HO", -6, 24, 4, "HO1M06", 2, 12, 2, 0, 1, 0, 7, 27, 2, 2, 14, 1}, + {"HO", -6, 25, 4, "HO1M06", 4, 3, 2, 2, 1, 2, 7, 27, 2, 1, 14, 1}, + {"HO", -6, 26, 4, "HO1M06", 4, 7, 2, 1, 1, 1, 7, 27, 2, 1, 14, 1}, + {"HO", -6, 27, 4, "HO1M06", 4, 12, 2, 0, 1, 0, 7, 27, 2, 1, 14, 1}, + {"HO", -6, 28, 4, "HO1M06", 3, 12, 2, 0, 1, 0, 7, 27, 10, 2, 18, 1}, + {"HO", -6, 29, 4, "HO1M06", 3, 7, 2, 1, 1, 1, 7, 27, 10, 2, 18, 1}, + {"HO", -6, 30, 4, "HO1M06", 3, 3, 2, 2, 1, 2, 7, 27, 10, 2, 18, 1}, + {"HO", -6, 31, 4, "HO1M06", 1, 12, 2, 0, 1, 0, 7, 27, 10, 1, 18, 1}, + {"HO", -6, 32, 4, "HO1M06", 1, 7, 2, 1, 1, 1, 7, 27, 10, 1, 18, 1}, + {"HO", -6, 33, 4, "HO1M06", 1, 3, 2, 2, 1, 2, 7, 27, 10, 1, 18, 1}, + {"HO", -6, 34, 4, "HO1M08", 2, 3, 2, 2, 1, 2, 6, 28, 6, 2, 5, 1}, + {"HO", -6, 35, 4, "HO1M08", 2, 7, 2, 1, 1, 1, 6, 28, 6, 2, 5, 1}, + {"HO", -6, 36, 4, "HO1M08", 2, 12, 2, 0, 1, 0, 6, 28, 6, 2, 5, 1}, + {"HO", -6, 37, 4, "HO1M08", 4, 3, 2, 2, 1, 2, 6, 28, 6, 1, 5, 1}, + {"HO", -6, 38, 4, "HO1M08", 4, 7, 2, 1, 1, 1, 6, 28, 6, 1, 5, 1}, + {"HO", -6, 39, 4, "HO1M08", 4, 12, 2, 0, 1, 0, 6, 28, 6, 1, 5, 1}, + {"HO", -6, 40, 4, "HO1M08", 3, 12, 2, 0, 1, 0, 6, 29, 2, 2, 14, 1}, + {"HO", -6, 41, 4, "HO1M08", 3, 7, 2, 1, 1, 1, 6, 29, 2, 2, 14, 1}, + {"HO", -6, 42, 4, "HO1M08", 3, 3, 2, 2, 1, 2, 6, 29, 2, 2, 14, 1}, + {"HO", -6, 43, 4, "HO1M08", 1, 12, 2, 0, 1, 0, 6, 29, 2, 1, 14, 1}, + {"HO", -6, 44, 4, "HO1M08", 1, 7, 2, 1, 1, 1, 6, 29, 2, 1, 14, 1}, + {"HO", -6, 45, 4, "HO1M08", 1, 3, 2, 2, 1, 2, 6, 29, 2, 1, 14, 1}, + {"HO", -6, 46, 4, "HO1M10", 2, 3, 2, 2, 1, 2, 6, 29, 10, 2, 18, 1}, + {"HO", -6, 47, 4, "HO1M10", 2, 7, 2, 1, 1, 1, 6, 29, 10, 2, 18, 1}, + {"HO", -6, 48, 4, "HO1M10", 2, 12, 2, 0, 1, 0, 6, 29, 10, 2, 18, 1}, + {"HO", -6, 49, 4, "HO1M10", 4, 3, 2, 2, 1, 2, 6, 29, 10, 1, 18, 1}, + {"HO", -6, 50, 4, "HO1M10", 4, 7, 2, 1, 1, 1, 6, 29, 10, 1, 18, 1}, + {"HO", -6, 51, 4, "HO1M10", 4, 12, 2, 0, 1, 0, 6, 29, 10, 1, 18, 1}, + {"HO", -6, 52, 4, "HO1M10", 3, 12, 2, 0, 1, 0, 13, 30, 6, 2, 5, 1}, + {"HO", -6, 53, 4, "HO1M10", 3, 7, 2, 1, 1, 1, 13, 30, 6, 2, 5, 1}, + {"HO", -6, 54, 4, "HO1M10", 3, 3, 2, 2, 1, 2, 13, 30, 6, 2, 5, 1}, + {"HO", -6, 55, 4, "HO1M10", 1, 12, 2, 0, 1, 0, 13, 30, 6, 1, 5, 1}, + {"HO", -6, 56, 4, "HO1M10", 1, 7, 2, 1, 1, 1, 13, 30, 6, 1, 5, 1}, + {"HO", -6, 57, 4, "HO1M10", 1, 3, 2, 2, 1, 2, 13, 30, 6, 1, 5, 1}, + {"HO", -6, 58, 4, "HO1M12", 2, 3, 2, 2, 1, 2, 13, 31, 2, 2, 14, 1}, + {"HO", -6, 59, 4, "HO1M12", 2, 7, 2, 1, 1, 1, 13, 31, 2, 2, 14, 1}, + {"HO", -6, 60, 4, "HO1M12", 2, 12, 2, 0, 1, 0, 13, 31, 2, 2, 14, 1}, + {"HO", -6, 61, 4, "HO1M12", 4, 3, 2, 2, 1, 2, 13, 31, 2, 1, 14, 1}, + {"HO", -6, 62, 4, "HO1M12", 4, 7, 2, 1, 1, 1, 13, 31, 2, 1, 14, 1}, + {"HO", -6, 63, 4, "HO1M12", 4, 12, 2, 0, 1, 0, 13, 31, 2, 1, 14, 1}, + {"HO", -6, 64, 4, "HO1M12", 3, 12, 2, 0, 1, 0, 13, 31, 10, 2, 18, 1}, + {"HO", -6, 65, 4, "HO1M12", 3, 7, 2, 1, 1, 1, 13, 31, 10, 2, 18, 1}, + {"HO", -6, 66, 4, "HO1M12", 3, 3, 2, 2, 1, 2, 13, 31, 10, 2, 18, 1}, + {"HO", -6, 67, 4, "HO1M12", 1, 12, 2, 0, 1, 0, 13, 31, 10, 1, 18, 1}, + {"HO", -6, 68, 4, "HO1M12", 1, 7, 2, 1, 1, 1, 13, 31, 10, 1, 18, 1}, + {"HO", -6, 69, 4, "HO1M12", 1, 3, 2, 2, 1, 2, 13, 31, 10, 1, 18, 1}, + {"HO", -6, 70, 4, "HO1M02", 2, 3, 2, 2, 1, 2, 3, 24, 6, 2, 5, 1}, + {"HO", -6, 71, 4, "HO1M02", 2, 7, 2, 1, 1, 1, 3, 24, 6, 2, 5, 1}, + {"HO", -5, 0, 4, "HO1M02", 2, 1, 3, 2, 1, 3, 3, 24, 5, 2, 4, 0}, + {"HO", -5, 1, 4, "HO1M02", 4, 8, 3, 1, 1, 5, 3, 24, 5, 1, 4, 0}, + {"HO", -5, 2, 4, "HO1M02", 4, 4, 3, 0, 1, 4, 3, 24, 5, 1, 4, 0}, + {"HO", -5, 3, 4, "HO1M02", 4, 1, 3, 2, 1, 3, 3, 24, 5, 1, 4, 0}, + {"HO", -5, 4, 4, "HO1M02", 3, 1, 3, 2, 1, 3, 3, 25, 1, 2, 13, 0}, + {"HO", -5, 5, 4, "HO1M02", 3, 4, 3, 0, 1, 4, 3, 25, 1, 2, 13, 0}, + {"HO", -5, 6, 4, "HO1M02", 3, 8, 3, 1, 1, 5, 3, 25, 1, 2, 13, 0}, + {"HO", -5, 7, 4, "HO1M02", 1, 1, 3, 2, 1, 3, 3, 25, 1, 1, 13, 0}, + {"HO", -5, 8, 4, "HO1M02", 1, 4, 3, 0, 1, 4, 3, 25, 1, 1, 13, 0}, + {"HO", -5, 9, 4, "HO1M02", 1, 8, 3, 1, 1, 5, 3, 25, 1, 1, 13, 0}, + {"HO", -5, 10, 4, "HO1M04", 2, 8, 3, 1, 1, 5, 3, 25, 9, 2, 17, 0}, + {"HO", -5, 11, 4, "HO1M04", 2, 4, 3, 0, 1, 4, 3, 25, 9, 2, 17, 0}, + {"HO", -5, 12, 4, "HO1M04", 2, 1, 3, 2, 1, 3, 3, 25, 9, 2, 17, 0}, + {"HO", -5, 13, 4, "HO1M04", 4, 8, 3, 1, 1, 5, 3, 25, 9, 1, 17, 0}, + {"HO", -5, 14, 4, "HO1M04", 4, 4, 3, 0, 1, 4, 3, 25, 9, 1, 17, 0}, + {"HO", -5, 15, 4, "HO1M04", 4, 1, 3, 2, 1, 3, 3, 25, 9, 1, 17, 0}, + {"HO", -5, 16, 4, "HO1M04", 3, 1, 3, 2, 1, 3, 7, 26, 5, 2, 4, 0}, + {"HO", -5, 17, 4, "HO1M04", 3, 4, 3, 0, 1, 4, 7, 26, 5, 2, 4, 0}, + {"HO", -5, 18, 4, "HO1M04", 3, 8, 3, 1, 1, 5, 7, 26, 5, 2, 4, 0}, + {"HO", -5, 19, 4, "HO1M04", 1, 1, 3, 2, 1, 3, 7, 26, 5, 1, 4, 0}, + {"HO", -5, 20, 4, "HO1M04", 1, 4, 3, 0, 1, 4, 7, 26, 5, 1, 4, 0}, + {"HO", -5, 21, 4, "HO1M04", 1, 8, 3, 1, 1, 5, 7, 26, 5, 1, 4, 0}, + {"HO", -5, 22, 4, "HO1M06", 2, 8, 3, 1, 1, 5, 7, 27, 1, 2, 13, 0}, + {"HO", -5, 23, 4, "HO1M06", 2, 4, 3, 0, 1, 4, 7, 27, 1, 2, 13, 0}, + {"HO", -5, 24, 4, "HO1M06", 2, 1, 3, 2, 1, 3, 7, 27, 1, 2, 13, 0}, + {"HO", -5, 25, 4, "HO1M06", 4, 8, 3, 1, 1, 5, 7, 27, 1, 1, 13, 0}, + {"HO", -5, 26, 4, "HO1M06", 4, 4, 3, 0, 1, 4, 7, 27, 1, 1, 13, 0}, + {"HO", -5, 27, 4, "HO1M06", 4, 1, 3, 2, 1, 3, 7, 27, 1, 1, 13, 0}, + {"HO", -5, 28, 4, "HO1M06", 3, 1, 3, 2, 1, 3, 7, 27, 9, 2, 17, 0}, + {"HO", -5, 29, 4, "HO1M06", 3, 4, 3, 0, 1, 4, 7, 27, 9, 2, 17, 0}, + {"HO", -5, 30, 4, "HO1M06", 3, 8, 3, 1, 1, 5, 7, 27, 9, 2, 17, 0}, + {"HO", -5, 31, 4, "HO1M06", 1, 1, 3, 2, 1, 3, 7, 27, 9, 1, 17, 0}, + {"HO", -5, 32, 4, "HO1M06", 1, 4, 3, 0, 1, 4, 7, 27, 9, 1, 17, 0}, + {"HO", -5, 33, 4, "HO1M06", 1, 8, 3, 1, 1, 5, 7, 27, 9, 1, 17, 0}, + {"HO", -5, 34, 4, "HO1M08", 2, 8, 3, 1, 1, 5, 6, 28, 5, 2, 4, 0}, + {"HO", -5, 35, 4, "HO1M08", 2, 4, 3, 0, 1, 4, 6, 28, 5, 2, 4, 0}, + {"HO", -5, 36, 4, "HO1M08", 2, 1, 3, 2, 1, 3, 6, 28, 5, 2, 4, 0}, + {"HO", -5, 37, 4, "HO1M08", 4, 8, 3, 1, 1, 5, 6, 28, 5, 1, 4, 0}, + {"HO", -5, 38, 4, "HO1M08", 4, 4, 3, 0, 1, 4, 6, 28, 5, 1, 4, 0}, + {"HO", -5, 39, 4, "HO1M08", 4, 1, 3, 2, 1, 3, 6, 28, 5, 1, 4, 0}, + {"HO", -5, 40, 4, "HO1M08", 3, 1, 3, 2, 1, 3, 6, 29, 1, 2, 13, 0}, + {"HO", -5, 41, 4, "HO1M08", 3, 4, 3, 0, 1, 4, 6, 29, 1, 2, 13, 0}, + {"HO", -5, 42, 4, "HO1M08", 3, 8, 3, 1, 1, 5, 6, 29, 1, 2, 13, 0}, + {"HO", -5, 43, 4, "HO1M08", 1, 1, 3, 2, 1, 3, 6, 29, 1, 1, 13, 0}, + {"HO", -5, 44, 4, "HO1M08", 1, 4, 3, 0, 1, 4, 6, 29, 1, 1, 13, 0}, + {"HO", -5, 45, 4, "HO1M08", 1, 8, 3, 1, 1, 5, 6, 29, 1, 1, 13, 0}, + {"HO", -5, 46, 4, "HO1M10", 2, 8, 3, 1, 1, 5, 6, 29, 9, 2, 17, 0}, + {"HO", -5, 47, 4, "HO1M10", 2, 4, 3, 0, 1, 4, 6, 29, 9, 2, 17, 0}, + {"HO", -5, 48, 4, "HO1M10", 2, 1, 3, 2, 1, 3, 6, 29, 9, 2, 17, 0}, + {"HO", -5, 49, 4, "HO1M10", 4, 8, 3, 1, 1, 5, 6, 29, 9, 1, 17, 0}, + {"HO", -5, 50, 4, "HO1M10", 4, 4, 3, 0, 1, 4, 6, 29, 9, 1, 17, 0}, + {"HO", -5, 51, 4, "HO1M10", 4, 1, 3, 2, 1, 3, 6, 29, 9, 1, 17, 0}, + {"HO", -5, 52, 4, "HO1M10", 3, 1, 3, 2, 1, 3, 13, 30, 5, 2, 4, 0}, + {"HO", -5, 53, 4, "HO1M10", 3, 4, 3, 0, 1, 4, 13, 30, 5, 2, 4, 0}, + {"HO", -5, 54, 4, "HO1M10", 3, 8, 3, 1, 1, 5, 13, 30, 5, 2, 4, 0}, + {"HO", -5, 55, 4, "HO1M10", 1, 1, 3, 2, 1, 3, 13, 30, 5, 1, 4, 0}, + {"HO", -5, 56, 4, "HO1M10", 1, 4, 3, 0, 1, 4, 13, 30, 5, 1, 4, 0}, + {"HO", -5, 57, 4, "HO1M10", 1, 8, 3, 1, 1, 5, 13, 30, 5, 1, 4, 0}, + {"HO", -5, 58, 4, "HO1M12", 2, 8, 3, 1, 1, 5, 13, 31, 1, 2, 13, 0}, + {"HO", -5, 59, 4, "HO1M12", 2, 4, 3, 0, 1, 4, 13, 31, 1, 2, 13, 0}, + {"HO", -5, 60, 4, "HO1M12", 2, 1, 3, 2, 1, 3, 13, 31, 1, 2, 13, 0}, + {"HO", -5, 61, 4, "HO1M12", 4, 8, 3, 1, 1, 5, 13, 31, 1, 1, 13, 0}, + {"HO", -5, 62, 4, "HO1M12", 4, 4, 3, 0, 1, 4, 13, 31, 1, 1, 13, 0}, + {"HO", -5, 63, 4, "HO1M12", 4, 1, 3, 2, 1, 3, 13, 31, 1, 1, 13, 0}, + {"HO", -5, 64, 4, "HO1M12", 3, 1, 3, 2, 1, 3, 13, 31, 9, 2, 17, 0}, + {"HO", -5, 65, 4, "HO1M12", 3, 4, 3, 0, 1, 4, 13, 31, 9, 2, 17, 0}, + {"HO", -5, 66, 4, "HO1M12", 3, 8, 3, 1, 1, 5, 13, 31, 9, 2, 17, 0}, + {"HO", -5, 67, 4, "HO1M12", 1, 1, 3, 2, 1, 3, 13, 31, 9, 1, 17, 0}, + {"HO", -5, 68, 4, "HO1M12", 1, 4, 3, 0, 1, 4, 13, 31, 9, 1, 17, 0}, + {"HO", -5, 69, 4, "HO1M12", 1, 8, 3, 1, 1, 5, 13, 31, 9, 1, 17, 0}, + {"HO", -5, 70, 4, "HO1M02", 2, 8, 3, 1, 1, 5, 3, 24, 5, 2, 4, 0}, + {"HO", -5, 71, 4, "HO1M02", 2, 4, 3, 0, 1, 4, 3, 24, 5, 2, 4, 0}, + {"HO", -4, 0, 4, "HO001", 2, 17, 4, 2, 2, 2, 3, 24, 4, 6, 4, 1}, + {"HO", -4, 1, 4, "HO001", 2, 19, 4, 0, 2, 0, 3, 24, 4, 6, 4, 1}, + {"HO", -4, 2, 4, "HO001", 3, 17, 4, 2, 2, 2, 3, 24, 4, 8, 4, 1}, + {"HO", -4, 3, 4, "HO001", 3, 19, 4, 0, 2, 0, 3, 24, 4, 8, 4, 1}, + {"HO", -4, 4, 4, "HO002", 4, 3, 5, 2, 2, 3, 3, 25, 0, 7, 13, 1}, + {"HO", -4, 5, 4, "HO002", 4, 1, 5, 1, 2, 5, 3, 25, 0, 7, 13, 1}, + {"HO", -4, 6, 4, "HO002", 3, 3, 5, 2, 2, 3, 3, 25, 0, 6, 13, 1}, + {"HO", -4, 7, 4, "HO002", 3, 1, 5, 1, 2, 5, 3, 25, 0, 6, 13, 1}, + {"HO", -4, 8, 4, "HO002", 2, 3, 5, 2, 2, 3, 3, 25, 0, 8, 13, 1}, + {"HO", -4, 9, 4, "HO002", 2, 1, 5, 1, 2, 5, 3, 25, 0, 8, 13, 1}, + {"HO", -4, 10, 4, "HO003", 4, 3, 5, 2, 2, 3, 3, 25, 8, 7, 17, 1}, + {"HO", -4, 11, 4, "HO003", 4, 1, 5, 1, 2, 5, 3, 25, 8, 7, 17, 1}, + {"HO", -4, 12, 4, "HO003", 3, 3, 5, 2, 2, 3, 3, 25, 8, 6, 17, 1}, + {"HO", -4, 13, 4, "HO003", 3, 1, 5, 1, 2, 5, 3, 25, 8, 6, 17, 1}, + {"HO", -4, 14, 4, "HO003", 2, 3, 5, 2, 2, 3, 3, 25, 8, 8, 17, 1}, + {"HO", -4, 15, 4, "HO003", 2, 1, 5, 1, 2, 5, 3, 25, 8, 8, 17, 1}, + {"HO", -4, 16, 4, "HO004", 1, 17, 4, 2, 2, 2, 7, 26, 4, 7, 4, 1}, + {"HO", -4, 17, 4, "HO004", 1, 19, 4, 0, 2, 0, 7, 26, 4, 7, 4, 1}, + {"HO", -4, 18, 4, "HO004", 2, 17, 4, 2, 2, 2, 7, 26, 4, 6, 4, 1}, + {"HO", -4, 19, 4, "HO004", 2, 19, 4, 0, 2, 0, 7, 26, 4, 6, 4, 1}, + {"HO", -4, 20, 4, "HO004", 3, 17, 4, 2, 2, 2, 7, 26, 4, 8, 4, 1}, + {"HO", -4, 21, 4, "HO004", 3, 19, 4, 0, 2, 0, 7, 26, 4, 8, 4, 1}, + {"HO", -4, 22, 4, "HO005", 1, 17, 4, 2, 2, 2, 7, 27, 0, 7, 13, 1}, + {"HO", -4, 23, 4, "HO005", 1, 19, 4, 0, 2, 0, 7, 27, 0, 7, 13, 1}, + {"HO", -4, 24, 4, "HO005", 2, 17, 4, 2, 2, 2, 7, 27, 0, 6, 13, 1}, + {"HO", -4, 25, 4, "HO005", 2, 19, 4, 0, 2, 0, 7, 27, 0, 6, 13, 1}, + {"HO", -4, 26, 4, "HO005", 3, 17, 4, 2, 2, 2, 7, 27, 0, 8, 13, 1}, + {"HO", -4, 27, 4, "HO005", 3, 19, 4, 0, 2, 0, 7, 27, 0, 8, 13, 1}, + {"HO", -4, 28, 4, "HO006", 4, 3, 5, 2, 2, 3, 7, 27, 8, 7, 17, 1}, + {"HO", -4, 29, 4, "HO006", 4, 1, 5, 1, 2, 5, 7, 27, 8, 7, 17, 1}, + {"HO", -4, 30, 4, "HO006", 3, 3, 5, 2, 2, 3, 7, 27, 8, 6, 17, 1}, + {"HO", -4, 31, 4, "HO006", 3, 1, 5, 1, 2, 5, 7, 27, 8, 6, 17, 1}, + {"HO", -4, 32, 4, "HO006", 2, 3, 5, 2, 2, 3, 7, 27, 8, 8, 17, 1}, + {"HO", -4, 33, 4, "HO006", 2, 1, 5, 1, 2, 5, 7, 27, 8, 8, 17, 1}, + {"HO", -4, 34, 4, "HO007", 4, 3, 5, 2, 2, 3, 6, 28, 4, 7, 4, 1}, + {"HO", -4, 35, 4, "HO007", 4, 1, 5, 1, 2, 5, 6, 28, 4, 7, 4, 1}, + {"HO", -4, 36, 4, "HO007", 3, 3, 5, 2, 2, 3, 6, 28, 4, 6, 4, 1}, + {"HO", -4, 37, 4, "HO007", 3, 1, 5, 1, 2, 5, 6, 28, 4, 6, 4, 1}, + {"HO", -4, 38, 4, "HO007", 2, 3, 5, 2, 2, 3, 6, 28, 4, 8, 4, 1}, + {"HO", -4, 39, 4, "HO007", 2, 1, 5, 1, 2, 5, 6, 28, 4, 8, 4, 1}, + {"HO", -4, 40, 4, "HO008", 1, 17, 4, 2, 2, 2, 6, 29, 0, 7, 13, 1}, + {"HO", -4, 41, 4, "HO008", 1, 19, 4, 0, 2, 0, 6, 29, 0, 7, 13, 1}, + {"HO", -4, 42, 4, "HO008", 2, 17, 4, 2, 2, 2, 6, 29, 0, 6, 13, 1}, + {"HO", -4, 43, 4, "HO008", 2, 19, 4, 0, 2, 0, 6, 29, 0, 6, 13, 1}, + {"HO", -4, 44, 4, "HO008", 3, 17, 4, 2, 2, 2, 6, 29, 0, 8, 13, 1}, + {"HO", -4, 45, 4, "HO008", 3, 19, 4, 0, 2, 0, 6, 29, 0, 8, 13, 1}, + {"HO", -4, 46, 4, "HO009", 1, 17, 4, 2, 2, 2, 6, 29, 8, 7, 17, 1}, + {"HO", -4, 47, 4, "HO009", 1, 19, 4, 0, 2, 0, 6, 29, 8, 7, 17, 1}, + {"HO", -4, 48, 4, "HO009", 2, 17, 4, 2, 2, 2, 6, 29, 8, 6, 17, 1}, + {"HO", -4, 49, 4, "HO009", 2, 19, 4, 0, 2, 0, 6, 29, 8, 6, 17, 1}, + {"HO", -4, 50, 4, "HO009", 3, 17, 4, 2, 2, 2, 6, 29, 8, 8, 17, 1}, + {"HO", -4, 51, 4, "HO009", 3, 19, 4, 0, 2, 0, 6, 29, 8, 8, 17, 1}, + {"HO", -4, 52, 4, "HO010", 4, 3, 5, 2, 2, 3, 13, 30, 4, 7, 4, 1}, + {"HO", -4, 53, 4, "HO010", 4, 1, 5, 1, 2, 5, 13, 30, 4, 7, 4, 1}, + {"HO", -4, 54, 4, "HO010", 3, 3, 5, 2, 2, 3, 13, 30, 4, 6, 4, 1}, + {"HO", -4, 55, 4, "HO010", 3, 1, 5, 1, 2, 5, 13, 30, 4, 6, 4, 1}, + {"HO", -4, 56, 4, "HO010", 2, 3, 5, 2, 2, 3, 13, 30, 4, 8, 4, 1}, + {"HO", -4, 57, 4, "HO010", 2, 1, 5, 1, 2, 5, 13, 30, 4, 8, 4, 1}, + {"HO", -4, 58, 4, "HO011", 4, 3, 5, 2, 2, 3, 13, 31, 0, 7, 13, 1}, + {"HO", -4, 59, 4, "HO011", 4, 1, 5, 1, 2, 5, 13, 31, 0, 7, 13, 1}, + {"HO", -4, 60, 4, "HO011", 3, 3, 5, 2, 2, 3, 13, 31, 0, 6, 13, 1}, + {"HO", -4, 61, 4, "HO011", 3, 1, 5, 1, 2, 5, 13, 31, 0, 6, 13, 1}, + {"HO", -4, 62, 4, "HO011", 2, 3, 5, 2, 2, 3, 13, 31, 0, 8, 13, 1}, + {"HO", -4, 63, 4, "HO011", 2, 1, 5, 1, 2, 5, 13, 31, 0, 8, 13, 1}, + {"HO", -4, 64, 4, "HO012", 1, 17, 4, 2, 2, 2, 13, 31, 8, 7, 17, 1}, + {"HO", -4, 65, 4, "HO012", 1, 19, 4, 0, 2, 0, 13, 31, 8, 7, 17, 1}, + {"HO", -4, 66, 4, "HO012", 2, 17, 4, 2, 2, 2, 13, 31, 8, 6, 17, 1}, + {"HO", -4, 67, 4, "HO012", 2, 19, 4, 0, 2, 0, 13, 31, 8, 6, 17, 1}, + {"HO", -4, 68, 4, "HO012", 3, 17, 4, 2, 2, 2, 13, 31, 8, 8, 17, 1}, + {"HO", -4, 69, 4, "HO012", 3, 19, 4, 0, 2, 0, 13, 31, 8, 8, 17, 1}, + {"HO", -4, 70, 4, "HO001", 1, 17, 4, 2, 2, 2, 3, 24, 4, 7, 4, 1}, + {"HO", -4, 71, 4, "HO001", 1, 19, 4, 0, 2, 0, 3, 24, 4, 7, 4, 1}, + {"HO", -3, 0, 4, "HO001", 2, 14, 7, 2, 3, 3, 3, 24, 1, 6, 2, 0}, + {"HO", -3, 1, 4, "HO001", 2, 15, 6, 2, 3, 2, 3, 24, 1, 5, 2, 0}, + {"HO", -3, 2, 4, "HO001", 3, 14, 7, 2, 3, 3, 3, 24, 1, 4, 2, 0}, + {"HO", -3, 3, 4, "HO001", 3, 15, 6, 2, 3, 2, 3, 24, 1, 3, 2, 0}, + {"HO", -3, 4, 4, "HO002", 4, 7, 2, 1, 1, 1, 3, 24, 9, 8, 6, 0}, + {"HO", -3, 5, 4, "HO002", 4, 4, 3, 0, 1, 4, 3, 24, 9, 7, 6, 0}, + {"HO", -3, 6, 4, "HO002", 3, 7, 2, 1, 1, 1, 3, 24, 9, 6, 6, 0}, + {"HO", -3, 7, 4, "HO002", 3, 4, 3, 0, 1, 4, 3, 24, 9, 5, 6, 0}, + {"HO", -3, 8, 4, "HO002", 2, 7, 2, 1, 1, 1, 3, 24, 9, 4, 6, 0}, + {"HO", -3, 9, 4, "HO002", 2, 4, 3, 0, 1, 4, 3, 24, 9, 3, 6, 0}, + {"HO", -3, 10, 4, "HO003", 4, 7, 2, 1, 1, 1, 3, 25, 5, 8, 15, 0}, + {"HO", -3, 11, 4, "HO003", 4, 4, 3, 0, 1, 4, 3, 25, 5, 7, 15, 0}, + {"HO", -3, 12, 4, "HO003", 3, 7, 2, 1, 1, 1, 3, 25, 5, 6, 15, 0}, + {"HO", -3, 13, 4, "HO003", 3, 4, 3, 0, 1, 4, 3, 25, 5, 5, 15, 0}, + {"HO", -3, 14, 4, "HO003", 2, 7, 2, 1, 1, 1, 3, 25, 5, 4, 15, 0}, + {"HO", -3, 15, 4, "HO003", 2, 4, 3, 0, 1, 4, 3, 25, 5, 3, 15, 0}, + {"HO", -3, 16, 4, "HO004", 1, 14, 7, 2, 3, 3, 7, 26, 1, 8, 2, 0}, + {"HO", -3, 17, 4, "HO004", 1, 15, 6, 2, 3, 2, 7, 26, 1, 7, 2, 0}, + {"HO", -3, 18, 4, "HO004", 2, 14, 7, 2, 3, 3, 7, 26, 1, 6, 2, 0}, + {"HO", -3, 19, 4, "HO004", 2, 15, 6, 2, 3, 2, 7, 26, 1, 5, 2, 0}, + {"HO", -3, 20, 4, "HO004", 3, 14, 7, 2, 3, 3, 7, 26, 1, 4, 2, 0}, + {"HO", -3, 21, 4, "HO004", 3, 15, 6, 2, 3, 2, 7, 26, 1, 3, 2, 0}, + {"HO", -3, 22, 4, "HO005", 1, 14, 7, 2, 3, 3, 7, 26, 9, 8, 6, 0}, + {"HO", -3, 23, 4, "HO005", 1, 15, 6, 2, 3, 2, 7, 26, 9, 7, 6, 0}, + {"HO", -3, 24, 4, "HO005", 2, 14, 7, 2, 3, 3, 7, 26, 9, 6, 6, 0}, + {"HO", -3, 25, 4, "HO005", 2, 15, 6, 2, 3, 2, 7, 26, 9, 5, 6, 0}, + {"HO", -3, 26, 4, "HO005", 3, 14, 7, 2, 3, 3, 7, 26, 9, 4, 6, 0}, + {"HO", -3, 27, 4, "HO005", 3, 15, 6, 2, 3, 2, 7, 26, 9, 3, 6, 0}, + {"HO", -3, 28, 4, "HO006", 4, 7, 2, 1, 1, 1, 7, 27, 5, 8, 15, 0}, + {"HO", -3, 29, 4, "HO006", 4, 4, 3, 0, 1, 4, 7, 27, 5, 7, 15, 0}, + {"HO", -3, 30, 4, "HO006", 3, 7, 2, 1, 1, 1, 7, 27, 5, 6, 15, 0}, + {"HO", -3, 31, 4, "HO006", 3, 4, 3, 0, 1, 4, 7, 27, 5, 5, 15, 0}, + {"HO", -3, 32, 4, "HO006", 2, 7, 2, 1, 1, 1, 7, 27, 5, 4, 15, 0}, + {"HO", -3, 33, 4, "HO006", 2, 4, 3, 0, 1, 4, 7, 27, 5, 3, 15, 0}, + {"HO", -3, 34, 4, "HO007", 4, 7, 2, 1, 1, 1, 6, 28, 1, 8, 2, 0}, + {"HO", -3, 35, 4, "HO007", 4, 4, 3, 0, 1, 4, 6, 28, 1, 7, 2, 0}, + {"HO", -3, 36, 4, "HO007", 3, 7, 2, 1, 1, 1, 6, 28, 1, 6, 2, 0}, + {"HO", -3, 37, 4, "HO007", 3, 4, 3, 0, 1, 4, 6, 28, 1, 5, 2, 0}, + {"HO", -3, 38, 4, "HO007", 2, 7, 2, 1, 1, 1, 6, 28, 1, 4, 2, 0}, + {"HO", -3, 39, 4, "HO007", 2, 4, 3, 0, 1, 4, 6, 28, 1, 3, 2, 0}, + {"HO", -3, 40, 4, "HO008", 1, 14, 7, 2, 3, 3, 6, 28, 9, 8, 6, 0}, + {"HO", -3, 41, 4, "HO008", 1, 15, 6, 2, 3, 2, 6, 28, 9, 7, 6, 0}, + {"HO", -3, 42, 4, "HO008", 2, 14, 7, 2, 3, 3, 6, 28, 9, 6, 6, 0}, + {"HO", -3, 43, 4, "HO008", 2, 15, 6, 2, 3, 2, 6, 28, 9, 5, 6, 0}, + {"HO", -3, 44, 4, "HO008", 3, 14, 7, 2, 3, 3, 6, 28, 9, 4, 6, 0}, + {"HO", -3, 45, 4, "HO008", 3, 15, 6, 2, 3, 2, 6, 28, 9, 3, 6, 0}, + {"HO", -3, 46, 4, "HO009", 1, 14, 7, 2, 3, 3, 6, 29, 5, 8, 15, 0}, + {"HO", -3, 47, 4, "HO009", 1, 15, 6, 2, 3, 2, 6, 29, 5, 7, 15, 0}, + {"HO", -3, 48, 4, "HO009", 2, 14, 7, 2, 3, 3, 6, 29, 5, 6, 15, 0}, + {"HO", -3, 49, 4, "HO009", 2, 15, 6, 2, 3, 2, 6, 29, 5, 5, 15, 0}, + {"HO", -3, 50, 4, "HO009", 3, 14, 7, 2, 3, 3, 6, 29, 5, 4, 15, 0}, + {"HO", -3, 51, 4, "HO009", 3, 15, 6, 2, 3, 2, 6, 29, 5, 3, 15, 0}, + {"HO", -3, 52, 4, "HO010", 4, 7, 2, 1, 1, 1, 13, 30, 1, 8, 2, 0}, + {"HO", -3, 53, 4, "HO010", 4, 4, 3, 0, 1, 4, 13, 30, 1, 7, 2, 0}, + {"HO", -3, 54, 4, "HO010", 3, 7, 2, 1, 1, 1, 13, 30, 1, 6, 2, 0}, + {"HO", -3, 55, 4, "HO010", 3, 4, 3, 0, 1, 4, 13, 30, 1, 5, 2, 0}, + {"HO", -3, 56, 4, "HO010", 2, 7, 2, 1, 1, 1, 13, 30, 1, 4, 2, 0}, + {"HO", -3, 57, 4, "HO010", 2, 4, 3, 0, 1, 4, 13, 30, 1, 3, 2, 0}, + {"HO", -3, 58, 4, "HO011", 4, 7, 2, 1, 1, 1, 13, 30, 9, 8, 6, 0}, + {"HO", -3, 59, 4, "HO011", 4, 4, 3, 0, 1, 4, 13, 30, 9, 7, 6, 0}, + {"HO", -3, 60, 4, "HO011", 3, 7, 2, 1, 1, 1, 13, 30, 9, 6, 6, 0}, + {"HO", -3, 61, 4, "HO011", 3, 4, 3, 0, 1, 4, 13, 30, 9, 5, 6, 0}, + {"HO", -3, 62, 4, "HO011", 2, 7, 2, 1, 1, 1, 13, 30, 9, 4, 6, 0}, + {"HO", -3, 63, 4, "HO011", 2, 4, 3, 0, 1, 4, 13, 30, 9, 3, 6, 0}, + {"HO", -3, 64, 4, "HO012", 1, 14, 7, 2, 3, 3, 13, 31, 5, 8, 15, 0}, + {"HO", -3, 65, 4, "HO012", 1, 15, 6, 2, 3, 2, 13, 31, 5, 7, 15, 0}, + {"HO", -3, 66, 4, "HO012", 2, 14, 7, 2, 3, 3, 13, 31, 5, 6, 15, 0}, + {"HO", -3, 67, 4, "HO012", 2, 15, 6, 2, 3, 2, 13, 31, 5, 5, 15, 0}, + {"HO", -3, 68, 4, "HO012", 3, 14, 7, 2, 3, 3, 13, 31, 5, 4, 15, 0}, + {"HO", -3, 69, 4, "HO012", 3, 15, 6, 2, 3, 2, 13, 31, 5, 3, 15, 0}, + {"HO", -3, 70, 4, "HO001", 1, 14, 7, 2, 3, 3, 3, 24, 1, 8, 2, 0}, + {"HO", -3, 71, 4, "HO001", 1, 15, 6, 2, 3, 2, 3, 24, 1, 7, 2, 0}, + {"HO", -2, 0, 4, "HO001", 2, 13, 7, 0, 3, 4, 3, 24, 1, 6, 2, 0}, + {"HO", -2, 1, 4, "HO001", 2, 16, 6, 1, 3, 1, 3, 24, 1, 5, 2, 0}, + {"HO", -2, 2, 4, "HO001", 3, 13, 7, 0, 3, 4, 3, 24, 1, 4, 2, 0}, + {"HO", -2, 3, 4, "HO001", 3, 16, 6, 1, 3, 1, 3, 24, 1, 3, 2, 0}, + {"HO", -2, 4, 4, "HO002", 4, 6, 2, 2, 1, 2, 3, 24, 9, 8, 6, 0}, + {"HO", -2, 5, 4, "HO002", 4, 5, 3, 2, 1, 3, 3, 24, 9, 7, 6, 0}, + {"HO", -2, 6, 4, "HO002", 3, 6, 2, 2, 1, 2, 3, 24, 9, 6, 6, 0}, + {"HO", -2, 7, 4, "HO002", 3, 5, 3, 2, 1, 3, 3, 24, 9, 5, 6, 0}, + {"HO", -2, 8, 4, "HO002", 2, 6, 2, 2, 1, 2, 3, 24, 9, 4, 6, 0}, + {"HO", -2, 9, 4, "HO002", 2, 5, 3, 2, 1, 3, 3, 24, 9, 3, 6, 0}, + {"HO", -2, 10, 4, "HO003", 4, 6, 2, 2, 1, 2, 3, 25, 5, 8, 15, 0}, + {"HO", -2, 11, 4, "HO003", 4, 5, 3, 2, 1, 3, 3, 25, 5, 7, 15, 0}, + {"HO", -2, 12, 4, "HO003", 3, 6, 2, 2, 1, 2, 3, 25, 5, 6, 15, 0}, + {"HO", -2, 13, 4, "HO003", 3, 5, 3, 2, 1, 3, 3, 25, 5, 5, 15, 0}, + {"HO", -2, 14, 4, "HO003", 2, 6, 2, 2, 1, 2, 3, 25, 5, 4, 15, 0}, + {"HO", -2, 15, 4, "HO003", 2, 5, 3, 2, 1, 3, 3, 25, 5, 3, 15, 0}, + {"HO", -2, 16, 4, "HO004", 1, 13, 7, 0, 3, 4, 7, 26, 1, 8, 2, 0}, + {"HO", -2, 17, 4, "HO004", 1, 16, 6, 1, 3, 1, 7, 26, 1, 7, 2, 0}, + {"HO", -2, 18, 4, "HO004", 2, 13, 7, 0, 3, 4, 7, 26, 1, 6, 2, 0}, + {"HO", -2, 19, 4, "HO004", 2, 16, 6, 1, 3, 1, 7, 26, 1, 5, 2, 0}, + {"HO", -2, 20, 4, "HO004", 3, 13, 7, 0, 3, 4, 7, 26, 1, 4, 2, 0}, + {"HO", -2, 21, 4, "HO004", 3, 16, 6, 1, 3, 1, 7, 26, 1, 3, 2, 0}, + {"HO", -2, 22, 4, "HO005", 1, 13, 7, 0, 3, 4, 7, 26, 9, 8, 6, 0}, + {"HO", -2, 23, 4, "HO005", 1, 16, 6, 1, 3, 1, 7, 26, 9, 7, 6, 0}, + {"HO", -2, 24, 4, "HO005", 2, 13, 7, 0, 3, 4, 7, 26, 9, 6, 6, 0}, + {"HO", -2, 25, 4, "HO005", 2, 16, 6, 1, 3, 1, 7, 26, 9, 5, 6, 0}, + {"HO", -2, 26, 4, "HO005", 3, 13, 7, 0, 3, 4, 7, 26, 9, 4, 6, 0}, + {"HO", -2, 27, 4, "HO005", 3, 16, 6, 1, 3, 1, 7, 26, 9, 3, 6, 0}, + {"HO", -2, 28, 4, "HO006", 4, 6, 2, 2, 1, 2, 7, 27, 5, 8, 15, 0}, + {"HO", -2, 29, 4, "HO006", 4, 5, 3, 2, 1, 3, 7, 27, 5, 7, 15, 0}, + {"HO", -2, 30, 4, "HO006", 3, 6, 2, 2, 1, 2, 7, 27, 5, 6, 15, 0}, + {"HO", -2, 31, 4, "HO006", 3, 5, 3, 2, 1, 3, 7, 27, 5, 5, 15, 0}, + {"HO", -2, 32, 4, "HO006", 2, 6, 2, 2, 1, 2, 7, 27, 5, 4, 15, 0}, + {"HO", -2, 33, 4, "HO006", 2, 5, 3, 2, 1, 3, 7, 27, 5, 3, 15, 0}, + {"HO", -2, 34, 4, "HO007", 4, 6, 2, 2, 1, 2, 6, 28, 1, 8, 2, 0}, + {"HO", -2, 35, 4, "HO007", 4, 5, 3, 2, 1, 3, 6, 28, 1, 7, 2, 0}, + {"HO", -2, 36, 4, "HO007", 3, 6, 2, 2, 1, 2, 6, 28, 1, 6, 2, 0}, + {"HO", -2, 37, 4, "HO007", 3, 5, 3, 2, 1, 3, 6, 28, 1, 5, 2, 0}, + {"HO", -2, 38, 4, "HO007", 2, 6, 2, 2, 1, 2, 6, 28, 1, 4, 2, 0}, + {"HO", -2, 39, 4, "HO007", 2, 5, 3, 2, 1, 3, 6, 28, 1, 3, 2, 0}, + {"HO", -2, 40, 4, "HO008", 1, 13, 7, 0, 3, 4, 6, 28, 9, 8, 6, 0}, + {"HO", -2, 41, 4, "HO008", 1, 16, 6, 1, 3, 1, 6, 28, 9, 7, 6, 0}, + {"HO", -2, 42, 4, "HO008", 2, 13, 7, 0, 3, 4, 6, 28, 9, 6, 6, 0}, + {"HO", -2, 43, 4, "HO008", 2, 16, 6, 1, 3, 1, 6, 28, 9, 5, 6, 0}, + {"HO", -2, 44, 4, "HO008", 3, 13, 7, 0, 3, 4, 6, 28, 9, 4, 6, 0}, + {"HO", -2, 45, 4, "HO008", 3, 16, 6, 1, 3, 1, 6, 28, 9, 3, 6, 0}, + {"HO", -2, 46, 4, "HO009", 1, 13, 7, 0, 3, 4, 6, 29, 5, 8, 15, 0}, + {"HO", -2, 47, 4, "HO009", 1, 16, 6, 1, 3, 1, 6, 29, 5, 7, 15, 0}, + {"HO", -2, 48, 4, "HO009", 2, 13, 7, 0, 3, 4, 6, 29, 5, 6, 15, 0}, + {"HO", -2, 49, 4, "HO009", 2, 16, 6, 1, 3, 1, 6, 29, 5, 5, 15, 0}, + {"HO", -2, 50, 4, "HO009", 3, 13, 7, 0, 3, 4, 6, 29, 5, 4, 15, 0}, + {"HO", -2, 51, 4, "HO009", 3, 16, 6, 1, 3, 1, 6, 29, 5, 3, 15, 0}, + {"HO", -2, 52, 4, "HO010", 4, 6, 2, 2, 1, 2, 13, 30, 1, 8, 2, 0}, + {"HO", -2, 53, 4, "HO010", 4, 5, 3, 2, 1, 3, 13, 30, 1, 7, 2, 0}, + {"HO", -2, 54, 4, "HO010", 3, 6, 2, 2, 1, 2, 13, 30, 1, 6, 2, 0}, + {"HO", -2, 55, 4, "HO010", 3, 5, 3, 2, 1, 3, 13, 30, 1, 5, 2, 0}, + {"HO", -2, 56, 4, "HO010", 2, 6, 2, 2, 1, 2, 13, 30, 1, 4, 2, 0}, + {"HO", -2, 57, 4, "HO010", 2, 5, 3, 2, 1, 3, 13, 30, 1, 3, 2, 0}, + {"HO", -2, 58, 4, "HO011", 4, 6, 2, 2, 1, 2, 13, 30, 9, 8, 6, 0}, + {"HO", -2, 59, 4, "HO011", 4, 5, 3, 2, 1, 3, 13, 30, 9, 7, 6, 0}, + {"HO", -2, 60, 4, "HO011", 3, 6, 2, 2, 1, 2, 13, 30, 9, 6, 6, 0}, + {"HO", -2, 61, 4, "HO011", 3, 5, 3, 2, 1, 3, 13, 30, 9, 5, 6, 0}, + {"HO", -2, 62, 4, "HO011", 2, 6, 2, 2, 1, 2, 13, 30, 9, 4, 6, 0}, + {"HO", -2, 63, 4, "HO011", 2, 5, 3, 2, 1, 3, 13, 30, 9, 3, 6, 0}, + {"HO", -2, 64, 4, "HO012", 1, 13, 7, 0, 3, 4, 13, 31, 5, 8, 15, 0}, + {"HO", -2, 65, 4, "HO012", 1, 16, 6, 1, 3, 1, 13, 31, 5, 7, 15, 0}, + {"HO", -2, 66, 4, "HO012", 2, 13, 7, 0, 3, 4, 13, 31, 5, 6, 15, 0}, + {"HO", -2, 67, 4, "HO012", 2, 16, 6, 1, 3, 1, 13, 31, 5, 5, 15, 0}, + {"HO", -2, 68, 4, "HO012", 3, 13, 7, 0, 3, 4, 13, 31, 5, 4, 15, 0}, + {"HO", -2, 69, 4, "HO012", 3, 16, 6, 1, 3, 1, 13, 31, 5, 3, 15, 0}, + {"HO", -2, 70, 4, "HO001", 1, 13, 7, 0, 3, 4, 3, 24, 1, 8, 2, 0}, + {"HO", -2, 71, 4, "HO001", 1, 16, 6, 1, 3, 1, 3, 24, 1, 7, 2, 0}, + {"HO", -1, 0, 4, "HO001", 2, 9, 7, 1, 3, 5, 3, 24, 1, 6, 2, 0}, + {"HO", -1, 1, 4, "HO001", 2, 11, 6, 0, 3, 0, 3, 24, 1, 5, 2, 0}, + {"HO", -1, 2, 4, "HO001", 3, 9, 7, 1, 3, 5, 3, 24, 1, 4, 2, 0}, + {"HO", -1, 3, 4, "HO001", 3, 11, 6, 0, 3, 0, 3, 24, 1, 3, 2, 0}, + {"HO", -1, 4, 4, "HO002", 4, 12, 2, 0, 1, 0, 3, 24, 9, 8, 6, 0}, + {"HO", -1, 5, 4, "HO002", 4, 8, 3, 1, 1, 5, 3, 24, 9, 7, 6, 0}, + {"HO", -1, 6, 4, "HO002", 3, 12, 2, 0, 1, 0, 3, 24, 9, 6, 6, 0}, + {"HO", -1, 7, 4, "HO002", 3, 8, 3, 1, 1, 5, 3, 24, 9, 5, 6, 0}, + {"HO", -1, 8, 4, "HO002", 2, 12, 2, 0, 1, 0, 3, 24, 9, 4, 6, 0}, + {"HO", -1, 9, 4, "HO002", 2, 8, 3, 1, 1, 5, 3, 24, 9, 3, 6, 0}, + {"HO", -1, 10, 4, "HO003", 4, 12, 2, 0, 1, 0, 3, 25, 5, 8, 15, 0}, + {"HO", -1, 11, 4, "HO003", 4, 8, 3, 1, 1, 5, 3, 25, 5, 7, 15, 0}, + {"HO", -1, 12, 4, "HO003", 3, 12, 2, 0, 1, 0, 3, 25, 5, 6, 15, 0}, + {"HO", -1, 13, 4, "HO003", 3, 8, 3, 1, 1, 5, 3, 25, 5, 5, 15, 0}, + {"HO", -1, 14, 4, "HO003", 2, 12, 2, 0, 1, 0, 3, 25, 5, 4, 15, 0}, + {"HO", -1, 15, 4, "HO003", 2, 8, 3, 1, 1, 5, 3, 25, 5, 3, 15, 0}, + {"HO", -1, 16, 4, "HO004", 1, 9, 7, 1, 3, 5, 7, 26, 1, 8, 2, 0}, + {"HO", -1, 17, 4, "HO004", 1, 11, 6, 0, 3, 0, 7, 26, 1, 7, 2, 0}, + {"HO", -1, 18, 4, "HO004", 2, 9, 7, 1, 3, 5, 7, 26, 1, 6, 2, 0}, + {"HO", -1, 19, 4, "HO004", 2, 11, 6, 0, 3, 0, 7, 26, 1, 5, 2, 0}, + {"HO", -1, 20, 4, "HO004", 3, 9, 7, 1, 3, 5, 7, 26, 1, 4, 2, 0}, + {"HO", -1, 21, 4, "HO004", 3, 11, 6, 0, 3, 0, 7, 26, 1, 3, 2, 0}, + {"HO", -1, 22, 4, "HO005", 1, 9, 7, 1, 3, 5, 7, 26, 9, 8, 6, 0}, + {"HO", -1, 23, 4, "HO005", 1, 11, 6, 0, 3, 0, 7, 26, 9, 7, 6, 0}, + {"HO", -1, 24, 4, "HO005", 2, 9, 7, 1, 3, 5, 7, 26, 9, 6, 6, 0}, + {"HO", -1, 25, 4, "HO005", 2, 11, 6, 0, 3, 0, 7, 26, 9, 5, 6, 0}, + {"HO", -1, 26, 4, "HO005", 3, 9, 7, 1, 3, 5, 7, 26, 9, 4, 6, 0}, + {"HO", -1, 27, 4, "HO005", 3, 11, 6, 0, 3, 0, 7, 26, 9, 3, 6, 0}, + {"HO", -1, 28, 4, "HO006", 4, 12, 2, 0, 1, 0, 7, 27, 5, 8, 15, 0}, + {"HO", -1, 29, 4, "HO006", 4, 8, 3, 1, 1, 5, 7, 27, 5, 7, 15, 0}, + {"HO", -1, 30, 4, "HO006", 3, 12, 2, 0, 1, 0, 7, 27, 5, 6, 15, 0}, + {"HO", -1, 31, 4, "HO006", 3, 8, 3, 1, 1, 5, 7, 27, 5, 5, 15, 0}, + {"HO", -1, 32, 4, "HO006", 2, 12, 2, 0, 1, 0, 7, 27, 5, 4, 15, 0}, + {"HO", -1, 33, 4, "HO006", 2, 8, 3, 1, 1, 5, 7, 27, 5, 3, 15, 0}, + {"HO", -1, 34, 4, "HO007", 4, 12, 2, 0, 1, 0, 6, 28, 1, 8, 2, 0}, + {"HO", -1, 35, 4, "HO007", 4, 8, 3, 1, 1, 5, 6, 28, 1, 7, 2, 0}, + {"HO", -1, 36, 4, "HO007", 3, 12, 2, 0, 1, 0, 6, 28, 1, 6, 2, 0}, + {"HO", -1, 37, 4, "HO007", 3, 8, 3, 1, 1, 5, 6, 28, 1, 5, 2, 0}, + {"HO", -1, 38, 4, "HO007", 2, 12, 2, 0, 1, 0, 6, 28, 1, 4, 2, 0}, + {"HO", -1, 39, 4, "HO007", 2, 8, 3, 1, 1, 5, 6, 28, 1, 3, 2, 0}, + {"HO", -1, 40, 4, "HO008", 1, 9, 7, 1, 3, 5, 6, 28, 9, 8, 6, 0}, + {"HO", -1, 41, 4, "HO008", 1, 11, 6, 0, 3, 0, 6, 28, 9, 7, 6, 0}, + {"HO", -1, 42, 4, "HO008", 2, 9, 7, 1, 3, 5, 6, 28, 9, 6, 6, 0}, + {"HO", -1, 43, 4, "HO008", 2, 11, 6, 0, 3, 0, 6, 28, 9, 5, 6, 0}, + {"HO", -1, 44, 4, "HO008", 3, 9, 7, 1, 3, 5, 6, 28, 9, 4, 6, 0}, + {"HO", -1, 45, 4, "HO008", 3, 11, 6, 0, 3, 0, 6, 28, 9, 3, 6, 0}, + {"HO", -1, 46, 4, "HO009", 1, 9, 7, 1, 3, 5, 6, 29, 5, 8, 15, 0}, + {"HO", -1, 47, 4, "HO009", 1, 11, 6, 0, 3, 0, 6, 29, 5, 7, 15, 0}, + {"HO", -1, 48, 4, "HO009", 2, 9, 7, 1, 3, 5, 6, 29, 5, 6, 15, 0}, + {"HO", -1, 49, 4, "HO009", 2, 11, 6, 0, 3, 0, 6, 29, 5, 5, 15, 0}, + {"HO", -1, 50, 4, "HO009", 3, 9, 7, 1, 3, 5, 6, 29, 5, 4, 15, 0}, + {"HO", -1, 51, 4, "HO009", 3, 11, 6, 0, 3, 0, 6, 29, 5, 3, 15, 0}, + {"HO", -1, 52, 4, "HO010", 4, 12, 2, 0, 1, 0, 13, 30, 1, 8, 2, 0}, + {"HO", -1, 53, 4, "HO010", 4, 8, 3, 1, 1, 5, 13, 30, 1, 7, 2, 0}, + {"HO", -1, 54, 4, "HO010", 3, 12, 2, 0, 1, 0, 13, 30, 1, 6, 2, 0}, + {"HO", -1, 55, 4, "HO010", 3, 8, 3, 1, 1, 5, 13, 30, 1, 5, 2, 0}, + {"HO", -1, 56, 4, "HO010", 2, 12, 2, 0, 1, 0, 13, 30, 1, 4, 2, 0}, + {"HO", -1, 57, 4, "HO010", 2, 8, 3, 1, 1, 5, 13, 30, 1, 3, 2, 0}, + {"HO", -1, 58, 4, "HO011", 4, 12, 2, 0, 1, 0, 13, 30, 9, 8, 6, 0}, + {"HO", -1, 59, 4, "HO011", 4, 8, 3, 1, 1, 5, 13, 30, 9, 7, 6, 0}, + {"HO", -1, 60, 4, "HO011", 3, 12, 2, 0, 1, 0, 13, 30, 9, 6, 6, 0}, + {"HO", -1, 61, 4, "HO011", 3, 8, 3, 1, 1, 5, 13, 30, 9, 5, 6, 0}, + {"HO", -1, 62, 4, "HO011", 2, 12, 2, 0, 1, 0, 13, 30, 9, 4, 6, 0}, + {"HO", -1, 63, 4, "HO011", 2, 8, 3, 1, 1, 5, 13, 30, 9, 3, 6, 0}, + {"HO", -1, 64, 4, "HO012", 1, 9, 7, 1, 3, 5, 13, 31, 5, 8, 15, 0}, + {"HO", -1, 65, 4, "HO012", 1, 11, 6, 0, 3, 0, 13, 31, 5, 7, 15, 0}, + {"HO", -1, 66, 4, "HO012", 2, 9, 7, 1, 3, 5, 13, 31, 5, 6, 15, 0}, + {"HO", -1, 67, 4, "HO012", 2, 11, 6, 0, 3, 0, 13, 31, 5, 5, 15, 0}, + {"HO", -1, 68, 4, "HO012", 3, 9, 7, 1, 3, 5, 13, 31, 5, 4, 15, 0}, + {"HO", -1, 69, 4, "HO012", 3, 11, 6, 0, 3, 0, 13, 31, 5, 3, 15, 0}, + {"HO", -1, 70, 4, "HO001", 1, 9, 7, 1, 3, 5, 3, 24, 1, 8, 2, 0}, + {"HO", -1, 71, 4, "HO001", 1, 11, 6, 0, 3, 0, 3, 24, 1, 7, 2, 0}, + {"HO", 0, 0, 4, "HO001", 2, 8, 3, 1, 1, 5, 3, 24, 0, 8, 2, 1}, + {"HO", 0, 1, 4, "HO001", 2, 12, 2, 0, 1, 0, 3, 24, 0, 7, 2, 1}, + {"HO", 0, 2, 4, "HO001", 3, 8, 3, 1, 1, 5, 3, 24, 0, 6, 2, 1}, + {"HO", 0, 3, 4, "HO001", 3, 12, 2, 0, 1, 0, 3, 24, 0, 5, 2, 1}, + {"HO", 0, 4, 4, "HO002", 4, 11, 6, 0, 3, 0, 3, 24, 9, 2, 6, 0}, + {"HO", 0, 5, 4, "HO002", 4, 9, 7, 1, 3, 5, 3, 24, 9, 1, 6, 0}, + {"HO", 0, 6, 4, "HO002", 3, 11, 6, 0, 3, 0, 3, 24, 8, 8, 6, 1}, + {"HO", 0, 7, 4, "HO002", 3, 9, 7, 1, 3, 5, 3, 24, 8, 7, 6, 1}, + {"HO", 0, 8, 4, "HO002", 2, 11, 6, 0, 3, 0, 3, 24, 8, 6, 6, 1}, + {"HO", 0, 9, 4, "HO002", 2, 9, 7, 1, 3, 5, 3, 24, 8, 5, 6, 1}, + {"HO", 0, 10, 4, "HO003", 4, 11, 6, 0, 3, 0, 3, 25, 5, 2, 15, 0}, + {"HO", 0, 11, 4, "HO003", 4, 9, 7, 1, 3, 5, 3, 25, 5, 1, 15, 0}, + {"HO", 0, 12, 4, "HO003", 3, 11, 6, 0, 3, 0, 3, 25, 4, 8, 15, 1}, + {"HO", 0, 13, 4, "HO003", 3, 9, 7, 1, 3, 5, 3, 25, 4, 7, 15, 1}, + {"HO", 0, 14, 4, "HO003", 2, 11, 6, 0, 3, 0, 3, 25, 4, 6, 15, 1}, + {"HO", 0, 15, 4, "HO003", 2, 9, 7, 1, 3, 5, 3, 25, 4, 5, 15, 1}, + {"HO", 0, 16, 4, "HO004", 1, 8, 3, 1, 1, 5, 7, 26, 1, 2, 2, 0}, + {"HO", 0, 17, 4, "HO004", 1, 12, 2, 0, 1, 0, 7, 26, 1, 1, 2, 0}, + {"HO", 0, 18, 4, "HO004", 2, 8, 3, 1, 1, 5, 7, 26, 0, 8, 2, 1}, + {"HO", 0, 19, 4, "HO004", 2, 12, 2, 0, 1, 0, 7, 26, 0, 7, 2, 1}, + {"HO", 0, 20, 4, "HO004", 3, 8, 3, 1, 1, 5, 7, 26, 0, 6, 2, 1}, + {"HO", 0, 21, 4, "HO004", 3, 12, 2, 0, 1, 0, 7, 26, 0, 5, 2, 1}, + {"HO", 0, 22, 4, "HO005", 1, 8, 3, 1, 1, 5, 7, 26, 9, 2, 6, 0}, + {"HO", 0, 23, 4, "HO005", 1, 12, 2, 0, 1, 0, 7, 26, 9, 1, 6, 0}, + {"HO", 0, 24, 4, "HO005", 2, 8, 3, 1, 1, 5, 7, 26, 8, 8, 6, 1}, + {"HO", 0, 25, 4, "HO005", 2, 12, 2, 0, 1, 0, 7, 26, 8, 7, 6, 1}, + {"HO", 0, 26, 4, "HO005", 3, 8, 3, 1, 1, 5, 7, 26, 8, 6, 6, 1}, + {"HO", 0, 27, 4, "HO005", 3, 12, 2, 0, 1, 0, 7, 26, 8, 5, 6, 1}, + {"HO", 0, 28, 4, "HO006", 4, 11, 6, 0, 3, 0, 7, 27, 5, 2, 15, 0}, + {"HO", 0, 29, 4, "HO006", 4, 9, 7, 1, 3, 5, 7, 27, 5, 1, 15, 0}, + {"HO", 0, 30, 4, "HO006", 3, 11, 6, 0, 3, 0, 7, 27, 4, 8, 15, 1}, + {"HO", 0, 31, 4, "HO006", 3, 9, 7, 1, 3, 5, 7, 27, 4, 7, 15, 1}, + {"HO", 0, 32, 4, "HO006", 2, 11, 6, 0, 3, 0, 7, 27, 4, 6, 15, 1}, + {"HO", 0, 33, 4, "HO006", 2, 9, 7, 1, 3, 5, 7, 27, 4, 5, 15, 1}, + {"HO", 0, 34, 4, "HO007", 4, 11, 6, 0, 3, 0, 6, 28, 1, 2, 2, 0}, + {"HO", 0, 35, 4, "HO007", 4, 9, 7, 1, 3, 5, 6, 28, 1, 1, 2, 0}, + {"HO", 0, 36, 4, "HO007", 3, 11, 6, 0, 3, 0, 6, 28, 0, 8, 2, 1}, + {"HO", 0, 37, 4, "HO007", 3, 9, 7, 1, 3, 5, 6, 28, 0, 7, 2, 1}, + {"HO", 0, 38, 4, "HO007", 2, 11, 6, 0, 3, 0, 6, 28, 0, 6, 2, 1}, + {"HO", 0, 39, 4, "HO007", 2, 9, 7, 1, 3, 5, 6, 28, 0, 5, 2, 1}, + {"HO", 0, 40, 4, "HO008", 1, 8, 3, 1, 1, 5, 6, 28, 9, 2, 6, 0}, + {"HO", 0, 41, 4, "HO008", 1, 12, 2, 0, 1, 0, 6, 28, 9, 1, 6, 0}, + {"HO", 0, 42, 4, "HO008", 2, 8, 3, 1, 1, 5, 6, 28, 8, 8, 6, 1}, + {"HO", 0, 43, 4, "HO008", 2, 12, 2, 0, 1, 0, 6, 28, 8, 7, 6, 1}, + {"HO", 0, 44, 4, "HO008", 3, 8, 3, 1, 1, 5, 6, 28, 8, 6, 6, 1}, + {"HO", 0, 45, 4, "HO008", 3, 12, 2, 0, 1, 0, 6, 28, 8, 5, 6, 1}, + {"HO", 0, 46, 4, "HO009", 1, 8, 3, 1, 1, 5, 6, 29, 5, 2, 15, 0}, + {"HO", 0, 47, 4, "HO009", 1, 12, 2, 0, 1, 0, 6, 29, 5, 1, 15, 0}, + {"HO", 0, 48, 4, "HO009", 2, 8, 3, 1, 1, 5, 6, 29, 4, 8, 15, 1}, + {"HO", 0, 49, 4, "HO009", 2, 12, 2, 0, 1, 0, 6, 29, 4, 7, 15, 1}, + {"HO", 0, 50, 4, "HO009", 3, 8, 3, 1, 1, 5, 6, 29, 4, 6, 15, 1}, + {"HO", 0, 51, 4, "HO009", 3, 12, 2, 0, 1, 0, 6, 29, 4, 5, 15, 1}, + {"HO", 0, 52, 4, "HO010", 4, 11, 6, 0, 3, 0, 13, 30, 1, 2, 2, 0}, + {"HO", 0, 53, 4, "HO010", 4, 9, 7, 1, 3, 5, 13, 30, 1, 1, 2, 0}, + {"HO", 0, 54, 4, "HO010", 3, 11, 6, 0, 3, 0, 13, 30, 0, 8, 2, 1}, + {"HO", 0, 55, 4, "HO010", 3, 9, 7, 1, 3, 5, 13, 30, 0, 7, 2, 1}, + {"HO", 0, 56, 4, "HO010", 2, 11, 6, 0, 3, 0, 13, 30, 0, 6, 2, 1}, + {"HO", 0, 57, 4, "HO010", 2, 9, 7, 1, 3, 5, 13, 30, 0, 5, 2, 1}, + {"HO", 0, 58, 4, "HO011", 4, 11, 6, 0, 3, 0, 13, 30, 9, 2, 6, 0}, + {"HO", 0, 59, 4, "HO011", 4, 9, 7, 1, 3, 5, 13, 30, 9, 1, 6, 0}, + {"HO", 0, 60, 4, "HO011", 3, 11, 6, 0, 3, 0, 13, 30, 8, 8, 6, 1}, + {"HO", 0, 61, 4, "HO011", 3, 9, 7, 1, 3, 5, 13, 30, 8, 7, 6, 1}, + {"HO", 0, 62, 4, "HO011", 2, 11, 6, 0, 3, 0, 13, 30, 8, 6, 6, 1}, + {"HO", 0, 63, 4, "HO011", 2, 9, 7, 1, 3, 5, 13, 30, 8, 5, 6, 1}, + {"HO", 0, 64, 4, "HO012", 1, 8, 3, 1, 1, 5, 13, 31, 5, 2, 15, 0}, + {"HO", 0, 65, 4, "HO012", 1, 12, 2, 0, 1, 0, 13, 31, 5, 1, 15, 0}, + {"HO", 0, 66, 4, "HO012", 2, 8, 3, 1, 1, 5, 13, 31, 4, 8, 15, 1}, + {"HO", 0, 67, 4, "HO012", 2, 12, 2, 0, 1, 0, 13, 31, 4, 7, 15, 1}, + {"HO", 0, 68, 4, "HO012", 3, 8, 3, 1, 1, 5, 13, 31, 4, 6, 15, 1}, + {"HO", 0, 69, 4, "HO012", 3, 12, 2, 0, 1, 0, 13, 31, 4, 5, 15, 1}, + {"HO", 0, 70, 4, "HO001", 1, 8, 3, 1, 1, 5, 3, 24, 1, 2, 2, 0}, + {"HO", 0, 71, 4, "HO001", 1, 12, 2, 0, 1, 0, 3, 24, 1, 1, 2, 0}, + {"HO", 1, 0, 4, "HO001", 2, 5, 3, 2, 1, 3, 3, 24, 0, 8, 2, 1}, + {"HO", 1, 1, 4, "HO001", 2, 6, 2, 2, 1, 2, 3, 24, 0, 7, 2, 1}, + {"HO", 1, 2, 4, "HO001", 3, 5, 3, 2, 1, 3, 3, 24, 0, 6, 2, 1}, + {"HO", 1, 3, 4, "HO001", 3, 6, 2, 2, 1, 2, 3, 24, 0, 5, 2, 1}, + {"HO", 1, 4, 4, "HO002", 4, 16, 6, 1, 3, 1, 3, 24, 9, 2, 6, 0}, + {"HO", 1, 5, 4, "HO002", 4, 13, 7, 0, 3, 4, 3, 24, 9, 1, 6, 0}, + {"HO", 1, 6, 4, "HO002", 3, 16, 6, 1, 3, 1, 3, 24, 8, 8, 6, 1}, + {"HO", 1, 7, 4, "HO002", 3, 13, 7, 0, 3, 4, 3, 24, 8, 7, 6, 1}, + {"HO", 1, 8, 4, "HO002", 2, 16, 6, 1, 3, 1, 3, 24, 8, 6, 6, 1}, + {"HO", 1, 9, 4, "HO002", 2, 13, 7, 0, 3, 4, 3, 24, 8, 5, 6, 1}, + {"HO", 1, 10, 4, "HO003", 4, 16, 6, 1, 3, 1, 3, 25, 5, 2, 15, 0}, + {"HO", 1, 11, 4, "HO003", 4, 13, 7, 0, 3, 4, 3, 25, 5, 1, 15, 0}, + {"HO", 1, 12, 4, "HO003", 3, 16, 6, 1, 3, 1, 3, 25, 4, 8, 15, 1}, + {"HO", 1, 13, 4, "HO003", 3, 13, 7, 0, 3, 4, 3, 25, 4, 7, 15, 1}, + {"HO", 1, 14, 4, "HO003", 2, 16, 6, 1, 3, 1, 3, 25, 4, 6, 15, 1}, + {"HO", 1, 15, 4, "HO003", 2, 13, 7, 0, 3, 4, 3, 25, 4, 5, 15, 1}, + {"HO", 1, 16, 4, "HO004", 1, 5, 3, 2, 1, 3, 7, 26, 1, 2, 2, 0}, + {"HO", 1, 17, 4, "HO004", 1, 6, 2, 2, 1, 2, 7, 26, 1, 1, 2, 0}, + {"HO", 1, 18, 4, "HO004", 2, 5, 3, 2, 1, 3, 7, 26, 0, 8, 2, 1}, + {"HO", 1, 19, 4, "HO004", 2, 6, 2, 2, 1, 2, 7, 26, 0, 7, 2, 1}, + {"HO", 1, 20, 4, "HO004", 3, 5, 3, 2, 1, 3, 7, 26, 0, 6, 2, 1}, + {"HO", 1, 21, 4, "HO004", 3, 6, 2, 2, 1, 2, 7, 26, 0, 5, 2, 1}, + {"HO", 1, 22, 4, "HO005", 1, 5, 3, 2, 1, 3, 7, 26, 9, 2, 6, 0}, + {"HO", 1, 23, 4, "HO005", 1, 6, 2, 2, 1, 2, 7, 26, 9, 1, 6, 0}, + {"HO", 1, 24, 4, "HO005", 2, 5, 3, 2, 1, 3, 7, 26, 8, 8, 6, 1}, + {"HO", 1, 25, 4, "HO005", 2, 6, 2, 2, 1, 2, 7, 26, 8, 7, 6, 1}, + {"HO", 1, 26, 4, "HO005", 3, 5, 3, 2, 1, 3, 7, 26, 8, 6, 6, 1}, + {"HO", 1, 27, 4, "HO005", 3, 6, 2, 2, 1, 2, 7, 26, 8, 5, 6, 1}, + {"HO", 1, 28, 4, "HO006", 4, 16, 6, 1, 3, 1, 7, 27, 5, 2, 15, 0}, + {"HO", 1, 29, 4, "HO006", 4, 13, 7, 0, 3, 4, 7, 27, 5, 1, 15, 0}, + {"HO", 1, 30, 4, "HO006", 3, 16, 6, 1, 3, 1, 7, 27, 4, 8, 15, 1}, + {"HO", 1, 31, 4, "HO006", 3, 13, 7, 0, 3, 4, 7, 27, 4, 7, 15, 1}, + {"HO", 1, 32, 4, "HO006", 2, 16, 6, 1, 3, 1, 7, 27, 4, 6, 15, 1}, + {"HO", 1, 33, 4, "HO006", 2, 13, 7, 0, 3, 4, 7, 27, 4, 5, 15, 1}, + {"HO", 1, 34, 4, "HO007", 4, 16, 6, 1, 3, 1, 6, 28, 1, 2, 2, 0}, + {"HO", 1, 35, 4, "HO007", 4, 13, 7, 0, 3, 4, 6, 28, 1, 1, 2, 0}, + {"HO", 1, 36, 4, "HO007", 3, 16, 6, 1, 3, 1, 6, 28, 0, 8, 2, 1}, + {"HO", 1, 37, 4, "HO007", 3, 13, 7, 0, 3, 4, 6, 28, 0, 7, 2, 1}, + {"HO", 1, 38, 4, "HO007", 2, 16, 6, 1, 3, 1, 6, 28, 0, 6, 2, 1}, + {"HO", 1, 39, 4, "HO007", 2, 13, 7, 0, 3, 4, 6, 28, 0, 5, 2, 1}, + {"HO", 1, 40, 4, "HO008", 1, 5, 3, 2, 1, 3, 6, 28, 9, 2, 6, 0}, + {"HO", 1, 41, 4, "HO008", 1, 6, 2, 2, 1, 2, 6, 28, 9, 1, 6, 0}, + {"HO", 1, 42, 4, "HO008", 2, 5, 3, 2, 1, 3, 6, 28, 8, 8, 6, 1}, + {"HO", 1, 43, 4, "HO008", 2, 6, 2, 2, 1, 2, 6, 28, 8, 7, 6, 1}, + {"HO", 1, 44, 4, "HO008", 3, 5, 3, 2, 1, 3, 6, 28, 8, 6, 6, 1}, + {"HO", 1, 45, 4, "HO008", 3, 6, 2, 2, 1, 2, 6, 28, 8, 5, 6, 1}, + {"HO", 1, 46, 4, "HO009", 1, 5, 3, 2, 1, 3, 6, 29, 5, 2, 15, 0}, + {"HO", 1, 47, 4, "HO009", 1, 6, 2, 2, 1, 2, 6, 29, 5, 1, 15, 0}, + {"HO", 1, 48, 4, "HO009", 2, 5, 3, 2, 1, 3, 6, 29, 4, 8, 15, 1}, + {"HO", 1, 49, 4, "HO009", 2, 6, 2, 2, 1, 2, 6, 29, 4, 7, 15, 1}, + {"HO", 1, 50, 4, "HO009", 3, 5, 3, 2, 1, 3, 6, 29, 4, 6, 15, 1}, + {"HO", 1, 51, 4, "HO009", 3, 6, 2, 2, 1, 2, 6, 29, 4, 5, 15, 1}, + {"HO", 1, 52, 4, "HO010", 4, 16, 6, 1, 3, 1, 13, 30, 1, 2, 2, 0}, + {"HO", 1, 53, 4, "HO010", 4, 13, 7, 0, 3, 4, 13, 30, 1, 1, 2, 0}, + {"HO", 1, 54, 4, "HO010", 3, 16, 6, 1, 3, 1, 13, 30, 0, 8, 2, 1}, + {"HO", 1, 55, 4, "HO010", 3, 13, 7, 0, 3, 4, 13, 30, 0, 7, 2, 1}, + {"HO", 1, 56, 4, "HO010", 2, 16, 6, 1, 3, 1, 13, 30, 0, 6, 2, 1}, + {"HO", 1, 57, 4, "HO010", 2, 13, 7, 0, 3, 4, 13, 30, 0, 5, 2, 1}, + {"HO", 1, 58, 4, "HO011", 4, 16, 6, 1, 3, 1, 13, 30, 9, 2, 6, 0}, + {"HO", 1, 59, 4, "HO011", 4, 13, 7, 0, 3, 4, 13, 30, 9, 1, 6, 0}, + {"HO", 1, 60, 4, "HO011", 3, 16, 6, 1, 3, 1, 13, 30, 8, 8, 6, 1}, + {"HO", 1, 61, 4, "HO011", 3, 13, 7, 0, 3, 4, 13, 30, 8, 7, 6, 1}, + {"HO", 1, 62, 4, "HO011", 2, 16, 6, 1, 3, 1, 13, 30, 8, 6, 6, 1}, + {"HO", 1, 63, 4, "HO011", 2, 13, 7, 0, 3, 4, 13, 30, 8, 5, 6, 1}, + {"HO", 1, 64, 4, "HO012", 1, 5, 3, 2, 1, 3, 13, 31, 5, 2, 15, 0}, + {"HO", 1, 65, 4, "HO012", 1, 6, 2, 2, 1, 2, 13, 31, 5, 1, 15, 0}, + {"HO", 1, 66, 4, "HO012", 2, 5, 3, 2, 1, 3, 13, 31, 4, 8, 15, 1}, + {"HO", 1, 67, 4, "HO012", 2, 6, 2, 2, 1, 2, 13, 31, 4, 7, 15, 1}, + {"HO", 1, 68, 4, "HO012", 3, 5, 3, 2, 1, 3, 13, 31, 4, 6, 15, 1}, + {"HO", 1, 69, 4, "HO012", 3, 6, 2, 2, 1, 2, 13, 31, 4, 5, 15, 1}, + {"HO", 1, 70, 4, "HO001", 1, 5, 3, 2, 1, 3, 3, 24, 1, 2, 2, 0}, + {"HO", 1, 71, 4, "HO001", 1, 6, 2, 2, 1, 2, 3, 24, 1, 1, 2, 0}, + {"HO", 2, 0, 4, "HO001", 2, 4, 3, 0, 1, 4, 3, 24, 0, 8, 2, 1}, + {"HO", 2, 1, 4, "HO001", 2, 7, 2, 1, 1, 1, 3, 24, 0, 7, 2, 1}, + {"HO", 2, 2, 4, "HO001", 3, 4, 3, 0, 1, 4, 3, 24, 0, 6, 2, 1}, + {"HO", 2, 3, 4, "HO001", 3, 7, 2, 1, 1, 1, 3, 24, 0, 5, 2, 1}, + {"HO", 2, 4, 4, "HO002", 4, 15, 6, 2, 3, 2, 3, 24, 9, 2, 6, 0}, + {"HO", 2, 5, 4, "HO002", 4, 14, 7, 2, 3, 3, 3, 24, 9, 1, 6, 0}, + {"HO", 2, 6, 4, "HO002", 3, 15, 6, 2, 3, 2, 3, 24, 8, 8, 6, 1}, + {"HO", 2, 7, 4, "HO002", 3, 14, 7, 2, 3, 3, 3, 24, 8, 7, 6, 1}, + {"HO", 2, 8, 4, "HO002", 2, 15, 6, 2, 3, 2, 3, 24, 8, 6, 6, 1}, + {"HO", 2, 9, 4, "HO002", 2, 14, 7, 2, 3, 3, 3, 24, 8, 5, 6, 1}, + {"HO", 2, 10, 4, "HO003", 4, 15, 6, 2, 3, 2, 3, 25, 5, 2, 15, 0}, + {"HO", 2, 11, 4, "HO003", 4, 14, 7, 2, 3, 3, 3, 25, 5, 1, 15, 0}, + {"HO", 2, 12, 4, "HO003", 3, 15, 6, 2, 3, 2, 3, 25, 4, 8, 15, 1}, + {"HO", 2, 13, 4, "HO003", 3, 14, 7, 2, 3, 3, 3, 25, 4, 7, 15, 1}, + {"HO", 2, 14, 4, "HO003", 2, 15, 6, 2, 3, 2, 3, 25, 4, 6, 15, 1}, + {"HO", 2, 15, 4, "HO003", 2, 14, 7, 2, 3, 3, 3, 25, 4, 5, 15, 1}, + {"HO", 2, 16, 4, "HO004", 1, 4, 3, 0, 1, 4, 7, 26, 1, 2, 2, 0}, + {"HO", 2, 17, 4, "HO004", 1, 7, 2, 1, 1, 1, 7, 26, 1, 1, 2, 0}, + {"HO", 2, 18, 4, "HO004", 2, 4, 3, 0, 1, 4, 7, 26, 0, 8, 2, 1}, + {"HO", 2, 19, 4, "HO004", 2, 7, 2, 1, 1, 1, 7, 26, 0, 7, 2, 1}, + {"HO", 2, 20, 4, "HO004", 3, 4, 3, 0, 1, 4, 7, 26, 0, 6, 2, 1}, + {"HO", 2, 21, 4, "HO004", 3, 7, 2, 1, 1, 1, 7, 26, 0, 5, 2, 1}, + {"HO", 2, 22, 4, "HO005", 1, 4, 3, 0, 1, 4, 7, 26, 9, 2, 6, 0}, + {"HO", 2, 23, 4, "HO005", 1, 7, 2, 1, 1, 1, 7, 26, 9, 1, 6, 0}, + {"HO", 2, 24, 4, "HO005", 2, 4, 3, 0, 1, 4, 7, 26, 8, 8, 6, 1}, + {"HO", 2, 25, 4, "HO005", 2, 7, 2, 1, 1, 1, 7, 26, 8, 7, 6, 1}, + {"HO", 2, 26, 4, "HO005", 3, 4, 3, 0, 1, 4, 7, 26, 8, 6, 6, 1}, + {"HO", 2, 27, 4, "HO005", 3, 7, 2, 1, 1, 1, 7, 26, 8, 5, 6, 1}, + {"HO", 2, 28, 4, "HO006", 4, 15, 6, 2, 3, 2, 7, 27, 5, 2, 15, 0}, + {"HO", 2, 29, 4, "HO006", 4, 14, 7, 2, 3, 3, 7, 27, 5, 1, 15, 0}, + {"HO", 2, 30, 4, "HO006", 3, 15, 6, 2, 3, 2, 7, 27, 4, 8, 15, 1}, + {"HO", 2, 31, 4, "HO006", 3, 14, 7, 2, 3, 3, 7, 27, 4, 7, 15, 1}, + {"HO", 2, 32, 4, "HO006", 2, 15, 6, 2, 3, 2, 7, 27, 4, 6, 15, 1}, + {"HO", 2, 33, 4, "HO006", 2, 14, 7, 2, 3, 3, 7, 27, 4, 5, 15, 1}, + {"HO", 2, 34, 4, "HO007", 4, 15, 6, 2, 3, 2, 6, 28, 1, 2, 2, 0}, + {"HO", 2, 35, 4, "HO007", 4, 14, 7, 2, 3, 3, 6, 28, 1, 1, 2, 0}, + {"HO", 2, 36, 4, "HO007", 3, 15, 6, 2, 3, 2, 6, 28, 0, 8, 2, 1}, + {"HO", 2, 37, 4, "HO007", 3, 14, 7, 2, 3, 3, 6, 28, 0, 7, 2, 1}, + {"HO", 2, 38, 4, "HO007", 2, 15, 6, 2, 3, 2, 6, 28, 0, 6, 2, 1}, + {"HO", 2, 39, 4, "HO007", 2, 14, 7, 2, 3, 3, 6, 28, 0, 5, 2, 1}, + {"HO", 2, 40, 4, "HO008", 1, 4, 3, 0, 1, 4, 6, 28, 9, 2, 6, 0}, + {"HO", 2, 41, 4, "HO008", 1, 7, 2, 1, 1, 1, 6, 28, 9, 1, 6, 0}, + {"HO", 2, 42, 4, "HO008", 2, 4, 3, 0, 1, 4, 6, 28, 8, 8, 6, 1}, + {"HO", 2, 43, 4, "HO008", 2, 7, 2, 1, 1, 1, 6, 28, 8, 7, 6, 1}, + {"HO", 2, 44, 4, "HO008", 3, 4, 3, 0, 1, 4, 6, 28, 8, 6, 6, 1}, + {"HO", 2, 45, 4, "HO008", 3, 7, 2, 1, 1, 1, 6, 28, 8, 5, 6, 1}, + {"HO", 2, 46, 4, "HO009", 1, 4, 3, 0, 1, 4, 6, 29, 5, 2, 15, 0}, + {"HO", 2, 47, 4, "HO009", 1, 7, 2, 1, 1, 1, 6, 29, 5, 1, 15, 0}, + {"HO", 2, 48, 4, "HO009", 2, 4, 3, 0, 1, 4, 6, 29, 4, 8, 15, 1}, + {"HO", 2, 49, 4, "HO009", 2, 7, 2, 1, 1, 1, 6, 29, 4, 7, 15, 1}, + {"HO", 2, 50, 4, "HO009", 3, 4, 3, 0, 1, 4, 6, 29, 4, 6, 15, 1}, + {"HO", 2, 51, 4, "HO009", 3, 7, 2, 1, 1, 1, 6, 29, 4, 5, 15, 1}, + {"HO", 2, 52, 4, "HO010", 4, 15, 6, 2, 3, 2, 13, 30, 1, 2, 2, 0}, + {"HO", 2, 53, 4, "HO010", 4, 14, 7, 2, 3, 3, 13, 30, 1, 1, 2, 0}, + {"HO", 2, 54, 4, "HO010", 3, 15, 6, 2, 3, 2, 13, 30, 0, 8, 2, 1}, + {"HO", 2, 55, 4, "HO010", 3, 14, 7, 2, 3, 3, 13, 30, 0, 7, 2, 1}, + {"HO", 2, 56, 4, "HO010", 2, 15, 6, 2, 3, 2, 13, 30, 0, 6, 2, 1}, + {"HO", 2, 57, 4, "HO010", 2, 14, 7, 2, 3, 3, 13, 30, 0, 5, 2, 1}, + {"HO", 2, 58, 4, "HO011", 4, 15, 6, 2, 3, 2, 13, 30, 9, 2, 6, 0}, + {"HO", 2, 59, 4, "HO011", 4, 14, 7, 2, 3, 3, 13, 30, 9, 1, 6, 0}, + {"HO", 2, 60, 4, "HO011", 3, 15, 6, 2, 3, 2, 13, 30, 8, 8, 6, 1}, + {"HO", 2, 61, 4, "HO011", 3, 14, 7, 2, 3, 3, 13, 30, 8, 7, 6, 1}, + {"HO", 2, 62, 4, "HO011", 2, 15, 6, 2, 3, 2, 13, 30, 8, 6, 6, 1}, + {"HO", 2, 63, 4, "HO011", 2, 14, 7, 2, 3, 3, 13, 30, 8, 5, 6, 1}, + {"HO", 2, 64, 4, "HO012", 1, 4, 3, 0, 1, 4, 13, 31, 5, 2, 15, 0}, + {"HO", 2, 65, 4, "HO012", 1, 7, 2, 1, 1, 1, 13, 31, 5, 1, 15, 0}, + {"HO", 2, 66, 4, "HO012", 2, 4, 3, 0, 1, 4, 13, 31, 4, 8, 15, 1}, + {"HO", 2, 67, 4, "HO012", 2, 7, 2, 1, 1, 1, 13, 31, 4, 7, 15, 1}, + {"HO", 2, 68, 4, "HO012", 3, 4, 3, 0, 1, 4, 13, 31, 4, 6, 15, 1}, + {"HO", 2, 69, 4, "HO012", 3, 7, 2, 1, 1, 1, 13, 31, 4, 5, 15, 1}, + {"HO", 2, 70, 4, "HO001", 1, 4, 3, 0, 1, 4, 3, 24, 1, 2, 2, 0}, + {"HO", 2, 71, 4, "HO001", 1, 7, 2, 1, 1, 1, 3, 24, 1, 1, 2, 0}, + {"HO", 3, 0, 4, "HO001", 2, 1, 5, 1, 2, 5, 3, 24, 4, 4, 4, 1}, + {"HO", 3, 1, 4, "HO001", 2, 3, 5, 2, 2, 3, 3, 24, 4, 4, 4, 1}, + {"HO", 3, 2, 4, "HO001", 3, 1, 5, 1, 2, 5, 3, 24, 4, 5, 4, 1}, + {"HO", 3, 3, 4, "HO001", 3, 3, 5, 2, 2, 3, 3, 24, 4, 5, 4, 1}, + {"HO", 3, 4, 4, "HO002", 4, 19, 4, 0, 2, 0, 3, 25, 0, 3, 13, 1}, + {"HO", 3, 5, 4, "HO002", 4, 17, 4, 2, 2, 2, 3, 25, 0, 3, 13, 1}, + {"HO", 3, 6, 4, "HO002", 3, 19, 4, 0, 2, 0, 3, 25, 0, 4, 13, 1}, + {"HO", 3, 7, 4, "HO002", 3, 17, 4, 2, 2, 2, 3, 25, 0, 4, 13, 1}, + {"HO", 3, 8, 4, "HO002", 2, 19, 4, 0, 2, 0, 3, 25, 0, 5, 13, 1}, + {"HO", 3, 9, 4, "HO002", 2, 17, 4, 2, 2, 2, 3, 25, 0, 5, 13, 1}, + {"HO", 3, 10, 4, "HO003", 4, 19, 4, 0, 2, 0, 3, 25, 8, 3, 17, 1}, + {"HO", 3, 11, 4, "HO003", 4, 17, 4, 2, 2, 2, 3, 25, 8, 3, 17, 1}, + {"HO", 3, 12, 4, "HO003", 3, 19, 4, 0, 2, 0, 3, 25, 8, 4, 17, 1}, + {"HO", 3, 13, 4, "HO003", 3, 17, 4, 2, 2, 2, 3, 25, 8, 4, 17, 1}, + {"HO", 3, 14, 4, "HO003", 2, 19, 4, 0, 2, 0, 3, 25, 8, 5, 17, 1}, + {"HO", 3, 15, 4, "HO003", 2, 17, 4, 2, 2, 2, 3, 25, 8, 5, 17, 1}, + {"HO", 3, 16, 4, "HO004", 1, 1, 5, 1, 2, 5, 7, 26, 4, 3, 4, 1}, + {"HO", 3, 17, 4, "HO004", 1, 3, 5, 2, 2, 3, 7, 26, 4, 3, 4, 1}, + {"HO", 3, 18, 4, "HO004", 2, 1, 5, 1, 2, 5, 7, 26, 4, 4, 4, 1}, + {"HO", 3, 19, 4, "HO004", 2, 3, 5, 2, 2, 3, 7, 26, 4, 4, 4, 1}, + {"HO", 3, 20, 4, "HO004", 3, 1, 5, 1, 2, 5, 7, 26, 4, 5, 4, 1}, + {"HO", 3, 21, 4, "HO004", 3, 3, 5, 2, 2, 3, 7, 26, 4, 5, 4, 1}, + {"HO", 3, 22, 4, "HO005", 1, 1, 5, 1, 2, 5, 7, 27, 0, 3, 13, 1}, + {"HO", 3, 23, 4, "HO005", 1, 3, 5, 2, 2, 3, 7, 27, 0, 3, 13, 1}, + {"HO", 3, 24, 4, "HO005", 2, 1, 5, 1, 2, 5, 7, 27, 0, 4, 13, 1}, + {"HO", 3, 25, 4, "HO005", 2, 3, 5, 2, 2, 3, 7, 27, 0, 4, 13, 1}, + {"HO", 3, 26, 4, "HO005", 3, 1, 5, 1, 2, 5, 7, 27, 0, 5, 13, 1}, + {"HO", 3, 27, 4, "HO005", 3, 3, 5, 2, 2, 3, 7, 27, 0, 5, 13, 1}, + {"HO", 3, 28, 4, "HO006", 4, 19, 4, 0, 2, 0, 7, 27, 8, 3, 17, 1}, + {"HO", 3, 29, 4, "HO006", 4, 17, 4, 2, 2, 2, 7, 27, 8, 3, 17, 1}, + {"HO", 3, 30, 4, "HO006", 3, 19, 4, 0, 2, 0, 7, 27, 8, 4, 17, 1}, + {"HO", 3, 31, 4, "HO006", 3, 17, 4, 2, 2, 2, 7, 27, 8, 4, 17, 1}, + {"HO", 3, 32, 4, "HO006", 2, 19, 4, 0, 2, 0, 7, 27, 8, 5, 17, 1}, + {"HO", 3, 33, 4, "HO006", 2, 17, 4, 2, 2, 2, 7, 27, 8, 5, 17, 1}, + {"HO", 3, 34, 4, "HO007", 4, 19, 4, 0, 2, 0, 6, 28, 4, 3, 4, 1}, + {"HO", 3, 35, 4, "HO007", 4, 17, 4, 2, 2, 2, 6, 28, 4, 3, 4, 1}, + {"HO", 3, 36, 4, "HO007", 3, 19, 4, 0, 2, 0, 6, 28, 4, 4, 4, 1}, + {"HO", 3, 37, 4, "HO007", 3, 17, 4, 2, 2, 2, 6, 28, 4, 4, 4, 1}, + {"HO", 3, 38, 4, "HO007", 2, 19, 4, 0, 2, 0, 6, 28, 4, 5, 4, 1}, + {"HO", 3, 39, 4, "HO007", 2, 17, 4, 2, 2, 2, 6, 28, 4, 5, 4, 1}, + {"HO", 3, 40, 4, "HO008", 1, 1, 5, 1, 2, 5, 6, 29, 0, 3, 13, 1}, + {"HO", 3, 41, 4, "HO008", 1, 3, 5, 2, 2, 3, 6, 29, 0, 3, 13, 1}, + {"HO", 3, 42, 4, "HO008", 2, 1, 5, 1, 2, 5, 6, 29, 0, 4, 13, 1}, + {"HO", 3, 43, 4, "HO008", 2, 3, 5, 2, 2, 3, 6, 29, 0, 4, 13, 1}, + {"HO", 3, 44, 4, "HO008", 3, 1, 5, 1, 2, 5, 6, 29, 0, 5, 13, 1}, + {"HO", 3, 45, 4, "HO008", 3, 3, 5, 2, 2, 3, 6, 29, 0, 5, 13, 1}, + {"HO", 3, 46, 4, "HO009", 1, 1, 5, 1, 2, 5, 6, 29, 8, 3, 17, 1}, + {"HO", 3, 47, 4, "HO009", 1, 3, 5, 2, 2, 3, 6, 29, 8, 3, 17, 1}, + {"HO", 3, 48, 4, "HO009", 2, 1, 5, 1, 2, 5, 6, 29, 8, 4, 17, 1}, + {"HO", 3, 49, 4, "HO009", 2, 3, 5, 2, 2, 3, 6, 29, 8, 4, 17, 1}, + {"HO", 3, 50, 4, "HO009", 3, 1, 5, 1, 2, 5, 6, 29, 8, 5, 17, 1}, + {"HO", 3, 51, 4, "HO009", 3, 3, 5, 2, 2, 3, 6, 29, 8, 5, 17, 1}, + {"HO", 3, 52, 4, "HO010", 4, 19, 4, 0, 2, 0, 13, 30, 4, 3, 4, 1}, + {"HO", 3, 53, 4, "HO010", 4, 17, 4, 2, 2, 2, 13, 30, 4, 3, 4, 1}, + {"HO", 3, 54, 4, "HO010", 3, 19, 4, 0, 2, 0, 13, 30, 4, 4, 4, 1}, + {"HO", 3, 55, 4, "HO010", 3, 17, 4, 2, 2, 2, 13, 30, 4, 4, 4, 1}, + {"HO", 3, 56, 4, "HO010", 2, 19, 4, 0, 2, 0, 13, 30, 4, 5, 4, 1}, + {"HO", 3, 57, 4, "HO010", 2, 17, 4, 2, 2, 2, 13, 30, 4, 5, 4, 1}, + {"HO", 3, 58, 4, "HO011", 4, 19, 4, 0, 2, 0, 13, 31, 0, 3, 13, 1}, + {"HO", 3, 59, 4, "HO011", 4, 17, 4, 2, 2, 2, 13, 31, 0, 3, 13, 1}, + {"HO", 3, 60, 4, "HO011", 3, 19, 4, 0, 2, 0, 13, 31, 0, 4, 13, 1}, + {"HO", 3, 61, 4, "HO011", 3, 17, 4, 2, 2, 2, 13, 31, 0, 4, 13, 1}, + {"HO", 3, 62, 4, "HO011", 2, 19, 4, 0, 2, 0, 13, 31, 0, 5, 13, 1}, + {"HO", 3, 63, 4, "HO011", 2, 17, 4, 2, 2, 2, 13, 31, 0, 5, 13, 1}, + {"HO", 3, 64, 4, "HO012", 1, 1, 5, 1, 2, 5, 13, 31, 8, 3, 17, 1}, + {"HO", 3, 65, 4, "HO012", 1, 3, 5, 2, 2, 3, 13, 31, 8, 3, 17, 1}, + {"HO", 3, 66, 4, "HO012", 2, 1, 5, 1, 2, 5, 13, 31, 8, 4, 17, 1}, + {"HO", 3, 67, 4, "HO012", 2, 3, 5, 2, 2, 3, 13, 31, 8, 4, 17, 1}, + {"HO", 3, 68, 4, "HO012", 3, 1, 5, 1, 2, 5, 13, 31, 8, 5, 17, 1}, + {"HO", 3, 69, 4, "HO012", 3, 3, 5, 2, 2, 3, 13, 31, 8, 5, 17, 1}, + {"HO", 3, 70, 4, "HO001", 1, 1, 5, 1, 2, 5, 3, 24, 4, 3, 4, 1}, + {"HO", 3, 71, 4, "HO001", 1, 3, 5, 2, 2, 3, 3, 24, 4, 3, 4, 1}, + {"HO", 4, 0, 4, "HO1P02", 2, 1, 3, 2, 1, 3, 3, 24, 4, 2, 4, 1}, + {"HO", 4, 1, 4, "HO1P02", 4, 8, 3, 1, 1, 5, 3, 24, 4, 1, 4, 1}, + {"HO", 4, 2, 4, "HO1P02", 4, 4, 3, 0, 1, 4, 3, 24, 4, 1, 4, 1}, + {"HO", 4, 3, 4, "HO1P02", 4, 1, 3, 2, 1, 3, 3, 24, 4, 1, 4, 1}, + {"HO", 4, 4, 4, "HO1P02", 3, 1, 3, 2, 1, 3, 3, 25, 0, 2, 13, 1}, + {"HO", 4, 5, 4, "HO1P02", 3, 4, 3, 0, 1, 4, 3, 25, 0, 2, 13, 1}, + {"HO", 4, 6, 4, "HO1P02", 3, 8, 3, 1, 1, 5, 3, 25, 0, 2, 13, 1}, + {"HO", 4, 7, 4, "HO1P02", 1, 1, 3, 2, 1, 3, 3, 25, 0, 1, 13, 1}, + {"HO", 4, 8, 4, "HO1P02", 1, 4, 3, 0, 1, 4, 3, 25, 0, 1, 13, 1}, + {"HO", 4, 9, 4, "HO1P02", 1, 8, 3, 1, 1, 5, 3, 25, 0, 1, 13, 1}, + {"HO", 4, 10, 4, "HO1P04", 2, 8, 3, 1, 1, 5, 3, 25, 8, 2, 17, 1}, + {"HO", 4, 11, 4, "HO1P04", 2, 4, 3, 0, 1, 4, 3, 25, 8, 2, 17, 1}, + {"HO", 4, 12, 4, "HO1P04", 2, 1, 3, 2, 1, 3, 3, 25, 8, 2, 17, 1}, + {"HO", 4, 13, 4, "HO1P04", 4, 8, 3, 1, 1, 5, 3, 25, 8, 1, 17, 1}, + {"HO", 4, 14, 4, "HO1P04", 4, 4, 3, 0, 1, 4, 3, 25, 8, 1, 17, 1}, + {"HO", 4, 15, 4, "HO1P04", 4, 1, 3, 2, 1, 3, 3, 25, 8, 1, 17, 1}, + {"HO", 4, 16, 4, "HO1P04", 3, 1, 3, 2, 1, 3, 7, 26, 4, 2, 4, 1}, + {"HO", 4, 17, 4, "HO1P04", 3, 4, 3, 0, 1, 4, 7, 26, 4, 2, 4, 1}, + {"HO", 4, 18, 4, "HO1P04", 3, 8, 3, 1, 1, 5, 7, 26, 4, 2, 4, 1}, + {"HO", 4, 19, 4, "HO1P04", 1, 1, 3, 2, 1, 3, 7, 26, 4, 1, 4, 1}, + {"HO", 4, 20, 4, "HO1P04", 1, 4, 3, 0, 1, 4, 7, 26, 4, 1, 4, 1}, + {"HO", 4, 21, 4, "HO1P04", 1, 8, 3, 1, 1, 5, 7, 26, 4, 1, 4, 1}, + {"HO", 4, 22, 4, "HO1P06", 2, 8, 3, 1, 1, 5, 7, 27, 0, 2, 13, 1}, + {"HO", 4, 23, 4, "HO1P06", 2, 4, 3, 0, 1, 4, 7, 27, 0, 2, 13, 1}, + {"HO", 4, 24, 4, "HO1P06", 2, 1, 3, 2, 1, 3, 7, 27, 0, 2, 13, 1}, + {"HO", 4, 25, 4, "HO1P06", 4, 8, 3, 1, 1, 5, 7, 27, 0, 1, 13, 1}, + {"HO", 4, 26, 4, "HO1P06", 4, 4, 3, 0, 1, 4, 7, 27, 0, 1, 13, 1}, + {"HO", 4, 27, 4, "HO1P06", 4, 1, 3, 2, 1, 3, 7, 27, 0, 1, 13, 1}, + {"HO", 4, 28, 4, "HO1P06", 3, 1, 3, 2, 1, 3, 7, 27, 8, 2, 17, 1}, + {"HO", 4, 29, 4, "HO1P06", 3, 4, 3, 0, 1, 4, 7, 27, 8, 2, 17, 1}, + {"HO", 4, 30, 4, "HO1P06", 3, 8, 3, 1, 1, 5, 7, 27, 8, 2, 17, 1}, + {"HO", 4, 31, 4, "HO1P06", 1, 1, 3, 2, 1, 3, 7, 27, 8, 1, 17, 1}, + {"HO", 4, 32, 4, "HO1P06", 1, 4, 3, 0, 1, 4, 7, 27, 8, 1, 17, 1}, + {"HO", 4, 33, 4, "HO1P06", 1, 8, 3, 1, 1, 5, 7, 27, 8, 1, 17, 1}, + {"HO", 4, 34, 4, "HO1P08", 2, 8, 3, 1, 1, 5, 6, 28, 4, 2, 4, 1}, + {"HO", 4, 35, 4, "HO1P08", 2, 4, 3, 0, 1, 4, 6, 28, 4, 2, 4, 1}, + {"HO", 4, 36, 4, "HO1P08", 2, 1, 3, 2, 1, 3, 6, 28, 4, 2, 4, 1}, + {"HO", 4, 37, 4, "HO1P08", 4, 8, 3, 1, 1, 5, 6, 28, 4, 1, 4, 1}, + {"HO", 4, 38, 4, "HO1P08", 4, 4, 3, 0, 1, 4, 6, 28, 4, 1, 4, 1}, + {"HO", 4, 39, 4, "HO1P08", 4, 1, 3, 2, 1, 3, 6, 28, 4, 1, 4, 1}, + {"HO", 4, 40, 4, "HO1P08", 3, 1, 3, 2, 1, 3, 6, 29, 0, 2, 13, 1}, + {"HO", 4, 41, 4, "HO1P08", 3, 4, 3, 0, 1, 4, 6, 29, 0, 2, 13, 1}, + {"HO", 4, 42, 4, "HO1P08", 3, 8, 3, 1, 1, 5, 6, 29, 0, 2, 13, 1}, + {"HO", 4, 43, 4, "HO1P08", 1, 1, 3, 2, 1, 3, 6, 29, 0, 1, 13, 1}, + {"HO", 4, 44, 4, "HO1P08", 1, 4, 3, 0, 1, 4, 6, 29, 0, 1, 13, 1}, + {"HO", 4, 45, 4, "HO1P08", 1, 8, 3, 1, 1, 5, 6, 29, 0, 1, 13, 1}, + {"HO", 4, 46, 4, "HO1P10", 2, 8, 3, 1, 1, 5, 6, 29, 8, 2, 17, 1}, + {"HO", 4, 47, 4, "HO1P10", 2, 4, 3, 0, 1, 4, 6, 29, 8, 2, 17, 1}, + {"HO", 4, 48, 4, "HO1P10", 2, 1, 3, 2, 1, 3, 6, 29, 8, 2, 17, 1}, + {"HO", 4, 49, 4, "HO1P10", 4, 8, 3, 1, 1, 5, 6, 29, 8, 1, 17, 1}, + {"HO", 4, 50, 4, "HO1P10", 4, 4, 3, 0, 1, 4, 6, 29, 8, 1, 17, 1}, + {"HO", 4, 51, 4, "HO1P10", 4, 1, 3, 2, 1, 3, 6, 29, 8, 1, 17, 1}, + {"HO", 4, 52, 4, "HO1P10", 3, 1, 3, 2, 1, 3, 13, 30, 4, 2, 4, 1}, + {"HO", 4, 53, 4, "HO1P10", 3, 4, 3, 0, 1, 4, 13, 30, 4, 2, 4, 1}, + {"HO", 4, 54, 4, "HO1P10", 3, 8, 3, 1, 1, 5, 13, 30, 4, 2, 4, 1}, + {"HO", 4, 55, 4, "HO1P10", 1, 1, 3, 2, 1, 3, 13, 30, 4, 1, 4, 1}, + {"HO", 4, 56, 4, "HO1P10", 1, 4, 3, 0, 1, 4, 13, 30, 4, 1, 4, 1}, + {"HO", 4, 57, 4, "HO1P10", 1, 8, 3, 1, 1, 5, 13, 30, 4, 1, 4, 1}, + {"HO", 4, 58, 4, "HO1P12", 2, 8, 3, 1, 1, 5, 13, 31, 0, 2, 13, 1}, + {"HO", 4, 59, 4, "HO1P12", 2, 4, 3, 0, 1, 4, 13, 31, 0, 2, 13, 1}, + {"HO", 4, 60, 4, "HO1P12", 2, 1, 3, 2, 1, 3, 13, 31, 0, 2, 13, 1}, + {"HO", 4, 61, 4, "HO1P12", 4, 8, 3, 1, 1, 5, 13, 31, 0, 1, 13, 1}, + {"HO", 4, 62, 4, "HO1P12", 4, 4, 3, 0, 1, 4, 13, 31, 0, 1, 13, 1}, + {"HO", 4, 63, 4, "HO1P12", 4, 1, 3, 2, 1, 3, 13, 31, 0, 1, 13, 1}, + {"HO", 4, 64, 4, "HO1P12", 3, 1, 3, 2, 1, 3, 13, 31, 8, 2, 17, 1}, + {"HO", 4, 65, 4, "HO1P12", 3, 4, 3, 0, 1, 4, 13, 31, 8, 2, 17, 1}, + {"HO", 4, 66, 4, "HO1P12", 3, 8, 3, 1, 1, 5, 13, 31, 8, 2, 17, 1}, + {"HO", 4, 67, 4, "HO1P12", 1, 1, 3, 2, 1, 3, 13, 31, 8, 1, 17, 1}, + {"HO", 4, 68, 4, "HO1P12", 1, 4, 3, 0, 1, 4, 13, 31, 8, 1, 17, 1}, + {"HO", 4, 69, 4, "HO1P12", 1, 8, 3, 1, 1, 5, 13, 31, 8, 1, 17, 1}, + {"HO", 4, 70, 4, "HO1P02", 2, 8, 3, 1, 1, 5, 3, 24, 4, 2, 4, 1}, + {"HO", 4, 71, 4, "HO1P02", 2, 4, 3, 0, 1, 4, 3, 24, 4, 2, 4, 1}, + {"HO", 5, 0, 4, "HO1P02", 2, 12, 2, 0, 1, 0, 3, 24, 3, 8, 3, 0}, + {"HO", 5, 1, 4, "HO1P02", 4, 3, 2, 2, 1, 2, 3, 24, 3, 7, 3, 0}, + {"HO", 5, 2, 4, "HO1P02", 4, 7, 2, 1, 1, 1, 3, 24, 3, 7, 3, 0}, + {"HO", 5, 3, 4, "HO1P02", 4, 12, 2, 0, 1, 0, 3, 24, 3, 7, 3, 0}, + {"HO", 5, 4, 4, "HO1P02", 3, 12, 2, 0, 1, 0, 3, 24, 11, 8, 7, 0}, + {"HO", 5, 5, 4, "HO1P02", 3, 7, 2, 1, 1, 1, 3, 24, 11, 8, 7, 0}, + {"HO", 5, 6, 4, "HO1P02", 3, 3, 2, 2, 1, 2, 3, 24, 11, 8, 7, 0}, + {"HO", 5, 7, 4, "HO1P02", 1, 12, 2, 0, 1, 0, 3, 24, 11, 7, 7, 0}, + {"HO", 5, 8, 4, "HO1P02", 1, 7, 2, 1, 1, 1, 3, 24, 11, 7, 7, 0}, + {"HO", 5, 9, 4, "HO1P02", 1, 3, 2, 2, 1, 2, 3, 24, 11, 7, 7, 0}, + {"HO", 5, 10, 4, "HO1P04", 2, 3, 2, 2, 1, 2, 3, 25, 7, 8, 16, 0}, + {"HO", 5, 11, 4, "HO1P04", 2, 7, 2, 1, 1, 1, 3, 25, 7, 8, 16, 0}, + {"HO", 5, 12, 4, "HO1P04", 2, 12, 2, 0, 1, 0, 3, 25, 7, 8, 16, 0}, + {"HO", 5, 13, 4, "HO1P04", 4, 3, 2, 2, 1, 2, 3, 25, 7, 7, 16, 0}, + {"HO", 5, 14, 4, "HO1P04", 4, 7, 2, 1, 1, 1, 3, 25, 7, 7, 16, 0}, + {"HO", 5, 15, 4, "HO1P04", 4, 12, 2, 0, 1, 0, 3, 25, 7, 7, 16, 0}, + {"HO", 5, 16, 4, "HO1P04", 3, 12, 2, 0, 1, 0, 7, 26, 3, 8, 3, 0}, + {"HO", 5, 17, 4, "HO1P04", 3, 7, 2, 1, 1, 1, 7, 26, 3, 8, 3, 0}, + {"HO", 5, 18, 4, "HO1P04", 3, 3, 2, 2, 1, 2, 7, 26, 3, 8, 3, 0}, + {"HO", 5, 19, 4, "HO1P04", 1, 12, 2, 0, 1, 0, 7, 26, 3, 7, 3, 0}, + {"HO", 5, 20, 4, "HO1P04", 1, 7, 2, 1, 1, 1, 7, 26, 3, 7, 3, 0}, + {"HO", 5, 21, 4, "HO1P04", 1, 3, 2, 2, 1, 2, 7, 26, 3, 7, 3, 0}, + {"HO", 5, 22, 4, "HO1P06", 2, 3, 2, 2, 1, 2, 7, 26, 11, 8, 7, 0}, + {"HO", 5, 23, 4, "HO1P06", 2, 7, 2, 1, 1, 1, 7, 26, 11, 8, 7, 0}, + {"HO", 5, 24, 4, "HO1P06", 2, 12, 2, 0, 1, 0, 7, 26, 11, 8, 7, 0}, + {"HO", 5, 25, 4, "HO1P06", 4, 3, 2, 2, 1, 2, 7, 26, 11, 7, 7, 0}, + {"HO", 5, 26, 4, "HO1P06", 4, 7, 2, 1, 1, 1, 7, 26, 11, 7, 7, 0}, + {"HO", 5, 27, 4, "HO1P06", 4, 12, 2, 0, 1, 0, 7, 26, 11, 7, 7, 0}, + {"HO", 5, 28, 4, "HO1P06", 3, 12, 2, 0, 1, 0, 7, 27, 7, 8, 16, 0}, + {"HO", 5, 29, 4, "HO1P06", 3, 7, 2, 1, 1, 1, 7, 27, 7, 8, 16, 0}, + {"HO", 5, 30, 4, "HO1P06", 3, 3, 2, 2, 1, 2, 7, 27, 7, 8, 16, 0}, + {"HO", 5, 31, 4, "HO1P06", 1, 12, 2, 0, 1, 0, 7, 27, 7, 7, 16, 0}, + {"HO", 5, 32, 4, "HO1P06", 1, 7, 2, 1, 1, 1, 7, 27, 7, 7, 16, 0}, + {"HO", 5, 33, 4, "HO1P06", 1, 3, 2, 2, 1, 2, 7, 27, 7, 7, 16, 0}, + {"HO", 5, 34, 4, "HO1P08", 2, 3, 2, 2, 1, 2, 6, 28, 3, 8, 3, 0}, + {"HO", 5, 35, 4, "HO1P08", 2, 7, 2, 1, 1, 1, 6, 28, 3, 8, 3, 0}, + {"HO", 5, 36, 4, "HO1P08", 2, 12, 2, 0, 1, 0, 6, 28, 3, 8, 3, 0}, + {"HO", 5, 37, 4, "HO1P08", 4, 3, 2, 2, 1, 2, 6, 28, 3, 7, 3, 0}, + {"HO", 5, 38, 4, "HO1P08", 4, 7, 2, 1, 1, 1, 6, 28, 3, 7, 3, 0}, + {"HO", 5, 39, 4, "HO1P08", 4, 12, 2, 0, 1, 0, 6, 28, 3, 7, 3, 0}, + {"HO", 5, 40, 4, "HO1P08", 3, 12, 2, 0, 1, 0, 6, 28, 11, 8, 7, 0}, + {"HO", 5, 41, 4, "HO1P08", 3, 7, 2, 1, 1, 1, 6, 28, 11, 8, 7, 0}, + {"HO", 5, 42, 4, "HO1P08", 3, 3, 2, 2, 1, 2, 6, 28, 11, 8, 7, 0}, + {"HO", 5, 43, 4, "HO1P08", 1, 12, 2, 0, 1, 0, 6, 28, 11, 7, 7, 0}, + {"HO", 5, 44, 4, "HO1P08", 1, 7, 2, 1, 1, 1, 6, 28, 11, 7, 7, 0}, + {"HO", 5, 45, 4, "HO1P08", 1, 3, 2, 2, 1, 2, 6, 28, 11, 7, 7, 0}, + {"HO", 5, 46, 4, "HO1P10", 2, 3, 2, 2, 1, 2, 6, 29, 7, 8, 16, 0}, + {"HO", 5, 47, 4, "HO1P10", 2, 7, 2, 1, 1, 1, 6, 29, 7, 8, 16, 0}, + {"HO", 5, 48, 4, "HO1P10", 2, 12, 2, 0, 1, 0, 6, 29, 7, 8, 16, 0}, + {"HO", 5, 49, 4, "HO1P10", 4, 3, 2, 2, 1, 2, 6, 29, 7, 7, 16, 0}, + {"HO", 5, 50, 4, "HO1P10", 4, 7, 2, 1, 1, 1, 6, 29, 7, 7, 16, 0}, + {"HO", 5, 51, 4, "HO1P10", 4, 12, 2, 0, 1, 0, 6, 29, 7, 7, 16, 0}, + {"HO", 5, 52, 4, "HO1P10", 3, 12, 2, 0, 1, 0, 13, 30, 3, 8, 3, 0}, + {"HO", 5, 53, 4, "HO1P10", 3, 7, 2, 1, 1, 1, 13, 30, 3, 8, 3, 0}, + {"HO", 5, 54, 4, "HO1P10", 3, 3, 2, 2, 1, 2, 13, 30, 3, 8, 3, 0}, + {"HO", 5, 55, 4, "HO1P10", 1, 12, 2, 0, 1, 0, 13, 30, 3, 7, 3, 0}, + {"HO", 5, 56, 4, "HO1P10", 1, 7, 2, 1, 1, 1, 13, 30, 3, 7, 3, 0}, + {"HO", 5, 57, 4, "HO1P10", 1, 3, 2, 2, 1, 2, 13, 30, 3, 7, 3, 0}, + {"HO", 5, 58, 4, "HO1P12", 2, 3, 2, 2, 1, 2, 13, 30, 11, 8, 7, 0}, + {"HO", 5, 59, 4, "HO1P12", 2, 7, 2, 1, 1, 1, 13, 30, 11, 8, 7, 0}, + {"HO", 5, 60, 4, "HO1P12", 2, 12, 2, 0, 1, 0, 13, 30, 11, 8, 7, 0}, + {"HO", 5, 61, 4, "HO1P12", 4, 3, 2, 2, 1, 2, 13, 30, 11, 7, 7, 0}, + {"HO", 5, 62, 4, "HO1P12", 4, 7, 2, 1, 1, 1, 13, 30, 11, 7, 7, 0}, + {"HO", 5, 63, 4, "HO1P12", 4, 12, 2, 0, 1, 0, 13, 30, 11, 7, 7, 0}, + {"HO", 5, 64, 4, "HO1P12", 3, 12, 2, 0, 1, 0, 13, 31, 7, 8, 16, 0}, + {"HO", 5, 65, 4, "HO1P12", 3, 7, 2, 1, 1, 1, 13, 31, 7, 8, 16, 0}, + {"HO", 5, 66, 4, "HO1P12", 3, 3, 2, 2, 1, 2, 13, 31, 7, 8, 16, 0}, + {"HO", 5, 67, 4, "HO1P12", 1, 12, 2, 0, 1, 0, 13, 31, 7, 7, 16, 0}, + {"HO", 5, 68, 4, "HO1P12", 1, 7, 2, 1, 1, 1, 13, 31, 7, 7, 16, 0}, + {"HO", 5, 69, 4, "HO1P12", 1, 3, 2, 2, 1, 2, 13, 31, 7, 7, 16, 0}, + {"HO", 5, 70, 4, "HO1P02", 2, 3, 2, 2, 1, 2, 3, 24, 3, 8, 3, 0}, + {"HO", 5, 71, 4, "HO1P02", 2, 7, 2, 1, 1, 1, 3, 24, 3, 8, 3, 0}, + {"HO", 6, 0, 4, "HO1P02", 2, 5, 5, 2, 2, 3, 3, 24, 3, 6, 3, 0}, + {"HO", 6, 1, 4, "HO1P02", 4, 13, 5, 1, 2, 5, 3, 24, 3, 5, 3, 0}, + {"HO", 6, 2, 4, "HO1P02", 4, 9, 5, 0, 2, 4, 3, 24, 3, 5, 3, 0}, + {"HO", 6, 3, 4, "HO1P02", 4, 5, 5, 2, 2, 3, 3, 24, 3, 5, 3, 0}, + {"HO", 6, 4, 4, "HO1P02", 3, 5, 5, 2, 2, 3, 3, 24, 11, 6, 7, 0}, + {"HO", 6, 5, 4, "HO1P02", 3, 9, 5, 0, 2, 4, 3, 24, 11, 6, 7, 0}, + {"HO", 6, 6, 4, "HO1P02", 3, 13, 5, 1, 2, 5, 3, 24, 11, 6, 7, 0}, + {"HO", 6, 7, 4, "HO1P02", 1, 5, 5, 2, 2, 3, 3, 24, 11, 5, 7, 0}, + {"HO", 6, 8, 4, "HO1P02", 1, 9, 5, 0, 2, 4, 3, 24, 11, 5, 7, 0}, + {"HO", 6, 9, 4, "HO1P02", 1, 13, 5, 1, 2, 5, 3, 24, 11, 5, 7, 0}, + {"HO", 6, 10, 4, "HO1P04", 2, 13, 5, 1, 2, 5, 3, 25, 7, 6, 16, 0}, + {"HO", 6, 11, 4, "HO1P04", 2, 9, 5, 0, 2, 4, 3, 25, 7, 6, 16, 0}, + {"HO", 6, 12, 4, "HO1P04", 2, 5, 5, 2, 2, 3, 3, 25, 7, 6, 16, 0}, + {"HO", 6, 13, 4, "HO1P04", 4, 13, 5, 1, 2, 5, 3, 25, 7, 5, 16, 0}, + {"HO", 6, 14, 4, "HO1P04", 4, 9, 5, 0, 2, 4, 3, 25, 7, 5, 16, 0}, + {"HO", 6, 15, 4, "HO1P04", 4, 5, 5, 2, 2, 3, 3, 25, 7, 5, 16, 0}, + {"HO", 6, 16, 4, "HO1P04", 3, 5, 5, 2, 2, 3, 7, 26, 3, 6, 3, 0}, + {"HO", 6, 17, 4, "HO1P04", 3, 9, 5, 0, 2, 4, 7, 26, 3, 6, 3, 0}, + {"HO", 6, 18, 4, "HO1P04", 3, 13, 5, 1, 2, 5, 7, 26, 3, 6, 3, 0}, + {"HO", 6, 19, 4, "HO1P04", 1, 5, 5, 2, 2, 3, 7, 26, 3, 5, 3, 0}, + {"HO", 6, 20, 4, "HO1P04", 1, 9, 5, 0, 2, 4, 7, 26, 3, 5, 3, 0}, + {"HO", 6, 21, 4, "HO1P04", 1, 13, 5, 1, 2, 5, 7, 26, 3, 5, 3, 0}, + {"HO", 6, 22, 4, "HO1P06", 2, 13, 5, 1, 2, 5, 7, 26, 11, 6, 7, 0}, + {"HO", 6, 23, 4, "HO1P06", 2, 9, 5, 0, 2, 4, 7, 26, 11, 6, 7, 0}, + {"HO", 6, 24, 4, "HO1P06", 2, 5, 5, 2, 2, 3, 7, 26, 11, 6, 7, 0}, + {"HO", 6, 25, 4, "HO1P06", 4, 13, 5, 1, 2, 5, 7, 26, 11, 5, 7, 0}, + {"HO", 6, 26, 4, "HO1P06", 4, 9, 5, 0, 2, 4, 7, 26, 11, 5, 7, 0}, + {"HO", 6, 27, 4, "HO1P06", 4, 5, 5, 2, 2, 3, 7, 26, 11, 5, 7, 0}, + {"HO", 6, 28, 4, "HO1P06", 3, 5, 5, 2, 2, 3, 7, 27, 7, 6, 16, 0}, + {"HO", 6, 29, 4, "HO1P06", 3, 9, 5, 0, 2, 4, 7, 27, 7, 6, 16, 0}, + {"HO", 6, 30, 4, "HO1P06", 3, 13, 5, 1, 2, 5, 7, 27, 7, 6, 16, 0}, + {"HO", 6, 31, 4, "HO1P06", 1, 5, 5, 2, 2, 3, 7, 27, 7, 5, 16, 0}, + {"HO", 6, 32, 4, "HO1P06", 1, 9, 5, 0, 2, 4, 7, 27, 7, 5, 16, 0}, + {"HO", 6, 33, 4, "HO1P06", 1, 13, 5, 1, 2, 5, 7, 27, 7, 5, 16, 0}, + {"HO", 6, 34, 4, "HO1P08", 2, 13, 5, 1, 2, 5, 6, 28, 3, 6, 3, 0}, + {"HO", 6, 35, 4, "HO1P08", 2, 9, 5, 0, 2, 4, 6, 28, 3, 6, 3, 0}, + {"HO", 6, 36, 4, "HO1P08", 2, 5, 5, 2, 2, 3, 6, 28, 3, 6, 3, 0}, + {"HO", 6, 37, 4, "HO1P08", 4, 13, 5, 1, 2, 5, 6, 28, 3, 5, 3, 0}, + {"HO", 6, 38, 4, "HO1P08", 4, 9, 5, 0, 2, 4, 6, 28, 3, 5, 3, 0}, + {"HO", 6, 39, 4, "HO1P08", 4, 5, 5, 2, 2, 3, 6, 28, 3, 5, 3, 0}, + {"HO", 6, 40, 4, "HO1P08", 3, 5, 5, 2, 2, 3, 6, 28, 11, 6, 7, 0}, + {"HO", 6, 41, 4, "HO1P08", 3, 9, 5, 0, 2, 4, 6, 28, 11, 6, 7, 0}, + {"HO", 6, 42, 4, "HO1P08", 3, 13, 5, 1, 2, 5, 6, 28, 11, 6, 7, 0}, + {"HO", 6, 43, 4, "HO1P08", 1, 5, 5, 2, 2, 3, 6, 28, 11, 5, 7, 0}, + {"HO", 6, 44, 4, "HO1P08", 1, 9, 5, 0, 2, 4, 6, 28, 11, 5, 7, 0}, + {"HO", 6, 45, 4, "HO1P08", 1, 13, 5, 1, 2, 5, 6, 28, 11, 5, 7, 0}, + {"HO", 6, 46, 4, "HO1P10", 2, 13, 5, 1, 2, 5, 6, 29, 7, 6, 16, 0}, + {"HO", 6, 47, 4, "HO1P10", 2, 9, 5, 0, 2, 4, 6, 29, 7, 6, 16, 0}, + {"HO", 6, 48, 4, "HO1P10", 2, 5, 5, 2, 2, 3, 6, 29, 7, 6, 16, 0}, + {"HO", 6, 49, 4, "HO1P10", 4, 13, 5, 1, 2, 5, 6, 29, 7, 5, 16, 0}, + {"HO", 6, 50, 4, "HO1P10", 4, 9, 5, 0, 2, 4, 6, 29, 7, 5, 16, 0}, + {"HO", 6, 51, 4, "HO1P10", 4, 5, 5, 2, 2, 3, 6, 29, 7, 5, 16, 0}, + {"HO", 6, 52, 4, "HO1P10", 3, 5, 5, 2, 2, 3, 13, 30, 3, 6, 3, 0}, + {"HO", 6, 53, 4, "HO1P10", 3, 9, 5, 0, 2, 4, 13, 30, 3, 6, 3, 0}, + {"HO", 6, 54, 4, "HO1P10", 3, 13, 5, 1, 2, 5, 13, 30, 3, 6, 3, 0}, + {"HO", 6, 55, 4, "HO1P10", 1, 5, 5, 2, 2, 3, 13, 30, 3, 5, 3, 0}, + {"HO", 6, 56, 4, "HO1P10", 1, 9, 5, 0, 2, 4, 13, 30, 3, 5, 3, 0}, + {"HO", 6, 57, 4, "HO1P10", 1, 13, 5, 1, 2, 5, 13, 30, 3, 5, 3, 0}, + {"HO", 6, 58, 4, "HO1P12", 2, 13, 5, 1, 2, 5, 13, 30, 11, 6, 7, 0}, + {"HO", 6, 59, 4, "HO1P12", 2, 9, 5, 0, 2, 4, 13, 30, 11, 6, 7, 0}, + {"HO", 6, 60, 4, "HO1P12", 2, 5, 5, 2, 2, 3, 13, 30, 11, 6, 7, 0}, + {"HO", 6, 61, 4, "HO1P12", 4, 13, 5, 1, 2, 5, 13, 30, 11, 5, 7, 0}, + {"HO", 6, 62, 4, "HO1P12", 4, 9, 5, 0, 2, 4, 13, 30, 11, 5, 7, 0}, + {"HO", 6, 63, 4, "HO1P12", 4, 5, 5, 2, 2, 3, 13, 30, 11, 5, 7, 0}, + {"HO", 6, 64, 4, "HO1P12", 3, 5, 5, 2, 2, 3, 13, 31, 7, 6, 16, 0}, + {"HO", 6, 65, 4, "HO1P12", 3, 9, 5, 0, 2, 4, 13, 31, 7, 6, 16, 0}, + {"HO", 6, 66, 4, "HO1P12", 3, 13, 5, 1, 2, 5, 13, 31, 7, 6, 16, 0}, + {"HO", 6, 67, 4, "HO1P12", 1, 5, 5, 2, 2, 3, 13, 31, 7, 5, 16, 0}, + {"HO", 6, 68, 4, "HO1P12", 1, 9, 5, 0, 2, 4, 13, 31, 7, 5, 16, 0}, + {"HO", 6, 69, 4, "HO1P12", 1, 13, 5, 1, 2, 5, 13, 31, 7, 5, 16, 0}, + {"HO", 6, 70, 4, "HO1P02", 2, 13, 5, 1, 2, 5, 3, 24, 3, 6, 3, 0}, + {"HO", 6, 71, 4, "HO1P02", 2, 9, 5, 0, 2, 4, 3, 24, 3, 6, 3, 0}, + {"HO", 7, 0, 4, "HO1P02", 2, 11, 4, 0, 2, 0, 3, 24, 3, 4, 3, 0}, + {"HO", 7, 1, 4, "HO1P02", 4, 2, 4, 2, 2, 2, 3, 24, 3, 3, 3, 0}, + {"HO", 7, 2, 4, "HO1P02", 4, 6, 4, 1, 2, 1, 3, 24, 3, 3, 3, 0}, + {"HO", 7, 3, 4, "HO1P02", 4, 11, 4, 0, 2, 0, 3, 24, 3, 3, 3, 0}, + {"HO", 7, 4, 4, "HO1P02", 3, 11, 4, 0, 2, 0, 3, 24, 11, 4, 7, 0}, + {"HO", 7, 5, 4, "HO1P02", 3, 6, 4, 1, 2, 1, 3, 24, 11, 4, 7, 0}, + {"HO", 7, 6, 4, "HO1P02", 3, 2, 4, 2, 2, 2, 3, 24, 11, 4, 7, 0}, + {"HO", 7, 7, 4, "HO1P02", 1, 11, 4, 0, 2, 0, 3, 24, 11, 3, 7, 0}, + {"HO", 7, 8, 4, "HO1P02", 1, 6, 4, 1, 2, 1, 3, 24, 11, 3, 7, 0}, + {"HO", 7, 9, 4, "HO1P02", 1, 2, 4, 2, 2, 2, 3, 24, 11, 3, 7, 0}, + {"HO", 7, 10, 4, "HO1P04", 2, 2, 4, 2, 2, 2, 3, 25, 7, 4, 16, 0}, + {"HO", 7, 11, 4, "HO1P04", 2, 6, 4, 1, 2, 1, 3, 25, 7, 4, 16, 0}, + {"HO", 7, 12, 4, "HO1P04", 2, 11, 4, 0, 2, 0, 3, 25, 7, 4, 16, 0}, + {"HO", 7, 13, 4, "HO1P04", 4, 2, 4, 2, 2, 2, 3, 25, 7, 3, 16, 0}, + {"HO", 7, 14, 4, "HO1P04", 4, 6, 4, 1, 2, 1, 3, 25, 7, 3, 16, 0}, + {"HO", 7, 15, 4, "HO1P04", 4, 11, 4, 0, 2, 0, 3, 25, 7, 3, 16, 0}, + {"HO", 7, 16, 4, "HO1P04", 3, 11, 4, 0, 2, 0, 7, 26, 3, 4, 3, 0}, + {"HO", 7, 17, 4, "HO1P04", 3, 6, 4, 1, 2, 1, 7, 26, 3, 4, 3, 0}, + {"HO", 7, 18, 4, "HO1P04", 3, 2, 4, 2, 2, 2, 7, 26, 3, 4, 3, 0}, + {"HO", 7, 19, 4, "HO1P04", 1, 11, 4, 0, 2, 0, 7, 26, 3, 3, 3, 0}, + {"HO", 7, 20, 4, "HO1P04", 1, 6, 4, 1, 2, 1, 7, 26, 3, 3, 3, 0}, + {"HO", 7, 21, 4, "HO1P04", 1, 2, 4, 2, 2, 2, 7, 26, 3, 3, 3, 0}, + {"HO", 7, 22, 4, "HO1P06", 2, 2, 4, 2, 2, 2, 7, 26, 11, 4, 7, 0}, + {"HO", 7, 23, 4, "HO1P06", 2, 6, 4, 1, 2, 1, 7, 26, 11, 4, 7, 0}, + {"HO", 7, 24, 4, "HO1P06", 2, 11, 4, 0, 2, 0, 7, 26, 11, 4, 7, 0}, + {"HO", 7, 25, 4, "HO1P06", 4, 2, 4, 2, 2, 2, 7, 26, 11, 3, 7, 0}, + {"HO", 7, 26, 4, "HO1P06", 4, 6, 4, 1, 2, 1, 7, 26, 11, 3, 7, 0}, + {"HO", 7, 27, 4, "HO1P06", 4, 11, 4, 0, 2, 0, 7, 26, 11, 3, 7, 0}, + {"HO", 7, 28, 4, "HO1P06", 3, 11, 4, 0, 2, 0, 7, 27, 7, 4, 16, 0}, + {"HO", 7, 29, 4, "HO1P06", 3, 6, 4, 1, 2, 1, 7, 27, 7, 4, 16, 0}, + {"HO", 7, 30, 4, "HO1P06", 3, 2, 4, 2, 2, 2, 7, 27, 7, 4, 16, 0}, + {"HO", 7, 31, 4, "HO1P06", 1, 11, 4, 0, 2, 0, 7, 27, 7, 3, 16, 0}, + {"HO", 7, 32, 4, "HO1P06", 1, 6, 4, 1, 2, 1, 7, 27, 7, 3, 16, 0}, + {"HO", 7, 33, 4, "HO1P06", 1, 2, 4, 2, 2, 2, 7, 27, 7, 3, 16, 0}, + {"HO", 7, 34, 4, "HO1P08", 2, 2, 4, 2, 2, 2, 6, 28, 3, 4, 3, 0}, + {"HO", 7, 35, 4, "HO1P08", 2, 6, 4, 1, 2, 1, 6, 28, 3, 4, 3, 0}, + {"HO", 7, 36, 4, "HO1P08", 2, 11, 4, 0, 2, 0, 6, 28, 3, 4, 3, 0}, + {"HO", 7, 37, 4, "HO1P08", 4, 2, 4, 2, 2, 2, 6, 28, 3, 3, 3, 0}, + {"HO", 7, 38, 4, "HO1P08", 4, 6, 4, 1, 2, 1, 6, 28, 3, 3, 3, 0}, + {"HO", 7, 39, 4, "HO1P08", 4, 11, 4, 0, 2, 0, 6, 28, 3, 3, 3, 0}, + {"HO", 7, 40, 4, "HO1P08", 3, 11, 4, 0, 2, 0, 6, 28, 11, 4, 7, 0}, + {"HO", 7, 41, 4, "HO1P08", 3, 6, 4, 1, 2, 1, 6, 28, 11, 4, 7, 0}, + {"HO", 7, 42, 4, "HO1P08", 3, 2, 4, 2, 2, 2, 6, 28, 11, 4, 7, 0}, + {"HO", 7, 43, 4, "HO1P08", 1, 11, 4, 0, 2, 0, 6, 28, 11, 3, 7, 0}, + {"HO", 7, 44, 4, "HO1P08", 1, 6, 4, 1, 2, 1, 6, 28, 11, 3, 7, 0}, + {"HO", 7, 45, 4, "HO1P08", 1, 2, 4, 2, 2, 2, 6, 28, 11, 3, 7, 0}, + {"HO", 7, 46, 4, "HO1P10", 2, 2, 4, 2, 2, 2, 6, 29, 7, 4, 16, 0}, + {"HO", 7, 47, 4, "HO1P10", 2, 6, 4, 1, 2, 1, 6, 29, 7, 4, 16, 0}, + {"HO", 7, 48, 4, "HO1P10", 2, 11, 4, 0, 2, 0, 6, 29, 7, 4, 16, 0}, + {"HO", 7, 49, 4, "HO1P10", 4, 2, 4, 2, 2, 2, 6, 29, 7, 3, 16, 0}, + {"HO", 7, 50, 4, "HO1P10", 4, 6, 4, 1, 2, 1, 6, 29, 7, 3, 16, 0}, + {"HO", 7, 51, 4, "HO1P10", 4, 11, 4, 0, 2, 0, 6, 29, 7, 3, 16, 0}, + {"HO", 7, 52, 4, "HO1P10", 3, 11, 4, 0, 2, 0, 13, 30, 3, 4, 3, 0}, + {"HO", 7, 53, 4, "HO1P10", 3, 6, 4, 1, 2, 1, 13, 30, 3, 4, 3, 0}, + {"HO", 7, 54, 4, "HO1P10", 3, 2, 4, 2, 2, 2, 13, 30, 3, 4, 3, 0}, + {"HO", 7, 55, 4, "HO1P10", 1, 11, 4, 0, 2, 0, 13, 30, 3, 3, 3, 0}, + {"HO", 7, 56, 4, "HO1P10", 1, 6, 4, 1, 2, 1, 13, 30, 3, 3, 3, 0}, + {"HO", 7, 57, 4, "HO1P10", 1, 2, 4, 2, 2, 2, 13, 30, 3, 3, 3, 0}, + {"HO", 7, 58, 4, "HO1P12", 2, 2, 4, 2, 2, 2, 13, 30, 11, 4, 7, 0}, + {"HO", 7, 59, 4, "HO1P12", 2, 6, 4, 1, 2, 1, 13, 30, 11, 4, 7, 0}, + {"HO", 7, 60, 4, "HO1P12", 2, 11, 4, 0, 2, 0, 13, 30, 11, 4, 7, 0}, + {"HO", 7, 61, 4, "HO1P12", 4, 2, 4, 2, 2, 2, 13, 30, 11, 3, 7, 0}, + {"HO", 7, 62, 4, "HO1P12", 4, 6, 4, 1, 2, 1, 13, 30, 11, 3, 7, 0}, + {"HO", 7, 63, 4, "HO1P12", 4, 11, 4, 0, 2, 0, 13, 30, 11, 3, 7, 0}, + {"HO", 7, 64, 4, "HO1P12", 3, 11, 4, 0, 2, 0, 13, 31, 7, 4, 16, 0}, + {"HO", 7, 65, 4, "HO1P12", 3, 6, 4, 1, 2, 1, 13, 31, 7, 4, 16, 0}, + {"HO", 7, 66, 4, "HO1P12", 3, 2, 4, 2, 2, 2, 13, 31, 7, 4, 16, 0}, + {"HO", 7, 67, 4, "HO1P12", 1, 11, 4, 0, 2, 0, 13, 31, 7, 3, 16, 0}, + {"HO", 7, 68, 4, "HO1P12", 1, 6, 4, 1, 2, 1, 13, 31, 7, 3, 16, 0}, + {"HO", 7, 69, 4, "HO1P12", 1, 2, 4, 2, 2, 2, 13, 31, 7, 3, 16, 0}, + {"HO", 7, 70, 4, "HO1P02", 2, 2, 4, 2, 2, 2, 3, 24, 3, 4, 3, 0}, + {"HO", 7, 71, 4, "HO1P02", 2, 6, 4, 1, 2, 1, 3, 24, 3, 4, 3, 0}, + {"HO", 8, 0, 4, "HO1P02", 2, 16, 7, 2, 3, 3, 3, 24, 3, 2, 3, 0}, + {"HO", 8, 1, 4, "HO1P02", 4, 14, 7, 1, 3, 5, 3, 24, 3, 1, 3, 0}, + {"HO", 8, 2, 4, "HO1P02", 4, 15, 7, 0, 3, 4, 3, 24, 3, 1, 3, 0}, + {"HO", 8, 3, 4, "HO1P02", 4, 16, 7, 2, 3, 3, 3, 24, 3, 1, 3, 0}, + {"HO", 8, 4, 4, "HO1P02", 3, 16, 7, 2, 3, 3, 3, 24, 11, 2, 7, 0}, + {"HO", 8, 5, 4, "HO1P02", 3, 15, 7, 0, 3, 4, 3, 24, 11, 2, 7, 0}, + {"HO", 8, 6, 4, "HO1P02", 3, 14, 7, 1, 3, 5, 3, 24, 11, 2, 7, 0}, + {"HO", 8, 7, 4, "HO1P02", 1, 16, 7, 2, 3, 3, 3, 24, 11, 1, 7, 0}, + {"HO", 8, 8, 4, "HO1P02", 1, 15, 7, 0, 3, 4, 3, 24, 11, 1, 7, 0}, + {"HO", 8, 9, 4, "HO1P02", 1, 14, 7, 1, 3, 5, 3, 24, 11, 1, 7, 0}, + {"HO", 8, 10, 4, "HO1P04", 2, 14, 7, 1, 3, 5, 3, 25, 7, 2, 16, 0}, + {"HO", 8, 11, 4, "HO1P04", 2, 15, 7, 0, 3, 4, 3, 25, 7, 2, 16, 0}, + {"HO", 8, 12, 4, "HO1P04", 2, 16, 7, 2, 3, 3, 3, 25, 7, 2, 16, 0}, + {"HO", 8, 13, 4, "HO1P04", 4, 14, 7, 1, 3, 5, 3, 25, 7, 1, 16, 0}, + {"HO", 8, 14, 4, "HO1P04", 4, 15, 7, 0, 3, 4, 3, 25, 7, 1, 16, 0}, + {"HO", 8, 15, 4, "HO1P04", 4, 16, 7, 2, 3, 3, 3, 25, 7, 1, 16, 0}, + {"HO", 8, 16, 4, "HO1P04", 3, 16, 7, 2, 3, 3, 7, 26, 3, 2, 3, 0}, + {"HO", 8, 17, 4, "HO1P04", 3, 15, 7, 0, 3, 4, 7, 26, 3, 2, 3, 0}, + {"HO", 8, 18, 4, "HO1P04", 3, 14, 7, 1, 3, 5, 7, 26, 3, 2, 3, 0}, + {"HO", 8, 19, 4, "HO1P04", 1, 16, 7, 2, 3, 3, 7, 26, 3, 1, 3, 0}, + {"HO", 8, 20, 4, "HO1P04", 1, 15, 7, 0, 3, 4, 7, 26, 3, 1, 3, 0}, + {"HO", 8, 21, 4, "HO1P04", 1, 14, 7, 1, 3, 5, 7, 26, 3, 1, 3, 0}, + {"HO", 8, 22, 4, "HO1P06", 2, 14, 7, 1, 3, 5, 7, 26, 11, 2, 7, 0}, + {"HO", 8, 23, 4, "HO1P06", 2, 15, 7, 0, 3, 4, 7, 26, 11, 2, 7, 0}, + {"HO", 8, 24, 4, "HO1P06", 2, 16, 7, 2, 3, 3, 7, 26, 11, 2, 7, 0}, + {"HO", 8, 25, 4, "HO1P06", 4, 14, 7, 1, 3, 5, 7, 26, 11, 1, 7, 0}, + {"HO", 8, 26, 4, "HO1P06", 4, 15, 7, 0, 3, 4, 7, 26, 11, 1, 7, 0}, + {"HO", 8, 27, 4, "HO1P06", 4, 16, 7, 2, 3, 3, 7, 26, 11, 1, 7, 0}, + {"HO", 8, 28, 4, "HO1P06", 3, 16, 7, 2, 3, 3, 7, 27, 7, 2, 16, 0}, + {"HO", 8, 29, 4, "HO1P06", 3, 15, 7, 0, 3, 4, 7, 27, 7, 2, 16, 0}, + {"HO", 8, 30, 4, "HO1P06", 3, 14, 7, 1, 3, 5, 7, 27, 7, 2, 16, 0}, + {"HO", 8, 31, 4, "HO1P06", 1, 16, 7, 2, 3, 3, 7, 27, 7, 1, 16, 0}, + {"HO", 8, 32, 4, "HO1P06", 1, 15, 7, 0, 3, 4, 7, 27, 7, 1, 16, 0}, + {"HO", 8, 33, 4, "HO1P06", 1, 14, 7, 1, 3, 5, 7, 27, 7, 1, 16, 0}, + {"HO", 8, 34, 4, "HO1P08", 2, 14, 7, 1, 3, 5, 6, 28, 3, 2, 3, 0}, + {"HO", 8, 35, 4, "HO1P08", 2, 15, 7, 0, 3, 4, 6, 28, 3, 2, 3, 0}, + {"HO", 8, 36, 4, "HO1P08", 2, 16, 7, 2, 3, 3, 6, 28, 3, 2, 3, 0}, + {"HO", 8, 37, 4, "HO1P08", 4, 14, 7, 1, 3, 5, 6, 28, 3, 1, 3, 0}, + {"HO", 8, 38, 4, "HO1P08", 4, 15, 7, 0, 3, 4, 6, 28, 3, 1, 3, 0}, + {"HO", 8, 39, 4, "HO1P08", 4, 16, 7, 2, 3, 3, 6, 28, 3, 1, 3, 0}, + {"HO", 8, 40, 4, "HO1P08", 3, 16, 7, 2, 3, 3, 6, 28, 11, 2, 7, 0}, + {"HO", 8, 41, 4, "HO1P08", 3, 15, 7, 0, 3, 4, 6, 28, 11, 2, 7, 0}, + {"HO", 8, 42, 4, "HO1P08", 3, 14, 7, 1, 3, 5, 6, 28, 11, 2, 7, 0}, + {"HO", 8, 43, 4, "HO1P08", 1, 16, 7, 2, 3, 3, 6, 28, 11, 1, 7, 0}, + {"HO", 8, 44, 4, "HO1P08", 1, 15, 7, 0, 3, 4, 6, 28, 11, 1, 7, 0}, + {"HO", 8, 45, 4, "HO1P08", 1, 14, 7, 1, 3, 5, 6, 28, 11, 1, 7, 0}, + {"HO", 8, 46, 4, "HO1P10", 2, 14, 7, 1, 3, 5, 6, 29, 7, 2, 16, 0}, + {"HO", 8, 47, 4, "HO1P10", 2, 15, 7, 0, 3, 4, 6, 29, 7, 2, 16, 0}, + {"HO", 8, 48, 4, "HO1P10", 2, 16, 7, 2, 3, 3, 6, 29, 7, 2, 16, 0}, + {"HO", 8, 49, 4, "HO1P10", 4, 14, 7, 1, 3, 5, 6, 29, 7, 1, 16, 0}, + {"HO", 8, 50, 4, "HO1P10", 4, 15, 7, 0, 3, 4, 6, 29, 7, 1, 16, 0}, + {"HO", 8, 51, 4, "HO1P10", 4, 16, 7, 2, 3, 3, 6, 29, 7, 1, 16, 0}, + {"HO", 8, 52, 4, "HO1P10", 3, 16, 7, 2, 3, 3, 13, 30, 3, 2, 3, 0}, + {"HO", 8, 53, 4, "HO1P10", 3, 15, 7, 0, 3, 4, 13, 30, 3, 2, 3, 0}, + {"HO", 8, 54, 4, "HO1P10", 3, 14, 7, 1, 3, 5, 13, 30, 3, 2, 3, 0}, + {"HO", 8, 55, 4, "HO1P10", 1, 16, 7, 2, 3, 3, 13, 30, 3, 1, 3, 0}, + {"HO", 8, 56, 4, "HO1P10", 1, 15, 7, 0, 3, 4, 13, 30, 3, 1, 3, 0}, + {"HO", 8, 57, 4, "HO1P10", 1, 14, 7, 1, 3, 5, 13, 30, 3, 1, 3, 0}, + {"HO", 8, 58, 4, "HO1P12", 2, 14, 7, 1, 3, 5, 13, 30, 11, 2, 7, 0}, + {"HO", 8, 59, 4, "HO1P12", 2, 15, 7, 0, 3, 4, 13, 30, 11, 2, 7, 0}, + {"HO", 8, 60, 4, "HO1P12", 2, 16, 7, 2, 3, 3, 13, 30, 11, 2, 7, 0}, + {"HO", 8, 61, 4, "HO1P12", 4, 14, 7, 1, 3, 5, 13, 30, 11, 1, 7, 0}, + {"HO", 8, 62, 4, "HO1P12", 4, 15, 7, 0, 3, 4, 13, 30, 11, 1, 7, 0}, + {"HO", 8, 63, 4, "HO1P12", 4, 16, 7, 2, 3, 3, 13, 30, 11, 1, 7, 0}, + {"HO", 8, 64, 4, "HO1P12", 3, 16, 7, 2, 3, 3, 13, 31, 7, 2, 16, 0}, + {"HO", 8, 65, 4, "HO1P12", 3, 15, 7, 0, 3, 4, 13, 31, 7, 2, 16, 0}, + {"HO", 8, 66, 4, "HO1P12", 3, 14, 7, 1, 3, 5, 13, 31, 7, 2, 16, 0}, + {"HO", 8, 67, 4, "HO1P12", 1, 16, 7, 2, 3, 3, 13, 31, 7, 1, 16, 0}, + {"HO", 8, 68, 4, "HO1P12", 1, 15, 7, 0, 3, 4, 13, 31, 7, 1, 16, 0}, + {"HO", 8, 69, 4, "HO1P12", 1, 14, 7, 1, 3, 5, 13, 31, 7, 1, 16, 0}, + {"HO", 8, 70, 4, "HO1P02", 2, 14, 7, 1, 3, 5, 3, 24, 3, 2, 3, 0}, + {"HO", 8, 71, 4, "HO1P02", 2, 15, 7, 0, 3, 4, 3, 24, 3, 2, 3, 0}, + {"HO", 9, 0, 4, "HO1P02", 2, 19, 6, 0, 3, 0, 3, 24, 2, 8, 3, 1}, + {"HO", 9, 1, 4, "HO1P02", 4, 17, 6, 2, 3, 2, 3, 24, 2, 7, 3, 1}, + {"HO", 9, 2, 4, "HO1P02", 4, 18, 6, 1, 3, 1, 3, 24, 2, 7, 3, 1}, + {"HO", 9, 3, 4, "HO1P02", 4, 19, 6, 0, 3, 0, 3, 24, 2, 7, 3, 1}, + {"HO", 9, 4, 4, "HO1P02", 3, 19, 6, 0, 3, 0, 3, 24, 10, 8, 7, 1}, + {"HO", 9, 5, 4, "HO1P02", 3, 18, 6, 1, 3, 1, 3, 24, 10, 8, 7, 1}, + {"HO", 9, 6, 4, "HO1P02", 3, 17, 6, 2, 3, 2, 3, 24, 10, 8, 7, 1}, + {"HO", 9, 7, 4, "HO1P02", 1, 19, 6, 0, 3, 0, 3, 24, 10, 7, 7, 1}, + {"HO", 9, 8, 4, "HO1P02", 1, 18, 6, 1, 3, 1, 3, 24, 10, 7, 7, 1}, + {"HO", 9, 9, 4, "HO1P02", 1, 17, 6, 2, 3, 2, 3, 24, 10, 7, 7, 1}, + {"HO", 9, 10, 4, "HO1P04", 2, 17, 6, 2, 3, 2, 3, 25, 6, 8, 16, 1}, + {"HO", 9, 11, 4, "HO1P04", 2, 18, 6, 1, 3, 1, 3, 25, 6, 8, 16, 1}, + {"HO", 9, 12, 4, "HO1P04", 2, 19, 6, 0, 3, 0, 3, 25, 6, 8, 16, 1}, + {"HO", 9, 13, 4, "HO1P04", 4, 17, 6, 2, 3, 2, 3, 25, 6, 7, 16, 1}, + {"HO", 9, 14, 4, "HO1P04", 4, 18, 6, 1, 3, 1, 3, 25, 6, 7, 16, 1}, + {"HO", 9, 15, 4, "HO1P04", 4, 19, 6, 0, 3, 0, 3, 25, 6, 7, 16, 1}, + {"HO", 9, 16, 4, "HO1P04", 3, 19, 6, 0, 3, 0, 7, 26, 2, 8, 3, 1}, + {"HO", 9, 17, 4, "HO1P04", 3, 18, 6, 1, 3, 1, 7, 26, 2, 8, 3, 1}, + {"HO", 9, 18, 4, "HO1P04", 3, 17, 6, 2, 3, 2, 7, 26, 2, 8, 3, 1}, + {"HO", 9, 19, 4, "HO1P04", 1, 19, 6, 0, 3, 0, 7, 26, 2, 7, 3, 1}, + {"HO", 9, 20, 4, "HO1P04", 1, 18, 6, 1, 3, 1, 7, 26, 2, 7, 3, 1}, + {"HO", 9, 21, 4, "HO1P04", 1, 17, 6, 2, 3, 2, 7, 26, 2, 7, 3, 1}, + {"HO", 9, 22, 4, "HO1P06", 2, 17, 6, 2, 3, 2, 7, 26, 10, 8, 7, 1}, + {"HO", 9, 23, 4, "HO1P06", 2, 18, 6, 1, 3, 1, 7, 26, 10, 8, 7, 1}, + {"HO", 9, 24, 4, "HO1P06", 2, 19, 6, 0, 3, 0, 7, 26, 10, 8, 7, 1}, + {"HO", 9, 25, 4, "HO1P06", 4, 17, 6, 2, 3, 2, 7, 26, 10, 7, 7, 1}, + {"HO", 9, 26, 4, "HO1P06", 4, 18, 6, 1, 3, 1, 7, 26, 10, 7, 7, 1}, + {"HO", 9, 27, 4, "HO1P06", 4, 19, 6, 0, 3, 0, 7, 26, 10, 7, 7, 1}, + {"HO", 9, 28, 4, "HO1P06", 3, 19, 6, 0, 3, 0, 7, 27, 6, 8, 16, 1}, + {"HO", 9, 29, 4, "HO1P06", 3, 18, 6, 1, 3, 1, 7, 27, 6, 8, 16, 1}, + {"HO", 9, 30, 4, "HO1P06", 3, 17, 6, 2, 3, 2, 7, 27, 6, 8, 16, 1}, + {"HO", 9, 31, 4, "HO1P06", 1, 19, 6, 0, 3, 0, 7, 27, 6, 7, 16, 1}, + {"HO", 9, 32, 4, "HO1P06", 1, 18, 6, 1, 3, 1, 7, 27, 6, 7, 16, 1}, + {"HO", 9, 33, 4, "HO1P06", 1, 17, 6, 2, 3, 2, 7, 27, 6, 7, 16, 1}, + {"HO", 9, 34, 4, "HO1P08", 2, 17, 6, 2, 3, 2, 6, 28, 2, 8, 3, 1}, + {"HO", 9, 35, 4, "HO1P08", 2, 18, 6, 1, 3, 1, 6, 28, 2, 8, 3, 1}, + {"HO", 9, 36, 4, "HO1P08", 2, 19, 6, 0, 3, 0, 6, 28, 2, 8, 3, 1}, + {"HO", 9, 37, 4, "HO1P08", 4, 17, 6, 2, 3, 2, 6, 28, 2, 7, 3, 1}, + {"HO", 9, 38, 4, "HO1P08", 4, 18, 6, 1, 3, 1, 6, 28, 2, 7, 3, 1}, + {"HO", 9, 39, 4, "HO1P08", 4, 19, 6, 0, 3, 0, 6, 28, 2, 7, 3, 1}, + {"HO", 9, 40, 4, "HO1P08", 3, 19, 6, 0, 3, 0, 6, 28, 10, 8, 7, 1}, + {"HO", 9, 41, 4, "HO1P08", 3, 18, 6, 1, 3, 1, 6, 28, 10, 8, 7, 1}, + {"HO", 9, 42, 4, "HO1P08", 3, 17, 6, 2, 3, 2, 6, 28, 10, 8, 7, 1}, + {"HO", 9, 43, 4, "HO1P08", 1, 19, 6, 0, 3, 0, 6, 28, 10, 7, 7, 1}, + {"HO", 9, 44, 4, "HO1P08", 1, 18, 6, 1, 3, 1, 6, 28, 10, 7, 7, 1}, + {"HO", 9, 45, 4, "HO1P08", 1, 17, 6, 2, 3, 2, 6, 28, 10, 7, 7, 1}, + {"HO", 9, 46, 4, "HO1P10", 2, 17, 6, 2, 3, 2, 6, 29, 6, 8, 16, 1}, + {"HO", 9, 47, 4, "HO1P10", 2, 18, 6, 1, 3, 1, 6, 29, 6, 8, 16, 1}, + {"HO", 9, 48, 4, "HO1P10", 2, 19, 6, 0, 3, 0, 6, 29, 6, 8, 16, 1}, + {"HO", 9, 49, 4, "HO1P10", 4, 17, 6, 2, 3, 2, 6, 29, 6, 7, 16, 1}, + {"HO", 9, 50, 4, "HO1P10", 4, 18, 6, 1, 3, 1, 6, 29, 6, 7, 16, 1}, + {"HO", 9, 51, 4, "HO1P10", 4, 19, 6, 0, 3, 0, 6, 29, 6, 7, 16, 1}, + {"HO", 9, 52, 4, "HO1P10", 3, 19, 6, 0, 3, 0, 13, 30, 2, 8, 3, 1}, + {"HO", 9, 53, 4, "HO1P10", 3, 18, 6, 1, 3, 1, 13, 30, 2, 8, 3, 1}, + {"HO", 9, 54, 4, "HO1P10", 3, 17, 6, 2, 3, 2, 13, 30, 2, 8, 3, 1}, + {"HO", 9, 55, 4, "HO1P10", 1, 19, 6, 0, 3, 0, 13, 30, 2, 7, 3, 1}, + {"HO", 9, 56, 4, "HO1P10", 1, 18, 6, 1, 3, 1, 13, 30, 2, 7, 3, 1}, + {"HO", 9, 57, 4, "HO1P10", 1, 17, 6, 2, 3, 2, 13, 30, 2, 7, 3, 1}, + {"HO", 9, 58, 4, "HO1P12", 2, 17, 6, 2, 3, 2, 13, 30, 10, 8, 7, 1}, + {"HO", 9, 59, 4, "HO1P12", 2, 18, 6, 1, 3, 1, 13, 30, 10, 8, 7, 1}, + {"HO", 9, 60, 4, "HO1P12", 2, 19, 6, 0, 3, 0, 13, 30, 10, 8, 7, 1}, + {"HO", 9, 61, 4, "HO1P12", 4, 17, 6, 2, 3, 2, 13, 30, 10, 7, 7, 1}, + {"HO", 9, 62, 4, "HO1P12", 4, 18, 6, 1, 3, 1, 13, 30, 10, 7, 7, 1}, + {"HO", 9, 63, 4, "HO1P12", 4, 19, 6, 0, 3, 0, 13, 30, 10, 7, 7, 1}, + {"HO", 9, 64, 4, "HO1P12", 3, 19, 6, 0, 3, 0, 13, 31, 6, 8, 16, 1}, + {"HO", 9, 65, 4, "HO1P12", 3, 18, 6, 1, 3, 1, 13, 31, 6, 8, 16, 1}, + {"HO", 9, 66, 4, "HO1P12", 3, 17, 6, 2, 3, 2, 13, 31, 6, 8, 16, 1}, + {"HO", 9, 67, 4, "HO1P12", 1, 19, 6, 0, 3, 0, 13, 31, 6, 7, 16, 1}, + {"HO", 9, 68, 4, "HO1P12", 1, 18, 6, 1, 3, 1, 13, 31, 6, 7, 16, 1}, + {"HO", 9, 69, 4, "HO1P12", 1, 17, 6, 2, 3, 2, 13, 31, 6, 7, 16, 1}, + {"HO", 9, 70, 4, "HO1P02", 2, 17, 6, 2, 3, 2, 3, 24, 2, 8, 3, 1}, + {"HO", 9, 71, 4, "HO1P02", 2, 18, 6, 1, 3, 1, 3, 24, 2, 8, 3, 1}, + {"HO", 10, 0, 4, "HO2P02", 2, 1, 3, 2, 1, 3, 3, 24, 2, 6, 3, 1}, + {"HO", 10, 1, 4, "HO2P02", 4, 8, 3, 1, 1, 5, 3, 24, 2, 5, 3, 1}, + {"HO", 10, 2, 4, "HO2P02", 4, 4, 3, 0, 1, 4, 3, 24, 2, 5, 3, 1}, + {"HO", 10, 3, 4, "HO2P02", 4, 1, 3, 2, 1, 3, 3, 24, 2, 5, 3, 1}, + {"HO", 10, 4, 4, "HO2P02", 3, 1, 3, 2, 1, 3, 3, 24, 10, 6, 7, 1}, + {"HO", 10, 5, 4, "HO2P02", 3, 4, 3, 0, 1, 4, 3, 24, 10, 6, 7, 1}, + {"HO", 10, 6, 4, "HO2P02", 3, 8, 3, 1, 1, 5, 3, 24, 10, 6, 7, 1}, + {"HO", 10, 7, 4, "HO2P02", 1, 1, 3, 2, 1, 3, 3, 24, 10, 5, 7, 1}, + {"HO", 10, 8, 4, "HO2P02", 1, 4, 3, 0, 1, 4, 3, 24, 10, 5, 7, 1}, + {"HO", 10, 9, 4, "HO2P02", 1, 8, 3, 1, 1, 5, 3, 24, 10, 5, 7, 1}, + {"HO", 10, 10, 4, "HO2P04", 2, 8, 3, 1, 1, 5, 3, 25, 6, 6, 16, 1}, + {"HO", 10, 11, 4, "HO2P04", 2, 4, 3, 0, 1, 4, 3, 25, 6, 6, 16, 1}, + {"HO", 10, 12, 4, "HO2P04", 2, 1, 3, 2, 1, 3, 3, 25, 6, 6, 16, 1}, + {"HO", 10, 13, 4, "HO2P04", 4, 8, 3, 1, 1, 5, 3, 25, 6, 5, 16, 1}, + {"HO", 10, 14, 4, "HO2P04", 4, 4, 3, 0, 1, 4, 3, 25, 6, 5, 16, 1}, + {"HO", 10, 15, 4, "HO2P04", 4, 1, 3, 2, 1, 3, 3, 25, 6, 5, 16, 1}, + {"HO", 10, 16, 4, "HO2P04", 3, 1, 3, 2, 1, 3, 7, 26, 2, 6, 3, 1}, + {"HO", 10, 17, 4, "HO2P04", 3, 4, 3, 0, 1, 4, 7, 26, 2, 6, 3, 1}, + {"HO", 10, 18, 4, "HO2P04", 3, 8, 3, 1, 1, 5, 7, 26, 2, 6, 3, 1}, + {"HO", 10, 19, 4, "HO2P04", 1, 1, 3, 2, 1, 3, 7, 26, 2, 5, 3, 1}, + {"HO", 10, 20, 4, "HO2P04", 1, 4, 3, 0, 1, 4, 7, 26, 2, 5, 3, 1}, + {"HO", 10, 21, 4, "HO2P04", 1, 8, 3, 1, 1, 5, 7, 26, 2, 5, 3, 1}, + {"HO", 10, 22, 4, "HO2P06", 2, 8, 3, 1, 1, 5, 7, 26, 10, 6, 7, 1}, + {"HO", 10, 23, 4, "HO2P06", 2, 4, 3, 0, 1, 4, 7, 26, 10, 6, 7, 1}, + {"HO", 10, 24, 4, "HO2P06", 2, 1, 3, 2, 1, 3, 7, 26, 10, 6, 7, 1}, + {"HO", 10, 25, 4, "HO2P06", 4, 8, 3, 1, 1, 5, 7, 26, 10, 5, 7, 1}, + {"HO", 10, 26, 4, "HO2P06", 4, 4, 3, 0, 1, 4, 7, 26, 10, 5, 7, 1}, + {"HO", 10, 27, 4, "HO2P06", 4, 1, 3, 2, 1, 3, 7, 26, 10, 5, 7, 1}, + {"HO", 10, 28, 4, "HO2P06", 3, 1, 3, 2, 1, 3, 7, 27, 6, 6, 16, 1}, + {"HO", 10, 29, 4, "HO2P06", 3, 4, 3, 0, 1, 4, 7, 27, 6, 6, 16, 1}, + {"HO", 10, 30, 4, "HO2P06", 3, 8, 3, 1, 1, 5, 7, 27, 6, 6, 16, 1}, + {"HO", 10, 31, 4, "HO2P06", 1, 1, 3, 2, 1, 3, 7, 27, 6, 5, 16, 1}, + {"HO", 10, 32, 4, "HO2P06", 1, 4, 3, 0, 1, 4, 7, 27, 6, 5, 16, 1}, + {"HO", 10, 33, 4, "HO2P06", 1, 8, 3, 1, 1, 5, 7, 27, 6, 5, 16, 1}, + {"HO", 10, 34, 4, "HO2P08", 2, 8, 3, 1, 1, 5, 6, 28, 2, 6, 3, 1}, + {"HO", 10, 35, 4, "HO2P08", 2, 4, 3, 0, 1, 4, 6, 28, 2, 6, 3, 1}, + {"HO", 10, 36, 4, "HO2P08", 2, 1, 3, 2, 1, 3, 6, 28, 2, 6, 3, 1}, + {"HO", 10, 37, 4, "HO2P08", 4, 8, 3, 1, 1, 5, 6, 28, 2, 5, 3, 1}, + {"HO", 10, 38, 4, "HO2P08", 4, 4, 3, 0, 1, 4, 6, 28, 2, 5, 3, 1}, + {"HO", 10, 39, 4, "HO2P08", 4, 1, 3, 2, 1, 3, 6, 28, 2, 5, 3, 1}, + {"HO", 10, 40, 4, "HO2P08", 3, 1, 3, 2, 1, 3, 6, 28, 10, 6, 7, 1}, + {"HO", 10, 41, 4, "HO2P08", 3, 4, 3, 0, 1, 4, 6, 28, 10, 6, 7, 1}, + {"HO", 10, 42, 4, "HO2P08", 3, 8, 3, 1, 1, 5, 6, 28, 10, 6, 7, 1}, + {"HO", 10, 43, 4, "HO2P08", 1, 1, 3, 2, 1, 3, 6, 28, 10, 5, 7, 1}, + {"HO", 10, 44, 4, "HO2P08", 1, 4, 3, 0, 1, 4, 6, 28, 10, 5, 7, 1}, + {"HO", 10, 45, 4, "HO2P08", 1, 8, 3, 1, 1, 5, 6, 28, 10, 5, 7, 1}, + {"HO", 10, 46, 4, "HO2P10", 2, 8, 3, 1, 1, 5, 6, 29, 6, 6, 16, 1}, + {"HO", 10, 47, 4, "HO2P10", 2, 4, 3, 0, 1, 4, 6, 29, 6, 6, 16, 1}, + {"HO", 10, 48, 4, "HO2P10", 2, 1, 3, 2, 1, 3, 6, 29, 6, 6, 16, 1}, + {"HO", 10, 49, 4, "HO2P10", 4, 8, 3, 1, 1, 5, 6, 29, 6, 5, 16, 1}, + {"HO", 10, 50, 4, "HO2P10", 4, 4, 3, 0, 1, 4, 6, 29, 6, 5, 16, 1}, + {"HO", 10, 51, 4, "HO2P10", 4, 1, 3, 2, 1, 3, 6, 29, 6, 5, 16, 1}, + {"HO", 10, 52, 4, "HO2P10", 3, 1, 3, 2, 1, 3, 13, 30, 2, 6, 3, 1}, + {"HO", 10, 53, 4, "HO2P10", 3, 4, 3, 0, 1, 4, 13, 30, 2, 6, 3, 1}, + {"HO", 10, 54, 4, "HO2P10", 3, 8, 3, 1, 1, 5, 13, 30, 2, 6, 3, 1}, + {"HO", 10, 55, 4, "HO2P10", 1, 1, 3, 2, 1, 3, 13, 30, 2, 5, 3, 1}, + {"HO", 10, 56, 4, "HO2P10", 1, 4, 3, 0, 1, 4, 13, 30, 2, 5, 3, 1}, + {"HO", 10, 57, 4, "HO2P10", 1, 8, 3, 1, 1, 5, 13, 30, 2, 5, 3, 1}, + {"HO", 10, 58, 4, "HO2P12", 2, 8, 3, 1, 1, 5, 13, 30, 10, 6, 7, 1}, + {"HO", 10, 59, 4, "HO2P12", 2, 4, 3, 0, 1, 4, 13, 30, 10, 6, 7, 1}, + {"HO", 10, 60, 4, "HO2P12", 2, 1, 3, 2, 1, 3, 13, 30, 10, 6, 7, 1}, + {"HO", 10, 61, 4, "HO2P12", 4, 8, 3, 1, 1, 5, 13, 30, 10, 5, 7, 1}, + {"HO", 10, 62, 4, "HO2P12", 4, 4, 3, 0, 1, 4, 13, 30, 10, 5, 7, 1}, + {"HO", 10, 63, 4, "HO2P12", 4, 1, 3, 2, 1, 3, 13, 30, 10, 5, 7, 1}, + {"HO", 10, 64, 4, "HO2P12", 3, 1, 3, 2, 1, 3, 13, 31, 6, 6, 16, 1}, + {"HO", 10, 65, 4, "HO2P12", 3, 4, 3, 0, 1, 4, 13, 31, 6, 6, 16, 1}, + {"HO", 10, 66, 4, "HO2P12", 3, 8, 3, 1, 1, 5, 13, 31, 6, 6, 16, 1}, + {"HO", 10, 67, 4, "HO2P12", 1, 1, 3, 2, 1, 3, 13, 31, 6, 5, 16, 1}, + {"HO", 10, 68, 4, "HO2P12", 1, 4, 3, 0, 1, 4, 13, 31, 6, 5, 16, 1}, + {"HO", 10, 69, 4, "HO2P12", 1, 8, 3, 1, 1, 5, 13, 31, 6, 5, 16, 1}, + {"HO", 10, 70, 4, "HO2P02", 2, 8, 3, 1, 1, 5, 3, 24, 2, 6, 3, 1}, + {"HO", 10, 71, 4, "HO2P02", 2, 4, 3, 0, 1, 4, 3, 24, 2, 6, 3, 1}, + {"HO", 11, 0, 4, "HO2P02", 2, 12, 2, 0, 1, 0, 3, 24, 2, 4, 3, 1}, + {"HO", 11, 1, 4, "HO2P02", 4, 3, 2, 2, 1, 2, 3, 24, 2, 3, 3, 1}, + {"HO", 11, 2, 4, "HO2P02", 4, 7, 2, 1, 1, 1, 3, 24, 2, 3, 3, 1}, + {"HO", 11, 3, 4, "HO2P02", 4, 12, 2, 0, 1, 0, 3, 24, 2, 3, 3, 1}, + {"HO", 11, 4, 4, "HO2P02", 3, 12, 2, 0, 1, 0, 3, 24, 10, 4, 7, 1}, + {"HO", 11, 5, 4, "HO2P02", 3, 7, 2, 1, 1, 1, 3, 24, 10, 4, 7, 1}, + {"HO", 11, 6, 4, "HO2P02", 3, 3, 2, 2, 1, 2, 3, 24, 10, 4, 7, 1}, + {"HO", 11, 7, 4, "HO2P02", 1, 12, 2, 0, 1, 0, 3, 24, 10, 3, 7, 1}, + {"HO", 11, 8, 4, "HO2P02", 1, 7, 2, 1, 1, 1, 3, 24, 10, 3, 7, 1}, + {"HO", 11, 9, 4, "HO2P02", 1, 3, 2, 2, 1, 2, 3, 24, 10, 3, 7, 1}, + {"HO", 11, 10, 4, "HO2P04", 2, 3, 2, 2, 1, 2, 3, 25, 6, 4, 16, 1}, + {"HO", 11, 11, 4, "HO2P04", 2, 7, 2, 1, 1, 1, 3, 25, 6, 4, 16, 1}, + {"HO", 11, 12, 4, "HO2P04", 2, 12, 2, 0, 1, 0, 3, 25, 6, 4, 16, 1}, + {"HO", 11, 13, 4, "HO2P04", 4, 3, 2, 2, 1, 2, 3, 25, 6, 3, 16, 1}, + {"HO", 11, 14, 4, "HO2P04", 4, 7, 2, 1, 1, 1, 3, 25, 6, 3, 16, 1}, + {"HO", 11, 15, 4, "HO2P04", 4, 12, 2, 0, 1, 0, 3, 25, 6, 3, 16, 1}, + {"HO", 11, 16, 4, "HO2P04", 3, 12, 2, 0, 1, 0, 7, 26, 2, 4, 3, 1}, + {"HO", 11, 17, 4, "HO2P04", 3, 7, 2, 1, 1, 1, 7, 26, 2, 4, 3, 1}, + {"HO", 11, 18, 4, "HO2P04", 3, 3, 2, 2, 1, 2, 7, 26, 2, 4, 3, 1}, + {"HO", 11, 19, 4, "HO2P04", 1, 12, 2, 0, 1, 0, 7, 26, 2, 3, 3, 1}, + {"HO", 11, 20, 4, "HO2P04", 1, 7, 2, 1, 1, 1, 7, 26, 2, 3, 3, 1}, + {"HO", 11, 21, 4, "HO2P04", 1, 3, 2, 2, 1, 2, 7, 26, 2, 3, 3, 1}, + {"HO", 11, 22, 4, "HO2P06", 2, 3, 2, 2, 1, 2, 7, 26, 10, 4, 7, 1}, + {"HO", 11, 23, 4, "HO2P06", 2, 7, 2, 1, 1, 1, 7, 26, 10, 4, 7, 1}, + {"HO", 11, 24, 4, "HO2P06", 2, 12, 2, 0, 1, 0, 7, 26, 10, 4, 7, 1}, + {"HO", 11, 25, 4, "HO2P06", 4, 3, 2, 2, 1, 2, 7, 26, 10, 3, 7, 1}, + {"HO", 11, 26, 4, "HO2P06", 4, 7, 2, 1, 1, 1, 7, 26, 10, 3, 7, 1}, + {"HO", 11, 27, 4, "HO2P06", 4, 12, 2, 0, 1, 0, 7, 26, 10, 3, 7, 1}, + {"HO", 11, 28, 4, "HO2P06", 3, 12, 2, 0, 1, 0, 7, 27, 6, 4, 16, 1}, + {"HO", 11, 29, 4, "HO2P06", 3, 7, 2, 1, 1, 1, 7, 27, 6, 4, 16, 1}, + {"HO", 11, 30, 4, "HO2P06", 3, 3, 2, 2, 1, 2, 7, 27, 6, 4, 16, 1}, + {"HO", 11, 31, 4, "HO2P06", 1, 12, 2, 0, 1, 0, 7, 27, 6, 3, 16, 1}, + {"HO", 11, 32, 4, "HO2P06", 1, 7, 2, 1, 1, 1, 7, 27, 6, 3, 16, 1}, + {"HO", 11, 33, 4, "HO2P06", 1, 3, 2, 2, 1, 2, 7, 27, 6, 3, 16, 1}, + {"HO", 11, 34, 4, "HO2P08", 2, 3, 2, 2, 1, 2, 6, 28, 2, 4, 3, 1}, + {"HO", 11, 35, 4, "HO2P08", 2, 7, 2, 1, 1, 1, 6, 28, 2, 4, 3, 1}, + {"HO", 11, 36, 4, "HO2P08", 2, 12, 2, 0, 1, 0, 6, 28, 2, 4, 3, 1}, + {"HO", 11, 37, 4, "HO2P08", 4, 3, 2, 2, 1, 2, 6, 28, 2, 3, 3, 1}, + {"HO", 11, 38, 4, "HO2P08", 4, 7, 2, 1, 1, 1, 6, 28, 2, 3, 3, 1}, + {"HO", 11, 39, 4, "HO2P08", 4, 12, 2, 0, 1, 0, 6, 28, 2, 3, 3, 1}, + {"HO", 11, 40, 4, "HO2P08", 3, 12, 2, 0, 1, 0, 6, 28, 10, 4, 7, 1}, + {"HO", 11, 41, 4, "HO2P08", 3, 7, 2, 1, 1, 1, 6, 28, 10, 4, 7, 1}, + {"HO", 11, 42, 4, "HO2P08", 3, 3, 2, 2, 1, 2, 6, 28, 10, 4, 7, 1}, + {"HO", 11, 43, 4, "HO2P08", 1, 12, 2, 0, 1, 0, 6, 28, 10, 3, 7, 1}, + {"HO", 11, 44, 4, "HO2P08", 1, 7, 2, 1, 1, 1, 6, 28, 10, 3, 7, 1}, + {"HO", 11, 45, 4, "HO2P08", 1, 3, 2, 2, 1, 2, 6, 28, 10, 3, 7, 1}, + {"HO", 11, 46, 4, "HO2P10", 2, 3, 2, 2, 1, 2, 6, 29, 6, 4, 16, 1}, + {"HO", 11, 47, 4, "HO2P10", 2, 7, 2, 1, 1, 1, 6, 29, 6, 4, 16, 1}, + {"HO", 11, 48, 4, "HO2P10", 2, 12, 2, 0, 1, 0, 6, 29, 6, 4, 16, 1}, + {"HO", 11, 49, 4, "HO2P10", 4, 3, 2, 2, 1, 2, 6, 29, 6, 3, 16, 1}, + {"HO", 11, 50, 4, "HO2P10", 4, 7, 2, 1, 1, 1, 6, 29, 6, 3, 16, 1}, + {"HO", 11, 51, 4, "HO2P10", 4, 12, 2, 0, 1, 0, 6, 29, 6, 3, 16, 1}, + {"HO", 11, 52, 4, "HO2P10", 3, 12, 2, 0, 1, 0, 13, 30, 2, 4, 3, 1}, + {"HO", 11, 53, 4, "HO2P10", 3, 7, 2, 1, 1, 1, 13, 30, 2, 4, 3, 1}, + {"HO", 11, 54, 4, "HO2P10", 3, 3, 2, 2, 1, 2, 13, 30, 2, 4, 3, 1}, + {"HO", 11, 55, 4, "HO2P10", 1, 12, 2, 0, 1, 0, 13, 30, 2, 3, 3, 1}, + {"HO", 11, 56, 4, "HO2P10", 1, 7, 2, 1, 1, 1, 13, 30, 2, 3, 3, 1}, + {"HO", 11, 57, 4, "HO2P10", 1, 3, 2, 2, 1, 2, 13, 30, 2, 3, 3, 1}, + {"HO", 11, 58, 4, "HO2P12", 2, 3, 2, 2, 1, 2, 13, 30, 10, 4, 7, 1}, + {"HO", 11, 59, 4, "HO2P12", 2, 7, 2, 1, 1, 1, 13, 30, 10, 4, 7, 1}, + {"HO", 11, 60, 4, "HO2P12", 2, 12, 2, 0, 1, 0, 13, 30, 10, 4, 7, 1}, + {"HO", 11, 61, 4, "HO2P12", 4, 3, 2, 2, 1, 2, 13, 30, 10, 3, 7, 1}, + {"HO", 11, 62, 4, "HO2P12", 4, 7, 2, 1, 1, 1, 13, 30, 10, 3, 7, 1}, + {"HO", 11, 63, 4, "HO2P12", 4, 12, 2, 0, 1, 0, 13, 30, 10, 3, 7, 1}, + {"HO", 11, 64, 4, "HO2P12", 3, 12, 2, 0, 1, 0, 13, 31, 6, 4, 16, 1}, + {"HO", 11, 65, 4, "HO2P12", 3, 7, 2, 1, 1, 1, 13, 31, 6, 4, 16, 1}, + {"HO", 11, 66, 4, "HO2P12", 3, 3, 2, 2, 1, 2, 13, 31, 6, 4, 16, 1}, + {"HO", 11, 67, 4, "HO2P12", 1, 12, 2, 0, 1, 0, 13, 31, 6, 3, 16, 1}, + {"HO", 11, 68, 4, "HO2P12", 1, 7, 2, 1, 1, 1, 13, 31, 6, 3, 16, 1}, + {"HO", 11, 69, 4, "HO2P12", 1, 3, 2, 2, 1, 2, 13, 31, 6, 3, 16, 1}, + {"HO", 11, 70, 4, "HO2P02", 2, 3, 2, 2, 1, 2, 3, 24, 2, 4, 3, 1}, + {"HO", 11, 71, 4, "HO2P02", 2, 7, 2, 1, 1, 1, 3, 24, 2, 4, 3, 1}, + {"HO", 12, 0, 4, "HO2P02", 2, 5, 5, 2, 2, 3, 3, 24, 2, 2, 3, 1}, + {"HO", 12, 1, 4, "HO2P02", 4, 13, 5, 1, 2, 5, 3, 24, 2, 1, 3, 1}, + {"HO", 12, 2, 4, "HO2P02", 4, 9, 5, 0, 2, 4, 3, 24, 2, 1, 3, 1}, + {"HO", 12, 3, 4, "HO2P02", 4, 5, 5, 2, 2, 3, 3, 24, 2, 1, 3, 1}, + {"HO", 12, 4, 4, "HO2P02", 3, 5, 5, 2, 2, 3, 3, 24, 10, 2, 7, 1}, + {"HO", 12, 5, 4, "HO2P02", 3, 9, 5, 0, 2, 4, 3, 24, 10, 2, 7, 1}, + {"HO", 12, 6, 4, "HO2P02", 3, 13, 5, 1, 2, 5, 3, 24, 10, 2, 7, 1}, + {"HO", 12, 7, 4, "HO2P02", 1, 5, 5, 2, 2, 3, 3, 24, 10, 1, 7, 1}, + {"HO", 12, 8, 4, "HO2P02", 1, 9, 5, 0, 2, 4, 3, 24, 10, 1, 7, 1}, + {"HO", 12, 9, 4, "HO2P02", 1, 13, 5, 1, 2, 5, 3, 24, 10, 1, 7, 1}, + {"HO", 12, 10, 4, "HO2P04", 2, 13, 5, 1, 2, 5, 3, 25, 6, 2, 16, 1}, + {"HO", 12, 11, 4, "HO2P04", 2, 9, 5, 0, 2, 4, 3, 25, 6, 2, 16, 1}, + {"HO", 12, 12, 4, "HO2P04", 2, 5, 5, 2, 2, 3, 3, 25, 6, 2, 16, 1}, + {"HO", 12, 13, 4, "HO2P04", 4, 13, 5, 1, 2, 5, 3, 25, 6, 1, 16, 1}, + {"HO", 12, 14, 4, "HO2P04", 4, 9, 5, 0, 2, 4, 3, 25, 6, 1, 16, 1}, + {"HO", 12, 15, 4, "HO2P04", 4, 5, 5, 2, 2, 3, 3, 25, 6, 1, 16, 1}, + {"HO", 12, 16, 4, "HO2P04", 3, 5, 5, 2, 2, 3, 7, 26, 2, 2, 3, 1}, + {"HO", 12, 17, 4, "HO2P04", 3, 9, 5, 0, 2, 4, 7, 26, 2, 2, 3, 1}, + {"HO", 12, 18, 4, "HO2P04", 3, 13, 5, 1, 2, 5, 7, 26, 2, 2, 3, 1}, + {"HO", 12, 19, 4, "HO2P04", 1, 5, 5, 2, 2, 3, 7, 26, 2, 1, 3, 1}, + {"HO", 12, 20, 4, "HO2P04", 1, 9, 5, 0, 2, 4, 7, 26, 2, 1, 3, 1}, + {"HO", 12, 21, 4, "HO2P04", 1, 13, 5, 1, 2, 5, 7, 26, 2, 1, 3, 1}, + {"HO", 12, 22, 4, "HO2P06", 2, 13, 5, 1, 2, 5, 7, 26, 10, 2, 7, 1}, + {"HO", 12, 23, 4, "HO2P06", 2, 9, 5, 0, 2, 4, 7, 26, 10, 2, 7, 1}, + {"HO", 12, 24, 4, "HO2P06", 2, 5, 5, 2, 2, 3, 7, 26, 10, 2, 7, 1}, + {"HO", 12, 25, 4, "HO2P06", 4, 13, 5, 1, 2, 5, 7, 26, 10, 1, 7, 1}, + {"HO", 12, 26, 4, "HO2P06", 4, 9, 5, 0, 2, 4, 7, 26, 10, 1, 7, 1}, + {"HO", 12, 27, 4, "HO2P06", 4, 5, 5, 2, 2, 3, 7, 26, 10, 1, 7, 1}, + {"HO", 12, 28, 4, "HO2P06", 3, 5, 5, 2, 2, 3, 7, 27, 6, 2, 16, 1}, + {"HO", 12, 29, 4, "HO2P06", 3, 9, 5, 0, 2, 4, 7, 27, 6, 2, 16, 1}, + {"HO", 12, 30, 4, "HO2P06", 3, 13, 5, 1, 2, 5, 7, 27, 6, 2, 16, 1}, + {"HO", 12, 31, 4, "HO2P06", 1, 5, 5, 2, 2, 3, 7, 27, 6, 1, 16, 1}, + {"HO", 12, 32, 4, "HO2P06", 1, 9, 5, 0, 2, 4, 7, 27, 6, 1, 16, 1}, + {"HO", 12, 33, 4, "HO2P06", 1, 13, 5, 1, 2, 5, 7, 27, 6, 1, 16, 1}, + {"HO", 12, 34, 4, "HO2P08", 2, 13, 5, 1, 2, 5, 6, 28, 2, 2, 3, 1}, + {"HO", 12, 35, 4, "HO2P08", 2, 9, 5, 0, 2, 4, 6, 28, 2, 2, 3, 1}, + {"HO", 12, 36, 4, "HO2P08", 2, 5, 5, 2, 2, 3, 6, 28, 2, 2, 3, 1}, + {"HO", 12, 37, 4, "HO2P08", 4, 13, 5, 1, 2, 5, 6, 28, 2, 1, 3, 1}, + {"HO", 12, 38, 4, "HO2P08", 4, 9, 5, 0, 2, 4, 6, 28, 2, 1, 3, 1}, + {"HO", 12, 39, 4, "HO2P08", 4, 5, 5, 2, 2, 3, 6, 28, 2, 1, 3, 1}, + {"HO", 12, 40, 4, "HO2P08", 3, 5, 5, 2, 2, 3, 6, 28, 10, 2, 7, 1}, + {"HO", 12, 41, 4, "HO2P08", 3, 9, 5, 0, 2, 4, 6, 28, 10, 2, 7, 1}, + {"HO", 12, 42, 4, "HO2P08", 3, 13, 5, 1, 2, 5, 6, 28, 10, 2, 7, 1}, + {"HO", 12, 43, 4, "HO2P08", 1, 5, 5, 2, 2, 3, 6, 28, 10, 1, 7, 1}, + {"HO", 12, 44, 4, "HO2P08", 1, 9, 5, 0, 2, 4, 6, 28, 10, 1, 7, 1}, + {"HO", 12, 45, 4, "HO2P08", 1, 13, 5, 1, 2, 5, 6, 28, 10, 1, 7, 1}, + {"HO", 12, 46, 4, "HO2P10", 2, 13, 5, 1, 2, 5, 6, 29, 6, 2, 16, 1}, + {"HO", 12, 47, 4, "HO2P10", 2, 9, 5, 0, 2, 4, 6, 29, 6, 2, 16, 1}, + {"HO", 12, 48, 4, "HO2P10", 2, 5, 5, 2, 2, 3, 6, 29, 6, 2, 16, 1}, + {"HO", 12, 49, 4, "HO2P10", 4, 13, 5, 1, 2, 5, 6, 29, 6, 1, 16, 1}, + {"HO", 12, 50, 4, "HO2P10", 4, 9, 5, 0, 2, 4, 6, 29, 6, 1, 16, 1}, + {"HO", 12, 51, 4, "HO2P10", 4, 5, 5, 2, 2, 3, 6, 29, 6, 1, 16, 1}, + {"HO", 12, 52, 4, "HO2P10", 3, 5, 5, 2, 2, 3, 13, 30, 2, 2, 3, 1}, + {"HO", 12, 53, 4, "HO2P10", 3, 9, 5, 0, 2, 4, 13, 30, 2, 2, 3, 1}, + {"HO", 12, 54, 4, "HO2P10", 3, 13, 5, 1, 2, 5, 13, 30, 2, 2, 3, 1}, + {"HO", 12, 55, 4, "HO2P10", 1, 5, 5, 2, 2, 3, 13, 30, 2, 1, 3, 1}, + {"HO", 12, 56, 4, "HO2P10", 1, 9, 5, 0, 2, 4, 13, 30, 2, 1, 3, 1}, + {"HO", 12, 57, 4, "HO2P10", 1, 13, 5, 1, 2, 5, 13, 30, 2, 1, 3, 1}, + {"HO", 12, 58, 4, "HO2P12", 2, 13, 5, 1, 2, 5, 13, 30, 10, 2, 7, 1}, + {"HO", 12, 59, 4, "HO2P12", 2, 9, 5, 0, 2, 4, 13, 30, 10, 2, 7, 1}, + {"HO", 12, 60, 4, "HO2P12", 2, 5, 5, 2, 2, 3, 13, 30, 10, 2, 7, 1}, + {"HO", 12, 61, 4, "HO2P12", 4, 13, 5, 1, 2, 5, 13, 30, 10, 1, 7, 1}, + {"HO", 12, 62, 4, "HO2P12", 4, 9, 5, 0, 2, 4, 13, 30, 10, 1, 7, 1}, + {"HO", 12, 63, 4, "HO2P12", 4, 5, 5, 2, 2, 3, 13, 30, 10, 1, 7, 1}, + {"HO", 12, 64, 4, "HO2P12", 3, 5, 5, 2, 2, 3, 13, 31, 6, 2, 16, 1}, + {"HO", 12, 65, 4, "HO2P12", 3, 9, 5, 0, 2, 4, 13, 31, 6, 2, 16, 1}, + {"HO", 12, 66, 4, "HO2P12", 3, 13, 5, 1, 2, 5, 13, 31, 6, 2, 16, 1}, + {"HO", 12, 67, 4, "HO2P12", 1, 5, 5, 2, 2, 3, 13, 31, 6, 1, 16, 1}, + {"HO", 12, 68, 4, "HO2P12", 1, 9, 5, 0, 2, 4, 13, 31, 6, 1, 16, 1}, + {"HO", 12, 69, 4, "HO2P12", 1, 13, 5, 1, 2, 5, 13, 31, 6, 1, 16, 1}, + {"HO", 12, 70, 4, "HO2P02", 2, 13, 5, 1, 2, 5, 3, 24, 2, 2, 3, 1}, + {"HO", 12, 71, 4, "HO2P02", 2, 9, 5, 0, 2, 4, 3, 24, 2, 2, 3, 1}, + {"HO", 13, 0, 4, "HO2P02", 2, 11, 4, 0, 2, 0, 3, 24, 0, 4, 2, 1}, + {"HO", 13, 1, 4, "HO2P02", 4, 2, 4, 2, 2, 2, 3, 24, 0, 3, 2, 1}, + {"HO", 13, 2, 4, "HO2P02", 4, 6, 4, 1, 2, 1, 3, 24, 0, 3, 2, 1}, + {"HO", 13, 3, 4, "HO2P02", 4, 11, 4, 0, 2, 0, 3, 24, 0, 3, 2, 1}, + {"HO", 13, 4, 4, "HO2P02", 3, 11, 4, 0, 2, 0, 3, 24, 8, 4, 6, 1}, + {"HO", 13, 5, 4, "HO2P02", 3, 6, 4, 1, 2, 1, 3, 24, 8, 4, 6, 1}, + {"HO", 13, 6, 4, "HO2P02", 3, 2, 4, 2, 2, 2, 3, 24, 8, 4, 6, 1}, + {"HO", 13, 7, 4, "HO2P02", 1, 11, 4, 0, 2, 0, 3, 24, 8, 3, 6, 1}, + {"HO", 13, 8, 4, "HO2P02", 1, 6, 4, 1, 2, 1, 3, 24, 8, 3, 6, 1}, + {"HO", 13, 9, 4, "HO2P02", 1, 2, 4, 2, 2, 2, 3, 24, 8, 3, 6, 1}, + {"HO", 13, 10, 4, "HO2P04", 2, 2, 4, 2, 2, 2, 3, 25, 4, 4, 15, 1}, + {"HO", 13, 11, 4, "HO2P04", 2, 6, 4, 1, 2, 1, 3, 25, 4, 4, 15, 1}, + {"HO", 13, 12, 4, "HO2P04", 2, 11, 4, 0, 2, 0, 3, 25, 4, 4, 15, 1}, + {"HO", 13, 13, 4, "HO2P04", 4, 2, 4, 2, 2, 2, 3, 25, 4, 3, 15, 1}, + {"HO", 13, 14, 4, "HO2P04", 4, 6, 4, 1, 2, 1, 3, 25, 4, 3, 15, 1}, + {"HO", 13, 15, 4, "HO2P04", 4, 11, 4, 0, 2, 0, 3, 25, 4, 3, 15, 1}, + {"HO", 13, 16, 4, "HO2P04", 3, 11, 4, 0, 2, 0, 7, 26, 0, 4, 2, 1}, + {"HO", 13, 17, 4, "HO2P04", 3, 6, 4, 1, 2, 1, 7, 26, 0, 4, 2, 1}, + {"HO", 13, 18, 4, "HO2P04", 3, 2, 4, 2, 2, 2, 7, 26, 0, 4, 2, 1}, + {"HO", 13, 19, 4, "HO2P04", 1, 11, 4, 0, 2, 0, 7, 26, 0, 3, 2, 1}, + {"HO", 13, 20, 4, "HO2P04", 1, 6, 4, 1, 2, 1, 7, 26, 0, 3, 2, 1}, + {"HO", 13, 21, 4, "HO2P04", 1, 2, 4, 2, 2, 2, 7, 26, 0, 3, 2, 1}, + {"HO", 13, 22, 4, "HO2P06", 2, 2, 4, 2, 2, 2, 7, 26, 8, 4, 6, 1}, + {"HO", 13, 23, 4, "HO2P06", 2, 6, 4, 1, 2, 1, 7, 26, 8, 4, 6, 1}, + {"HO", 13, 24, 4, "HO2P06", 2, 11, 4, 0, 2, 0, 7, 26, 8, 4, 6, 1}, + {"HO", 13, 25, 4, "HO2P06", 4, 2, 4, 2, 2, 2, 7, 26, 8, 3, 6, 1}, + {"HO", 13, 26, 4, "HO2P06", 4, 6, 4, 1, 2, 1, 7, 26, 8, 3, 6, 1}, + {"HO", 13, 27, 4, "HO2P06", 4, 11, 4, 0, 2, 0, 7, 26, 8, 3, 6, 1}, + {"HO", 13, 28, 4, "HO2P06", 3, 11, 4, 0, 2, 0, 7, 27, 4, 4, 15, 1}, + {"HO", 13, 29, 4, "HO2P06", 3, 6, 4, 1, 2, 1, 7, 27, 4, 4, 15, 1}, + {"HO", 13, 30, 4, "HO2P06", 3, 2, 4, 2, 2, 2, 7, 27, 4, 4, 15, 1}, + {"HO", 13, 31, 4, "HO2P06", 1, 11, 4, 0, 2, 0, 7, 27, 4, 3, 15, 1}, + {"HO", 13, 32, 4, "HO2P06", 1, 6, 4, 1, 2, 1, 7, 27, 4, 3, 15, 1}, + {"HO", 13, 33, 4, "HO2P06", 1, 2, 4, 2, 2, 2, 7, 27, 4, 3, 15, 1}, + {"HO", 13, 34, 4, "HO2P08", 2, 2, 4, 2, 2, 2, 6, 28, 0, 4, 2, 1}, + {"HO", 13, 35, 4, "HO2P08", 2, 6, 4, 1, 2, 1, 6, 28, 0, 4, 2, 1}, + {"HO", 13, 36, 4, "HO2P08", 2, 11, 4, 0, 2, 0, 6, 28, 0, 4, 2, 1}, + {"HO", 13, 37, 4, "HO2P08", 4, 2, 4, 2, 2, 2, 6, 28, 0, 3, 2, 1}, + {"HO", 13, 38, 4, "HO2P08", 4, 6, 4, 1, 2, 1, 6, 28, 0, 3, 2, 1}, + {"HO", 13, 39, 4, "HO2P08", 4, 11, 4, 0, 2, 0, 6, 28, 0, 3, 2, 1}, + {"HO", 13, 40, 4, "HO2P08", 3, 11, 4, 0, 2, 0, 6, 28, 8, 4, 6, 1}, + {"HO", 13, 41, 4, "HO2P08", 3, 6, 4, 1, 2, 1, 6, 28, 8, 4, 6, 1}, + {"HO", 13, 42, 4, "HO2P08", 3, 2, 4, 2, 2, 2, 6, 28, 8, 4, 6, 1}, + {"HO", 13, 43, 4, "HO2P08", 1, 11, 4, 0, 2, 0, 6, 28, 8, 3, 6, 1}, + {"HO", 13, 44, 4, "HO2P08", 1, 6, 4, 1, 2, 1, 6, 28, 8, 3, 6, 1}, + {"HO", 13, 45, 4, "HO2P08", 1, 2, 4, 2, 2, 2, 6, 28, 8, 3, 6, 1}, + {"HO", 13, 46, 4, "HO2P10", 2, 2, 4, 2, 2, 2, 6, 29, 4, 4, 15, 1}, + {"HO", 13, 47, 4, "HO2P10", 2, 6, 4, 1, 2, 1, 6, 29, 4, 4, 15, 1}, + {"HO", 13, 48, 4, "HO2P10", 2, 11, 4, 0, 2, 0, 6, 29, 4, 4, 15, 1}, + {"HO", 13, 49, 4, "HO2P10", 4, 2, 4, 2, 2, 2, 6, 29, 4, 3, 15, 1}, + {"HO", 13, 50, 4, "HO2P10", 4, 6, 4, 1, 2, 1, 6, 29, 4, 3, 15, 1}, + {"HO", 13, 51, 4, "HO2P10", 4, 11, 4, 0, 2, 0, 6, 29, 4, 3, 15, 1}, + {"HO", 13, 52, 4, "HO2P10", 3, 11, 4, 0, 2, 0, 13, 30, 0, 4, 2, 1}, + {"HO", 13, 53, 4, "HO2P10", 3, 6, 4, 1, 2, 1, 13, 30, 0, 4, 2, 1}, + {"HO", 13, 54, 4, "HO2P10", 3, 2, 4, 2, 2, 2, 13, 30, 0, 4, 2, 1}, + {"HO", 13, 55, 4, "HO2P10", 1, 11, 4, 0, 2, 0, 13, 30, 0, 3, 2, 1}, + {"HO", 13, 56, 4, "HO2P10", 1, 6, 4, 1, 2, 1, 13, 30, 0, 3, 2, 1}, + {"HO", 13, 57, 4, "HO2P10", 1, 2, 4, 2, 2, 2, 13, 30, 0, 3, 2, 1}, + {"HO", 13, 58, 4, "HO2P12", 2, 2, 4, 2, 2, 2, 13, 30, 8, 4, 6, 1}, + {"HO", 13, 59, 4, "HO2P12", 2, 6, 4, 1, 2, 1, 13, 30, 8, 4, 6, 1}, + {"HO", 13, 60, 4, "HO2P12", 2, 11, 4, 0, 2, 0, 13, 30, 8, 4, 6, 1}, + {"HO", 13, 61, 4, "HO2P12", 4, 2, 4, 2, 2, 2, 13, 30, 8, 3, 6, 1}, + {"HO", 13, 62, 4, "HO2P12", 4, 6, 4, 1, 2, 1, 13, 30, 8, 3, 6, 1}, + {"HO", 13, 63, 4, "HO2P12", 4, 11, 4, 0, 2, 0, 13, 30, 8, 3, 6, 1}, + {"HO", 13, 64, 4, "HO2P12", 3, 11, 4, 0, 2, 0, 13, 31, 4, 4, 15, 1}, + {"HO", 13, 65, 4, "HO2P12", 3, 6, 4, 1, 2, 1, 13, 31, 4, 4, 15, 1}, + {"HO", 13, 66, 4, "HO2P12", 3, 2, 4, 2, 2, 2, 13, 31, 4, 4, 15, 1}, + {"HO", 13, 67, 4, "HO2P12", 1, 11, 4, 0, 2, 0, 13, 31, 4, 3, 15, 1}, + {"HO", 13, 68, 4, "HO2P12", 1, 6, 4, 1, 2, 1, 13, 31, 4, 3, 15, 1}, + {"HO", 13, 69, 4, "HO2P12", 1, 2, 4, 2, 2, 2, 13, 31, 4, 3, 15, 1}, + {"HO", 13, 70, 4, "HO2P02", 2, 2, 4, 2, 2, 2, 3, 24, 0, 4, 2, 1}, + {"HO", 13, 71, 4, "HO2P02", 2, 6, 4, 1, 2, 1, 3, 24, 0, 4, 2, 1}, + {"HO", 14, 0, 4, "HO2P02", 2, 16, 7, 2, 3, 3, 3, 24, 0, 2, 2, 1}, + {"HO", 14, 1, 4, "HO2P02", 4, 14, 7, 1, 3, 5, 3, 24, 0, 1, 2, 1}, + {"HO", 14, 2, 4, "HO2P02", 4, 15, 7, 0, 3, 4, 3, 24, 0, 1, 2, 1}, + {"HO", 14, 3, 4, "HO2P02", 4, 16, 7, 2, 3, 3, 3, 24, 0, 1, 2, 1}, + {"HO", 14, 4, 4, "HO2P02", 3, 16, 7, 2, 3, 3, 3, 24, 8, 2, 6, 1}, + {"HO", 14, 5, 4, "HO2P02", 3, 15, 7, 0, 3, 4, 3, 24, 8, 2, 6, 1}, + {"HO", 14, 6, 4, "HO2P02", 3, 14, 7, 1, 3, 5, 3, 24, 8, 2, 6, 1}, + {"HO", 14, 7, 4, "HO2P02", 1, 16, 7, 2, 3, 3, 3, 24, 8, 1, 6, 1}, + {"HO", 14, 8, 4, "HO2P02", 1, 15, 7, 0, 3, 4, 3, 24, 8, 1, 6, 1}, + {"HO", 14, 9, 4, "HO2P02", 1, 14, 7, 1, 3, 5, 3, 24, 8, 1, 6, 1}, + {"HO", 14, 10, 4, "HO2P04", 2, 14, 7, 1, 3, 5, 3, 25, 4, 2, 15, 1}, + {"HO", 14, 11, 4, "HO2P04", 2, 15, 7, 0, 3, 4, 3, 25, 4, 2, 15, 1}, + {"HO", 14, 12, 4, "HO2P04", 2, 16, 7, 2, 3, 3, 3, 25, 4, 2, 15, 1}, + {"HO", 14, 13, 4, "HO2P04", 4, 14, 7, 1, 3, 5, 3, 25, 4, 1, 15, 1}, + {"HO", 14, 14, 4, "HO2P04", 4, 15, 7, 0, 3, 4, 3, 25, 4, 1, 15, 1}, + {"HO", 14, 15, 4, "HO2P04", 4, 16, 7, 2, 3, 3, 3, 25, 4, 1, 15, 1}, + {"HO", 14, 16, 4, "HO2P04", 3, 16, 7, 2, 3, 3, 7, 26, 0, 2, 2, 1}, + {"HO", 14, 17, 4, "HO2P04", 3, 15, 7, 0, 3, 4, 7, 26, 0, 2, 2, 1}, + {"HO", 14, 18, 4, "HO2P04", 3, 14, 7, 1, 3, 5, 7, 26, 0, 2, 2, 1}, + {"HO", 14, 19, 4, "HO2P04", 1, 16, 7, 2, 3, 3, 7, 26, 0, 1, 2, 1}, + {"HO", 14, 20, 4, "HO2P04", 1, 15, 7, 0, 3, 4, 7, 26, 0, 1, 2, 1}, + {"HO", 14, 21, 4, "HO2P04", 1, 14, 7, 1, 3, 5, 7, 26, 0, 1, 2, 1}, + {"HO", 14, 22, 4, "HO2P06", 2, 14, 7, 1, 3, 5, 7, 26, 8, 2, 6, 1}, + {"HO", 14, 23, 4, "HO2P06", 2, 15, 7, 0, 3, 4, 7, 26, 8, 2, 6, 1}, + {"HO", 14, 24, 4, "HO2P06", 2, 16, 7, 2, 3, 3, 7, 26, 8, 2, 6, 1}, + {"HO", 14, 25, 4, "HO2P06", 4, 14, 7, 1, 3, 5, 7, 26, 8, 1, 6, 1}, + {"HO", 14, 26, 4, "HO2P06", 4, 15, 7, 0, 3, 4, 7, 26, 8, 1, 6, 1}, + {"HO", 14, 27, 4, "HO2P06", 4, 16, 7, 2, 3, 3, 7, 26, 8, 1, 6, 1}, + {"HO", 14, 28, 4, "HO2P06", 3, 16, 7, 2, 3, 3, 7, 27, 4, 2, 15, 1}, + {"HO", 14, 29, 4, "HO2P06", 3, 15, 7, 0, 3, 4, 7, 27, 4, 2, 15, 1}, + {"HO", 14, 30, 4, "HO2P06", 3, 14, 7, 1, 3, 5, 7, 27, 4, 2, 15, 1}, + {"HO", 14, 31, 4, "HO2P06", 1, 16, 7, 2, 3, 3, 7, 27, 4, 1, 15, 1}, + {"HO", 14, 32, 4, "HO2P06", 1, 15, 7, 0, 3, 4, 7, 27, 4, 1, 15, 1}, + {"HO", 14, 33, 4, "HO2P06", 1, 14, 7, 1, 3, 5, 7, 27, 4, 1, 15, 1}, + {"HO", 14, 34, 4, "HO2P08", 2, 14, 7, 1, 3, 5, 6, 28, 0, 2, 2, 1}, + {"HO", 14, 35, 4, "HO2P08", 2, 15, 7, 0, 3, 4, 6, 28, 0, 2, 2, 1}, + {"HO", 14, 36, 4, "HO2P08", 2, 16, 7, 2, 3, 3, 6, 28, 0, 2, 2, 1}, + {"HO", 14, 37, 4, "HO2P08", 4, 14, 7, 1, 3, 5, 6, 28, 0, 1, 2, 1}, + {"HO", 14, 38, 4, "HO2P08", 4, 15, 7, 0, 3, 4, 6, 28, 0, 1, 2, 1}, + {"HO", 14, 39, 4, "HO2P08", 4, 16, 7, 2, 3, 3, 6, 28, 0, 1, 2, 1}, + {"HO", 14, 40, 4, "HO2P08", 3, 16, 7, 2, 3, 3, 6, 28, 8, 2, 6, 1}, + {"HO", 14, 41, 4, "HO2P08", 3, 15, 7, 0, 3, 4, 6, 28, 8, 2, 6, 1}, + {"HO", 14, 42, 4, "HO2P08", 3, 14, 7, 1, 3, 5, 6, 28, 8, 2, 6, 1}, + {"HO", 14, 43, 4, "HO2P08", 1, 16, 7, 2, 3, 3, 6, 28, 8, 1, 6, 1}, + {"HO", 14, 44, 4, "HO2P08", 1, 15, 7, 0, 3, 4, 6, 28, 8, 1, 6, 1}, + {"HO", 14, 45, 4, "HO2P08", 1, 14, 7, 1, 3, 5, 6, 28, 8, 1, 6, 1}, + {"HO", 14, 46, 4, "HO2P10", 2, 14, 7, 1, 3, 5, 6, 29, 4, 2, 15, 1}, + {"HO", 14, 47, 4, "HO2P10", 2, 15, 7, 0, 3, 4, 6, 29, 4, 2, 15, 1}, + {"HO", 14, 48, 4, "HO2P10", 2, 16, 7, 2, 3, 3, 6, 29, 4, 2, 15, 1}, + {"HO", 14, 49, 4, "HO2P10", 4, 14, 7, 1, 3, 5, 6, 29, 4, 1, 15, 1}, + {"HO", 14, 50, 4, "HO2P10", 4, 15, 7, 0, 3, 4, 6, 29, 4, 1, 15, 1}, + {"HO", 14, 51, 4, "HO2P10", 4, 16, 7, 2, 3, 3, 6, 29, 4, 1, 15, 1}, + {"HO", 14, 52, 4, "HO2P10", 3, 16, 7, 2, 3, 3, 13, 30, 0, 2, 2, 1}, + {"HO", 14, 53, 4, "HO2P10", 3, 15, 7, 0, 3, 4, 13, 30, 0, 2, 2, 1}, + {"HO", 14, 54, 4, "HO2P10", 3, 14, 7, 1, 3, 5, 13, 30, 0, 2, 2, 1}, + {"HO", 14, 55, 4, "HO2P10", 1, 16, 7, 2, 3, 3, 13, 30, 0, 1, 2, 1}, + {"HO", 14, 56, 4, "HO2P10", 1, 15, 7, 0, 3, 4, 13, 30, 0, 1, 2, 1}, + {"HO", 14, 57, 4, "HO2P10", 1, 14, 7, 1, 3, 5, 13, 30, 0, 1, 2, 1}, + {"HO", 14, 58, 4, "HO2P12", 2, 14, 7, 1, 3, 5, 13, 30, 8, 2, 6, 1}, + {"HO", 14, 59, 4, "HO2P12", 2, 15, 7, 0, 3, 4, 13, 30, 8, 2, 6, 1}, + {"HO", 14, 60, 4, "HO2P12", 2, 16, 7, 2, 3, 3, 13, 30, 8, 2, 6, 1}, + {"HO", 14, 61, 4, "HO2P12", 4, 14, 7, 1, 3, 5, 13, 30, 8, 1, 6, 1}, + {"HO", 14, 62, 4, "HO2P12", 4, 15, 7, 0, 3, 4, 13, 30, 8, 1, 6, 1}, + {"HO", 14, 63, 4, "HO2P12", 4, 16, 7, 2, 3, 3, 13, 30, 8, 1, 6, 1}, + {"HO", 14, 64, 4, "HO2P12", 3, 16, 7, 2, 3, 3, 13, 31, 4, 2, 15, 1}, + {"HO", 14, 65, 4, "HO2P12", 3, 15, 7, 0, 3, 4, 13, 31, 4, 2, 15, 1}, + {"HO", 14, 66, 4, "HO2P12", 3, 14, 7, 1, 3, 5, 13, 31, 4, 2, 15, 1}, + {"HO", 14, 67, 4, "HO2P12", 1, 16, 7, 2, 3, 3, 13, 31, 4, 1, 15, 1}, + {"HO", 14, 68, 4, "HO2P12", 1, 15, 7, 0, 3, 4, 13, 31, 4, 1, 15, 1}, + {"HO", 14, 69, 4, "HO2P12", 1, 14, 7, 1, 3, 5, 13, 31, 4, 1, 15, 1}, + {"HO", 14, 70, 4, "HO2P02", 2, 14, 7, 1, 3, 5, 3, 24, 0, 2, 2, 1}, + {"HO", 14, 71, 4, "HO2P02", 2, 15, 7, 0, 3, 4, 3, 24, 0, 2, 2, 1}, +}; + +// macro for array length calculation +#define DIM(a) (sizeof(a) / sizeof(a[0])) + +// class for cells array managing +class CellDB { +public: + CellDB() : cells(AllCells, AllCells + DIM(AllCells)) {} + + // return i-th cell + Cell operator[](int i) const { return cells[i]; } + // number of cells in database + int size() const { return cells.size(); } + + // select cells for which "par" == "val" + template + CellDB find(const std::string par, const T val) const { + std::vector s; + for (size_t i = 0; i < cells.size(); ++i) + if (cells[i].check(par, val)) + s.push_back(cells[i]); + return CellDB(s); + } + +private: + CellDB(const std::vector s) : cells(s) {} + std::vector cells; +}; diff --git a/DPGAnalysis/HcalTools/macros/rmt/RemoteMonitoringMAP.cc b/DPGAnalysis/HcalTools/macros/rmt/RemoteMonitoringMAP.cc index 31602ac12b374..a0e4f2e9ae213 100644 --- a/DPGAnalysis/HcalTools/macros/rmt/RemoteMonitoringMAP.cc +++ b/DPGAnalysis/HcalTools/macros/rmt/RemoteMonitoringMAP.cc @@ -25,6 +25,9 @@ #include "TLine.h" #include "TGraph.h" +// https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/RMT +// https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/HcalRemoteMonitoring/RMT + using namespace std; // h_ADC_HBdepth1 // ok change Hist_ADC_HB_DS @@ -227,12 +230,14 @@ int main(int argc, char *argv[]) { //TCanvas *cHF = new TCanvas("cHF","cHF",1000,1000); TCanvas *cHF = new TCanvas("cHF", "cHF", 1000, 1000); - // Iteration Method for Calibration Group: + // Phi-symmetry for Calibration Group: TCanvas *c1x0 = new TCanvas("c1x0", "c1x0", 300, 10, 800, 700); TCanvas *c1x1 = new TCanvas("c1x1", "c1x1", 100, 10, 600, 700); + TCanvas *c2x1 = new TCanvas("c2x1", "c2x1", 200, 300, 1600, 800); + TCanvas *c3x5 = new TCanvas("c3x5", "c3x5", 1000, 1500); // @@ -263,6 +268,7 @@ int main(int argc, char *argv[]) { TH2F *Map_SUB[5][ALLDEPTH]; // 2d histogramm for subdet, depth TH1F *HistAmplDepth[22][5][ALLDEPTH]; // 1d histogramm for test,subdet, depth TH1F *HistAmpl[22][5]; // 1d histogramm for test,subdet + TH2F *Map_SUBTS[5][ALLDEPTH]; // 2d histogramm for subdet, depth in different TSs TH1F *HistPed[3][5][4]; // 1d histogramm for test,subdet, CapID TH2F *Map_Ped[3][5]; // 2d histogramm for test,subdet -> test 33 @@ -2304,6 +2310,113 @@ int main(int argc, char *argv[]) { } } // end sub + //+++++++++++++++++++++++++++++ + // Entries in different TSs: + //+++++++++++++++++++++++++++++ + Map_SUBTS[1][1] = (TH2F *)hfile->Get("h_mapDepth1TS2_HB"); + Map_SUBTS[1][2] = (TH2F *)hfile->Get("h_mapDepth2TS2_HB"); + Map_SUBTS[1][3] = (TH2F *)hfile->Get("h_mapDepth3TS2_HB"); + Map_SUBTS[1][4] = (TH2F *)hfile->Get("h_mapDepth4TS2_HB"); + + Map_SUBTS[2][1] = (TH2F *)hfile->Get("h_mapDepth1TS2_HE"); + Map_SUBTS[2][2] = (TH2F *)hfile->Get("h_mapDepth2TS2_HE"); + Map_SUBTS[2][3] = (TH2F *)hfile->Get("h_mapDepth3TS2_HE"); + Map_SUBTS[2][4] = (TH2F *)hfile->Get("h_mapDepth4TS2_HE"); + Map_SUBTS[2][5] = (TH2F *)hfile->Get("h_mapDepth5TS2_HE"); + Map_SUBTS[2][6] = (TH2F *)hfile->Get("h_mapDepth6TS2_HE"); + Map_SUBTS[2][7] = (TH2F *)hfile->Get("h_mapDepth7TS2_HE"); + + Map_SUBTS[3][4] = (TH2F *)hfile->Get("h_mapDepth4TS012_HO"); + + Map_SUBTS[4][1] = (TH2F *)hfile->Get("h_mapDepth1TS1_HF"); + Map_SUBTS[4][2] = (TH2F *)hfile->Get("h_mapDepth2TS1_HF"); + Map_SUBTS[4][3] = (TH2F *)hfile->Get("h_mapDepth3TS1_HF"); + Map_SUBTS[4][4] = (TH2F *)hfile->Get("h_mapDepth4TS1_HF"); + + ////////////////////////////////////////////////////////////// + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_SUBTS[sub][k]->Divide(Map_SUBTS[sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_SUBTS[sub][k]->SetTitle(str); + Map_SUBTS[sub][k]->SetXTitle("#eta \b"); + Map_SUBTS[sub][k]->SetYTitle("#phi \b"); + Map_SUBTS[sub][k]->SetZTitle("Rate \b"); + if (sub == 3) + Map_SUBTS[sub][k]->SetTitleOffset(0.8, "Z"); + Map_SUBTS[sub][k]->Draw("COLZ"); + Map_SUBTS[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_SUBTS[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + + if (sub == 1) { + cHB->Print("Hist_mapDepthAllTS2_HB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("Hist_mapDepthAllTS2_HE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("Hist_mapDepthAllTS012_HO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("Hist_mapDepthAllTS1_HF.png"); + cHF->Clear(); + } + } // end sub + + ////////////////////////////////////////////////////////////////////////////////////////////////////// + /* //+++++++++++++++++++++++++++++++++++ //Test 42 ADC in TS distributions @@ -2532,34 +2645,11 @@ std::cout<<" We are here to print ADC "<Get("h_maprphinorm_HE1"); - TH2F *maprphinorm0HE1 = (TH2F *)hfile->Get("h_maprphinorm0_HE1"); - TH2F *maprphinormHE1 = (TH2F *)maprphinorm1HE1->Clone("maprphinormHE1"); - maprphinormHE1->Divide(maprphinorm1HE1, maprphinorm0HE1, 1, 1, "B"); - TH2F *maprphinorm1HE2 = (TH2F *)hfile->Get("h_maprphinorm_HE2"); - TH2F *maprphinorm0HE2 = (TH2F *)hfile->Get("h_maprphinorm0_HE2"); - TH2F *maprphinormHE2 = (TH2F *)maprphinorm1HE2->Clone("maprphinormHE2"); - maprphinormHE2->Divide(maprphinorm1HE2, maprphinorm0HE2, 1, 1, "B"); - TH2F *maprphinorm1HE3 = (TH2F *)hfile->Get("h_maprphinorm_HE3"); - TH2F *maprphinorm0HE3 = (TH2F *)hfile->Get("h_maprphinorm0_HE3"); - TH2F *maprphinormHE3 = (TH2F *)maprphinorm1HE3->Clone("maprphinormHE3"); - maprphinormHE3->Divide(maprphinorm1HE3, maprphinorm0HE3, 1, 1, "B"); - TH2F *maprphinorm1HE4 = (TH2F *)hfile->Get("h_maprphinorm_HE4"); - TH2F *maprphinorm0HE4 = (TH2F *)hfile->Get("h_maprphinorm0_HE4"); - TH2F *maprphinormHE4 = (TH2F *)maprphinorm1HE4->Clone("maprphinormHE4"); - maprphinormHE4->Divide(maprphinorm1HE4, maprphinorm0HE4, 1, 1, "B"); - TH2F *maprphinorm1HE5 = (TH2F *)hfile->Get("h_maprphinorm_HE5"); - TH2F *maprphinorm0HE5 = (TH2F *)hfile->Get("h_maprphinorm0_HE5"); - TH2F *maprphinormHE5 = (TH2F *)maprphinorm1HE5->Clone("maprphinormHE5"); - maprphinormHE5->Divide(maprphinorm1HE5, maprphinorm0HE5, 1, 1, "B"); - TH2F *maprphinorm1HE6 = (TH2F *)hfile->Get("h_maprphinorm_HE6"); - TH2F *maprphinorm0HE6 = (TH2F *)hfile->Get("h_maprphinorm0_HE6"); - TH2F *maprphinormHE6 = (TH2F *)maprphinorm1HE6->Clone("maprphinormHE6"); - maprphinormHE6->Divide(maprphinorm1HE6, maprphinorm0HE6, 1, 1, "B"); - TH2F *maprphinorm1HE7 = (TH2F *)hfile->Get("h_maprphinorm_HE7"); - TH2F *maprphinorm0HE7 = (TH2F *)hfile->Get("h_maprphinorm0_HE7"); - TH2F *maprphinormHE7 = (TH2F *)maprphinorm1HE7->Clone("maprphinormHE7"); - maprphinormHE7->Divide(maprphinorm1HE7, maprphinorm0HE7, 1, 1, "B"); - //=========================== put R into massive alexhe + const int nsub = 4; + const int neta = 82; + const int nphi = 72; + int njeta = neta; + int njphi = nphi; + //const int ndepth = 7; + int ndepth; + ///////////// ///////////// ////////////////////////// ///////////// ///////////// ///////////// ///////////// ///////////// //////////////////// Phi-symmetry for Calibration Group: + ///////////// ///////////// ////////////////////////// ///////////// ///////////// ///////////// ///////////// //////////////////// Phi-symmetry for Calibration Group: + ///////////// ///////////// ///////////// ///////////// ///////////// ///////////// ///////////// //////////////////// Phi-symmetry for Calibration Group: + + //////////////////////////////////////////////////////////////////////////////////////////////////// Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi + //////////////////////////////////////////////////////////////////////////////////////////////////// Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi + //////////////////////////////////////////////////////////////////////////////////////////////////// Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi + //////////////////////////////////////////////////////////////////////////////////////////////////// Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi + + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HB + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 4; + double adigiHB[ndepth][njeta][njphi]; + double digivarianceHB[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Digi HB + TH2F *amplitudechannel1HB1 = (TH2F *)hfile->Get("h_amplitudechannel1_HB1"); + TH2F *amplitudechannel0HB1 = (TH2F *)hfile->Get("h_amplitudechannel0_HB1"); + TH2F *amplitudechannelHB1 = (TH2F *)amplitudechannel1HB1->Clone("amplitudechannelHB1"); + amplitudechannelHB1->Divide(amplitudechannel1HB1, amplitudechannel0HB1, 1, 1, "B"); + TH2F *amplitudechannel1HB2 = (TH2F *)hfile->Get("h_amplitudechannel1_HB2"); + TH2F *amplitudechannel0HB2 = (TH2F *)hfile->Get("h_amplitudechannel0_HB2"); + TH2F *amplitudechannelHB2 = (TH2F *)amplitudechannel1HB2->Clone("amplitudechannelHB2"); + amplitudechannelHB2->Divide(amplitudechannel1HB2, amplitudechannel0HB2, 1, 1, "B"); + TH2F *amplitudechannel1HB3 = (TH2F *)hfile->Get("h_amplitudechannel1_HB3"); + TH2F *amplitudechannel0HB3 = (TH2F *)hfile->Get("h_amplitudechannel0_HB3"); + TH2F *amplitudechannelHB3 = (TH2F *)amplitudechannel1HB3->Clone("amplitudechannelHB3"); + amplitudechannelHB3->Divide(amplitudechannel1HB3, amplitudechannel0HB3, 1, 1, "B"); + TH2F *amplitudechannel1HB4 = (TH2F *)hfile->Get("h_amplitudechannel1_HB4"); + TH2F *amplitudechannel0HB4 = (TH2F *)hfile->Get("h_amplitudechannel0_HB4"); + TH2F *amplitudechannelHB4 = (TH2F *)amplitudechannel1HB4->Clone("amplitudechannelHB4"); + amplitudechannelHB4->Divide(amplitudechannel1HB4, amplitudechannel0HB4, 1, 1, "B"); for (int jeta = 0; jeta < njeta; jeta++) { + //====================================================================== PHI normalization & put R into massive adigiHB + //preparation for PHI normalization: + double sumdigiHB0 = 0; + int nsumdigiHB0 = 0; + double sumdigiHB1 = 0; + int nsumdigiHB1 = 0; + double sumdigiHB2 = 0; + int nsumdigiHB2 = 0; + double sumdigiHB3 = 0; + int nsumdigiHB3 = 0; for (int jphi = 0; jphi < njphi; jphi++) { - alexhe[0][jeta][jphi] = maprphinormHE1->GetBinContent(jeta + 1, jphi + 1); - alexhe[1][jeta][jphi] = maprphinormHE2->GetBinContent(jeta + 1, jphi + 1); - alexhe[2][jeta][jphi] = maprphinormHE3->GetBinContent(jeta + 1, jphi + 1); - alexhe[3][jeta][jphi] = maprphinormHE4->GetBinContent(jeta + 1, jphi + 1); - alexhe[4][jeta][jphi] = maprphinormHE5->GetBinContent(jeta + 1, jphi + 1); - alexhe[5][jeta][jphi] = maprphinormHE6->GetBinContent(jeta + 1, jphi + 1); - alexhe[6][jeta][jphi] = maprphinormHE7->GetBinContent(jeta + 1, jphi + 1); - } - } - - //------------------------ 2D-eta/phi-plot: R, averaged over depthes + adigiHB[0][jeta][jphi] = amplitudechannelHB1->GetBinContent(jeta + 1, jphi + 1); + adigiHB[1][jeta][jphi] = amplitudechannelHB2->GetBinContent(jeta + 1, jphi + 1); + adigiHB[2][jeta][jphi] = amplitudechannelHB3->GetBinContent(jeta + 1, jphi + 1); + adigiHB[3][jeta][jphi] = amplitudechannelHB4->GetBinContent(jeta + 1, jphi + 1); + if (adigiHB[0][jeta][jphi] > 0.) { + sumdigiHB0 += adigiHB[0][jeta][jphi]; + ++nsumdigiHB0; + } + if (adigiHB[1][jeta][jphi] > 0.) { + sumdigiHB1 += adigiHB[1][jeta][jphi]; + ++nsumdigiHB1; + } + if (adigiHB[2][jeta][jphi] > 0.) { + sumdigiHB2 += adigiHB[2][jeta][jphi]; + ++nsumdigiHB2; + } + if (adigiHB[3][jeta][jphi] > 0.) { + sumdigiHB3 += adigiHB[3][jeta][jphi]; + ++nsumdigiHB3; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (adigiHB[0][jeta][jphi] > 0.) + adigiHB[0][jeta][jphi] /= (sumdigiHB0 / nsumdigiHB0); + if (adigiHB[1][jeta][jphi] > 0.) + adigiHB[1][jeta][jphi] /= (sumdigiHB1 / nsumdigiHB1); + if (adigiHB[2][jeta][jphi] > 0.) + adigiHB[2][jeta][jphi] /= (sumdigiHB2 / nsumdigiHB2); + if (adigiHB[3][jeta][jphi] > 0.) + adigiHB[3][jeta][jphi] /= (sumdigiHB3 / nsumdigiHB3); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs //====================================================================== //====================================================================== - cout << " R2D-eta/phi-plot: R, averaged over depthes *****" << endl; + //cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); ///////////////// c1x0->Divide(1, 1); c1x0->cd(1); - TH2F *Gefz42D = new TH2F("Gefz42D", "", neta, -41., 41., nphi, 0., 72.); - TH2F *Gefz42D0 = new TH2F("Gefz42D0", "", neta, -41., 41., nphi, 0., 72.); - TH2F *Gefz42DF = (TH2F *)Gefz42D0->Clone("Gefz42DF"); + TH2F *GefzRdigiHB42D = new TH2F("GefzRdigiHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHB42D0 = new TH2F("GefzRdigiHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHB42DF = (TH2F *)GefzRdigiHB42D0->Clone("GefzRdigiHB42DF"); for (int i = 0; i < ndepth; i++) { for (int jeta = 0; jeta < neta; jeta++) { for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = alexhe[i][jeta][jphi]; + double ccc1 = adigiHB[i][jeta][jphi]; int k2plot = jeta - 41; int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 if (ccc1 != 0.) { - Gefz42D->Fill(kkk, jphi, ccc1); - Gefz42D0->Fill(kkk, jphi, 1.); + GefzRdigiHB42D->Fill(kkk, jphi, ccc1); + GefzRdigiHB42D0->Fill(kkk, jphi, 1.); } } } } - Gefz42DF->Divide(Gefz42D, Gefz42D0, 1, 1, "B"); // average A + GefzRdigiHB42DF->Divide(GefzRdigiHB42D, GefzRdigiHB42D0, 1, 1, "B"); // average A gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogz(); - Gefz42DF->SetMarkerStyle(20); - Gefz42DF->SetMarkerSize(0.4); - Gefz42DF->GetZaxis()->SetLabelSize(0.08); - Gefz42DF->SetXTitle("_depth #eta \b"); - Gefz42DF->SetYTitle(" #phi \b"); - Gefz42DF->SetZTitle("_depth \b"); - Gefz42DF->SetMarkerColor(2); - Gefz42DF->SetLineColor(0); // Gefz42DF->SetMaximum(1.000); // Gefz42DF->SetMinimum(1.0); - Gefz42DF->Draw("COLZ"); - + GefzRdigiHB42DF->SetMarkerStyle(20); + GefzRdigiHB42DF->SetMarkerSize(0.4); + GefzRdigiHB42DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHB42DF->SetXTitle("_depth #eta \b"); + GefzRdigiHB42DF->SetYTitle(" #phi \b"); + GefzRdigiHB42DF->SetZTitle("_depth \b"); + GefzRdigiHB42DF->SetMarkerColor(2); + GefzRdigiHB42DF->SetLineColor( + 0); // GefzRdigiHB42DF->SetMaximum(1.000); // GefzRdigiHB42DF->SetMinimum(1.0); + GefzRdigiHB42DF->Draw("COLZ"); ///////////////// c1x0->Update(); - c1x0->Print("Rhist2IterationMethodHE.png"); + c1x0->Print("RdigiGeneralD2PhiSymmetryHB.png"); c1x0->Clear(); // clean-up - if (Gefz42D) - delete Gefz42D; - if (Gefz42D0) - delete Gefz42D0; - if (Gefz42DF) - delete Gefz42DF; - - //====================================================================== 1D plot: R vs phi , averaged over depthes & eta + if (GefzRdigiHB42D) + delete GefzRdigiHB42D; + if (GefzRdigiHB42D0) + delete GefzRdigiHB42D0; + if (GefzRdigiHB42DF) + delete GefzRdigiHB42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta //====================================================================== - cout << " 1D plot: R vs phi , averaged over depthes & eta *****" << endl; + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); ///////////////// c1x1->Divide(1, 1); c1x1->cd(1); - TH1F *Gefz41D = new TH1F("Gefz41D", "", nphi, 0., 72.); - TH1F *Gefz41D0 = new TH1F("Gefz41D0", "", nphi, 0., 72.); - TH1F *Gefz41DF = (TH1F *)Gefz41D0->Clone("Gefz41DF"); - + TH1F *GefzRdigiHB41D = new TH1F("GefzRdigiHB41D", "", nphi, 0., 72.); + TH1F *GefzRdigiHB41D0 = new TH1F("GefzRdigiHB41D0", "", nphi, 0., 72.); + TH1F *GefzRdigiHB41DF = (TH1F *)GefzRdigiHB41D0->Clone("GefzRdigiHB41DF"); for (int jphi = 0; jphi < nphi; jphi++) { for (int jeta = 0; jeta < neta; jeta++) { for (int i = 0; i < ndepth; i++) { - double ccc1 = alexhe[i][jeta][jphi]; + double ccc1 = adigiHB[i][jeta][jphi]; if (ccc1 != 0.) { - Gefz41D->Fill(jphi, ccc1); - Gefz41D0->Fill(jphi, 1.); + GefzRdigiHB41D->Fill(jphi, ccc1); + GefzRdigiHB41D0->Fill(jphi, 1.); } } } } - // Gefz41D->Sumw2();Gefz41D0->Sumw2(); - - Gefz41DF->Divide(Gefz41D, Gefz41D0, 1, 1, "B"); // R averaged over depthes & eta - Gefz41D0->Sumw2(); - // for (int jphi=1;jphi<73;jphi++) {Gefz41DF->SetBinError(jphi,0.01);} + GefzRdigiHB41DF->Divide(GefzRdigiHB41D, GefzRdigiHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRdigiHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRdigiHB41DF->SetBinError(jphi,0.01);} gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogz(); - Gefz41DF->SetMarkerStyle(20); - Gefz41DF->SetMarkerSize(1.4); - Gefz41DF->GetZaxis()->SetLabelSize(0.08); - Gefz41DF->SetXTitle("#phi \b"); - Gefz41DF->SetYTitle(" \b"); - Gefz41DF->SetZTitle("_PHI - AllDepthes \b"); - Gefz41DF->SetMarkerColor(4); - Gefz41DF->SetLineColor(4); - Gefz41DF->SetMinimum(0.8); // Gefz41DF->SetMaximum(1.000); - Gefz41DF->Draw("Error"); - + GefzRdigiHB41DF->SetMarkerStyle(20); + GefzRdigiHB41DF->SetMarkerSize(1.4); + GefzRdigiHB41DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHB41DF->SetXTitle("#phi \b"); + GefzRdigiHB41DF->SetYTitle(" \b"); + GefzRdigiHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRdigiHB41DF->SetMarkerColor(4); + GefzRdigiHB41DF->SetLineColor( + 4); // GefzRdigiHB41DF->SetMinimum(0.8); // GefzRdigiHB41DF->SetMaximum(1.000); + GefzRdigiHB41DF->Draw("Error"); ///////////////// c1x1->Update(); - c1x1->Print("Rhist1IterationMethodHE.png"); + c1x1->Print("RdigiGeneralD1PhiSymmetryHB.png"); c1x1->Clear(); // clean-up - if (Gefz41D) - delete Gefz41D; - if (Gefz41D0) - delete Gefz41D0; - if (Gefz41DF) - delete Gefz41DF; - + if (GefzRdigiHB41D) + delete GefzRdigiHB41D; + if (GefzRdigiHB41D0) + delete GefzRdigiHB41D0; + if (GefzRdigiHB41DF) + delete GefzRdigiHB41DF; //========================================================================================== 4 //====================================================================== //======================================================================1D plot: R vs phi , different eta, depth=1 - cout << " 1D plot: R vs phi , different eta, depth=1 *****" << endl; + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); ///////////////// - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirection1 = 1; - TH1F *h2CeffHEpositivedirection1 = new TH1F("h2CeffHEpositivedirection1", "", nphi, 0., 72.); - + int kcountHBpositivedirectionDigi1 = 1; + TH1F *h2CeffHBpositivedirectionDigi1 = new TH1F("h2CeffHBpositivedirectionDigi1", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirection: - if (jeta - 41 > 0) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { // for (int i=0;iClone("twod1"); - + TH1F *HBpositivedirectionDigi1 = (TH1F *)h2CeffHBpositivedirectionDigi1->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = alexhe[i][jeta][jphi]; + double ccc1 = adigiHB[i][jeta][jphi]; if (ccc1 != 0.) { - HEpositivedirection1->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirection1->SetBinError(i,0.01); + HBpositivedirectionDigi1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigi1->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "444 kcountHEpositivedirection1 = " << kcountHEpositivedirection1 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirection1); - HEpositivedirection1->SetMarkerStyle(20); - HEpositivedirection1->SetMarkerSize(0.4); - HEpositivedirection1->GetYaxis()->SetLabelSize(0.04); - HEpositivedirection1->SetXTitle("HEpositivedirection1 \b"); - HEpositivedirection1->SetMarkerColor(2); - HEpositivedirection1->SetLineColor(0); + // cout<<"444 kcountHBpositivedirectionDigi1 = "<SetMarkerColor(2); + HBpositivedirectionDigi1->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirection1 == 1) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 18; depth = 1 \b"); - if (kcountHEpositivedirection1 == 2) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 19; depth = 1 \b"); - if (kcountHEpositivedirection1 == 3) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 20; depth = 1 \b"); - if (kcountHEpositivedirection1 == 4) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 21; depth = 1 \b"); - if (kcountHEpositivedirection1 == 5) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 22; depth = 1 \b"); - if (kcountHEpositivedirection1 == 6) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 23; depth = 1 \b"); - if (kcountHEpositivedirection1 == 7) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 24; depth = 1 \b"); - if (kcountHEpositivedirection1 == 8) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 25; depth = 1 \b"); - if (kcountHEpositivedirection1 == 9) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 26; depth = 1 \b"); - if (kcountHEpositivedirection1 == 10) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 27; depth = 1 \b"); - if (kcountHEpositivedirection1 == 11) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 28; depth = 1 \b"); - if (kcountHEpositivedirection1 == 12) - HEpositivedirection1->SetXTitle("R for HE+ jeta = 29; depth = 1 \b"); - HEpositivedirection1->Draw("Error"); - kcountHEpositivedirection1++; - if (kcountHEpositivedirection1 > 15) - break; // 4x6 = 24 + if (kcountHBpositivedirectionDigi1 == 1) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 2) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 3) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 4) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 5) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 6) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 7) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 8) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 9) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 10) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 11) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 12) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 13) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 14) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 15) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 16) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionDigi1->Draw("Error"); + kcountHBpositivedirectionDigi1++; + if (kcountHBpositivedirectionDigi1 > 16) + break; // } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 >= 0) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Rhist1IterationMethodDepth1HE.png"); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth1HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirection1) - delete h2CeffHEpositivedirection1; + if (h2CeffHBpositivedirectionDigi1) + delete h2CeffHBpositivedirectionDigi1; //========================================================================================== 5 //====================================================================== //======================================================================1D plot: R vs phi , different eta, depth=2 - cout << " 1D plot: R vs phi , different eta, depth=2 *****" << endl; + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); ///////////////// - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirection2 = 1; - TH1F *h2CeffHEpositivedirection2 = new TH1F("h2CeffHEpositivedirection2", "", nphi, 0., 72.); - + int kcountHBpositivedirectionDigi2 = 1; + TH1F *h2CeffHBpositivedirectionDigi2 = new TH1F("h2CeffHBpositivedirectionDigi2", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirection: - if (jeta - 41 > 0) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { // for (int i=0;iClone("twod1"); - + TH1F *HBpositivedirectionDigi2 = (TH1F *)h2CeffHBpositivedirectionDigi2->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = alexhe[i][jeta][jphi]; + double ccc1 = adigiHB[i][jeta][jphi]; if (ccc1 != 0.) { - HEpositivedirection2->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirection2->SetBinError(i,0.01); + HBpositivedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigi2->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "555 kcountHEpositivedirection2 = " << kcountHEpositivedirection2 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirection2); - HEpositivedirection2->SetMarkerStyle(20); - HEpositivedirection2->SetMarkerSize(0.4); - HEpositivedirection2->GetYaxis()->SetLabelSize(0.04); - HEpositivedirection2->SetXTitle("HEpositivedirection2 \b"); - HEpositivedirection2->SetMarkerColor(2); - HEpositivedirection2->SetLineColor(0); + //cout<<"555 kcountHBpositivedirectionDigi2 = "<SetMarkerColor(2); + HBpositivedirectionDigi2->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirection2 == 1) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 17; depth = 2 \b"); - if (kcountHEpositivedirection2 == 2) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 18; depth = 2 \b"); - if (kcountHEpositivedirection2 == 3) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 19; depth = 2 \b"); - if (kcountHEpositivedirection2 == 4) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 20; depth = 2 \b"); - if (kcountHEpositivedirection2 == 5) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 21; depth = 2 \b"); - if (kcountHEpositivedirection2 == 6) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 22; depth = 2 \b"); - if (kcountHEpositivedirection2 == 7) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 23; depth = 2 \b"); - if (kcountHEpositivedirection2 == 8) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 24; depth = 2 \b"); - if (kcountHEpositivedirection2 == 9) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 25; depth = 2 \b"); - if (kcountHEpositivedirection2 == 10) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 26; depth = 2 \b"); - if (kcountHEpositivedirection2 == 11) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 27; depth = 2 \b"); - if (kcountHEpositivedirection2 == 12) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 28; depth = 2 \b"); - if (kcountHEpositivedirection2 == 13) - HEpositivedirection2->SetXTitle("R for HE+ jeta = 29; depth = 2 \b"); - HEpositivedirection2->Draw("Error"); - kcountHEpositivedirection2++; - if (kcountHEpositivedirection2 > 15) + if (kcountHBpositivedirectionDigi2 == 1) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 2) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 3) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 4) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 5) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 6) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 7) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 8) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 9) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 10) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 11) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 12) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 13) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 14) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 15) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 16) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionDigi2->Draw("Error"); + kcountHBpositivedirectionDigi2++; + if (kcountHBpositivedirectionDigi2 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 >= 0) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Rhist1IterationMethodDepth2HE.png"); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth2HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirection2) - delete h2CeffHEpositivedirection2; + if (h2CeffHBpositivedirectionDigi2) + delete h2CeffHBpositivedirectionDigi2; //========================================================================================== 6 //====================================================================== //======================================================================1D plot: R vs phi , different eta, depth=3 - cout << " 1D plot: R vs phi , different eta, depth=3 *****" << endl; + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); ///////////////// - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirection3 = 1; - TH1F *h2CeffHEpositivedirection3 = new TH1F("h2CeffHEpositivedirection3", "", nphi, 0., 72.); - + int kcountHBpositivedirectionDigi3 = 1; + TH1F *h2CeffHBpositivedirectionDigi3 = new TH1F("h2CeffHBpositivedirectionDigi3", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirection: - if (jeta - 41 > 0) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { // for (int i=0;iClone("twod1"); - + TH1F *HBpositivedirectionDigi3 = (TH1F *)h2CeffHBpositivedirectionDigi3->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = alexhe[i][jeta][jphi]; + double ccc1 = adigiHB[i][jeta][jphi]; if (ccc1 != 0.) { - HEpositivedirection3->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirection3->SetBinError(i,0.01); + HBpositivedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigi3->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "666 kcountHEpositivedirection3 = " << kcountHEpositivedirection3 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirection3); - HEpositivedirection3->SetMarkerStyle(20); - HEpositivedirection3->SetMarkerSize(0.4); - HEpositivedirection3->GetYaxis()->SetLabelSize(0.04); - HEpositivedirection3->SetXTitle("HEpositivedirection3 \b"); - HEpositivedirection3->SetMarkerColor(2); - HEpositivedirection3->SetLineColor(0); + //cout<<"666 kcountHBpositivedirectionDigi3 = "<SetMarkerColor(2); + HBpositivedirectionDigi3->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirection3 == 1) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 17; depth = 3 \b"); - if (kcountHEpositivedirection3 == 2) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 18; depth = 3 \b"); - if (kcountHEpositivedirection3 == 3) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 19; depth = 3 \b"); - if (kcountHEpositivedirection3 == 4) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 20; depth = 3 \b"); - if (kcountHEpositivedirection3 == 5) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 21; depth = 3 \b"); - if (kcountHEpositivedirection3 == 6) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 22; depth = 3 \b"); - if (kcountHEpositivedirection3 == 7) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 23; depth = 3 \b"); - if (kcountHEpositivedirection3 == 8) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 24; depth = 3 \b"); - if (kcountHEpositivedirection3 == 9) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 25; depth = 3 \b"); - if (kcountHEpositivedirection3 == 10) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 26; depth = 3 \b"); - if (kcountHEpositivedirection3 == 11) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 27; depth = 3 \b"); - if (kcountHEpositivedirection3 == 12) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 28; depth = 3 \b"); - if (kcountHEpositivedirection3 == 13) - HEpositivedirection3->SetXTitle("R for HE+ jeta = 29; depth = 3 \b"); - HEpositivedirection3->Draw("Error"); - kcountHEpositivedirection3++; - if (kcountHEpositivedirection3 > 15) + if (kcountHBpositivedirectionDigi3 == 1) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 2) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 3) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 4) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 5) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 6) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 7) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 8) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 9) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 10) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 11) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 12) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 13) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 14) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 15) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 16) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionDigi3->Draw("Error"); + kcountHBpositivedirectionDigi3++; + if (kcountHBpositivedirectionDigi3 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 >= 0) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Rhist1IterationMethodDepth3HE.png"); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth3HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirection3) - delete h2CeffHEpositivedirection3; + if (h2CeffHBpositivedirectionDigi3) + delete h2CeffHBpositivedirectionDigi3; //========================================================================================== 7 //====================================================================== //======================================================================1D plot: R vs phi , different eta, depth=4 - cout << " 1D plot: R vs phi , different eta, depth=4 *****" << endl; + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); ///////////////// - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirection4 = 1; - TH1F *h2CeffHEpositivedirection4 = new TH1F("h2CeffHEpositivedirection4", "", nphi, 0., 72.); + int kcountHBpositivedirectionDigi4 = 1; + TH1F *h2CeffHBpositivedirectionDigi4 = new TH1F("h2CeffHBpositivedirectionDigi4", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirection: - if (jeta - 41 > 0) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { // for (int i=0;iClone("twod1"); + TH1F *HBpositivedirectionDigi4 = (TH1F *)h2CeffHBpositivedirectionDigi4->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = alexhe[i][jeta][jphi]; + double ccc1 = adigiHB[i][jeta][jphi]; if (ccc1 != 0.) { - HEpositivedirection4->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirection4->SetBinError(i,0.01); + HBpositivedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigi4->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "777 kcountHEpositivedirection4 = " << kcountHEpositivedirection4 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirection4); - HEpositivedirection4->SetMarkerStyle(20); - HEpositivedirection4->SetMarkerSize(0.4); - HEpositivedirection4->GetYaxis()->SetLabelSize(0.04); - HEpositivedirection4->SetXTitle("HEpositivedirection4 \b"); - HEpositivedirection4->SetMarkerColor(2); - HEpositivedirection4->SetLineColor(0); + //cout<<"777 kcountHBpositivedirectionDigi4 = "<SetMarkerColor(2); + HBpositivedirectionDigi4->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirection4 == 1) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 16; depth = 4 \b"); - if (kcountHEpositivedirection4 == 2) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 18; depth = 4 \b"); - if (kcountHEpositivedirection4 == 3) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 19; depth = 4 \b"); - if (kcountHEpositivedirection4 == 4) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 20; depth = 4 \b"); - if (kcountHEpositivedirection4 == 5) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 21; depth = 4 \b"); - if (kcountHEpositivedirection4 == 6) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 22; depth = 4 \b"); - if (kcountHEpositivedirection4 == 7) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 23; depth = 4 \b"); - if (kcountHEpositivedirection4 == 8) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 24; depth = 4 \b"); - if (kcountHEpositivedirection4 == 9) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 25; depth = 4 \b"); - if (kcountHEpositivedirection4 == 10) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 26; depth = 4 \b"); - if (kcountHEpositivedirection4 == 11) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 27; depth = 4 \b"); - if (kcountHEpositivedirection4 == 12) - HEpositivedirection4->SetXTitle("R for HE+ jeta = 28; depth = 4 \b"); - HEpositivedirection4->Draw("Error"); - kcountHEpositivedirection4++; - if (kcountHEpositivedirection4 > 15) + if (kcountHBpositivedirectionDigi4 == 1) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 2) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 3) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 4) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 5) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 6) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 7) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 8) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 9) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 10) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 11) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 12) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 13) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 14) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 15) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 16) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionDigi4->Draw("Error"); + kcountHBpositivedirectionDigi4++; + if (kcountHBpositivedirectionDigi4 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 >= 0) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Rhist1IterationMethodDepth4HE.png"); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth4HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirection4) - delete h2CeffHEpositivedirection4; - //========================================================================================== 8 + if (h2CeffHBpositivedirectionDigi4) + delete h2CeffHBpositivedirectionDigi4; + + //========================================================================================== 1114 //====================================================================== - //======================================================================1D plot: R vs phi , different eta, depth=5 - cout << " 1D plot: R vs phi , different eta, depth=5 *****" << endl; + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); ///////////////// - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirection5 = 1; - TH1F *h2CeffHEpositivedirection5 = new TH1F("h2CeffHEpositivedirection5", "", nphi, 0., 72.); - + int kcountHBnegativedirectionDigi1 = 1; + TH1F *h2CeffHBnegativedirectionDigi1 = new TH1F("h2CeffHBnegativedirectionDigi1", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirection: - if (jeta - 41 > 0) { + // negativedirectionDigi: + if (jeta - 41 < 0) { // for (int i=0;iClone("twod1"); - + // depth=1 + for (int i = 0; i < 1; i++) { + TH1F *HBnegativedirectionDigi1 = (TH1F *)h2CeffHBnegativedirectionDigi1->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - // cout<<"888 initial kcountHEpositivedirection5 = "<SetMarkerColor(2); + HBnegativedirectionDigi1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionDigi1 == 1) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -16; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 2) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -15; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 3) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -14; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 4) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -13; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 5) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -12; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 6) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -11; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 7) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -10; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 8) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -9; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 9) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -8; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 10) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -7; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 11) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -6; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 12) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -5; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 13) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -4; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 14) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -3; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 15) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -2; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 16) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -1; depth = 1 \b"); + HBnegativedirectionDigi1->Draw("Error"); + kcountHBnegativedirectionDigi1++; + if (kcountHBnegativedirectionDigi1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionDigi1) + delete h2CeffHBnegativedirectionDigi1; - double ccc1 = alexhe[i][jeta][jphi]; + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionDigi2 = 1; + TH1F *h2CeffHBnegativedirectionDigi2 = new TH1F("h2CeffHBnegativedirectionDigi2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHB[i][jeta][jphi]; if (ccc1 != 0.) { - HEpositivedirection5->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirection5->SetBinError(i,0.01); + HBnegativedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigi2->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "888 kcountHEpositivedirection5 = " << kcountHEpositivedirection5 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirection5); - HEpositivedirection5->SetMarkerStyle(20); - HEpositivedirection5->SetMarkerSize(0.4); - HEpositivedirection5->GetYaxis()->SetLabelSize(0.04); - HEpositivedirection5->SetXTitle("HEpositivedirection5 \b"); - HEpositivedirection5->SetMarkerColor(2); - HEpositivedirection5->SetLineColor(0); + //cout<<"555 kcountHBnegativedirectionDigi2 = "<SetMarkerColor(2); + HBnegativedirectionDigi2->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirection5 == 1) - HEpositivedirection5->SetXTitle("R for HE+ jeta = 18; depth = 5 \b"); - if (kcountHEpositivedirection5 == 2) - HEpositivedirection5->SetXTitle("R for HE+ jeta = 19; depth = 5 \b"); - if (kcountHEpositivedirection5 == 3) - HEpositivedirection5->SetXTitle("R for HE+ jeta = 20; depth = 5 \b"); - if (kcountHEpositivedirection5 == 4) - HEpositivedirection5->SetXTitle("R for HE+ jeta = 21; depth = 5 \b"); - if (kcountHEpositivedirection5 == 5) - HEpositivedirection5->SetXTitle("R for HE+ jeta = 22; depth = 5 \b"); - if (kcountHEpositivedirection5 == 6) - HEpositivedirection5->SetXTitle("R for HE+ jeta = 23; depth = 5 \b"); - if (kcountHEpositivedirection5 == 7) - HEpositivedirection5->SetXTitle("R for HE+ jeta = 24; depth = 5 \b"); - if (kcountHEpositivedirection5 == 8) - HEpositivedirection5->SetXTitle("R for HE+ jeta = 25; depth = 5 \b"); - if (kcountHEpositivedirection5 == 9) - HEpositivedirection5->SetXTitle("R for HE+ jeta = 26; depth = 5 \b"); - if (kcountHEpositivedirection5 == 10) - HEpositivedirection5->SetXTitle("R for HE+ jeta = 27; depth = 5 \b"); - if (kcountHEpositivedirection5 == 11) - HEpositivedirection5->SetXTitle("R for HE+ jeta = 28; depth = 5 \b"); - HEpositivedirection5->Draw("Error"); - kcountHEpositivedirection5++; - if (kcountHEpositivedirection5 > 15) + if (kcountHBnegativedirectionDigi2 == 1) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -16; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 2) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -15; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 3) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -14; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 4) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -13; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 5) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -12; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 6) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -11; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 7) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -10; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 8) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -9; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 9) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -8; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 10) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -7; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 11) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -6; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 12) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -5; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 13) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -4; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 14) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -3; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 15) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -2; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 16) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -1; depth = 2 \b"); + HBnegativedirectionDigi2->Draw("Error"); + kcountHBnegativedirectionDigi2++; + if (kcountHBnegativedirectionDigi2 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 < 0 ) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Rhist1IterationMethodDepth5HE.png"); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirection5) - delete h2CeffHEpositivedirection5; - //========================================================================================== 9 + if (h2CeffHBnegativedirectionDigi2) + delete h2CeffHBnegativedirectionDigi2; + //========================================================================================== 1116 //====================================================================== - //======================================================================1D plot: R vs phi , different eta, depth=6 - cout << " 1D plot: R vs phi , different eta, depth=6 *****" << endl; + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); ///////////////// - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirection6 = 1; - TH1F *h2CeffHEpositivedirection6 = new TH1F("h2CeffHEpositivedirection6", "", nphi, 0., 72.); - + int kcountHBnegativedirectionDigi3 = 1; + TH1F *h2CeffHBnegativedirectionDigi3 = new TH1F("h2CeffHBnegativedirectionDigi3", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirection: - if (jeta - 41 > 0) { + // negativedirectionDigi: + if (jeta - 41 < 0) { // for (int i=0;iClone("twod1"); - + // depth=3 + for (int i = 2; i < 3; i++) { + TH1F *HBnegativedirectionDigi3 = (TH1F *)h2CeffHBnegativedirectionDigi3->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = alexhe[i][jeta][jphi]; + double ccc1 = adigiHB[i][jeta][jphi]; if (ccc1 != 0.) { - HEpositivedirection6->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirection6->SetBinError(i,0.01); + HBnegativedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigi3->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "999 kcountHEpositivedirection6 = " << kcountHEpositivedirection6 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirection6); - HEpositivedirection6->SetMarkerStyle(20); - HEpositivedirection6->SetMarkerSize(0.4); - HEpositivedirection6->GetYaxis()->SetLabelSize(0.04); - HEpositivedirection6->SetXTitle("HEpositivedirection6 \b"); - HEpositivedirection6->SetMarkerColor(2); - HEpositivedirection6->SetLineColor(0); + //cout<<"666 kcountHBnegativedirectionDigi3 = "<SetMarkerColor(2); + HBnegativedirectionDigi3->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirection6 == 1) - HEpositivedirection6->SetXTitle("R for HE+ jeta = 19; depth = 6 \b"); - if (kcountHEpositivedirection6 == 2) - HEpositivedirection6->SetXTitle("R for HE+ jeta = 20; depth = 6 \b"); - if (kcountHEpositivedirection6 == 3) - HEpositivedirection6->SetXTitle("R for HE+ jeta = 21; depth = 6 \b"); - if (kcountHEpositivedirection6 == 4) - HEpositivedirection6->SetXTitle("R for HE+ jeta = 22; depth = 6 \b"); - if (kcountHEpositivedirection6 == 5) - HEpositivedirection6->SetXTitle("R for HE+ jeta = 23; depth = 6 \b"); - if (kcountHEpositivedirection6 == 6) - HEpositivedirection6->SetXTitle("R for HE+ jeta = 24; depth = 6 \b"); - if (kcountHEpositivedirection6 == 7) - HEpositivedirection6->SetXTitle("R for HE+ jeta = 25; depth = 6 \b"); - if (kcountHEpositivedirection6 == 8) - HEpositivedirection6->SetXTitle("R for HE+ jeta = 26; depth = 6 \b"); - if (kcountHEpositivedirection6 == 9) - HEpositivedirection6->SetXTitle("R for HE+ jeta = 27; depth = 6 \b"); - if (kcountHEpositivedirection6 == 10) - HEpositivedirection6->SetXTitle("R for HE+ jeta = 28; depth = 6 \b"); - HEpositivedirection6->Draw("Error"); - kcountHEpositivedirection6++; - if (kcountHEpositivedirection6 > 15) + if (kcountHBnegativedirectionDigi3 == 1) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -16; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 2) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -15; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 3) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -14; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 4) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -13; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 5) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -12; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 6) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -11; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 7) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -10; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 8) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -9; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 9) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -8; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 10) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -7; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 11) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -6; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 12) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -5; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 13) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -4; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 14) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -3; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 15) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -2; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 16) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -1; depth = 3 \b"); + + HBnegativedirectionDigi3->Draw("Error"); + kcountHBnegativedirectionDigi3++; + if (kcountHBnegativedirectionDigi3 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 < 0 ) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Rhist1IterationMethodDepth6HE.png"); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirection6) - delete h2CeffHEpositivedirection6; - //========================================================================================== 10 + if (h2CeffHBnegativedirectionDigi3) + delete h2CeffHBnegativedirectionDigi3; + //========================================================================================== 1117 //====================================================================== - //======================================================================1D plot: R vs phi , different eta, depth=7 - cout << " 1D plot: R vs phi , different eta, depth=7 *****" << endl; + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); ///////////////// - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirection7 = 1; - TH1F *h2CeffHEpositivedirection7 = new TH1F("h2CeffHEpositivedirection7", "", nphi, 0., 72.); + int kcountHBnegativedirectionDigi4 = 1; + TH1F *h2CeffHBnegativedirectionDigi4 = new TH1F("h2CeffHBnegativedirectionDigi4", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirection: - if (jeta - 41 > 0) { + // negativedirectionDigi: + if (jeta - 41 < 0) { // for (int i=0;iClone("twod1"); + // depth=4 + for (int i = 3; i < 4; i++) { + TH1F *HBnegativedirectionDigi4 = (TH1F *)h2CeffHBnegativedirectionDigi4->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = alexhe[i][jeta][jphi]; + double ccc1 = adigiHB[i][jeta][jphi]; if (ccc1 != 0.) { - HEpositivedirection7->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirection7->SetBinError(i,0.01); - } - } // for jphi - if (ccctest > 0.) { - cout << "1010 kcountHEpositivedirection7 = " << kcountHEpositivedirection7 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirection7); - HEpositivedirection7->SetMarkerStyle(20); - HEpositivedirection7->SetMarkerSize(0.4); - HEpositivedirection7->GetYaxis()->SetLabelSize(0.04); - HEpositivedirection7->SetXTitle("HEpositivedirection7 \b"); - HEpositivedirection7->SetMarkerColor(2); - HEpositivedirection7->SetLineColor(0); - gPad->SetGridy(); - gPad->SetGridx(); - // gPad->SetLogy(); - if (kcountHEpositivedirection7 == 1) - HEpositivedirection7->SetXTitle("R for HE+ jeta = 26; depth = 7 \b"); - if (kcountHEpositivedirection7 == 2) - HEpositivedirection7->SetXTitle("R for HE+ jeta = 27; depth = 7 \b"); - if (kcountHEpositivedirection7 == 3) - HEpositivedirection7->SetXTitle("R for HE+ jeta = 28; depth = 7 \b"); - HEpositivedirection7->Draw("Error"); - kcountHEpositivedirection7++; - if (kcountHEpositivedirection7 > 15) - break; // 4x6 = 24 - } //ccctest>0 - - } // for i - } //if(jeta-41 > 0) - } //for jeta - ///////////////// - c3x5->Update(); - c3x5->Print("Rhist1IterationMethodDepth7HE.png"); - c3x5->Clear(); - // clean-up - if (h2CeffHEpositivedirection7) - delete h2CeffHEpositivedirection7; - - // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: - - cout << " Start Vaiance: preparation *****" << endl; - TH2F *mapdphinorm1HE1 = (TH2F *)hfile->Get("h_maprphinorm2_HE1"); - TH2F *mapdphinorm0HE1 = (TH2F *)hfile->Get("h_maprphinorm0_HE1"); - TH2F *mapdphinormHE1 = (TH2F *)mapdphinorm1HE1->Clone("mapdphinormHE1"); - mapdphinormHE1->Divide(mapdphinorm1HE1, mapdphinorm0HE1, 1, 1, "B"); - TH2F *mapdphinorm1HE2 = (TH2F *)hfile->Get("h_maprphinorm2_HE2"); - TH2F *mapdphinorm0HE2 = (TH2F *)hfile->Get("h_maprphinorm0_HE2"); - TH2F *mapdphinormHE2 = (TH2F *)mapdphinorm1HE2->Clone("mapdphinormHE2"); - mapdphinormHE2->Divide(mapdphinorm1HE2, mapdphinorm0HE2, 1, 1, "B"); - TH2F *mapdphinorm1HE3 = (TH2F *)hfile->Get("h_maprphinorm2_HE3"); - TH2F *mapdphinorm0HE3 = (TH2F *)hfile->Get("h_maprphinorm0_HE3"); - TH2F *mapdphinormHE3 = (TH2F *)mapdphinorm1HE3->Clone("mapdphinormHE3"); - mapdphinormHE3->Divide(mapdphinorm1HE3, mapdphinorm0HE3, 1, 1, "B"); - TH2F *mapdphinorm1HE4 = (TH2F *)hfile->Get("h_maprphinorm2_HE4"); - TH2F *mapdphinorm0HE4 = (TH2F *)hfile->Get("h_maprphinorm0_HE4"); - TH2F *mapdphinormHE4 = (TH2F *)mapdphinorm1HE4->Clone("mapdphinormHE4"); - mapdphinormHE4->Divide(mapdphinorm1HE4, mapdphinorm0HE4, 1, 1, "B"); - TH2F *mapdphinorm1HE5 = (TH2F *)hfile->Get("h_maprphinorm2_HE5"); - TH2F *mapdphinorm0HE5 = (TH2F *)hfile->Get("h_maprphinorm0_HE5"); - TH2F *mapdphinormHE5 = (TH2F *)mapdphinorm1HE5->Clone("mapdphinormHE5"); - mapdphinormHE5->Divide(mapdphinorm1HE5, mapdphinorm0HE5, 1, 1, "B"); - TH2F *mapdphinorm1HE6 = (TH2F *)hfile->Get("h_maprphinorm2_HE6"); - TH2F *mapdphinorm0HE6 = (TH2F *)hfile->Get("h_maprphinorm0_HE6"); - TH2F *mapdphinormHE6 = (TH2F *)mapdphinorm1HE6->Clone("mapdphinormHE6"); - mapdphinormHE6->Divide(mapdphinorm1HE6, mapdphinorm0HE6, 1, 1, "B"); - TH2F *mapdphinorm1HE7 = (TH2F *)hfile->Get("h_maprphinorm2_HE7"); - TH2F *mapdphinorm0HE7 = (TH2F *)hfile->Get("h_maprphinorm0_HE7"); - TH2F *mapdphinormHE7 = (TH2F *)mapdphinorm1HE7->Clone("mapdphinormHE7"); - mapdphinormHE7->Divide(mapdphinorm1HE7, mapdphinorm0HE7, 1, 1, "B"); - cout << " Vaiance: preparation DONE *****" << endl; - //====================================================================== put Vaiance=Dispersia = Sig**2= - ()**2 + HBnegativedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigi4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBnegativedirectionDigi4 = "<SetMarkerColor(2); + HBnegativedirectionDigi4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionDigi4 == 1) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -16; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 2) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -15; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 3) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -14; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 4) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -13; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 5) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -12; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 6) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -11; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 7) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -10; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 8) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -9; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 9) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -8; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 10) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -7; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 11) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -6; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 12) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -5; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 13) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -4; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 14) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -3; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 15) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -2; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 16) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -1; depth = 4 \b"); + HBnegativedirectionDigi4->Draw("Error"); + kcountHBnegativedirectionDigi4++; + if (kcountHBnegativedirectionDigi4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionDigi4) + delete h2CeffHBnegativedirectionDigi4; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_amplitudechannel2_HB1"); + TH2F *digiVariance0HB1 = (TH2F *)hfile->Get("h_amplitudechannel0_HB1"); + TH2F *digiVarianceHB1 = (TH2F *)digiVariance1HB1->Clone("digiVarianceHB1"); + digiVarianceHB1->Divide(digiVariance1HB1, digiVariance0HB1, 1, 1, "B"); + TH2F *digiVariance1HB2 = (TH2F *)hfile->Get("h_amplitudechannel2_HB2"); + TH2F *digiVariance0HB2 = (TH2F *)hfile->Get("h_amplitudechannel0_HB2"); + TH2F *digiVarianceHB2 = (TH2F *)digiVariance1HB2->Clone("digiVarianceHB2"); + digiVarianceHB2->Divide(digiVariance1HB2, digiVariance0HB2, 1, 1, "B"); + TH2F *digiVariance1HB3 = (TH2F *)hfile->Get("h_amplitudechannel2_HB3"); + TH2F *digiVariance0HB3 = (TH2F *)hfile->Get("h_amplitudechannel0_HB3"); + TH2F *digiVarianceHB3 = (TH2F *)digiVariance1HB3->Clone("digiVarianceHB3"); + digiVarianceHB3->Divide(digiVariance1HB3, digiVariance0HB3, 1, 1, "B"); + TH2F *digiVariance1HB4 = (TH2F *)hfile->Get("h_amplitudechannel2_HB4"); + TH2F *digiVariance0HB4 = (TH2F *)hfile->Get("h_amplitudechannel0_HB4"); + TH2F *digiVarianceHB4 = (TH2F *)digiVariance1HB4->Clone("digiVarianceHB4"); + digiVarianceHB4->Divide(digiVariance1HB4, digiVariance0HB4, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive digivarianceHB // = sum(R*R)/N - (sum(R)/N)**2 - // = mapdphinormHE1,2,3..7 - alexhe*alexhe for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumdigiHB0 = 0; + int nsumdigiHB0 = 0; + double sumdigiHB1 = 0; + int nsumdigiHB1 = 0; + double sumdigiHB2 = 0; + int nsumdigiHB2 = 0; + double sumdigiHB3 = 0; + int nsumdigiHB3 = 0; for (int jphi = 0; jphi < njphi; jphi++) { - variance[0][jeta][jphi] = - fabs(mapdphinormHE1->GetBinContent(jeta + 1, jphi + 1) - alexhe[0][jeta][jphi] * alexhe[0][jeta][jphi]); - if (variance[0][jeta][jphi] < 0.00003) - variance[0][jeta][jphi] = 0.000067; - variance[1][jeta][jphi] = - fabs(mapdphinormHE2->GetBinContent(jeta + 1, jphi + 1) - alexhe[1][jeta][jphi] * alexhe[1][jeta][jphi]); - if (variance[1][jeta][jphi] < 0.00003) - variance[1][jeta][jphi] = 0.000067; - variance[2][jeta][jphi] = - fabs(mapdphinormHE3->GetBinContent(jeta + 1, jphi + 1) - alexhe[2][jeta][jphi] * alexhe[2][jeta][jphi]); - if (variance[2][jeta][jphi] < 0.00003) - variance[2][jeta][jphi] = 0.000067; - variance[3][jeta][jphi] = - fabs(mapdphinormHE4->GetBinContent(jeta + 1, jphi + 1) - alexhe[3][jeta][jphi] * alexhe[3][jeta][jphi]); - if (variance[3][jeta][jphi] < 0.00003) - variance[3][jeta][jphi] = 0.000067; - variance[4][jeta][jphi] = - fabs(mapdphinormHE5->GetBinContent(jeta + 1, jphi + 1) - alexhe[4][jeta][jphi] * alexhe[4][jeta][jphi]); - if (variance[4][jeta][jphi] < 0.00003) - variance[4][jeta][jphi] = 0.000067; - variance[5][jeta][jphi] = - fabs(mapdphinormHE6->GetBinContent(jeta + 1, jphi + 1) - alexhe[5][jeta][jphi] * alexhe[5][jeta][jphi]); - if (variance[5][jeta][jphi] < 0.00003) - variance[5][jeta][jphi] = 0.000067; - variance[6][jeta][jphi] = - fabs(mapdphinormHE7->GetBinContent(jeta + 1, jphi + 1) - alexhe[6][jeta][jphi] * alexhe[6][jeta][jphi]); - if (variance[6][jeta][jphi] < 0.00003) - variance[6][jeta][jphi] = 0.000067; + digivarianceHB[0][jeta][jphi] = digiVarianceHB1->GetBinContent(jeta + 1, jphi + 1); + digivarianceHB[1][jeta][jphi] = digiVarianceHB2->GetBinContent(jeta + 1, jphi + 1); + digivarianceHB[2][jeta][jphi] = digiVarianceHB3->GetBinContent(jeta + 1, jphi + 1); + digivarianceHB[3][jeta][jphi] = digiVarianceHB4->GetBinContent(jeta + 1, jphi + 1); + if (digivarianceHB[0][jeta][jphi] > 0.) { + sumdigiHB0 += digivarianceHB[0][jeta][jphi]; + ++nsumdigiHB0; + } + if (digivarianceHB[1][jeta][jphi] > 0.) { + sumdigiHB1 += digivarianceHB[1][jeta][jphi]; + ++nsumdigiHB1; + } + if (digivarianceHB[2][jeta][jphi] > 0.) { + sumdigiHB2 += digivarianceHB[2][jeta][jphi]; + ++nsumdigiHB2; + } + if (digivarianceHB[3][jeta][jphi] > 0.) { + sumdigiHB3 += digivarianceHB[3][jeta][jphi]; + ++nsumdigiHB3; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (digivarianceHB[0][jeta][jphi] > 0.) + digivarianceHB[0][jeta][jphi] /= (sumdigiHB0 / nsumdigiHB0); + if (digivarianceHB[1][jeta][jphi] > 0.) + digivarianceHB[1][jeta][jphi] /= (sumdigiHB1 / nsumdigiHB1); + if (digivarianceHB[2][jeta][jphi] > 0.) + digivarianceHB[2][jeta][jphi] /= (sumdigiHB2 / nsumdigiHB2); + if (digivarianceHB[3][jeta][jphi] > 0.) + digivarianceHB[3][jeta][jphi] /= (sumdigiHB3 / nsumdigiHB3); + } // phi + // digivarianceHB (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); ///////////////// c1x0->Divide(1, 1); c1x0->cd(1); - TH2F *Defz42D = new TH2F("Defz42D", "", neta, -41., 41., nphi, 0., 72.); - TH2F *Defz42D0 = new TH2F("Defz42D0", "", neta, -41., 41., nphi, 0., 72.); - TH2F *Defz42DF = (TH2F *)Defz42D0->Clone("Defz42DF"); + TH2F *DefzDdigiHB42D = new TH2F("DefzDdigiHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHB42D0 = new TH2F("DefzDdigiHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHB42DF = (TH2F *)DefzDdigiHB42D0->Clone("DefzDdigiHB42DF"); for (int i = 0; i < ndepth; i++) { for (int jeta = 0; jeta < neta; jeta++) { for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = variance[i][jeta][jphi]; + double ccc1 = digivarianceHB[i][jeta][jphi]; int k2plot = jeta - 41; int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 - if (alexhe[i][jeta][jphi] > 0.) { - Defz42D->Fill(kkk, jphi, ccc1); - Defz42D0->Fill(kkk, jphi, 1.); + if (adigiHB[i][jeta][jphi] > 0.) { + DefzDdigiHB42D->Fill(kkk, jphi, ccc1); + DefzDdigiHB42D0->Fill(kkk, jphi, 1.); } } } } - Defz42DF->Divide(Defz42D, Defz42D0, 1, 1, "B"); // average A - // Defz1->Sumw2(); + DefzDdigiHB42DF->Divide(DefzDdigiHB42D, DefzDdigiHB42D0, 1, 1, "B"); // average A + // DefzDdigiHB1->Sumw2(); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogz(); - Defz42DF->SetMarkerStyle(20); - Defz42DF->SetMarkerSize(0.4); - Defz42DF->GetZaxis()->SetLabelSize(0.08); - Defz42DF->SetXTitle("_depth #eta \b"); - Defz42DF->SetYTitle(" #phi \b"); - Defz42DF->SetZTitle("_depth \b"); - Defz42DF->SetMarkerColor(2); - Defz42DF->SetLineColor(0); // Defz42DF->SetMaximum(1.000); // Defz42DF->SetMinimum(1.0); - Defz42DF->Draw("COLZ"); + DefzDdigiHB42DF->SetMarkerStyle(20); + DefzDdigiHB42DF->SetMarkerSize(0.4); + DefzDdigiHB42DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHB42DF->SetXTitle("_depth #eta \b"); + DefzDdigiHB42DF->SetYTitle(" #phi \b"); + DefzDdigiHB42DF->SetZTitle("_depth \b"); + DefzDdigiHB42DF->SetMarkerColor(2); + DefzDdigiHB42DF->SetLineColor( + 0); // DefzDdigiHB42DF->SetMaximum(1.000); // DefzDdigiHB42DF->SetMinimum(1.0); + DefzDdigiHB42DF->Draw("COLZ"); ///////////////// c1x0->Update(); - c1x0->Print("Dhist2IterationMethodHE.png"); + c1x0->Print("DdigiGeneralD2PhiSymmetryHB.png"); c1x0->Clear(); // clean-up - if (Defz42D) - delete Defz42D; - if (Defz42D0) - delete Defz42D0; - if (Defz42DF) - delete Defz42DF; - - //====================================================================== 1D plot: D vs phi , averaged over depthes & eta + if (DefzDdigiHB42D) + delete DefzDdigiHB42D; + if (DefzDdigiHB42D0) + delete DefzDdigiHB42D0; + if (DefzDdigiHB42DF) + delete DefzDdigiHB42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta //====================================================================== - cout << " 1D plot: D vs phi , averaged over depthes & eta *****" << endl; + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); ///////////////// c1x1->Divide(1, 1); c1x1->cd(1); - TH1F *Defz41D = new TH1F("Defz41D", "", nphi, 0., 72.); - TH1F *Defz41D0 = new TH1F("Defz41D0", "", nphi, 0., 72.); - TH1F *Defz41DF = (TH1F *)Defz41D0->Clone("Defz41DF"); + TH1F *DefzDdigiHB41D = new TH1F("DefzDdigiHB41D", "", nphi, 0., 72.); + TH1F *DefzDdigiHB41D0 = new TH1F("DefzDdigiHB41D0", "", nphi, 0., 72.); + TH1F *DefzDdigiHB41DF = (TH1F *)DefzDdigiHB41D0->Clone("DefzDdigiHB41DF"); for (int jphi = 0; jphi < nphi; jphi++) { for (int jeta = 0; jeta < neta; jeta++) { for (int i = 0; i < ndepth; i++) { - double ccc1 = variance[i][jeta][jphi]; - if (alexhe[i][jeta][jphi] > 0.) { - Defz41D->Fill(jphi, ccc1); - Defz41D0->Fill(jphi, 1.); + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + DefzDdigiHB41D->Fill(jphi, ccc1); + DefzDdigiHB41D0->Fill(jphi, 1.); } } } } - // Defz41D->Sumw2();Defz41D0->Sumw2(); + // DefzDdigiHB41D->Sumw2();DefzDdigiHB41D0->Sumw2(); - Defz41DF->Divide(Defz41D, Defz41D0, 1, 1, "B"); // R averaged over depthes & eta - Defz41D0->Sumw2(); - // for (int jphi=1;jphi<73;jphi++) {Defz41DF->SetBinError(jphi,0.01);} + DefzDdigiHB41DF->Divide(DefzDdigiHB41D, DefzDdigiHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDdigiHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDdigiHB41DF->SetBinError(jphi,0.01);} gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogz(); - Defz41DF->SetMarkerStyle(20); - Defz41DF->SetMarkerSize(1.4); - Defz41DF->GetZaxis()->SetLabelSize(0.08); - Defz41DF->SetXTitle("#phi \b"); - Defz41DF->SetYTitle(" \b"); - Defz41DF->SetZTitle("_PHI - AllDepthes \b"); - Defz41DF->SetMarkerColor(4); - Defz41DF->SetLineColor(4); - Defz41DF->SetMinimum(0.8); - Defz41DF->SetMinimum(-0.015); - Defz41DF->Draw("Error"); + DefzDdigiHB41DF->SetMarkerStyle(20); + DefzDdigiHB41DF->SetMarkerSize(1.4); + DefzDdigiHB41DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHB41DF->SetXTitle("#phi \b"); + DefzDdigiHB41DF->SetYTitle(" \b"); + DefzDdigiHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDdigiHB41DF->SetMarkerColor(4); + DefzDdigiHB41DF->SetLineColor(4); // DefzDdigiHB41DF->SetMinimum(0.8); DefzDdigiHB41DF->SetMinimum(-0.015); + DefzDdigiHB41DF->Draw("Error"); ///////////////// c1x1->Update(); - c1x1->Print("Dhist1IterationMethodHE.png"); + c1x1->Print("DdigiGeneralD1PhiSymmetryHB.png"); c1x1->Clear(); // clean-up - if (Defz41D) - delete Defz41D; - if (Defz41D0) - delete Defz41D0; - if (Defz41DF) - delete Defz41DF; + if (DefzDdigiHB41D) + delete DefzDdigiHB41D; + if (DefzDdigiHB41D0) + delete DefzDdigiHB41D0; + if (DefzDdigiHB41DF) + delete DefzDdigiHB41DF; //========================================================================================== 14 //====================================================================== //======================================================================1D plot: D vs phi , different eta, depth=1 - cout << " 1D plot: D vs phi , different eta, depth=1 *****" << endl; + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); ///////////////// - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - - int kcountHEpositivedirectionD1 = 1; - TH1F *h2CeffHEpositivedirectionD1 = new TH1F("h2CeffHEpositivedirectionD1", "", nphi, 0., 72.); + int kcountHBpositivedirectionDigiD1 = 1; + TH1F *h2CeffHBpositivedirectionDigiD1 = new TH1F("h2CeffHBpositivedirectionDigiD1", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirectionD: - if (jeta - 41 > 0) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { // for (int i=0;iClone("twod1"); + TH1F *HBpositivedirectionDigiD1 = (TH1F *)h2CeffHBpositivedirectionDigiD1->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = variance[i][jeta][jphi]; - if (alexhe[i][jeta][jphi] > 0.) { - HEpositivedirectionD1->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirectionD1->SetBinError(i,0.01); + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBpositivedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigiD1->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "1414 kcountHEpositivedirectionD1 = " << kcountHEpositivedirectionD1 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirectionD1); - HEpositivedirectionD1->SetMarkerStyle(20); - HEpositivedirectionD1->SetMarkerSize(0.4); - HEpositivedirectionD1->GetYaxis()->SetLabelSize(0.04); - HEpositivedirectionD1->SetXTitle("HEpositivedirectionD1 \b"); - HEpositivedirectionD1->SetMarkerColor(2); - HEpositivedirectionD1->SetLineColor(0); + //cout<<"1414 kcountHBpositivedirectionDigiD1 = "<SetMarkerColor(2); + HBpositivedirectionDigiD1->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirectionD1 == 1) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 18; depth = 1 \b"); - if (kcountHEpositivedirectionD1 == 2) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 19; depth = 1 \b"); - if (kcountHEpositivedirectionD1 == 3) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 20; depth = 1 \b"); - if (kcountHEpositivedirectionD1 == 4) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 21; depth = 1 \b"); - if (kcountHEpositivedirectionD1 == 5) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 22; depth = 1 \b"); - if (kcountHEpositivedirectionD1 == 6) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 23; depth = 1 \b"); - if (kcountHEpositivedirectionD1 == 7) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 24; depth = 1 \b"); - if (kcountHEpositivedirectionD1 == 8) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 25; depth = 1 \b"); - if (kcountHEpositivedirectionD1 == 9) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 26; depth = 1 \b"); - if (kcountHEpositivedirectionD1 == 10) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 27; depth = 1 \b"); - if (kcountHEpositivedirectionD1 == 11) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 28; depth = 1 \b"); - if (kcountHEpositivedirectionD1 == 12) - HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 29; depth = 1 \b"); - HEpositivedirectionD1->Draw("Error"); - kcountHEpositivedirectionD1++; - if (kcountHEpositivedirectionD1 > 15) + if (kcountHBpositivedirectionDigiD1 == 1) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 2) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 3) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 4) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 5) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 6) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 7) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 8) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 9) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 10) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 11) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 12) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 13) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 14) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 15) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 16) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionDigiD1->Draw("Error"); + kcountHBpositivedirectionDigiD1++; + if (kcountHBpositivedirectionDigiD1 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 >= 0) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Dhist1IterationMethodDepth1HE.png"); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth1HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirectionD1) - delete h2CeffHEpositivedirectionD1; - + if (h2CeffHBpositivedirectionDigiD1) + delete h2CeffHBpositivedirectionDigiD1; //========================================================================================== 15 //====================================================================== //======================================================================1D plot: D vs phi , different eta, depth=2 - cout << " 1D plot: D vs phi , different eta, depth=2 *****" << endl; + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirectionD2 = 1; - TH1F *h2CeffHEpositivedirectionD2 = new TH1F("h2CeffHEpositivedirectionD2", "", nphi, 0., 72.); + int kcountHBpositivedirectionDigiD2 = 1; + TH1F *h2CeffHBpositivedirectionDigiD2 = new TH1F("h2CeffHBpositivedirectionDigiD2", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirectionD: - if (jeta - 41 > 0) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { // for (int i=0;iClone("twod1"); + TH1F *HBpositivedirectionDigiD2 = (TH1F *)h2CeffHBpositivedirectionDigiD2->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = variance[i][jeta][jphi]; - if (alexhe[i][jeta][jphi] > 0.) { - HEpositivedirectionD2->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirectionD2->SetBinError(i,0.01); + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBpositivedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigiD2->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "1515 kcountHEpositivedirectionD2 = " << kcountHEpositivedirectionD2 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirectionD2); - HEpositivedirectionD2->SetMarkerStyle(20); - HEpositivedirectionD2->SetMarkerSize(0.4); - HEpositivedirectionD2->GetYaxis()->SetLabelSize(0.04); - HEpositivedirectionD2->SetXTitle("HEpositivedirectionD2 \b"); - HEpositivedirectionD2->SetMarkerColor(2); - HEpositivedirectionD2->SetLineColor(0); + //cout<<"1515 kcountHBpositivedirectionDigiD2 = "<SetMarkerColor(2); + HBpositivedirectionDigiD2->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirectionD2 == 1) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 17; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 2) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 18; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 3) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 19; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 4) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 20; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 5) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 21; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 6) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 22; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 7) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 23; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 8) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 24; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 9) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 25; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 10) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 26; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 11) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 27; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 12) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 28; depth = 2 \b"); - if (kcountHEpositivedirectionD2 == 13) - HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 29; depth = 2 \b"); - HEpositivedirectionD2->Draw("Error"); - kcountHEpositivedirectionD2++; - if (kcountHEpositivedirectionD2 > 15) + if (kcountHBpositivedirectionDigiD2 == 1) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 2) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 3) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 4) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 5) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 6) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 7) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 8) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 9) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 10) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 11) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 12) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 13) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 14) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 15) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 16) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionDigiD2->Draw("Error"); + kcountHBpositivedirectionDigiD2++; + if (kcountHBpositivedirectionDigiD2 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 >= 0) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Dhist1IterationMethodDepth2HE.png"); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth2HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirectionD2) - delete h2CeffHEpositivedirectionD2; - + if (h2CeffHBpositivedirectionDigiD2) + delete h2CeffHBpositivedirectionDigiD2; //========================================================================================== 16 //====================================================================== //======================================================================1D plot: D vs phi , different eta, depth=3 - cout << " 1D plot: D vs phi , different eta, depth=3 *****" << endl; + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirectionD3 = 1; - TH1F *h2CeffHEpositivedirectionD3 = new TH1F("h2CeffHEpositivedirectionD3", "", nphi, 0., 72.); + int kcountHBpositivedirectionDigiD3 = 1; + TH1F *h2CeffHBpositivedirectionDigiD3 = new TH1F("h2CeffHBpositivedirectionDigiD3", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirectionD: - if (jeta - 41 > 0) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { // for (int i=0;iClone("twod1"); + TH1F *HBpositivedirectionDigiD3 = (TH1F *)h2CeffHBpositivedirectionDigiD3->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = variance[i][jeta][jphi]; - if (alexhe[i][jeta][jphi] > 0.) { - HEpositivedirectionD3->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirectionD3->SetBinError(i,0.01); + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBpositivedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigiD3->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "1616 kcountHEpositivedirectionD3 = " << kcountHEpositivedirectionD3 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirectionD3); - HEpositivedirectionD3->SetMarkerStyle(20); - HEpositivedirectionD3->SetMarkerSize(0.4); - HEpositivedirectionD3->GetYaxis()->SetLabelSize(0.04); - HEpositivedirectionD3->SetXTitle("HEpositivedirectionD3 \b"); - HEpositivedirectionD3->SetMarkerColor(2); - HEpositivedirectionD3->SetLineColor(0); + //cout<<"1616 kcountHBpositivedirectionDigiD3 = "<SetMarkerColor(2); + HBpositivedirectionDigiD3->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirectionD3 == 1) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 17; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 2) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 18; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 3) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 19; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 4) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 20; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 5) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 21; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 6) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 22; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 7) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 23; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 8) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 24; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 9) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 25; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 10) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 26; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 11) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 27; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 12) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 28; depth = 3 \b"); - if (kcountHEpositivedirectionD3 == 13) - HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 29; depth = 3 \b"); - HEpositivedirectionD3->Draw("Error"); - kcountHEpositivedirectionD3++; - if (kcountHEpositivedirectionD3 > 15) + if (kcountHBpositivedirectionDigiD3 == 1) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 2) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 3) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 4) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 5) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 6) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 7) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 8) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 9) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 10) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 11) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 10; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 12) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 13) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 14) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 15) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 16) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionDigiD3->Draw("Error"); + kcountHBpositivedirectionDigiD3++; + if (kcountHBpositivedirectionDigiD3 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 >= 0) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Dhist1IterationMethodDepth3HE.png"); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth3HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirectionD3) - delete h2CeffHEpositivedirectionD3; - + if (h2CeffHBpositivedirectionDigiD3) + delete h2CeffHBpositivedirectionDigiD3; //========================================================================================== 17 //====================================================================== //======================================================================1D plot: D vs phi , different eta, depth=4 - cout << " 1D plot: D vs phi , different eta, depth=4 *****" << endl; + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirectionD4 = 1; - TH1F *h2CeffHEpositivedirectionD4 = new TH1F("h2CeffHEpositivedirectionD4", "", nphi, 0., 72.); + int kcountHBpositivedirectionDigiD4 = 1; + TH1F *h2CeffHBpositivedirectionDigiD4 = new TH1F("h2CeffHBpositivedirectionDigiD4", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirectionD: - if (jeta - 41 > 0) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { // for (int i=0;iClone("twod1"); + TH1F *HBpositivedirectionDigiD4 = (TH1F *)h2CeffHBpositivedirectionDigiD4->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = variance[i][jeta][jphi]; - if (alexhe[i][jeta][jphi] > 0.) { - HEpositivedirectionD4->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirectionD4->SetBinError(i,0.01); + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBpositivedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigiD4->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "1717 kcountHEpositivedirectionD4 = " << kcountHEpositivedirectionD4 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirectionD4); - HEpositivedirectionD4->SetMarkerStyle(20); - HEpositivedirectionD4->SetMarkerSize(0.4); - HEpositivedirectionD4->GetYaxis()->SetLabelSize(0.04); - HEpositivedirectionD4->SetXTitle("HEpositivedirectionD4 \b"); - HEpositivedirectionD4->SetMarkerColor(2); - HEpositivedirectionD4->SetLineColor(0); + //cout<<"1717 kcountHBpositivedirectionDigiD4 = "<SetMarkerColor(2); + HBpositivedirectionDigiD4->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirectionD4 == 1) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 16; depth = 4 \b"); - if (kcountHEpositivedirectionD4 == 2) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 18; depth = 4 \b"); - if (kcountHEpositivedirectionD4 == 3) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 19; depth = 4 \b"); - if (kcountHEpositivedirectionD4 == 4) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 20; depth = 4 \b"); - if (kcountHEpositivedirectionD4 == 5) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 21; depth = 4 \b"); - if (kcountHEpositivedirectionD4 == 6) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 22; depth = 4 \b"); - if (kcountHEpositivedirectionD4 == 7) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 23; depth = 4 \b"); - if (kcountHEpositivedirectionD4 == 8) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 24; depth = 4 \b"); - if (kcountHEpositivedirectionD4 == 9) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 25; depth = 4 \b"); - if (kcountHEpositivedirectionD4 == 10) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 26; depth = 4 \b"); - if (kcountHEpositivedirectionD4 == 11) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 27; depth = 4 \b"); - if (kcountHEpositivedirectionD4 == 12) - HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 28; depth = 4 \b"); - HEpositivedirectionD4->Draw("Error"); - kcountHEpositivedirectionD4++; - if (kcountHEpositivedirectionD4 > 15) + if (kcountHBpositivedirectionDigiD4 == 1) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 2) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 3) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 4) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 5) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 6) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 7) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 8) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 9) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 10) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 11) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 12) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 13) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 14) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 15) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 16) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionDigiD4->Draw("Error"); + kcountHBpositivedirectionDigiD4++; + if (kcountHBpositivedirectionDigiD4 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 >= 0) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Dhist1IterationMethodDepth4HE.png"); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth4HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirectionD4) - delete h2CeffHEpositivedirectionD4; + if (h2CeffHBpositivedirectionDigiD4) + delete h2CeffHBpositivedirectionDigiD4; - //========================================================================================== 18 + //========================================================================================== 22214 //====================================================================== - //======================================================================1D plot: D vs phi , different eta, depth=5 - cout << " 1D plot: D vs phi , different eta, depth=5 *****" << endl; + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); - c3x5->Divide(3, 5); + ///////////////// + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirectionD5 = 1; - TH1F *h2CeffHEpositivedirectionD5 = new TH1F("h2CeffHEpositivedirectionD5", "", nphi, 0., 72.); + int kcountHBnegativedirectionDigiD1 = 1; + TH1F *h2CeffHBnegativedirectionDigiD1 = new TH1F("h2CeffHBnegativedirectionDigiD1", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirectionD: - if (jeta - 41 > 0) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { // for (int i=0;iClone("twod1"); + // depth=1 + for (int i = 0; i < 1; i++) { + TH1F *HBnegativedirectionDigiD1 = (TH1F *)h2CeffHBnegativedirectionDigiD1->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = variance[i][jeta][jphi]; - if (alexhe[i][jeta][jphi] > 0.) { - HEpositivedirectionD5->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirectionD5->SetBinError(i,0.01); + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBnegativedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigiD1->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "1818 kcountHEpositivedirectionD5 = " << kcountHEpositivedirectionD5 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirectionD5); - HEpositivedirectionD5->SetMarkerStyle(20); - HEpositivedirectionD5->SetMarkerSize(0.4); - HEpositivedirectionD5->GetYaxis()->SetLabelSize(0.04); - HEpositivedirectionD5->SetXTitle("HEpositivedirectionD5 \b"); - HEpositivedirectionD5->SetMarkerColor(2); - HEpositivedirectionD5->SetLineColor(0); + //cout<<"1414 kcountHBnegativedirectionDigiD1 = "<SetMarkerColor(2); + HBnegativedirectionDigiD1->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirectionD5 == 1) - HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 18; depth = 5 \b"); - if (kcountHEpositivedirectionD5 == 2) - HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 19; depth = 5 \b"); - if (kcountHEpositivedirectionD5 == 3) - HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 20; depth = 5 \b"); - if (kcountHEpositivedirectionD5 == 4) - HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 21; depth = 5 \b"); - if (kcountHEpositivedirectionD5 == 5) - HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 22; depth = 5 \b"); - if (kcountHEpositivedirectionD5 == 6) - HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 23; depth = 5 \b"); - if (kcountHEpositivedirectionD5 == 7) - HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 24; depth = 5 \b"); - if (kcountHEpositivedirectionD5 == 8) - HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 25; depth = 5 \b"); - if (kcountHEpositivedirectionD5 == 9) - HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 26; depth = 5 \b"); - if (kcountHEpositivedirectionD5 == 10) - HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 27; depth = 5 \b"); - if (kcountHEpositivedirectionD5 == 11) - HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 28; depth = 5 \b"); - HEpositivedirectionD5->Draw("Error"); - kcountHEpositivedirectionD5++; - if (kcountHEpositivedirectionD5 > 15) + if (kcountHBnegativedirectionDigiD1 == 1) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-16; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 2) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-15; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 3) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-14; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 4) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-13; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 5) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-12; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 6) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-11; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 7) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-10; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 8) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-9; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 9) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-8; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 10) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-7; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 11) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-6; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 12) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-5; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 13) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-4; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 14) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-3; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 15) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-2; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 16) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-1; depth = 1 \b"); + HBnegativedirectionDigiD1->Draw("Error"); + kcountHBnegativedirectionDigiD1++; + if (kcountHBnegativedirectionDigiD1 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 < 0) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Dhist1IterationMethodDepth5HE.png"); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirectionD5) - delete h2CeffHEpositivedirectionD5; - - //========================================================================================== 19 + if (h2CeffHBnegativedirectionDigiD1) + delete h2CeffHBnegativedirectionDigiD1; + //========================================================================================== 22215 //====================================================================== - //======================================================================1D plot: D vs phi , different eta, depth=6 - cout << " 1D plot: D vs phi , different eta, depth=6 *****" << endl; + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirectionD6 = 1; - TH1F *h2CeffHEpositivedirectionD6 = new TH1F("h2CeffHEpositivedirectionD6", "", nphi, 0., 72.); + int kcountHBnegativedirectionDigiD2 = 1; + TH1F *h2CeffHBnegativedirectionDigiD2 = new TH1F("h2CeffHBnegativedirectionDigiD2", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirectionD: - if (jeta - 41 > 0) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { // for (int i=0;iClone("twod1"); + // depth=2 + for (int i = 1; i < 2; i++) { + TH1F *HBnegativedirectionDigiD2 = (TH1F *)h2CeffHBnegativedirectionDigiD2->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = variance[i][jeta][jphi]; - if (alexhe[i][jeta][jphi] > 0.) { - HEpositivedirectionD6->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirectionD6->SetBinError(i,0.01); + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBnegativedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigiD2->SetBinError(i,0.01); } } // for jphi if (ccctest > 0.) { - cout << "1919 kcountHEpositivedirectionD6 = " << kcountHEpositivedirectionD6 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirectionD6); - HEpositivedirectionD6->SetMarkerStyle(20); - HEpositivedirectionD6->SetMarkerSize(0.4); - HEpositivedirectionD6->GetYaxis()->SetLabelSize(0.04); - HEpositivedirectionD6->SetXTitle("HEpositivedirectionD6 \b"); - HEpositivedirectionD6->SetMarkerColor(2); - HEpositivedirectionD6->SetLineColor(0); + //cout<<"1515 kcountHBnegativedirectionDigiD2 = "<SetMarkerColor(2); + HBnegativedirectionDigiD2->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirectionD6 == 1) - HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 19; depth = 6 \b"); - if (kcountHEpositivedirectionD6 == 2) - HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 20; depth = 6 \b"); - if (kcountHEpositivedirectionD6 == 3) - HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 21; depth = 6 \b"); - if (kcountHEpositivedirectionD6 == 4) - HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 22; depth = 6 \b"); - if (kcountHEpositivedirectionD6 == 5) - HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 23; depth = 6 \b"); - if (kcountHEpositivedirectionD6 == 6) - HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 24; depth = 6 \b"); - if (kcountHEpositivedirectionD6 == 7) - HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 25; depth = 6 \b"); - if (kcountHEpositivedirectionD6 == 8) - HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 26; depth = 6 \b"); - if (kcountHEpositivedirectionD6 == 9) - HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 27; depth = 6 \b"); - if (kcountHEpositivedirectionD6 == 10) - HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 28; depth = 6 \b"); - HEpositivedirectionD6->Draw("Error"); - kcountHEpositivedirectionD6++; - if (kcountHEpositivedirectionD6 > 15) + if (kcountHBnegativedirectionDigiD2 == 1) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-16; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 2) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-15; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 3) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-14; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 4) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-13; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 5) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-12; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 6) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-11; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 7) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-10; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 8) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-9; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 9) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-8; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 10) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-7; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 11) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-6; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 12) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-5; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 13) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-4; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 14) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-3; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 15) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-2; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 16) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-1; depth = 2 \b"); + HBnegativedirectionDigiD2->Draw("Error"); + kcountHBnegativedirectionDigiD2++; + if (kcountHBnegativedirectionDigiD2 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 < 0) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Dhist1IterationMethodDepth6HE.png"); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirectionD6) - delete h2CeffHEpositivedirectionD6; - - //========================================================================================== 20 + if (h2CeffHBnegativedirectionDigiD2) + delete h2CeffHBnegativedirectionDigiD2; + //========================================================================================== 22216 //====================================================================== - //======================================================================1D plot: D vs phi , different eta, depth=7 - cout << " 1D plot: D vs phi , different eta, depth=7 *****" << endl; + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); - c3x5->Divide(3, 5); + c3x5->Divide(4, 4); c3x5->cd(1); - int kcountHEpositivedirectionD7 = 1; - TH1F *h2CeffHEpositivedirectionD7 = new TH1F("h2CeffHEpositivedirectionD7", "", nphi, 0., 72.); + int kcountHBnegativedirectionDigiD3 = 1; + TH1F *h2CeffHBnegativedirectionDigiD3 = new TH1F("h2CeffHBnegativedirectionDigiD3", "", nphi, 0., 72.); for (int jeta = 0; jeta < njeta; jeta++) { - // positivedirectionD: - if (jeta - 41 > 0) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { // for (int i=0;iClone("twod1"); + // depth=3 + for (int i = 2; i < 3; i++) { + TH1F *HBnegativedirectionDigiD3 = (TH1F *)h2CeffHBnegativedirectionDigiD3->Clone("twod1"); float ccctest = 0; // to avoid empty massive elements for (int jphi = 0; jphi < nphi; jphi++) { - double ccc1 = variance[i][jeta][jphi]; - if (alexhe[i][jeta][jphi] > 0.) { - HEpositivedirectionD7->Fill(jphi, ccc1); - ccctest = 1.; //HEpositivedirectionD7->SetBinError(i,0.01); + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBnegativedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigiD3->SetBinError(i,0.01); } } // for jphi - if (ccctest != 0.) { - cout << "2020 kcountHEpositivedirectionD7 = " << kcountHEpositivedirectionD7 - << " jeta-41= " << jeta - 41 << endl; - c3x5->cd(kcountHEpositivedirectionD7); - HEpositivedirectionD7->SetMarkerStyle(20); - HEpositivedirectionD7->SetMarkerSize(0.4); - HEpositivedirectionD7->GetYaxis()->SetLabelSize(0.04); - HEpositivedirectionD7->SetXTitle("HEpositivedirectionD7 \b"); - HEpositivedirectionD7->SetMarkerColor(2); - HEpositivedirectionD7->SetLineColor(0); + if (ccctest > 0.) { + //cout<<"1616 kcountHBnegativedirectionDigiD3 = "<SetMarkerColor(2); + HBnegativedirectionDigiD3->SetLineColor(0); gPad->SetGridy(); gPad->SetGridx(); // gPad->SetLogy(); - if (kcountHEpositivedirectionD7 == 1) - HEpositivedirectionD7->SetXTitle("D for HE+ jeta = 26; depth = 7 \b"); - if (kcountHEpositivedirectionD7 == 2) - HEpositivedirectionD7->SetXTitle("D for HE+ jeta = 27; depth = 7 \b"); - if (kcountHEpositivedirectionD7 == 3) - HEpositivedirectionD7->SetXTitle("D for HE+ jeta = 28; depth = 7 \b"); - HEpositivedirectionD7->Draw("Error"); - kcountHEpositivedirectionD7++; - if (kcountHEpositivedirectionD7 > 15) + if (kcountHBnegativedirectionDigiD3 == 1) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-16; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 2) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-15; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 3) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-14; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 4) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-13; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 5) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-12; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 6) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-11; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 7) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-10; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 8) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-9; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 9) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-8; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 10) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-7; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 11) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-6; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 12) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-5; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 13) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-4; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 14) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-3; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 15) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-2; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 16) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-1; depth = 3 \b"); + HBnegativedirectionDigiD3->Draw("Error"); + kcountHBnegativedirectionDigiD3++; + if (kcountHBnegativedirectionDigiD3 > 16) break; // 4x6 = 24 } //ccctest>0 } // for i - } //if(jeta-41 > 0) + } //if(jeta-41 < 0) } //for jeta ///////////////// c3x5->Update(); - c3x5->Print("Dhist1IterationMethodDepth7HE.png"); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); c3x5->Clear(); // clean-up - if (h2CeffHEpositivedirectionD7) - delete h2CeffHEpositivedirectionD7; - - //===================================================================== - //====================================================================== - //====================================================================== - //====================================================================== - //====================================================================== - //====================================================================== - - std::cout << " We are here to print 2017 MAPs " << std::endl; + if (h2CeffHBnegativedirectionDigiD3) + delete h2CeffHBnegativedirectionDigiD3; + //========================================================================================== 22217 //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionDigiD4 = 1; + TH1F *h2CeffHBnegativedirectionDigiD4 = new TH1F("h2CeffHBnegativedirectionDigiD4", "", nphi, 0., 72.); - //====================================================================== - /// Prepare maps of good/bad channels: + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); - TH2F *Map_ALL = new TH2F("Map_All", "Map_all", 82, -41, 40, 72, 0, 71); - int nx = Map_ALL->GetXaxis()->GetNbins(); - int ny = Map_ALL->GetYaxis()->GetNbins(); - int NBad = 0; - int NWarn = 0; - int NCalib = 0; - int NPed = 0; - // int Eta[3][10000]={0}; - int Eta[4][10000] = {0}; - int Phi[4][10000] = {0}; - int Sub[4][10000] = {0}; - int Depth[4][10000] = {0}; - string Comment[4][10000] = {""}; - string Text[33] = {"", "Cm", "Am", "Wm", "Rm", "TNm", "TXm", "", "", "", "", "Cc", "Ac", "Wc", "Rc", "TNc", "TXc", - "", "", "", "", "GS", "", "", "", "", "", "", "", "", "", "Pm", "pWm"}; - int flag_W = 0; - int flag_B = 0; - int flag_P = 0; - - for (int i = 1; i <= nx; i++) { //Eta - for (int j = 1; j <= ny; j++) { // Phi - for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF - // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet - for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth - if (Map_SUB[sub][k]->GetBinContent(i, j) != 0) { - Map_SUB[sub][k]->SetBinContent(i, j, 0.5); - Map_ALL->SetBinContent(i, j, 0.5); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBnegativedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigiD4->SetBinError(i,0.01); } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHBnegativedirectionDigiD4 = "<SetMarkerColor(2); + HBnegativedirectionDigiD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionDigiD4 == 1) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-16; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 2) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-15; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 3) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-14; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 4) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-13; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 5) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-12; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 6) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-11; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 7) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-10; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 8) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-9; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 9) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-8; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 10) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-7; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 11) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-6; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 12) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-5; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 13) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-4; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 14) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-3; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 15) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-2; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 16) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-1; depth = 4 \b"); + HBnegativedirectionDigiD4->Draw("Error"); + kcountHBnegativedirectionDigiD4++; + if (kcountHBnegativedirectionDigiD4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionDigiD4) + delete h2CeffHBnegativedirectionDigiD4; + + //===================================================================== END of Digi HB for phi-symmetry + //===================================================================== END of Digi HB for phi-symmetry + //===================================================================== END of Digi HB for phi-symmetry + + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HE + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[3]; + ndepth = 7; + // const int ndepth = 7; + double adigihe[ndepth][njeta][njphi]; + double digivariancehe[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Digi HE + TH2F *amplitudechannel1HE1 = (TH2F *)hfile->Get("h_amplitudechannel1_HE1"); + TH2F *amplitudechannel0HE1 = (TH2F *)hfile->Get("h_amplitudechannel0_HE1"); + TH2F *amplitudechannelHE1 = (TH2F *)amplitudechannel1HE1->Clone("amplitudechannelHE1"); + amplitudechannelHE1->Divide(amplitudechannel1HE1, amplitudechannel0HE1, 1, 1, "B"); + TH2F *amplitudechannel1HE2 = (TH2F *)hfile->Get("h_amplitudechannel1_HE2"); + TH2F *amplitudechannel0HE2 = (TH2F *)hfile->Get("h_amplitudechannel0_HE2"); + TH2F *amplitudechannelHE2 = (TH2F *)amplitudechannel1HE2->Clone("amplitudechannelHE2"); + amplitudechannelHE2->Divide(amplitudechannel1HE2, amplitudechannel0HE2, 1, 1, "B"); + TH2F *amplitudechannel1HE3 = (TH2F *)hfile->Get("h_amplitudechannel1_HE3"); + TH2F *amplitudechannel0HE3 = (TH2F *)hfile->Get("h_amplitudechannel0_HE3"); + TH2F *amplitudechannelHE3 = (TH2F *)amplitudechannel1HE3->Clone("amplitudechannelHE3"); + amplitudechannelHE3->Divide(amplitudechannel1HE3, amplitudechannel0HE3, 1, 1, "B"); + TH2F *amplitudechannel1HE4 = (TH2F *)hfile->Get("h_amplitudechannel1_HE4"); + TH2F *amplitudechannel0HE4 = (TH2F *)hfile->Get("h_amplitudechannel0_HE4"); + TH2F *amplitudechannelHE4 = (TH2F *)amplitudechannel1HE4->Clone("amplitudechannelHE4"); + amplitudechannelHE4->Divide(amplitudechannel1HE4, amplitudechannel0HE4, 1, 1, "B"); + TH2F *amplitudechannel1HE5 = (TH2F *)hfile->Get("h_amplitudechannel1_HE5"); + TH2F *amplitudechannel0HE5 = (TH2F *)hfile->Get("h_amplitudechannel0_HE5"); + TH2F *amplitudechannelHE5 = (TH2F *)amplitudechannel1HE5->Clone("amplitudechannelHE5"); + amplitudechannelHE5->Divide(amplitudechannel1HE5, amplitudechannel0HE5, 1, 1, "B"); + TH2F *amplitudechannel1HE6 = (TH2F *)hfile->Get("h_amplitudechannel1_HE6"); + TH2F *amplitudechannel0HE6 = (TH2F *)hfile->Get("h_amplitudechannel0_HE6"); + TH2F *amplitudechannelHE6 = (TH2F *)amplitudechannel1HE6->Clone("amplitudechannelHE6"); + amplitudechannelHE6->Divide(amplitudechannel1HE6, amplitudechannel0HE6, 1, 1, "B"); + TH2F *amplitudechannel1HE7 = (TH2F *)hfile->Get("h_amplitudechannel1_HE7"); + TH2F *amplitudechannel0HE7 = (TH2F *)hfile->Get("h_amplitudechannel0_HE7"); + TH2F *amplitudechannelHE7 = (TH2F *)amplitudechannel1HE7->Clone("amplitudechannelHE7"); + amplitudechannelHE7->Divide(amplitudechannel1HE7, amplitudechannel0HE7, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + //====================================================================== PHI normalization & put R into massive adigihe + //preparation for PHI normalization: + double sumdigiHE0 = 0; + int nsumdigiHE0 = 0; + double sumdigiHE1 = 0; + int nsumdigiHE1 = 0; + double sumdigiHE2 = 0; + int nsumdigiHE2 = 0; + double sumdigiHE3 = 0; + int nsumdigiHE3 = 0; + double sumdigiHE4 = 0; + int nsumdigiHE4 = 0; + double sumdigiHE5 = 0; + int nsumdigiHE5 = 0; + double sumdigiHE6 = 0; + int nsumdigiHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + adigihe[0][jeta][jphi] = amplitudechannelHE1->GetBinContent(jeta + 1, jphi + 1); + adigihe[1][jeta][jphi] = amplitudechannelHE2->GetBinContent(jeta + 1, jphi + 1); + adigihe[2][jeta][jphi] = amplitudechannelHE3->GetBinContent(jeta + 1, jphi + 1); + adigihe[3][jeta][jphi] = amplitudechannelHE4->GetBinContent(jeta + 1, jphi + 1); + adigihe[4][jeta][jphi] = amplitudechannelHE5->GetBinContent(jeta + 1, jphi + 1); + adigihe[5][jeta][jphi] = amplitudechannelHE6->GetBinContent(jeta + 1, jphi + 1); + adigihe[6][jeta][jphi] = amplitudechannelHE7->GetBinContent(jeta + 1, jphi + 1); + if (adigihe[0][jeta][jphi] > 0.) { + sumdigiHE0 += adigihe[0][jeta][jphi]; + ++nsumdigiHE0; + } + if (adigihe[1][jeta][jphi] > 0.) { + sumdigiHE1 += adigihe[1][jeta][jphi]; + ++nsumdigiHE1; + } + if (adigihe[2][jeta][jphi] > 0.) { + sumdigiHE2 += adigihe[2][jeta][jphi]; + ++nsumdigiHE2; + } + if (adigihe[3][jeta][jphi] > 0.) { + sumdigiHE3 += adigihe[3][jeta][jphi]; + ++nsumdigiHE3; + } + if (adigihe[4][jeta][jphi] > 0.) { + sumdigiHE4 += adigihe[4][jeta][jphi]; + ++nsumdigiHE4; + } + if (adigihe[5][jeta][jphi] > 0.) { + sumdigiHE5 += adigihe[5][jeta][jphi]; + ++nsumdigiHE5; + } + if (adigihe[6][jeta][jphi] > 0.) { + sumdigiHE6 += adigihe[6][jeta][jphi]; + ++nsumdigiHE6; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (adigihe[0][jeta][jphi] > 0.) + adigihe[0][jeta][jphi] /= (sumdigiHE0 / nsumdigiHE0); + if (adigihe[1][jeta][jphi] > 0.) + adigihe[1][jeta][jphi] /= (sumdigiHE1 / nsumdigiHE1); + if (adigihe[2][jeta][jphi] > 0.) + adigihe[2][jeta][jphi] /= (sumdigiHE2 / nsumdigiHE2); + if (adigihe[3][jeta][jphi] > 0.) + adigihe[3][jeta][jphi] /= (sumdigiHE3 / nsumdigiHE3); + if (adigihe[4][jeta][jphi] > 0.) + adigihe[4][jeta][jphi] /= (sumdigiHE4 / nsumdigiHE4); + if (adigihe[5][jeta][jphi] > 0.) + adigihe[5][jeta][jphi] /= (sumdigiHE5 / nsumdigiHE5); + if (adigihe[6][jeta][jphi] > 0.) + adigihe[6][jeta][jphi] /= (sumdigiHE6 / nsumdigiHE6); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthes + //====================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: R, averaged over depthes *****" <Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *GefzRdigiHE42D = new TH2F("GefzRdigiHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHE42D0 = new TH2F("GefzRdigiHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHE42DF = (TH2F *)GefzRdigiHE42D0->Clone("GefzRdigiHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRdigiHE42D->Fill(kkk, jphi, ccc1); + GefzRdigiHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + GefzRdigiHE42DF->Divide(GefzRdigiHE42D, GefzRdigiHE42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRdigiHE42DF->SetMarkerStyle(20); + GefzRdigiHE42DF->SetMarkerSize(0.4); + GefzRdigiHE42DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHE42DF->SetXTitle("_depth #eta \b"); + GefzRdigiHE42DF->SetYTitle(" #phi \b"); + GefzRdigiHE42DF->SetZTitle("_depth \b"); + GefzRdigiHE42DF->SetMarkerColor(2); + GefzRdigiHE42DF->SetLineColor( + 0); // GefzRdigiHE42DF->SetMaximum(1.000); // GefzRdigiHE42DF->SetMinimum(1.0); + GefzRdigiHE42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("RdigiGeneralD2PhiSymmetryHE.png"); + c1x0->Clear(); + // clean-up + if (GefzRdigiHE42D) + delete GefzRdigiHE42D; + if (GefzRdigiHE42D0) + delete GefzRdigiHE42D0; + if (GefzRdigiHE42DF) + delete GefzRdigiHE42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRdigiHE41D = new TH1F("GefzRdigiHE41D", "", nphi, 0., 72.); + TH1F *GefzRdigiHE41D0 = new TH1F("GefzRdigiHE41D0", "", nphi, 0., 72.); + TH1F *GefzRdigiHE41DF = (TH1F *)GefzRdigiHE41D0->Clone("GefzRdigiHE41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRdigiHE41D->Fill(jphi, ccc1); + GefzRdigiHE41D0->Fill(jphi, 1.); } } } } + GefzRdigiHE41DF->Divide(GefzRdigiHE41D, GefzRdigiHE41D0, 1, 1, "B"); // R averaged over depthes & eta + GefzRdigiHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRdigiHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRdigiHE41DF->SetMarkerStyle(20); + GefzRdigiHE41DF->SetMarkerSize(1.4); + GefzRdigiHE41DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHE41DF->SetXTitle("#phi \b"); + GefzRdigiHE41DF->SetYTitle(" \b"); + GefzRdigiHE41DF->SetZTitle("_PHI - AllDepthes \b"); + GefzRdigiHE41DF->SetMarkerColor(4); + GefzRdigiHE41DF->SetLineColor( + 4); // GefzRdigiHE41DF->SetMinimum(0.8); // GefzRdigiHE41DF->SetMaximum(1.000); + GefzRdigiHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RdigiGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (GefzRdigiHE41D) + delete GefzRdigiHE41D; + if (GefzRdigiHE41D0) + delete GefzRdigiHE41D0; + if (GefzRdigiHE41DF) + delete GefzRdigiHE41DF; - for (int i = 1; i <= nx; i++) { //Eta - for (int j = 1; j <= ny; j++) { // Phi - for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO - // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet - for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth - flag_W = 0; - flag_B = 0; - flag_P = 0; - for (int test = 1; test <= 6; test++) { //Test: 1-Wm, 2-Rm, etc - //Bad - if (Map_Ampl[test][sub][k]->GetBinContent(i, j) > - 0.1) { //Rate 0.1 for displaying on whole detector map and subdetector map - Map_ALL->SetBinContent(i, j, 1.); - Map_SUB[sub][k]->SetBinContent(i, j, 1.); - if (flag_B == 0) { - NBad += 1; - Eta[2][NBad] = i - 41; - Phi[2][NBad] = j - 1; - Sub[2][NBad] = sub; - Depth[2][NBad] = k; - Comment[2][NBad] = Text[test]; - } else - Comment[2][NBad] += ", " + Text[test]; - flag_B = 1; - // cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j) != 0.)&&(Map_Ampl[test][sub][k]->GetBinContent(i,j) < 0.001) ) { - if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.) Map_SUB[sub][k]->SetBinContent(i,j,0.75); - if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); - if (flag_W == 0) { - NWarn +=1; - Eta[1][NWarn]=i-41; - Phi[1][NWarn]=j-1; - Sub[1][NWarn]=sub; - Depth[1][NWarn]=k; - Comment[1][NWarn]=Text[test]; - } - else Comment[1][NWarn]+=", "+Text[test]; - flag_W = 1; -// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi1 = 1; + TH1F *h2CeffHEpositivedirectionDigi1 = new TH1F("h2CeffHEpositivedirectionDigi1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEpositivedirectionDigi1 = "<SetMarkerColor(2); + HEpositivedirectionDigi1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi1 == 1) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 2) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 3) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 4) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 5) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 6) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 7) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 8) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 9) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 10) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 11) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 12) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionDigi1->Draw("Error"); + kcountHEpositivedirectionDigi1++; + if (kcountHEpositivedirectionDigi1 > 12) + break; // 4x6 = 24 + } //ccctest>0 - } //end test + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi1) + delete h2CeffHEpositivedirectionDigi1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi2 = 1; + TH1F *h2CeffHEpositivedirectionDigi2 = new TH1F("h2CeffHEpositivedirectionDigi2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEpositivedirectionDigi2 = "<SetMarkerColor(2); + HEpositivedirectionDigi2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi2 == 1) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 2) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 3) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 4) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 5) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 6) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 7) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 8) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 9) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 10) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 11) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 12) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 13) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionDigi2->Draw("Error"); + kcountHEpositivedirectionDigi2++; + if (kcountHEpositivedirectionDigi2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi2) + delete h2CeffHEpositivedirectionDigi2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi3 = 1; + TH1F *h2CeffHEpositivedirectionDigi3 = new TH1F("h2CeffHEpositivedirectionDigi3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEpositivedirectionDigi3 = "<SetMarkerColor(2); + HEpositivedirectionDigi3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi3 == 1) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 2) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 3) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 4) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 5) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 6) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 7) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 8) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 9) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 10) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 11) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 12) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 13) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionDigi3->Draw("Error"); + kcountHEpositivedirectionDigi3++; + if (kcountHEpositivedirectionDigi3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi3) + delete h2CeffHEpositivedirectionDigi3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi4 = 1; + TH1F *h2CeffHEpositivedirectionDigi4 = new TH1F("h2CeffHEpositivedirectionDigi4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEpositivedirectionDigi4 = "<SetMarkerColor(2); + HEpositivedirectionDigi4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi4 == 1) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 2) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 3) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 4) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 5) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 6) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 7) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 8) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 9) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 10) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 11) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 12) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionDigi4->Draw("Error"); + kcountHEpositivedirectionDigi4++; + if (kcountHEpositivedirectionDigi4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi4) + delete h2CeffHEpositivedirectionDigi4; + //========================================================================================== 8 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi5 = 1; + TH1F *h2CeffHEpositivedirectionDigi5 = new TH1F("h2CeffHEpositivedirectionDigi5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEpositivedirectionDigi5 = "<SetMarkerColor(2); + HEpositivedirectionDigi5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi5 == 1) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 2) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 3) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 4) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 5) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 6) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 7) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 8) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 9) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 10) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 11) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionDigi5->Draw("Error"); + kcountHEpositivedirectionDigi5++; + if (kcountHEpositivedirectionDigi5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi5) + delete h2CeffHEpositivedirectionDigi5; + //========================================================================================== 9 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi6 = 1; + TH1F *h2CeffHEpositivedirectionDigi6 = new TH1F("h2CeffHEpositivedirectionDigi6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEpositivedirectionDigi6 = "<SetMarkerColor(2); + HEpositivedirectionDigi6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi6 == 1) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 2) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 3) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 4) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 5) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 6) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 7) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 8) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 9) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 10) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionDigi6->Draw("Error"); + kcountHEpositivedirectionDigi6++; + if (kcountHEpositivedirectionDigi6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi6) + delete h2CeffHEpositivedirectionDigi6; + //========================================================================================== 10 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi7 = 1; + TH1F *h2CeffHEpositivedirectionDigi7 = new TH1F("h2CeffHEpositivedirectionDigi7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEpositivedirectionDigi7 = "<SetMarkerColor(2); + HEpositivedirectionDigi7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi7 == 1) + HEpositivedirectionDigi7->SetXTitle("R for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionDigi7 == 2) + HEpositivedirectionDigi7->SetXTitle("R for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionDigi7 == 3) + HEpositivedirectionDigi7->SetXTitle("R for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionDigi7->Draw("Error"); + kcountHEpositivedirectionDigi7++; + if (kcountHEpositivedirectionDigi7 > 3) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi7) + delete h2CeffHEpositivedirectionDigi7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi1 = 1; + TH1F *h2CeffHEnegativedirectionDigi1 = new TH1F("h2CeffHEnegativedirectionDigi1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEnegativedirectionDigi1 = "<SetMarkerColor(2); + HEnegativedirectionDigi1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi1 == 1) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 2) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 3) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 4) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 5) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 6) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 7) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 8) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 9) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 10) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 11) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 12) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionDigi1->Draw("Error"); + kcountHEnegativedirectionDigi1++; + if (kcountHEnegativedirectionDigi1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi1) + delete h2CeffHEnegativedirectionDigi1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi2 = 1; + TH1F *h2CeffHEnegativedirectionDigi2 = new TH1F("h2CeffHEnegativedirectionDigi2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEnegativedirectionDigi2 = "<SetMarkerColor(2); + HEnegativedirectionDigi2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi2 == 1) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 2) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 3) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 4) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 5) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 6) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 7) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 8) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 9) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 10) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 11) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 12) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 13) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionDigi2->Draw("Error"); + kcountHEnegativedirectionDigi2++; + if (kcountHEnegativedirectionDigi2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi2) + delete h2CeffHEnegativedirectionDigi2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi3 = 1; + TH1F *h2CeffHEnegativedirectionDigi3 = new TH1F("h2CeffHEnegativedirectionDigi3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEnegativedirectionDigi3 = "<SetMarkerColor(2); + HEnegativedirectionDigi3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi3 == 1) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 2) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 3) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 4) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 5) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 6) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 7) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 8) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 9) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 10) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 11) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 12) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 13) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionDigi3->Draw("Error"); + kcountHEnegativedirectionDigi3++; + if (kcountHEnegativedirectionDigi3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi3) + delete h2CeffHEnegativedirectionDigi3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi4 = 1; + TH1F *h2CeffHEnegativedirectionDigi4 = new TH1F("h2CeffHEnegativedirectionDigi4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEnegativedirectionDigi4 = "<SetMarkerColor(2); + HEnegativedirectionDigi4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi4 == 1) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 2) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 3) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 4) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 5) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 6) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 7) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 8) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 9) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 10) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 11) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 12) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionDigi4->Draw("Error"); + kcountHEnegativedirectionDigi4++; + if (kcountHEnegativedirectionDigi4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi4) + delete h2CeffHEnegativedirectionDigi4; + //========================================================================================== 1118 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi5 = 1; + TH1F *h2CeffHEnegativedirectionDigi5 = new TH1F("h2CeffHEnegativedirectionDigi5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEnegativedirectionDigi5 = "<SetMarkerColor(2); + HEnegativedirectionDigi5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi5 == 1) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 2) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 3) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 4) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 5) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 6) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 7) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 8) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 9) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 10) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 11) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionDigi5->Draw("Error"); + kcountHEnegativedirectionDigi5++; + if (kcountHEnegativedirectionDigi5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi5) + delete h2CeffHEnegativedirectionDigi5; + //========================================================================================== 1119 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi6 = 1; + TH1F *h2CeffHEnegativedirectionDigi6 = new TH1F("h2CeffHEnegativedirectionDigi6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEnegativedirectionDigi6 = "<SetMarkerColor(2); + HEnegativedirectionDigi6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi6 == 1) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 2) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 3) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 4) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 5) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 6) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 7) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 8) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 9) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 10) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionDigi6->Draw("Error"); + kcountHEnegativedirectionDigi6++; + if (kcountHEnegativedirectionDigi6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi6) + delete h2CeffHEnegativedirectionDigi6; + //========================================================================================== 11110 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi7 = 1; + TH1F *h2CeffHEnegativedirectionDigi7 = new TH1F("h2CeffHEnegativedirectionDigi7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEnegativedirectionDigi7 = "<SetMarkerColor(2); + HEnegativedirectionDigi7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi7 == 1) + HEnegativedirectionDigi7->SetXTitle("R for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionDigi7 == 2) + HEnegativedirectionDigi7->SetXTitle("R for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionDigi7 == 3) + HEnegativedirectionDigi7->SetXTitle("R for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionDigi7->Draw("Error"); + kcountHEnegativedirectionDigi7++; + if (kcountHEnegativedirectionDigi7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi7) + delete h2CeffHEnegativedirectionDigi7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_amplitudechannel2_HE1"); + TH2F *digiVariance0HE1 = (TH2F *)hfile->Get("h_amplitudechannel0_HE1"); + TH2F *digiVarianceHE1 = (TH2F *)digiVariance1HE1->Clone("digiVarianceHE1"); + digiVarianceHE1->Divide(digiVariance1HE1, digiVariance0HE1, 1, 1, "B"); + TH2F *digiVariance1HE2 = (TH2F *)hfile->Get("h_amplitudechannel2_HE2"); + TH2F *digiVariance0HE2 = (TH2F *)hfile->Get("h_amplitudechannel0_HE2"); + TH2F *digiVarianceHE2 = (TH2F *)digiVariance1HE2->Clone("digiVarianceHE2"); + digiVarianceHE2->Divide(digiVariance1HE2, digiVariance0HE2, 1, 1, "B"); + TH2F *digiVariance1HE3 = (TH2F *)hfile->Get("h_amplitudechannel2_HE3"); + TH2F *digiVariance0HE3 = (TH2F *)hfile->Get("h_amplitudechannel0_HE3"); + TH2F *digiVarianceHE3 = (TH2F *)digiVariance1HE3->Clone("digiVarianceHE3"); + digiVarianceHE3->Divide(digiVariance1HE3, digiVariance0HE3, 1, 1, "B"); + TH2F *digiVariance1HE4 = (TH2F *)hfile->Get("h_amplitudechannel2_HE4"); + TH2F *digiVariance0HE4 = (TH2F *)hfile->Get("h_amplitudechannel0_HE4"); + TH2F *digiVarianceHE4 = (TH2F *)digiVariance1HE4->Clone("digiVarianceHE4"); + digiVarianceHE4->Divide(digiVariance1HE4, digiVariance0HE4, 1, 1, "B"); + TH2F *digiVariance1HE5 = (TH2F *)hfile->Get("h_amplitudechannel2_HE5"); + TH2F *digiVariance0HE5 = (TH2F *)hfile->Get("h_amplitudechannel0_HE5"); + TH2F *digiVarianceHE5 = (TH2F *)digiVariance1HE5->Clone("digiVarianceHE5"); + digiVarianceHE5->Divide(digiVariance1HE5, digiVariance0HE5, 1, 1, "B"); + TH2F *digiVariance1HE6 = (TH2F *)hfile->Get("h_amplitudechannel2_HE6"); + TH2F *digiVariance0HE6 = (TH2F *)hfile->Get("h_amplitudechannel0_HE6"); + TH2F *digiVarianceHE6 = (TH2F *)digiVariance1HE6->Clone("digiVarianceHE6"); + digiVarianceHE6->Divide(digiVariance1HE6, digiVariance0HE6, 1, 1, "B"); + TH2F *digiVariance1HE7 = (TH2F *)hfile->Get("h_amplitudechannel2_HE7"); + TH2F *digiVariance0HE7 = (TH2F *)hfile->Get("h_amplitudechannel0_HE7"); + TH2F *digiVarianceHE7 = (TH2F *)digiVariance1HE7->Clone("digiVarianceHE7"); + digiVarianceHE7->Divide(digiVariance1HE7, digiVariance0HE7, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive digivariancehe + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumdigiHE0 = 0; + int nsumdigiHE0 = 0; + double sumdigiHE1 = 0; + int nsumdigiHE1 = 0; + double sumdigiHE2 = 0; + int nsumdigiHE2 = 0; + double sumdigiHE3 = 0; + int nsumdigiHE3 = 0; + double sumdigiHE4 = 0; + int nsumdigiHE4 = 0; + double sumdigiHE5 = 0; + int nsumdigiHE5 = 0; + double sumdigiHE6 = 0; + int nsumdigiHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + digivariancehe[0][jeta][jphi] = digiVarianceHE1->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[1][jeta][jphi] = digiVarianceHE2->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[2][jeta][jphi] = digiVarianceHE3->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[3][jeta][jphi] = digiVarianceHE4->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[4][jeta][jphi] = digiVarianceHE5->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[5][jeta][jphi] = digiVarianceHE6->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[6][jeta][jphi] = digiVarianceHE7->GetBinContent(jeta + 1, jphi + 1); + if (digivariancehe[0][jeta][jphi] > 0.) { + sumdigiHE0 += digivariancehe[0][jeta][jphi]; + ++nsumdigiHE0; + } + if (digivariancehe[1][jeta][jphi] > 0.) { + sumdigiHE1 += digivariancehe[1][jeta][jphi]; + ++nsumdigiHE1; + } + if (digivariancehe[2][jeta][jphi] > 0.) { + sumdigiHE2 += digivariancehe[2][jeta][jphi]; + ++nsumdigiHE2; + } + if (digivariancehe[3][jeta][jphi] > 0.) { + sumdigiHE3 += digivariancehe[3][jeta][jphi]; + ++nsumdigiHE3; + } + if (digivariancehe[4][jeta][jphi] > 0.) { + sumdigiHE4 += digivariancehe[4][jeta][jphi]; + ++nsumdigiHE4; + } + if (digivariancehe[5][jeta][jphi] > 0.) { + sumdigiHE5 += digivariancehe[5][jeta][jphi]; + ++nsumdigiHE5; + } + if (digivariancehe[6][jeta][jphi] > 0.) { + sumdigiHE6 += digivariancehe[6][jeta][jphi]; + ++nsumdigiHE6; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (digivariancehe[0][jeta][jphi] > 0.) + digivariancehe[0][jeta][jphi] /= (sumdigiHE0 / nsumdigiHE0); + if (digivariancehe[1][jeta][jphi] > 0.) + digivariancehe[1][jeta][jphi] /= (sumdigiHE1 / nsumdigiHE1); + if (digivariancehe[2][jeta][jphi] > 0.) + digivariancehe[2][jeta][jphi] /= (sumdigiHE2 / nsumdigiHE2); + if (digivariancehe[3][jeta][jphi] > 0.) + digivariancehe[3][jeta][jphi] /= (sumdigiHE3 / nsumdigiHE3); + if (digivariancehe[4][jeta][jphi] > 0.) + digivariancehe[4][jeta][jphi] /= (sumdigiHE4 / nsumdigiHE4); + if (digivariancehe[5][jeta][jphi] > 0.) + digivariancehe[5][jeta][jphi] /= (sumdigiHE5 / nsumdigiHE5); + if (digivariancehe[6][jeta][jphi] > 0.) + digivariancehe[6][jeta][jphi] /= (sumdigiHE6 / nsumdigiHE6); + } // phi + // digivariancehe (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDdigiHE42D = new TH2F("DefzDdigiHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHE42D0 = new TH2F("DefzDdigiHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHE42DF = (TH2F *)DefzDdigiHE42D0->Clone("DefzDdigiHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (adigihe[i][jeta][jphi] > 0.) { + DefzDdigiHE42D->Fill(kkk, jphi, ccc1); + DefzDdigiHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + DefzDdigiHE42DF->Divide(DefzDdigiHE42D, DefzDdigiHE42D0, 1, 1, "B"); // average A + // DefzDdigiHE1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDdigiHE42DF->SetMarkerStyle(20); + DefzDdigiHE42DF->SetMarkerSize(0.4); + DefzDdigiHE42DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHE42DF->SetXTitle("_depth #eta \b"); + DefzDdigiHE42DF->SetYTitle(" #phi \b"); + DefzDdigiHE42DF->SetZTitle("_depth \b"); + DefzDdigiHE42DF->SetMarkerColor(2); + DefzDdigiHE42DF->SetLineColor( + 0); // DefzDdigiHE42DF->SetMaximum(1.000); // DefzDdigiHE42DF->SetMinimum(1.0); + DefzDdigiHE42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DdigiGeneralD2PhiSymmetryHE.png"); + c1x0->Clear(); + // clean-up + if (DefzDdigiHE42D) + delete DefzDdigiHE42D; + if (DefzDdigiHE42D0) + delete DefzDdigiHE42D0; + if (DefzDdigiHE42DF) + delete DefzDdigiHE42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDdigiHE41D = new TH1F("DefzDdigiHE41D", "", nphi, 0., 72.); + TH1F *DefzDdigiHE41D0 = new TH1F("DefzDdigiHE41D0", "", nphi, 0., 72.); + TH1F *DefzDdigiHE41DF = (TH1F *)DefzDdigiHE41D0->Clone("DefzDdigiHE41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + DefzDdigiHE41D->Fill(jphi, ccc1); + DefzDdigiHE41D0->Fill(jphi, 1.); + } + } + } + } + // DefzDdigiHE41D->Sumw2();DefzDdigiHE41D0->Sumw2(); + + DefzDdigiHE41DF->Divide(DefzDdigiHE41D, DefzDdigiHE41D0, 1, 1, "B"); // R averaged over depthes & eta + DefzDdigiHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDdigiHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDdigiHE41DF->SetMarkerStyle(20); + DefzDdigiHE41DF->SetMarkerSize(1.4); + DefzDdigiHE41DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHE41DF->SetXTitle("#phi \b"); + DefzDdigiHE41DF->SetYTitle(" \b"); + DefzDdigiHE41DF->SetZTitle("_PHI - AllDepthes \b"); + DefzDdigiHE41DF->SetMarkerColor(4); + DefzDdigiHE41DF->SetLineColor(4); // DefzDdigiHE41DF->SetMinimum(0.8); DefzDdigiHE41DF->SetMinimum(-0.015); + DefzDdigiHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DdigiGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (DefzDdigiHE41D) + delete DefzDdigiHE41D; + if (DefzDdigiHE41D0) + delete DefzDdigiHE41D0; + if (DefzDdigiHE41DF) + delete DefzDdigiHE41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD1 = 1; + TH1F *h2CeffHEpositivedirectionDigiD1 = new TH1F("h2CeffHEpositivedirectionDigiD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEpositivedirectionDigiD1 = "<SetMarkerColor(2); + HEpositivedirectionDigiD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD1 == 1) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 2) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 3) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 4) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 5) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 6) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 7) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 8) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 9) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 10) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 11) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 12) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionDigiD1->Draw("Error"); + kcountHEpositivedirectionDigiD1++; + if (kcountHEpositivedirectionDigiD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD1) + delete h2CeffHEpositivedirectionDigiD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD2 = 1; + TH1F *h2CeffHEpositivedirectionDigiD2 = new TH1F("h2CeffHEpositivedirectionDigiD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEpositivedirectionDigiD2 = "<SetMarkerColor(2); + HEpositivedirectionDigiD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD2 == 1) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 2) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 3) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 4) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 5) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 6) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 7) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 8) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 9) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 10) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 11) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 12) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 13) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionDigiD2->Draw("Error"); + kcountHEpositivedirectionDigiD2++; + if (kcountHEpositivedirectionDigiD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD2) + delete h2CeffHEpositivedirectionDigiD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD3 = 1; + TH1F *h2CeffHEpositivedirectionDigiD3 = new TH1F("h2CeffHEpositivedirectionDigiD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEpositivedirectionDigiD3 = "<SetMarkerColor(2); + HEpositivedirectionDigiD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD3 == 1) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 2) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 3) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 4) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 5) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 6) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 7) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 8) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 9) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 10) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 11) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 12) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 13) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionDigiD3->Draw("Error"); + kcountHEpositivedirectionDigiD3++; + if (kcountHEpositivedirectionDigiD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD3) + delete h2CeffHEpositivedirectionDigiD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD4 = 1; + TH1F *h2CeffHEpositivedirectionDigiD4 = new TH1F("h2CeffHEpositivedirectionDigiD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEpositivedirectionDigiD4 = "<SetMarkerColor(2); + HEpositivedirectionDigiD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD4 == 1) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 2) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 3) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 4) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 5) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 6) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 7) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 8) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 9) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 10) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 11) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 12) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionDigiD4->Draw("Error"); + kcountHEpositivedirectionDigiD4++; + if (kcountHEpositivedirectionDigiD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD4) + delete h2CeffHEpositivedirectionDigiD4; + //========================================================================================== 18 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD5 = 1; + TH1F *h2CeffHEpositivedirectionDigiD5 = new TH1F("h2CeffHEpositivedirectionDigiD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD5->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEpositivedirectionDigiD5 = "<SetMarkerColor(2); + HEpositivedirectionDigiD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD5 == 1) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 2) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 3) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 4) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 5) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 6) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 7) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 8) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 9) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 10) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 11) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionDigiD5->Draw("Error"); + kcountHEpositivedirectionDigiD5++; + if (kcountHEpositivedirectionDigiD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD5) + delete h2CeffHEpositivedirectionDigiD5; + //========================================================================================== 19 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD6 = 1; + TH1F *h2CeffHEpositivedirectionDigiD6 = new TH1F("h2CeffHEpositivedirectionDigiD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEpositivedirectionDigiD6 = "<SetMarkerColor(2); + HEpositivedirectionDigiD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD6 == 1) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 2) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 3) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 4) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 5) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 6) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 7) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 8) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 9) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 10) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionDigiD6->Draw("Error"); + kcountHEpositivedirectionDigiD6++; + if (kcountHEpositivedirectionDigiD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD6) + delete h2CeffHEpositivedirectionDigiD6; + //========================================================================================== 20 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD7 = 1; + TH1F *h2CeffHEpositivedirectionDigiD7 = new TH1F("h2CeffHEpositivedirectionDigiD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEpositivedirectionDigiD7 = "<SetMarkerColor(2); + HEpositivedirectionDigiD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD7 == 1) + HEpositivedirectionDigiD7->SetXTitle("D for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionDigiD7 == 2) + HEpositivedirectionDigiD7->SetXTitle("D for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionDigiD7 == 3) + HEpositivedirectionDigiD7->SetXTitle("D for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionDigiD7->Draw("Error"); + kcountHEpositivedirectionDigiD7++; + if (kcountHEpositivedirectionDigiD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD7) + delete h2CeffHEpositivedirectionDigiD7; + + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD1 = 1; + TH1F *h2CeffHEnegativedirectionDigiD1 = new TH1F("h2CeffHEnegativedirectionDigiD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEnegativedirectionDigiD1 = "<SetMarkerColor(2); + HEnegativedirectionDigiD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD1 == 1) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 2) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 3) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 4) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 5) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 6) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 7) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 8) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 9) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 10) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 11) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 12) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionDigiD1->Draw("Error"); + kcountHEnegativedirectionDigiD1++; + if (kcountHEnegativedirectionDigiD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD1) + delete h2CeffHEnegativedirectionDigiD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD2 = 1; + TH1F *h2CeffHEnegativedirectionDigiD2 = new TH1F("h2CeffHEnegativedirectionDigiD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEnegativedirectionDigiD2 = "<SetMarkerColor(2); + HEnegativedirectionDigiD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD2 == 1) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 2) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 3) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 4) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 5) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 6) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 7) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 8) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 9) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 10) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 11) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 12) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 13) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionDigiD2->Draw("Error"); + kcountHEnegativedirectionDigiD2++; + if (kcountHEnegativedirectionDigiD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD2) + delete h2CeffHEnegativedirectionDigiD2; + //========================================================================================== 22222216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD3 = 1; + TH1F *h2CeffHEnegativedirectionDigiD3 = new TH1F("h2CeffHEnegativedirectionDigiD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEnegativedirectionDigiD3 = "<SetMarkerColor(2); + HEnegativedirectionDigiD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD3 == 1) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 2) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 3) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 4) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 5) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 6) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 7) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 8) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 9) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 10) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 11) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 12) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 13) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionDigiD3->Draw("Error"); + kcountHEnegativedirectionDigiD3++; + if (kcountHEnegativedirectionDigiD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD3) + delete h2CeffHEnegativedirectionDigiD3; + //========================================================================================== 22222217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD4 = 1; + TH1F *h2CeffHEnegativedirectionDigiD4 = new TH1F("h2CeffHEnegativedirectionDigiD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEnegativedirectionDigiD4 = "<SetMarkerColor(2); + HEnegativedirectionDigiD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD4 == 1) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 2) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 3) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 4) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 5) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 6) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 7) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 8) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 9) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 10) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 11) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 12) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionDigiD4->Draw("Error"); + kcountHEnegativedirectionDigiD4++; + if (kcountHEnegativedirectionDigiD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD4) + delete h2CeffHEnegativedirectionDigiD4; + //========================================================================================== 22222218 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD5 = 1; + TH1F *h2CeffHEnegativedirectionDigiD5 = new TH1F("h2CeffHEnegativedirectionDigiD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD5->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEnegativedirectionDigiD5 = "<SetMarkerColor(2); + HEnegativedirectionDigiD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD5 == 1) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 2) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 3) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 4) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 5) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 6) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 7) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 8) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 9) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 10) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 11) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionDigiD5->Draw("Error"); + kcountHEnegativedirectionDigiD5++; + if (kcountHEnegativedirectionDigiD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD5) + delete h2CeffHEnegativedirectionDigiD5; + //========================================================================================== 22222219 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD6 = 1; + TH1F *h2CeffHEnegativedirectionDigiD6 = new TH1F("h2CeffHEnegativedirectionDigiD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEnegativedirectionDigiD6 = "<SetMarkerColor(2); + HEnegativedirectionDigiD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD6 == 1) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 2) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 3) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 4) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 5) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 6) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 7) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 8) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 9) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 10) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionDigiD6->Draw("Error"); + kcountHEnegativedirectionDigiD6++; + if (kcountHEnegativedirectionDigiD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD6) + delete h2CeffHEnegativedirectionDigiD6; + //========================================================================================== 22222220 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD7 = 1; + TH1F *h2CeffHEnegativedirectionDigiD7 = new TH1F("h2CeffHEnegativedirectionDigiD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEnegativedirectionDigiD7 = "<SetMarkerColor(2); + HEnegativedirectionDigiD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD7 == 1) + HEnegativedirectionDigiD7->SetXTitle("D for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionDigiD7 == 2) + HEnegativedirectionDigiD7->SetXTitle("D for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionDigiD7 == 3) + HEnegativedirectionDigiD7->SetXTitle("D for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionDigiD7->Draw("Error"); + kcountHEnegativedirectionDigiD7++; + if (kcountHEnegativedirectionDigiD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD7) + delete h2CeffHEnegativedirectionDigiD7; + //===================================================================== END of Digi HE for phi-symmetry + //===================================================================== END of Digi HE for phi-symmetry + //===================================================================== END of Digi HE for phi-symmetry + + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HF + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 4; + double adigiHF[ndepth][njeta][njphi]; + double digivarianceHF[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Digi HF + TH2F *amplitudechannel1HF1 = (TH2F *)hfile->Get("h_amplitudechannel1_HF1"); + TH2F *amplitudechannel0HF1 = (TH2F *)hfile->Get("h_amplitudechannel0_HF1"); + TH2F *amplitudechannelHF1 = (TH2F *)amplitudechannel1HF1->Clone("amplitudechannelHF1"); + amplitudechannelHF1->Divide(amplitudechannel1HF1, amplitudechannel0HF1, 1, 1, "B"); + TH2F *amplitudechannel1HF2 = (TH2F *)hfile->Get("h_amplitudechannel1_HF2"); + TH2F *amplitudechannel0HF2 = (TH2F *)hfile->Get("h_amplitudechannel0_HF2"); + TH2F *amplitudechannelHF2 = (TH2F *)amplitudechannel1HF2->Clone("amplitudechannelHF2"); + amplitudechannelHF2->Divide(amplitudechannel1HF2, amplitudechannel0HF2, 1, 1, "B"); + TH2F *amplitudechannel1HF3 = (TH2F *)hfile->Get("h_amplitudechannel1_HF3"); + TH2F *amplitudechannel0HF3 = (TH2F *)hfile->Get("h_amplitudechannel0_HF3"); + TH2F *amplitudechannelHF3 = (TH2F *)amplitudechannel1HF3->Clone("amplitudechannelHF3"); + amplitudechannelHF3->Divide(amplitudechannel1HF3, amplitudechannel0HF3, 1, 1, "B"); + TH2F *amplitudechannel1HF4 = (TH2F *)hfile->Get("h_amplitudechannel1_HF4"); + TH2F *amplitudechannel0HF4 = (TH2F *)hfile->Get("h_amplitudechannel0_HF4"); + TH2F *amplitudechannelHF4 = (TH2F *)amplitudechannel1HF4->Clone("amplitudechannelHF4"); + amplitudechannelHF4->Divide(amplitudechannel1HF4, amplitudechannel0HF4, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + //====================================================================== PHI normalization & put R into massive adigiHF + //preparation for PHI normalization: + double sumdigiHF0 = 0; + int nsumdigiHF0 = 0; + double sumdigiHF1 = 0; + int nsumdigiHF1 = 0; + double sumdigiHF2 = 0; + int nsumdigiHF2 = 0; + double sumdigiHF3 = 0; + int nsumdigiHF3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + adigiHF[0][jeta][jphi] = amplitudechannelHF1->GetBinContent(jeta + 1, jphi + 1); + adigiHF[1][jeta][jphi] = amplitudechannelHF2->GetBinContent(jeta + 1, jphi + 1); + adigiHF[2][jeta][jphi] = amplitudechannelHF3->GetBinContent(jeta + 1, jphi + 1); + adigiHF[3][jeta][jphi] = amplitudechannelHF4->GetBinContent(jeta + 1, jphi + 1); + if (adigiHF[0][jeta][jphi] > 0.) { + sumdigiHF0 += adigiHF[0][jeta][jphi]; + ++nsumdigiHF0; + } + if (adigiHF[1][jeta][jphi] > 0.) { + sumdigiHF1 += adigiHF[1][jeta][jphi]; + ++nsumdigiHF1; + } + if (adigiHF[2][jeta][jphi] > 0.) { + sumdigiHF2 += adigiHF[2][jeta][jphi]; + ++nsumdigiHF2; + } + if (adigiHF[3][jeta][jphi] > 0.) { + sumdigiHF3 += adigiHF[3][jeta][jphi]; + ++nsumdigiHF3; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (adigiHF[0][jeta][jphi] > 0.) + adigiHF[0][jeta][jphi] /= (sumdigiHF0 / nsumdigiHF0); + if (adigiHF[1][jeta][jphi] > 0.) + adigiHF[1][jeta][jphi] /= (sumdigiHF1 / nsumdigiHF1); + if (adigiHF[2][jeta][jphi] > 0.) + adigiHF[2][jeta][jphi] /= (sumdigiHF2 / nsumdigiHF2); + if (adigiHF[3][jeta][jphi] > 0.) + adigiHF[3][jeta][jphi] /= (sumdigiHF3 / nsumdigiHF3); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs + //====================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *GefzRdigiHF42D = new TH2F("GefzRdigiHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHF42D0 = new TH2F("GefzRdigiHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHF42DF = (TH2F *)GefzRdigiHF42D0->Clone("GefzRdigiHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRdigiHF42D->Fill(kkk, jphi, ccc1); + GefzRdigiHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + GefzRdigiHF42DF->Divide(GefzRdigiHF42D, GefzRdigiHF42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRdigiHF42DF->SetMarkerStyle(20); + GefzRdigiHF42DF->SetMarkerSize(0.4); + GefzRdigiHF42DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHF42DF->SetXTitle("_depth #eta \b"); + GefzRdigiHF42DF->SetYTitle(" #phi \b"); + GefzRdigiHF42DF->SetZTitle("_depth \b"); + GefzRdigiHF42DF->SetMarkerColor(2); + GefzRdigiHF42DF->SetLineColor( + 0); // GefzRdigiHF42DF->SetMaximum(1.000); // GefzRdigiHF42DF->SetMinimum(1.0); + GefzRdigiHF42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("RdigiGeneralD2PhiSymmetryHF.png"); + c1x0->Clear(); + // clean-up + if (GefzRdigiHF42D) + delete GefzRdigiHF42D; + if (GefzRdigiHF42D0) + delete GefzRdigiHF42D0; + if (GefzRdigiHF42DF) + delete GefzRdigiHF42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRdigiHF41D = new TH1F("GefzRdigiHF41D", "", nphi, 0., 72.); + TH1F *GefzRdigiHF41D0 = new TH1F("GefzRdigiHF41D0", "", nphi, 0., 72.); + TH1F *GefzRdigiHF41DF = (TH1F *)GefzRdigiHF41D0->Clone("GefzRdigiHF41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRdigiHF41D->Fill(jphi, ccc1); + GefzRdigiHF41D0->Fill(jphi, 1.); + } + } + } + } + GefzRdigiHF41DF->Divide(GefzRdigiHF41D, GefzRdigiHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRdigiHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRdigiHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRdigiHF41DF->SetMarkerStyle(20); + GefzRdigiHF41DF->SetMarkerSize(1.4); + GefzRdigiHF41DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHF41DF->SetXTitle("#phi \b"); + GefzRdigiHF41DF->SetYTitle(" \b"); + GefzRdigiHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRdigiHF41DF->SetMarkerColor(4); + GefzRdigiHF41DF->SetLineColor( + 4); // GefzRdigiHF41DF->SetMinimum(0.8); // GefzRdigiHF41DF->SetMaximum(1.000); + GefzRdigiHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RdigiGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (GefzRdigiHF41D) + delete GefzRdigiHF41D; + if (GefzRdigiHF41D0) + delete GefzRdigiHF41D0; + if (GefzRdigiHF41DF) + delete GefzRdigiHF41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigi1 = 1; + TH1F *h2CeffHFpositivedirectionDigi1 = new TH1F("h2CeffHFpositivedirectionDigi1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionDigi1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigi1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFpositivedirectionDigi1 = "<SetMarkerColor(2); + HFpositivedirectionDigi1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigi1 == 1) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 2) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 3) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 4) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 5) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 6) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 7) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 8) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 9) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 10) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 11) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 12) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 13) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionDigi1->Draw("Error"); + kcountHFpositivedirectionDigi1++; + if (kcountHFpositivedirectionDigi1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigi1) + delete h2CeffHFpositivedirectionDigi1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigi2 = 1; + TH1F *h2CeffHFpositivedirectionDigi2 = new TH1F("h2CeffHFpositivedirectionDigi2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigi2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFpositivedirectionDigi2 = "<SetMarkerColor(2); + HFpositivedirectionDigi2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigi2 == 1) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 2) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 3) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 4) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 5) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 6) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 7) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 8) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 9) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 10) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 11) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 12) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 13) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionDigi2->Draw("Error"); + kcountHFpositivedirectionDigi2++; + if (kcountHFpositivedirectionDigi2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigi2) + delete h2CeffHFpositivedirectionDigi2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigi3 = 1; + TH1F *h2CeffHFpositivedirectionDigi3 = new TH1F("h2CeffHFpositivedirectionDigi3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigi3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHFpositivedirectionDigi3 = "<SetMarkerColor(2); + HFpositivedirectionDigi3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigi3 == 1) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 28; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 2) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 29; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 3) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 30; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 4) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 31; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 5) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 32; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 6) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 33; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 7) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 34; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 8) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 35; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 9) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 36; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 10) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 37; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 11) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 38; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 12) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 39; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 13) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 40; depth = 3 \b"); + HFpositivedirectionDigi3->Draw("Error"); + kcountHFpositivedirectionDigi3++; + if (kcountHFpositivedirectionDigi3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth3HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigi3) + delete h2CeffHFpositivedirectionDigi3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigi4 = 1; + TH1F *h2CeffHFpositivedirectionDigi4 = new TH1F("h2CeffHFpositivedirectionDigi4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigi4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHFpositivedirectionDigi4 = "<SetMarkerColor(2); + HFpositivedirectionDigi4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigi4 == 1) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 28; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 2) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 29; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 3) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 30; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 4) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 31; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 5) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 32; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 6) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 33; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 7) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 34; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 8) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 35; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 9) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 36; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 10) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 37; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 11) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 38; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 12) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 39; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 13) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 40; depth = 4 \b"); + HFpositivedirectionDigi4->Draw("Error"); + kcountHFpositivedirectionDigi4++; + if (kcountHFpositivedirectionDigi4 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth4HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigi4) + delete h2CeffHFpositivedirectionDigi4; + + //========================================================================================== 1111114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigi1 = 1; + TH1F *h2CeffHFnegativedirectionDigi1 = new TH1F("h2CeffHFnegativedirectionDigi1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionDigi1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigi1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFnegativedirectionDigi1 = "<SetMarkerColor(2); + HFnegativedirectionDigi1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigi1 == 1) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 2) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 3) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 4) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 5) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 6) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 7) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 8) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 9) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 10) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 11) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 12) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 13) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionDigi1->Draw("Error"); + kcountHFnegativedirectionDigi1++; + if (kcountHFnegativedirectionDigi1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigi1) + delete h2CeffHFnegativedirectionDigi1; + + //========================================================================================== 1111115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigi2 = 1; + TH1F *h2CeffHFnegativedirectionDigi2 = new TH1F("h2CeffHFnegativedirectionDigi2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigi2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFnegativedirectionDigi2 = "<SetMarkerColor(2); + HFnegativedirectionDigi2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigi2 == 1) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 2) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 3) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 4) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 5) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 6) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 7) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 8) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 9) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 10) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 11) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 12) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 13) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-20; depth = 2 \b"); + HFnegativedirectionDigi2->Draw("Error"); + kcountHFnegativedirectionDigi2++; + if (kcountHFnegativedirectionDigi2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigi2) + delete h2CeffHFnegativedirectionDigi2; + //========================================================================================== 1111116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigi3 = 1; + TH1F *h2CeffHFnegativedirectionDigi3 = new TH1F("h2CeffHFnegativedirectionDigi3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigi3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHFnegativedirectionDigi3 = "<SetMarkerColor(2); + HFnegativedirectionDigi3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigi3 == 1) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-41; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 2) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-40; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 3) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-39; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 4) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-38; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 5) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-37; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 6) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-36; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 7) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-35; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 8) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-34; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 9) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-33; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 10) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-32; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 11) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-31; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 12) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-30; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 13) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-29; depth = 3 \b"); + HFnegativedirectionDigi3->Draw("Error"); + kcountHFnegativedirectionDigi3++; + if (kcountHFnegativedirectionDigi3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth3HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigi3) + delete h2CeffHFnegativedirectionDigi3; + //========================================================================================== 1111117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigi4 = 1; + TH1F *h2CeffHFnegativedirectionDigi4 = new TH1F("h2CeffHFnegativedirectionDigi4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigi4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHFnegativedirectionDigi4 = "<SetMarkerColor(2); + HFnegativedirectionDigi4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigi4 == 1) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-41; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 2) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-40; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 3) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-39; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 4) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-38; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 5) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-37; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 6) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-36; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 7) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-35; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 8) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-34; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 9) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-33; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 10) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-32; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 11) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-31; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 12) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-30; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 13) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-29; depth = 4 \b"); + HFnegativedirectionDigi4->Draw("Error"); + kcountHFnegativedirectionDigi4++; + if (kcountHFnegativedirectionDigi4 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth4HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigi4) + delete h2CeffHFnegativedirectionDigi4; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_amplitudechannel2_HF1"); + TH2F *digiVariance0HF1 = (TH2F *)hfile->Get("h_amplitudechannel0_HF1"); + TH2F *digiVarianceHF1 = (TH2F *)digiVariance1HF1->Clone("digiVarianceHF1"); + digiVarianceHF1->Divide(digiVariance1HF1, digiVariance0HF1, 1, 1, "B"); + TH2F *digiVariance1HF2 = (TH2F *)hfile->Get("h_amplitudechannel2_HF2"); + TH2F *digiVariance0HF2 = (TH2F *)hfile->Get("h_amplitudechannel0_HF2"); + TH2F *digiVarianceHF2 = (TH2F *)digiVariance1HF2->Clone("digiVarianceHF2"); + digiVarianceHF2->Divide(digiVariance1HF2, digiVariance0HF2, 1, 1, "B"); + TH2F *digiVariance1HF3 = (TH2F *)hfile->Get("h_amplitudechannel2_HF3"); + TH2F *digiVariance0HF3 = (TH2F *)hfile->Get("h_amplitudechannel0_HF3"); + TH2F *digiVarianceHF3 = (TH2F *)digiVariance1HF3->Clone("digiVarianceHF3"); + digiVarianceHF3->Divide(digiVariance1HF3, digiVariance0HF3, 1, 1, "B"); + TH2F *digiVariance1HF4 = (TH2F *)hfile->Get("h_amplitudechannel2_HF4"); + TH2F *digiVariance0HF4 = (TH2F *)hfile->Get("h_amplitudechannel0_HF4"); + TH2F *digiVarianceHF4 = (TH2F *)digiVariance1HF4->Clone("digiVarianceHF4"); + digiVarianceHF4->Divide(digiVariance1HF4, digiVariance0HF4, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive digivarianceHF + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumdigiHF0 = 0; + int nsumdigiHF0 = 0; + double sumdigiHF1 = 0; + int nsumdigiHF1 = 0; + double sumdigiHF2 = 0; + int nsumdigiHF2 = 0; + double sumdigiHF3 = 0; + int nsumdigiHF3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + digivarianceHF[0][jeta][jphi] = digiVarianceHF1->GetBinContent(jeta + 1, jphi + 1); + digivarianceHF[1][jeta][jphi] = digiVarianceHF2->GetBinContent(jeta + 1, jphi + 1); + digivarianceHF[2][jeta][jphi] = digiVarianceHF3->GetBinContent(jeta + 1, jphi + 1); + digivarianceHF[3][jeta][jphi] = digiVarianceHF4->GetBinContent(jeta + 1, jphi + 1); + if (digivarianceHF[0][jeta][jphi] > 0.) { + sumdigiHF0 += digivarianceHF[0][jeta][jphi]; + ++nsumdigiHF0; + } + if (digivarianceHF[1][jeta][jphi] > 0.) { + sumdigiHF1 += digivarianceHF[1][jeta][jphi]; + ++nsumdigiHF1; + } + if (digivarianceHF[2][jeta][jphi] > 0.) { + sumdigiHF2 += digivarianceHF[2][jeta][jphi]; + ++nsumdigiHF2; + } + if (digivarianceHF[3][jeta][jphi] > 0.) { + sumdigiHF3 += digivarianceHF[3][jeta][jphi]; + ++nsumdigiHF3; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (digivarianceHF[0][jeta][jphi] > 0.) + digivarianceHF[0][jeta][jphi] /= (sumdigiHF0 / nsumdigiHF0); + if (digivarianceHF[1][jeta][jphi] > 0.) + digivarianceHF[1][jeta][jphi] /= (sumdigiHF1 / nsumdigiHF1); + if (digivarianceHF[2][jeta][jphi] > 0.) + digivarianceHF[2][jeta][jphi] /= (sumdigiHF2 / nsumdigiHF2); + if (digivarianceHF[3][jeta][jphi] > 0.) + digivarianceHF[3][jeta][jphi] /= (sumdigiHF3 / nsumdigiHF3); + } // phi + // digivarianceHF (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDdigiHF42D = new TH2F("DefzDdigiHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHF42D0 = new TH2F("DefzDdigiHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHF42DF = (TH2F *)DefzDdigiHF42D0->Clone("DefzDdigiHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (adigiHF[i][jeta][jphi] > 0.) { + DefzDdigiHF42D->Fill(kkk, jphi, ccc1); + DefzDdigiHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + DefzDdigiHF42DF->Divide(DefzDdigiHF42D, DefzDdigiHF42D0, 1, 1, "B"); // average A + // DefzDdigiHF1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDdigiHF42DF->SetMarkerStyle(20); + DefzDdigiHF42DF->SetMarkerSize(0.4); + DefzDdigiHF42DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHF42DF->SetXTitle("_depth #eta \b"); + DefzDdigiHF42DF->SetYTitle(" #phi \b"); + DefzDdigiHF42DF->SetZTitle("_depth \b"); + DefzDdigiHF42DF->SetMarkerColor(2); + DefzDdigiHF42DF->SetLineColor( + 0); // DefzDdigiHF42DF->SetMaximum(1.000); // DefzDdigiHF42DF->SetMinimum(1.0); + DefzDdigiHF42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DdigiGeneralD2PhiSymmetryHF.png"); + c1x0->Clear(); + // clean-up + if (DefzDdigiHF42D) + delete DefzDdigiHF42D; + if (DefzDdigiHF42D0) + delete DefzDdigiHF42D0; + if (DefzDdigiHF42DF) + delete DefzDdigiHF42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDdigiHF41D = new TH1F("DefzDdigiHF41D", "", nphi, 0., 72.); + TH1F *DefzDdigiHF41D0 = new TH1F("DefzDdigiHF41D0", "", nphi, 0., 72.); + TH1F *DefzDdigiHF41DF = (TH1F *)DefzDdigiHF41D0->Clone("DefzDdigiHF41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + DefzDdigiHF41D->Fill(jphi, ccc1); + DefzDdigiHF41D0->Fill(jphi, 1.); + } + } + } + } + // DefzDdigiHF41D->Sumw2();DefzDdigiHF41D0->Sumw2(); + + DefzDdigiHF41DF->Divide(DefzDdigiHF41D, DefzDdigiHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDdigiHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDdigiHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDdigiHF41DF->SetMarkerStyle(20); + DefzDdigiHF41DF->SetMarkerSize(1.4); + DefzDdigiHF41DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHF41DF->SetXTitle("#phi \b"); + DefzDdigiHF41DF->SetYTitle(" \b"); + DefzDdigiHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDdigiHF41DF->SetMarkerColor(4); + DefzDdigiHF41DF->SetLineColor(4); // DefzDdigiHF41DF->SetMinimum(0.8); DefzDdigiHF41DF->SetMinimum(-0.015); + DefzDdigiHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DdigiGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (DefzDdigiHF41D) + delete DefzDdigiHF41D; + if (DefzDdigiHF41D0) + delete DefzDdigiHF41D0; + if (DefzDdigiHF41DF) + delete DefzDdigiHF41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigiD1 = 1; + TH1F *h2CeffHFpositivedirectionDigiD1 = new TH1F("h2CeffHFpositivedirectionDigiD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFpositivedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigiD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFpositivedirectionDigiD1 = "<SetMarkerColor(2); + HFpositivedirectionDigiD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigiD1 == 1) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 2) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 3) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 4) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 5) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 6) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 7) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 8) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 9) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 10) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 11) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 12) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 13) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionDigiD1->Draw("Error"); + kcountHFpositivedirectionDigiD1++; + if (kcountHFpositivedirectionDigiD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigiD1) + delete h2CeffHFpositivedirectionDigiD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigiD2 = 1; + TH1F *h2CeffHFpositivedirectionDigiD2 = new TH1F("h2CeffHFpositivedirectionDigiD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFpositivedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigiD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFpositivedirectionDigiD2 = "<SetMarkerColor(2); + HFpositivedirectionDigiD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigiD2 == 1) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 2) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 3) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 4) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 5) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 6) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 7) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 8) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 9) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 10) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 11) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 12) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 13) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionDigiD2->Draw("Error"); + kcountHFpositivedirectionDigiD2++; + if (kcountHFpositivedirectionDigiD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigiD2) + delete h2CeffHFpositivedirectionDigiD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigiD3 = 1; + TH1F *h2CeffHFpositivedirectionDigiD3 = new TH1F("h2CeffHFpositivedirectionDigiD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFpositivedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigiD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHFpositivedirectionDigiD3 = "<SetMarkerColor(2); + HFpositivedirectionDigiD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigiD3 == 1) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 28; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 2) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 29; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 3) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 30; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 4) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 31; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 5) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 32; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 6) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 33; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 7) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 34; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 8) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 35; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 9) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 36; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 10) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 37; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 11) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 38; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 12) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 39; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 13) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 40; depth = 3 \b"); + HFpositivedirectionDigiD3->Draw("Error"); + kcountHFpositivedirectionDigiD3++; + if (kcountHFpositivedirectionDigiD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth3HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigiD3) + delete h2CeffHFpositivedirectionDigiD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigiD4 = 1; + TH1F *h2CeffHFpositivedirectionDigiD4 = new TH1F("h2CeffHFpositivedirectionDigiD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFpositivedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigiD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHFpositivedirectionDigiD4 = "<SetMarkerColor(2); + HFpositivedirectionDigiD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigiD4 == 1) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 28; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 2) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 29; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 3) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 30; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 4) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 31; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 5) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 32; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 6) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 33; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 7) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 34; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 8) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 35; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 9) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 36; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 10) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 37; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 11) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 38; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 12) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 39; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 13) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 40; depth = 4 \b"); + HFpositivedirectionDigiD4->Draw("Error"); + kcountHFpositivedirectionDigiD4++; + if (kcountHFpositivedirectionDigiD4 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth4HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigiD4) + delete h2CeffHFpositivedirectionDigiD4; + + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigiD1 = 1; + TH1F *h2CeffHFnegativedirectionDigiD1 = new TH1F("h2CeffHFnegativedirectionDigiD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFnegativedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigiD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFnegativedirectionDigiD1 = "<SetMarkerColor(2); + HFnegativedirectionDigiD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigiD1 == 1) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 2) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 3) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 4) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 5) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 6) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 7) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 8) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 9) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 10) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 11) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 12) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 13) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionDigiD1->Draw("Error"); + kcountHFnegativedirectionDigiD1++; + if (kcountHFnegativedirectionDigiD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigiD1) + delete h2CeffHFnegativedirectionDigiD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigiD2 = 1; + TH1F *h2CeffHFnegativedirectionDigiD2 = new TH1F("h2CeffHFnegativedirectionDigiD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFnegativedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigiD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFnegativedirectionDigiD2 = "<SetMarkerColor(2); + HFnegativedirectionDigiD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigiD2 == 1) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 2) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 3) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 4) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 5) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 6) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 7) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 8) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 9) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 10) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 11) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 12) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 13) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-29; depth = 2 \b"); + HFnegativedirectionDigiD2->Draw("Error"); + kcountHFnegativedirectionDigiD2++; + if (kcountHFnegativedirectionDigiD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigiD2) + delete h2CeffHFnegativedirectionDigiD2; + //========================================================================================== 22222216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigiD3 = 1; + TH1F *h2CeffHFnegativedirectionDigiD3 = new TH1F("h2CeffHFnegativedirectionDigiD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFnegativedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigiD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHFnegativedirectionDigiD3 = "<SetMarkerColor(2); + HFnegativedirectionDigiD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigiD3 == 1) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-41; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 2) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-40; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 3) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-39; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 4) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-38; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 5) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-37; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 6) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-36; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 7) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-35; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 8) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-34; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 9) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-33; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 10) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-32; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 11) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-31; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 12) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-30; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 13) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-29; depth = 3 \b"); + HFnegativedirectionDigiD3->Draw("Error"); + kcountHFnegativedirectionDigiD3++; + if (kcountHFnegativedirectionDigiD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth3HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigiD3) + delete h2CeffHFnegativedirectionDigiD3; + //========================================================================================== 22222217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigiD4 = 1; + TH1F *h2CeffHFnegativedirectionDigiD4 = new TH1F("h2CeffHFnegativedirectionDigiD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFnegativedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigiD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHFnegativedirectionDigiD4 = "<SetMarkerColor(2); + HFnegativedirectionDigiD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigiD4 == 1) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-41; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 2) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-40; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 3) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-39; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 4) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-38; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 5) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-37; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 6) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-36; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 7) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-35; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 8) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-34; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 9) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-33; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 10) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-32; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 11) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-31; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 12) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-30; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 13) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-29; depth = 4 \b"); + HFnegativedirectionDigiD4->Draw("Error"); + kcountHFnegativedirectionDigiD4++; + if (kcountHFnegativedirectionDigiD4 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth4HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigiD4) + delete h2CeffHFnegativedirectionDigiD4; + + //===================================================================== END of Digi HF for phi-symmetry + //===================================================================== END of Digi HF for phi-symmetry + //===================================================================== END of Digi HF for phi-symmetry + + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + + // END of Digi Digi Digi Digi Digi ENDDigi Digi Digi Digi Digi ENDDigi Digi Digi Digi ENDDigi Digi Digi Digi Digi Digi Digi ENDDigi Digi Digi Digi Digi Digi Digi Digi Digi Digi ENDDigi END + + ////////////////////// Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start + ////////////////////// Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start + ////////////////////// Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start + + //////////////////////////////////////////////////////////////////////////////////////////////////// Recosignal HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Recosignal HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Recosignal HB + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 4; + double arecosignalHB[ndepth][njeta][njphi]; + double recosignalvarianceHB[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Recosignal HB recSignalEnergy + TH2F *recSignalEnergy1HB1 = (TH2F *)hfile->Get("h_recSignalEnergy1_HB1"); + TH2F *recSignalEnergy0HB1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB1"); + TH2F *recSignalEnergyHB1 = (TH2F *)recSignalEnergy1HB1->Clone("recSignalEnergyHB1"); + recSignalEnergyHB1->Divide(recSignalEnergy1HB1, recSignalEnergy0HB1, 1, 1, "B"); + TH2F *recSignalEnergy1HB2 = (TH2F *)hfile->Get("h_recSignalEnergy1_HB2"); + TH2F *recSignalEnergy0HB2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB2"); + TH2F *recSignalEnergyHB2 = (TH2F *)recSignalEnergy1HB2->Clone("recSignalEnergyHB2"); + recSignalEnergyHB2->Divide(recSignalEnergy1HB2, recSignalEnergy0HB2, 1, 1, "B"); + TH2F *recSignalEnergy1HB3 = (TH2F *)hfile->Get("h_recSignalEnergy1_HB3"); + TH2F *recSignalEnergy0HB3 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB3"); + TH2F *recSignalEnergyHB3 = (TH2F *)recSignalEnergy1HB3->Clone("recSignalEnergyHB3"); + recSignalEnergyHB3->Divide(recSignalEnergy1HB3, recSignalEnergy0HB3, 1, 1, "B"); + TH2F *recSignalEnergy1HB4 = (TH2F *)hfile->Get("h_recSignalEnergy1_HB4"); + TH2F *recSignalEnergy0HB4 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB4"); + TH2F *recSignalEnergyHB4 = (TH2F *)recSignalEnergy1HB4->Clone("recSignalEnergyHB4"); + recSignalEnergyHB4->Divide(recSignalEnergy1HB4, recSignalEnergy0HB4, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + //====================================================================== PHI normalization & put R into massive arecosignalHB + //preparation for PHI normalization: + double sumrecosignalHB0 = 0; + int nsumrecosignalHB0 = 0; + double sumrecosignalHB1 = 0; + int nsumrecosignalHB1 = 0; + double sumrecosignalHB2 = 0; + int nsumrecosignalHB2 = 0; + double sumrecosignalHB3 = 0; + int nsumrecosignalHB3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + arecosignalHB[0][jeta][jphi] = recSignalEnergyHB1->GetBinContent(jeta + 1, jphi + 1); + arecosignalHB[1][jeta][jphi] = recSignalEnergyHB2->GetBinContent(jeta + 1, jphi + 1); + arecosignalHB[2][jeta][jphi] = recSignalEnergyHB3->GetBinContent(jeta + 1, jphi + 1); + arecosignalHB[3][jeta][jphi] = recSignalEnergyHB4->GetBinContent(jeta + 1, jphi + 1); + if (arecosignalHB[0][jeta][jphi] > 0.) { + sumrecosignalHB0 += arecosignalHB[0][jeta][jphi]; + ++nsumrecosignalHB0; + } + if (arecosignalHB[1][jeta][jphi] > 0.) { + sumrecosignalHB1 += arecosignalHB[1][jeta][jphi]; + ++nsumrecosignalHB1; + } + if (arecosignalHB[2][jeta][jphi] > 0.) { + sumrecosignalHB2 += arecosignalHB[2][jeta][jphi]; + ++nsumrecosignalHB2; + } + if (arecosignalHB[3][jeta][jphi] > 0.) { + sumrecosignalHB3 += arecosignalHB[3][jeta][jphi]; + ++nsumrecosignalHB3; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (arecosignalHB[0][jeta][jphi] > 0.) + arecosignalHB[0][jeta][jphi] /= (sumrecosignalHB0 / nsumrecosignalHB0); + if (arecosignalHB[1][jeta][jphi] > 0.) + arecosignalHB[1][jeta][jphi] /= (sumrecosignalHB1 / nsumrecosignalHB1); + if (arecosignalHB[2][jeta][jphi] > 0.) + arecosignalHB[2][jeta][jphi] /= (sumrecosignalHB2 / nsumrecosignalHB2); + if (arecosignalHB[3][jeta][jphi] > 0.) + arecosignalHB[3][jeta][jphi] /= (sumrecosignalHB3 / nsumrecosignalHB3); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs + //====================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRrecosignalHB42D = new TH2F("GefzRrecosignalHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHB42D0 = new TH2F("GefzRrecosignalHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHB42DF = (TH2F *)GefzRrecosignalHB42D0->Clone("GefzRrecosignalHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRrecosignalHB42D->Fill(kkk, jphi, ccc1); + GefzRrecosignalHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + GefzRrecosignalHB42DF->Divide(GefzRrecosignalHB42D, GefzRrecosignalHB42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHB42DF->SetXTitle("_depth #eta \b"); + GefzRrecosignalHB42DF->SetYTitle(" #phi \b"); + GefzRrecosignalHB42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitSignal_HB = (TH1F *)hfile->Get("h_energyhitSignal_HB"); + energyhitSignal_HB->SetMarkerStyle(20); + energyhitSignal_HB->SetMarkerSize(0.4); + energyhitSignal_HB->GetYaxis()->SetLabelSize(0.04); + energyhitSignal_HB->SetXTitle("energyhitSignal_HB \b"); + energyhitSignal_HB->SetMarkerColor(2); + energyhitSignal_HB->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitSignal_HB->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RrecosignalGeneralD2PhiSymmetryHB.png"); + c2x1->Clear(); + // clean-up + if (GefzRrecosignalHB42D) + delete GefzRrecosignalHB42D; + if (GefzRrecosignalHB42D0) + delete GefzRrecosignalHB42D0; + if (GefzRrecosignalHB42DF) + delete GefzRrecosignalHB42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRrecosignalHB41D = new TH1F("GefzRrecosignalHB41D", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHB41D0 = new TH1F("GefzRrecosignalHB41D0", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHB41DF = (TH1F *)GefzRrecosignalHB41D0->Clone("GefzRrecosignalHB41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRrecosignalHB41D->Fill(jphi, ccc1); + GefzRrecosignalHB41D0->Fill(jphi, 1.); + } + } + } + } + GefzRrecosignalHB41DF->Divide( + GefzRrecosignalHB41D, GefzRrecosignalHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRrecosignalHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRrecosignalHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHB41DF->SetMarkerStyle(20); + GefzRrecosignalHB41DF->SetMarkerSize(1.4); + GefzRrecosignalHB41DF->GetZaxis()->SetLabelSize(0.08); + GefzRrecosignalHB41DF->SetXTitle("#phi \b"); + GefzRrecosignalHB41DF->SetYTitle(" \b"); + GefzRrecosignalHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRrecosignalHB41DF->SetMarkerColor(4); + GefzRrecosignalHB41DF->SetLineColor( + 4); // GefzRrecosignalHB41DF->SetMinimum(0.8); // GefzRrecosignalHB41DF->SetMaximum(1.000); + GefzRrecosignalHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RrecosignalGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (GefzRrecosignalHB41D) + delete GefzRrecosignalHB41D; + if (GefzRrecosignalHB41D0) + delete GefzRrecosignalHB41D0; + if (GefzRrecosignalHB41DF) + delete GefzRrecosignalHB41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignal1 = 1; + TH1F *h2CeffHBpositivedirectionRecosignal1 = new TH1F("h2CeffHBpositivedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBpositivedirectionRecosignal1 = "<SetMarkerColor(2); + HBpositivedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignal1 == 1) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 2) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 3) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 4) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 5) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 6) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 7) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 8) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 9) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 10) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 11) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 12) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 13) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 14) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 15) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 16) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionRecosignal1->Draw("Error"); + kcountHBpositivedirectionRecosignal1++; + if (kcountHBpositivedirectionRecosignal1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignal1) + delete h2CeffHBpositivedirectionRecosignal1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignal2 = 1; + TH1F *h2CeffHBpositivedirectionRecosignal2 = new TH1F("h2CeffHBpositivedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBpositivedirectionRecosignal2 = "<SetMarkerColor(2); + HBpositivedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignal2 == 1) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 2) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 3) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 4) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 5) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 6) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 7) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 8) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 9) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 10) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 11) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 12) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 13) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 14) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 15) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 16) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionRecosignal2->Draw("Error"); + kcountHBpositivedirectionRecosignal2++; + if (kcountHBpositivedirectionRecosignal2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignal2) + delete h2CeffHBpositivedirectionRecosignal2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignal3 = 1; + TH1F *h2CeffHBpositivedirectionRecosignal3 = new TH1F("h2CeffHBpositivedirectionRecosignal3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionRecosignal3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignal3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBpositivedirectionRecosignal3 = "<SetMarkerColor(2); + HBpositivedirectionRecosignal3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignal3 == 1) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 2) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 3) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 4) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 5) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 6) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 7) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 8) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 9) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 10) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 11) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 12) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 13) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 14) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 15) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 16) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionRecosignal3->Draw("Error"); + kcountHBpositivedirectionRecosignal3++; + if (kcountHBpositivedirectionRecosignal3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignal3) + delete h2CeffHBpositivedirectionRecosignal3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignal4 = 1; + TH1F *h2CeffHBpositivedirectionRecosignal4 = new TH1F("h2CeffHBpositivedirectionRecosignal4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionRecosignal4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignal4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBpositivedirectionRecosignal4 = "<SetMarkerColor(2); + HBpositivedirectionRecosignal4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignal4 == 1) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 2) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 3) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 4) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 5) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 6) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 7) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 8) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 9) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 10) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 11) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 12) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 13) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 14) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 15) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 16) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionRecosignal4->Draw("Error"); + kcountHBpositivedirectionRecosignal4++; + if (kcountHBpositivedirectionRecosignal4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignal4) + delete h2CeffHBpositivedirectionRecosignal4; + + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignal1 = 1; + TH1F *h2CeffHBnegativedirectionRecosignal1 = new TH1F("h2CeffHBnegativedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBnegativedirectionRecosignal1 = "<SetMarkerColor(2); + HBnegativedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignal1 == 1) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -16; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 2) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -15; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 3) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -14; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 4) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -13; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 5) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -12; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 6) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -11; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 7) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -10; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 8) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -9; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 9) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -8; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 10) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -7; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 11) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -6; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 12) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -5; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 13) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -4; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 14) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -3; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 15) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -2; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 16) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -1; depth = 1 \b"); + HBnegativedirectionRecosignal1->Draw("Error"); + kcountHBnegativedirectionRecosignal1++; + if (kcountHBnegativedirectionRecosignal1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignal1) + delete h2CeffHBnegativedirectionRecosignal1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignal2 = 1; + TH1F *h2CeffHBnegativedirectionRecosignal2 = new TH1F("h2CeffHBnegativedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBnegativedirectionRecosignal2 = "<SetMarkerColor(2); + HBnegativedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignal2 == 1) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -16; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 2) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -15; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 3) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -14; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 4) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -13; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 5) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -12; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 6) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -11; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 7) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -10; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 8) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -9; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 9) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -8; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 10) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -7; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 11) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -6; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 12) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -5; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 13) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -4; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 14) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -3; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 15) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -2; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 16) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -1; depth = 2 \b"); + HBnegativedirectionRecosignal2->Draw("Error"); + kcountHBnegativedirectionRecosignal2++; + if (kcountHBnegativedirectionRecosignal2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignal2) + delete h2CeffHBnegativedirectionRecosignal2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignal3 = 1; + TH1F *h2CeffHBnegativedirectionRecosignal3 = new TH1F("h2CeffHBnegativedirectionRecosignal3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionRecosignal3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignal3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBnegativedirectionRecosignal3 = "<SetMarkerColor(2); + HBnegativedirectionRecosignal3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignal3 == 1) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -16; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 2) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -15; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 3) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -14; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 4) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -13; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 5) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -12; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 6) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -11; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 7) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -10; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 8) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -9; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 9) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -8; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 10) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -7; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 11) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -6; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 12) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -5; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 13) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -4; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 14) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -3; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 15) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -2; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 16) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -1; depth = 3 \b"); + + HBnegativedirectionRecosignal3->Draw("Error"); + kcountHBnegativedirectionRecosignal3++; + if (kcountHBnegativedirectionRecosignal3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignal3) + delete h2CeffHBnegativedirectionRecosignal3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignal4 = 1; + TH1F *h2CeffHBnegativedirectionRecosignal4 = new TH1F("h2CeffHBnegativedirectionRecosignal4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionRecosignal4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignal4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBnegativedirectionRecosignal4 = "<SetMarkerColor(2); + HBnegativedirectionRecosignal4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignal4 == 1) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -16; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 2) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -15; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 3) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -14; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 4) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -13; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 5) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -12; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 6) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -11; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 7) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -10; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 8) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -9; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 9) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -8; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 10) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -7; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 11) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -6; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 12) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -5; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 13) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -4; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 14) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -3; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 15) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -2; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 16) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -1; depth = 4 \b"); + HBnegativedirectionRecosignal4->Draw("Error"); + kcountHBnegativedirectionRecosignal4++; + if (kcountHBnegativedirectionRecosignal4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignal4) + delete h2CeffHBnegativedirectionRecosignal4; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recSignalEnergy2_HB1"); + TH2F *recosignalVariance0HB1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB1"); + TH2F *recosignalVarianceHB1 = (TH2F *)recosignalVariance1HB1->Clone("recosignalVarianceHB1"); + recosignalVarianceHB1->Divide(recosignalVariance1HB1, recosignalVariance0HB1, 1, 1, "B"); + TH2F *recosignalVariance1HB2 = (TH2F *)hfile->Get("h_recSignalEnergy2_HB2"); + TH2F *recosignalVariance0HB2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB2"); + TH2F *recosignalVarianceHB2 = (TH2F *)recosignalVariance1HB2->Clone("recosignalVarianceHB2"); + recosignalVarianceHB2->Divide(recosignalVariance1HB2, recosignalVariance0HB2, 1, 1, "B"); + TH2F *recosignalVariance1HB3 = (TH2F *)hfile->Get("h_recSignalEnergy2_HB3"); + TH2F *recosignalVariance0HB3 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB3"); + TH2F *recosignalVarianceHB3 = (TH2F *)recosignalVariance1HB3->Clone("recosignalVarianceHB3"); + recosignalVarianceHB3->Divide(recosignalVariance1HB3, recosignalVariance0HB3, 1, 1, "B"); + TH2F *recosignalVariance1HB4 = (TH2F *)hfile->Get("h_recSignalEnergy2_HB4"); + TH2F *recosignalVariance0HB4 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB4"); + TH2F *recosignalVarianceHB4 = (TH2F *)recosignalVariance1HB4->Clone("recosignalVarianceHB4"); + recosignalVarianceHB4->Divide(recosignalVariance1HB4, recosignalVariance0HB4, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive recosignalvarianceHB + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumrecosignalHB0 = 0; + int nsumrecosignalHB0 = 0; + double sumrecosignalHB1 = 0; + int nsumrecosignalHB1 = 0; + double sumrecosignalHB2 = 0; + int nsumrecosignalHB2 = 0; + double sumrecosignalHB3 = 0; + int nsumrecosignalHB3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + recosignalvarianceHB[0][jeta][jphi] = recosignalVarianceHB1->GetBinContent(jeta + 1, jphi + 1); + recosignalvarianceHB[1][jeta][jphi] = recosignalVarianceHB2->GetBinContent(jeta + 1, jphi + 1); + recosignalvarianceHB[2][jeta][jphi] = recosignalVarianceHB3->GetBinContent(jeta + 1, jphi + 1); + recosignalvarianceHB[3][jeta][jphi] = recosignalVarianceHB4->GetBinContent(jeta + 1, jphi + 1); + if (recosignalvarianceHB[0][jeta][jphi] > 0.) { + sumrecosignalHB0 += recosignalvarianceHB[0][jeta][jphi]; + ++nsumrecosignalHB0; + } + if (recosignalvarianceHB[1][jeta][jphi] > 0.) { + sumrecosignalHB1 += recosignalvarianceHB[1][jeta][jphi]; + ++nsumrecosignalHB1; + } + if (recosignalvarianceHB[2][jeta][jphi] > 0.) { + sumrecosignalHB2 += recosignalvarianceHB[2][jeta][jphi]; + ++nsumrecosignalHB2; + } + if (recosignalvarianceHB[3][jeta][jphi] > 0.) { + sumrecosignalHB3 += recosignalvarianceHB[3][jeta][jphi]; + ++nsumrecosignalHB3; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (recosignalvarianceHB[0][jeta][jphi] > 0.) + recosignalvarianceHB[0][jeta][jphi] /= (sumrecosignalHB0 / nsumrecosignalHB0); + if (recosignalvarianceHB[1][jeta][jphi] > 0.) + recosignalvarianceHB[1][jeta][jphi] /= (sumrecosignalHB1 / nsumrecosignalHB1); + if (recosignalvarianceHB[2][jeta][jphi] > 0.) + recosignalvarianceHB[2][jeta][jphi] /= (sumrecosignalHB2 / nsumrecosignalHB2); + if (recosignalvarianceHB[3][jeta][jphi] > 0.) + recosignalvarianceHB[3][jeta][jphi] /= (sumrecosignalHB3 / nsumrecosignalHB3); + } // phi + // recosignalvarianceHB (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDrecosignalHB42D = new TH2F("DefzDrecosignalHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHB42D0 = new TH2F("DefzDrecosignalHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHB42DF = (TH2F *)DefzDrecosignalHB42D0->Clone("DefzDrecosignalHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (arecosignalHB[i][jeta][jphi] > 0.) { + DefzDrecosignalHB42D->Fill(kkk, jphi, ccc1); + DefzDrecosignalHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + DefzDrecosignalHB42DF->Divide(DefzDrecosignalHB42D, DefzDrecosignalHB42D0, 1, 1, "B"); // average A + // DefzDrecosignalHB1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHB42DF->SetMarkerStyle(20); + DefzDrecosignalHB42DF->SetMarkerSize(0.4); + DefzDrecosignalHB42DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHB42DF->SetXTitle("_depth #eta \b"); + DefzDrecosignalHB42DF->SetYTitle(" #phi \b"); + DefzDrecosignalHB42DF->SetZTitle("_depth \b"); + DefzDrecosignalHB42DF->SetMarkerColor(2); + DefzDrecosignalHB42DF->SetLineColor( + 0); // DefzDrecosignalHB42DF->SetMaximum(1.000); // DefzDrecosignalHB42DF->SetMinimum(1.0); + DefzDrecosignalHB42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DrecosignalGeneralD2PhiSymmetryHB.png"); + c1x0->Clear(); + // clean-up + if (DefzDrecosignalHB42D) + delete DefzDrecosignalHB42D; + if (DefzDrecosignalHB42D0) + delete DefzDrecosignalHB42D0; + if (DefzDrecosignalHB42DF) + delete DefzDrecosignalHB42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDrecosignalHB41D = new TH1F("DefzDrecosignalHB41D", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHB41D0 = new TH1F("DefzDrecosignalHB41D0", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHB41DF = (TH1F *)DefzDrecosignalHB41D0->Clone("DefzDrecosignalHB41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + DefzDrecosignalHB41D->Fill(jphi, ccc1); + DefzDrecosignalHB41D0->Fill(jphi, 1.); + } + } + } + } + // DefzDrecosignalHB41D->Sumw2();DefzDrecosignalHB41D0->Sumw2(); + + DefzDrecosignalHB41DF->Divide( + DefzDrecosignalHB41D, DefzDrecosignalHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDrecosignalHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDrecosignalHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHB41DF->SetMarkerStyle(20); + DefzDrecosignalHB41DF->SetMarkerSize(1.4); + DefzDrecosignalHB41DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHB41DF->SetXTitle("#phi \b"); + DefzDrecosignalHB41DF->SetYTitle(" \b"); + DefzDrecosignalHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDrecosignalHB41DF->SetMarkerColor(4); + DefzDrecosignalHB41DF->SetLineColor( + 4); // DefzDrecosignalHB41DF->SetMinimum(0.8); DefzDrecosignalHB41DF->SetMinimum(-0.015); + DefzDrecosignalHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DrecosignalGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (DefzDrecosignalHB41D) + delete DefzDrecosignalHB41D; + if (DefzDrecosignalHB41D0) + delete DefzDrecosignalHB41D0; + if (DefzDrecosignalHB41DF) + delete DefzDrecosignalHB41DF; + + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignalD1 = 1; + TH1F *h2CeffHBpositivedirectionRecosignalD1 = new TH1F("h2CeffHBpositivedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBpositivedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHBpositivedirectionRecosignalD1 = "<SetMarkerColor(2); + HBpositivedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignalD1 == 1) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 2) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 3) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 4) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 5) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 6) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 7) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 8) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 9) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 10) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 11) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 12) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 13) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 14) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 15) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 16) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionRecosignalD1->Draw("Error"); + kcountHBpositivedirectionRecosignalD1++; + if (kcountHBpositivedirectionRecosignalD1 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignalD1) + delete h2CeffHBpositivedirectionRecosignalD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignalD2 = 1; + TH1F *h2CeffHBpositivedirectionRecosignalD2 = new TH1F("h2CeffHBpositivedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBpositivedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHBpositivedirectionRecosignalD2 = "<SetMarkerColor(2); + HBpositivedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignalD2 == 1) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 2) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 3) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 4) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 5) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 6) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 7) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 8) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 9) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 10) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 11) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 12) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 13) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 14) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 15) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 16) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionRecosignalD2->Draw("Error"); + kcountHBpositivedirectionRecosignalD2++; + if (kcountHBpositivedirectionRecosignalD2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignalD2) + delete h2CeffHBpositivedirectionRecosignalD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignalD3 = 1; + TH1F *h2CeffHBpositivedirectionRecosignalD3 = new TH1F("h2CeffHBpositivedirectionRecosignalD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBpositivedirectionRecosignalD3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignalD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHBpositivedirectionRecosignalD3 = "<SetMarkerColor(2); + HBpositivedirectionRecosignalD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignalD3 == 1) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 2) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 3) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 4) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 5) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 6) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 7) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 8) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 9) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 10) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 11) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 10; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 12) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 13) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 14) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 15) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 16) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionRecosignalD3->Draw("Error"); + kcountHBpositivedirectionRecosignalD3++; + if (kcountHBpositivedirectionRecosignalD3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignalD3) + delete h2CeffHBpositivedirectionRecosignalD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignalD4 = 1; + TH1F *h2CeffHBpositivedirectionRecosignalD4 = new TH1F("h2CeffHBpositivedirectionRecosignalD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBpositivedirectionRecosignalD4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignalD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHBpositivedirectionRecosignalD4 = "<SetMarkerColor(2); + HBpositivedirectionRecosignalD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignalD4 == 1) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 2) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 3) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 4) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 5) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 6) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 7) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 8) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 9) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 10) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 11) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 12) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 13) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 14) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 15) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 16) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionRecosignalD4->Draw("Error"); + kcountHBpositivedirectionRecosignalD4++; + if (kcountHBpositivedirectionRecosignalD4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignalD4) + delete h2CeffHBpositivedirectionRecosignalD4; + + //========================================================================================== 22214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignalD1 = 1; + TH1F *h2CeffHBnegativedirectionRecosignalD1 = new TH1F("h2CeffHBnegativedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBnegativedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHBnegativedirectionRecosignalD1 = "<SetMarkerColor(2); + HBnegativedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignalD1 == 1) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -16; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 2) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -15; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 3) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -14; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 4) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -13; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 5) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -12; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 6) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -11; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 7) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -10; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 8) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -9; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 9) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -8; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 10) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -7; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 11) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -6; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 12) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -5; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 13) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -4; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 14) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -3; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 15) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -2; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 16) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -1; depth = 1 \b"); + HBnegativedirectionRecosignalD1->Draw("Error"); + kcountHBnegativedirectionRecosignalD1++; + if (kcountHBnegativedirectionRecosignalD1 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignalD1) + delete h2CeffHBnegativedirectionRecosignalD1; + //========================================================================================== 22215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignalD2 = 1; + TH1F *h2CeffHBnegativedirectionRecosignalD2 = new TH1F("h2CeffHBnegativedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBnegativedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHBnegativedirectionRecosignalD2 = "<SetMarkerColor(2); + HBnegativedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignalD2 == 1) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-16; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 2) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-15; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 3) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-14; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 4) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-13; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 5) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-12; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 6) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-11; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 7) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-10; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 8) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-9 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 9) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-8 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 10) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-7 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 11) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-6 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 12) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-5 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 13) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-4 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 14) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-3 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 15) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-2 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 16) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-1 ; depth = 2 \b"); + HBnegativedirectionRecosignalD2->Draw("Error"); + kcountHBnegativedirectionRecosignalD2++; + if (kcountHBnegativedirectionRecosignalD2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignalD2) + delete h2CeffHBnegativedirectionRecosignalD2; + //========================================================================================== 22216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignalD3 = 1; + TH1F *h2CeffHBnegativedirectionRecosignalD3 = new TH1F("h2CeffHBnegativedirectionRecosignalD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBnegativedirectionRecosignalD3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignalD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHBnegativedirectionRecosignalD3 = "<SetMarkerColor(2); + HBnegativedirectionRecosignalD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignalD3 == 1) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-16; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 2) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-15; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 3) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-14; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 4) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-13; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 5) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-12; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 6) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-11; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 7) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-10; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 8) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-9 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 9) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-8 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 10) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-7 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 11) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-6 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 12) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-5 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 13) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-4 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 14) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-3 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 15) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-2 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 16) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-1 ; depth = 3 \b"); + HBnegativedirectionRecosignalD3->Draw("Error"); + kcountHBnegativedirectionRecosignalD3++; + if (kcountHBnegativedirectionRecosignalD3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignalD3) + delete h2CeffHBnegativedirectionRecosignalD3; + //========================================================================================== 22217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignalD4 = 1; + TH1F *h2CeffHBnegativedirectionRecosignalD4 = new TH1F("h2CeffHBnegativedirectionRecosignalD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBnegativedirectionRecosignalD4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignalD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHBnegativedirectionRecosignalD4 = "<SetMarkerColor(2); + HBnegativedirectionRecosignalD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignalD4 == 1) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-16; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 2) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-15; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 3) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-14; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 4) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-13; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 5) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-12; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 6) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-11; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 7) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-10; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 8) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-9 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 9) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-8 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 10) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-7 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 11) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-6 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 12) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-5 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 13) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-4 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 14) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-3 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 15) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-2 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 16) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-1 ; depth = 4 \b"); + HBnegativedirectionRecosignalD4->Draw("Error"); + kcountHBnegativedirectionRecosignalD4++; + if (kcountHBnegativedirectionRecosignalD4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignalD4) + delete h2CeffHBnegativedirectionRecosignalD4; + + //===================================================================== END of Recosignal HB for phi-symmetry + //===================================================================== END of Recosignal HB for phi-symmetry + //===================================================================== END of Recosignal HB for phi-symmetry + + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HE + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[3]; + ndepth = 7; + // const int ndepth = 7; + double arecosignalhe[ndepth][njeta][njphi]; + double recosignalvariancehe[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Recosignal HE + TH2F *recSignalEnergy1HE1 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE1"); + TH2F *recSignalEnergy0HE1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE1"); + TH2F *recSignalEnergyHE1 = (TH2F *)recSignalEnergy1HE1->Clone("recSignalEnergyHE1"); + recSignalEnergyHE1->Divide(recSignalEnergy1HE1, recSignalEnergy0HE1, 1, 1, "B"); + TH2F *recSignalEnergy1HE2 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE2"); + TH2F *recSignalEnergy0HE2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE2"); + TH2F *recSignalEnergyHE2 = (TH2F *)recSignalEnergy1HE2->Clone("recSignalEnergyHE2"); + recSignalEnergyHE2->Divide(recSignalEnergy1HE2, recSignalEnergy0HE2, 1, 1, "B"); + TH2F *recSignalEnergy1HE3 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE3"); + TH2F *recSignalEnergy0HE3 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE3"); + TH2F *recSignalEnergyHE3 = (TH2F *)recSignalEnergy1HE3->Clone("recSignalEnergyHE3"); + recSignalEnergyHE3->Divide(recSignalEnergy1HE3, recSignalEnergy0HE3, 1, 1, "B"); + TH2F *recSignalEnergy1HE4 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE4"); + TH2F *recSignalEnergy0HE4 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE4"); + TH2F *recSignalEnergyHE4 = (TH2F *)recSignalEnergy1HE4->Clone("recSignalEnergyHE4"); + recSignalEnergyHE4->Divide(recSignalEnergy1HE4, recSignalEnergy0HE4, 1, 1, "B"); + TH2F *recSignalEnergy1HE5 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE5"); + TH2F *recSignalEnergy0HE5 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE5"); + TH2F *recSignalEnergyHE5 = (TH2F *)recSignalEnergy1HE5->Clone("recSignalEnergyHE5"); + recSignalEnergyHE5->Divide(recSignalEnergy1HE5, recSignalEnergy0HE5, 1, 1, "B"); + TH2F *recSignalEnergy1HE6 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE6"); + TH2F *recSignalEnergy0HE6 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE6"); + TH2F *recSignalEnergyHE6 = (TH2F *)recSignalEnergy1HE6->Clone("recSignalEnergyHE6"); + recSignalEnergyHE6->Divide(recSignalEnergy1HE6, recSignalEnergy0HE6, 1, 1, "B"); + TH2F *recSignalEnergy1HE7 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE7"); + TH2F *recSignalEnergy0HE7 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE7"); + TH2F *recSignalEnergyHE7 = (TH2F *)recSignalEnergy1HE7->Clone("recSignalEnergyHE7"); + recSignalEnergyHE7->Divide(recSignalEnergy1HE7, recSignalEnergy0HE7, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + //====================================================================== PHI normalization & put R into massive arecosignalhe + //preparation for PHI normalization: + double sumrecosignalHE0 = 0; + int nsumrecosignalHE0 = 0; + double sumrecosignalHE1 = 0; + int nsumrecosignalHE1 = 0; + double sumrecosignalHE2 = 0; + int nsumrecosignalHE2 = 0; + double sumrecosignalHE3 = 0; + int nsumrecosignalHE3 = 0; + double sumrecosignalHE4 = 0; + int nsumrecosignalHE4 = 0; + double sumrecosignalHE5 = 0; + int nsumrecosignalHE5 = 0; + double sumrecosignalHE6 = 0; + int nsumrecosignalHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + arecosignalhe[0][jeta][jphi] = recSignalEnergyHE1->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[1][jeta][jphi] = recSignalEnergyHE2->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[2][jeta][jphi] = recSignalEnergyHE3->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[3][jeta][jphi] = recSignalEnergyHE4->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[4][jeta][jphi] = recSignalEnergyHE5->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[5][jeta][jphi] = recSignalEnergyHE6->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[6][jeta][jphi] = recSignalEnergyHE7->GetBinContent(jeta + 1, jphi + 1); + if (arecosignalhe[0][jeta][jphi] > 0.) { + sumrecosignalHE0 += arecosignalhe[0][jeta][jphi]; + ++nsumrecosignalHE0; + } + if (arecosignalhe[1][jeta][jphi] > 0.) { + sumrecosignalHE1 += arecosignalhe[1][jeta][jphi]; + ++nsumrecosignalHE1; + } + if (arecosignalhe[2][jeta][jphi] > 0.) { + sumrecosignalHE2 += arecosignalhe[2][jeta][jphi]; + ++nsumrecosignalHE2; + } + if (arecosignalhe[3][jeta][jphi] > 0.) { + sumrecosignalHE3 += arecosignalhe[3][jeta][jphi]; + ++nsumrecosignalHE3; + } + if (arecosignalhe[4][jeta][jphi] > 0.) { + sumrecosignalHE4 += arecosignalhe[4][jeta][jphi]; + ++nsumrecosignalHE4; + } + if (arecosignalhe[5][jeta][jphi] > 0.) { + sumrecosignalHE5 += arecosignalhe[5][jeta][jphi]; + ++nsumrecosignalHE5; + } + if (arecosignalhe[6][jeta][jphi] > 0.) { + sumrecosignalHE6 += arecosignalhe[6][jeta][jphi]; + ++nsumrecosignalHE6; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (arecosignalhe[0][jeta][jphi] > 0.) + arecosignalhe[0][jeta][jphi] /= (sumrecosignalHE0 / nsumrecosignalHE0); + if (arecosignalhe[1][jeta][jphi] > 0.) + arecosignalhe[1][jeta][jphi] /= (sumrecosignalHE1 / nsumrecosignalHE1); + if (arecosignalhe[2][jeta][jphi] > 0.) + arecosignalhe[2][jeta][jphi] /= (sumrecosignalHE2 / nsumrecosignalHE2); + if (arecosignalhe[3][jeta][jphi] > 0.) + arecosignalhe[3][jeta][jphi] /= (sumrecosignalHE3 / nsumrecosignalHE3); + if (arecosignalhe[4][jeta][jphi] > 0.) + arecosignalhe[4][jeta][jphi] /= (sumrecosignalHE4 / nsumrecosignalHE4); + if (arecosignalhe[5][jeta][jphi] > 0.) + arecosignalhe[5][jeta][jphi] /= (sumrecosignalHE5 / nsumrecosignalHE5); + if (arecosignalhe[6][jeta][jphi] > 0.) + arecosignalhe[6][jeta][jphi] /= (sumrecosignalHE6 / nsumrecosignalHE6); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthes + //====================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: R, averaged over depthes *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRrecosignalHE42D = new TH2F("GefzRrecosignalHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHE42D0 = new TH2F("GefzRrecosignalHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHE42DF = (TH2F *)GefzRrecosignalHE42D0->Clone("GefzRrecosignalHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRrecosignalHE42D->Fill(kkk, jphi, ccc1); + GefzRrecosignalHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + GefzRrecosignalHE42DF->Divide(GefzRrecosignalHE42D, GefzRrecosignalHE42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHE42DF->SetXTitle("_depth #eta \b"); + GefzRrecosignalHE42DF->SetYTitle(" #phi \b"); + GefzRrecosignalHE42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitSignal_HE = (TH1F *)hfile->Get("h_energyhitSignal_HE"); + energyhitSignal_HE->SetMarkerStyle(20); + energyhitSignal_HE->SetMarkerSize(0.4); + energyhitSignal_HE->GetYaxis()->SetLabelSize(0.04); + energyhitSignal_HE->SetXTitle("energyhitSignal_HE \b"); + energyhitSignal_HE->SetMarkerColor(2); + energyhitSignal_HE->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitSignal_HE->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RrecosignalGeneralD2PhiSymmetryHE.png"); + c2x1->Clear(); + // clean-up + if (GefzRrecosignalHE42D) + delete GefzRrecosignalHE42D; + if (GefzRrecosignalHE42D0) + delete GefzRrecosignalHE42D0; + if (GefzRrecosignalHE42DF) + delete GefzRrecosignalHE42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRrecosignalHE41D = new TH1F("GefzRrecosignalHE41D", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHE41D0 = new TH1F("GefzRrecosignalHE41D0", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHE41DF = (TH1F *)GefzRrecosignalHE41D0->Clone("GefzRrecosignalHE41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRrecosignalHE41D->Fill(jphi, ccc1); + GefzRrecosignalHE41D0->Fill(jphi, 1.); + } + } + } + } + GefzRrecosignalHE41DF->Divide( + GefzRrecosignalHE41D, GefzRrecosignalHE41D0, 1, 1, "B"); // R averaged over depthes & eta + GefzRrecosignalHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRrecosignalHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHE41DF->SetMarkerStyle(20); + GefzRrecosignalHE41DF->SetMarkerSize(1.4); + GefzRrecosignalHE41DF->GetZaxis()->SetLabelSize(0.08); + GefzRrecosignalHE41DF->SetXTitle("#phi \b"); + GefzRrecosignalHE41DF->SetYTitle(" \b"); + GefzRrecosignalHE41DF->SetZTitle("_PHI - AllDepthes \b"); + GefzRrecosignalHE41DF->SetMarkerColor(4); + GefzRrecosignalHE41DF->SetLineColor( + 4); // GefzRrecosignalHE41DF->SetMinimum(0.8); // GefzRrecosignalHE41DF->SetMaximum(1.000); + GefzRrecosignalHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RrecosignalGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (GefzRrecosignalHE41D) + delete GefzRrecosignalHE41D; + if (GefzRrecosignalHE41D0) + delete GefzRrecosignalHE41D0; + if (GefzRrecosignalHE41DF) + delete GefzRrecosignalHE41DF; + + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal1 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal1 = new TH1F("h2CeffHEpositivedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEpositivedirectionRecosignal1 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal1 == 1) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 2) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 3) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 4) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 5) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 6) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 7) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 8) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 9) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 10) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 11) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 12) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionRecosignal1->Draw("Error"); + kcountHEpositivedirectionRecosignal1++; + if (kcountHEpositivedirectionRecosignal1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal1) + delete h2CeffHEpositivedirectionRecosignal1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal2 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal2 = new TH1F("h2CeffHEpositivedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEpositivedirectionRecosignal2 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal2 == 1) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 2) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 3) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 4) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 5) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 6) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 7) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 8) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 9) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 10) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 11) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 12) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 13) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionRecosignal2->Draw("Error"); + kcountHEpositivedirectionRecosignal2++; + if (kcountHEpositivedirectionRecosignal2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal2) + delete h2CeffHEpositivedirectionRecosignal2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal3 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal3 = new TH1F("h2CeffHEpositivedirectionRecosignal3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEpositivedirectionRecosignal3 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal3 == 1) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 2) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 3) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 4) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 5) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 6) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 7) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 8) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 9) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 10) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 11) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 12) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 13) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionRecosignal3->Draw("Error"); + kcountHEpositivedirectionRecosignal3++; + if (kcountHEpositivedirectionRecosignal3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal3) + delete h2CeffHEpositivedirectionRecosignal3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal4 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal4 = new TH1F("h2CeffHEpositivedirectionRecosignal4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEpositivedirectionRecosignal4 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal4 == 1) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 2) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 3) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 4) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 5) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 6) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 7) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 8) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 9) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 10) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 11) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 12) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionRecosignal4->Draw("Error"); + kcountHEpositivedirectionRecosignal4++; + if (kcountHEpositivedirectionRecosignal4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal4) + delete h2CeffHEpositivedirectionRecosignal4; + //========================================================================================== 8 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal5 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal5 = new TH1F("h2CeffHEpositivedirectionRecosignal5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEpositivedirectionRecosignal5 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal5 == 1) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 2) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 3) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 4) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 5) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 6) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 7) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 8) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 9) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 10) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 11) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionRecosignal5->Draw("Error"); + kcountHEpositivedirectionRecosignal5++; + if (kcountHEpositivedirectionRecosignal5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal5) + delete h2CeffHEpositivedirectionRecosignal5; + //========================================================================================== 9 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal6 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal6 = new TH1F("h2CeffHEpositivedirectionRecosignal6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEpositivedirectionRecosignal6 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal6 == 1) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 2) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 3) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 4) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 5) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 6) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 7) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 8) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 9) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 10) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionRecosignal6->Draw("Error"); + kcountHEpositivedirectionRecosignal6++; + if (kcountHEpositivedirectionRecosignal6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal6) + delete h2CeffHEpositivedirectionRecosignal6; + //========================================================================================== 10 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal7 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal7 = new TH1F("h2CeffHEpositivedirectionRecosignal7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEpositivedirectionRecosignal7 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal7 == 1) + HEpositivedirectionRecosignal7->SetXTitle("R for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionRecosignal7 == 2) + HEpositivedirectionRecosignal7->SetXTitle("R for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionRecosignal7 == 3) + HEpositivedirectionRecosignal7->SetXTitle("R for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionRecosignal7->Draw("Error"); + kcountHEpositivedirectionRecosignal7++; + if (kcountHEpositivedirectionRecosignal7 > 3) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal7) + delete h2CeffHEpositivedirectionRecosignal7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal1 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal1 = new TH1F("h2CeffHEnegativedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEnegativedirectionRecosignal1 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal1 == 1) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 2) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 3) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 4) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 5) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 6) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 7) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 8) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 9) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 10) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 11) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 12) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionRecosignal1->Draw("Error"); + kcountHEnegativedirectionRecosignal1++; + if (kcountHEnegativedirectionRecosignal1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal1) + delete h2CeffHEnegativedirectionRecosignal1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal2 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal2 = new TH1F("h2CeffHEnegativedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEnegativedirectionRecosignal2 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal2 == 1) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 2) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 3) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 4) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 5) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 6) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 7) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 8) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 9) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 10) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 11) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 12) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 13) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionRecosignal2->Draw("Error"); + kcountHEnegativedirectionRecosignal2++; + if (kcountHEnegativedirectionRecosignal2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal2) + delete h2CeffHEnegativedirectionRecosignal2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal3 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal3 = new TH1F("h2CeffHEnegativedirectionRecosignal3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEnegativedirectionRecosignal3 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal3 == 1) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 2) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 3) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 4) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 5) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 6) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 7) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 8) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 9) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 10) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 11) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 12) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 13) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionRecosignal3->Draw("Error"); + kcountHEnegativedirectionRecosignal3++; + if (kcountHEnegativedirectionRecosignal3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal3) + delete h2CeffHEnegativedirectionRecosignal3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal4 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal4 = new TH1F("h2CeffHEnegativedirectionRecosignal4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEnegativedirectionRecosignal4 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal4 == 1) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 2) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 3) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 4) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 5) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 6) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 7) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 8) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 9) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 10) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 11) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 12) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionRecosignal4->Draw("Error"); + kcountHEnegativedirectionRecosignal4++; + if (kcountHEnegativedirectionRecosignal4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal4) + delete h2CeffHEnegativedirectionRecosignal4; + //========================================================================================== 1118 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal5 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal5 = new TH1F("h2CeffHEnegativedirectionRecosignal5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEnegativedirectionRecosignal5 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal5 == 1) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 2) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 3) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 4) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 5) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 6) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 7) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 8) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 9) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 10) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 11) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionRecosignal5->Draw("Error"); + kcountHEnegativedirectionRecosignal5++; + if (kcountHEnegativedirectionRecosignal5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal5) + delete h2CeffHEnegativedirectionRecosignal5; + //========================================================================================== 1119 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal6 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal6 = new TH1F("h2CeffHEnegativedirectionRecosignal6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEnegativedirectionRecosignal6 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal6 == 1) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 2) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 3) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 4) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 5) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 6) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 7) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 8) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 9) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 10) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionRecosignal6->Draw("Error"); + kcountHEnegativedirectionRecosignal6++; + if (kcountHEnegativedirectionRecosignal6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal6) + delete h2CeffHEnegativedirectionRecosignal6; + //========================================================================================== 11110 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal7 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal7 = new TH1F("h2CeffHEnegativedirectionRecosignal7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEnegativedirectionRecosignal7 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal7 == 1) + HEnegativedirectionRecosignal7->SetXTitle("R for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionRecosignal7 == 2) + HEnegativedirectionRecosignal7->SetXTitle("R for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionRecosignal7 == 3) + HEnegativedirectionRecosignal7->SetXTitle("R for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionRecosignal7->Draw("Error"); + kcountHEnegativedirectionRecosignal7++; + if (kcountHEnegativedirectionRecosignal7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal7) + delete h2CeffHEnegativedirectionRecosignal7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recSignalEnergy2_HE1"); + TH2F *recosignalVariance0HE1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE1"); + TH2F *recosignalVarianceHE1 = (TH2F *)recosignalVariance1HE1->Clone("recosignalVarianceHE1"); + recosignalVarianceHE1->Divide(recosignalVariance1HE1, recosignalVariance0HE1, 1, 1, "B"); + TH2F *recosignalVariance1HE2 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE2"); + TH2F *recosignalVariance0HE2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE2"); + TH2F *recosignalVarianceHE2 = (TH2F *)recosignalVariance1HE2->Clone("recosignalVarianceHE2"); + recosignalVarianceHE2->Divide(recosignalVariance1HE2, recosignalVariance0HE2, 1, 1, "B"); + TH2F *recosignalVariance1HE3 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE3"); + TH2F *recosignalVariance0HE3 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE3"); + TH2F *recosignalVarianceHE3 = (TH2F *)recosignalVariance1HE3->Clone("recosignalVarianceHE3"); + recosignalVarianceHE3->Divide(recosignalVariance1HE3, recosignalVariance0HE3, 1, 1, "B"); + TH2F *recosignalVariance1HE4 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE4"); + TH2F *recosignalVariance0HE4 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE4"); + TH2F *recosignalVarianceHE4 = (TH2F *)recosignalVariance1HE4->Clone("recosignalVarianceHE4"); + recosignalVarianceHE4->Divide(recosignalVariance1HE4, recosignalVariance0HE4, 1, 1, "B"); + TH2F *recosignalVariance1HE5 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE5"); + TH2F *recosignalVariance0HE5 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE5"); + TH2F *recosignalVarianceHE5 = (TH2F *)recosignalVariance1HE5->Clone("recosignalVarianceHE5"); + recosignalVarianceHE5->Divide(recosignalVariance1HE5, recosignalVariance0HE5, 1, 1, "B"); + TH2F *recosignalVariance1HE6 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE6"); + TH2F *recosignalVariance0HE6 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE6"); + TH2F *recosignalVarianceHE6 = (TH2F *)recosignalVariance1HE6->Clone("recosignalVarianceHE6"); + recosignalVarianceHE6->Divide(recosignalVariance1HE6, recosignalVariance0HE6, 1, 1, "B"); + TH2F *recosignalVariance1HE7 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE7"); + TH2F *recosignalVariance0HE7 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE7"); + TH2F *recosignalVarianceHE7 = (TH2F *)recosignalVariance1HE7->Clone("recosignalVarianceHE7"); + recosignalVarianceHE7->Divide(recosignalVariance1HE7, recosignalVariance0HE7, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive recosignalvariancehe + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumrecosignalHE0 = 0; + int nsumrecosignalHE0 = 0; + double sumrecosignalHE1 = 0; + int nsumrecosignalHE1 = 0; + double sumrecosignalHE2 = 0; + int nsumrecosignalHE2 = 0; + double sumrecosignalHE3 = 0; + int nsumrecosignalHE3 = 0; + double sumrecosignalHE4 = 0; + int nsumrecosignalHE4 = 0; + double sumrecosignalHE5 = 0; + int nsumrecosignalHE5 = 0; + double sumrecosignalHE6 = 0; + int nsumrecosignalHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + recosignalvariancehe[0][jeta][jphi] = recosignalVarianceHE1->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[1][jeta][jphi] = recosignalVarianceHE2->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[2][jeta][jphi] = recosignalVarianceHE3->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[3][jeta][jphi] = recosignalVarianceHE4->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[4][jeta][jphi] = recosignalVarianceHE5->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[5][jeta][jphi] = recosignalVarianceHE6->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[6][jeta][jphi] = recosignalVarianceHE7->GetBinContent(jeta + 1, jphi + 1); + if (recosignalvariancehe[0][jeta][jphi] > 0.) { + sumrecosignalHE0 += recosignalvariancehe[0][jeta][jphi]; + ++nsumrecosignalHE0; + } + if (recosignalvariancehe[1][jeta][jphi] > 0.) { + sumrecosignalHE1 += recosignalvariancehe[1][jeta][jphi]; + ++nsumrecosignalHE1; + } + if (recosignalvariancehe[2][jeta][jphi] > 0.) { + sumrecosignalHE2 += recosignalvariancehe[2][jeta][jphi]; + ++nsumrecosignalHE2; + } + if (recosignalvariancehe[3][jeta][jphi] > 0.) { + sumrecosignalHE3 += recosignalvariancehe[3][jeta][jphi]; + ++nsumrecosignalHE3; + } + if (recosignalvariancehe[4][jeta][jphi] > 0.) { + sumrecosignalHE4 += recosignalvariancehe[4][jeta][jphi]; + ++nsumrecosignalHE4; + } + if (recosignalvariancehe[5][jeta][jphi] > 0.) { + sumrecosignalHE5 += recosignalvariancehe[5][jeta][jphi]; + ++nsumrecosignalHE5; + } + if (recosignalvariancehe[6][jeta][jphi] > 0.) { + sumrecosignalHE6 += recosignalvariancehe[6][jeta][jphi]; + ++nsumrecosignalHE6; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (recosignalvariancehe[0][jeta][jphi] > 0.) + recosignalvariancehe[0][jeta][jphi] /= (sumrecosignalHE0 / nsumrecosignalHE0); + if (recosignalvariancehe[1][jeta][jphi] > 0.) + recosignalvariancehe[1][jeta][jphi] /= (sumrecosignalHE1 / nsumrecosignalHE1); + if (recosignalvariancehe[2][jeta][jphi] > 0.) + recosignalvariancehe[2][jeta][jphi] /= (sumrecosignalHE2 / nsumrecosignalHE2); + if (recosignalvariancehe[3][jeta][jphi] > 0.) + recosignalvariancehe[3][jeta][jphi] /= (sumrecosignalHE3 / nsumrecosignalHE3); + if (recosignalvariancehe[4][jeta][jphi] > 0.) + recosignalvariancehe[4][jeta][jphi] /= (sumrecosignalHE4 / nsumrecosignalHE4); + if (recosignalvariancehe[5][jeta][jphi] > 0.) + recosignalvariancehe[5][jeta][jphi] /= (sumrecosignalHE5 / nsumrecosignalHE5); + if (recosignalvariancehe[6][jeta][jphi] > 0.) + recosignalvariancehe[6][jeta][jphi] /= (sumrecosignalHE6 / nsumrecosignalHE6); + } // phi + // recosignalvariancehe (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDrecosignalHE42D = new TH2F("DefzDrecosignalHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHE42D0 = new TH2F("DefzDrecosignalHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHE42DF = (TH2F *)DefzDrecosignalHE42D0->Clone("DefzDrecosignalHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (arecosignalhe[i][jeta][jphi] > 0.) { + DefzDrecosignalHE42D->Fill(kkk, jphi, ccc1); + DefzDrecosignalHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + DefzDrecosignalHE42DF->Divide(DefzDrecosignalHE42D, DefzDrecosignalHE42D0, 1, 1, "B"); // average A + // DefzDrecosignalHE1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHE42DF->SetMarkerStyle(20); + DefzDrecosignalHE42DF->SetMarkerSize(0.4); + DefzDrecosignalHE42DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHE42DF->SetXTitle("_depth #eta \b"); + DefzDrecosignalHE42DF->SetYTitle(" #phi \b"); + DefzDrecosignalHE42DF->SetZTitle("_depth \b"); + DefzDrecosignalHE42DF->SetMarkerColor(2); + DefzDrecosignalHE42DF->SetLineColor( + 0); // DefzDrecosignalHE42DF->SetMaximum(1.000); // DefzDrecosignalHE42DF->SetMinimum(1.0); + DefzDrecosignalHE42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DrecosignalGeneralD2PhiSymmetryHE.png"); + c1x0->Clear(); + // clean-up + if (DefzDrecosignalHE42D) + delete DefzDrecosignalHE42D; + if (DefzDrecosignalHE42D0) + delete DefzDrecosignalHE42D0; + if (DefzDrecosignalHE42DF) + delete DefzDrecosignalHE42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDrecosignalHE41D = new TH1F("DefzDrecosignalHE41D", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHE41D0 = new TH1F("DefzDrecosignalHE41D0", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHE41DF = (TH1F *)DefzDrecosignalHE41D0->Clone("DefzDrecosignalHE41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + DefzDrecosignalHE41D->Fill(jphi, ccc1); + DefzDrecosignalHE41D0->Fill(jphi, 1.); + } + } + } + } + // DefzDrecosignalHE41D->Sumw2();DefzDrecosignalHE41D0->Sumw2(); + + DefzDrecosignalHE41DF->Divide( + DefzDrecosignalHE41D, DefzDrecosignalHE41D0, 1, 1, "B"); // R averaged over depthes & eta + DefzDrecosignalHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDrecosignalHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHE41DF->SetMarkerStyle(20); + DefzDrecosignalHE41DF->SetMarkerSize(1.4); + DefzDrecosignalHE41DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHE41DF->SetXTitle("#phi \b"); + DefzDrecosignalHE41DF->SetYTitle(" \b"); + DefzDrecosignalHE41DF->SetZTitle("_PHI - AllDepthes \b"); + DefzDrecosignalHE41DF->SetMarkerColor(4); + DefzDrecosignalHE41DF->SetLineColor( + 4); // DefzDrecosignalHE41DF->SetMinimum(0.8); DefzDrecosignalHE41DF->SetMinimum(-0.015); + DefzDrecosignalHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DrecosignalGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (DefzDrecosignalHE41D) + delete DefzDrecosignalHE41D; + if (DefzDrecosignalHE41D0) + delete DefzDrecosignalHE41D0; + if (DefzDrecosignalHE41DF) + delete DefzDrecosignalHE41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD1 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD1 = new TH1F("h2CeffHEpositivedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEpositivedirectionRecosignalD1 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD1 == 1) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 2) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 3) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 4) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 5) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 6) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 7) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 8) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 9) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 10) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 11) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 12) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionRecosignalD1->Draw("Error"); + kcountHEpositivedirectionRecosignalD1++; + if (kcountHEpositivedirectionRecosignalD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD1) + delete h2CeffHEpositivedirectionRecosignalD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD2 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD2 = new TH1F("h2CeffHEpositivedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEpositivedirectionRecosignalD2 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD2 == 1) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 2) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 3) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 4) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 5) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 6) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 7) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 8) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 9) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 10) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 11) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 12) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 13) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionRecosignalD2->Draw("Error"); + kcountHEpositivedirectionRecosignalD2++; + if (kcountHEpositivedirectionRecosignalD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD2) + delete h2CeffHEpositivedirectionRecosignalD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD3 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD3 = new TH1F("h2CeffHEpositivedirectionRecosignalD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEpositivedirectionRecosignalD3 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD3 == 1) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 2) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 3) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 4) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 5) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 6) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 7) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 8) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 9) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 10) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 11) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 12) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 13) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionRecosignalD3->Draw("Error"); + kcountHEpositivedirectionRecosignalD3++; + if (kcountHEpositivedirectionRecosignalD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD3) + delete h2CeffHEpositivedirectionRecosignalD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD4 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD4 = new TH1F("h2CeffHEpositivedirectionRecosignalD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEpositivedirectionRecosignalD4 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD4 == 1) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 2) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 3) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 4) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 5) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 6) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 7) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 8) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 9) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 10) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 11) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 12) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionRecosignalD4->Draw("Error"); + kcountHEpositivedirectionRecosignalD4++; + if (kcountHEpositivedirectionRecosignalD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD4) + delete h2CeffHEpositivedirectionRecosignalD4; + //========================================================================================== 18 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD5 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD5 = new TH1F("h2CeffHEpositivedirectionRecosignalD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD5->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEpositivedirectionRecosignalD5 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD5 == 1) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 2) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 3) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 4) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 5) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 6) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 7) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 8) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 9) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 10) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 11) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionRecosignalD5->Draw("Error"); + kcountHEpositivedirectionRecosignalD5++; + if (kcountHEpositivedirectionRecosignalD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD5) + delete h2CeffHEpositivedirectionRecosignalD5; + //========================================================================================== 19 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD6 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD6 = new TH1F("h2CeffHEpositivedirectionRecosignalD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEpositivedirectionRecosignalD6 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD6 == 1) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 2) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 3) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 4) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 5) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 6) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 7) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 8) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 9) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 10) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionRecosignalD6->Draw("Error"); + kcountHEpositivedirectionRecosignalD6++; + if (kcountHEpositivedirectionRecosignalD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD6) + delete h2CeffHEpositivedirectionRecosignalD6; + //========================================================================================== 20 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD7 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD7 = new TH1F("h2CeffHEpositivedirectionRecosignalD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEpositivedirectionRecosignalD7 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD7 == 1) + HEpositivedirectionRecosignalD7->SetXTitle("D for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionRecosignalD7 == 2) + HEpositivedirectionRecosignalD7->SetXTitle("D for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionRecosignalD7 == 3) + HEpositivedirectionRecosignalD7->SetXTitle("D for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionRecosignalD7->Draw("Error"); + kcountHEpositivedirectionRecosignalD7++; + if (kcountHEpositivedirectionRecosignalD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD7) + delete h2CeffHEpositivedirectionRecosignalD7; + + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD1 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD1 = new TH1F("h2CeffHEnegativedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEnegativedirectionRecosignalD1 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD1 == 1) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 2) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 3) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 4) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 5) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 6) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 7) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 8) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 9) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 10) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 11) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 12) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionRecosignalD1->Draw("Error"); + kcountHEnegativedirectionRecosignalD1++; + if (kcountHEnegativedirectionRecosignalD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD1) + delete h2CeffHEnegativedirectionRecosignalD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD2 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD2 = new TH1F("h2CeffHEnegativedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEnegativedirectionRecosignalD2 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD2 == 1) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 2) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 3) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 4) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 5) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 6) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 7) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 8) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 9) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 10) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 11) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 12) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 13) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionRecosignalD2->Draw("Error"); + kcountHEnegativedirectionRecosignalD2++; + if (kcountHEnegativedirectionRecosignalD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD2) + delete h2CeffHEnegativedirectionRecosignalD2; + //========================================================================================== 22222216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD3 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD3 = new TH1F("h2CeffHEnegativedirectionRecosignalD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEnegativedirectionRecosignalD3 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD3 == 1) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 2) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 3) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 4) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 5) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 6) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 7) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 8) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 9) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 10) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 11) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 12) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 13) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionRecosignalD3->Draw("Error"); + kcountHEnegativedirectionRecosignalD3++; + if (kcountHEnegativedirectionRecosignalD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD3) + delete h2CeffHEnegativedirectionRecosignalD3; + //========================================================================================== 22222217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD4 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD4 = new TH1F("h2CeffHEnegativedirectionRecosignalD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEnegativedirectionRecosignalD4 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD4 == 1) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 2) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 3) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 4) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 5) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 6) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 7) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 8) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 9) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 10) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 11) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 12) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionRecosignalD4->Draw("Error"); + kcountHEnegativedirectionRecosignalD4++; + if (kcountHEnegativedirectionRecosignalD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD4) + delete h2CeffHEnegativedirectionRecosignalD4; + //========================================================================================== 22222218 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD5 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD5 = new TH1F("h2CeffHEnegativedirectionRecosignalD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD5->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEnegativedirectionRecosignalD5 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD5 == 1) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 2) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 3) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 4) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 5) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 6) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 7) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 8) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 9) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 10) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 11) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionRecosignalD5->Draw("Error"); + kcountHEnegativedirectionRecosignalD5++; + if (kcountHEnegativedirectionRecosignalD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD5) + delete h2CeffHEnegativedirectionRecosignalD5; + //========================================================================================== 22222219 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD6 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD6 = new TH1F("h2CeffHEnegativedirectionRecosignalD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEnegativedirectionRecosignalD6 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD6 == 1) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 2) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 3) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 4) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 5) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 6) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 7) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 8) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 9) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 10) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionRecosignalD6->Draw("Error"); + kcountHEnegativedirectionRecosignalD6++; + if (kcountHEnegativedirectionRecosignalD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD6) + delete h2CeffHEnegativedirectionRecosignalD6; + //========================================================================================== 22222220 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD7 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD7 = new TH1F("h2CeffHEnegativedirectionRecosignalD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEnegativedirectionRecosignalD7 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD7 == 1) + HEnegativedirectionRecosignalD7->SetXTitle("D for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionRecosignalD7 == 2) + HEnegativedirectionRecosignalD7->SetXTitle("D for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionRecosignalD7 == 3) + HEnegativedirectionRecosignalD7->SetXTitle("D for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionRecosignalD7->Draw("Error"); + kcountHEnegativedirectionRecosignalD7++; + if (kcountHEnegativedirectionRecosignalD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD7) + delete h2CeffHEnegativedirectionRecosignalD7; + //===================================================================== END of Recosignal HE for phi-symmetry + //===================================================================== END of Recosignal HE for phi-symmetry + //===================================================================== END of Recosignal HE for phi-symmetry + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HF + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 2; + double arecosignalHF[ndepth][njeta][njphi]; + double recosignalvarianceHF[ndepth][njeta][njphi]; + //cout<<"111RRRRRRRRRRRRRRRRRRRRRRRRR Recosignal HF" <Get("h_recSignalEnergy1_HF1"); + TH2F *recSignalEnergy0HF1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HF1"); + TH2F *recSignalEnergyHF1 = (TH2F *)recSignalEnergy1HF1->Clone("recSignalEnergyHF1"); + recSignalEnergyHF1->Divide(recSignalEnergy1HF1, recSignalEnergy0HF1, 1, 1, "B"); + TH2F *recSignalEnergy1HF2 = (TH2F *)hfile->Get("h_recSignalEnergy1_HF2"); + TH2F *recSignalEnergy0HF2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HF2"); + TH2F *recSignalEnergyHF2 = (TH2F *)recSignalEnergy1HF2->Clone("recSignalEnergyHF2"); + recSignalEnergyHF2->Divide(recSignalEnergy1HF2, recSignalEnergy0HF2, 1, 1, "B"); + // cout<<"222RRRRRRRRRRRRRRRRRRRRRRRRR Recosignal HF" <GetBinContent(jeta + 1, jphi + 1); + arecosignalHF[1][jeta][jphi] = recSignalEnergyHF2->GetBinContent(jeta + 1, jphi + 1); + if (arecosignalHF[0][jeta][jphi] > 0.) { + sumrecosignalHF0 += arecosignalHF[0][jeta][jphi]; + ++nsumrecosignalHF0; + } + if (arecosignalHF[1][jeta][jphi] > 0.) { + sumrecosignalHF1 += arecosignalHF[1][jeta][jphi]; + ++nsumrecosignalHF1; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (arecosignalHF[0][jeta][jphi] > 0.) + arecosignalHF[0][jeta][jphi] /= (sumrecosignalHF0 / nsumrecosignalHF0); + if (arecosignalHF[1][jeta][jphi] > 0.) + arecosignalHF[1][jeta][jphi] /= (sumrecosignalHF1 / nsumrecosignalHF1); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs + //====================================================================== + //====================================================================== + // cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRrecosignalHF42D = new TH2F("GefzRrecosignalHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHF42D0 = new TH2F("GefzRrecosignalHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHF42DF = (TH2F *)GefzRrecosignalHF42D0->Clone("GefzRrecosignalHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRrecosignalHF42D->Fill(kkk, jphi, ccc1); + GefzRrecosignalHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + GefzRrecosignalHF42DF->Divide(GefzRrecosignalHF42D, GefzRrecosignalHF42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHF42DF->SetXTitle("_depth #eta \b"); + GefzRrecosignalHF42DF->SetYTitle(" #phi \b"); + GefzRrecosignalHF42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitSignal_HF = (TH1F *)hfile->Get("h_energyhitSignal_HF"); + energyhitSignal_HF->SetMarkerStyle(20); + energyhitSignal_HF->SetMarkerSize(0.4); + energyhitSignal_HF->GetYaxis()->SetLabelSize(0.04); + energyhitSignal_HF->SetXTitle("energyhitSignal_HF \b"); + energyhitSignal_HF->SetMarkerColor(2); + energyhitSignal_HF->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitSignal_HF->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RrecosignalGeneralD2PhiSymmetryHF.png"); + c2x1->Clear(); + // clean-up + if (GefzRrecosignalHF42D) + delete GefzRrecosignalHF42D; + if (GefzRrecosignalHF42D0) + delete GefzRrecosignalHF42D0; + if (GefzRrecosignalHF42DF) + delete GefzRrecosignalHF42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRrecosignalHF41D = new TH1F("GefzRrecosignalHF41D", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHF41D0 = new TH1F("GefzRrecosignalHF41D0", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHF41DF = (TH1F *)GefzRrecosignalHF41D0->Clone("GefzRrecosignalHF41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRrecosignalHF41D->Fill(jphi, ccc1); + GefzRrecosignalHF41D0->Fill(jphi, 1.); + } + } + } + } + GefzRrecosignalHF41DF->Divide( + GefzRrecosignalHF41D, GefzRrecosignalHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRrecosignalHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRrecosignalHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHF41DF->SetMarkerStyle(20); + GefzRrecosignalHF41DF->SetMarkerSize(1.4); + GefzRrecosignalHF41DF->GetZaxis()->SetLabelSize(0.08); + GefzRrecosignalHF41DF->SetXTitle("#phi \b"); + GefzRrecosignalHF41DF->SetYTitle(" \b"); + GefzRrecosignalHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRrecosignalHF41DF->SetMarkerColor(4); + GefzRrecosignalHF41DF->SetLineColor( + 4); // GefzRrecosignalHF41DF->SetMinimum(0.8); // GefzRrecosignalHF41DF->SetMaximum(1.000); + GefzRrecosignalHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RrecosignalGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (GefzRrecosignalHF41D) + delete GefzRrecosignalHF41D; + if (GefzRrecosignalHF41D0) + delete GefzRrecosignalHF41D0; + if (GefzRrecosignalHF41DF) + delete GefzRrecosignalHF41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionRecosignal1 = 1; + TH1F *h2CeffHFpositivedirectionRecosignal1 = new TH1F("h2CeffHFpositivedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFpositivedirectionRecosignal1 = "<SetMarkerColor(2); + HFpositivedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionRecosignal1 == 1) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 2) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 3) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 4) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 5) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 6) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 7) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 8) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 9) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 10) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 11) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 12) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 13) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionRecosignal1->Draw("Error"); + kcountHFpositivedirectionRecosignal1++; + if (kcountHFpositivedirectionRecosignal1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionRecosignal1) + delete h2CeffHFpositivedirectionRecosignal1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionRecosignal2 = 1; + TH1F *h2CeffHFpositivedirectionRecosignal2 = new TH1F("h2CeffHFpositivedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFpositivedirectionRecosignal2 = "<SetMarkerColor(2); + HFpositivedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionRecosignal2 == 1) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 2) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 3) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 4) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 5) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 6) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 7) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 8) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 9) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 10) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 11) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 12) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 13) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionRecosignal2->Draw("Error"); + kcountHFpositivedirectionRecosignal2++; + if (kcountHFpositivedirectionRecosignal2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionRecosignal2) + delete h2CeffHFpositivedirectionRecosignal2; + + //========================================================================================== 1111114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionRecosignal1 = 1; + TH1F *h2CeffHFnegativedirectionRecosignal1 = new TH1F("h2CeffHFnegativedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFnegativedirectionRecosignal1 = "<SetMarkerColor(2); + HFnegativedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionRecosignal1 == 1) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 2) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 3) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 4) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 5) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 6) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 7) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 8) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 9) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 10) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 11) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 12) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 13) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionRecosignal1->Draw("Error"); + kcountHFnegativedirectionRecosignal1++; + if (kcountHFnegativedirectionRecosignal1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionRecosignal1) + delete h2CeffHFnegativedirectionRecosignal1; + + //========================================================================================== 1111115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionRecosignal2 = 1; + TH1F *h2CeffHFnegativedirectionRecosignal2 = new TH1F("h2CeffHFnegativedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFnegativedirectionRecosignal2 = "<SetMarkerColor(2); + HFnegativedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionRecosignal2 == 1) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 2) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 3) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 4) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 5) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 6) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 7) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 8) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 9) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 10) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 11) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 12) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 13) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-20; depth = 2 \b"); + HFnegativedirectionRecosignal2->Draw("Error"); + kcountHFnegativedirectionRecosignal2++; + if (kcountHFnegativedirectionRecosignal2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionRecosignal2) + delete h2CeffHFnegativedirectionRecosignal2; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recSignalEnergy2_HF1"); + TH2F *recosignalVariance0HF1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HF1"); + TH2F *recosignalVarianceHF1 = (TH2F *)recosignalVariance1HF1->Clone("recosignalVarianceHF1"); + recosignalVarianceHF1->Divide(recosignalVariance1HF1, recosignalVariance0HF1, 1, 1, "B"); + TH2F *recosignalVariance1HF2 = (TH2F *)hfile->Get("h_recSignalEnergy2_HF2"); + TH2F *recosignalVariance0HF2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HF2"); + TH2F *recosignalVarianceHF2 = (TH2F *)recosignalVariance1HF2->Clone("recosignalVarianceHF2"); + recosignalVarianceHF2->Divide(recosignalVariance1HF2, recosignalVariance0HF2, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive recosignalvarianceHF + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumrecosignalHF0 = 0; + int nsumrecosignalHF0 = 0; + double sumrecosignalHF1 = 0; + int nsumrecosignalHF1 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + recosignalvarianceHF[0][jeta][jphi] = recosignalVarianceHF1->GetBinContent(jeta + 1, jphi + 1); + recosignalvarianceHF[1][jeta][jphi] = recosignalVarianceHF2->GetBinContent(jeta + 1, jphi + 1); + if (recosignalvarianceHF[0][jeta][jphi] > 0.) { + sumrecosignalHF0 += recosignalvarianceHF[0][jeta][jphi]; + ++nsumrecosignalHF0; + } + if (recosignalvarianceHF[1][jeta][jphi] > 0.) { + sumrecosignalHF1 += recosignalvarianceHF[1][jeta][jphi]; + ++nsumrecosignalHF1; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (recosignalvarianceHF[0][jeta][jphi] > 0.) + recosignalvarianceHF[0][jeta][jphi] /= (sumrecosignalHF0 / nsumrecosignalHF0); + if (recosignalvarianceHF[1][jeta][jphi] > 0.) + recosignalvarianceHF[1][jeta][jphi] /= (sumrecosignalHF1 / nsumrecosignalHF1); + } // phi + // recosignalvarianceHF (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDrecosignalHF42D = new TH2F("DefzDrecosignalHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHF42D0 = new TH2F("DefzDrecosignalHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHF42DF = (TH2F *)DefzDrecosignalHF42D0->Clone("DefzDrecosignalHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (arecosignalHF[i][jeta][jphi] > 0.) { + DefzDrecosignalHF42D->Fill(kkk, jphi, ccc1); + DefzDrecosignalHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + DefzDrecosignalHF42DF->Divide(DefzDrecosignalHF42D, DefzDrecosignalHF42D0, 1, 1, "B"); // average A + // DefzDrecosignalHF1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHF42DF->SetMarkerStyle(20); + DefzDrecosignalHF42DF->SetMarkerSize(0.4); + DefzDrecosignalHF42DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHF42DF->SetXTitle("_depth #eta \b"); + DefzDrecosignalHF42DF->SetYTitle(" #phi \b"); + DefzDrecosignalHF42DF->SetZTitle("_depth \b"); + DefzDrecosignalHF42DF->SetMarkerColor(2); + DefzDrecosignalHF42DF->SetLineColor( + 0); // DefzDrecosignalHF42DF->SetMaximum(1.000); // DefzDrecosignalHF42DF->SetMinimum(1.0); + DefzDrecosignalHF42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DrecosignalGeneralD2PhiSymmetryHF.png"); + c1x0->Clear(); + // clean-up + if (DefzDrecosignalHF42D) + delete DefzDrecosignalHF42D; + if (DefzDrecosignalHF42D0) + delete DefzDrecosignalHF42D0; + if (DefzDrecosignalHF42DF) + delete DefzDrecosignalHF42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDrecosignalHF41D = new TH1F("DefzDrecosignalHF41D", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHF41D0 = new TH1F("DefzDrecosignalHF41D0", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHF41DF = (TH1F *)DefzDrecosignalHF41D0->Clone("DefzDrecosignalHF41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + if (arecosignalHF[i][jeta][jphi] > 0.) { + DefzDrecosignalHF41D->Fill(jphi, ccc1); + DefzDrecosignalHF41D0->Fill(jphi, 1.); + } + } + } + } + // DefzDrecosignalHF41D->Sumw2();DefzDrecosignalHF41D0->Sumw2(); + + DefzDrecosignalHF41DF->Divide( + DefzDrecosignalHF41D, DefzDrecosignalHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDrecosignalHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDrecosignalHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHF41DF->SetMarkerStyle(20); + DefzDrecosignalHF41DF->SetMarkerSize(1.4); + DefzDrecosignalHF41DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHF41DF->SetXTitle("#phi \b"); + DefzDrecosignalHF41DF->SetYTitle(" \b"); + DefzDrecosignalHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDrecosignalHF41DF->SetMarkerColor(4); + DefzDrecosignalHF41DF->SetLineColor( + 4); // DefzDrecosignalHF41DF->SetMinimum(0.8); DefzDrecosignalHF41DF->SetMinimum(-0.015); + DefzDrecosignalHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DrecosignalGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (DefzDrecosignalHF41D) + delete DefzDrecosignalHF41D; + if (DefzDrecosignalHF41D0) + delete DefzDrecosignalHF41D0; + if (DefzDrecosignalHF41DF) + delete DefzDrecosignalHF41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionRecosignalD1 = 1; + TH1F *h2CeffHFpositivedirectionRecosignalD1 = new TH1F("h2CeffHFpositivedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + if (arecosignalHF[i][jeta][jphi] > 0.) { + HFpositivedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFpositivedirectionRecosignalD1 = "<SetMarkerColor(2); + HFpositivedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionRecosignalD1 == 1) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 2) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 3) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 4) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 5) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 6) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 7) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 8) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 9) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 10) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 11) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 12) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 13) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionRecosignalD1->Draw("Error"); + kcountHFpositivedirectionRecosignalD1++; + if (kcountHFpositivedirectionRecosignalD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionRecosignalD1) + delete h2CeffHFpositivedirectionRecosignalD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionRecosignalD2 = 1; + TH1F *h2CeffHFpositivedirectionRecosignalD2 = new TH1F("h2CeffHFpositivedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + if (arecosignalHF[i][jeta][jphi] > 0.) { + HFpositivedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFpositivedirectionRecosignalD2 = "<SetMarkerColor(2); + HFpositivedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionRecosignalD2 == 1) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 2) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 3) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 4) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 5) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 6) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 7) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 8) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 9) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 10) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 11) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 12) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 13) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionRecosignalD2->Draw("Error"); + kcountHFpositivedirectionRecosignalD2++; + if (kcountHFpositivedirectionRecosignalD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionRecosignalD2) + delete h2CeffHFpositivedirectionRecosignalD2; + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionRecosignalD1 = 1; + TH1F *h2CeffHFnegativedirectionRecosignalD1 = new TH1F("h2CeffHFnegativedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + if (arecosignalHF[i][jeta][jphi] > 0.) { + HFnegativedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFnegativedirectionRecosignalD1 = "<SetMarkerColor(2); + HFnegativedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionRecosignalD1 == 1) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 2) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 3) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 4) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 5) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 6) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 7) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 8) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 9) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 10) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 11) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 12) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 13) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionRecosignalD1->Draw("Error"); + kcountHFnegativedirectionRecosignalD1++; + if (kcountHFnegativedirectionRecosignalD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionRecosignalD1) + delete h2CeffHFnegativedirectionRecosignalD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionRecosignalD2 = 1; + TH1F *h2CeffHFnegativedirectionRecosignalD2 = new TH1F("h2CeffHFnegativedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + if (arecosignalHF[i][jeta][jphi] > 0.) { + HFnegativedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFnegativedirectionRecosignalD2 = "<SetMarkerColor(2); + HFnegativedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionRecosignalD2 == 1) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 2) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 3) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 4) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 5) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 6) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 7) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 8) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 9) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 10) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 11) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 12) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 13) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-29; depth = 2 \b"); + HFnegativedirectionRecosignalD2->Draw("Error"); + kcountHFnegativedirectionRecosignalD2++; + if (kcountHFnegativedirectionRecosignalD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionRecosignalD2) + delete h2CeffHFnegativedirectionRecosignalD2; + + //===================================================================== END of Recosignal HF for phi-symmetry + //===================================================================== END of Recosignal HF for phi-symmetry + //===================================================================== END of Recosignal HF for phi-symmetry + //============================================================================================================ END of Recosignal for phi-symmetry + //============================================================================================================ END of Recosignal for phi-symmetry + //============================================================================================================ END of Recosignal for phi-symmetry + + ////////////////////// Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start + ////////////////////// Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start + ////////////////////// Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start + //////////////////////////////////////////////////////////////////////////////////////////////////// Reconoise HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Reconoise HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Reconoise HB + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 4; + double areconoiseHB[ndepth][njeta][njphi]; + double breconoiseHB[ndepth][njeta][njphi]; + double reconoisevarianceHB[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Reconoise HB recNoiseEnergy + TH2F *recNoiseEnergy1HB1 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HB1"); + TH2F *recNoiseEnergy0HB1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB1"); + TH2F *recNoiseEnergyHB1 = (TH2F *)recNoiseEnergy1HB1->Clone("recNoiseEnergyHB1"); + recNoiseEnergyHB1->Divide(recNoiseEnergy1HB1, recNoiseEnergy0HB1, 1, 1, "B"); + TH2F *recNoiseEnergy1HB2 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HB2"); + TH2F *recNoiseEnergy0HB2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB2"); + TH2F *recNoiseEnergyHB2 = (TH2F *)recNoiseEnergy1HB2->Clone("recNoiseEnergyHB2"); + recNoiseEnergyHB2->Divide(recNoiseEnergy1HB2, recNoiseEnergy0HB2, 1, 1, "B"); + TH2F *recNoiseEnergy1HB3 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HB3"); + TH2F *recNoiseEnergy0HB3 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB3"); + TH2F *recNoiseEnergyHB3 = (TH2F *)recNoiseEnergy1HB3->Clone("recNoiseEnergyHB3"); + recNoiseEnergyHB3->Divide(recNoiseEnergy1HB3, recNoiseEnergy0HB3, 1, 1, "B"); + TH2F *recNoiseEnergy1HB4 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HB4"); + TH2F *recNoiseEnergy0HB4 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB4"); + TH2F *recNoiseEnergyHB4 = (TH2F *)recNoiseEnergy1HB4->Clone("recNoiseEnergyHB4"); + recNoiseEnergyHB4->Divide(recNoiseEnergy1HB4, recNoiseEnergy0HB4, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + //====================================================================== PHI normalization & put R into massive areconoiseHB + //preparation for PHI normalization: + double sumreconoiseHB0 = 0; + int nsumreconoiseHB0 = 0; + double sumreconoiseHB1 = 0; + int nsumreconoiseHB1 = 0; + double sumreconoiseHB2 = 0; + int nsumreconoiseHB2 = 0; + double sumreconoiseHB3 = 0; + int nsumreconoiseHB3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + areconoiseHB[0][jeta][jphi] = recNoiseEnergyHB1->GetBinContent(jeta + 1, jphi + 1); + areconoiseHB[1][jeta][jphi] = recNoiseEnergyHB2->GetBinContent(jeta + 1, jphi + 1); + areconoiseHB[2][jeta][jphi] = recNoiseEnergyHB3->GetBinContent(jeta + 1, jphi + 1); + areconoiseHB[3][jeta][jphi] = recNoiseEnergyHB4->GetBinContent(jeta + 1, jphi + 1); + breconoiseHB[0][jeta][jphi] = recNoiseEnergyHB1->GetBinContent(jeta + 1, jphi + 1); + breconoiseHB[1][jeta][jphi] = recNoiseEnergyHB2->GetBinContent(jeta + 1, jphi + 1); + breconoiseHB[2][jeta][jphi] = recNoiseEnergyHB3->GetBinContent(jeta + 1, jphi + 1); + breconoiseHB[3][jeta][jphi] = recNoiseEnergyHB4->GetBinContent(jeta + 1, jphi + 1); + if (areconoiseHB[0][jeta][jphi] != 0.) { + sumreconoiseHB0 += areconoiseHB[0][jeta][jphi]; + ++nsumreconoiseHB0; + } + if (areconoiseHB[1][jeta][jphi] != 0.) { + sumreconoiseHB1 += areconoiseHB[1][jeta][jphi]; + ++nsumreconoiseHB1; + } + if (areconoiseHB[2][jeta][jphi] != 0.) { + sumreconoiseHB2 += areconoiseHB[2][jeta][jphi]; + ++nsumreconoiseHB2; + } + if (areconoiseHB[3][jeta][jphi] != 0.) { + sumreconoiseHB3 += areconoiseHB[3][jeta][jphi]; + ++nsumreconoiseHB3; + } + } // phi + // PHI normalization: DIF + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHB0 != 0.) + breconoiseHB[0][jeta][jphi] -= (sumreconoiseHB0 / nsumreconoiseHB0); + if (sumreconoiseHB1 != 0.) + breconoiseHB[1][jeta][jphi] -= (sumreconoiseHB1 / nsumreconoiseHB1); + if (sumreconoiseHB2 != 0.) + breconoiseHB[2][jeta][jphi] -= (sumreconoiseHB2 / nsumreconoiseHB2); + if (sumreconoiseHB3 != 0.) + breconoiseHB[3][jeta][jphi] -= (sumreconoiseHB3 / nsumreconoiseHB3); + } // phi + // PHI normalization: R + for (int jphi = 0; jphi < njphi; jphi++) { + if (areconoiseHB[0][jeta][jphi] != 0.) + areconoiseHB[0][jeta][jphi] /= (sumreconoiseHB0 / nsumreconoiseHB0); + if (areconoiseHB[1][jeta][jphi] != 0.) + areconoiseHB[1][jeta][jphi] /= (sumreconoiseHB1 / nsumreconoiseHB1); + if (areconoiseHB[2][jeta][jphi] != 0.) + areconoiseHB[2][jeta][jphi] /= (sumreconoiseHB2 / nsumreconoiseHB2); + if (areconoiseHB[3][jeta][jphi] != 0.) + areconoiseHB[3][jeta][jphi] /= (sumreconoiseHB3 / nsumreconoiseHB3); + } // phi + } //if eta + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs + //====================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRreconoiseHB42D = new TH2F("GefzRreconoiseHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHB42D0 = new TH2F("GefzRreconoiseHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHB42DF = (TH2F *)GefzRreconoiseHB42D0->Clone("GefzRreconoiseHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRreconoiseHB42D->Fill(kkk, jphi, ccc1); + GefzRreconoiseHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzRreconoiseHB42DF->Divide(GefzRreconoiseHB42D, GefzRreconoiseHB42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHB42DF->SetXTitle("_depth #eta \b"); + GefzRreconoiseHB42DF->SetYTitle(" #phi \b"); + GefzRreconoiseHB42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitNoise_HB = (TH1F *)hfile->Get("h_energyhitNoise_HB"); + energyhitNoise_HB->SetMarkerStyle(20); + energyhitNoise_HB->SetMarkerSize(0.4); + energyhitNoise_HB->GetYaxis()->SetLabelSize(0.04); + energyhitNoise_HB->SetXTitle("energyhitNoise_HB \b"); + energyhitNoise_HB->SetMarkerColor(2); + energyhitNoise_HB->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitNoise_HB->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RreconoiseGeneralD2PhiSymmetryHB.png"); + c2x1->Clear(); + // clean-up + if (GefzRreconoiseHB42D) + delete GefzRreconoiseHB42D; + if (GefzRreconoiseHB42D0) + delete GefzRreconoiseHB42D0; + if (GefzRreconoiseHB42DF) + delete GefzRreconoiseHB42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRreconoiseHB41D = new TH1F("GefzRreconoiseHB41D", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHB41D0 = new TH1F("GefzRreconoiseHB41D0", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHB41DF = (TH1F *)GefzRreconoiseHB41D0->Clone("GefzRreconoiseHB41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRreconoiseHB41D->Fill(jphi, ccc1); + GefzRreconoiseHB41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzRreconoiseHB41DF->Divide(GefzRreconoiseHB41D, GefzRreconoiseHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRreconoiseHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRreconoiseHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHB41DF->SetMarkerStyle(20); + GefzRreconoiseHB41DF->SetMarkerSize(1.4); + GefzRreconoiseHB41DF->GetZaxis()->SetLabelSize(0.08); + GefzRreconoiseHB41DF->SetXTitle("#phi \b"); + GefzRreconoiseHB41DF->SetYTitle(" \b"); + GefzRreconoiseHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRreconoiseHB41DF->SetMarkerColor(4); + GefzRreconoiseHB41DF->SetLineColor( + 4); //GefzRreconoiseHB41DF->SetMinimum(0.8); // GefzRreconoiseHB41DF->SetMaximum(1.000); + GefzRreconoiseHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RreconoiseGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (GefzRreconoiseHB41D) + delete GefzRreconoiseHB41D; + if (GefzRreconoiseHB41D0) + delete GefzRreconoiseHB41D0; + if (GefzRreconoiseHB41DF) + delete GefzRreconoiseHB41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoise1 = 1; + TH1F *h2CeffHBpositivedirectionReconoise1 = new TH1F("h2CeffHBpositivedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBpositivedirectionReconoise1 = "<SetMarkerColor(2); + HBpositivedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoise1 == 1) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 2) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 3) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 4) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 5) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 6) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 7) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 8) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 9) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 10) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 11) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 12) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 13) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 14) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 15) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 16) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionReconoise1->Draw("Error"); + kcountHBpositivedirectionReconoise1++; + if (kcountHBpositivedirectionReconoise1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoise1) + delete h2CeffHBpositivedirectionReconoise1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoise2 = 1; + TH1F *h2CeffHBpositivedirectionReconoise2 = new TH1F("h2CeffHBpositivedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBpositivedirectionReconoise2 = "<SetMarkerColor(2); + HBpositivedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoise2 == 1) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 2) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 3) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 4) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 5) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 6) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 7) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 8) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 9) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 10) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 11) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 12) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 13) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 14) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 15) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 16) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionReconoise2->Draw("Error"); + kcountHBpositivedirectionReconoise2++; + if (kcountHBpositivedirectionReconoise2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoise2) + delete h2CeffHBpositivedirectionReconoise2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoise3 = 1; + TH1F *h2CeffHBpositivedirectionReconoise3 = new TH1F("h2CeffHBpositivedirectionReconoise3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoise3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoise3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBpositivedirectionReconoise3 = "<SetMarkerColor(2); + HBpositivedirectionReconoise3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoise3 == 1) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 2) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 3) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 4) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 5) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 6) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 7) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 8) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 9) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 10) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 11) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 12) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 13) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 14) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 15) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 16) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionReconoise3->Draw("Error"); + kcountHBpositivedirectionReconoise3++; + if (kcountHBpositivedirectionReconoise3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoise3) + delete h2CeffHBpositivedirectionReconoise3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoise4 = 1; + TH1F *h2CeffHBpositivedirectionReconoise4 = new TH1F("h2CeffHBpositivedirectionReconoise4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoise4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoise4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBpositivedirectionReconoise4 = "<SetMarkerColor(2); + HBpositivedirectionReconoise4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoise4 == 1) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 2) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 3) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 4) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 5) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 6) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 7) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 8) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 9) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 10) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 11) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 12) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 13) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 14) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 15) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 16) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionReconoise4->Draw("Error"); + kcountHBpositivedirectionReconoise4++; + if (kcountHBpositivedirectionReconoise4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoise4) + delete h2CeffHBpositivedirectionReconoise4; + + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoise1 = 1; + TH1F *h2CeffHBnegativedirectionReconoise1 = new TH1F("h2CeffHBnegativedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBnegativedirectionReconoise1 = "<SetMarkerColor(2); + HBnegativedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoise1 == 1) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -16; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 2) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -15; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 3) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -14; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 4) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -13; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 5) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -12; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 6) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -11; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 7) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -10; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 8) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -9; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 9) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -8; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 10) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -7; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 11) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -6; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 12) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -5; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 13) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -4; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 14) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -3; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 15) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -2; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 16) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -1; depth = 1 \b"); + HBnegativedirectionReconoise1->Draw("Error"); + kcountHBnegativedirectionReconoise1++; + if (kcountHBnegativedirectionReconoise1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoise1) + delete h2CeffHBnegativedirectionReconoise1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoise2 = 1; + TH1F *h2CeffHBnegativedirectionReconoise2 = new TH1F("h2CeffHBnegativedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBnegativedirectionReconoise2 = "<SetMarkerColor(2); + HBnegativedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoise2 == 1) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -16; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 2) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -15; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 3) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -14; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 4) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -13; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 5) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -12; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 6) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -11; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 7) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -10; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 8) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -9; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 9) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -8; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 10) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -7; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 11) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -6; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 12) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -5; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 13) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -4; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 14) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -3; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 15) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -2; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 16) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -1; depth = 2 \b"); + HBnegativedirectionReconoise2->Draw("Error"); + kcountHBnegativedirectionReconoise2++; + if (kcountHBnegativedirectionReconoise2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoise2) + delete h2CeffHBnegativedirectionReconoise2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoise3 = 1; + TH1F *h2CeffHBnegativedirectionReconoise3 = new TH1F("h2CeffHBnegativedirectionReconoise3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoise3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoise3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBnegativedirectionReconoise3 = "<SetMarkerColor(2); + HBnegativedirectionReconoise3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoise3 == 1) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -16; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 2) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -15; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 3) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -14; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 4) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -13; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 5) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -12; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 6) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -11; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 7) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -10; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 8) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -9; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 9) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -8; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 10) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -7; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 11) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -6; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 12) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -5; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 13) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -4; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 14) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -3; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 15) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -2; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 16) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -1; depth = 3 \b"); + + HBnegativedirectionReconoise3->Draw("Error"); + kcountHBnegativedirectionReconoise3++; + if (kcountHBnegativedirectionReconoise3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoise3) + delete h2CeffHBnegativedirectionReconoise3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoise4 = 1; + TH1F *h2CeffHBnegativedirectionReconoise4 = new TH1F("h2CeffHBnegativedirectionReconoise4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoise4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoise4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBnegativedirectionReconoise4 = "<SetMarkerColor(2); + HBnegativedirectionReconoise4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoise4 == 1) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -16; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 2) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -15; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 3) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -14; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 4) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -13; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 5) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -12; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 6) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -11; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 7) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -10; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 8) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -9; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 9) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -8; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 10) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -7; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 11) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -6; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 12) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -5; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 13) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -4; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 14) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -3; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 15) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -2; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 16) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -1; depth = 4 \b"); + HBnegativedirectionReconoise4->Draw("Error"); + kcountHBnegativedirectionReconoise4++; + if (kcountHBnegativedirectionReconoise4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoise4) + delete h2CeffHBnegativedirectionReconoise4; + + //====================================================================================================================== + // DIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIF: Reconoise HE + //====================================================================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: DIF, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzDIFreconoiseHB42D = new TH2F("GefzDIFreconoiseHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHB42D0 = new TH2F("GefzDIFreconoiseHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHB42DF = (TH2F *)GefzDIFreconoiseHB42D0->Clone("GefzDIFreconoiseHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzDIFreconoiseHB42D->Fill(kkk, jphi, ccc1); + GefzDIFreconoiseHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHB42DF->Divide(GefzDIFreconoiseHB42D, GefzDIFreconoiseHB42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHB42DF->SetXTitle("_depth #eta \b"); + GefzDIFreconoiseHB42DF->SetYTitle(" #phi \b"); + GefzDIFreconoiseHB42DF->Draw("COLZ"); + + // c2x1->cd(2); + // TH1F *energyhitNoise_HB= (TH1F*)hfile->Get("h_energyhitNoise_HB"); + // energyhitNoise_HB ->SetMarkerStyle(20);energyhitNoise_HB ->SetMarkerSize(0.4);energyhitNoise_HB ->GetYaxis()->SetLabelSize(0.04);energyhitNoise_HB ->SetXTitle("energyhitNoise_HB \b");energyhitNoise_HB ->SetMarkerColor(2);energyhitNoise_HB ->SetLineColor(0);gPad->SetGridy();gPad->SetGridx();energyhitNoise_HB ->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("DIFreconoiseGeneralD2PhiSymmetryHB.png"); + c2x1->Clear(); + // clean-up + if (GefzDIFreconoiseHB42D) + delete GefzDIFreconoiseHB42D; + if (GefzDIFreconoiseHB42D0) + delete GefzDIFreconoiseHB42D0; + if (GefzDIFreconoiseHB42DF) + delete GefzDIFreconoiseHB42DF; + //====================================================================== 1D plot: DIF vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: DIF vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzDIFreconoiseHB41D = new TH1F("GefzDIFreconoiseHB41D", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHB41D0 = new TH1F("GefzDIFreconoiseHB41D0", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHB41DF = (TH1F *)GefzDIFreconoiseHB41D0->Clone("GefzDIFreconoiseHB41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzDIFreconoiseHB41D->Fill(jphi, ccc1); + GefzDIFreconoiseHB41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHB41DF->Divide( + GefzDIFreconoiseHB41D, GefzDIFreconoiseHB41D0, 1, 1, "B"); // DIF averaged over depthfs & eta + GefzDIFreconoiseHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzDIFreconoiseHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHB41DF->SetMarkerStyle(20); + GefzDIFreconoiseHB41DF->SetMarkerSize(1.4); + GefzDIFreconoiseHB41DF->GetZaxis()->SetLabelSize(0.08); + GefzDIFreconoiseHB41DF->SetXTitle("#phi \b"); + GefzDIFreconoiseHB41DF->SetYTitle(" \b"); + GefzDIFreconoiseHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzDIFreconoiseHB41DF->SetMarkerColor(4); + GefzDIFreconoiseHB41DF->SetLineColor( + 4); //GefzDIFreconoiseHB41DF->SetMinimum(0.8); // GefzDIFreconoiseHB41DF->SetMaximum(1.000); + GefzDIFreconoiseHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DIFreconoiseGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (GefzDIFreconoiseHB41D) + delete GefzDIFreconoiseHB41D; + if (GefzDIFreconoiseHB41D0) + delete GefzDIFreconoiseHB41D0; + if (GefzDIFreconoiseHB41DF) + delete GefzDIFreconoiseHB41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: DIF vs phi , different eta, depth=1 + //cout<<" 1D plot: DIF vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseDIF1 = new TH1F("h2CeffHBpositivedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBpositivedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseDIF1 == 1) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 2) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 3) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 4) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 5) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 6) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 7) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 8) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 9) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 10) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 11) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 12) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 13) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 14) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 15) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 16) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionReconoiseDIF1->Draw("Error"); + kcountHBpositivedirectionReconoiseDIF1++; + if (kcountHBpositivedirectionReconoiseDIF1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseDIF1) + delete h2CeffHBpositivedirectionReconoiseDIF1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseDIF2 = new TH1F("h2CeffHBpositivedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBpositivedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseDIF2 == 1) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 2) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 3) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 4) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 5) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 6) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 7) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 8) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 9) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 10) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 11) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 12) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 13) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 14) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 15) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 16) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionReconoiseDIF2->Draw("Error"); + kcountHBpositivedirectionReconoiseDIF2++; + if (kcountHBpositivedirectionReconoiseDIF2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseDIF2) + delete h2CeffHBpositivedirectionReconoiseDIF2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseDIF3 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseDIF3 = new TH1F("h2CeffHBpositivedirectionReconoiseDIF3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoiseDIF3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseDIF3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBpositivedirectionReconoiseDIF3 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseDIF3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseDIF3 == 1) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 2) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 3) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 4) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 5) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 6) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 7) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 8) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 9) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 10) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 11) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 12) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 13) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 14) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 15) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 16) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionReconoiseDIF3->Draw("Error"); + kcountHBpositivedirectionReconoiseDIF3++; + if (kcountHBpositivedirectionReconoiseDIF3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseDIF3) + delete h2CeffHBpositivedirectionReconoiseDIF3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseDIF4 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseDIF4 = new TH1F("h2CeffHBpositivedirectionReconoiseDIF4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoiseDIF4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseDIF4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBpositivedirectionReconoiseDIF4 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseDIF4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseDIF4 == 1) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 2) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 3) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 4) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 5) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 6) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 7) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 8) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 9) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 10) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 11) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 12) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 13) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 14) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 15) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 16) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionReconoiseDIF4->Draw("Error"); + kcountHBpositivedirectionReconoiseDIF4++; + if (kcountHBpositivedirectionReconoiseDIF4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseDIF4) + delete h2CeffHBpositivedirectionReconoiseDIF4; + + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseDIF1 = new TH1F("h2CeffHBnegativedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBnegativedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseDIF1 == 1) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -16; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 2) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -15; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 3) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -14; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 4) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -13; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 5) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -12; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 6) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -11; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 7) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -10; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 8) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -9; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 9) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -8; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 10) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -7; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 11) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -6; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 12) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -5; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 13) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -4; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 14) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -3; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 15) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -2; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 16) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -1; depth = 1 \b"); + HBnegativedirectionReconoiseDIF1->Draw("Error"); + kcountHBnegativedirectionReconoiseDIF1++; + if (kcountHBnegativedirectionReconoiseDIF1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseDIF1) + delete h2CeffHBnegativedirectionReconoiseDIF1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseDIF2 = new TH1F("h2CeffHBnegativedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBnegativedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseDIF2 == 1) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -16; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 2) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -15; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 3) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -14; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 4) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -13; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 5) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -12; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 6) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -11; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 7) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -10; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 8) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -9; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 9) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -8; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 10) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -7; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 11) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -6; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 12) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -5; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 13) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -4; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 14) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -3; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 15) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -2; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 16) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -1; depth = 2 \b"); + HBnegativedirectionReconoiseDIF2->Draw("Error"); + kcountHBnegativedirectionReconoiseDIF2++; + if (kcountHBnegativedirectionReconoiseDIF2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseDIF2) + delete h2CeffHBnegativedirectionReconoiseDIF2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseDIF3 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseDIF3 = new TH1F("h2CeffHBnegativedirectionReconoiseDIF3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoiseDIF3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseDIF3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBnegativedirectionReconoiseDIF3 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseDIF3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseDIF3 == 1) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -16; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 2) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -15; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 3) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -14; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 4) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -13; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 5) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -12; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 6) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -11; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 7) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -10; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 8) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -9; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 9) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -8; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 10) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -7; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 11) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -6; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 12) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -5; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 13) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -4; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 14) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -3; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 15) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -2; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 16) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -1; depth = 3 \b"); + + HBnegativedirectionReconoiseDIF3->Draw("Error"); + kcountHBnegativedirectionReconoiseDIF3++; + if (kcountHBnegativedirectionReconoiseDIF3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseDIF3) + delete h2CeffHBnegativedirectionReconoiseDIF3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseDIF4 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseDIF4 = new TH1F("h2CeffHBnegativedirectionReconoiseDIF4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoiseDIF4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseDIF4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBnegativedirectionReconoiseDIF4 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseDIF4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseDIF4 == 1) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -16; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 2) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -15; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 3) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -14; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 4) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -13; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 5) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -12; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 6) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -11; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 7) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -10; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 8) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -9; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 9) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -8; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 10) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -7; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 11) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -6; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 12) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -5; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 13) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -4; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 14) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -3; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 15) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -2; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 16) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -1; depth = 4 \b"); + HBnegativedirectionReconoiseDIF4->Draw("Error"); + kcountHBnegativedirectionReconoiseDIF4++; + if (kcountHBnegativedirectionReconoiseDIF4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseDIF4) + delete h2CeffHBnegativedirectionReconoiseDIF4; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recNoiseEnergy2_HB1"); + TH2F *reconoiseVariance0HB1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB1"); + TH2F *reconoiseVarianceHB1 = (TH2F *)reconoiseVariance1HB1->Clone("reconoiseVarianceHB1"); + reconoiseVarianceHB1->Divide(reconoiseVariance1HB1, reconoiseVariance0HB1, 1, 1, "B"); + TH2F *reconoiseVariance1HB2 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HB2"); + TH2F *reconoiseVariance0HB2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB2"); + TH2F *reconoiseVarianceHB2 = (TH2F *)reconoiseVariance1HB2->Clone("reconoiseVarianceHB2"); + reconoiseVarianceHB2->Divide(reconoiseVariance1HB2, reconoiseVariance0HB2, 1, 1, "B"); + TH2F *reconoiseVariance1HB3 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HB3"); + TH2F *reconoiseVariance0HB3 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB3"); + TH2F *reconoiseVarianceHB3 = (TH2F *)reconoiseVariance1HB3->Clone("reconoiseVarianceHB3"); + reconoiseVarianceHB3->Divide(reconoiseVariance1HB3, reconoiseVariance0HB3, 1, 1, "B"); + TH2F *reconoiseVariance1HB4 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HB4"); + TH2F *reconoiseVariance0HB4 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB4"); + TH2F *reconoiseVarianceHB4 = (TH2F *)reconoiseVariance1HB4->Clone("reconoiseVarianceHB4"); + reconoiseVarianceHB4->Divide(reconoiseVariance1HB4, reconoiseVariance0HB4, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive reconoisevarianceHB + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + //preparation for PHI normalization: + double sumreconoiseHB0 = 0; + int nsumreconoiseHB0 = 0; + double sumreconoiseHB1 = 0; + int nsumreconoiseHB1 = 0; + double sumreconoiseHB2 = 0; + int nsumreconoiseHB2 = 0; + double sumreconoiseHB3 = 0; + int nsumreconoiseHB3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + reconoisevarianceHB[0][jeta][jphi] = reconoiseVarianceHB1->GetBinContent(jeta + 1, jphi + 1); + reconoisevarianceHB[1][jeta][jphi] = reconoiseVarianceHB2->GetBinContent(jeta + 1, jphi + 1); + reconoisevarianceHB[2][jeta][jphi] = reconoiseVarianceHB3->GetBinContent(jeta + 1, jphi + 1); + reconoisevarianceHB[3][jeta][jphi] = reconoiseVarianceHB4->GetBinContent(jeta + 1, jphi + 1); + if (reconoisevarianceHB[0][jeta][jphi] != 0.) { + sumreconoiseHB0 += reconoisevarianceHB[0][jeta][jphi]; + ++nsumreconoiseHB0; + } + if (reconoisevarianceHB[1][jeta][jphi] != 0.) { + sumreconoiseHB1 += reconoisevarianceHB[1][jeta][jphi]; + ++nsumreconoiseHB1; + } + if (reconoisevarianceHB[2][jeta][jphi] != 0.) { + sumreconoiseHB2 += reconoisevarianceHB[2][jeta][jphi]; + ++nsumreconoiseHB2; + } + if (reconoisevarianceHB[3][jeta][jphi] != 0.) { + sumreconoiseHB3 += reconoisevarianceHB[3][jeta][jphi]; + ++nsumreconoiseHB3; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHB0 != 0.) + reconoisevarianceHB[0][jeta][jphi] /= (sumreconoiseHB0 / nsumreconoiseHB0); + if (sumreconoiseHB1 != 0.) + reconoisevarianceHB[1][jeta][jphi] /= (sumreconoiseHB1 / nsumreconoiseHB1); + if (sumreconoiseHB2 != 0.) + reconoisevarianceHB[2][jeta][jphi] /= (sumreconoiseHB2 / nsumreconoiseHB2); + if (sumreconoiseHB3 != 0.) + reconoisevarianceHB[3][jeta][jphi] /= (sumreconoiseHB3 / nsumreconoiseHB3); + } // phi + // reconoisevarianceHB (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDreconoiseHB42D = new TH2F("DefzDreconoiseHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHB42D0 = new TH2F("DefzDreconoiseHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHB42DF = (TH2F *)DefzDreconoiseHB42D0->Clone("DefzDreconoiseHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (areconoiseHB[i][jeta][jphi] > 0.) { + DefzDreconoiseHB42D->Fill(kkk, jphi, ccc1); + DefzDreconoiseHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + DefzDreconoiseHB42DF->Divide(DefzDreconoiseHB42D, DefzDreconoiseHB42D0, 1, 1, "B"); // average A + // DefzDreconoiseHB1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHB42DF->SetMarkerStyle(20); + DefzDreconoiseHB42DF->SetMarkerSize(0.4); + DefzDreconoiseHB42DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHB42DF->SetXTitle("_depth #eta \b"); + DefzDreconoiseHB42DF->SetYTitle(" #phi \b"); + DefzDreconoiseHB42DF->SetZTitle("_depth \b"); + DefzDreconoiseHB42DF->SetMarkerColor(2); + DefzDreconoiseHB42DF->SetLineColor( + 0); // DefzDreconoiseHB42DF->SetMaximum(1.000); // DefzDreconoiseHB42DF->SetMinimum(1.0); + DefzDreconoiseHB42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DreconoiseGeneralD2PhiSymmetryHB.png"); + c1x0->Clear(); + // clean-up + if (DefzDreconoiseHB42D) + delete DefzDreconoiseHB42D; + if (DefzDreconoiseHB42D0) + delete DefzDreconoiseHB42D0; + if (DefzDreconoiseHB42DF) + delete DefzDreconoiseHB42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDreconoiseHB41D = new TH1F("DefzDreconoiseHB41D", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHB41D0 = new TH1F("DefzDreconoiseHB41D0", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHB41DF = (TH1F *)DefzDreconoiseHB41D0->Clone("DefzDreconoiseHB41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + DefzDreconoiseHB41D->Fill(jphi, ccc1); + DefzDreconoiseHB41D0->Fill(jphi, 1.); + } + } + } + } + } + // DefzDreconoiseHB41D->Sumw2();DefzDreconoiseHB41D0->Sumw2(); + + DefzDreconoiseHB41DF->Divide(DefzDreconoiseHB41D, DefzDreconoiseHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDreconoiseHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDreconoiseHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHB41DF->SetMarkerStyle(20); + DefzDreconoiseHB41DF->SetMarkerSize(1.4); + DefzDreconoiseHB41DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHB41DF->SetXTitle("#phi \b"); + DefzDreconoiseHB41DF->SetYTitle(" \b"); + DefzDreconoiseHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDreconoiseHB41DF->SetMarkerColor(4); + DefzDreconoiseHB41DF->SetLineColor( + 4); //DefzDreconoiseHB41DF->SetMinimum(0.8); DefzDreconoiseHB41DF->SetMinimum(-0.015); + DefzDreconoiseHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DreconoiseGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (DefzDreconoiseHB41D) + delete DefzDreconoiseHB41D; + if (DefzDreconoiseHB41D0) + delete DefzDreconoiseHB41D0; + if (DefzDreconoiseHB41DF) + delete DefzDreconoiseHB41DF; + + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseD1 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseD1 = new TH1F("h2CeffHBpositivedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBpositivedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHBpositivedirectionReconoiseD1 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseD1 == 1) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 2) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 3) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 4) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 5) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 6) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 7) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 8) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 9) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 10) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 11) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 12) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 13) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 14) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 15) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 16) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionReconoiseD1->Draw("Error"); + kcountHBpositivedirectionReconoiseD1++; + if (kcountHBpositivedirectionReconoiseD1 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseD1) + delete h2CeffHBpositivedirectionReconoiseD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseD2 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseD2 = new TH1F("h2CeffHBpositivedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBpositivedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHBpositivedirectionReconoiseD2 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseD2 == 1) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 2) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 3) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 4) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 5) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 6) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 7) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 8) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 9) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 10) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 11) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 12) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 13) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 14) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 15) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 16) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionReconoiseD2->Draw("Error"); + kcountHBpositivedirectionReconoiseD2++; + if (kcountHBpositivedirectionReconoiseD2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseD2) + delete h2CeffHBpositivedirectionReconoiseD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseD3 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseD3 = new TH1F("h2CeffHBpositivedirectionReconoiseD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBpositivedirectionReconoiseD3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHBpositivedirectionReconoiseD3 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseD3 == 1) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 2) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 3) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 4) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 5) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 6) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 7) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 8) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 9) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 10) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 11) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 10; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 12) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 13) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 14) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 15) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 16) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionReconoiseD3->Draw("Error"); + kcountHBpositivedirectionReconoiseD3++; + if (kcountHBpositivedirectionReconoiseD3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseD3) + delete h2CeffHBpositivedirectionReconoiseD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseD4 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseD4 = new TH1F("h2CeffHBpositivedirectionReconoiseD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBpositivedirectionReconoiseD4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHBpositivedirectionReconoiseD4 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseD4 == 1) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 2) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 3) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 4) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 5) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 6) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 7) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 8) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 9) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 10) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 11) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 12) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 13) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 14) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 15) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 16) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionReconoiseD4->Draw("Error"); + kcountHBpositivedirectionReconoiseD4++; + if (kcountHBpositivedirectionReconoiseD4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseD4) + delete h2CeffHBpositivedirectionReconoiseD4; + + //========================================================================================== 22214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseD1 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseD1 = new TH1F("h2CeffHBnegativedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBnegativedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHBnegativedirectionReconoiseD1 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseD1 == 1) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-16; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 2) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-15; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 3) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-14; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 4) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-13; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 5) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-12; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 6) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-11; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 7) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-10; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 8) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-9; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 9) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-8; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 10) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-7; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 11) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-6; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 12) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-5; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 13) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-4; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 14) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-3; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 15) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-2; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 16) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-1; depth = 1 \b"); + HBnegativedirectionReconoiseD1->Draw("Error"); + kcountHBnegativedirectionReconoiseD1++; + if (kcountHBnegativedirectionReconoiseD1 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseD1) + delete h2CeffHBnegativedirectionReconoiseD1; + //========================================================================================== 22215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseD2 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseD2 = new TH1F("h2CeffHBnegativedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBnegativedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHBnegativedirectionReconoiseD2 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseD2 == 1) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-16; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 2) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-15; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 3) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-14; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 4) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-13; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 5) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-12; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 6) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-11; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 7) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-10; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 8) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-9; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 9) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-8; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 10) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-7; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 11) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-6; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 12) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-5; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 13) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-4; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 14) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-3; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 15) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-2; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 16) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-1; depth = 2 \b"); + HBnegativedirectionReconoiseD2->Draw("Error"); + kcountHBnegativedirectionReconoiseD2++; + if (kcountHBnegativedirectionReconoiseD2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseD2) + delete h2CeffHBnegativedirectionReconoiseD2; + //========================================================================================== 22216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseD3 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseD3 = new TH1F("h2CeffHBnegativedirectionReconoiseD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBnegativedirectionReconoiseD3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHBnegativedirectionReconoiseD3 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseD3 == 1) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-16; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 2) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-15; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 3) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-14; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 4) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-13; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 5) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-12; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 6) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-11; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 7) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-10; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 8) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-9; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 9) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-8; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 10) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-7; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 11) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-6; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 12) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-5; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 13) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-4; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 14) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-3; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 15) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-2; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 16) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-1; depth = 3 \b"); + HBnegativedirectionReconoiseD3->Draw("Error"); + kcountHBnegativedirectionReconoiseD3++; + if (kcountHBnegativedirectionReconoiseD3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseD3) + delete h2CeffHBnegativedirectionReconoiseD3; + //========================================================================================== 22217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseD4 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseD4 = new TH1F("h2CeffHBnegativedirectionReconoiseD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBnegativedirectionReconoiseD4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHBnegativedirectionReconoiseD4 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseD4 == 1) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-16; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 2) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-15; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 3) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-14; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 4) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-13; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 5) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-12; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 6) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-11; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 7) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-10; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 8) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-9; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 9) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-8; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 10) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-7; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 11) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-6; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 12) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-5; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 13) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-4; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 14) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-3; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 15) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-2; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 16) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-1; depth = 4 \b"); + HBnegativedirectionReconoiseD4->Draw("Error"); + kcountHBnegativedirectionReconoiseD4++; + if (kcountHBnegativedirectionReconoiseD4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseD4) + delete h2CeffHBnegativedirectionReconoiseD4; + + //===================================================================== END of Reconoise HB for phi-symmetry + //===================================================================== END of Reconoise HB for phi-symmetry + //===================================================================== END of Reconoise HB for phi-symmetry + + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HE + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[3]; + ndepth = 7; + // const int ndepth = 7; + double areconoisehe[ndepth][njeta][njphi]; + double breconoisehe[ndepth][njeta][njphi]; + double reconoisevariancehe[ndepth][njeta][njphi]; + //////////////////////////////////////////////////////////////////////////////////////////////////////////// + TH2F *recNoiseEnergy1HE1 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE1"); + TH2F *recNoiseEnergy0HE1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE1"); + TH2F *recNoiseEnergyHE1 = (TH2F *)recNoiseEnergy1HE1->Clone("recNoiseEnergyHE1"); + recNoiseEnergyHE1->Divide(recNoiseEnergy1HE1, recNoiseEnergy0HE1, 1, 1, "B"); + TH2F *recNoiseEnergy1HE2 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE2"); + TH2F *recNoiseEnergy0HE2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE2"); + TH2F *recNoiseEnergyHE2 = (TH2F *)recNoiseEnergy1HE2->Clone("recNoiseEnergyHE2"); + recNoiseEnergyHE2->Divide(recNoiseEnergy1HE2, recNoiseEnergy0HE2, 1, 1, "B"); + TH2F *recNoiseEnergy1HE3 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE3"); + TH2F *recNoiseEnergy0HE3 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE3"); + TH2F *recNoiseEnergyHE3 = (TH2F *)recNoiseEnergy1HE3->Clone("recNoiseEnergyHE3"); + recNoiseEnergyHE3->Divide(recNoiseEnergy1HE3, recNoiseEnergy0HE3, 1, 1, "B"); + TH2F *recNoiseEnergy1HE4 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE4"); + TH2F *recNoiseEnergy0HE4 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE4"); + TH2F *recNoiseEnergyHE4 = (TH2F *)recNoiseEnergy1HE4->Clone("recNoiseEnergyHE4"); + recNoiseEnergyHE4->Divide(recNoiseEnergy1HE4, recNoiseEnergy0HE4, 1, 1, "B"); + TH2F *recNoiseEnergy1HE5 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE5"); + TH2F *recNoiseEnergy0HE5 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE5"); + TH2F *recNoiseEnergyHE5 = (TH2F *)recNoiseEnergy1HE5->Clone("recNoiseEnergyHE5"); + recNoiseEnergyHE5->Divide(recNoiseEnergy1HE5, recNoiseEnergy0HE5, 1, 1, "B"); + TH2F *recNoiseEnergy1HE6 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE6"); + TH2F *recNoiseEnergy0HE6 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE6"); + TH2F *recNoiseEnergyHE6 = (TH2F *)recNoiseEnergy1HE6->Clone("recNoiseEnergyHE6"); + recNoiseEnergyHE6->Divide(recNoiseEnergy1HE6, recNoiseEnergy0HE6, 1, 1, "B"); + TH2F *recNoiseEnergy1HE7 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE7"); + TH2F *recNoiseEnergy0HE7 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE7"); + TH2F *recNoiseEnergyHE7 = (TH2F *)recNoiseEnergy1HE7->Clone("recNoiseEnergyHE7"); + recNoiseEnergyHE7->Divide(recNoiseEnergy1HE7, recNoiseEnergy0HE7, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + //====================================================================== PHI normalization & put R into massive areconoisehe + //preparation for PHI normalization: + double sumreconoiseHE0 = 0; + int nsumreconoiseHE0 = 0; + double sumreconoiseHE1 = 0; + int nsumreconoiseHE1 = 0; + double sumreconoiseHE2 = 0; + int nsumreconoiseHE2 = 0; + double sumreconoiseHE3 = 0; + int nsumreconoiseHE3 = 0; + double sumreconoiseHE4 = 0; + int nsumreconoiseHE4 = 0; + double sumreconoiseHE5 = 0; + int nsumreconoiseHE5 = 0; + double sumreconoiseHE6 = 0; + int nsumreconoiseHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + areconoisehe[0][jeta][jphi] = recNoiseEnergyHE1->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[1][jeta][jphi] = recNoiseEnergyHE2->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[2][jeta][jphi] = recNoiseEnergyHE3->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[3][jeta][jphi] = recNoiseEnergyHE4->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[4][jeta][jphi] = recNoiseEnergyHE5->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[5][jeta][jphi] = recNoiseEnergyHE6->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[6][jeta][jphi] = recNoiseEnergyHE7->GetBinContent(jeta + 1, jphi + 1); + + breconoisehe[0][jeta][jphi] = recNoiseEnergyHE1->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[1][jeta][jphi] = recNoiseEnergyHE2->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[2][jeta][jphi] = recNoiseEnergyHE3->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[3][jeta][jphi] = recNoiseEnergyHE4->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[4][jeta][jphi] = recNoiseEnergyHE5->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[5][jeta][jphi] = recNoiseEnergyHE6->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[6][jeta][jphi] = recNoiseEnergyHE7->GetBinContent(jeta + 1, jphi + 1); + + if (areconoisehe[0][jeta][jphi] != 0.) { + sumreconoiseHE0 += areconoisehe[0][jeta][jphi]; + ++nsumreconoiseHE0; + } + if (areconoisehe[1][jeta][jphi] != 0.) { + sumreconoiseHE1 += areconoisehe[1][jeta][jphi]; + ++nsumreconoiseHE1; + } + if (areconoisehe[2][jeta][jphi] != 0.) { + sumreconoiseHE2 += areconoisehe[2][jeta][jphi]; + ++nsumreconoiseHE2; + } + if (areconoisehe[3][jeta][jphi] != 0.) { + sumreconoiseHE3 += areconoisehe[3][jeta][jphi]; + ++nsumreconoiseHE3; + } + if (areconoisehe[4][jeta][jphi] != 0.) { + sumreconoiseHE4 += areconoisehe[4][jeta][jphi]; + ++nsumreconoiseHE4; + } + if (areconoisehe[5][jeta][jphi] != 0.) { + sumreconoiseHE5 += areconoisehe[5][jeta][jphi]; + ++nsumreconoiseHE5; + } + if (areconoisehe[6][jeta][jphi] != 0.) { + sumreconoiseHE6 += areconoisehe[6][jeta][jphi]; + ++nsumreconoiseHE6; + } + } // phi + + // PHI normalization for DIF: + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHE0 != 0.) + breconoisehe[0][jeta][jphi] -= (sumreconoiseHE0 / nsumreconoiseHE0); + if (sumreconoiseHE1 != 0.) + breconoisehe[1][jeta][jphi] -= (sumreconoiseHE1 / nsumreconoiseHE1); + if (sumreconoiseHE2 != 0.) + breconoisehe[2][jeta][jphi] -= (sumreconoiseHE2 / nsumreconoiseHE2); + if (sumreconoiseHE3 != 0.) + breconoisehe[3][jeta][jphi] -= (sumreconoiseHE3 / nsumreconoiseHE3); + if (sumreconoiseHE4 != 0.) + breconoisehe[4][jeta][jphi] -= (sumreconoiseHE4 / nsumreconoiseHE4); + if (sumreconoiseHE5 != 0.) + breconoisehe[5][jeta][jphi] -= (sumreconoiseHE5 / nsumreconoiseHE5); + if (sumreconoiseHE6 != 0.) + breconoisehe[6][jeta][jphi] -= (sumreconoiseHE6 / nsumreconoiseHE6); + } // phi + + // PHI normalization for R: + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHE0 != 0.) + areconoisehe[0][jeta][jphi] /= (sumreconoiseHE0 / nsumreconoiseHE0); + if (sumreconoiseHE1 != 0.) + areconoisehe[1][jeta][jphi] /= (sumreconoiseHE1 / nsumreconoiseHE1); + if (sumreconoiseHE2 != 0.) + areconoisehe[2][jeta][jphi] /= (sumreconoiseHE2 / nsumreconoiseHE2); + if (sumreconoiseHE3 != 0.) + areconoisehe[3][jeta][jphi] /= (sumreconoiseHE3 / nsumreconoiseHE3); + if (sumreconoiseHE4 != 0.) + areconoisehe[4][jeta][jphi] /= (sumreconoiseHE4 / nsumreconoiseHE4); + if (sumreconoiseHE5 != 0.) + areconoisehe[5][jeta][jphi] /= (sumreconoiseHE5 / nsumreconoiseHE5); + if (sumreconoiseHE6 != 0.) + areconoisehe[6][jeta][jphi] /= (sumreconoiseHE6 / nsumreconoiseHE6); + } // phi + } //if( (jeta-41 >= + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthes + //====================================================================== + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Reconoise HE + //====================================================================== + c2x1->Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRreconoiseHE42D = new TH2F("GefzRreconoiseHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHE42D0 = new TH2F("GefzRreconoiseHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHE42DF = (TH2F *)GefzRreconoiseHE42D0->Clone("GefzRreconoiseHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRreconoiseHE42D->Fill(kkk, jphi, ccc1); + GefzRreconoiseHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzRreconoiseHE42DF->Divide(GefzRreconoiseHE42D, GefzRreconoiseHE42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHE42DF->SetXTitle("_depth #eta \b"); + GefzRreconoiseHE42DF->SetYTitle(" #phi \b"); + GefzRreconoiseHE42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitNoise_HE = (TH1F *)hfile->Get("h_energyhitNoise_HE"); + energyhitNoise_HE->SetMarkerStyle(20); + energyhitNoise_HE->SetMarkerSize(0.4); + energyhitNoise_HE->GetYaxis()->SetLabelSize(0.04); + energyhitNoise_HE->SetXTitle("energyhitNoise_HE \b"); + energyhitNoise_HE->SetMarkerColor(2); + energyhitNoise_HE->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitNoise_HE->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RreconoiseGeneralD2PhiSymmetryHE.png"); + c2x1->Clear(); + // clean-up + if (GefzRreconoiseHE42D) + delete GefzRreconoiseHE42D; + if (GefzRreconoiseHE42D0) + delete GefzRreconoiseHE42D0; + if (GefzRreconoiseHE42DF) + delete GefzRreconoiseHE42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRreconoiseHE41D = new TH1F("GefzRreconoiseHE41D", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHE41D0 = new TH1F("GefzRreconoiseHE41D0", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHE41DF = (TH1F *)GefzRreconoiseHE41D0->Clone("GefzRreconoiseHE41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRreconoiseHE41D->Fill(jphi, ccc1); + GefzRreconoiseHE41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzRreconoiseHE41DF->Divide(GefzRreconoiseHE41D, GefzRreconoiseHE41D0, 1, 1, "B"); // R averaged over depthes & eta + GefzRreconoiseHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRreconoiseHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHE41DF->SetMarkerStyle(20); + GefzRreconoiseHE41DF->SetMarkerSize(1.4); + GefzRreconoiseHE41DF->GetZaxis()->SetLabelSize(0.08); + GefzRreconoiseHE41DF->SetXTitle("#phi \b"); + GefzRreconoiseHE41DF->SetYTitle(" \b"); + GefzRreconoiseHE41DF->SetZTitle("_PHI - AllDepthes \b"); + GefzRreconoiseHE41DF->SetMarkerColor(4); + GefzRreconoiseHE41DF->SetLineColor( + 4); // GefzRreconoiseHE41DF->SetMinimum(0.8); // GefzRreconoiseHE41DF->SetMaximum(1.000); + GefzRreconoiseHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RreconoiseGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (GefzRreconoiseHE41D) + delete GefzRreconoiseHE41D; + if (GefzRreconoiseHE41D0) + delete GefzRreconoiseHE41D0; + if (GefzRreconoiseHE41DF) + delete GefzRreconoiseHE41DF; + + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise1 = 1; + TH1F *h2CeffHEpositivedirectionReconoise1 = new TH1F("h2CeffHEpositivedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEpositivedirectionReconoise1 = "<SetMarkerColor(2); + HEpositivedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise1 == 1) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 2) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 3) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 4) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 5) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 6) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 7) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 8) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 9) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 10) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 11) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 12) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionReconoise1->Draw("Error"); + kcountHEpositivedirectionReconoise1++; + if (kcountHEpositivedirectionReconoise1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 15 && jeta-41 <= 28 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise1) + delete h2CeffHEpositivedirectionReconoise1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise2 = 1; + TH1F *h2CeffHEpositivedirectionReconoise2 = new TH1F("h2CeffHEpositivedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEpositivedirectionReconoise2 = "<SetMarkerColor(2); + HEpositivedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise2 == 1) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 2) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 3) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 4) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 5) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 6) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 7) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 8) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 9) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 10) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 11) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 12) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 13) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionReconoise2->Draw("Error"); + kcountHEpositivedirectionReconoise2++; + if (kcountHEpositivedirectionReconoise2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise2) + delete h2CeffHEpositivedirectionReconoise2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise3 = 1; + TH1F *h2CeffHEpositivedirectionReconoise3 = new TH1F("h2CeffHEpositivedirectionReconoise3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEpositivedirectionReconoise3 = "<SetMarkerColor(2); + HEpositivedirectionReconoise3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise3 == 1) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 2) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 3) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 4) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 5) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 6) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 7) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 8) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 9) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 10) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 11) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 12) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 13) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionReconoise3->Draw("Error"); + kcountHEpositivedirectionReconoise3++; + if (kcountHEpositivedirectionReconoise3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise3) + delete h2CeffHEpositivedirectionReconoise3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise4 = 1; + TH1F *h2CeffHEpositivedirectionReconoise4 = new TH1F("h2CeffHEpositivedirectionReconoise4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEpositivedirectionReconoise4 = "<SetMarkerColor(2); + HEpositivedirectionReconoise4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise4 == 1) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 2) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 3) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 4) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 5) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 6) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 7) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 8) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 9) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 10) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 11) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 12) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionReconoise4->Draw("Error"); + kcountHEpositivedirectionReconoise4++; + if (kcountHEpositivedirectionReconoise4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise4) + delete h2CeffHEpositivedirectionReconoise4; + //========================================================================================== 8 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise5 = 1; + TH1F *h2CeffHEpositivedirectionReconoise5 = new TH1F("h2CeffHEpositivedirectionReconoise5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEpositivedirectionReconoise5 = "<SetMarkerColor(2); + HEpositivedirectionReconoise5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise5 == 1) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 2) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 3) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 4) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 5) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 6) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 7) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 8) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 9) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 10) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 11) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionReconoise5->Draw("Error"); + kcountHEpositivedirectionReconoise5++; + if (kcountHEpositivedirectionReconoise5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise5) + delete h2CeffHEpositivedirectionReconoise5; + //========================================================================================== 9 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise6 = 1; + TH1F *h2CeffHEpositivedirectionReconoise6 = new TH1F("h2CeffHEpositivedirectionReconoise6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEpositivedirectionReconoise6 = "<SetMarkerColor(2); + HEpositivedirectionReconoise6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise6 == 1) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 2) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 3) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 4) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 5) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 6) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 7) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 8) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 9) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 10) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionReconoise6->Draw("Error"); + kcountHEpositivedirectionReconoise6++; + if (kcountHEpositivedirectionReconoise6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise6) + delete h2CeffHEpositivedirectionReconoise6; + //========================================================================================== 10 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise7 = 1; + TH1F *h2CeffHEpositivedirectionReconoise7 = new TH1F("h2CeffHEpositivedirectionReconoise7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEpositivedirectionReconoise7 = "<SetMarkerColor(2); + HEpositivedirectionReconoise7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise7 == 1) + HEpositivedirectionReconoise7->SetXTitle("R for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionReconoise7 == 2) + HEpositivedirectionReconoise7->SetXTitle("R for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionReconoise7 == 3) + HEpositivedirectionReconoise7->SetXTitle("R for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionReconoise7->Draw("Error"); + kcountHEpositivedirectionReconoise7++; + if (kcountHEpositivedirectionReconoise7 > 3) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise7) + delete h2CeffHEpositivedirectionReconoise7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise1 = 1; + TH1F *h2CeffHEnegativedirectionReconoise1 = new TH1F("h2CeffHEnegativedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEnegativedirectionReconoise1 = "<SetMarkerColor(2); + HEnegativedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise1 == 1) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 2) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 3) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 4) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 5) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 6) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 7) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 8) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 9) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 10) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 11) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 12) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionReconoise1->Draw("Error"); + kcountHEnegativedirectionReconoise1++; + if (kcountHEnegativedirectionReconoise1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise1) + delete h2CeffHEnegativedirectionReconoise1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise2 = 1; + TH1F *h2CeffHEnegativedirectionReconoise2 = new TH1F("h2CeffHEnegativedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEnegativedirectionReconoise2 = "<SetMarkerColor(2); + HEnegativedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise2 == 1) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 2) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 3) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 4) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 5) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 6) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 7) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 8) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 9) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 10) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 11) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 12) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 13) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionReconoise2->Draw("Error"); + kcountHEnegativedirectionReconoise2++; + if (kcountHEnegativedirectionReconoise2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise2) + delete h2CeffHEnegativedirectionReconoise2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise3 = 1; + TH1F *h2CeffHEnegativedirectionReconoise3 = new TH1F("h2CeffHEnegativedirectionReconoise3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEnegativedirectionReconoise3 = "<SetMarkerColor(2); + HEnegativedirectionReconoise3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise3 == 1) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 2) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 3) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 4) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 5) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 6) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 7) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 8) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 9) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 10) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 11) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 12) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 13) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionReconoise3->Draw("Error"); + kcountHEnegativedirectionReconoise3++; + if (kcountHEnegativedirectionReconoise3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise3) + delete h2CeffHEnegativedirectionReconoise3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise4 = 1; + TH1F *h2CeffHEnegativedirectionReconoise4 = new TH1F("h2CeffHEnegativedirectionReconoise4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEnegativedirectionReconoise4 = "<SetMarkerColor(2); + HEnegativedirectionReconoise4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise4 == 1) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 2) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 3) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 4) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 5) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 6) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 7) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 8) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 9) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 10) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 11) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 12) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionReconoise4->Draw("Error"); + kcountHEnegativedirectionReconoise4++; + if (kcountHEnegativedirectionReconoise4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise4) + delete h2CeffHEnegativedirectionReconoise4; + //========================================================================================== 1118 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise5 = 1; + TH1F *h2CeffHEnegativedirectionReconoise5 = new TH1F("h2CeffHEnegativedirectionReconoise5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEnegativedirectionReconoise5 = "<SetMarkerColor(2); + HEnegativedirectionReconoise5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise5 == 1) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 2) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 3) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 4) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 5) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 6) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 7) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 8) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 9) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 10) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 11) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionReconoise5->Draw("Error"); + kcountHEnegativedirectionReconoise5++; + if (kcountHEnegativedirectionReconoise5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise5) + delete h2CeffHEnegativedirectionReconoise5; + //========================================================================================== 1119 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise6 = 1; + TH1F *h2CeffHEnegativedirectionReconoise6 = new TH1F("h2CeffHEnegativedirectionReconoise6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEnegativedirectionReconoise6 = "<SetMarkerColor(2); + HEnegativedirectionReconoise6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise6 == 1) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 2) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 3) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 4) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 5) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 6) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 7) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 8) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 9) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 10) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionReconoise6->Draw("Error"); + kcountHEnegativedirectionReconoise6++; + if (kcountHEnegativedirectionReconoise6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise6) + delete h2CeffHEnegativedirectionReconoise6; + //========================================================================================== 11110 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise7 = 1; + TH1F *h2CeffHEnegativedirectionReconoise7 = new TH1F("h2CeffHEnegativedirectionReconoise7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEnegativedirectionReconoise7 = "<SetMarkerColor(2); + HEnegativedirectionReconoise7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise7 == 1) + HEnegativedirectionReconoise7->SetXTitle("R for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionReconoise7 == 2) + HEnegativedirectionReconoise7->SetXTitle("R for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionReconoise7 == 3) + HEnegativedirectionReconoise7->SetXTitle("R for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionReconoise7->Draw("Error"); + kcountHEnegativedirectionReconoise7++; + if (kcountHEnegativedirectionReconoise7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise7) + delete h2CeffHEnegativedirectionReconoise7; + + //====================================================================================================================== + //====================================================================================================================== + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //====================================================================================================================== + // DIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIF: Reconoise HE + //====================================================================================================================== + //====================================================================== + c2x1->Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzDIFreconoiseHE42D = new TH2F("GefzDIFreconoiseHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHE42D0 = new TH2F("GefzDIFreconoiseHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHE42DF = (TH2F *)GefzDIFreconoiseHE42D0->Clone("GefzDIFreconoiseHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzDIFreconoiseHE42D->Fill(kkk, jphi, ccc1); + GefzDIFreconoiseHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHE42DF->Divide(GefzDIFreconoiseHE42D, GefzDIFreconoiseHE42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHE42DF->SetXTitle("_depth #eta \b"); + GefzDIFreconoiseHE42DF->SetYTitle(" #phi \b"); + GefzDIFreconoiseHE42DF->Draw("COLZ"); + + //c2x1->cd(2); + //TH1F *energyhitNoise_HE= (TH1F*)hfile->Get("h_energyhitNoise_HE"); + //energyhitNoise_HE ->SetMarkerStyle(20);energyhitNoise_HE ->SetMarkerSize(0.4);energyhitNoise_HE ->GetYaxis()->SetLabelSize(0.04);energyhitNoise_HE ->SetXTitle("energyhitNoise_HE \b");energyhitNoise_HE ->SetMarkerColor(2);energyhitNoise_HE ->SetLineColor(0);gPad->SetGridy();gPad->SetGridx();energyhitNoise_HE ->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("DIFreconoiseGeneralD2PhiSymmetryHE.png"); + c2x1->Clear(); + // clean-up + if (GefzDIFreconoiseHE42D) + delete GefzDIFreconoiseHE42D; + if (GefzDIFreconoiseHE42D0) + delete GefzDIFreconoiseHE42D0; + if (GefzDIFreconoiseHE42DF) + delete GefzDIFreconoiseHE42DF; + //====================================================================== 1D plot: DIF vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: DIF vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzDIFreconoiseHE41D = new TH1F("GefzDIFreconoiseHE41D", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHE41D0 = new TH1F("GefzDIFreconoiseHE41D0", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHE41DF = (TH1F *)GefzDIFreconoiseHE41D0->Clone("GefzDIFreconoiseHE41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzDIFreconoiseHE41D->Fill(jphi, ccc1); + GefzDIFreconoiseHE41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHE41DF->Divide( + GefzDIFreconoiseHE41D, GefzDIFreconoiseHE41D0, 1, 1, "B"); // DIF averaged over depthes & eta + GefzDIFreconoiseHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzDIFreconoiseHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHE41DF->SetMarkerStyle(20); + GefzDIFreconoiseHE41DF->SetMarkerSize(1.4); + GefzDIFreconoiseHE41DF->GetZaxis()->SetLabelSize(0.08); + GefzDIFreconoiseHE41DF->SetXTitle("#phi \b"); + GefzDIFreconoiseHE41DF->SetYTitle(" \b"); + GefzDIFreconoiseHE41DF->SetZTitle("_PHI - AllDepthes \b"); + GefzDIFreconoiseHE41DF->SetMarkerColor(4); + GefzDIFreconoiseHE41DF->SetLineColor( + 4); // GefzDIFreconoiseHE41DF->SetMinimum(0.8); // GefzDIFreconoiseHE41DF->SetMaximum(1.000); + GefzDIFreconoiseHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DIFreconoiseGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (GefzDIFreconoiseHE41D) + delete GefzDIFreconoiseHE41D; + if (GefzDIFreconoiseHE41D0) + delete GefzDIFreconoiseHE41D0; + if (GefzDIFreconoiseHE41DF) + delete GefzDIFreconoiseHE41DF; + + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: DIF vs phi , different eta, depth=1 + //cout<<" 1D plot: DIF vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF1 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEpositivedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF1 == 1) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 2) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 3) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 4) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 5) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 6) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 7) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 8) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 9) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 10) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 11) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 12) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionReconoiseDIF1->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF1++; + if (kcountHEpositivedirectionReconoiseDIF1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 15 && jeta-41 <= 28 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF1) + delete h2CeffHEpositivedirectionReconoiseDIF1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF2 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEpositivedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF2 == 1) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 2) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 3) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 4) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 5) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 6) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 7) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 8) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 9) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 10) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 11) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 12) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 13) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionReconoiseDIF2->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF2++; + if (kcountHEpositivedirectionReconoiseDIF2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF2) + delete h2CeffHEpositivedirectionReconoiseDIF2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF3 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF3 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEpositivedirectionReconoiseDIF3 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF3 == 1) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 2) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 3) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 4) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 5) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 6) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 7) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 8) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 9) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 10) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 11) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 12) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 13) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionReconoiseDIF3->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF3++; + if (kcountHEpositivedirectionReconoiseDIF3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF3) + delete h2CeffHEpositivedirectionReconoiseDIF3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF4 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF4 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEpositivedirectionReconoiseDIF4 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF4 == 1) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 2) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 3) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 4) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 5) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 6) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 7) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 8) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 9) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 10) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 11) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 12) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionReconoiseDIF4->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF4++; + if (kcountHEpositivedirectionReconoiseDIF4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF4) + delete h2CeffHEpositivedirectionReconoiseDIF4; + //========================================================================================== 8 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF5 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF5 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEpositivedirectionReconoiseDIF5 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF5 == 1) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 2) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 3) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 4) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 5) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 6) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 7) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 8) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 9) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 10) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 11) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionReconoiseDIF5->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF5++; + if (kcountHEpositivedirectionReconoiseDIF5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF5) + delete h2CeffHEpositivedirectionReconoiseDIF5; + //========================================================================================== 9 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF6 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF6 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEpositivedirectionReconoiseDIF6 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF6 == 1) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 2) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 3) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 4) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 5) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 6) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 7) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 8) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 9) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 10) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionReconoiseDIF6->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF6++; + if (kcountHEpositivedirectionReconoiseDIF6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF6) + delete h2CeffHEpositivedirectionReconoiseDIF6; + //========================================================================================== 10 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF7 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF7 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEpositivedirectionReconoiseDIF7 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF7 == 1) + HEpositivedirectionReconoiseDIF7->SetXTitle("DIF for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionReconoiseDIF7 == 2) + HEpositivedirectionReconoiseDIF7->SetXTitle("DIF for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionReconoiseDIF7 == 3) + HEpositivedirectionReconoiseDIF7->SetXTitle("DIF for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionReconoiseDIF7->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF7++; + if (kcountHEpositivedirectionReconoiseDIF7 > 3) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF7) + delete h2CeffHEpositivedirectionReconoiseDIF7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF1 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEnegativedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF1 == 1) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 2) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 3) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 4) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 5) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 6) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 7) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 8) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 9) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 10) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 11) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 12) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionReconoiseDIF1->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF1++; + if (kcountHEnegativedirectionReconoiseDIF1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF1) + delete h2CeffHEnegativedirectionReconoiseDIF1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF2 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEnegativedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF2 == 1) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 2) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 3) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 4) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 5) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 6) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 7) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 8) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 9) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 10) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 11) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 12) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 13) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionReconoiseDIF2->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF2++; + if (kcountHEnegativedirectionReconoiseDIF2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF2) + delete h2CeffHEnegativedirectionReconoiseDIF2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF3 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF3 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEnegativedirectionReconoiseDIF3 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF3 == 1) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 2) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 3) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 4) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 5) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 6) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 7) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 8) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 9) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 10) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 11) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 12) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 13) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionReconoiseDIF3->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF3++; + if (kcountHEnegativedirectionReconoiseDIF3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF3) + delete h2CeffHEnegativedirectionReconoiseDIF3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF4 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF4 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEnegativedirectionReconoiseDIF4 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF4 == 1) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 2) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 3) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 4) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 5) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 6) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 7) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 8) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 9) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 10) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 11) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 12) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionReconoiseDIF4->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF4++; + if (kcountHEnegativedirectionReconoiseDIF4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF4) + delete h2CeffHEnegativedirectionReconoiseDIF4; + //========================================================================================== 1118 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF5 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF5 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEnegativedirectionReconoiseDIF5 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF5 == 1) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 2) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 3) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 4) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 5) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 6) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 7) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 8) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 9) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 10) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 11) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionReconoiseDIF5->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF5++; + if (kcountHEnegativedirectionReconoiseDIF5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF5) + delete h2CeffHEnegativedirectionReconoiseDIF5; + //========================================================================================== 1119 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF6 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF6 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEnegativedirectionReconoiseDIF6 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF6 == 1) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 2) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 3) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 4) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 5) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 6) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 7) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 8) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 9) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 10) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionReconoiseDIF6->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF6++; + if (kcountHEnegativedirectionReconoiseDIF6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF6) + delete h2CeffHEnegativedirectionReconoiseDIF6; + //========================================================================================== 11110 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF7 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF7 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEnegativedirectionReconoiseDIF7 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF7 == 1) + HEnegativedirectionReconoiseDIF7->SetXTitle("DIF for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionReconoiseDIF7 == 2) + HEnegativedirectionReconoiseDIF7->SetXTitle("DIF for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionReconoiseDIF7 == 3) + HEnegativedirectionReconoiseDIF7->SetXTitle("DIF for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionReconoiseDIF7->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF7++; + if (kcountHEnegativedirectionReconoiseDIF7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF7) + delete h2CeffHEnegativedirectionReconoiseDIF7; + + //====================================================================================================================== + //====================================================================================================================== + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recNoiseEnergy2_HE1"); + TH2F *reconoiseVariance0HE1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE1"); + TH2F *reconoiseVarianceHE1 = (TH2F *)reconoiseVariance1HE1->Clone("reconoiseVarianceHE1"); + reconoiseVarianceHE1->Divide(reconoiseVariance1HE1, reconoiseVariance0HE1, 1, 1, "B"); + TH2F *reconoiseVariance1HE2 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE2"); + TH2F *reconoiseVariance0HE2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE2"); + TH2F *reconoiseVarianceHE2 = (TH2F *)reconoiseVariance1HE2->Clone("reconoiseVarianceHE2"); + reconoiseVarianceHE2->Divide(reconoiseVariance1HE2, reconoiseVariance0HE2, 1, 1, "B"); + TH2F *reconoiseVariance1HE3 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE3"); + TH2F *reconoiseVariance0HE3 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE3"); + TH2F *reconoiseVarianceHE3 = (TH2F *)reconoiseVariance1HE3->Clone("reconoiseVarianceHE3"); + reconoiseVarianceHE3->Divide(reconoiseVariance1HE3, reconoiseVariance0HE3, 1, 1, "B"); + TH2F *reconoiseVariance1HE4 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE4"); + TH2F *reconoiseVariance0HE4 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE4"); + TH2F *reconoiseVarianceHE4 = (TH2F *)reconoiseVariance1HE4->Clone("reconoiseVarianceHE4"); + reconoiseVarianceHE4->Divide(reconoiseVariance1HE4, reconoiseVariance0HE4, 1, 1, "B"); + TH2F *reconoiseVariance1HE5 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE5"); + TH2F *reconoiseVariance0HE5 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE5"); + TH2F *reconoiseVarianceHE5 = (TH2F *)reconoiseVariance1HE5->Clone("reconoiseVarianceHE5"); + reconoiseVarianceHE5->Divide(reconoiseVariance1HE5, reconoiseVariance0HE5, 1, 1, "B"); + TH2F *reconoiseVariance1HE6 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE6"); + TH2F *reconoiseVariance0HE6 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE6"); + TH2F *reconoiseVarianceHE6 = (TH2F *)reconoiseVariance1HE6->Clone("reconoiseVarianceHE6"); + reconoiseVarianceHE6->Divide(reconoiseVariance1HE6, reconoiseVariance0HE6, 1, 1, "B"); + TH2F *reconoiseVariance1HE7 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE7"); + TH2F *reconoiseVariance0HE7 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE7"); + TH2F *reconoiseVarianceHE7 = (TH2F *)reconoiseVariance1HE7->Clone("reconoiseVarianceHE7"); + reconoiseVarianceHE7->Divide(reconoiseVariance1HE7, reconoiseVariance0HE7, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive reconoisevariancehe + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + //preparation for PHI normalization: + double sumreconoiseHE0 = 0; + int nsumreconoiseHE0 = 0; + double sumreconoiseHE1 = 0; + int nsumreconoiseHE1 = 0; + double sumreconoiseHE2 = 0; + int nsumreconoiseHE2 = 0; + double sumreconoiseHE3 = 0; + int nsumreconoiseHE3 = 0; + double sumreconoiseHE4 = 0; + int nsumreconoiseHE4 = 0; + double sumreconoiseHE5 = 0; + int nsumreconoiseHE5 = 0; + double sumreconoiseHE6 = 0; + int nsumreconoiseHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + reconoisevariancehe[0][jeta][jphi] = reconoiseVarianceHE1->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[1][jeta][jphi] = reconoiseVarianceHE2->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[2][jeta][jphi] = reconoiseVarianceHE3->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[3][jeta][jphi] = reconoiseVarianceHE4->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[4][jeta][jphi] = reconoiseVarianceHE5->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[5][jeta][jphi] = reconoiseVarianceHE6->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[6][jeta][jphi] = reconoiseVarianceHE7->GetBinContent(jeta + 1, jphi + 1); + if (reconoisevariancehe[0][jeta][jphi] != 0.) { + sumreconoiseHE0 += reconoisevariancehe[0][jeta][jphi]; + ++nsumreconoiseHE0; + } + if (reconoisevariancehe[1][jeta][jphi] != 0.) { + sumreconoiseHE1 += reconoisevariancehe[1][jeta][jphi]; + ++nsumreconoiseHE1; + } + if (reconoisevariancehe[2][jeta][jphi] != 0.) { + sumreconoiseHE2 += reconoisevariancehe[2][jeta][jphi]; + ++nsumreconoiseHE2; + } + if (reconoisevariancehe[3][jeta][jphi] != 0.) { + sumreconoiseHE3 += reconoisevariancehe[3][jeta][jphi]; + ++nsumreconoiseHE3; + } + if (reconoisevariancehe[4][jeta][jphi] != 0.) { + sumreconoiseHE4 += reconoisevariancehe[4][jeta][jphi]; + ++nsumreconoiseHE4; + } + if (reconoisevariancehe[5][jeta][jphi] != 0.) { + sumreconoiseHE5 += reconoisevariancehe[5][jeta][jphi]; + ++nsumreconoiseHE5; + } + if (reconoisevariancehe[6][jeta][jphi] != 0.) { + sumreconoiseHE6 += reconoisevariancehe[6][jeta][jphi]; + ++nsumreconoiseHE6; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHE0 != 0.) + reconoisevariancehe[0][jeta][jphi] /= (sumreconoiseHE0 / nsumreconoiseHE0); + if (sumreconoiseHE1 != 0.) + reconoisevariancehe[1][jeta][jphi] /= (sumreconoiseHE1 / nsumreconoiseHE1); + if (sumreconoiseHE2 != 0.) + reconoisevariancehe[2][jeta][jphi] /= (sumreconoiseHE2 / nsumreconoiseHE2); + if (sumreconoiseHE3 != 0.) + reconoisevariancehe[3][jeta][jphi] /= (sumreconoiseHE3 / nsumreconoiseHE3); + if (sumreconoiseHE4 != 0.) + reconoisevariancehe[4][jeta][jphi] /= (sumreconoiseHE4 / nsumreconoiseHE4); + if (sumreconoiseHE5 != 0.) + reconoisevariancehe[5][jeta][jphi] /= (sumreconoiseHE5 / nsumreconoiseHE5); + if (sumreconoiseHE6 != 0.) + reconoisevariancehe[6][jeta][jphi] /= (sumreconoiseHE6 / nsumreconoiseHE6); + } // phi + // reconoisevariancehe (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDreconoiseHE42D = new TH2F("DefzDreconoiseHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHE42D0 = new TH2F("DefzDreconoiseHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHE42DF = (TH2F *)DefzDreconoiseHE42D0->Clone("DefzDreconoiseHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (areconoisehe[i][jeta][jphi] > 0.) { + DefzDreconoiseHE42D->Fill(kkk, jphi, ccc1); + DefzDreconoiseHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + DefzDreconoiseHE42DF->Divide(DefzDreconoiseHE42D, DefzDreconoiseHE42D0, 1, 1, "B"); // average A + // DefzDreconoiseHE1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHE42DF->SetMarkerStyle(20); + DefzDreconoiseHE42DF->SetMarkerSize(0.4); + DefzDreconoiseHE42DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHE42DF->SetXTitle("_depth #eta \b"); + DefzDreconoiseHE42DF->SetYTitle(" #phi \b"); + DefzDreconoiseHE42DF->SetZTitle("_depth \b"); + DefzDreconoiseHE42DF->SetMarkerColor(2); + DefzDreconoiseHE42DF->SetLineColor( + 0); // DefzDreconoiseHE42DF->SetMaximum(1.000); // DefzDreconoiseHE42DF->SetMinimum(1.0); + DefzDreconoiseHE42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DreconoiseGeneralD2PhiSymmetryHE.png"); + c1x0->Clear(); + // clean-up + if (DefzDreconoiseHE42D) + delete DefzDreconoiseHE42D; + if (DefzDreconoiseHE42D0) + delete DefzDreconoiseHE42D0; + if (DefzDreconoiseHE42DF) + delete DefzDreconoiseHE42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDreconoiseHE41D = new TH1F("DefzDreconoiseHE41D", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHE41D0 = new TH1F("DefzDreconoiseHE41D0", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHE41DF = (TH1F *)DefzDreconoiseHE41D0->Clone("DefzDreconoiseHE41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + DefzDreconoiseHE41D->Fill(jphi, ccc1); + DefzDreconoiseHE41D0->Fill(jphi, 1.); + } + } + } + } + } + // DefzDreconoiseHE41D->Sumw2();DefzDreconoiseHE41D0->Sumw2(); + + DefzDreconoiseHE41DF->Divide(DefzDreconoiseHE41D, DefzDreconoiseHE41D0, 1, 1, "B"); // R averaged over depthes & eta + DefzDreconoiseHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDreconoiseHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHE41DF->SetMarkerStyle(20); + DefzDreconoiseHE41DF->SetMarkerSize(1.4); + DefzDreconoiseHE41DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHE41DF->SetXTitle("#phi \b"); + DefzDreconoiseHE41DF->SetYTitle(" \b"); + DefzDreconoiseHE41DF->SetZTitle("_PHI - AllDepthes \b"); + DefzDreconoiseHE41DF->SetMarkerColor(4); + DefzDreconoiseHE41DF->SetLineColor( + 4); // DefzDreconoiseHE41DF->SetMinimum(0.8); DefzDreconoiseHE41DF->SetMinimum(-0.015); + DefzDreconoiseHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DreconoiseGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (DefzDreconoiseHE41D) + delete DefzDreconoiseHE41D; + if (DefzDreconoiseHE41D0) + delete DefzDreconoiseHE41D0; + if (DefzDreconoiseHE41DF) + delete DefzDreconoiseHE41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD1 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD1 = new TH1F("h2CeffHEpositivedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEpositivedirectionReconoiseD1 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD1 == 1) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 2) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 3) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 4) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 5) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 6) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 7) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 8) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 9) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 10) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 11) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 12) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionReconoiseD1->Draw("Error"); + kcountHEpositivedirectionReconoiseD1++; + if (kcountHEpositivedirectionReconoiseD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD1) + delete h2CeffHEpositivedirectionReconoiseD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD2 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD2 = new TH1F("h2CeffHEpositivedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEpositivedirectionReconoiseD2 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD2 == 1) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 2) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 3) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 4) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 5) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 6) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 7) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 8) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 9) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 10) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 11) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 12) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 13) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionReconoiseD2->Draw("Error"); + kcountHEpositivedirectionReconoiseD2++; + if (kcountHEpositivedirectionReconoiseD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD2) + delete h2CeffHEpositivedirectionReconoiseD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD3 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD3 = new TH1F("h2CeffHEpositivedirectionReconoiseD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEpositivedirectionReconoiseD3 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD3 == 1) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 2) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 3) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 4) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 5) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 6) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 7) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 8) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 9) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 10) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 11) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 12) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 13) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionReconoiseD3->Draw("Error"); + kcountHEpositivedirectionReconoiseD3++; + if (kcountHEpositivedirectionReconoiseD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD3) + delete h2CeffHEpositivedirectionReconoiseD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD4 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD4 = new TH1F("h2CeffHEpositivedirectionReconoiseD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEpositivedirectionReconoiseD4 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD4 == 1) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 2) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 3) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 4) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 5) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 6) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 7) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 8) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 9) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 10) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 11) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 12) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionReconoiseD4->Draw("Error"); + kcountHEpositivedirectionReconoiseD4++; + if (kcountHEpositivedirectionReconoiseD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD4) + delete h2CeffHEpositivedirectionReconoiseD4; + //========================================================================================== 18 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD5 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD5 = new TH1F("h2CeffHEpositivedirectionReconoiseD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD5->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEpositivedirectionReconoiseD5 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD5 == 1) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 2) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 3) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 4) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 5) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 6) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 7) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 8) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 9) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 10) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 11) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionReconoiseD5->Draw("Error"); + kcountHEpositivedirectionReconoiseD5++; + if (kcountHEpositivedirectionReconoiseD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD5) + delete h2CeffHEpositivedirectionReconoiseD5; + //========================================================================================== 19 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD6 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD6 = new TH1F("h2CeffHEpositivedirectionReconoiseD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEpositivedirectionReconoiseD6 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD6 == 1) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 2) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 3) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 4) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 5) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 6) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 7) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 8) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 9) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 10) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionReconoiseD6->Draw("Error"); + kcountHEpositivedirectionReconoiseD6++; + if (kcountHEpositivedirectionReconoiseD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD6) + delete h2CeffHEpositivedirectionReconoiseD6; + //========================================================================================== 20 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD7 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD7 = new TH1F("h2CeffHEpositivedirectionReconoiseD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEpositivedirectionReconoiseD7 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD7 == 1) + HEpositivedirectionReconoiseD7->SetXTitle("D for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionReconoiseD7 == 2) + HEpositivedirectionReconoiseD7->SetXTitle("D for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionReconoiseD7 == 3) + HEpositivedirectionReconoiseD7->SetXTitle("D for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionReconoiseD7->Draw("Error"); + kcountHEpositivedirectionReconoiseD7++; + if (kcountHEpositivedirectionReconoiseD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD7) + delete h2CeffHEpositivedirectionReconoiseD7; + + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD1 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD1 = new TH1F("h2CeffHEnegativedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEnegativedirectionReconoiseD1 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD1 == 1) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 2) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 3) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 4) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 5) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 6) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 7) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 8) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 9) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 10) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 11) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 12) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionReconoiseD1->Draw("Error"); + kcountHEnegativedirectionReconoiseD1++; + if (kcountHEnegativedirectionReconoiseD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD1) + delete h2CeffHEnegativedirectionReconoiseD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD2 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD2 = new TH1F("h2CeffHEnegativedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEnegativedirectionReconoiseD2 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD2 == 1) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 2) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 3) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 4) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 5) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 6) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 7) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 8) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 9) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 10) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 11) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 12) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 13) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionReconoiseD2->Draw("Error"); + kcountHEnegativedirectionReconoiseD2++; + if (kcountHEnegativedirectionReconoiseD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD2) + delete h2CeffHEnegativedirectionReconoiseD2; + //========================================================================================== 22222216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD3 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD3 = new TH1F("h2CeffHEnegativedirectionReconoiseD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEnegativedirectionReconoiseD3 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD3 == 1) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 2) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 3) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 4) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 5) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 6) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 7) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 8) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 9) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 10) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 11) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 12) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 13) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionReconoiseD3->Draw("Error"); + kcountHEnegativedirectionReconoiseD3++; + if (kcountHEnegativedirectionReconoiseD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD3) + delete h2CeffHEnegativedirectionReconoiseD3; + //========================================================================================== 22222217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD4 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD4 = new TH1F("h2CeffHEnegativedirectionReconoiseD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEnegativedirectionReconoiseD4 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD4 == 1) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 2) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 3) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 4) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 5) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 6) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 7) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 8) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 9) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 10) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 11) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 12) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionReconoiseD4->Draw("Error"); + kcountHEnegativedirectionReconoiseD4++; + if (kcountHEnegativedirectionReconoiseD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD4) + delete h2CeffHEnegativedirectionReconoiseD4; + //========================================================================================== 22222218 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD5 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD5 = new TH1F("h2CeffHEnegativedirectionReconoiseD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD5->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEnegativedirectionReconoiseD5 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD5 == 1) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 2) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 3) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 4) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 5) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 6) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 7) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 8) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 9) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 10) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 11) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionReconoiseD5->Draw("Error"); + kcountHEnegativedirectionReconoiseD5++; + if (kcountHEnegativedirectionReconoiseD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD5) + delete h2CeffHEnegativedirectionReconoiseD5; + //========================================================================================== 22222219 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD6 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD6 = new TH1F("h2CeffHEnegativedirectionReconoiseD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEnegativedirectionReconoiseD6 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD6 == 1) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 2) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 3) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 4) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 5) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 6) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 7) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 8) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 9) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 10) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionReconoiseD6->Draw("Error"); + kcountHEnegativedirectionReconoiseD6++; + if (kcountHEnegativedirectionReconoiseD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD6) + delete h2CeffHEnegativedirectionReconoiseD6; + //========================================================================================== 22222220 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD7 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD7 = new TH1F("h2CeffHEnegativedirectionReconoiseD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEnegativedirectionReconoiseD7 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD7 == 1) + HEnegativedirectionReconoiseD7->SetXTitle("D for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionReconoiseD7 == 2) + HEnegativedirectionReconoiseD7->SetXTitle("D for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionReconoiseD7 == 3) + HEnegativedirectionReconoiseD7->SetXTitle("D for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionReconoiseD7->Draw("Error"); + kcountHEnegativedirectionReconoiseD7++; + if (kcountHEnegativedirectionReconoiseD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD7) + delete h2CeffHEnegativedirectionReconoiseD7; + //===================================================================== END of Reconoise HE for phi-symmetry + //===================================================================== END of Reconoise HE for phi-symmetry + //===================================================================== END of Reconoise HE for phi-symmetry + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HF + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 2; + double areconoiseHF[ndepth][njeta][njphi]; + double breconoiseHF[ndepth][njeta][njphi]; + double reconoisevarianceHF[ndepth][njeta][njphi]; + + TH2F *recNoiseEnergy1HF1 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HF1"); + TH2F *recNoiseEnergy0HF1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HF1"); + TH2F *recNoiseEnergyHF1 = (TH2F *)recNoiseEnergy1HF1->Clone("recNoiseEnergyHF1"); + recNoiseEnergyHF1->Divide(recNoiseEnergy1HF1, recNoiseEnergy0HF1, 1, 1, "B"); + TH2F *recNoiseEnergy1HF2 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HF2"); + TH2F *recNoiseEnergy0HF2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HF2"); + TH2F *recNoiseEnergyHF2 = (TH2F *)recNoiseEnergy1HF2->Clone("recNoiseEnergyHF2"); + recNoiseEnergyHF2->Divide(recNoiseEnergy1HF2, recNoiseEnergy0HF2, 1, 1, "B"); + //====================================================================== PHI normalization & put R into massive areconoiseHF + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + //preparation for PHI normalization: + double sumreconoiseHF0 = 0; + int nsumreconoiseHF0 = 0; + double sumreconoiseHF1 = 0; + int nsumreconoiseHF1 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + areconoiseHF[0][jeta][jphi] = recNoiseEnergyHF1->GetBinContent(jeta + 1, jphi + 1); + areconoiseHF[1][jeta][jphi] = recNoiseEnergyHF2->GetBinContent(jeta + 1, jphi + 1); + breconoiseHF[0][jeta][jphi] = recNoiseEnergyHF1->GetBinContent(jeta + 1, jphi + 1); + breconoiseHF[1][jeta][jphi] = recNoiseEnergyHF2->GetBinContent(jeta + 1, jphi + 1); + sumreconoiseHF0 += areconoiseHF[0][jeta][jphi]; + ++nsumreconoiseHF0; + sumreconoiseHF1 += areconoiseHF[1][jeta][jphi]; + ++nsumreconoiseHF1; + } // phi + + // PHI normalization for DIF: + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHF0 != 0.) + breconoiseHF[0][jeta][jphi] -= (sumreconoiseHF0 / nsumreconoiseHF0); + if (sumreconoiseHF1 != 0.) + breconoiseHF[1][jeta][jphi] -= (sumreconoiseHF1 / nsumreconoiseHF1); + } // phi + + // PHI normalization for R: + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHF0 != 0.) + areconoiseHF[0][jeta][jphi] /= (sumreconoiseHF0 / nsumreconoiseHF0); + if (sumreconoiseHF1 != 0.) + areconoiseHF[1][jeta][jphi] /= (sumreconoiseHF1 / nsumreconoiseHF1); + } // phi + + } // jeta-41 + } //eta + ///////////////////////////////////////// + + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Reconoise HF + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs + //====================================================================== + //====================================================================== + // cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRreconoiseHF42D = new TH2F("GefzRreconoiseHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHF42D0 = new TH2F("GefzRreconoiseHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHF42DF = (TH2F *)GefzRreconoiseHF42D0->Clone("GefzRreconoiseHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRreconoiseHF42D->Fill(kkk, jphi, ccc1); + GefzRreconoiseHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzRreconoiseHF42DF->Divide(GefzRreconoiseHF42D, GefzRreconoiseHF42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHF42DF->SetXTitle("_depth #eta \b"); + GefzRreconoiseHF42DF->SetYTitle(" #phi \b"); + GefzRreconoiseHF42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitNoise_HF = (TH1F *)hfile->Get("h_energyhitNoise_HF"); + energyhitNoise_HF->SetMarkerStyle(20); + energyhitNoise_HF->SetMarkerSize(0.4); + energyhitNoise_HF->GetYaxis()->SetLabelSize(0.04); + energyhitNoise_HF->SetXTitle("energyhitNoise_HF \b"); + energyhitNoise_HF->SetMarkerColor(2); + energyhitNoise_HF->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitNoise_HF->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RreconoiseGeneralD2PhiSymmetryHF.png"); + c2x1->Clear(); + // clean-up + if (GefzRreconoiseHF42D) + delete GefzRreconoiseHF42D; + if (GefzRreconoiseHF42D0) + delete GefzRreconoiseHF42D0; + if (GefzRreconoiseHF42DF) + delete GefzRreconoiseHF42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRreconoiseHF41D = new TH1F("GefzRreconoiseHF41D", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHF41D0 = new TH1F("GefzRreconoiseHF41D0", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHF41DF = (TH1F *)GefzRreconoiseHF41D0->Clone("GefzRreconoiseHF41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRreconoiseHF41D->Fill(jphi, ccc1); + GefzRreconoiseHF41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzRreconoiseHF41DF->Divide(GefzRreconoiseHF41D, GefzRreconoiseHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRreconoiseHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRreconoiseHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHF41DF->SetMarkerStyle(20); + GefzRreconoiseHF41DF->SetMarkerSize(1.4); + GefzRreconoiseHF41DF->GetZaxis()->SetLabelSize(0.08); + GefzRreconoiseHF41DF->SetXTitle("#phi \b"); + GefzRreconoiseHF41DF->SetYTitle(" \b"); + GefzRreconoiseHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRreconoiseHF41DF->SetMarkerColor(4); + GefzRreconoiseHF41DF->SetLineColor( + 4); // GefzRreconoiseHF41DF->SetMinimum(0.8); // GefzRreconoiseHF41DF->SetMaximum(1.000); + GefzRreconoiseHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RreconoiseGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (GefzRreconoiseHF41D) + delete GefzRreconoiseHF41D; + if (GefzRreconoiseHF41D0) + delete GefzRreconoiseHF41D0; + if (GefzRreconoiseHF41DF) + delete GefzRreconoiseHF41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoise1 = 1; + TH1F *h2CeffHFpositivedirectionReconoise1 = new TH1F("h2CeffHFpositivedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFpositivedirectionReconoise1 = "<SetMarkerColor(2); + HFpositivedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoise1 == 1) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 2) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 3) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 4) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 5) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 6) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 7) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 8) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 9) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 10) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 11) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 12) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 13) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionReconoise1->Draw("Error"); + kcountHFpositivedirectionReconoise1++; + if (kcountHFpositivedirectionReconoise1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoise1) + delete h2CeffHFpositivedirectionReconoise1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoise2 = 1; + TH1F *h2CeffHFpositivedirectionReconoise2 = new TH1F("h2CeffHFpositivedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFpositivedirectionReconoise2 = "<SetMarkerColor(2); + HFpositivedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoise2 == 1) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 2) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 3) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 4) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 5) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 6) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 7) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 8) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 9) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 10) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 11) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 12) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 13) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionReconoise2->Draw("Error"); + kcountHFpositivedirectionReconoise2++; + if (kcountHFpositivedirectionReconoise2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoise2) + delete h2CeffHFpositivedirectionReconoise2; + + //========================================================================================== 1111114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoise1 = 1; + TH1F *h2CeffHFnegativedirectionReconoise1 = new TH1F("h2CeffHFnegativedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFnegativedirectionReconoise1 = "<SetMarkerColor(2); + HFnegativedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoise1 == 1) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 2) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 3) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 4) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 5) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 6) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 7) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 8) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 9) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 10) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 11) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 12) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 13) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionReconoise1->Draw("Error"); + kcountHFnegativedirectionReconoise1++; + if (kcountHFnegativedirectionReconoise1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoise1) + delete h2CeffHFnegativedirectionReconoise1; + + //========================================================================================== 1111115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoise2 = 1; + TH1F *h2CeffHFnegativedirectionReconoise2 = new TH1F("h2CeffHFnegativedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFnegativedirectionReconoise2 = "<SetMarkerColor(2); + HFnegativedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoise2 == 1) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 2) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 3) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 4) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 5) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 6) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 7) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 8) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 9) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 10) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 11) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 12) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 13) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-20; depth = 2 \b"); + HFnegativedirectionReconoise2->Draw("Error"); + kcountHFnegativedirectionReconoise2++; + if (kcountHFnegativedirectionReconoise2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoise2) + delete h2CeffHFnegativedirectionReconoise2; + + //====================================================================================================================== + // DIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIF: Reconoise HF + //------------------------ 2D-eta/phi-plot: DIF, averaged over depthfs + //====================================================================== + //====================================================================== + // cout<<" DIF2D-eta/phi-plot: DIF, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzDIFreconoiseHF42D = new TH2F("GefzDIFreconoiseHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHF42D0 = new TH2F("GefzDIFreconoiseHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHF42DF = (TH2F *)GefzDIFreconoiseHF42D0->Clone("GefzDIFreconoiseHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzDIFreconoiseHF42D->Fill(kkk, jphi, ccc1); + GefzDIFreconoiseHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHF42DF->Divide(GefzDIFreconoiseHF42D, GefzDIFreconoiseHF42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHF42DF->SetXTitle("_depth #eta \b"); + GefzDIFreconoiseHF42DF->SetYTitle(" #phi \b"); + GefzDIFreconoiseHF42DF->Draw("COLZ"); + + c2x1->cd(2); + // TH1F *energyhitNoiseCut_HF= (TH1F*)hfile->Get("h_energyhitNoiseCut_HF"); + // energyhitNoiseCut_HF ->SetMarkerStyle(20);energyhitNoiseCut_HF ->SetMarkerSize(0.4);energyhitNoiseCut_HF ->GetYaxis()->SetLabelSize(0.04);energyhitNoiseCut_HF ->SetXTitle("energyhitNoiseCut_HF \b");energyhitNoiseCut_HF ->SetMarkerColor(2);energyhitNoiseCut_HF ->SetLineColor(0);gPad->SetGridy();gPad->SetGridx();energyhitNoiseCut_HF ->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("DIFreconoiseGeneralD2PhiSymmetryHF.png"); + c2x1->Clear(); + // clean-up + if (GefzDIFreconoiseHF42D) + delete GefzDIFreconoiseHF42D; + if (GefzDIFreconoiseHF42D0) + delete GefzDIFreconoiseHF42D0; + if (GefzDIFreconoiseHF42DF) + delete GefzDIFreconoiseHF42DF; + //====================================================================== 1D plot: DIF vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: DIF vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzDIFreconoiseHF41D = new TH1F("GefzDIFreconoiseHF41D", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHF41D0 = new TH1F("GefzDIFreconoiseHF41D0", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHF41DF = (TH1F *)GefzDIFreconoiseHF41D0->Clone("GefzDIFreconoiseHF41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzDIFreconoiseHF41D->Fill(jphi, ccc1); + GefzDIFreconoiseHF41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHF41DF->Divide( + GefzDIFreconoiseHF41D, GefzDIFreconoiseHF41D0, 1, 1, "B"); // DIF averaged over depthfs & eta + GefzDIFreconoiseHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzDIFreconoiseHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHF41DF->SetMarkerStyle(20); + GefzDIFreconoiseHF41DF->SetMarkerSize(1.4); + GefzDIFreconoiseHF41DF->GetZaxis()->SetLabelSize(0.08); + GefzDIFreconoiseHF41DF->SetXTitle("#phi \b"); + GefzDIFreconoiseHF41DF->SetYTitle(" \b"); + GefzDIFreconoiseHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzDIFreconoiseHF41DF->SetMarkerColor(4); + GefzDIFreconoiseHF41DF->SetLineColor( + 4); // GefzDIFreconoiseHF41DF->SetMinimum(0.8); // GefzDIFreconoiseHF41DF->SetMaximum(1.000); + GefzDIFreconoiseHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DIFreconoiseGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (GefzDIFreconoiseHF41D) + delete GefzDIFreconoiseHF41D; + if (GefzDIFreconoiseHF41D0) + delete GefzDIFreconoiseHF41D0; + if (GefzDIFreconoiseHF41DF) + delete GefzDIFreconoiseHF41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: DIF vs phi , different eta, depth=1 + //cout<<" 1D plot: DIF vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHFpositivedirectionReconoiseDIF1 = new TH1F("h2CeffHFpositivedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFpositivedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HFpositivedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoiseDIF1 == 1) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 2) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 3) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 4) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 5) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 6) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 7) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 8) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 9) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 10) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 11) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 12) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 13) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionReconoiseDIF1->Draw("Error"); + kcountHFpositivedirectionReconoiseDIF1++; + if (kcountHFpositivedirectionReconoiseDIF1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoiseDIF1) + delete h2CeffHFpositivedirectionReconoiseDIF1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHFpositivedirectionReconoiseDIF2 = new TH1F("h2CeffHFpositivedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFpositivedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HFpositivedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoiseDIF2 == 1) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 2) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 3) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 4) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 5) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 6) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 7) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 8) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 9) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 10) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 11) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 12) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 13) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionReconoiseDIF2->Draw("Error"); + kcountHFpositivedirectionReconoiseDIF2++; + if (kcountHFpositivedirectionReconoiseDIF2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoiseDIF2) + delete h2CeffHFpositivedirectionReconoiseDIF2; + + //========================================================================================== 1111114 + //====================================================================== + //======================================================================1D plot: DIF vs phi , different eta, depth=1 + //cout<<" 1D plot: DIF vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHFnegativedirectionReconoiseDIF1 = new TH1F("h2CeffHFnegativedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFnegativedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HFnegativedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoiseDIF1 == 1) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 2) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 3) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 4) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 5) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 6) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 7) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 8) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 9) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 10) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 11) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 12) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 13) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionReconoiseDIF1->Draw("Error"); + kcountHFnegativedirectionReconoiseDIF1++; + if (kcountHFnegativedirectionReconoiseDIF1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoiseDIF1) + delete h2CeffHFnegativedirectionReconoiseDIF1; + + //========================================================================================== 1111115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHFnegativedirectionReconoiseDIF2 = new TH1F("h2CeffHFnegativedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFnegativedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HFnegativedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoiseDIF2 == 1) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 2) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 3) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 4) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 5) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 6) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 7) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 8) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 9) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 10) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 11) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 12) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 13) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-20; depth = 2 \b"); + HFnegativedirectionReconoiseDIF2->Draw("Error"); + kcountHFnegativedirectionReconoiseDIF2++; + if (kcountHFnegativedirectionReconoiseDIF2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoiseDIF2) + delete h2CeffHFnegativedirectionReconoiseDIF2; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recNoiseEnergy2_HF1"); + TH2F *reconoiseVariance0HF1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HF1"); + TH2F *reconoiseVarianceHF1 = (TH2F *)reconoiseVariance1HF1->Clone("reconoiseVarianceHF1"); + reconoiseVarianceHF1->Divide(reconoiseVariance1HF1, reconoiseVariance0HF1, 1, 1, "B"); + TH2F *reconoiseVariance1HF2 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HF2"); + TH2F *reconoiseVariance0HF2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HF2"); + TH2F *reconoiseVarianceHF2 = (TH2F *)reconoiseVariance1HF2->Clone("reconoiseVarianceHF2"); + reconoiseVarianceHF2->Divide(reconoiseVariance1HF2, reconoiseVariance0HF2, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive reconoisevarianceHF + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + //preparation for PHI normalization: + double sumreconoiseHF0 = 0; + int nsumreconoiseHF0 = 0; + double sumreconoiseHF1 = 0; + int nsumreconoiseHF1 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + reconoisevarianceHF[0][jeta][jphi] = reconoiseVarianceHF1->GetBinContent(jeta + 1, jphi + 1); + reconoisevarianceHF[1][jeta][jphi] = reconoiseVarianceHF2->GetBinContent(jeta + 1, jphi + 1); + sumreconoiseHF0 += reconoisevarianceHF[0][jeta][jphi]; + ++nsumreconoiseHF0; + sumreconoiseHF1 += reconoisevarianceHF[1][jeta][jphi]; + ++nsumreconoiseHF1; + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (reconoisevarianceHF[0][jeta][jphi] != 0.) + reconoisevarianceHF[0][jeta][jphi] /= (sumreconoiseHF0 / nsumreconoiseHF0); + if (reconoisevarianceHF[1][jeta][jphi] != 0.) + reconoisevarianceHF[1][jeta][jphi] /= (sumreconoiseHF1 / nsumreconoiseHF1); + } // phi + // reconoisevarianceHF (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDreconoiseHF42D = new TH2F("DefzDreconoiseHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHF42D0 = new TH2F("DefzDreconoiseHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHF42DF = (TH2F *)DefzDreconoiseHF42D0->Clone("DefzDreconoiseHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (areconoiseHF[i][jeta][jphi] > 0.) { + DefzDreconoiseHF42D->Fill(kkk, jphi, ccc1); + DefzDreconoiseHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + DefzDreconoiseHF42DF->Divide(DefzDreconoiseHF42D, DefzDreconoiseHF42D0, 1, 1, "B"); // average A + // DefzDreconoiseHF1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHF42DF->SetMarkerStyle(20); + DefzDreconoiseHF42DF->SetMarkerSize(0.4); + DefzDreconoiseHF42DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHF42DF->SetXTitle("_depth #eta \b"); + DefzDreconoiseHF42DF->SetYTitle(" #phi \b"); + DefzDreconoiseHF42DF->SetZTitle("_depth \b"); + DefzDreconoiseHF42DF->SetMarkerColor(2); + DefzDreconoiseHF42DF->SetLineColor( + 0); // DefzDreconoiseHF42DF->SetMaximum(1.000); // DefzDreconoiseHF42DF->SetMinimum(1.0); + DefzDreconoiseHF42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DreconoiseGeneralD2PhiSymmetryHF.png"); + c1x0->Clear(); + // clean-up + if (DefzDreconoiseHF42D) + delete DefzDreconoiseHF42D; + if (DefzDreconoiseHF42D0) + delete DefzDreconoiseHF42D0; + if (DefzDreconoiseHF42DF) + delete DefzDreconoiseHF42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDreconoiseHF41D = new TH1F("DefzDreconoiseHF41D", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHF41D0 = new TH1F("DefzDreconoiseHF41D0", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHF41DF = (TH1F *)DefzDreconoiseHF41D0->Clone("DefzDreconoiseHF41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + if (areconoiseHF[i][jeta][jphi] > 0.) { + DefzDreconoiseHF41D->Fill(jphi, ccc1); + DefzDreconoiseHF41D0->Fill(jphi, 1.); + } + } + } + } + } + // DefzDreconoiseHF41D->Sumw2();DefzDreconoiseHF41D0->Sumw2(); + + DefzDreconoiseHF41DF->Divide(DefzDreconoiseHF41D, DefzDreconoiseHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDreconoiseHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDreconoiseHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHF41DF->SetMarkerStyle(20); + DefzDreconoiseHF41DF->SetMarkerSize(1.4); + DefzDreconoiseHF41DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHF41DF->SetXTitle("#phi \b"); + DefzDreconoiseHF41DF->SetYTitle(" \b"); + DefzDreconoiseHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDreconoiseHF41DF->SetMarkerColor(4); + DefzDreconoiseHF41DF->SetLineColor( + 4); // DefzDreconoiseHF41DF->SetMinimum(0.8); DefzDreconoiseHF41DF->SetMinimum(-0.015); + DefzDreconoiseHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DreconoiseGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (DefzDreconoiseHF41D) + delete DefzDreconoiseHF41D; + if (DefzDreconoiseHF41D0) + delete DefzDreconoiseHF41D0; + if (DefzDreconoiseHF41DF) + delete DefzDreconoiseHF41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoiseD1 = 1; + TH1F *h2CeffHFpositivedirectionReconoiseD1 = new TH1F("h2CeffHFpositivedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + if (areconoiseHF[i][jeta][jphi] > 0.) { + HFpositivedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFpositivedirectionReconoiseD1 = "<SetMarkerColor(2); + HFpositivedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoiseD1 == 1) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 2) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 3) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 4) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 5) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 6) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 7) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 8) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 9) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 10) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 11) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 12) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 13) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionReconoiseD1->Draw("Error"); + kcountHFpositivedirectionReconoiseD1++; + if (kcountHFpositivedirectionReconoiseD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoiseD1) + delete h2CeffHFpositivedirectionReconoiseD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoiseD2 = 1; + TH1F *h2CeffHFpositivedirectionReconoiseD2 = new TH1F("h2CeffHFpositivedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + if (areconoiseHF[i][jeta][jphi] > 0.) { + HFpositivedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFpositivedirectionReconoiseD2 = "<SetMarkerColor(2); + HFpositivedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoiseD2 == 1) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 2) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 3) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 4) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 5) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 6) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 7) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 8) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 9) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 10) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 11) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 12) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 13) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionReconoiseD2->Draw("Error"); + kcountHFpositivedirectionReconoiseD2++; + if (kcountHFpositivedirectionReconoiseD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoiseD2) + delete h2CeffHFpositivedirectionReconoiseD2; + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoiseD1 = 1; + TH1F *h2CeffHFnegativedirectionReconoiseD1 = new TH1F("h2CeffHFnegativedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + if (areconoiseHF[i][jeta][jphi] > 0.) { + HFnegativedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFnegativedirectionReconoiseD1 = "<SetMarkerColor(2); + HFnegativedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoiseD1 == 1) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 2) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 3) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 4) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 5) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 6) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 7) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 8) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 9) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 10) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 11) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 12) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 13) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionReconoiseD1->Draw("Error"); + kcountHFnegativedirectionReconoiseD1++; + if (kcountHFnegativedirectionReconoiseD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoiseD1) + delete h2CeffHFnegativedirectionReconoiseD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoiseD2 = 1; + TH1F *h2CeffHFnegativedirectionReconoiseD2 = new TH1F("h2CeffHFnegativedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + if (areconoiseHF[i][jeta][jphi] > 0.) { + HFnegativedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFnegativedirectionReconoiseD2 = "<SetMarkerColor(2); + HFnegativedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoiseD2 == 1) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 2) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 3) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 4) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 5) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 6) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 7) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 8) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 9) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 10) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 11) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 12) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 13) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-29; depth = 2 \b"); + HFnegativedirectionReconoiseD2->Draw("Error"); + kcountHFnegativedirectionReconoiseD2++; + if (kcountHFnegativedirectionReconoiseD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoiseD2) + delete h2CeffHFnegativedirectionReconoiseD2; + + //===================================================================== END of Reconoise HF for phi-symmetry + //===================================================================== END of Reconoise HF for phi-symmetry + //===================================================================== END of Reconoise HF for phi-symmetry + //============================================================================================================ END of Reconoise for phi-symmetry + //============================================================================================================ END of Reconoise for phi-symmetry + //============================================================================================================ END of Reconoise for phi-symmetry + + //==================================================================================================================================================== END for phi-symmetry + //==================================================================================================================================================== END for phi-symmetry + //==================================================================================================================================================== END for phi-symmetry + //==================================================================================================================================================== + + std::cout << " We are here to print 2017 MAPs " << std::endl; + //====================================================================== + + //====================================================================== + /// Prepare maps of good/bad channels: + + TH2F *Map_ALL = new TH2F("Map_All", "Map_all", 82, -41, 40, 72, 0, 71); + int nx = Map_ALL->GetXaxis()->GetNbins(); + int ny = Map_ALL->GetYaxis()->GetNbins(); + int NBad = 0; + int NWarn = 0; + int NCalib = 0; + int NPed = 0; + // int Eta[3][10000]={0}; + int Eta[4][10000] = {0}; + int Phi[4][10000] = {0}; + int Sub[4][10000] = {0}; + int Depth[4][10000] = {0}; + string Comment[4][10000] = {""}; + string Text[33] = {"", "Cm", "Am", "Wm", "Rm", "TNm", "TXm", "", "", "", "", "Cc", "Ac", "Wc", "Rc", "TNc", "TXc", + "", "", "", "", "GS", "", "", "", "", "", "", "", "", "", "Pm", "pWm"}; + int flag_W = 0; + int flag_B = 0; + int flag_P = 0; + + for (int i = 1; i <= nx; i++) { //Eta + for (int j = 1; j <= ny; j++) { // Phi + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (Map_SUB[sub][k]->GetBinContent(i, j) != 0) { + Map_SUB[sub][k]->SetBinContent(i, j, 0.5); + Map_ALL->SetBinContent(i, j, 0.5); + } + } + } + } + } + + for (int i = 1; i <= nx; i++) { //Eta + for (int j = 1; j <= ny; j++) { // Phi + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + flag_W = 0; + flag_B = 0; + flag_P = 0; + for (int test = 1; test <= 6; test++) { //Test: 1-Wm, 2-Rm, etc + //Bad + if (Map_Ampl[test][sub][k]->GetBinContent(i, j) > + 0.1) { //Rate 0.1 for displaying on whole detector map and subdetector map + Map_ALL->SetBinContent(i, j, 1.); + Map_SUB[sub][k]->SetBinContent(i, j, 1.); + if (flag_B == 0) { + NBad += 1; + Eta[2][NBad] = i - 41; + Phi[2][NBad] = j - 1; + Sub[2][NBad] = sub; + Depth[2][NBad] = k; + Comment[2][NBad] = Text[test]; + } else + Comment[2][NBad] += ", " + Text[test]; + flag_B = 1; + // cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j) != 0.)&&(Map_Ampl[test][sub][k]->GetBinContent(i,j) < 0.001) ) { + if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.) Map_SUB[sub][k]->SetBinContent(i,j,0.75); + if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); + if (flag_W == 0) { + NWarn +=1; + Eta[1][NWarn]=i-41; + Phi[1][NWarn]=j-1; + Sub[1][NWarn]=sub; + Depth[1][NWarn]=k; + Comment[1][NWarn]=Text[test]; + } + else Comment[1][NWarn]+=", "+Text[test]; + flag_W = 1; +// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j) != 0.) { +// if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.3); +// if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.3); + if (flag_W == 0) { + NWarn +=1; + Eta[1][NWarn]=i-41; + Phi[1][NWarn]=j-1; + Sub[1][NWarn]=sub; + Depth[1][NWarn]=k; + Comment[1][NWarn]=Text[test]; + } + else Comment[1][NWarn]+=", "+Text[test]; + flag_W = 1; +// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i, j)) > porog[sub]) { + if (Map_SUB[sub][k]->GetBinContent(i, j) != 1.0) + Map_SUB[sub][k]->SetBinContent(i, j, 0.75); + if (Map_ALL->GetBinContent(i, j) != 1.) { + Map_ALL->SetBinContent(i, j, 0.75); + if (flag_W == 0) { + NWarn += 1; + Eta[1][NWarn] = i - 41; + Phi[1][NWarn] = j - 1; + Sub[1][NWarn] = sub; + Depth[1][NWarn] = k; + Comment[1][NWarn] = Text[test]; + } else + Comment[1][NWarn] += ", " + Text[test]; + flag_W = 1; + + cout << "Map_Ampl[" << test << "][" << sub << "][" << k << "]->GetBinContent(" << i << "," << j + << ")= " << Map_Ampl[test][sub][k]->GetBinContent(i, j) << endl; + } + } + } //end test + + //Pedestals + for (int test = 31; test <= 32; test++) { + if (Map_Ampl[test][sub][k]->GetBinContent(i, j) > 0.1) { + // if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.75); + // if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); + if (flag_P == 0) { + NPed += 1; + Eta[3][NPed] = i - 41; + Phi[3][NPed] = j - 1; + Sub[3][NPed] = sub; + Depth[3][NPed] = k; + Comment[3][NPed] = Text[test]; + } else + Comment[3][NPed] += ", " + Text[test]; + flag_P = 1; + + // cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHB->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogz(); + // gStyle->SetTitleOffset(0.5, "Y"); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_SUB[sub][k]->SetTitle(str); + Map_SUB[sub][k]->SetXTitle("#eta \b"); + Map_SUB[sub][k]->SetYTitle("#phi \b"); + Map_SUB[sub][k]->Draw("COL"); + Map_SUB[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_SUB[sub][k]->GetZaxis()->SetRangeUser(0., 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (sub == 1) { + cHB->Print("MAPHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MAPHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MAPHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MAPHF.png"); + cHF->Clear(); + } + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // TCanvas *cmain1 = new TCanvas("cmain1","MAP",200,10,1400,1800); + TCanvas *cmain1 = new TCanvas("cmain1", "MAP", 250, 10, 1450, 1410); + cmain1->Divide(2, 2); + + cmain1->cd(1); + TH1F *JDBEYESJ0 = (TH1F *)hfile->Get("h_totalAmplitudeHBperEvent"); + JDBEYESJ0->SetStats(0); + JDBEYESJ0->SetMarkerStyle(20); + JDBEYESJ0->SetMarkerSize(0.8); + JDBEYESJ0->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ0->SetXTitle("iEvent \b"); + JDBEYESJ0->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ0->SetTitle("HB \b"); + JDBEYESJ0->SetMarkerColor(2); + JDBEYESJ0->SetLineColor(1); + JDBEYESJ0->SetMinimum(0.8); + JDBEYESJ0->Draw("HIST same P0"); + + cmain1->cd(2); + TH1F *JDBEYESJ1 = (TH1F *)hfile->Get("h_totalAmplitudeHEperEvent"); + JDBEYESJ1->SetStats(0); + JDBEYESJ1->SetMarkerStyle(20); + JDBEYESJ1->SetMarkerSize(0.8); + JDBEYESJ1->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ1->SetXTitle("iEvent \b"); + JDBEYESJ1->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ1->SetTitle("HE \b"); + JDBEYESJ1->SetMarkerColor(2); + JDBEYESJ1->SetLineColor(1); + JDBEYESJ1->SetMinimum(0.8); + JDBEYESJ1->Draw("HIST same P0"); + + cmain1->cd(3); + TH1F *JDBEYESJ2 = (TH1F *)hfile->Get("h_totalAmplitudeHFperEvent"); + JDBEYESJ2->SetStats(0); + JDBEYESJ2->SetMarkerStyle(20); + JDBEYESJ2->SetMarkerSize(0.8); + JDBEYESJ2->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ2->SetXTitle("iEvent \b"); + JDBEYESJ2->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ2->SetTitle("HF \b"); + JDBEYESJ2->SetMarkerColor(2); + JDBEYESJ2->SetLineColor(1); + JDBEYESJ2->SetMinimum(0.8); + JDBEYESJ2->Draw("HIST same P0"); + + cmain1->cd(4); + TH1F *JDBEYESJ3 = (TH1F *)hfile->Get("h_totalAmplitudeHOperEvent"); + JDBEYESJ3->SetStats(0); + JDBEYESJ3->SetMarkerStyle(20); + JDBEYESJ3->SetMarkerSize(0.8); + JDBEYESJ3->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ3->SetXTitle("iEvent \b"); + JDBEYESJ3->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ3->SetTitle("HO \b"); + JDBEYESJ3->SetMarkerColor(2); + JDBEYESJ3->SetLineColor(1); + JDBEYESJ3->SetMinimum(0.8); + JDBEYESJ3->Draw("HIST same P0"); + + cmain1->Modified(); + cmain1->Update(); + cmain1->Print("EVENTDEPENDENCE.png"); + + std::cout << " EVENTDEPENDENCE " << std::endl; + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // ALL SubDet + gStyle->SetOptTitle(0); + TCanvas *cmain = new TCanvas("cmain", "MAP", 1000, 1000); + //cmain->cd(1); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogz(); + Map_ALL->SetTitleOffset(1.3, "Y"); + Map_ALL->SetXTitle("#eta \b"); + Map_ALL->SetYTitle("#phi \b"); + Map_ALL->Draw("COL"); + Map_ALL->GetYaxis()->SetRangeUser(0, 72.); + Map_ALL->GetZaxis()->SetRangeUser(0, 1.); + cmain->Modified(); + cmain->Update(); + cmain->Print("MAP.png"); + + std::cout << "******** MAP_ALL done" << std::endl; + std::cout << "********" << std::endl; + + std::cout << "********" << std::endl; + std::cout << "************ Start creating each test kind for each subdet html pages:" << std::endl; + + //====================================================================== + + //====================================================================== + // Creating each test kind for each subdet html pages: + std::string raw_class, raw_class1, raw_class2, raw_class3; + int ind = 0; + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + ofstream htmlFileT, htmlFileC, htmlFileD, htmlFileP, htmlFileS, htmlFileM, htmlFileR, htmlFileN; + if (sub == 1) { + htmlFileT.open("HB_Tile.html"); + htmlFileC.open("HB_Calib.html"); + htmlFileD.open("HB_Drift.html"); + htmlFileP.open("HB_Pedestals.html"); + htmlFileS.open("HB_Shapes.html"); + htmlFileM.open("HB_PhiSymmetryDigi.html"); + htmlFileR.open("HB_PhiSymmetryRecoSignal.html"); + htmlFileN.open("HB_PhiSymmetryRecoNoise.html"); + } + if (sub == 2) { + htmlFileT.open("HE_Tile.html"); + htmlFileC.open("HE_Calib.html"); + htmlFileD.open("HE_Drift.html"); + htmlFileP.open("HE_Pedestals.html"); + htmlFileS.open("HE_Shapes.html"); + htmlFileM.open("HE_PhiSymmetryDigi.html"); + htmlFileR.open("HE_PhiSymmetryRecoSignal.html"); + htmlFileN.open("HE_PhiSymmetryRecoNoise.html"); + } + if (sub == 3) { + htmlFileT.open("HO_Tile.html"); + htmlFileC.open("HO_Calib.html"); + htmlFileD.open("HO_Drift.html"); + htmlFileP.open("HO_Pedestals.html"); + htmlFileS.open("HO_Shapes.html"); + } + if (sub == 4) { + htmlFileT.open("HF_Tile.html"); + htmlFileC.open("HF_Calib.html"); + htmlFileD.open("HF_Drift.html"); + htmlFileP.open("HF_Pedestals.html"); + htmlFileS.open("HF_Shapes.html"); + htmlFileM.open("HF_PhiSymmetryDigi.html"); + htmlFileR.open("HF_PhiSymmetryRecoSignal.html"); + htmlFileN.open("HF_PhiSymmetryRecoNoise.html"); + } + + // Megatile channels + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << " Remote Monitoring Tool " << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + + if (sub == 1) + htmlFileT << "

Criteria for megatile channels for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileT << "

Criteria for megatile channels for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileT << "

Criteria for megatile channels for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileT << "

Criteria for megatile channels for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileT << "
" << std::endl; + + // Test Entries + + htmlFileT << "

0. Entries for each channel.

" << std::endl; + htmlFileT << "

0.A. Entries in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: color is rate of entries

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Test Cm + htmlFileT << "

1. Cm criterion: CapID errors for each channel.

" << std::endl; + htmlFileT << "

1.A. Rate of CapId failures in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Am + htmlFileT << "

2. Am criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel.

" + << std::endl; + htmlFileT << "

2.A. Full ADC amplitude distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[2][sub] << " correpond to bad ADC amplitude

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

2.B. Rate of bad ADC amplitude (<" << MIN_M[2][sub] << ") in each channel for each depth.

" + << std::endl; + htmlFileT << "

Channel legend: white - good, other colours - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Test Wm + htmlFileT << "

3. Wm criterion: RMS (width) of ADC amplutude for each channel.

" << std::endl; + htmlFileT << "

3.A. RMS distribution over all events, channel and depth.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[3][sub] << " and more " << MAX_M[3][sub] + << " correpond to bad RMS

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

3.B. Rate of bad RMS (<" << MIN_M[3][sub] << ",>" << MAX_M[3][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Rm + htmlFileT << "

4. Rm criterion: Ratio ADC value sum over four near maximum (-2, -1, max, +1) TS to ADC value " + "sum over all TS for each channel.

" + << std::endl; + htmlFileT << "

4.A. Ratio distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[4][sub] << " and more " << MAX_M[4][sub] + << " correpond to bad ratio

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

4.B. Rate of bad ratio (<" << MIN_M[4][sub] << ", >" << MAX_M[4][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // TNm + htmlFileT << "

5. TNm criterion: Mean TS position for each channel.

" << std::endl; + htmlFileT << "

5.A. TN position distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[5][sub] << " and more " << MAX_M[5][sub] + << " correpond to bad mean position

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

5.B. Rate of bad TN position (<" << MIN_M[5][sub] << ", >" << MAX_M[5][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // TXm + htmlFileT << "

6.TXm criterion: Maximum TS position for each channel.

" << std::endl; + htmlFileT << "

6.A. TX position distribution over all events, channel and depth.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[6][sub] << " and more " << MAX_M[6][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

6.B. Rate of bad TX position (<" << MIN_M[6][sub] << ", >" << MAX_M[6][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + htmlFileT << " " << std::endl; + htmlFileT << " " << std::endl; + htmlFileT.close(); + + //Calibration channels + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << " Raw Data Analyser " << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + + if (sub == 1) + htmlFileC << "

Criteria for calibration channels for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileC << "

Criteria for calibration channels for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileC << "

Criteria for calibration channels for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileC << "

Criteria for calibration channels for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileC << "
" << std::endl; + + // Test Entries + + htmlFileC << "

0. Entries for each channel.

" << std::endl; + htmlFileC << "

0.A. Entries in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: color is rate of entries

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Test Cc + htmlFileC << "

1. Cc criterion: CapID errors for each channel.

" << std::endl; + htmlFileC << "

1.A. Rate of CapId failures in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Ac + htmlFileC << "

2. Ac criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel.

" + << std::endl; + htmlFileC << "

2.A. Full ADC amplitude distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[2][sub] << " correpond to bad ADC amplitude

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

2.B. Rate of bad ADC amplitude (<" << MIN_C[2][sub] << ") in each channel for each depth.

" + << std::endl; + htmlFileC << "

Channel legend: white - good, other colours - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Test Wc + htmlFileC << "

3. Wc criterion: RMS (width) of ADC amplutude for each channel.

" << std::endl; + htmlFileC << "

3.A. W distribution over all events, channel and depth.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[3][sub] << " and more " << MAX_C[3][sub] + << " correpond to bad RMS

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

3.B. Rate of bad W (<" << MIN_C[3][sub] << ",>" << MAX_C[3][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Rc + htmlFileC << "

4. Rc criterion: Ratio ADC value sum over five near maximum (-2, -1, max, +1, +2) TS to ADC " + "value sum over all TS for each channel.

" + << std::endl; + htmlFileC << "

4.A. Ratio distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[4][sub] << " and more " << MAX_C[4][sub] + << " correpond to bad ratio

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

4.B. Rate of bad Ratio (<" << MIN_C[4][sub] << ", >" << MAX_C[4][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // TNc + htmlFileC << "

5. TNc criterion: Mean TS position for each channel.

" << std::endl; + htmlFileC << "

5.A. TN position distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[5][sub] << " and more " << MAX_C[5][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

5.B. Rate of bad TN position (<" << MIN_C[5][sub] << ", >" << MAX_C[5][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // TXm + htmlFileC << "

6.TXc criterion: Maximum TS position for each channel.

" << std::endl; + htmlFileC << "

6.A. TX position distribution over all events, channel and depth.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[6][sub] << " and more " << MAX_C[6][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

6.B. Rate of bad TX position (<" << MIN_C[6][sub] << ", >" << MAX_C[6][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + htmlFileC << " " << std::endl; + htmlFileC << " " << std::endl; + htmlFileC.close(); + + //Response drift + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << " Remore Monitoring Tool " << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + + if (sub == 1) + htmlFileD << "

Response drift for HB: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 2) + htmlFileD << "

Response drift for HE: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 3) + htmlFileD << "

Response drift for HO: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 4) + htmlFileD << "

Response drift for HF: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + htmlFileD << "
" << std::endl; + + // test GS + htmlFileD << "

1. Gain Stability (GS)

" << std::endl; + htmlFileD << "

1.A. Averaged channel response, collected over all TS, for Current run in each channel for each " + "depth.

" + << std::endl; + htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.B. Averaged channel response, collected over all TS, for Reference run in each channel for " + "each depth.

" + << std::endl; + htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.C. Relative difference between Current and Reference run distribution over all events, " + "channels for each depth.

" + << std::endl; + htmlFileD << "

Legend: Bins less -" << porog[sub] << "% and more +" << porog[sub] + << "% correpond to bad relative difference position

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.D. Rate of bad relative difference (<-" << porog[sub] << ", >+" << porog[sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileD << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + + htmlFileD << " " << std::endl; + htmlFileD << " " << std::endl; + htmlFileD.close(); + + // Pedestals + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << " Remote Monitoring Tool " << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + + if (sub == 1) + htmlFileP << "

Pedestals for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileP << "

Pedestals for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileP << "

Pedestals for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileP << "

Pedestals for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileP << "
" << std::endl; + + // Pedestal: + htmlFileP << "

1.Pm criterion: Pedestals for each CapID .

" << std::endl; + htmlFileP << "

1.A. Pedestal distribution over all events, channels for each CapID and all depths.

" + << std::endl; + htmlFileP << "

Legend: Bins less " << Pedest[0][sub] << " correpond to bad Pedestals

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + htmlFileP << "
" << std::endl; + htmlFileP << "

1.B. Rate of channels at very low Pedestals at least in one CapID for each depth.

" + << std::endl; + htmlFileP << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + + // PedestalWidth: + htmlFileP << "

2.pWm criterion: Pedestal Widths for each CapID .

" << std::endl; + htmlFileP << "

2.A. Pedestal Widths distribution over all events, channels for each CapID and all depths.

" + << std::endl; + htmlFileP << "

Legend: Bins less " << Pedest[1][sub] << " correpond to bad Pedestal Widths

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + htmlFileP << "
" << std::endl; + htmlFileP << "

2.B. Rate of channels at very low Pedestal Widths at least in one CapID for each depth.

" + << std::endl; + htmlFileP << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; - //Calib - /* - for (int test=11;test<=16;test++) { //Test: 1-2.E, 2-2.F, etc - if (Map_Ampl[test][sub][k]->GetBinContent(i,j) != 0.) { -// if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.3); -// if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.3); - if (flag_W == 0) { - NWarn +=1; - Eta[1][NWarn]=i-41; - Phi[1][NWarn]=j-1; - Sub[1][NWarn]=sub; - Depth[1][NWarn]=k; - Comment[1][NWarn]=Text[test]; - } - else Comment[1][NWarn]+=", "+Text[test]; - flag_W = 1; -// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i, j)) > porog[sub]) { - if (Map_SUB[sub][k]->GetBinContent(i, j) != 1.0) - Map_SUB[sub][k]->SetBinContent(i, j, 0.75); - if (Map_ALL->GetBinContent(i, j) != 1.) { - Map_ALL->SetBinContent(i, j, 0.75); - if (flag_W == 0) { - NWarn += 1; - Eta[1][NWarn] = i - 41; - Phi[1][NWarn] = j - 1; - Sub[1][NWarn] = sub; - Depth[1][NWarn] = k; - Comment[1][NWarn] = Text[test]; - } else - Comment[1][NWarn] += ", " + Text[test]; - flag_W = 1; + // Correlations of Pedestal(Width) and fullAmplitude: + htmlFileP << "

3.Pedestal and pedestalWidths vs Amplitude .

" << std::endl; + htmlFileP << "

3.A. Correlation of Pedestal(pedestalWidths) and Amplitude over all channels and events .

" + << std::endl; + htmlFileP << "

Legend: colour - entries

" << std::endl; + if (sub == 1) + htmlFileP << "" << std::endl; + if (sub == 2) + htmlFileP << "" << std::endl; + if (sub == 3) + htmlFileP << "" << std::endl; + if (sub == 4) + htmlFileP << "" << std::endl; + htmlFileP << "
" << std::endl; + htmlFileP.close(); - cout << "Map_Ampl[" << test << "][" << sub << "][" << k << "]->GetBinContent(" << i << "," << j - << ")= " << Map_Ampl[test][sub][k]->GetBinContent(i, j) << endl; - } - } - } //end test + // TSs Shapes: - //Pedestals - for (int test = 31; test <= 32; test++) { - if (Map_Ampl[test][sub][k]->GetBinContent(i, j) > 0.1) { - // if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.75); - // if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); - if (flag_P == 0) { - NPed += 1; - Eta[3][NPed] = i - 41; - Phi[3][NPed] = j - 1; - Sub[3][NPed] = sub; - Depth[3][NPed] = k; - Comment[3][NPed] = Text[test]; - } else - Comment[3][NPed] += ", " + Text[test]; - flag_P = 1; + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << " Remote Monitoring Tool " << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; - // cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)< ADC Shape for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileS << "

ADC Shape for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileS << "

ADC Shape for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileS << "

ADC Shape for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileS << "
" << std::endl; - } //end Depth - } //end Sub - } //end Phi - } //end Eta - // subdet maps - for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + htmlFileS << "

1.Mean ADC Shape.

" << std::endl; + htmlFileS << "

1.A. ADC shape averaged over all good channels, depth and events.

" << std::endl; + // htmlFileS << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + htmlFileS << "
" << std::endl; + htmlFileS << "

1.B. ADC shape averaged over all bad channels, depth and events. Bad channels are selected by 5 " + "criteria: CapId, A, W, P, Pw

" + << std::endl; + // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; - std::cout << " 2017 MAPS_SUB " << sub << std::endl; - // if (sub==1) cHB->Divide(2,1); + htmlFileS << "

2. Occupancy and rates of non-zero amplitudes for separate TSs in Sub-Detector over " + "depth,eta.phi

" + << std::endl; + htmlFileS << "

2.A. reminder:.......................... for HBHE, TS=2;...................................... " + "for HF, TS=1;..................................... for HO, TS=0,1,2

" + << std::endl; if (sub == 1) - cHB->Divide(2, 2); - // if (sub==2) cHE->Divide(3,1); + htmlFileS << " " << std::endl; if (sub == 2) - cHE->Divide(3, 3); + htmlFileS << " " << std::endl; if (sub == 3) - cONE->Divide(1, 1); - // if (sub==4) cHB->Divide(2,1); + htmlFileS << " " << std::endl; if (sub == 4) - cHF->Divide(2, 2); - // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet - // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet - // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet - for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth - if (sub == 1) - cHB->cd(k); - if (sub == 2) - cHE->cd(k); - if (sub == 3) - cONE->cd(k - 3); - if (sub == 4) - cHF->cd(k); - gPad->SetGridy(); - gPad->SetGridx(); - // gPad->SetLogz(); - // gStyle->SetTitleOffset(0.5, "Y"); - if (sub == 1) - sprintf(str, "HB, Depth%d \b", k); - if (sub == 2) - sprintf(str, "HE, Depth%d \b", k); - if (sub == 3) - sprintf(str, "HO, Depth%d \b", k); - if (sub == 4) - sprintf(str, "HF, Depth%d \b", k); - Map_SUB[sub][k]->SetTitle(str); - Map_SUB[sub][k]->SetXTitle("#eta \b"); - Map_SUB[sub][k]->SetYTitle("#phi \b"); - Map_SUB[sub][k]->Draw("COL"); - Map_SUB[sub][k]->GetYaxis()->SetRangeUser(0, 72.); - Map_SUB[sub][k]->GetZaxis()->SetRangeUser(0., 1.); - if (sub == 1) { - cHB->Modified(); - cHB->Update(); - } - if (sub == 2) { - cHE->Modified(); - cHE->Update(); - } - if (sub == 3) { - cONE->Modified(); - cONE->Update(); - } - if (sub == 4) { - cHF->Modified(); - cHF->Update(); - } - } //end depth - if (sub == 1) { - cHB->Print("MAPHB.png"); - cHB->Clear(); - } - if (sub == 2) { - cHE->Print("MAPHE.png"); - cHE->Clear(); - } - if (sub == 3) { - cONE->Print("MAPHO.png"); - cONE->Clear(); - } - if (sub == 4) { - cHF->Print("MAPHF.png"); - cHF->Clear(); - } - } + htmlFileS << " " << std::endl; + htmlFileS << "
" << std::endl; + + /* + htmlFileS << "

2. ADC in Time Slice

"<< std::endl; + htmlFileS << "

2.A. ADC counts histogrammed over all channels, depth and events.

"<< std::endl; +// htmlFileS << "

Legend: Bins less "<"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; + htmlFileS << "
"<< std::endl; + htmlFileS << "

2.B. ADC counts histogrammed over all channels and events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; + + htmlFileS << "

3. ADC Sum in Time Slice

"<< std::endl; + htmlFileS << "

3.A. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; + + htmlFileS << "

3.B. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; - ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // TCanvas *cmain1 = new TCanvas("cmain1","MAP",200,10,1400,1800); - TCanvas *cmain1 = new TCanvas("cmain1", "MAP", 250, 10, 1450, 1410); - cmain1->Divide(2, 2); + htmlFileS << "

3.C. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; +*/ + htmlFileS.close(); - cmain1->cd(1); - TH1F *JDBEYESJ0 = (TH1F *)hfile->Get("h_totalAmplitudeHBperEvent"); - JDBEYESJ0->SetStats(0); - JDBEYESJ0->SetMarkerStyle(20); - JDBEYESJ0->SetMarkerSize(0.8); - JDBEYESJ0->GetYaxis()->SetLabelSize(0.04); - JDBEYESJ0->SetXTitle("iEvent \b"); - JDBEYESJ0->SetYTitle("totalAmplitude perEvent \b"); - JDBEYESJ0->SetTitle("HB \b"); - JDBEYESJ0->SetMarkerColor(2); - JDBEYESJ0->SetLineColor(1); - JDBEYESJ0->SetMinimum(0.8); - JDBEYESJ0->Draw("HIST same P0"); + /////////////////////////////////////////// - cmain1->cd(2); - TH1F *JDBEYESJ1 = (TH1F *)hfile->Get("h_totalAmplitudeHEperEvent"); - JDBEYESJ1->SetStats(0); - JDBEYESJ1->SetMarkerStyle(20); - JDBEYESJ1->SetMarkerSize(0.8); - JDBEYESJ1->GetYaxis()->SetLabelSize(0.04); - JDBEYESJ1->SetXTitle("iEvent \b"); - JDBEYESJ1->SetYTitle("totalAmplitude perEvent \b"); - JDBEYESJ1->SetTitle("HE \b"); - JDBEYESJ1->SetMarkerColor(2); - JDBEYESJ1->SetLineColor(1); - JDBEYESJ1->SetMinimum(0.8); - JDBEYESJ1->Draw("HIST same P0"); + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: - cmain1->cd(3); - TH1F *JDBEYESJ2 = (TH1F *)hfile->Get("h_totalAmplitudeHFperEvent"); - JDBEYESJ2->SetStats(0); - JDBEYESJ2->SetMarkerStyle(20); - JDBEYESJ2->SetMarkerSize(0.8); - JDBEYESJ2->GetYaxis()->SetLabelSize(0.04); - JDBEYESJ2->SetXTitle("iEvent \b"); - JDBEYESJ2->SetYTitle("totalAmplitude perEvent \b"); - JDBEYESJ2->SetTitle("HF \b"); - JDBEYESJ2->SetMarkerColor(2); - JDBEYESJ2->SetLineColor(1); - JDBEYESJ2->SetMinimum(0.8); - JDBEYESJ2->Draw("HIST same P0"); + ///////////////////////////////////////////////////////////////////////////////////////////////////////// Digis - cmain1->cd(4); - TH1F *JDBEYESJ3 = (TH1F *)hfile->Get("h_totalAmplitudeHOperEvent"); - JDBEYESJ3->SetStats(0); - JDBEYESJ3->SetMarkerStyle(20); - JDBEYESJ3->SetMarkerSize(0.8); - JDBEYESJ3->GetYaxis()->SetLabelSize(0.04); - JDBEYESJ3->SetXTitle("iEvent \b"); - JDBEYESJ3->SetYTitle("totalAmplitude perEvent \b"); - JDBEYESJ3->SetTitle("HO \b"); - JDBEYESJ3->SetMarkerColor(2); - JDBEYESJ3->SetLineColor(1); - JDBEYESJ3->SetMinimum(0.8); - JDBEYESJ3->Draw("HIST same P0"); + htmlFileM << "" << std::endl; + htmlFileM << "" << std::endl; + htmlFileM << "" << std::endl; + htmlFileM << " Remote Monitoring Tool " << std::endl; + htmlFileM << "" << std::endl; + htmlFileM << "" << std::endl; - cmain1->Modified(); - cmain1->Update(); - cmain1->Print("EVENTDEPENDENCE.png"); + /////////////////////////////////////////////// RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR - std::cout << " EVENTDEPENDENCE " << std::endl; + if (sub == 1) + htmlFileM << "

Digis Phi-symmetry for Calibration Group, HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileM << "

Digis Phi-symmetry for Calibration Group, HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileM << "

Digis Phi-symmetry for Calibration Group, HF, RUN = " << runnumber << "

" << std::endl; + htmlFileM << "
" << std::endl; - ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// - // ALL SubDet - gStyle->SetOptTitle(0); - TCanvas *cmain = new TCanvas("cmain", "MAP", 1000, 1000); - //cmain->cd(1); - gPad->SetGridy(); - gPad->SetGridx(); - // gPad->SetLogz(); - Map_ALL->SetTitleOffset(1.3, "Y"); - Map_ALL->SetXTitle("#eta \b"); - Map_ALL->SetYTitle("#phi \b"); - Map_ALL->Draw("COL"); - Map_ALL->GetYaxis()->SetRangeUser(0, 72.); - Map_ALL->GetZaxis()->SetRangeUser(0, 1.); - cmain->Modified(); - cmain->Update(); - cmain->Print("MAP.png"); + htmlFileM << "

1: R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileM << "

1A: eta/phi-plot: R, averaged over depthes

" << std::endl; + // htmlFileM << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - std::cout << "******** MAP_ALL done" << std::endl; - std::cout << "********" << std::endl; + htmlFileM << "

1B: R vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - std::cout << "********" << std::endl; - std::cout << "************ Start creating each test kind for each subdet html pages:" << std::endl; + /////////////////////////////////////////// PositiveDirection: - //====================================================================== + /////////////////////////////////////////////// R different Depthes: + htmlFileM << "

Positive direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileM << "

1C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - //====================================================================== - // Creating each test kind for each subdet html pages: - std::string raw_class, raw_class1, raw_class2, raw_class3; - int ind = 0; + htmlFileM << "

1D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO - ofstream htmlFileT, htmlFileC, htmlFileD, htmlFileP, htmlFileS, htmlFileM; - if (sub == 1) { - htmlFileT.open("HB_Tile.html"); - htmlFileC.open("HB_Calib.html"); - htmlFileD.open("HB_Drift.html"); - htmlFileP.open("HB_Pedestals.html"); - htmlFileS.open("HB_Shapes.html"); - } - if (sub == 2) { - htmlFileT.open("HE_Tile.html"); - htmlFileC.open("HE_Calib.html"); - htmlFileD.open("HE_Drift.html"); - htmlFileP.open("HE_Pedestals.html"); - htmlFileS.open("HE_Shapes.html"); - htmlFileM.open("HE_IterationMethod.html"); - } - if (sub == 3) { - htmlFileT.open("HO_Tile.html"); - htmlFileC.open("HO_Calib.html"); - htmlFileD.open("HO_Drift.html"); - htmlFileP.open("HO_Pedestals.html"); - htmlFileS.open("HO_Shapes.html"); - } - if (sub == 4) { - htmlFileT.open("HF_Tile.html"); - htmlFileC.open("HF_Calib.html"); - htmlFileD.open("HF_Drift.html"); - htmlFileP.open("HF_Pedestals.html"); - htmlFileS.open("HF_Shapes.html"); - } + htmlFileM << "

1E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - // Megatile channels - htmlFileT << "" << std::endl; - htmlFileT << "" << std::endl; - htmlFileT << "" << std::endl; - htmlFileT << " Remote Monitoring Tool " << std::endl; - htmlFileT << "" << std::endl; - htmlFileT << "" << std::endl; + htmlFileM << "

1F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

1G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

1H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + if (sub == 2) + htmlFileM << "

1I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileM << "

2: D(digivarianceSignalhe)

" << std::endl; + htmlFileM << "

2A: eta/phi-plot: D(digivarianceSignalhe), averaged over depthes

" << std::endl; + // htmlFileM << "

Legend: Bins less "<"<< std::endl; if (sub == 1) - htmlFileT << "

Criteria for megatile channels for HB, RUN = " << runnumber << "

" << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << "

Criteria for megatile channels for HE, RUN = " << runnumber << "

" << std::endl; - if (sub == 3) - htmlFileT << "

Criteria for megatile channels for HO, RUN = " << runnumber << "

" << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << "

Criteria for megatile channels for HF, RUN = " << runnumber << "

" << std::endl; - htmlFileT << "
" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - // Test Entries + htmlFileM << "

2B: D(digivarianceSignalhe) vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - htmlFileT << "

0. Entries for each channel.

" << std::endl; - htmlFileT << "

0.A. Entries in each channel for each depth.

" << std::endl; - htmlFileT << "

Channel legend: color is rate of entries

" << std::endl; + /////////////////////////////////////////// PositiveDirection: + ///////////////////////////////////////////////D different Depthes: + htmlFileM << "

Positive direction, D(digivarianceSignalhe)

" << std::endl; + htmlFileM << "

2C: D(digivarianceSignalhe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - // Test Cm - htmlFileT << "

1. Cm criterion: CapID errors for each channel.

" << std::endl; - htmlFileT << "

1.A. Rate of CapId failures in each channel for each depth.

" << std::endl; - htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileM << "

2.D. D(digivarianceSignalhe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - // Am - htmlFileT << "

2. Am criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel.

" - << std::endl; - htmlFileT << "

2.A. Full ADC amplitude distribution over all events, channels and depths.

" << std::endl; - htmlFileT << "

Legend: Bins less " << MIN_M[2][sub] << " correpond to bad ADC amplitude

" << std::endl; + htmlFileM << "

2E: D(digivarianceSignalhe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; - htmlFileT << "

2.B. Rate of bad ADC amplitude (<" << MIN_M[2][sub] << ") in each channel for each depth.

" - << std::endl; - htmlFileT << "

Channel legend: white - good, other colours - bad.

" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2F: D(digivarianceSignalhe) vs phi , different eta, Depth4

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - // Test Wm - htmlFileT << "

3. Wm criterion: RMS (width) of ADC amplutude for each channel.

" << std::endl; - htmlFileT << "

3.A. RMS distribution over all events, channel and depth.

" << std::endl; - htmlFileT << "

Legend: Bins less " << MIN_M[3][sub] << " and more " << MAX_M[3][sub] - << " correpond to bad RMS

" << std::endl; + if (sub == 2) + htmlFileM << "

2G: D(digivarianceSignalhe) vs phi , different eta, Depth5

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

2H: D(digivarianceSignalhe) vs phi , different eta, Depth6

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

2I: D(digivarianceSignalhe) vs phi , different eta, Depth7

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + /////////////////////////////////////////// NegativeDirection: + /////////////////////////////////////////////// RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR + htmlFileM << "

3: Negative direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" + << std::endl; + + /////////////////////////////////////////////// different Depthes: + htmlFileM << "

3C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; - htmlFileT << "

3.B. Rate of bad RMS (<" << MIN_M[3][sub] << ",>" << MAX_M[3][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

3D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - // Rm - htmlFileT << "

4. Rm criterion: Ratio ADC value sum over four near maximum (-2, -1, max, +1) TS to ADC value " - "sum over all TS for each channel.

" - << std::endl; - htmlFileT << "

4.A. Ratio distribution over all events, channels and depths.

" << std::endl; - htmlFileT << "

Legend: Bins less " << MIN_M[4][sub] << " and more " << MAX_M[4][sub] - << " correpond to bad ratio

" << std::endl; + htmlFileM << "

3E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; - htmlFileT << "

4.B. Rate of bad ratio (<" << MIN_M[4][sub] << ", >" << MAX_M[4][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

3F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - // TNm - htmlFileT << "

5. TNm criterion: Mean TS position for each channel.

" << std::endl; - htmlFileT << "

5.A. TN position distribution over all events, channels and depths.

" << std::endl; - htmlFileT << "

Legend: Bins less " << MIN_M[5][sub] << " and more " << MAX_M[5][sub] - << " correpond to bad mean position

" << std::endl; + if (sub == 2) + htmlFileM << "

3G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

3H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

3I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileM << "

4: Negative direction, D(digivarianceSignalhe)

" << std::endl; + /////////////////////////////////////////////// different Depthes: + htmlFileM << "

4C: D(digivarianceSignalhe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; - htmlFileT << "

5.B. Rate of bad TN position (<" << MIN_M[5][sub] << ", >" << MAX_M[5][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

4.D. D(digivarianceSignalhe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - // TXm - htmlFileT << "

6.TXm criterion: Maximum TS position for each channel.

" << std::endl; - htmlFileT << "

6.A. TX position distribution over all events, channel and depth.

" << std::endl; - htmlFileT << "

Legend: Bins less " << MIN_M[6][sub] << " and more " << MAX_M[6][sub] - << " correpond to bad position

" << std::endl; + htmlFileM << "

4E: D(digivarianceSignalhe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; - htmlFileT << "

6.B. Rate of bad TX position (<" << MIN_M[6][sub] << ", >" << MAX_M[6][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

4F: D(digivarianceSignalhe) vs phi , different eta, Depth4

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 2) - htmlFileT << " " << std::endl; - if (sub == 3) - htmlFileT << " " << std::endl; + htmlFileM << " " << std::endl; if (sub == 4) - htmlFileT << " " << std::endl; - htmlFileT << "
" << std::endl; + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - htmlFileT << " " << std::endl; - htmlFileT << " " << std::endl; - htmlFileT.close(); + if (sub == 2) + htmlFileM << "

4G: D(digivarianceSignalhe) vs phi , different eta, Depth5

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; - //Calibration channels - htmlFileC << "" << std::endl; - htmlFileC << "" << std::endl; - htmlFileC << "" << std::endl; - htmlFileC << " Raw Data Analyser " << std::endl; - htmlFileC << "" << std::endl; - htmlFileC << "" << std::endl; + htmlFileR << " td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl; + htmlFileR << " td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl; + htmlFileR << " td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl; + htmlFileR << "" << std::endl; + htmlFileR << "" << std::endl; + + /////////////////////////////////////////////// RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR if (sub == 1) - htmlFileC << "

Criteria for calibration channels for HB, RUN = " << runnumber << "

" << std::endl; + htmlFileR << "

RecoSignal Phi-symmetry for Calibration Group, HB, RUN = " << runnumber << "

" + << std::endl; if (sub == 2) - htmlFileC << "

Criteria for calibration channels for HE, RUN = " << runnumber << "

" << std::endl; - if (sub == 3) - htmlFileC << "

Criteria for calibration channels for HO, RUN = " << runnumber << "

" << std::endl; + htmlFileR << "

RecoSignal Phi-symmetry for Calibration Group, HE, RUN = " << runnumber << "

" + << std::endl; if (sub == 4) - htmlFileC << "

Criteria for calibration channels for HF, RUN = " << runnumber << "

" << std::endl; - htmlFileC << "
" << std::endl; - - // Test Entries + htmlFileR << "

RecoSignal Phi-symmetry for Calibration Group, HF, RUN = " << runnumber << "

" + << std::endl; + htmlFileR << "
" << std::endl; - htmlFileC << "

0. Entries for each channel.

" << std::endl; - htmlFileC << "

0.A. Entries in each channel for each depth.

" << std::endl; - htmlFileC << "

Channel legend: color is rate of entries

" << std::endl; + htmlFileR << "

1: R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileR << "

1A: eta/phi-plot: R, averaged over depthes

" << std::endl; + // htmlFileR << "

Legend: Bins less "<"<< std::endl; if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; - // Test Cc - htmlFileC << "

1. Cc criterion: CapID errors for each channel.

" << std::endl; - htmlFileC << "

1.A. Rate of CapId failures in each channel for each depth.

" << std::endl; - htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileR << "

1B: R vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; - // Ac - htmlFileC << "

2. Ac criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel.

" - << std::endl; - htmlFileC << "

2.A. Full ADC amplitude distribution over all events, channels and depths.

" << std::endl; - htmlFileC << "

Legend: Bins less " << MIN_C[2][sub] << " correpond to bad ADC amplitude

" << std::endl; + /////////////////////////////////////////// PositiveDirection: + + /////////////////////////////////////////////// R different Depthes: + htmlFileR << "

Positive direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileR << "

1C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - htmlFileC << "

2.B. Rate of bad ADC amplitude (<" << MIN_C[2][sub] << ") in each channel for each depth.

" - << std::endl; - htmlFileC << "

Channel legend: white - good, other colours - bad.

" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + htmlFileR << "

1D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; - // Test Wc - htmlFileC << "

3. Wc criterion: RMS (width) of ADC amplutude for each channel.

" << std::endl; - htmlFileC << "

3.A. W distribution over all events, channel and depth.

" << std::endl; - htmlFileC << "

Legend: Bins less " << MIN_C[3][sub] << " and more " << MAX_C[3][sub] - << " correpond to bad RMS

" << std::endl; + if (sub == 1 || sub == 2) + htmlFileR << "

1E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

1F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

1G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

1H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

1I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - htmlFileC << "

3.B. Rate of bad W (<" << MIN_C[3][sub] << ",>" << MAX_C[3][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileR << "

2: D(recosignalvarianceSignalhe)

" << std::endl; + htmlFileR << "

2A: eta/phi-plot: D(recosignalvarianceSignalhe), averaged over depthes

" << std::endl; + // htmlFileR << "

Legend: Bins less "<"<< std::endl; if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; - // Rc - htmlFileC << "

4. Rc criterion: Ratio ADC value sum over five near maximum (-2, -1, max, +1, +2) TS to ADC " - "value sum over all TS for each channel.

" - << std::endl; - htmlFileC << "

4.A. Ratio distribution over all events, channels and depths.

" << std::endl; - htmlFileC << "

Legend: Bins less " << MIN_C[4][sub] << " and more " << MAX_C[4][sub] - << " correpond to bad ratio

" << std::endl; + htmlFileR << "

2B: D(recosignalvarianceSignalhe) vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - htmlFileC << "

4.B. Rate of bad Ratio (<" << MIN_C[4][sub] << ", >" << MAX_C[4][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + /////////////////////////////////////////// PositiveDirection: + ///////////////////////////////////////////////D different Depthes: + htmlFileR << "

Positive direction, D(recosignalvarianceSignalhe)

" << std::endl; + htmlFileR << "

2C: D(recosignalvarianceSignalhe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; - // TNc - htmlFileC << "

5. TNc criterion: Mean TS position for each channel.

" << std::endl; - htmlFileC << "

5.A. TN position distribution over all events, channels and depths.

" << std::endl; - htmlFileC << "

Legend: Bins less " << MIN_C[5][sub] << " and more " << MAX_C[5][sub] - << " correpond to bad position

" << std::endl; + htmlFileR << "

2.D. D(recosignalvarianceSignalhe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - htmlFileC << "

5.B. Rate of bad TN position (<" << MIN_C[5][sub] << ", >" << MAX_C[5][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

2E: D(recosignalvarianceSignalhe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; - // TXm - htmlFileC << "

6.TXc criterion: Maximum TS position for each channel.

" << std::endl; - htmlFileC << "

6.A. TX position distribution over all events, channel and depth.

" << std::endl; - htmlFileC << "

Legend: Bins less " << MIN_C[6][sub] << " and more " << MAX_C[6][sub] - << " correpond to bad position

" << std::endl; + if (sub == 1 || sub == 2) + htmlFileR << "

2F: D(recosignalvarianceSignalhe) vs phi , different eta, Depth4

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; - htmlFileC << "

6.B. Rate of bad TX position (<" << MIN_C[6][sub] << ", >" << MAX_C[6][sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; - if (sub == 1) - htmlFileC << " " << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + if (sub == 2) - htmlFileC << " " << std::endl; - if (sub == 3) - htmlFileC << " " << std::endl; - if (sub == 4) - htmlFileC << " " << std::endl; - htmlFileC << "
" << std::endl; + htmlFileR << "

2G: D(recosignalvarianceSignalhe) vs phi , different eta, Depth5

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; - htmlFileC << " " << std::endl; - htmlFileC << " " << std::endl; - htmlFileC.close(); + if (sub == 2) + htmlFileR << "

2H: D(recosignalvarianceSignalhe) vs phi , different eta, Depth6

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; - //Response drift - htmlFileD << "" << std::endl; - htmlFileD << "" << std::endl; - htmlFileD << "" << std::endl; - htmlFileD << " Remore Monitoring Tool " << std::endl; - htmlFileD << "" << std::endl; - htmlFileD << "" << std::endl; + /////////////////////////////////////////////// different Depthes: + htmlFileR << "

3C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileD << "

Response drift for HB: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber - << "

" << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileD << "

Response drift for HE: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber - << "

" << std::endl; - if (sub == 3) - htmlFileD << "

Response drift for HO: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber - << "

" << std::endl; + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileD << "

Response drift for HF: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber - << "

" << std::endl; - htmlFileD << "
" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; - // test GS - htmlFileD << "

1. Gain Stability (GS)

" << std::endl; - htmlFileD << "

1.A. Averaged channel response, collected over all TS, for Current run in each channel for each " - "depth.

" - << std::endl; - htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; + htmlFileR << "

3D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileD << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileD << " " << std::endl; - if (sub == 3) - htmlFileD << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileD << " " << std::endl; - htmlFileD << "
" << std::endl; - htmlFileD << "

1.B. Averaged channel response, collected over all TS, for Reference run in each channel for " - "each depth.

" - << std::endl; - htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

3E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileD << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileD << " " << std::endl; - if (sub == 3) - htmlFileD << " " << std::endl; - if (sub == 4) - htmlFileD << " " << std::endl; - htmlFileD << "
" << std::endl; - htmlFileD << "

1.C. Relative difference between Current and Reference run distribution over all events, " - "channels for each depth.

" - << std::endl; - htmlFileD << "

Legend: Bins less -" << porog[sub] << "% and more +" << porog[sub] - << "% correpond to bad relative difference position

" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

3F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileD << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileD << " " << std::endl; - if (sub == 3) - htmlFileD << " " << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

3G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

3H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

3I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileR << "

4: Negative direction, D(recosignalvarianceSignalhe)

" << std::endl; + /////////////////////////////////////////////// different Depthes: + htmlFileR << "

4C: D(recosignalvarianceSignalhe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileD << " " << std::endl; - htmlFileD << "
" << std::endl; - htmlFileD << "

1.D. Rate of bad relative difference (<-" << porog[sub] << ", >+" << porog[sub] - << ") in each channel for each depth.

" << std::endl; - htmlFileD << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + htmlFileR << "

4.D. D(recosignalvarianceSignalhe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileD << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 2) - htmlFileD << " " << std::endl; - if (sub == 3) - htmlFileD << " " << std::endl; + htmlFileR << " " << std::endl; if (sub == 4) - htmlFileD << " " << std::endl; - htmlFileD << "
" << std::endl; + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; - htmlFileD << " " << std::endl; - htmlFileD << " " << std::endl; - htmlFileD.close(); + if (sub == 1 || sub == 2) + htmlFileR << "

4E: D(recosignalvarianceSignalhe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; - // Pedestals - htmlFileP << "" << std::endl; - htmlFileP << "" << std::endl; - htmlFileP << "" << std::endl; - htmlFileP << " Remote Monitoring Tool " << std::endl; - htmlFileP << "" << std::endl; - htmlFileP << "" << std::endl; + htmlFileN << " td.s2 { font-family: arial, arial ce, helvetica; background-color: #eeeeee; }" << std::endl; + htmlFileN << " td.s3 { font-family: arial, arial ce, helvetica; background-color: #d0d0d0; }" << std::endl; + htmlFileN << " td.s4 { font-family: arial, arial ce, helvetica; background-color: #FFC169; }" << std::endl; + htmlFileN << "" << std::endl; + htmlFileN << "" << std::endl; - if (sub == 1) - htmlFileP << "

Pedestals for HB, RUN = " << runnumber << "

" << std::endl; - if (sub == 2) - htmlFileP << "

Pedestals for HE, RUN = " << runnumber << "

" << std::endl; - if (sub == 3) - htmlFileP << "

Pedestals for HO, RUN = " << runnumber << "

" << std::endl; - if (sub == 4) - htmlFileP << "

Pedestals for HF, RUN = " << runnumber << "

" << std::endl; - htmlFileP << "
" << std::endl; + /////////////////////////////////////////////// RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR - // Pedestal: - htmlFileP << "

1.Pm criterion: Pedestals for each CapID .

" << std::endl; - htmlFileP << "

1.A. Pedestal distribution over all events, channels for each CapID and all depths.

" - << std::endl; - htmlFileP << "

Legend: Bins less " << Pedest[0][sub] << " correpond to bad Pedestals

" << std::endl; if (sub == 1) - htmlFileP << " " << std::endl; + htmlFileN << "

RecoNoise Phi-symmetry for Calibration Group, HB, RUN = " << runnumber << "

" + << std::endl; if (sub == 2) - htmlFileP << " " << std::endl; - if (sub == 3) - htmlFileP << " " << std::endl; + htmlFileN << "

RecoNoise Phi-symmetry for Calibration Group, HE, RUN = " << runnumber << "

" + << std::endl; if (sub == 4) - htmlFileP << " " << std::endl; - htmlFileP << "
" << std::endl; - htmlFileP << "

1.B. Rate of channels at very low Pedestals at least in one CapID for each depth.

" - << std::endl; - htmlFileP << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileN << "

RecoNoise Phi-symmetry for Calibration Group, HF, RUN = " << runnumber << "

" + << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

1: R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileN << "

1A: eta/phi-plot: R, averaged over depthes

" << std::endl; + // htmlFileN << "

Legend: Bins less "<"<< std::endl; if (sub == 1) - htmlFileP << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileP << " " << std::endl; - if (sub == 3) - htmlFileP << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileP << " " << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - // PedestalWidth: - htmlFileP << "

2.pWm criterion: Pedestal Widths for each CapID .

" << std::endl; - htmlFileP << "

2.A. Pedestal Widths distribution over all events, channels for each CapID and all depths.

" - << std::endl; - htmlFileP << "

Legend: Bins less " << Pedest[1][sub] << " correpond to bad Pedestal Widths

" << std::endl; + htmlFileN << "

1B: R vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileP << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileP << " " << std::endl; - if (sub == 3) - htmlFileP << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileP << " " << std::endl; - htmlFileP << "
" << std::endl; - htmlFileP << "

2.B. Rate of channels at very low Pedestal Widths at least in one CapID for each depth.

" - << std::endl; - htmlFileP << "

Channel legend: white - good, other colour - bad.

" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////// PositiveDirection: + + /////////////////////////////////////////////// R different Depthes: + htmlFileN << "

Positive direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileN << "

1C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileP << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileP << " " << std::endl; - if (sub == 3) - htmlFileP << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileP << " " << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - // Correlations of Pedestal(Width) and fullAmplitude: - htmlFileP << "

3.Pedestal and pedestalWidths vs Amplitude .

" << std::endl; - htmlFileP << "

3.A. Correlation of Pedestal(pedestalWidths) and Amplitude over all channels and events .

" - << std::endl; - htmlFileP << "

Legend: colour - entries

" << std::endl; + htmlFileN << "

1D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileP << "" << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileP << "" << std::endl; - if (sub == 3) - htmlFileP << "" << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileP << "" << std::endl; - htmlFileP << "
" << std::endl; - htmlFileP.close(); + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - // TSs Shapes: + if (sub == 1 || sub == 2) + htmlFileN << "

1E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileS << "" << std::endl; - htmlFileS << "" << std::endl; - htmlFileS << "" << std::endl; - htmlFileS << " Remote Monitoring Tool " << std::endl; - htmlFileS << "" << std::endl; - htmlFileS << "" << std::endl; + if (sub == 1 || sub == 2) + htmlFileN << "

1F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

1G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

1H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + if (sub == 2) + htmlFileN << "

1I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileN << "

2: D(reconoisevarianceNoisehe)

" << std::endl; + htmlFileN << "

2A: eta/phi-plot: D(reconoisevarianceNoisehe), averaged over depthes

" << std::endl; + // htmlFileN << "

Legend: Bins less "<"<< std::endl; if (sub == 1) - htmlFileS << "

ADC Shape for HB, RUN = " << runnumber << "

" << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileS << "

ADC Shape for HE, RUN = " << runnumber << "

" << std::endl; - if (sub == 3) - htmlFileS << "

ADC Shape for HO, RUN = " << runnumber << "

" << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileS << "

ADC Shape for HF, RUN = " << runnumber << "

" << std::endl; - htmlFileS << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileS << "

1.Mean ADC Shape.

" << std::endl; - htmlFileS << "

1.A. ADC shape averaged over all good channels, depth and events.

" << std::endl; - // htmlFileS << "

Legend: Bins less "<"<< std::endl; + htmlFileN << "

2B: D(reconoisevarianceNoisehe) vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileS << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileS << " " << std::endl; - if (sub == 3) - htmlFileS << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileS << " " << std::endl; - htmlFileS << "
" << std::endl; - htmlFileS << "

1.B. ADC shape averaged over all bad channels, depth and events. Bad channels are selected by 5 " - "criteria: CapId, A, W, P, Pw

" - << std::endl; - // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////// PositiveDirection: + ///////////////////////////////////////////////D different Depthes: + htmlFileN << "

Positive direction, D(reconoisevarianceNoisehe)

" << std::endl; + htmlFileN << "

2C: D(reconoisevarianceNoisehe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileS << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileS << " " << std::endl; - if (sub == 3) - htmlFileS << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileS << " " << std::endl; - /* - htmlFileS << "

2. ADC in Time Slice

"<< std::endl; - htmlFileS << "

2.A. ADC counts histogrammed over all channels, depth and events.

"<< std::endl; -// htmlFileS << "

Legend: Bins less "<"<< std::endl; - if (sub==1) htmlFileS << " " << std::endl; - if (sub==2) htmlFileS << " " << std::endl; - if (sub==3) htmlFileS << " " << std::endl; - if (sub==4) htmlFileS << " " << std::endl; - htmlFileS << "
"<< std::endl; - htmlFileS << "

2.B. ADC counts histogrammed over all channels and events for each depth separately.

"<< std::endl; -// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; - if (sub==1) htmlFileS << " " << std::endl; - if (sub==2) htmlFileS << " " << std::endl; - if (sub==3) htmlFileS << " " << std::endl; - if (sub==4) htmlFileS << " " << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileS << "

3. ADC Sum in Time Slice

"<< std::endl; - htmlFileS << "

3.A. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; -// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; - if (sub==1) htmlFileS << " " << std::endl; - if (sub==2) htmlFileS << " " << std::endl; - if (sub==3) htmlFileS << " " << std::endl; - if (sub==4) htmlFileS << " " << std::endl; + htmlFileN << "

2.D. D(reconoisevarianceNoisehe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileS << "

3.B. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; -// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; - if (sub==1) htmlFileS << " " << std::endl; - if (sub==2) htmlFileS << " " << std::endl; - if (sub==3) htmlFileS << " " << std::endl; - if (sub==4) htmlFileS << " " << std::endl; + if (sub == 1 || sub == 2) + htmlFileN << "

2E: D(reconoisevarianceNoisehe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileS << "

3.C. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; -// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; - if (sub==1) htmlFileS << " " << std::endl; - if (sub==2) htmlFileS << " " << std::endl; - if (sub==3) htmlFileS << " " << std::endl; - if (sub==4) htmlFileS << " " << std::endl; -*/ - htmlFileS.close(); + if (sub == 1 || sub == 2) + htmlFileN << "

2F: D(reconoisevarianceNoisehe) vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - /////////////////////////////////////////// + if (sub == 2) + htmlFileN << "

2G: D(reconoisevarianceNoisehe) vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - // Iteration Method for Calibration Group: + if (sub == 2) + htmlFileN << "

2H: D(reconoisevarianceNoisehe) vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "" << std::endl; - htmlFileM << "" << std::endl; - htmlFileM << "" << std::endl; - htmlFileM << " Remote Monitoring Tool " << std::endl; - htmlFileM << "" << std::endl; - htmlFileM << "" << std::endl; + /////////////////////////////////////////////// different Depthes: + htmlFileN << "

3C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileM << "

Iteration Method for Calibration Group, HB, RUN = " << runnumber << "

" << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << "

Iteration Method for Calibration Group, HE, RUN = " << runnumber << "

" << std::endl; - if (sub == 3) - htmlFileM << "

Iteration Method for Calibration Group, HO, RUN = " << runnumber << "

" << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileM << "

Iteration Method for Calibration Group, HF, RUN = " << runnumber << "

" << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

1: Positive direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" - << std::endl; - - htmlFileM << "

1.A. eta/phi-plot: R, averaged over depthes

" << std::endl; - // htmlFileM << "

Legend: Bins less "<"<< std::endl; + htmlFileN << "

3D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - if (sub == 3) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

1B: R vs phi , averaged over depthes & eta

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1 || sub == 2) + htmlFileN << "

3E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - if (sub == 3) - htmlFileM << " " << std::endl; - if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - /////////////////////////////////////////////// different Depthes: + if (sub == 1 || sub == 2) + htmlFileN << "

3F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

1C: R vs phi , different eta, Depth1

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << "

3G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

3H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

3I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileN << "

4: Negative direction, D(reconoisevarianceNoisehe)

" << std::endl; + /////////////////////////////////////////////// different Depthes: + htmlFileN << "

4C: D(reconoisevarianceNoisehe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

1D: R vs phi , different eta, Depth2

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + htmlFileN << "

4.D. D(reconoisevarianceNoisehe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

1E: R vs phi , different eta, Depth3

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1 || sub == 2) + htmlFileN << "

4E: D(reconoisevarianceNoisehe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

1F: R vs phi , different eta, Depth4

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1 || sub == 2) + htmlFileN << "

4F: D(reconoisevarianceNoisehe) vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - if (sub == 3) - htmlFileM << " " << std::endl; - if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

1G: R vs phi , different eta, Depth5

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << "

4G: D(reconoisevarianceNoisehe) vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

1H: R vs phi , different eta, Depth6

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << "

4H: D(reconoisevarianceNoisehe) vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

1I: R vs phi , different eta, Depth7

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << "

4I: D(reconoisevarianceNoisehe) vs phi , different eta, Depth7

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + /////////////////////////////////////////// - htmlFileM << "

2: Positive direction, D(variance)

" << std::endl; + /////////////////////////////////////////////// DIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIF - htmlFileM << "

2A: eta/phi-plot: D(variance), averaged over depthes

" << std::endl; - // htmlFileM << "

Legend: Bins less "<"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << "

Only for Noise RecHits these lines below, HB, RUN = " << runnumber << "

" << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - if (sub == 3) - htmlFileM << " " << std::endl; + htmlFileN << "

Only for Noise RecHits these lines below, HE, RUN = " << runnumber << "

" << std::endl; if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << "

Only for Noise RecHits these lines below, HF, RUN = " << runnumber << "

" << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

2B: D(variance) vs phi , averaged over depthes & eta

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + htmlFileN << "

5: DIF = DIF_depth_ieta_iphi = E_depth_ieta_iphi - E_depth_ieta

" << std::endl; + htmlFileN << "

5A: eta/phi-plot: DIF, averaged over depthes

" << std::endl; + // htmlFileN << "

Legend: Bins less "<"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - if (sub == 3) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - /////////////////////////////////////////////// different Depthes: + htmlFileN << "

5B: DIF vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

2C: D(variance) vs phi , different eta, Depth1

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + /////////////////////////////////////////// DIF PositiveDirection: + + /////////////////////////////////////////////// DIF different Depthes: + htmlFileN << "

Positive direction, DIF = DIF_depth_ieta_iphi = E_depth_ieta_iphi - E_depth_ieta

" + << std::endl; + htmlFileN << "

5C: DIF vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

2.D. D(variance) vs phi , different eta, Depth2

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + htmlFileN << "

5D: DIF vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

2E: D(variance) vs phi , different eta, Depth3

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1 || sub == 2) + htmlFileN << "

1E: DIF vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

5F: DIF vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

5G: DIF vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

5H: DIF vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

5I: DIF vs phi , different eta, Depth7

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////// DIF NegativeDirection: + + /////////////////////////////////////////////// DIF different Depthes: + htmlFileN << "

Negative direction, DIF = DIF_depth_ieta_iphi = E_depth_ieta_iphi - E_depth_ieta

" + << std::endl; + htmlFileN << "

5C: DIF vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

2F: D(variance) vs phi , different eta, Depth4

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + htmlFileN << "

5D: DIF vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 1) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - if (sub == 3) - htmlFileM << " " << std::endl; + htmlFileN << " " << std::endl; if (sub == 4) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

2G: D(variance) vs phi , different eta, Depth5

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1 || sub == 2) + htmlFileN << "

5E: DIF vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

2H: D(variance) vs phi , different eta, Depth6

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1 || sub == 2) + htmlFileN << "

5F: DIF vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM << "

2I: D(variance) vs phi , different eta, Depth7

" << std::endl; - // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; if (sub == 2) - htmlFileM << " " << std::endl; - htmlFileM << "
" << std::endl; + htmlFileN << "

5G: DIF vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; - htmlFileM.close(); + if (sub == 2) + htmlFileN << "

5H: DIF vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

5I: DIF vs phi , different eta, Depth7

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////// end of Reconoise + + // + // + htmlFileN.close(); + + /////////////////////////////////////////// end of Reconoise + /////////////////////////////////////////// end of Reconoise - /////////////////////////////////////////// // // } // end sub //for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO @@ -5307,36 +23896,62 @@ std::cout<<" We are here to print ADC "<" << std::endl; if (sub == 1) { - htmlFile << " Megatile Channels" << std::endl; - htmlFile << " Calibration Channels" << std::endl; - htmlFile << " Gain Stability" << std::endl; - htmlFile << " Pedestals" << std::endl; - htmlFile << " ADC Shapes" << std::endl; - /* - htmlFile << " Megatile Channels"<< std::endl; - htmlFile << " Calibration Channels"<< std::endl; - htmlFile << " Gain Stability"<< std::endl; - htmlFile << " Pedestals"<< std::endl; - htmlFile << " ADC Shapes"<< std::endl; + htmlFile << " Megatile Channels"<< std::endl; + htmlFile << " Calibration Channels"<< std::endl; + htmlFile << " Gain Stability"<< std::endl; + htmlFile << " Pedestals"<< std::endl; + htmlFile << " ADC Shapes"<< std::endl; + htmlFile << " Phi-symmetryDigi"<< std::endl; + htmlFile << " Phi-symmetryRecoSignal"<< std::endl; + htmlFile << " Phi-symmetryRecoNoise"<< std::endl; */ + + htmlFile << " Megatile Channels" << std::endl; + htmlFile << " Calibration Channels" << std::endl; + htmlFile << " Gain Stability" << std::endl; + htmlFile << " Pedestals" << std::endl; + htmlFile << " ADC Shapes" << std::endl; + htmlFile << " Phi-SymmetryDigi" << std::endl; + htmlFile << " Phi-SymmetryRecoSignal" << std::endl; + htmlFile << " Phi-SymmetryRecoNoise" << std::endl; } if (sub == 2) { - htmlFile << " Megatile Channels" << std::endl; - htmlFile << " Calibration Channels" << std::endl; - htmlFile << " Gain Stability" << std::endl; - htmlFile << " Pedestals" << std::endl; - htmlFile << " ADC Shapes" << std::endl; - htmlFile << " Iteration Method" << std::endl; - /* - htmlFile << " Megatile Channels"<< std::endl; - htmlFile << " Calibration Channels"<< std::endl; - htmlFile << " Gain Stability"<< std::endl; - htmlFile << " Pedestals"<< std::endl; - htmlFile << " ADC Shapes"<< std::endl; - htmlFile << " Iteration Method"<< std::endl; + htmlFile << " Megatile Channels"<< std::endl; + htmlFile << " Calibration Channels"<< std::endl; + htmlFile << " Gain Stability"<< std::endl; + htmlFile << " Pedestals"<< std::endl; + htmlFile << " ADC Shapes"<< std::endl; + htmlFile << " Phi-symmetryDigi"<< std::endl; + htmlFile << " Phi-symmetryRecoSignal"<< std::endl; + htmlFile << " Phi-symmetryRecoNoise"<< std::endl; */ + + htmlFile << " Megatile Channels" << std::endl; + htmlFile << " Calibration Channels" << std::endl; + htmlFile << " Gain Stability" << std::endl; + htmlFile << " Pedestals" << std::endl; + htmlFile << " ADC Shapes" << std::endl; + htmlFile << " Phi-symmetryDigi" << std::endl; + htmlFile << " Phi-symmetryRecoSignal" << std::endl; + htmlFile << " Phi-symmetryRecoNoise" << std::endl; } if (sub == 3) { /* @@ -5346,27 +23961,18 @@ std::cout<<" We are here to print ADC "<Pedestals"<< std::endl; htmlFile << " ADC Shapes"<< std::endl; */ - htmlFile << " Megatile Channels" << std::endl; - htmlFile << " Calibration Channels" << std::endl; - htmlFile << " Gain Stability" << std::endl; - htmlFile << " Pedestals" << std::endl; - htmlFile << " ADC Shapes" << std::endl; + htmlFile << " Megatile Channels" << std::endl; + htmlFile << " Calibration Channels" << std::endl; + htmlFile << " Gain Stability" << std::endl; + htmlFile << " Pedestals" << std::endl; + htmlFile << " ADC Shapes" << std::endl; } + if (sub == 4) { /* htmlFile << " Megatile Channels"<< std::endl; @@ -5374,27 +23980,27 @@ std::cout<<" We are here to print ADC "<Gain Stability"<< std::endl; htmlFile << " Pedestals"<< std::endl; htmlFile << " ADC Shapes"<< std::endl; + htmlFile << " Phi-symmetryDigi"<< std::endl; + htmlFile << " Phi-symmetryRecoSignal"<< std::endl; + htmlFile << " Phi-symmetryRecoNoise"<< std::endl; */ - htmlFile << " Megatile Channels" << std::endl; - htmlFile << " Calibration Channels" << std::endl; - htmlFile << " Gain Stability" << std::endl; - htmlFile << " Pedestals" << std::endl; - htmlFile << " ADC Shapes" << std::endl; + + htmlFile << " Megatile Channels" << std::endl; + htmlFile << " Calibration Channels" << std::endl; + htmlFile << " Gain Stability" << std::endl; + htmlFile << " Pedestals" << std::endl; + htmlFile << " ADC Shapes" << std::endl; + htmlFile << " Phi-symmetryDigi" << std::endl; + htmlFile << " Phi-symmetryRecoSignal" << std::endl; + htmlFile << " Phi-symmetryRecoNoise" << std::endl; } htmlFile << "" << std::endl; @@ -5425,8 +24031,9 @@ std::cout<<" We are here to print ADC "< 2.B.List of Bad channels (rate > 0.1) and its rates for each RMT criteria (for GS - %)

" << std::endl; - htmlFile << " Description of criteria for bad channel selection" << std::endl; - // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection" << std::endl; htmlFile << "" << std::endl; htmlFile << ""; @@ -5971,17 +24578,22 @@ std::cout<<" We are here to print ADC "<" << std::endl; htmlFile << "" << std::endl; - htmlFile << " " << std::endl; - htmlFile << " " << std::endl; - htmlFile << " " << std::endl; - htmlFile << " " << std::endl; - /* - htmlFile << " "<< std::endl; - htmlFile << " "<< std::endl; - htmlFile << " "<< std::endl; - htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; */ + + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << "" << std::endl; htmlFile << "
HBHEHOHFHBHEHOHFHBHEHOHFHBHEHOHF
" << std::endl; htmlFile << "
" << std::endl; @@ -6005,8 +24617,9 @@ std::cout<<" We are here to print ADC "< 3.B. List of Bad channels

" << std::endl; - htmlFile << " Description of criteria for bad channel selection" << std::endl; - //htmlFile << " Description of criteria for bad channel selection"<< std::endl; + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection" << std::endl; htmlFile << "" << std::endl; htmlFile << ""; htmlFile << "" << std::endl; @@ -6076,8 +24689,9 @@ std::cout<<" We are here to print ADC "<" << std::endl; htmlFile << "

2.C.List of Gain unstable channels

" << std::endl; - htmlFile << "
" << std::endl; - // htmlFile << " "<< std::endl; + // htmlFile << " "<< std::endl; + htmlFile << " " << std::endl; htmlFile << "
# Description of criteria for bad channel selection Description of criteria for bad channel selection Description of criteria for bad channel selection Description of criteria for bad channel selection
" << std::endl; htmlFile << ""; @@ -6147,8 +24761,9 @@ std::cout<<" We are here to print ADC "<" << std::endl; htmlFile << "

2.D.List of channels with bad Pedestals

" << std::endl; - htmlFile << "
" << std::endl; - // htmlFile << " "<< std::endl; + // htmlFile << " "<< std::endl; + htmlFile << " " << std::endl; htmlFile << "
Description of criteria for bad channel selection Description of criteria for bad channel selection Description of criteria for bad channel selection Description of criteria for bad channel selection
" << std::endl; htmlFile << ""; diff --git a/DPGAnalysis/HcalTools/macros/rmt/RemoteMonitoringMAPTEST.cc b/DPGAnalysis/HcalTools/macros/rmt/RemoteMonitoringMAPTEST.cc new file mode 100644 index 0000000000000..9dc1755b92c48 --- /dev/null +++ b/DPGAnalysis/HcalTools/macros/rmt/RemoteMonitoringMAPTEST.cc @@ -0,0 +1,24814 @@ +// How to run: +//root -b -q -l 'RemoteMonitoringMAP.C+("/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214513.root","/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214512.root")' +//root -b -q -l 'RemoteMonitoringMAP.C+(" /afs/cern.ch/work/d/dtlisov/private/Monitoring/histos/LED_211659.root","/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214512.root")' +// ./RemoteMonitoringMAP.cc.exe root_file1 root_file_ref PEDESTAL +//./RemoteMonitoringMAP.cc.exe root_file1 root_file_ref LASER + +//MapRateAmpl2HB + +#include "LogEleMapdb.h" + +#include +#include + +#include "TH1.h" +#include "TH2.h" +#include "TCanvas.h" +#include "TROOT.h" +#include +#include "TStyle.h" +#include "TSystem.h" +#include "TLegend.h" +#include "TText.h" +#include "TAxis.h" +#include "TFile.h" +#include "TLine.h" +#include "TGraph.h" + +// https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/RMT +// https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/HcalRemoteMonitoring/RMT + +using namespace std; +// h_ADC_HBdepth1 +// ok change Hist_ADC_HB_DS +int main(int argc, char *argv[]) { + gROOT->Reset(); + gROOT->SetStyle("Plain"); + gStyle->SetOptStat(0); + gStyle->SetOptTitle(1); + // ok change + if (argc < 3) + return 1; + char fname[300]; + char refname[300]; + char runtypeC[300]; + sprintf(fname, "%s", argv[1]); + sprintf(refname, "%s", argv[2]); + sprintf(runtypeC, "%s", argv[3]); + std::cout << fname << " " << refname << " " << runtypeC << std::endl; + // ok change + + //====================================================================== + // Connect the input files, parameters and get the 2-d histogram in memory + // TFile *hfile= new TFile("GlobalHist.root", "READ"); + string promt = (string)fname; + string runtype = (string)runtypeC; + string runnumber = ""; + for (unsigned int i = promt.size() - 11; i < promt.size() - 5; i++) + runnumber += fname[i]; + string refrunnumber = ""; + promt = (string)refname; + for (unsigned int i = promt.size() - 11; i < promt.size() - 5; i++) + refrunnumber += refname[i]; + + TFile *hfile = new TFile(fname, "READ"); + TFile *hreffile = new TFile(refname, "READ"); + double MIN_M[7][5]; + double MAX_M[7][5]; + double MIN_C[7][5]; + double MAX_C[7][5]; + double porog[5]; + double Pedest[2][5]; + + if (runtype == "LED") { + //CUTS: [test][subdetector] ADC amplitude Am Width for Wm Ratio cut for Rm TS mean for TNm TS max for TXm + double MIN_M_LED[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 100., 70., 40., 40.}, + {0, 0.7, 0.7, 0.1, 0.1}, + {0, 0.7, 0.6, 0.40, 0.45}, + {0, 2.5, 1.0, 1.0, 1.0}, + {0, 1.5, 1.5, 0.5, 0.5}}; + double MAX_M_LED[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 3000, 500000, 3000, 150000}, + {0, 2.5, 2.5, 2.8, 2.6}, + {0, 0.94, 0.95, 1.04, 1.02}, + {0, 5.5, 5.2, 4.8, 4.2}, + {0, 6.5, 6.5, 8.5, 8.5}}; + double MIN_C_LED[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1000., 1000., 1000., 100.}, + {0, 1.3, 1.3, 0.7, 0.3}, + {0, 0.76, 0.76, 0.85, 0.5}, + {0, 2.4, 2.4, 1.5, 3.5}, + {0, 1.5, 1.5, 1.5, 3.5}}; + double MAX_C_LED[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1E20, 1E20, 1E20, 1E20}, + {0, 1.9, 1.9, 1.65, 1.5}, + {0, 0.94, 0.94, 0.99, 0.8}, + {0, 3.7, 3.7, 2.7, 4.5}, + {0, 2.5, 2.5, 2.5, 4.5}}; + double porog_LED[5] = {0., 2., 2., 2., 2.}; // Cut for GS test in pro cents + double Pedest_LED[2][5] = {{0., 0.1, 0.6, 0.1, 0.8}, + {0., 0.1, 0.1, 0.1, 0.4}}; //Cuts for Pedestal and pedestal Width + for (int i = 0; i <= 6; i++) + for (int j = 0; j <= 4; j++) { + MIN_M[i][j] = MIN_M_LED[i][j]; + MAX_M[i][j] = MAX_M_LED[i][j]; + MIN_C[i][j] = MIN_C_LED[i][j]; + MAX_C[i][j] = MAX_C_LED[i][j]; + } + for (int i = 0; i <= 4; i++) { + porog[i] = porog_LED[i]; + Pedest[0][i] = Pedest_LED[0][i]; + Pedest[1][i] = Pedest_LED[1][i]; + } + } + + if (runtype == "LASER") { + //CUTS: [test][subdetector] ADC amplitude Am Width for Wm Ratio cut for Rm TS mean for TNm TS max for TXm + double MIN_M_LASER[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 40., 40., 100., 40.}, + {0, 0.3, 0.9, 0.2, 0.2}, + {0, 0.5, 0.55, 0.55, 0.60}, + {0, 5.0, 2.5, 1.1, 5.5}, + {0, 1.5, 1.5, 1.5, 1.5}}; + double MAX_M_LASER[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 3500, 350000, 3500, 150000}, + {0, 2.5, 3.6, 2.6, 2.1}, + {0, 1.00, 1.00, 1.04, 1.02}, + {0, 7.5, 6.5, 4.4, 8.5}, + {0, 8.5, 8.5, 6.5, 8.5}}; + double MIN_C_LASER[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1000., 1000., 1000., 100.}, + {0, 1.3, 1.3, 0.7, 0.3}, + {0, 0.76, 0.76, 0.85, 0.5}, + {0, 2.4, 2.4, 1.5, 3.5}, + {0, 1.5, 1.5, 1.5, 3.5}}; + double MAX_C_LASER[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1E20, 1E20, 1E20, 1E20}, + {0, 1.9, 1.9, 1.65, 1.5}, + {0, 0.94, 0.94, 1.0, 0.8}, + {0, 3.7, 3.7, 2.7, 4.5}, + {0, 2.5, 2.5, 2.5, 4.5}}; + double porog_LASER[5] = {0., 2., 2., 2., 2.}; // Cut for GS test in pro cents + // double porog_LASER[5] = {0., 200., 200., 100., 100.}; // Cut for GS test in pro cents + double Pedest_LASER[2][5] = {{0., 0.1, 0.6, 0.1, 0.8}, + {0., 0.1, 0.1, 0.1, 0.4}}; //Cuts for Pedestal and pedestal Width + for (int i = 0; i <= 6; i++) + for (int j = 0; j <= 4; j++) { + MIN_M[i][j] = MIN_M_LASER[i][j]; + MAX_M[i][j] = MAX_M_LASER[i][j]; + MIN_C[i][j] = MIN_C_LASER[i][j]; + MAX_C[i][j] = MAX_C_LASER[i][j]; + } + for (int i = 0; i <= 4; i++) { + porog[i] = porog_LASER[i]; + Pedest[0][i] = Pedest_LASER[0][i]; + Pedest[1][i] = Pedest_LASER[1][i]; + } + } + if (runtype == "PEDESTAL") { + //CUTS: [test][subdetector] ADC amplitude Am Width for Wm Ratio cut for Rm TS mean for TNm TS max for TXm + double MIN_M_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 10., 10., 200., 5.}, + {0, 2.7, 2.7, 2.7, 0.2}, + {0, 0.31, 0.31, 0.05, 0.15}, + {0, 4.5, 4.5, 4.5, 2.0}, + {0, 0.5, 0.5, 0.5, 0.5}}; + double MAX_M_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 2500., 250000., 2500., 150000.}, + {0, 3.0, 3.0, 5.0, 3.0}, + {0, 0.95, 0.95, 1.00, 0.98}, + {0, 4.6, 4.6, 4.6, 7.0}, + {0, 9.5, 9.5, 8.5, 8.5}}; + double MIN_C_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1000., 1000., 1000., 100.}, + {0, 1.3, 1.3, 0.7, 0.3}, + {0, 0.76, 0.76, 0.85, 0.5}, + {0, 2.4, 2.4, 1.5, 3.5}, + {0, 1.5, 1.5, 1.5, 3.5}}; + double MAX_C_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1E20, 1E20, 1E20, 1E20}, + {0, 1.9, 1.9, 1.65, 1.5}, + {0, 0.94, 0.94, 1.0, 0.8}, + {0, 3.7, 3.7, 2.7, 4.5}, + {0, 2.5, 2.5, 2.5, 4.5}}; + double porog_PEDESTAL[5] = {0., 2., 2., 2., 2.}; // Cut for GS test in pro cents + // double porog_PEDESTAL[5] = {0., 200., 200., 100., 100.}; // Cut for GS test in pro cents + double Pedest_PEDESTAL[2][5] = {{0., 0.1, 0.6, 0.1, 0.8}, + {0., 0.1, 0.1, 0.1, 0.4}}; //Cuts for Pedestal and pedestal Width + for (int i = 0; i <= 6; i++) + for (int j = 0; j <= 4; j++) { + MIN_M[i][j] = MIN_M_PEDESTAL[i][j]; + MAX_M[i][j] = MAX_M_PEDESTAL[i][j]; + MIN_C[i][j] = MIN_C_PEDESTAL[i][j]; + MAX_C[i][j] = MAX_C_PEDESTAL[i][j]; + } + for (int i = 0; i <= 4; i++) { + porog[i] = porog_PEDESTAL[i]; + Pedest[0][i] = Pedest_PEDESTAL[0][i]; + Pedest[1][i] = Pedest_PEDESTAL[1][i]; + } + } + + //====================================================================== + + cout << endl; + cout << MIN_M[2][1] << endl; + + //====================================================================== + // Prepare histograms and plot them to .png files + + //TCanvas *cHB = new TCanvas("cHB","cHB",1000,500); + TCanvas *cHB = new TCanvas("cHB", "cHB", 1000, 1000); + //TCanvas *cHE = new TCanvas("cHE","cHE",1500,500); + TCanvas *cHE = new TCanvas("cHE", "cHE", 1500, 1500); + //TCanvas *cONE = new TCanvas("cONE","cONE",500,500); + TCanvas *cONE = new TCanvas("cONE", "cONE", 1500, 500); + TCanvas *cPED = new TCanvas("cPED", "cPED", 1000, 500); + //TCanvas *cHF = new TCanvas("cHF","cHF",1000,1000); + TCanvas *cHF = new TCanvas("cHF", "cHF", 1000, 1000); + + // Phi-symmetry for Calibration Group: + + TCanvas *c1x0 = new TCanvas("c1x0", "c1x0", 300, 10, 800, 700); + + TCanvas *c1x1 = new TCanvas("c1x1", "c1x1", 100, 10, 600, 700); + + TCanvas *c2x1 = new TCanvas("c2x1", "c2x1", 200, 300, 1600, 800); + + TCanvas *c3x5 = new TCanvas("c3x5", "c3x5", 1000, 1500); + // + + char *str = (char *)alloca(10000); + + // before upgrade 2017: + // depth: HB depth1,2; HE depth1,2,3; HO depth4; HF depth1,2 + // 5 depthes: 0(empty), 1,2,3,4 + + // upgrade 2017: + // depth: HB depth1,2; HE depth1,2,3,4,5,6,7; HO depth4; HF depth1,2,3,4 + // 8 depthes: 0(empty), 1,2,3,4,5,6,7 + + // upgrade 2021: + // depth: HB depth1,2,3,4; HE depth1,2,3,4,5,6,7; HO depth4; HF depth1,2,3,4 + // 10 depthes: 0(empty), 1,2,3,4,5,6,7,8,9 + + // Int_t ALLDEPTH = 5; + // Int_t ALLDEPTH = 8; + Int_t ALLDEPTH = 10; + + int k_min[5] = {0, 1, 1, 4, 1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + int k_max[5] = {0, 4, 7, 4, 4}; // maximum depth for each subdet + + TH2F *Map_Ampl[33][5][ALLDEPTH]; // 2D histogramm for test,subdet,depth + TH2F *Map_SUB[5][ALLDEPTH]; // 2d histogramm for subdet, depth + TH1F *HistAmplDepth[22][5][ALLDEPTH]; // 1d histogramm for test,subdet, depth + TH1F *HistAmpl[22][5]; // 1d histogramm for test,subdet + TH2F *Map_SUBTS[5][ALLDEPTH]; // 2d histogramm for subdet, depth in different TSs + + TH1F *HistPed[3][5][4]; // 1d histogramm for test,subdet, CapID + TH2F *Map_Ped[3][5]; // 2d histogramm for test,subdet -> test 33 + TH1F *hist_GoodTSshape[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_GoodTSshape0[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_BadTSshape[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_BadTSshape0[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_ADC_All[5]; // 1d histogramm for TS shape subdet -> test 42 + TH1F *hist_ADC_DS[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 42 + TH1F *hist_SumADC[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 43 + TH1F *hist_SumADC0[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 43 + TH1F *hist_SumADC1[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 43 + + Map_SUB[1][1] = (TH2F *)hfile->Get("h_mapDepth1_HB"); + Map_SUB[1][2] = (TH2F *)hfile->Get("h_mapDepth2_HB"); + Map_SUB[2][1] = (TH2F *)hfile->Get("h_mapDepth1_HE"); + Map_SUB[2][2] = (TH2F *)hfile->Get("h_mapDepth2_HE"); + Map_SUB[2][3] = (TH2F *)hfile->Get("h_mapDepth3_HE"); + Map_SUB[3][4] = (TH2F *)hfile->Get("h_mapDepth4_HO"); + Map_SUB[4][1] = (TH2F *)hfile->Get("h_mapDepth1_HF"); + Map_SUB[4][2] = (TH2F *)hfile->Get("h_mapDepth2_HF"); + + Map_SUB[1][3] = (TH2F *)hfile->Get("h_mapDepth3_HB"); + Map_SUB[1][4] = (TH2F *)hfile->Get("h_mapDepth4_HB"); + Map_SUB[2][4] = (TH2F *)hfile->Get("h_mapDepth4_HE"); + Map_SUB[2][5] = (TH2F *)hfile->Get("h_mapDepth5_HE"); + Map_SUB[2][6] = (TH2F *)hfile->Get("h_mapDepth6_HE"); + Map_SUB[2][7] = (TH2F *)hfile->Get("h_mapDepth7_HE"); + Map_SUB[4][3] = (TH2F *)hfile->Get("h_mapDepth3_HF"); + Map_SUB[4][4] = (TH2F *)hfile->Get("h_mapDepth4_HF"); + + //+++++++++++++++++++++++++++++ + //Test 0 Entries + //+++++++++++++++++++++++++++++ + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_SUB[sub][k]->SetTitle(str); + Map_SUB[sub][k]->SetXTitle("#eta \b"); + Map_SUB[sub][k]->SetYTitle("#phi \b"); + Map_SUB[sub][k]->SetZTitle("Number of events \b"); + if (sub == 3) + Map_SUB[sub][k]->SetTitleOffset(0.8, "Z"); + Map_SUB[sub][k]->Draw("COLZ"); + Map_SUB[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // Map_SUB[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + + if (sub == 1) { + cHB->Print("MapRateEntryHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateEntryHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateEntryHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateEntryHF.png"); + cHF->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 1 (Cm) Rate of Cap ID errors + //+++++++++++++++++++++++++++++ + + Map_Ampl[1][1][1] = (TH2F *)hfile->Get("h_mapDepth1Error_HB"); + Map_Ampl[1][1][2] = (TH2F *)hfile->Get("h_mapDepth2Error_HB"); + Map_Ampl[1][2][1] = (TH2F *)hfile->Get("h_mapDepth1Error_HE"); + Map_Ampl[1][2][2] = (TH2F *)hfile->Get("h_mapDepth2Error_HE"); + Map_Ampl[1][2][3] = (TH2F *)hfile->Get("h_mapDepth3Error_HE"); + Map_Ampl[1][3][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HO"); + Map_Ampl[1][4][1] = (TH2F *)hfile->Get("h_mapDepth1Error_HF"); + Map_Ampl[1][4][2] = (TH2F *)hfile->Get("h_mapDepth2Error_HF"); + + Map_Ampl[1][1][3] = (TH2F *)hfile->Get("h_mapDepth3Error_HB"); + Map_Ampl[1][1][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HB"); + Map_Ampl[1][2][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HE"); + Map_Ampl[1][2][5] = (TH2F *)hfile->Get("h_mapDepth5Error_HE"); + Map_Ampl[1][2][6] = (TH2F *)hfile->Get("h_mapDepth6Error_HE"); + Map_Ampl[1][2][7] = (TH2F *)hfile->Get("h_mapDepth7Error_HE"); + Map_Ampl[1][4][3] = (TH2F *)hfile->Get("h_mapDepth3Error_HF"); + Map_Ampl[1][4][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HF"); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[1][sub][k]->Divide(Map_Ampl[1][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[1][sub][k]->SetTitle(str); + Map_Ampl[1][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[1][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[1][sub][k]->SetZTitle("Rate \b"); + if (sub == 3) + Map_Ampl[1][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[1][sub][k]->Draw("COLZ"); + Map_Ampl[1][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[1][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + + if (sub == 1) { + cHB->Print("MapRateCapIDHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateCapIDHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateCapIDHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateCapIDHF.png"); + cHF->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 2 (Am) ADC amplitude + //+++++++++++++++++++++++++++++ + + Map_Ampl[2][1][1] = (TH2F *)hfile->Get("h_mapDepth1ADCAmpl225_HB"); + Map_Ampl[2][1][2] = (TH2F *)hfile->Get("h_mapDepth2ADCAmpl225_HB"); + Map_Ampl[2][2][1] = (TH2F *)hfile->Get("h_mapDepth1ADCAmpl225_HE"); + Map_Ampl[2][2][2] = (TH2F *)hfile->Get("h_mapDepth2ADCAmpl225_HE"); + Map_Ampl[2][2][3] = (TH2F *)hfile->Get("h_mapDepth3ADCAmpl225_HE"); + Map_Ampl[2][3][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HO"); + Map_Ampl[2][4][1] = (TH2F *)hfile->Get("h_mapDepth1ADCAmpl225_HF"); + Map_Ampl[2][4][2] = (TH2F *)hfile->Get("h_mapDepth2ADCAmpl225_HF"); + + Map_Ampl[2][1][3] = (TH2F *)hfile->Get("h_mapDepth3ADCAmpl225_HB"); + Map_Ampl[2][1][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HB"); + Map_Ampl[2][2][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HE"); + Map_Ampl[2][2][5] = (TH2F *)hfile->Get("h_mapDepth5ADCAmpl225_HE"); + Map_Ampl[2][2][6] = (TH2F *)hfile->Get("h_mapDepth6ADCAmpl225_HE"); + Map_Ampl[2][2][7] = (TH2F *)hfile->Get("h_mapDepth7ADCAmpl225_HE"); + Map_Ampl[2][4][3] = (TH2F *)hfile->Get("h_mapDepth3ADCAmpl225_HF"); + Map_Ampl[2][4][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HF"); + + HistAmpl[2][1] = (TH1F *)hfile->Get("h_ADCAmpl_HB"); + HistAmpl[2][2] = (TH1F *)hfile->Get("h_ADCAmpl_HE"); + HistAmpl[2][3] = (TH1F *)hfile->Get("h_ADCAmpl_HO"); + HistAmpl[2][4] = (TH1F *)hfile->Get("h_ADCAmpl_HF"); + + //+++++++++++++++++++++++++++++ + //Test 3 (Wm) Rate of RMS + //+++++++++++++++++++++++++++++ + + Map_Ampl[3][1][1] = (TH2F *)hfile->Get("h_mapDepth1Amplitude225_HB"); + Map_Ampl[3][1][2] = (TH2F *)hfile->Get("h_mapDepth2Amplitude225_HB"); + Map_Ampl[3][2][1] = (TH2F *)hfile->Get("h_mapDepth1Amplitude225_HE"); + Map_Ampl[3][2][2] = (TH2F *)hfile->Get("h_mapDepth2Amplitude225_HE"); + Map_Ampl[3][2][3] = (TH2F *)hfile->Get("h_mapDepth3Amplitude225_HE"); + Map_Ampl[3][3][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HO"); + Map_Ampl[3][4][1] = (TH2F *)hfile->Get("h_mapDepth1Amplitude225_HF"); + Map_Ampl[3][4][2] = (TH2F *)hfile->Get("h_mapDepth2Amplitude225_HF"); + + Map_Ampl[3][1][3] = (TH2F *)hfile->Get("h_mapDepth3Amplitude225_HB"); + Map_Ampl[3][1][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HB"); + Map_Ampl[3][2][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HE"); + Map_Ampl[3][2][5] = (TH2F *)hfile->Get("h_mapDepth5Amplitude225_HE"); + Map_Ampl[3][2][6] = (TH2F *)hfile->Get("h_mapDepth6Amplitude225_HE"); + Map_Ampl[3][2][7] = (TH2F *)hfile->Get("h_mapDepth7Amplitude225_HE"); + Map_Ampl[3][4][3] = (TH2F *)hfile->Get("h_mapDepth3Amplitude225_HF"); + Map_Ampl[3][4][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HF"); + + HistAmpl[3][1] = (TH1F *)hfile->Get("h_Amplitude_HB"); + HistAmpl[3][2] = (TH1F *)hfile->Get("h_Amplitude_HE"); + HistAmpl[3][3] = (TH1F *)hfile->Get("h_Amplitude_HO"); + HistAmpl[3][4] = (TH1F *)hfile->Get("h_Amplitude_HF"); + + //+++++++++++++++++++++++++++++ + //Test 4 (Rm) Rate of ratio 4 near max TS/ All TS + //+++++++++++++++++++++++++++++ + + Map_Ampl[4][1][1] = (TH2F *)hfile->Get("h_mapDepth1Ampl047_HB"); + Map_Ampl[4][1][2] = (TH2F *)hfile->Get("h_mapDepth2Ampl047_HB"); + Map_Ampl[4][2][1] = (TH2F *)hfile->Get("h_mapDepth1Ampl047_HE"); + Map_Ampl[4][2][2] = (TH2F *)hfile->Get("h_mapDepth2Ampl047_HE"); + Map_Ampl[4][2][3] = (TH2F *)hfile->Get("h_mapDepth3Ampl047_HE"); + Map_Ampl[4][3][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HO"); + Map_Ampl[4][4][1] = (TH2F *)hfile->Get("h_mapDepth1Ampl047_HF"); + Map_Ampl[4][4][2] = (TH2F *)hfile->Get("h_mapDepth2Ampl047_HF"); + + Map_Ampl[4][1][3] = (TH2F *)hfile->Get("h_mapDepth3Ampl047_HB"); + Map_Ampl[4][1][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HB"); + Map_Ampl[4][2][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HE"); + Map_Ampl[4][2][5] = (TH2F *)hfile->Get("h_mapDepth5Ampl047_HE"); + Map_Ampl[4][2][6] = (TH2F *)hfile->Get("h_mapDepth6Ampl047_HE"); + Map_Ampl[4][2][7] = (TH2F *)hfile->Get("h_mapDepth7Ampl047_HE"); + Map_Ampl[4][4][3] = (TH2F *)hfile->Get("h_mapDepth3Ampl047_HF"); + Map_Ampl[4][4][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HF"); + + HistAmpl[4][1] = (TH1F *)hfile->Get("h_Ampl_HB"); + HistAmpl[4][2] = (TH1F *)hfile->Get("h_Ampl_HE"); + HistAmpl[4][3] = (TH1F *)hfile->Get("h_Ampl_HO"); + HistAmpl[4][4] = (TH1F *)hfile->Get("h_Ampl_HF"); + + //+++++++++++++++++++++++++++++ + //Test 5 (TNm) Mean position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[5][1][1] = (TH2F *)hfile->Get("h_mapDepth1TSmeanA225_HB"); + Map_Ampl[5][1][2] = (TH2F *)hfile->Get("h_mapDepth2TSmeanA225_HB"); + Map_Ampl[5][2][1] = (TH2F *)hfile->Get("h_mapDepth1TSmeanA225_HE"); + Map_Ampl[5][2][2] = (TH2F *)hfile->Get("h_mapDepth2TSmeanA225_HE"); + Map_Ampl[5][2][3] = (TH2F *)hfile->Get("h_mapDepth3TSmeanA225_HE"); + Map_Ampl[5][3][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HO"); + Map_Ampl[5][4][1] = (TH2F *)hfile->Get("h_mapDepth1TSmeanA225_HF"); + Map_Ampl[5][4][2] = (TH2F *)hfile->Get("h_mapDepth2TSmeanA225_HF"); + + Map_Ampl[5][1][3] = (TH2F *)hfile->Get("h_mapDepth3TSmeanA225_HB"); + Map_Ampl[5][1][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HB"); + Map_Ampl[5][2][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HE"); + Map_Ampl[5][2][5] = (TH2F *)hfile->Get("h_mapDepth5TSmeanA225_HE"); + Map_Ampl[5][2][6] = (TH2F *)hfile->Get("h_mapDepth6TSmeanA225_HE"); + Map_Ampl[5][2][7] = (TH2F *)hfile->Get("h_mapDepth7TSmeanA225_HE"); + Map_Ampl[5][4][3] = (TH2F *)hfile->Get("h_mapDepth3TSmeanA225_HF"); + Map_Ampl[5][4][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HF"); + + HistAmpl[5][1] = (TH1F *)hfile->Get("h_TSmeanA_HB"); + HistAmpl[5][2] = (TH1F *)hfile->Get("h_TSmeanA_HE"); + HistAmpl[5][3] = (TH1F *)hfile->Get("h_TSmeanA_HO"); + HistAmpl[5][4] = (TH1F *)hfile->Get("h_TSmeanA_HF"); + + //+++++++++++++++++++++++++++++ + //Test 6 (TXm) Maximum position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[6][1][1] = (TH2F *)hfile->Get("h_mapDepth1TSmaxA225_HB"); + Map_Ampl[6][1][2] = (TH2F *)hfile->Get("h_mapDepth2TSmaxA225_HB"); + Map_Ampl[6][2][1] = (TH2F *)hfile->Get("h_mapDepth1TSmaxA225_HE"); + Map_Ampl[6][2][2] = (TH2F *)hfile->Get("h_mapDepth2TSmaxA225_HE"); + Map_Ampl[6][2][3] = (TH2F *)hfile->Get("h_mapDepth3TSmaxA225_HE"); + Map_Ampl[6][3][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HO"); + Map_Ampl[6][4][1] = (TH2F *)hfile->Get("h_mapDepth1TSmaxA225_HF"); + Map_Ampl[6][4][2] = (TH2F *)hfile->Get("h_mapDepth2TSmaxA225_HF"); + + Map_Ampl[6][1][3] = (TH2F *)hfile->Get("h_mapDepth3TSmaxA225_HB"); + Map_Ampl[6][1][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HB"); + Map_Ampl[6][2][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HE"); + Map_Ampl[6][2][5] = (TH2F *)hfile->Get("h_mapDepth5TSmaxA225_HE"); + Map_Ampl[6][2][6] = (TH2F *)hfile->Get("h_mapDepth6TSmaxA225_HE"); + Map_Ampl[6][2][7] = (TH2F *)hfile->Get("h_mapDepth7TSmaxA225_HE"); + Map_Ampl[6][4][3] = (TH2F *)hfile->Get("h_mapDepth3TSmaxA225_HF"); + Map_Ampl[6][4][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HF"); + + HistAmpl[6][1] = (TH1F *)hfile->Get("h_TSmaxA_HB"); + HistAmpl[6][2] = (TH1F *)hfile->Get("h_TSmaxA_HE"); + HistAmpl[6][3] = (TH1F *)hfile->Get("h_TSmaxA_HO"); + HistAmpl[6][4] = (TH1F *)hfile->Get("h_TSmaxA_HF"); + + for (int test = 2; test <= 6; test++) { //Test: 2-Am, 3-Wm, 4-Rm, 5-TNm, 6-TXm, + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[test][sub][k]->SetTitle(str); + Map_Ampl[test][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[test][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[test][sub][k]->SetZTitle("Rate \b"); + if (sub == 3) + Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[test][sub][k]->Draw("COLZ"); + Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (test == 2) { + if (sub == 1) { + cHB->Print("MapRateAmplHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmplHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmplHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmplHF.png"); + cHF->Clear(); + } + } + if (test == 3) { + if (sub == 1) { + cHB->Print("MapRateRMSHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateRMSHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateRMSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateRMSHF.png"); + cHF->Clear(); + } + } + if (test == 4) { + if (sub == 1) { + cHB->Print("MapRate43TStoAllTSHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRate43TStoAllTSHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRate43TStoAllTSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRate43TStoAllTSHF.png"); + cHF->Clear(); + } + } + if (test == 5) { + if (sub == 1) { + cHB->Print("MapRateMeanPosHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateMeanPosHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMeanPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateMeanPosHF.png"); + cHF->Clear(); + } + } + if (test == 6) { + if (sub == 1) { + cHB->Print("MapRateMaxPosHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateMaxPosHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMaxPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateMaxPosHF.png"); + cHF->Clear(); + } + } + + // cONE->Divide(1,1); + cONE->Divide(3, 1); + if (test == 2 && sub == 2) { + cONE->cd(2); + TH1F *kjkjkhj2 = (TH1F *)hfile->Get("h_AmplitudeHEtest1"); + kjkjkhj2->Draw(""); + kjkjkhj2->SetTitle("HE, All Depth: shunt1"); + cONE->cd(3); + TH1F *kjkjkhj3 = (TH1F *)hfile->Get("h_AmplitudeHEtest6"); + kjkjkhj3->Draw(""); + kjkjkhj3->SetTitle("HE, All Depth: shunt6"); + } + if (test == 2 && sub == 1) { + cONE->cd(2); + TH1F *kjkjkhb2 = (TH1F *)hfile->Get("h_AmplitudeHBtest1"); + kjkjkhb2->Draw(""); + kjkjkhb2->SetTitle("HB, All Depth: shunt1"); + cONE->cd(3); + TH1F *kjkjkhb3 = (TH1F *)hfile->Get("h_AmplitudeHBtest6"); + kjkjkhb3->Draw(""); + kjkjkhb3->SetTitle("HB, All Depth: shunt6"); + } + cONE->cd(1); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + if (sub == 1) + HistAmpl[test][sub]->SetTitle("HB, All Depth: shunt6"); + if (sub == 2) + HistAmpl[test][sub]->SetTitle("HE, All Depth: shunt6"); + if (sub == 3) + HistAmpl[test][sub]->SetTitle("HO, All Depth"); + if (sub == 4) + HistAmpl[test][sub]->SetTitle("HF, All Depth"); + if (test == 2) + HistAmpl[test][sub]->SetXTitle("ADC Amlitude in each event & cell \b"); + if (test == 3) + HistAmpl[test][sub]->SetXTitle("RMS in each event & cell \b"); + if (test == 4) + HistAmpl[test][sub]->SetXTitle("Ratio in each event & cell \b"); + if (test == 5) + HistAmpl[test][sub]->SetXTitle("Mean TS position in each event & cell \b"); + if (test == 6) + HistAmpl[test][sub]->SetXTitle("Max TS position in each event & cell \b"); + HistAmpl[test][sub]->SetYTitle("Number of cell-events \b"); + HistAmpl[test][sub]->SetLineColor(4); + HistAmpl[test][sub]->SetLineWidth(2); + HistAmpl[test][sub]->SetTitleOffset(1.4, "Y"); + HistAmpl[test][sub]->Draw(""); + // // HistAmpl[test][sub]->GetYaxis()->SetRangeUser(1., 100.); + // if (test==2) {gPad->SetLogx(); HistAmpl[test][sub]->GetXaxis()->SetRangeUser(1., 10000.);} + if (test == 2) { + gPad->SetLogx(); + } + if (test == 3) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 5.); // width + if (test == 4) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 1.); // R + if (test == 5) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); //Tn + if (test == 6) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); //Tx + cONE->Modified(); + cONE->Update(); + double min_x[] = {MIN_M[test][sub], MIN_M[test][sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + double max_x[] = {MAX_M[test][sub], MAX_M[test][sub]}; + double max_y[] = {0., 100000000.}; + TGraph *MAX = new TGraph(2, max_x, max_y); + MAX->SetLineStyle(2); + MAX->SetLineColor(2); + MAX->SetLineWidth(-2 - 100 * 100); + MAX->SetFillStyle(3004); + MAX->SetFillColor(2); + MAX->Draw("L"); + if (test == 2) { + if (sub == 1) { + cONE->Print("HistAmplHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistAmplHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistAmplHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistAmplHF.png"); + cONE->Clear(); + } + } + if (test == 3) { + if (sub == 1) { + cONE->Print("HistRMSHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistRMSHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistRMSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistRMSHF.png"); + cONE->Clear(); + } + } + if (test == 4) { + if (sub == 1) { + cONE->Print("Hist43TStoAllTSHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("Hist43TStoAllTSHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("Hist43TStoAllTSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("Hist43TStoAllTSHF.png"); + cONE->Clear(); + } + } + if (test == 5) { + if (sub == 1) { + cONE->Print("HistMeanPosHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMeanPosHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMeanPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMeanPosHF.png"); + cONE->Clear(); + } + } + if (test == 6) { + if (sub == 1) { + cONE->Print("HistMaxPosHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMaxPosHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMaxPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMaxPosHF.png"); + cONE->Clear(); + } + } + } // end sub + } //end test + + TH2F *Map_Calib[5][5]; // 2d histogramm for subdet, depth + + Map_Calib[1][1] = (TH2F *)hfile->Get("h_map_HB"); + Map_Calib[1][2] = (TH2F *)hfile->Get("h_map_HB"); + Map_Calib[2][1] = (TH2F *)hfile->Get("h_map_HE"); + Map_Calib[2][2] = (TH2F *)hfile->Get("h_map_HE"); + Map_Calib[2][3] = (TH2F *)hfile->Get("h_map_HE"); + Map_Calib[3][4] = (TH2F *)hfile->Get("h_map_HO"); + Map_Calib[4][1] = (TH2F *)hfile->Get("h_map_HF"); + Map_Calib[4][2] = (TH2F *)hfile->Get("h_map_HF"); + + //+++++++++++++++++++++++++++++ + //Test 0 Entries + //+++++++++++++++++++++++++++++ + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + // if (sub==2) cHE->Divide(3,1); + cONE->Divide(1, 1); + // if (sub==4) cHB->Divide(2,1); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth + int k = 1; + cONE->cd(k); + // if (sub==1) cHB->cd(k); + // if (sub==2) cHE->cd(k); + if (sub == 3) + k = 4; + // if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB"); + if (sub == 2) + sprintf(str, "HE"); + if (sub == 3) + sprintf(str, "HO"); + if (sub == 4) + sprintf(str, "HF"); + Map_Calib[sub][k]->SetTitle(str); + Map_Calib[sub][k]->SetXTitle("#eta \b"); + Map_Calib[sub][k]->SetYTitle("#phi \b"); + Map_Calib[sub][k]->SetZTitle("Number of events\b"); + if (sub == 3) + Map_Calib[sub][k]->SetTitleOffset(0.8, "Z"); + Map_Calib[sub][k]->Draw("COLZ"); + Map_Calib[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // Map_Calib[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + // if (sub==1) {cHB->Modified(); cHB->Update();} + // if (sub==2) {cHE->Modified(); cHE->Update();} + cONE->Modified(); + cONE->Update(); + // if (sub==4) {cHB->Modified(); cHB->Update();} + // }//end depth + + if (sub == 1) { + cONE->Print("MapRateCalibEntryHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateCalibEntryHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateCalibEntryHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateCalibEntryHF.png"); + cONE->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 11 (Cc) Rate of Cap ID errors for calibration channels + //+++++++++++++++++++++++++++++ + + Map_Ampl[11][1][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HB"); + Map_Ampl[11][1][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HB"); + Map_Ampl[11][2][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); + Map_Ampl[11][2][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); + Map_Ampl[11][2][3] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); + Map_Ampl[11][3][4] = (TH2F *)hfile->Get("h_mapCapCalib047_HO"); + Map_Ampl[11][4][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HF"); + Map_Ampl[11][4][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HF"); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + // if (sub==2) cHE->Divide(3,1); + cONE->Divide(1, 1); + // if (sub==4) cHB->Divide(2,1); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth + int k = 1; + cONE->cd(k); + // if (sub==1) cHB->cd(k); + // if (sub==2) cHE->cd(k); + if (sub == 3) + k = 4; + // if (sub==4) cHB->cd(k); + Map_Ampl[11][sub][k]->Divide(Map_Ampl[11][sub][k], Map_Calib[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB"); + if (sub == 2) + sprintf(str, "HE"); + if (sub == 3) + sprintf(str, "HO"); + if (sub == 4) + sprintf(str, "HF"); + Map_Ampl[11][sub][k]->SetTitle(str); + Map_Ampl[11][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[11][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[11][sub][k]->SetZTitle("Rate \b"); + Map_Ampl[11][sub][k]->SetTitleOffset(0.75, "Z"); + Map_Ampl[11][sub][k]->Draw("COLZ"); + Map_Ampl[11][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[11][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + // if (sub==1) {cHB->Modified(); cHB->Update();} + // if (sub==2) {cHE->Modified(); cHE->Update();} + cONE->Modified(); + cONE->Update(); + // if (sub==4) {cHB->Modified(); cHB->Update();} + // }//end depth + + if (sub == 1) { + cONE->Print("MapRateCapCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateCapCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateCapCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateCapCalibHF.png"); + cONE->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 12 (Ac) ADC amplitude for calibration chanels + //+++++++++++++++++++++++++++++ + + Map_Ampl[12][1][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HB"); + Map_Ampl[12][1][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HB"); + Map_Ampl[12][2][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); + Map_Ampl[12][2][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); + Map_Ampl[12][2][3] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); + Map_Ampl[12][3][4] = (TH2F *)hfile->Get("h_mapADCCalib047_HO"); + Map_Ampl[12][4][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HF"); + Map_Ampl[12][4][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HF"); + + HistAmpl[12][1] = (TH1F *)hfile->Get("h_ADCCalib_HB"); + HistAmpl[12][2] = (TH1F *)hfile->Get("h_ADCCalib_HE"); + HistAmpl[12][3] = (TH1F *)hfile->Get("h_ADCCalib_HO"); + HistAmpl[12][4] = (TH1F *)hfile->Get("h_ADCCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 13 (Wc) Rate of RMS + //+++++++++++++++++++++++++++++ + + Map_Ampl[13][1][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HB"); + Map_Ampl[13][1][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HB"); + Map_Ampl[13][2][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); + Map_Ampl[13][2][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); + Map_Ampl[13][2][3] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); + Map_Ampl[13][3][4] = (TH2F *)hfile->Get("h_mapWidthCalib047_HO"); + Map_Ampl[13][4][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HF"); + Map_Ampl[13][4][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HF"); + + HistAmpl[13][1] = (TH1F *)hfile->Get("h_WidthCalib_HB"); + HistAmpl[13][2] = (TH1F *)hfile->Get("h_WidthCalib_HE"); + HistAmpl[13][3] = (TH1F *)hfile->Get("h_WidthCalib_HO"); + HistAmpl[13][4] = (TH1F *)hfile->Get("h_WidthCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 14 (Rc) Rate of ratio 4 near max TS/ All TS + //+++++++++++++++++++++++++++++ + + Map_Ampl[14][1][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HB"); + Map_Ampl[14][1][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HB"); + Map_Ampl[14][2][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); + Map_Ampl[14][2][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); + Map_Ampl[14][2][3] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); + Map_Ampl[14][3][4] = (TH2F *)hfile->Get("h_mapRatioCalib047_HO"); + Map_Ampl[14][4][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HF"); + Map_Ampl[14][4][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HF"); + + HistAmpl[14][1] = (TH1F *)hfile->Get("h_RatioCalib_HB"); + HistAmpl[14][2] = (TH1F *)hfile->Get("h_RatioCalib_HE"); + HistAmpl[14][3] = (TH1F *)hfile->Get("h_RatioCalib_HO"); + HistAmpl[14][4] = (TH1F *)hfile->Get("h_RatioCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 15 (TNc) Mean position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[15][1][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HB"); + Map_Ampl[15][1][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HB"); + Map_Ampl[15][2][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); + Map_Ampl[15][2][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); + Map_Ampl[15][2][3] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); + Map_Ampl[15][3][4] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HO"); + Map_Ampl[15][4][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HF"); + Map_Ampl[15][4][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HF"); + + HistAmpl[15][1] = (TH1F *)hfile->Get("h_TSmeanCalib_HB"); + HistAmpl[15][2] = (TH1F *)hfile->Get("h_TSmeanCalib_HE"); + HistAmpl[15][3] = (TH1F *)hfile->Get("h_TSmeanCalib_HO"); + HistAmpl[15][4] = (TH1F *)hfile->Get("h_TSmeanCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 16 (TXc) Maximum position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[16][1][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HB"); + Map_Ampl[16][1][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HB"); + Map_Ampl[16][2][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); + Map_Ampl[16][2][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); + Map_Ampl[16][2][3] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); + Map_Ampl[16][3][4] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HO"); + Map_Ampl[16][4][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HF"); + Map_Ampl[16][4][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HF"); + + HistAmpl[16][1] = (TH1F *)hfile->Get("h_TSmaxCalib_HB"); + HistAmpl[16][2] = (TH1F *)hfile->Get("h_TSmaxCalib_HE"); + HistAmpl[16][3] = (TH1F *)hfile->Get("h_TSmaxCalib_HO"); + HistAmpl[16][4] = (TH1F *)hfile->Get("h_TSmaxCalib_HF"); + + for (int test = 12; test <= 16; test++) { //Test: 2-Am, 3-Wm, 4-Rm, 5-TNm, 6-TXm, + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + if (sub == 1) + cONE->Divide(1, 1); //cHB->Divide(2,1); + if (sub == 2) + cONE->Divide(1, 1); //cHE->Divide(3,1); + if (sub == 3) + cONE->Divide(1, 1); + if (sub == 4) + cONE->Divide(1, 1); //cHB->Divide(2,1); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth + int k = 1; + if (sub == 1) { + k = 1; + cONE->cd(k); + } //cHB->cd(k); } + if (sub == 2) { + k = 1; + cONE->cd(k); + } //cHE->cd(k); } + if (sub == 3) { + k = 4; + cONE->cd(k - 3); + } + if (sub == 4) { + k = 1; + cONE->cd(k); + } //cHB->cd(k); } + Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_Calib[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB"); + if (sub == 2) + sprintf(str, "HE"); + if (sub == 3) + sprintf(str, "HO"); + if (sub == 4) + sprintf(str, "HF"); + Map_Ampl[test][sub][k]->SetTitle(str); + Map_Ampl[test][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[test][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[test][sub][k]->SetZTitle("Rate \b"); + Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[test][sub][k]->Draw("COLZ"); + Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.00001, 1.); + // if (sub==1) {cHB->Modified(); cHB->Update();} + // if (sub==2) {cHE->Modified(); cHE->Update();} + cONE->Modified(); + cONE->Update(); + // if (sub==4) {cHB->Modified(); cHB->Update();} + // }//end depth + if (test == 12) { + if (sub == 1) { + cONE->Print("MapRateAmplCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateAmplCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmplCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateAmplCalibHF.png"); + cONE->Clear(); + } + } + if (test == 13) { + if (sub == 1) { + cONE->Print("MapRateRMSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateRMSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateRMSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateRMSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 14) { + if (sub == 1) { + cONE->Print("MapRate43TStoAllTSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRate43TStoAllTSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRate43TStoAllTSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRate43TStoAllTSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 15) { + if (sub == 1) { + cONE->Print("MapRateMeanPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateMeanPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMeanPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateMeanPosCalibHF.png"); + cONE->Clear(); + } + } + if (test == 16) { + if (sub == 1) { + cONE->Print("MapRateMaxPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateMaxPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMaxPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateMaxPosCalibHF.png"); + cONE->Clear(); + } + } + + cONE->Divide(1, 1); + cONE->cd(1); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + if (sub == 1) + HistAmpl[test][sub]->SetTitle("HB, All Depth"); + if (sub == 2) + HistAmpl[test][sub]->SetTitle("HE, All Depth"); + if (sub == 3) + HistAmpl[test][sub]->SetTitle("HO, All Depth"); + if (sub == 4) + HistAmpl[test][sub]->SetTitle("HF, All Depth"); + if (test == 12) + HistAmpl[test][sub]->SetXTitle("ADC Amlitude in each event & cell \b"); + if (test == 13) + HistAmpl[test][sub]->SetXTitle("Amplitude RMS in each event & cell \b"); + if (test == 14) + HistAmpl[test][sub]->SetXTitle("Ratio in each event & cell \b"); + if (test == 15) + HistAmpl[test][sub]->SetXTitle("Mean TS position in each event & cell \b"); + if (test == 16) + HistAmpl[test][sub]->SetXTitle("Max TS position in each event & cell \b"); + HistAmpl[test][sub]->SetYTitle("Number of cell-events \b"); + HistAmpl[test][sub]->SetLineColor(4); + HistAmpl[test][sub]->SetLineWidth(2); + HistAmpl[test][sub]->SetTitleOffset(1.4, "Y"); + HistAmpl[test][sub]->Draw(""); + // HistAmpl[test][sub]->GetYaxis()->SetRangeUser(1., 100.); + if (test == 12) { + gPad->SetLogx(); + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(1., 10000.); + } + if (test == 13) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 5.); + if (test == 14) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 1.); + if (test == 15) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); + if (test == 16) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); + cONE->Modified(); + cONE->Update(); + double min_x[] = {MIN_C[test - 10][sub], MIN_C[test - 10][sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + double max_x[] = {MAX_C[test - 10][sub], MAX_C[test - 10][sub]}; + double max_y[] = {0., 100000000.}; + TGraph *MAX = new TGraph(2, max_x, max_y); + MAX->SetLineStyle(2); + MAX->SetLineColor(2); + MAX->SetLineWidth(-2 - 100 * 100); + MAX->SetFillStyle(3004); + MAX->SetFillColor(2); + MAX->Draw("L"); + if (test == 12) { + if (sub == 1) { + cONE->Print("HistAmplCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistAmplCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistAmplCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistAmplCalibHF.png"); + cONE->Clear(); + } + } + if (test == 13) { + if (sub == 1) { + cONE->Print("HistRMSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistRMSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistRMSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistRMSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 14) { + if (sub == 1) { + cONE->Print("Hist43TStoAllTSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("Hist43TStoAllTSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("Hist43TStoAllTSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("Hist43TStoAllTSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 15) { + if (sub == 1) { + cONE->Print("HistMeanPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMeanPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMeanPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMeanPosCalibHF.png"); + cONE->Clear(); + } + } + if (test == 16) { + if (sub == 1) { + cONE->Print("HistMaxPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMaxPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMaxPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMaxPosCalibHF.png"); + cONE->Clear(); + } + } + } // end sub + } //end test + + //+++++++++++++++++++++++++++++ + //Test 21 (GS) Amplitude drift + //+++++++++++++++++++++++++++++ + + Map_Ampl[21][1][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HB"); + Map_Ampl[21][1][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HB"); + Map_Ampl[21][1][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HB"); + Map_Ampl[21][1][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HB"); + Map_Ampl[21][2][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HE"); + Map_Ampl[21][2][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HE"); + Map_Ampl[21][2][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HE"); + Map_Ampl[21][2][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HE"); + Map_Ampl[21][2][5] = (TH2F *)hfile->Get("h_mapDepth5AmplE34_HE"); + Map_Ampl[21][2][6] = (TH2F *)hfile->Get("h_mapDepth6AmplE34_HE"); + Map_Ampl[21][2][7] = (TH2F *)hfile->Get("h_mapDepth7AmplE34_HE"); + Map_Ampl[21][3][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HO"); + Map_Ampl[21][4][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HF"); + Map_Ampl[21][4][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HF"); + Map_Ampl[21][4][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HF"); + Map_Ampl[21][4][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HF"); + + TH2F *Map_RefAmpl[5][ALLDEPTH]; // 2D histogramm for subdet, depth + TH2F *Map_RefSUB[5][ALLDEPTH]; // 2d histogramm for subdet, depth + + Map_RefAmpl[1][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HB"); + Map_RefAmpl[1][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HB"); + Map_RefAmpl[1][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HB"); + Map_RefAmpl[1][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HB"); + Map_RefAmpl[2][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HE"); + Map_RefAmpl[2][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HE"); + Map_RefAmpl[2][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HE"); + Map_RefAmpl[2][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HE"); + Map_RefAmpl[2][5] = (TH2F *)hreffile->Get("h_mapDepth5AmplE34_HE"); + Map_RefAmpl[2][6] = (TH2F *)hreffile->Get("h_mapDepth6AmplE34_HE"); + Map_RefAmpl[2][7] = (TH2F *)hreffile->Get("h_mapDepth7AmplE34_HE"); + Map_RefAmpl[3][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HO"); + Map_RefAmpl[4][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HF"); + Map_RefAmpl[4][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HF"); + Map_RefAmpl[4][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HF"); + Map_RefAmpl[4][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HF"); + + Map_RefSUB[1][1] = (TH2F *)hreffile->Get("h_mapDepth1_HB"); + Map_RefSUB[1][2] = (TH2F *)hreffile->Get("h_mapDepth2_HB"); + Map_RefSUB[1][3] = (TH2F *)hreffile->Get("h_mapDepth3_HB"); + Map_RefSUB[1][4] = (TH2F *)hreffile->Get("h_mapDepth4_HB"); + Map_RefSUB[2][1] = (TH2F *)hreffile->Get("h_mapDepth1_HE"); + Map_RefSUB[2][2] = (TH2F *)hreffile->Get("h_mapDepth2_HE"); + Map_RefSUB[2][3] = (TH2F *)hreffile->Get("h_mapDepth3_HE"); + Map_RefSUB[2][4] = (TH2F *)hreffile->Get("h_mapDepth4_HE"); + Map_RefSUB[2][5] = (TH2F *)hreffile->Get("h_mapDepth5_HE"); + Map_RefSUB[2][6] = (TH2F *)hreffile->Get("h_mapDepth6_HE"); + Map_RefSUB[2][7] = (TH2F *)hreffile->Get("h_mapDepth7_HE"); + Map_RefSUB[3][4] = (TH2F *)hreffile->Get("h_mapDepth4_HO"); + Map_RefSUB[4][1] = (TH2F *)hreffile->Get("h_mapDepth1_HF"); + Map_RefSUB[4][2] = (TH2F *)hreffile->Get("h_mapDepth2_HF"); + Map_RefSUB[4][3] = (TH2F *)hreffile->Get("h_mapDepth3_HF"); + Map_RefSUB[4][4] = (TH2F *)hreffile->Get("h_mapDepth4_HF"); + + HistAmplDepth[21][1][1] = new TH1F("diffAmpl_Depth1_HB", "", 100, -10., 10.); + HistAmplDepth[21][1][2] = new TH1F("diffAmpl_Depth2_HB", "", 100, -10., 10.); + HistAmplDepth[21][1][3] = new TH1F("diffAmpl_Depth3_HB", "", 100, -10., 10.); + HistAmplDepth[21][1][4] = new TH1F("diffAmpl_Depth4_HB", "", 100, -10., 10.); + HistAmplDepth[21][2][1] = new TH1F("diffAmpl_Depth1_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][2] = new TH1F("diffAmpl_Depth2_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][3] = new TH1F("diffAmpl_Depth3_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][4] = new TH1F("diffAmpl_Depth4_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][5] = new TH1F("diffAmpl_Depth5_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][6] = new TH1F("diffAmpl_Depth6_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][7] = new TH1F("diffAmpl_Depth7_HE", "", 100, -10., 10.); + HistAmplDepth[21][3][4] = new TH1F("diffAmpl_Depth4_HO", "", 100, -10., 10.); + HistAmplDepth[21][4][1] = new TH1F("diffAmpl_Depth1_HF", "", 100, -10., 10.); + HistAmplDepth[21][4][2] = new TH1F("diffAmpl_Depth2_HF", "", 100, -10., 10.); + HistAmplDepth[21][4][3] = new TH1F("diffAmpl_Depth3_HF", "", 100, -10., 10.); + HistAmplDepth[21][4][4] = new TH1F("diffAmpl_Depth4_HF", "", 100, -10., 10.); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[21][sub][k]->Divide(Map_Ampl[21][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[21][sub][k]->SetTitle(str); + Map_Ampl[21][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[21][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[21][sub][k]->SetZTitle("Response \b"); + Map_Ampl[21][sub][k]->SetTitleOffset(1.1, "Z"); + Map_Ampl[21][sub][k]->Draw("COLZ"); + Map_Ampl[21][sub][k]->GetYaxis()->SetRangeUser(0, 71.); + // Map_Ampl[21][sub][k]->GetZaxis()->SetRangeUser(1., 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (sub == 1) { + cHB->Print("MapRateAmpl1HB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmpl1HE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmpl1HO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmpl1HF.png"); + cHF->Clear(); + } + + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_RefAmpl[sub][k]->Divide(Map_RefAmpl[sub][k], Map_RefSUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_RefAmpl[sub][k]->SetTitle(str); + Map_RefAmpl[sub][k]->SetXTitle("#eta \b"); + Map_RefAmpl[sub][k]->SetYTitle("#phi \b"); + Map_RefAmpl[sub][k]->SetZTitle("Response\b"); + Map_RefAmpl[sub][k]->SetTitleOffset(1.1, "Z"); + Map_RefAmpl[sub][k]->Draw("COLZ"); + Map_RefAmpl[sub][k]->GetYaxis()->SetRangeUser(0, 71.); + // Map_RefAmpl[21][sub][k]->GetZaxis()->SetRangeUser(1., 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (sub == 1) { + cHB->Print("MapRateAmpl2HB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmpl2HE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmpl2HO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmpl2HF.png"); + cHF->Clear(); + } + + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + TH2F *TTT = new TH2F("Map", "Map", 82, -41, 40, 72, 0, 71); + for (int x = 1; x <= Map_Ampl[21][sub][k]->GetXaxis()->GetNbins(); x++) { + for (int y = 1; y <= Map_Ampl[21][sub][k]->GetYaxis()->GetNbins(); y++) { + if (Map_Ampl[21][sub][k]->GetBinContent(x, y) != 0 && Map_RefAmpl[sub][k]->GetBinContent(x, y) != 0) { + double ccc1 = Map_Ampl[21][sub][k]->GetBinContent(x, y) - Map_RefAmpl[sub][k]->GetBinContent(x, y); + ccc1 = 100. * ccc1 / Map_Ampl[21][sub][k]->GetBinContent(x, y); // in % + HistAmplDepth[21][sub][k]->Fill(ccc1); + Map_Ampl[21][sub][k]->SetBinContent(x, y, fabs(ccc1)); + if (fabs(ccc1) > porog[sub]) + TTT->SetBinContent(x, y, fabs(ccc1)); + else + TTT->SetBinContent(x, y, 0); + } + } //end y + } //esnd x + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + TTT->SetTitle(str); + TTT->SetXTitle("#eta \b"); + TTT->SetYTitle("#phi \b"); + TTT->SetZTitle("Relative difference, % \b"); + TTT->SetTitleOffset(0.9, "Z"); + TTT->Draw("COLZ"); + TTT->GetYaxis()->SetRangeUser(0, 71.); + TTT->GetZaxis()->SetRangeUser(0, 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + + if (sub == 1) { + cHB->Print("MapRateAmplDriftHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmplDriftHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmplDriftHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmplDriftHF.png"); + cHF->Clear(); + } + //////////////////////////////////////////////////////////////////////////////////// + + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + HistAmplDepth[21][sub][k]->SetTitle(str); + HistAmplDepth[21][sub][k]->SetYTitle("Number of cell-events \b"); + HistAmplDepth[21][sub][k]->SetXTitle("Per cent \b"); + HistAmplDepth[21][sub][k]->SetLineColor(4); + HistAmplDepth[21][sub][k]->SetLineWidth(2); + HistAmplDepth[21][sub][k]->SetTitleOffset(1.4, "Y"); + HistAmplDepth[21][sub][k]->Draw(); + // HistAmplDepth[21][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + HistAmplDepth[21][sub][k]->GetXaxis()->SetRangeUser(-10., 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + double min_x[] = {-1 * porog[sub], -1 * porog[sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + double max_x[] = {porog[sub], porog[sub]}; + double max_y[] = {0., 100000000.}; + TGraph *MAX = new TGraph(2, max_x, max_y); + MAX->SetLineStyle(2); + MAX->SetLineColor(2); + MAX->SetLineWidth(-2 - 100 * 100); + MAX->SetFillStyle(3004); + MAX->SetFillColor(2); + MAX->Draw("L"); + } // end depth + if (sub == 1) { + cHB->Print("HistAmplDriftDepthHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("HistAmplDriftDepthHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("HistAmplDriftDepthHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("HistAmplDriftDepthHF.png"); + cHF->Clear(); + } + } //end sub + + //+++++++++++++++++++++++++++++++++++ + //Test 31, 32 Pedestal, pedestalWidths + //++++++++++++++++++++++++++++++++++++ + + Map_Ampl[31][1][1] = (TH2F *)hfile->Get("h_mapDepth1pedestal_HB"); + Map_Ampl[31][1][2] = (TH2F *)hfile->Get("h_mapDepth2pedestal_HB"); + Map_Ampl[31][1][3] = (TH2F *)hfile->Get("h_mapDepth3pedestal_HB"); + Map_Ampl[31][1][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HB"); + Map_Ampl[31][2][1] = (TH2F *)hfile->Get("h_mapDepth1pedestal_HE"); + Map_Ampl[31][2][2] = (TH2F *)hfile->Get("h_mapDepth2pedestal_HE"); + Map_Ampl[31][2][3] = (TH2F *)hfile->Get("h_mapDepth3pedestal_HE"); + Map_Ampl[31][2][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HE"); + Map_Ampl[31][2][5] = (TH2F *)hfile->Get("h_mapDepth5pedestal_HE"); + Map_Ampl[31][2][6] = (TH2F *)hfile->Get("h_mapDepth6pedestal_HE"); + Map_Ampl[31][2][7] = (TH2F *)hfile->Get("h_mapDepth7pedestal_HE"); + Map_Ampl[31][3][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HO"); + Map_Ampl[31][4][1] = (TH2F *)hfile->Get("h_mapDepth1pedestal_HF"); + Map_Ampl[31][4][2] = (TH2F *)hfile->Get("h_mapDepth2pedestal_HF"); + Map_Ampl[31][4][3] = (TH2F *)hfile->Get("h_mapDepth3pedestal_HF"); + Map_Ampl[31][4][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HF"); + + Map_Ampl[32][1][1] = (TH2F *)hfile->Get("h_mapDepth1pedestalw_HB"); + Map_Ampl[32][1][2] = (TH2F *)hfile->Get("h_mapDepth2pedestalw_HB"); + Map_Ampl[32][1][3] = (TH2F *)hfile->Get("h_mapDepth3pedestalw_HB"); + Map_Ampl[32][1][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HB"); + Map_Ampl[32][2][1] = (TH2F *)hfile->Get("h_mapDepth1pedestalw_HE"); + Map_Ampl[32][2][2] = (TH2F *)hfile->Get("h_mapDepth2pedestalw_HE"); + Map_Ampl[32][2][3] = (TH2F *)hfile->Get("h_mapDepth3pedestalw_HE"); + Map_Ampl[32][2][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HE"); + Map_Ampl[32][2][5] = (TH2F *)hfile->Get("h_mapDepth5pedestalw_HE"); + Map_Ampl[32][2][6] = (TH2F *)hfile->Get("h_mapDepth6pedestalw_HE"); + Map_Ampl[32][2][7] = (TH2F *)hfile->Get("h_mapDepth7pedestalw_HE"); + Map_Ampl[32][3][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HO"); + Map_Ampl[32][4][1] = (TH2F *)hfile->Get("h_mapDepth1pedestalw_HF"); + Map_Ampl[32][4][2] = (TH2F *)hfile->Get("h_mapDepth2pedestalw_HF"); + Map_Ampl[32][4][3] = (TH2F *)hfile->Get("h_mapDepth3pedestalw_HF"); + Map_Ampl[32][4][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HF"); + + HistPed[1][1][0] = (TH1F *)hfile->Get("h_pedestal0_HB"); + HistPed[1][1][1] = (TH1F *)hfile->Get("h_pedestal1_HB"); + HistPed[1][1][2] = (TH1F *)hfile->Get("h_pedestal2_HB"); + HistPed[1][1][3] = (TH1F *)hfile->Get("h_pedestal3_HB"); + HistPed[2][1][0] = (TH1F *)hfile->Get("h_pedestalw0_HB"); + HistPed[2][1][1] = (TH1F *)hfile->Get("h_pedestalw1_HB"); + HistPed[2][1][2] = (TH1F *)hfile->Get("h_pedestalw2_HB"); + HistPed[2][1][3] = (TH1F *)hfile->Get("h_pedestalw3_HB"); + + HistPed[1][2][0] = (TH1F *)hfile->Get("h_pedestal0_HE"); + HistPed[1][2][1] = (TH1F *)hfile->Get("h_pedestal1_HE"); + HistPed[1][2][2] = (TH1F *)hfile->Get("h_pedestal2_HE"); + HistPed[1][2][3] = (TH1F *)hfile->Get("h_pedestal3_HE"); + HistPed[2][2][0] = (TH1F *)hfile->Get("h_pedestalw0_HE"); + HistPed[2][2][1] = (TH1F *)hfile->Get("h_pedestalw1_HE"); + HistPed[2][2][2] = (TH1F *)hfile->Get("h_pedestalw2_HE"); + HistPed[2][2][3] = (TH1F *)hfile->Get("h_pedestalw3_HE"); + + HistPed[1][3][0] = (TH1F *)hfile->Get("h_pedestal0_HO"); + HistPed[1][3][1] = (TH1F *)hfile->Get("h_pedestal1_HO"); + HistPed[1][3][2] = (TH1F *)hfile->Get("h_pedestal2_HO"); + HistPed[1][3][3] = (TH1F *)hfile->Get("h_pedestal3_HO"); + HistPed[2][3][0] = (TH1F *)hfile->Get("h_pedestalw0_HO"); + HistPed[2][3][1] = (TH1F *)hfile->Get("h_pedestalw1_HO"); + HistPed[2][3][2] = (TH1F *)hfile->Get("h_pedestalw2_HO"); + HistPed[2][3][3] = (TH1F *)hfile->Get("h_pedestalw3_HO"); + + HistPed[1][4][0] = (TH1F *)hfile->Get("h_pedestal0_HF"); + HistPed[1][4][1] = (TH1F *)hfile->Get("h_pedestal1_HF"); + HistPed[1][4][2] = (TH1F *)hfile->Get("h_pedestal2_HF"); + HistPed[1][4][3] = (TH1F *)hfile->Get("h_pedestal3_HF"); + HistPed[2][4][0] = (TH1F *)hfile->Get("h_pedestalw0_HF"); + HistPed[2][4][1] = (TH1F *)hfile->Get("h_pedestalw1_HF"); + HistPed[2][4][2] = (TH1F *)hfile->Get("h_pedestalw2_HF"); + HistPed[2][4][3] = (TH1F *)hfile->Get("h_pedestalw3_HF"); + + for (int test = 31; test <= 32; test++) { //Test: 31-Pedestals, 32-pedestal Widths, + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depths + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[test][sub][k]->SetTitle(str); + Map_Ampl[test][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[test][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[test][sub][k]->SetZTitle("Rate \b"); + if (sub == 3) + Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[test][sub][k]->Draw("COLZ"); + Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (test == 31) { + if (sub == 1) { + cHB->Print("MapRatePedHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRatePedHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRatePedHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRatePedHF.png"); + cHF->Clear(); + } + } + if (test == 32) { + if (sub == 1) { + cHB->Print("MapRatePedWidthsHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRatePedWidthsHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRatePedWidthsHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRatePedWidthsHF.png"); + cHF->Clear(); + } + } + + /////////////////////////////////////////////// + + cPED->Divide(2, 2); + for (int cap = 0; cap <= 3; cap++) { + cPED->cd(cap + 1); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + + if (sub == 1) + sprintf(str, "HB, Cap%d, all depth\b", cap); + if (sub == 2) + sprintf(str, "HE, Cap%d, all depth\b", cap); + if (sub == 3) + sprintf(str, "HO, Cap%d, all depth\b", cap); + if (sub == 4) + sprintf(str, "HF, Cap%d, all depth\b", cap); + + HistPed[test - 30][sub][cap]->SetTitle(str); + + if (test == 31) + HistPed[test - 30][sub][cap]->SetXTitle("Pedestals in each event & cell \b"); + if (test == 32) + HistPed[test - 30][sub][cap]->SetXTitle("Pedestal Widths in each event & cell \b"); + + HistPed[test - 30][sub][cap]->SetYTitle("Number of channel-events \b"); + HistPed[test - 30][sub][cap]->SetLineColor(4); + HistPed[test - 30][sub][cap]->SetLineWidth(2); + HistPed[test - 30][sub][cap]->SetTitleOffset(1.4, "Y"); + HistPed[test - 30][sub][cap]->Draw(""); + // HistPed[test-30][sub][cap]->GetYaxis()->SetRangeUser(1., 100.); + // if (test==31) {gPad->SetLogx(); HistPed[test-30][sub][cap]->GetXaxis()->SetRangeUser(1., 10000.);} + // if (test==32) HistPed[test-30][sub][cap]->GetXaxis()->SetRangeUser(0., 5.); + + cPED->Modified(); + cPED->Update(); + double min_x[] = {Pedest[test - 31][sub], Pedest[test - 31][sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + } + if (test == 31) { + if (sub == 1) { + cPED->Print("HistPedestalsHB.png"); + cPED->Clear(); + } + if (sub == 2) { + cPED->Print("HistPedestalsHE.png"); + cPED->Clear(); + } + if (sub == 3) { + cPED->Print("HistPedestalsHO.png"); + cPED->Clear(); + } + if (sub == 4) { + cPED->Print("HistPedestalsHF.png"); + cPED->Clear(); + } + } + if (test == 32) { + if (sub == 1) { + cPED->Print("HistPedestalWidthsHB.png"); + cPED->Clear(); + } + if (sub == 2) { + cPED->Print("HistPedestalWidthsHE.png"); + cPED->Clear(); + } + if (sub == 3) { + cPED->Print("HistPedestalWidthsHO.png"); + cPED->Clear(); + } + if (sub == 4) { + cPED->Print("HistPedestalWidthsHF.png"); + cPED->Clear(); + } + } + } // end sub + } //end test 31,32 + + //+++++++++++++++++++++++++++++++++++ + //Test 33 Correlation of Pedestal, pedestalWidths Vs fullAmplitude + //++++++++++++++++++++++++++++++++++++ + + cPED->Clear(); + Map_Ped[1][1] = (TH2F *)hfile->Get("h2_pedvsampl_HB"); + Map_Ped[1][2] = (TH2F *)hfile->Get("h2_pedvsampl_HE"); + Map_Ped[1][3] = (TH2F *)hfile->Get("h2_pedvsampl_HO"); + Map_Ped[1][4] = (TH2F *)hfile->Get("h2_pedvsampl_HF"); + Map_Ped[2][1] = (TH2F *)hfile->Get("h2_pedwvsampl_HB"); + Map_Ped[2][2] = (TH2F *)hfile->Get("h2_pedwvsampl_HE"); + Map_Ped[2][3] = (TH2F *)hfile->Get("h2_pedwvsampl_HO"); + Map_Ped[2][4] = (TH2F *)hfile->Get("h2_pedwvsampl_HF"); + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + cPED->Divide(2, 1); + for (int test = 1; test <= 2; test++) { + cPED->cd(test); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (test == 1) + Map_Ped[test][sub]->SetXTitle("Pedestal, fC \b"); + if (test == 2) + Map_Ped[test][sub]->SetXTitle("pedestal Width, fC \b"); + Map_Ped[test][sub]->SetYTitle("Amplitude, fC \b"); + Map_Ped[test][sub]->SetZTitle("entries \b"); + if (test == 1) + sprintf(str, "Cap0 Pedestal vs Amplitude \b"); + if (test == 2) + sprintf(str, "Cap0 pedestalWidth vs Amplitude \b"); + Map_Ped[test][sub]->SetTitle(str); + Map_Ped[test][sub]->Draw("COLZ"); + // Map_Ped[test][sub]->GetYaxis()->SetRangeUser(0, 72.); + // Map_Ped[test][sub]->GetZaxis()->SetRangeUser(0.0001, 1.); + cPED->Modified(); + cPED->Update(); + } // test 1,2 + if (sub == 1) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHB.png"); + cPED->Clear(); + } + if (sub == 2) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHE.png"); + cPED->Clear(); + } + if (sub == 3) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHO.png"); + cPED->Clear(); + } + if (sub == 4) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHF.png"); + cPED->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++++++++ + //Test 41 Time Slices shape for good and bad channels + //++++++++++++++++++++++++++++++++++++ + + cONE->Clear(); + hist_GoodTSshape[1] = (TH1F *)hfile->Get("h_shape_good_channels_HB"); + hist_GoodTSshape[2] = (TH1F *)hfile->Get("h_shape_good_channels_HE"); + hist_GoodTSshape[3] = (TH1F *)hfile->Get("h_shape_good_channels_HO"); + hist_GoodTSshape[4] = (TH1F *)hfile->Get("h_shape_good_channels_HF"); + + hist_GoodTSshape0[1] = (TH1F *)hfile->Get("h_shape0_good_channels_HB"); + hist_GoodTSshape0[2] = (TH1F *)hfile->Get("h_shape0_good_channels_HE"); + hist_GoodTSshape0[3] = (TH1F *)hfile->Get("h_shape0_good_channels_HO"); + hist_GoodTSshape0[4] = (TH1F *)hfile->Get("h_shape0_good_channels_HF"); + + hist_BadTSshape[1] = (TH1F *)hfile->Get("h_shape_bad_channels_HB"); + hist_BadTSshape[2] = (TH1F *)hfile->Get("h_shape_bad_channels_HE"); + hist_BadTSshape[3] = (TH1F *)hfile->Get("h_shape_bad_channels_HO"); + hist_BadTSshape[4] = (TH1F *)hfile->Get("h_shape_bad_channels_HF"); + + hist_BadTSshape0[1] = (TH1F *)hfile->Get("h_shape0_bad_channels_HB"); + hist_BadTSshape0[2] = (TH1F *)hfile->Get("h_shape0_bad_channels_HE"); + hist_BadTSshape0[3] = (TH1F *)hfile->Get("h_shape0_bad_channels_HO"); + hist_BadTSshape0[4] = (TH1F *)hfile->Get("h_shape0_bad_channels_HF"); + + cONE->cd(1); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + hist_GoodTSshape[sub]->Divide(hist_GoodTSshape[sub], hist_GoodTSshape0[sub], 1, 1, "B"); + hist_GoodTSshape[sub]->SetXTitle("Time slice \b"); + hist_GoodTSshape[sub]->SetYTitle("ADC counts \b"); + sprintf(str, "Mean ADC Shape \b"); + hist_GoodTSshape[sub]->SetTitle(str); + hist_GoodTSshape[sub]->Draw(""); + // hist_GoodTSshape[sub]->GetYaxis()->SetRangeUser(0, 72.); + // hist_GoodTSshape[sub]->GetZaxis()->SetRangeUser(0.0001, 1.); + cONE->Modified(); + cONE->Update(); + if (sub == 1) { + cONE->Print("HistGoodTSshapesHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistGoodTSshapesHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistGoodTSshapesHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistGoodTSshapesHF.png"); + cONE->Clear(); + } + } // end sub + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + hist_BadTSshape[sub]->Divide(hist_BadTSshape[sub], hist_BadTSshape0[sub], 1, 1, "B"); + hist_BadTSshape[sub]->SetXTitle("Time slice \b"); + hist_BadTSshape[sub]->SetYTitle("ADC counts \b"); + sprintf(str, "Mean ADC Shape \b"); + hist_BadTSshape[sub]->SetTitle(str); + hist_BadTSshape[sub]->Draw(""); + // hist_BadTSshape[sub]->GetYaxis()->SetRangeUser(0, 72.); + // hist_BadTSshape[sub]->GetZaxis()->SetRangeUser(0.0001, 1.); + cONE->Modified(); + cONE->Update(); + if (sub == 1) { + cONE->Print("HistBadTSshapesHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistBadTSshapesHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistBadTSshapesHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistBadTSshapesHF.png"); + cONE->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + // Entries in different TSs: + //+++++++++++++++++++++++++++++ + Map_SUBTS[1][1] = (TH2F *)hfile->Get("h_mapDepth1TS2_HB"); + Map_SUBTS[1][2] = (TH2F *)hfile->Get("h_mapDepth2TS2_HB"); + Map_SUBTS[1][3] = (TH2F *)hfile->Get("h_mapDepth3TS2_HB"); + Map_SUBTS[1][4] = (TH2F *)hfile->Get("h_mapDepth4TS2_HB"); + + Map_SUBTS[2][1] = (TH2F *)hfile->Get("h_mapDepth1TS2_HE"); + Map_SUBTS[2][2] = (TH2F *)hfile->Get("h_mapDepth2TS2_HE"); + Map_SUBTS[2][3] = (TH2F *)hfile->Get("h_mapDepth3TS2_HE"); + Map_SUBTS[2][4] = (TH2F *)hfile->Get("h_mapDepth4TS2_HE"); + Map_SUBTS[2][5] = (TH2F *)hfile->Get("h_mapDepth5TS2_HE"); + Map_SUBTS[2][6] = (TH2F *)hfile->Get("h_mapDepth6TS2_HE"); + Map_SUBTS[2][7] = (TH2F *)hfile->Get("h_mapDepth7TS2_HE"); + + Map_SUBTS[3][4] = (TH2F *)hfile->Get("h_mapDepth4TS012_HO"); + + Map_SUBTS[4][1] = (TH2F *)hfile->Get("h_mapDepth1TS1_HF"); + Map_SUBTS[4][2] = (TH2F *)hfile->Get("h_mapDepth2TS1_HF"); + Map_SUBTS[4][3] = (TH2F *)hfile->Get("h_mapDepth3TS1_HF"); + Map_SUBTS[4][4] = (TH2F *)hfile->Get("h_mapDepth4TS1_HF"); + + ////////////////////////////////////////////////////////////// + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_SUBTS[sub][k]->Divide(Map_SUBTS[sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_SUBTS[sub][k]->SetTitle(str); + Map_SUBTS[sub][k]->SetXTitle("#eta \b"); + Map_SUBTS[sub][k]->SetYTitle("#phi \b"); + Map_SUBTS[sub][k]->SetZTitle("Rate \b"); + if (sub == 3) + Map_SUBTS[sub][k]->SetTitleOffset(0.8, "Z"); + Map_SUBTS[sub][k]->Draw("COLZ"); + Map_SUBTS[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_SUBTS[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + + if (sub == 1) { + cHB->Print("Hist_mapDepthAllTS2_HB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("Hist_mapDepthAllTS2_HE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("Hist_mapDepthAllTS012_HO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("Hist_mapDepthAllTS1_HF.png"); + cHF->Clear(); + } + } // end sub + + ////////////////////////////////////////////////////////////////////////////////////////////////////// + + /* + //+++++++++++++++++++++++++++++++++++ +//Test 42 ADC in TS distributions +//++++++++++++++++++++++++++++++++++++ + +std::cout<<" We are here to print ADC "<Get("h_ADC_HB"); + hist_ADC_All[2] = (TH1F*)hfile->Get("h_ADC_HE"); + hist_ADC_All[3] = (TH1F*)hfile->Get("h_ADC_HO"); + hist_ADC_All[4] = (TH1F*)hfile->Get("h_ADC_HF"); + + + hist_ADC_DS[1][1] = (TH1F*)hfile->Get("h_ADC_HBdepth1"); + hist_ADC_DS[1][2] = (TH1F*)hfile->Get("h_ADC_HBdepth2"); + hist_ADC_DS[2][1] = (TH1F*)hfile->Get("h_ADC_HEdepth1"); + hist_ADC_DS[2][2] = (TH1F*)hfile->Get("h_ADC_HEdepth2"); + hist_ADC_DS[2][3] = (TH1F*)hfile->Get("h_ADC_HEdepth3"); + hist_ADC_DS[3][4] = (TH1F*)hfile->Get("h_ADC_HOdepth4"); + hist_ADC_DS[4][1] = (TH1F*)hfile->Get("h_ADC_HFdepth1"); + hist_ADC_DS[4][2] = (TH1F*)hfile->Get("h_ADC_HFdepth2"); + + + cONE->Clear(); + cONE->Divide(1,1); + cONE->cd(1); + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_ADC_All[sub]->SetXTitle("ADC counts \b"); + hist_ADC_All[sub]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"ADC counts Distribution HB\b"); + if (sub==2) sprintf(str,"ADC counts Distribution HE\b"); + if (sub==3) sprintf(str,"ADC counts Distribution HO\b"); + if (sub==4) sprintf(str,"ADC counts Distribution HF\b"); + hist_ADC_All[sub]->SetTitle(str); + hist_ADC_All[sub]->Draw(""); + // hist_ADC_All[sub]->GetYaxis()->SetRangeUser(0, 72.); + hist_ADC_All[sub]->GetXaxis()->SetRangeUser(0.000, 1000.); + cONE->Modified(); cONE->Update(); + if (sub==1) {cONE->Print("Hist_ADC_HB_All.png"); cONE->Clear();} + if (sub==2) {cONE->Print("Hist_ADC_HE_All.png"); cONE->Clear();} + if (sub==3) {cONE->Print("Hist_ADC_HO_All.png"); cONE->Clear();} + if (sub==4) {cONE->Print("Hist_ADC_HF_All.png"); cONE->Clear();} + }// end sub + + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_ADC_DS[sub][k]->SetXTitle("ADC counts \b"); + hist_ADC_DS[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_ADC_DS[sub][k]->SetTitle(str); + hist_ADC_DS[sub][k]->Draw(""); + // hist_ADC_DS[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + hist_ADC_DS[sub][k]->GetXaxis()->SetRangeUser(0.000, 1000.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_ADC_HB_DS.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_ADC_HE_DS.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_ADC_HO_DS.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_ADC_HF_DS.png"); cHB->Clear();} + }// end sub + + + //+++++++++++++++++++++++++++++++++++ +//Test 43 Sum ADC in TS distributions +//++++++++++++++++++++++++++++++++++++ + + hist_SumADC[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB"); + hist_SumADC[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB"); + hist_SumADC[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE"); + hist_SumADC[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE"); + hist_SumADC[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE"); + hist_SumADC[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO"); + hist_SumADC[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF"); + hist_SumADC[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF"); + + hist_SumADC0[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB0"); + hist_SumADC0[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB0"); + hist_SumADC0[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE0"); + hist_SumADC0[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE0"); + hist_SumADC0[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE0"); + hist_SumADC0[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO0"); + hist_SumADC0[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF0"); + hist_SumADC0[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF0"); + + hist_SumADC1[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB1"); + hist_SumADC1[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB1"); + hist_SumADC1[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE1"); + hist_SumADC1[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE1"); + hist_SumADC1[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE1"); + hist_SumADC1[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO1"); + hist_SumADC1[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF1"); + hist_SumADC1[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF1"); + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_SumADC[sub][k]->SetXTitle("ADC sum \b"); + hist_SumADC[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_SumADC[sub][k]->SetTitle(str); + hist_SumADC[sub][k]->Draw(""); + // hist_SumADC[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // hist_SumADC[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_SumADC_HB.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_SumADC_HE.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_SumADC_HO.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_SumADC_HF.png"); cHB->Clear();} + }// end sub + + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_SumADC0[sub][k]->SetXTitle("ADC sum \b"); + hist_SumADC0[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_SumADC0[sub][k]->SetTitle(str); + hist_SumADC0[sub][k]->Draw(""); + // hist_SumADC0[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // hist_SumADC0[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_SumADC_HB0.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_SumADC_HE0.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_SumADC_HO0.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_SumADC_HF0.png"); cHB->Clear();} + }// end sub + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_SumADC1[sub][k]->SetXTitle("ADC sum \b"); + hist_SumADC1[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_SumADC1[sub][k]->SetTitle(str); + hist_SumADC1[sub][k]->Draw(""); + // hist_SumADC1[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // hist_SumADC1[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_SumADC_HB1.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_SumADC_HE1.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_SumADC_HO1.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_SumADC_HF1.png"); cHB->Clear();} + }// end sub + +*/ + + ///////////// ///////////// ///////////// ///////////// ///////////// //////////////////// phi-symmetry for Calibration Group: + ///////////// ///////////// ///////////// //////////// ///////////// ///////////////////// Phi-symmetry for Calibration Group: + ///////////// ///////////// ///////////// //////////// ///////////// ///////////////////// Phi-symmetry for Calibration Group: + ///////////// ///////////// ///////////// /////////// ///////////// ////////////////////// Phi-symmetry for Calibration Group: + ///////////// ///////////// ///////////// /////////// ///////////// ////////////////////// Phi-symmetry for Calibration Group: + + /* + depth=5 all + i=1-82 in initial histo + j=i-1 in massives + + j= 13 23 (11) 12 25 (!!!) + j-41 in histo + -28 -18 (11) -29 -16 + + j= 59 69 (11) 57 70 (!!!) + j-41 in histo + 18 28 (11) 16 29 + */ + + const int nsub = 4; + const int neta = 82; + const int nphi = 72; + int njeta = neta; + int njphi = nphi; + //const int ndepth = 7; + int ndepth; + ///////////// ///////////// ////////////////////////// ///////////// ///////////// ///////////// ///////////// ///////////// //////////////////// Phi-symmetry for Calibration Group: + ///////////// ///////////// ////////////////////////// ///////////// ///////////// ///////////// ///////////// //////////////////// Phi-symmetry for Calibration Group: + ///////////// ///////////// ///////////// ///////////// ///////////// ///////////// ///////////// //////////////////// Phi-symmetry for Calibration Group: + + //////////////////////////////////////////////////////////////////////////////////////////////////// Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi + //////////////////////////////////////////////////////////////////////////////////////////////////// Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi + //////////////////////////////////////////////////////////////////////////////////////////////////// Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi + //////////////////////////////////////////////////////////////////////////////////////////////////// Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi Digi + + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HB + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 4; + double adigiHB[ndepth][njeta][njphi]; + double digivarianceHB[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Digi HB + TH2F *amplitudechannel1HB1 = (TH2F *)hfile->Get("h_amplitudechannel1_HB1"); + TH2F *amplitudechannel0HB1 = (TH2F *)hfile->Get("h_amplitudechannel0_HB1"); + TH2F *amplitudechannelHB1 = (TH2F *)amplitudechannel1HB1->Clone("amplitudechannelHB1"); + amplitudechannelHB1->Divide(amplitudechannel1HB1, amplitudechannel0HB1, 1, 1, "B"); + TH2F *amplitudechannel1HB2 = (TH2F *)hfile->Get("h_amplitudechannel1_HB2"); + TH2F *amplitudechannel0HB2 = (TH2F *)hfile->Get("h_amplitudechannel0_HB2"); + TH2F *amplitudechannelHB2 = (TH2F *)amplitudechannel1HB2->Clone("amplitudechannelHB2"); + amplitudechannelHB2->Divide(amplitudechannel1HB2, amplitudechannel0HB2, 1, 1, "B"); + TH2F *amplitudechannel1HB3 = (TH2F *)hfile->Get("h_amplitudechannel1_HB3"); + TH2F *amplitudechannel0HB3 = (TH2F *)hfile->Get("h_amplitudechannel0_HB3"); + TH2F *amplitudechannelHB3 = (TH2F *)amplitudechannel1HB3->Clone("amplitudechannelHB3"); + amplitudechannelHB3->Divide(amplitudechannel1HB3, amplitudechannel0HB3, 1, 1, "B"); + TH2F *amplitudechannel1HB4 = (TH2F *)hfile->Get("h_amplitudechannel1_HB4"); + TH2F *amplitudechannel0HB4 = (TH2F *)hfile->Get("h_amplitudechannel0_HB4"); + TH2F *amplitudechannelHB4 = (TH2F *)amplitudechannel1HB4->Clone("amplitudechannelHB4"); + amplitudechannelHB4->Divide(amplitudechannel1HB4, amplitudechannel0HB4, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + //====================================================================== PHI normalization & put R into massive adigiHB + //preparation for PHI normalization: + double sumdigiHB0 = 0; + int nsumdigiHB0 = 0; + double sumdigiHB1 = 0; + int nsumdigiHB1 = 0; + double sumdigiHB2 = 0; + int nsumdigiHB2 = 0; + double sumdigiHB3 = 0; + int nsumdigiHB3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + adigiHB[0][jeta][jphi] = amplitudechannelHB1->GetBinContent(jeta + 1, jphi + 1); + adigiHB[1][jeta][jphi] = amplitudechannelHB2->GetBinContent(jeta + 1, jphi + 1); + adigiHB[2][jeta][jphi] = amplitudechannelHB3->GetBinContent(jeta + 1, jphi + 1); + adigiHB[3][jeta][jphi] = amplitudechannelHB4->GetBinContent(jeta + 1, jphi + 1); + if (adigiHB[0][jeta][jphi] > 0.) { + sumdigiHB0 += adigiHB[0][jeta][jphi]; + ++nsumdigiHB0; + } + if (adigiHB[1][jeta][jphi] > 0.) { + sumdigiHB1 += adigiHB[1][jeta][jphi]; + ++nsumdigiHB1; + } + if (adigiHB[2][jeta][jphi] > 0.) { + sumdigiHB2 += adigiHB[2][jeta][jphi]; + ++nsumdigiHB2; + } + if (adigiHB[3][jeta][jphi] > 0.) { + sumdigiHB3 += adigiHB[3][jeta][jphi]; + ++nsumdigiHB3; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (adigiHB[0][jeta][jphi] > 0.) + adigiHB[0][jeta][jphi] /= (sumdigiHB0 / nsumdigiHB0); + if (adigiHB[1][jeta][jphi] > 0.) + adigiHB[1][jeta][jphi] /= (sumdigiHB1 / nsumdigiHB1); + if (adigiHB[2][jeta][jphi] > 0.) + adigiHB[2][jeta][jphi] /= (sumdigiHB2 / nsumdigiHB2); + if (adigiHB[3][jeta][jphi] > 0.) + adigiHB[3][jeta][jphi] /= (sumdigiHB3 / nsumdigiHB3); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs + //====================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *GefzRdigiHB42D = new TH2F("GefzRdigiHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHB42D0 = new TH2F("GefzRdigiHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHB42DF = (TH2F *)GefzRdigiHB42D0->Clone("GefzRdigiHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRdigiHB42D->Fill(kkk, jphi, ccc1); + GefzRdigiHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + GefzRdigiHB42DF->Divide(GefzRdigiHB42D, GefzRdigiHB42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRdigiHB42DF->SetMarkerStyle(20); + GefzRdigiHB42DF->SetMarkerSize(0.4); + GefzRdigiHB42DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHB42DF->SetXTitle("_depth #eta \b"); + GefzRdigiHB42DF->SetYTitle(" #phi \b"); + GefzRdigiHB42DF->SetZTitle("_depth \b"); + GefzRdigiHB42DF->SetMarkerColor(2); + GefzRdigiHB42DF->SetLineColor( + 0); // GefzRdigiHB42DF->SetMaximum(1.000); // GefzRdigiHB42DF->SetMinimum(1.0); + GefzRdigiHB42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("RdigiGeneralD2PhiSymmetryHB.png"); + c1x0->Clear(); + // clean-up + if (GefzRdigiHB42D) + delete GefzRdigiHB42D; + if (GefzRdigiHB42D0) + delete GefzRdigiHB42D0; + if (GefzRdigiHB42DF) + delete GefzRdigiHB42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRdigiHB41D = new TH1F("GefzRdigiHB41D", "", nphi, 0., 72.); + TH1F *GefzRdigiHB41D0 = new TH1F("GefzRdigiHB41D0", "", nphi, 0., 72.); + TH1F *GefzRdigiHB41DF = (TH1F *)GefzRdigiHB41D0->Clone("GefzRdigiHB41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = adigiHB[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRdigiHB41D->Fill(jphi, ccc1); + GefzRdigiHB41D0->Fill(jphi, 1.); + } + } + } + } + GefzRdigiHB41DF->Divide(GefzRdigiHB41D, GefzRdigiHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRdigiHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRdigiHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRdigiHB41DF->SetMarkerStyle(20); + GefzRdigiHB41DF->SetMarkerSize(1.4); + GefzRdigiHB41DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHB41DF->SetXTitle("#phi \b"); + GefzRdigiHB41DF->SetYTitle(" \b"); + GefzRdigiHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRdigiHB41DF->SetMarkerColor(4); + GefzRdigiHB41DF->SetLineColor( + 4); // GefzRdigiHB41DF->SetMinimum(0.8); // GefzRdigiHB41DF->SetMaximum(1.000); + GefzRdigiHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RdigiGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (GefzRdigiHB41D) + delete GefzRdigiHB41D; + if (GefzRdigiHB41D0) + delete GefzRdigiHB41D0; + if (GefzRdigiHB41DF) + delete GefzRdigiHB41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionDigi1 = 1; + TH1F *h2CeffHBpositivedirectionDigi1 = new TH1F("h2CeffHBpositivedirectionDigi1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionDigi1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigi1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBpositivedirectionDigi1 = "<SetMarkerColor(2); + HBpositivedirectionDigi1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionDigi1 == 1) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 2) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 3) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 4) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 5) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 6) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 7) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 8) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 9) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 10) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 11) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 12) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 13) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 14) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 15) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionDigi1 == 16) + HBpositivedirectionDigi1->SetXTitle("R for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionDigi1->Draw("Error"); + kcountHBpositivedirectionDigi1++; + if (kcountHBpositivedirectionDigi1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionDigi1) + delete h2CeffHBpositivedirectionDigi1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionDigi2 = 1; + TH1F *h2CeffHBpositivedirectionDigi2 = new TH1F("h2CeffHBpositivedirectionDigi2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigi2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBpositivedirectionDigi2 = "<SetMarkerColor(2); + HBpositivedirectionDigi2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionDigi2 == 1) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 2) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 3) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 4) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 5) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 6) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 7) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 8) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 9) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 10) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 11) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 12) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 13) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 14) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 15) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionDigi2 == 16) + HBpositivedirectionDigi2->SetXTitle("R for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionDigi2->Draw("Error"); + kcountHBpositivedirectionDigi2++; + if (kcountHBpositivedirectionDigi2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionDigi2) + delete h2CeffHBpositivedirectionDigi2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionDigi3 = 1; + TH1F *h2CeffHBpositivedirectionDigi3 = new TH1F("h2CeffHBpositivedirectionDigi3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigi3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBpositivedirectionDigi3 = "<SetMarkerColor(2); + HBpositivedirectionDigi3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionDigi3 == 1) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 2) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 3) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 4) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 5) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 6) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 7) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 8) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 9) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 10) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 11) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 12) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 13) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 14) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 15) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionDigi3 == 16) + HBpositivedirectionDigi3->SetXTitle("R for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionDigi3->Draw("Error"); + kcountHBpositivedirectionDigi3++; + if (kcountHBpositivedirectionDigi3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionDigi3) + delete h2CeffHBpositivedirectionDigi3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionDigi4 = 1; + TH1F *h2CeffHBpositivedirectionDigi4 = new TH1F("h2CeffHBpositivedirectionDigi4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigi4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBpositivedirectionDigi4 = "<SetMarkerColor(2); + HBpositivedirectionDigi4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionDigi4 == 1) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 2) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 3) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 4) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 5) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 6) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 7) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 8) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 9) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 10) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 11) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 12) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 13) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 14) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 15) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionDigi4 == 16) + HBpositivedirectionDigi4->SetXTitle("R for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionDigi4->Draw("Error"); + kcountHBpositivedirectionDigi4++; + if (kcountHBpositivedirectionDigi4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionDigi4) + delete h2CeffHBpositivedirectionDigi4; + + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionDigi1 = 1; + TH1F *h2CeffHBnegativedirectionDigi1 = new TH1F("h2CeffHBnegativedirectionDigi1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionDigi1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigi1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBnegativedirectionDigi1 = "<SetMarkerColor(2); + HBnegativedirectionDigi1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionDigi1 == 1) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -16; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 2) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -15; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 3) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -14; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 4) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -13; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 5) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -12; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 6) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -11; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 7) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -10; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 8) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -9; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 9) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -8; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 10) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -7; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 11) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -6; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 12) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -5; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 13) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -4; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 14) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -3; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 15) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -2; depth = 1 \b"); + if (kcountHBnegativedirectionDigi1 == 16) + HBnegativedirectionDigi1->SetXTitle("R for HB- jeta = -1; depth = 1 \b"); + HBnegativedirectionDigi1->Draw("Error"); + kcountHBnegativedirectionDigi1++; + if (kcountHBnegativedirectionDigi1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionDigi1) + delete h2CeffHBnegativedirectionDigi1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionDigi2 = 1; + TH1F *h2CeffHBnegativedirectionDigi2 = new TH1F("h2CeffHBnegativedirectionDigi2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigi2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBnegativedirectionDigi2 = "<SetMarkerColor(2); + HBnegativedirectionDigi2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionDigi2 == 1) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -16; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 2) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -15; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 3) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -14; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 4) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -13; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 5) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -12; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 6) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -11; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 7) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -10; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 8) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -9; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 9) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -8; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 10) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -7; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 11) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -6; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 12) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -5; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 13) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -4; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 14) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -3; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 15) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -2; depth = 2 \b"); + if (kcountHBnegativedirectionDigi2 == 16) + HBnegativedirectionDigi2->SetXTitle("R for HB- jeta = -1; depth = 2 \b"); + HBnegativedirectionDigi2->Draw("Error"); + kcountHBnegativedirectionDigi2++; + if (kcountHBnegativedirectionDigi2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionDigi2) + delete h2CeffHBnegativedirectionDigi2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionDigi3 = 1; + TH1F *h2CeffHBnegativedirectionDigi3 = new TH1F("h2CeffHBnegativedirectionDigi3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigi3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBnegativedirectionDigi3 = "<SetMarkerColor(2); + HBnegativedirectionDigi3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionDigi3 == 1) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -16; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 2) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -15; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 3) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -14; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 4) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -13; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 5) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -12; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 6) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -11; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 7) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -10; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 8) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -9; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 9) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -8; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 10) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -7; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 11) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -6; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 12) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -5; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 13) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -4; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 14) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -3; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 15) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -2; depth = 3 \b"); + if (kcountHBnegativedirectionDigi3 == 16) + HBnegativedirectionDigi3->SetXTitle("R for HB- jeta = -1; depth = 3 \b"); + + HBnegativedirectionDigi3->Draw("Error"); + kcountHBnegativedirectionDigi3++; + if (kcountHBnegativedirectionDigi3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionDigi3) + delete h2CeffHBnegativedirectionDigi3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionDigi4 = 1; + TH1F *h2CeffHBnegativedirectionDigi4 = new TH1F("h2CeffHBnegativedirectionDigi4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigi4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBnegativedirectionDigi4 = "<SetMarkerColor(2); + HBnegativedirectionDigi4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionDigi4 == 1) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -16; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 2) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -15; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 3) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -14; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 4) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -13; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 5) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -12; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 6) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -11; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 7) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -10; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 8) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -9; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 9) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -8; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 10) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -7; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 11) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -6; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 12) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -5; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 13) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -4; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 14) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -3; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 15) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -2; depth = 4 \b"); + if (kcountHBnegativedirectionDigi4 == 16) + HBnegativedirectionDigi4->SetXTitle("R for HB- jeta = -1; depth = 4 \b"); + HBnegativedirectionDigi4->Draw("Error"); + kcountHBnegativedirectionDigi4++; + if (kcountHBnegativedirectionDigi4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionDigi4) + delete h2CeffHBnegativedirectionDigi4; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_amplitudechannel2_HB1"); + TH2F *digiVariance0HB1 = (TH2F *)hfile->Get("h_amplitudechannel0_HB1"); + TH2F *digiVarianceHB1 = (TH2F *)digiVariance1HB1->Clone("digiVarianceHB1"); + digiVarianceHB1->Divide(digiVariance1HB1, digiVariance0HB1, 1, 1, "B"); + TH2F *digiVariance1HB2 = (TH2F *)hfile->Get("h_amplitudechannel2_HB2"); + TH2F *digiVariance0HB2 = (TH2F *)hfile->Get("h_amplitudechannel0_HB2"); + TH2F *digiVarianceHB2 = (TH2F *)digiVariance1HB2->Clone("digiVarianceHB2"); + digiVarianceHB2->Divide(digiVariance1HB2, digiVariance0HB2, 1, 1, "B"); + TH2F *digiVariance1HB3 = (TH2F *)hfile->Get("h_amplitudechannel2_HB3"); + TH2F *digiVariance0HB3 = (TH2F *)hfile->Get("h_amplitudechannel0_HB3"); + TH2F *digiVarianceHB3 = (TH2F *)digiVariance1HB3->Clone("digiVarianceHB3"); + digiVarianceHB3->Divide(digiVariance1HB3, digiVariance0HB3, 1, 1, "B"); + TH2F *digiVariance1HB4 = (TH2F *)hfile->Get("h_amplitudechannel2_HB4"); + TH2F *digiVariance0HB4 = (TH2F *)hfile->Get("h_amplitudechannel0_HB4"); + TH2F *digiVarianceHB4 = (TH2F *)digiVariance1HB4->Clone("digiVarianceHB4"); + digiVarianceHB4->Divide(digiVariance1HB4, digiVariance0HB4, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive digivarianceHB + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumdigiHB0 = 0; + int nsumdigiHB0 = 0; + double sumdigiHB1 = 0; + int nsumdigiHB1 = 0; + double sumdigiHB2 = 0; + int nsumdigiHB2 = 0; + double sumdigiHB3 = 0; + int nsumdigiHB3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + digivarianceHB[0][jeta][jphi] = digiVarianceHB1->GetBinContent(jeta + 1, jphi + 1); + digivarianceHB[1][jeta][jphi] = digiVarianceHB2->GetBinContent(jeta + 1, jphi + 1); + digivarianceHB[2][jeta][jphi] = digiVarianceHB3->GetBinContent(jeta + 1, jphi + 1); + digivarianceHB[3][jeta][jphi] = digiVarianceHB4->GetBinContent(jeta + 1, jphi + 1); + if (digivarianceHB[0][jeta][jphi] > 0.) { + sumdigiHB0 += digivarianceHB[0][jeta][jphi]; + ++nsumdigiHB0; + } + if (digivarianceHB[1][jeta][jphi] > 0.) { + sumdigiHB1 += digivarianceHB[1][jeta][jphi]; + ++nsumdigiHB1; + } + if (digivarianceHB[2][jeta][jphi] > 0.) { + sumdigiHB2 += digivarianceHB[2][jeta][jphi]; + ++nsumdigiHB2; + } + if (digivarianceHB[3][jeta][jphi] > 0.) { + sumdigiHB3 += digivarianceHB[3][jeta][jphi]; + ++nsumdigiHB3; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (digivarianceHB[0][jeta][jphi] > 0.) + digivarianceHB[0][jeta][jphi] /= (sumdigiHB0 / nsumdigiHB0); + if (digivarianceHB[1][jeta][jphi] > 0.) + digivarianceHB[1][jeta][jphi] /= (sumdigiHB1 / nsumdigiHB1); + if (digivarianceHB[2][jeta][jphi] > 0.) + digivarianceHB[2][jeta][jphi] /= (sumdigiHB2 / nsumdigiHB2); + if (digivarianceHB[3][jeta][jphi] > 0.) + digivarianceHB[3][jeta][jphi] /= (sumdigiHB3 / nsumdigiHB3); + } // phi + // digivarianceHB (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDdigiHB42D = new TH2F("DefzDdigiHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHB42D0 = new TH2F("DefzDdigiHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHB42DF = (TH2F *)DefzDdigiHB42D0->Clone("DefzDdigiHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (adigiHB[i][jeta][jphi] > 0.) { + DefzDdigiHB42D->Fill(kkk, jphi, ccc1); + DefzDdigiHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + DefzDdigiHB42DF->Divide(DefzDdigiHB42D, DefzDdigiHB42D0, 1, 1, "B"); // average A + // DefzDdigiHB1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDdigiHB42DF->SetMarkerStyle(20); + DefzDdigiHB42DF->SetMarkerSize(0.4); + DefzDdigiHB42DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHB42DF->SetXTitle("_depth #eta \b"); + DefzDdigiHB42DF->SetYTitle(" #phi \b"); + DefzDdigiHB42DF->SetZTitle("_depth \b"); + DefzDdigiHB42DF->SetMarkerColor(2); + DefzDdigiHB42DF->SetLineColor( + 0); // DefzDdigiHB42DF->SetMaximum(1.000); // DefzDdigiHB42DF->SetMinimum(1.0); + DefzDdigiHB42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DdigiGeneralD2PhiSymmetryHB.png"); + c1x0->Clear(); + // clean-up + if (DefzDdigiHB42D) + delete DefzDdigiHB42D; + if (DefzDdigiHB42D0) + delete DefzDdigiHB42D0; + if (DefzDdigiHB42DF) + delete DefzDdigiHB42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDdigiHB41D = new TH1F("DefzDdigiHB41D", "", nphi, 0., 72.); + TH1F *DefzDdigiHB41D0 = new TH1F("DefzDdigiHB41D0", "", nphi, 0., 72.); + TH1F *DefzDdigiHB41DF = (TH1F *)DefzDdigiHB41D0->Clone("DefzDdigiHB41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + DefzDdigiHB41D->Fill(jphi, ccc1); + DefzDdigiHB41D0->Fill(jphi, 1.); + } + } + } + } + // DefzDdigiHB41D->Sumw2();DefzDdigiHB41D0->Sumw2(); + + DefzDdigiHB41DF->Divide(DefzDdigiHB41D, DefzDdigiHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDdigiHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDdigiHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDdigiHB41DF->SetMarkerStyle(20); + DefzDdigiHB41DF->SetMarkerSize(1.4); + DefzDdigiHB41DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHB41DF->SetXTitle("#phi \b"); + DefzDdigiHB41DF->SetYTitle(" \b"); + DefzDdigiHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDdigiHB41DF->SetMarkerColor(4); + DefzDdigiHB41DF->SetLineColor(4); // DefzDdigiHB41DF->SetMinimum(0.8); DefzDdigiHB41DF->SetMinimum(-0.015); + DefzDdigiHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DdigiGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (DefzDdigiHB41D) + delete DefzDdigiHB41D; + if (DefzDdigiHB41D0) + delete DefzDdigiHB41D0; + if (DefzDdigiHB41DF) + delete DefzDdigiHB41DF; + + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionDigiD1 = 1; + TH1F *h2CeffHBpositivedirectionDigiD1 = new TH1F("h2CeffHBpositivedirectionDigiD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBpositivedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigiD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHBpositivedirectionDigiD1 = "<SetMarkerColor(2); + HBpositivedirectionDigiD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionDigiD1 == 1) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 2) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 3) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 4) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 5) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 6) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 7) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 8) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 9) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 10) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 11) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 12) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 13) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 14) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 15) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionDigiD1 == 16) + HBpositivedirectionDigiD1->SetXTitle("D for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionDigiD1->Draw("Error"); + kcountHBpositivedirectionDigiD1++; + if (kcountHBpositivedirectionDigiD1 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionDigiD1) + delete h2CeffHBpositivedirectionDigiD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionDigiD2 = 1; + TH1F *h2CeffHBpositivedirectionDigiD2 = new TH1F("h2CeffHBpositivedirectionDigiD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBpositivedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigiD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHBpositivedirectionDigiD2 = "<SetMarkerColor(2); + HBpositivedirectionDigiD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionDigiD2 == 1) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 2) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 3) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 4) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 5) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 6) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 7) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 8) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 9) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 10) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 11) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 12) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 13) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 14) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 15) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionDigiD2 == 16) + HBpositivedirectionDigiD2->SetXTitle("D for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionDigiD2->Draw("Error"); + kcountHBpositivedirectionDigiD2++; + if (kcountHBpositivedirectionDigiD2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionDigiD2) + delete h2CeffHBpositivedirectionDigiD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionDigiD3 = 1; + TH1F *h2CeffHBpositivedirectionDigiD3 = new TH1F("h2CeffHBpositivedirectionDigiD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBpositivedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigiD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHBpositivedirectionDigiD3 = "<SetMarkerColor(2); + HBpositivedirectionDigiD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionDigiD3 == 1) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 2) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 3) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 4) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 5) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 6) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 7) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 8) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 9) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 10) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 11) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 10; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 12) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 13) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 14) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 15) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionDigiD3 == 16) + HBpositivedirectionDigiD3->SetXTitle("D for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionDigiD3->Draw("Error"); + kcountHBpositivedirectionDigiD3++; + if (kcountHBpositivedirectionDigiD3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionDigiD3) + delete h2CeffHBpositivedirectionDigiD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionDigiD4 = 1; + TH1F *h2CeffHBpositivedirectionDigiD4 = new TH1F("h2CeffHBpositivedirectionDigiD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBpositivedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionDigiD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHBpositivedirectionDigiD4 = "<SetMarkerColor(2); + HBpositivedirectionDigiD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionDigiD4 == 1) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 2) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 3) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 4) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 5) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 6) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 7) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 8) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 9) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 10) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 11) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 12) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 13) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 14) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 15) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionDigiD4 == 16) + HBpositivedirectionDigiD4->SetXTitle("D for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionDigiD4->Draw("Error"); + kcountHBpositivedirectionDigiD4++; + if (kcountHBpositivedirectionDigiD4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionDigiD4) + delete h2CeffHBpositivedirectionDigiD4; + + //========================================================================================== 22214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionDigiD1 = 1; + TH1F *h2CeffHBnegativedirectionDigiD1 = new TH1F("h2CeffHBnegativedirectionDigiD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBnegativedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigiD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHBnegativedirectionDigiD1 = "<SetMarkerColor(2); + HBnegativedirectionDigiD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionDigiD1 == 1) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-16; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 2) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-15; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 3) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-14; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 4) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-13; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 5) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-12; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 6) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-11; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 7) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-10; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 8) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-9; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 9) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-8; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 10) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-7; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 11) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-6; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 12) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-5; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 13) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-4; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 14) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-3; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 15) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-2; depth = 1 \b"); + if (kcountHBnegativedirectionDigiD1 == 16) + HBnegativedirectionDigiD1->SetXTitle("D for HB- jeta =-1; depth = 1 \b"); + HBnegativedirectionDigiD1->Draw("Error"); + kcountHBnegativedirectionDigiD1++; + if (kcountHBnegativedirectionDigiD1 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionDigiD1) + delete h2CeffHBnegativedirectionDigiD1; + //========================================================================================== 22215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionDigiD2 = 1; + TH1F *h2CeffHBnegativedirectionDigiD2 = new TH1F("h2CeffHBnegativedirectionDigiD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBnegativedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigiD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHBnegativedirectionDigiD2 = "<SetMarkerColor(2); + HBnegativedirectionDigiD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionDigiD2 == 1) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-16; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 2) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-15; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 3) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-14; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 4) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-13; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 5) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-12; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 6) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-11; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 7) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-10; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 8) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-9; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 9) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-8; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 10) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-7; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 11) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-6; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 12) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-5; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 13) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-4; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 14) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-3; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 15) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-2; depth = 2 \b"); + if (kcountHBnegativedirectionDigiD2 == 16) + HBnegativedirectionDigiD2->SetXTitle("D for HB- jeta =-1; depth = 2 \b"); + HBnegativedirectionDigiD2->Draw("Error"); + kcountHBnegativedirectionDigiD2++; + if (kcountHBnegativedirectionDigiD2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionDigiD2) + delete h2CeffHBnegativedirectionDigiD2; + //========================================================================================== 22216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionDigiD3 = 1; + TH1F *h2CeffHBnegativedirectionDigiD3 = new TH1F("h2CeffHBnegativedirectionDigiD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBnegativedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigiD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHBnegativedirectionDigiD3 = "<SetMarkerColor(2); + HBnegativedirectionDigiD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionDigiD3 == 1) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-16; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 2) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-15; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 3) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-14; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 4) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-13; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 5) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-12; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 6) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-11; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 7) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-10; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 8) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-9; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 9) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-8; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 10) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-7; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 11) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-6; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 12) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-5; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 13) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-4; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 14) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-3; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 15) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-2; depth = 3 \b"); + if (kcountHBnegativedirectionDigiD3 == 16) + HBnegativedirectionDigiD3->SetXTitle("D for HB- jeta =-1; depth = 3 \b"); + HBnegativedirectionDigiD3->Draw("Error"); + kcountHBnegativedirectionDigiD3++; + if (kcountHBnegativedirectionDigiD3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionDigiD3) + delete h2CeffHBnegativedirectionDigiD3; + //========================================================================================== 22217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionDigiD4 = 1; + TH1F *h2CeffHBnegativedirectionDigiD4 = new TH1F("h2CeffHBnegativedirectionDigiD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHB[i][jeta][jphi]; + if (adigiHB[i][jeta][jphi] > 0.) { + HBnegativedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionDigiD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHBnegativedirectionDigiD4 = "<SetMarkerColor(2); + HBnegativedirectionDigiD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionDigiD4 == 1) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-16; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 2) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-15; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 3) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-14; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 4) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-13; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 5) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-12; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 6) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-11; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 7) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-10; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 8) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-9; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 9) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-8; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 10) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-7; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 11) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-6; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 12) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-5; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 13) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-4; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 14) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-3; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 15) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-2; depth = 4 \b"); + if (kcountHBnegativedirectionDigiD4 == 16) + HBnegativedirectionDigiD4->SetXTitle("D for HB- jeta =-1; depth = 4 \b"); + HBnegativedirectionDigiD4->Draw("Error"); + kcountHBnegativedirectionDigiD4++; + if (kcountHBnegativedirectionDigiD4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionDigiD4) + delete h2CeffHBnegativedirectionDigiD4; + + //===================================================================== END of Digi HB for phi-symmetry + //===================================================================== END of Digi HB for phi-symmetry + //===================================================================== END of Digi HB for phi-symmetry + + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HE + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[3]; + ndepth = 7; + // const int ndepth = 7; + double adigihe[ndepth][njeta][njphi]; + double digivariancehe[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Digi HE + TH2F *amplitudechannel1HE1 = (TH2F *)hfile->Get("h_amplitudechannel1_HE1"); + TH2F *amplitudechannel0HE1 = (TH2F *)hfile->Get("h_amplitudechannel0_HE1"); + TH2F *amplitudechannelHE1 = (TH2F *)amplitudechannel1HE1->Clone("amplitudechannelHE1"); + amplitudechannelHE1->Divide(amplitudechannel1HE1, amplitudechannel0HE1, 1, 1, "B"); + TH2F *amplitudechannel1HE2 = (TH2F *)hfile->Get("h_amplitudechannel1_HE2"); + TH2F *amplitudechannel0HE2 = (TH2F *)hfile->Get("h_amplitudechannel0_HE2"); + TH2F *amplitudechannelHE2 = (TH2F *)amplitudechannel1HE2->Clone("amplitudechannelHE2"); + amplitudechannelHE2->Divide(amplitudechannel1HE2, amplitudechannel0HE2, 1, 1, "B"); + TH2F *amplitudechannel1HE3 = (TH2F *)hfile->Get("h_amplitudechannel1_HE3"); + TH2F *amplitudechannel0HE3 = (TH2F *)hfile->Get("h_amplitudechannel0_HE3"); + TH2F *amplitudechannelHE3 = (TH2F *)amplitudechannel1HE3->Clone("amplitudechannelHE3"); + amplitudechannelHE3->Divide(amplitudechannel1HE3, amplitudechannel0HE3, 1, 1, "B"); + TH2F *amplitudechannel1HE4 = (TH2F *)hfile->Get("h_amplitudechannel1_HE4"); + TH2F *amplitudechannel0HE4 = (TH2F *)hfile->Get("h_amplitudechannel0_HE4"); + TH2F *amplitudechannelHE4 = (TH2F *)amplitudechannel1HE4->Clone("amplitudechannelHE4"); + amplitudechannelHE4->Divide(amplitudechannel1HE4, amplitudechannel0HE4, 1, 1, "B"); + TH2F *amplitudechannel1HE5 = (TH2F *)hfile->Get("h_amplitudechannel1_HE5"); + TH2F *amplitudechannel0HE5 = (TH2F *)hfile->Get("h_amplitudechannel0_HE5"); + TH2F *amplitudechannelHE5 = (TH2F *)amplitudechannel1HE5->Clone("amplitudechannelHE5"); + amplitudechannelHE5->Divide(amplitudechannel1HE5, amplitudechannel0HE5, 1, 1, "B"); + TH2F *amplitudechannel1HE6 = (TH2F *)hfile->Get("h_amplitudechannel1_HE6"); + TH2F *amplitudechannel0HE6 = (TH2F *)hfile->Get("h_amplitudechannel0_HE6"); + TH2F *amplitudechannelHE6 = (TH2F *)amplitudechannel1HE6->Clone("amplitudechannelHE6"); + amplitudechannelHE6->Divide(amplitudechannel1HE6, amplitudechannel0HE6, 1, 1, "B"); + TH2F *amplitudechannel1HE7 = (TH2F *)hfile->Get("h_amplitudechannel1_HE7"); + TH2F *amplitudechannel0HE7 = (TH2F *)hfile->Get("h_amplitudechannel0_HE7"); + TH2F *amplitudechannelHE7 = (TH2F *)amplitudechannel1HE7->Clone("amplitudechannelHE7"); + amplitudechannelHE7->Divide(amplitudechannel1HE7, amplitudechannel0HE7, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + //====================================================================== PHI normalization & put R into massive adigihe + //preparation for PHI normalization: + double sumdigiHE0 = 0; + int nsumdigiHE0 = 0; + double sumdigiHE1 = 0; + int nsumdigiHE1 = 0; + double sumdigiHE2 = 0; + int nsumdigiHE2 = 0; + double sumdigiHE3 = 0; + int nsumdigiHE3 = 0; + double sumdigiHE4 = 0; + int nsumdigiHE4 = 0; + double sumdigiHE5 = 0; + int nsumdigiHE5 = 0; + double sumdigiHE6 = 0; + int nsumdigiHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + adigihe[0][jeta][jphi] = amplitudechannelHE1->GetBinContent(jeta + 1, jphi + 1); + adigihe[1][jeta][jphi] = amplitudechannelHE2->GetBinContent(jeta + 1, jphi + 1); + adigihe[2][jeta][jphi] = amplitudechannelHE3->GetBinContent(jeta + 1, jphi + 1); + adigihe[3][jeta][jphi] = amplitudechannelHE4->GetBinContent(jeta + 1, jphi + 1); + adigihe[4][jeta][jphi] = amplitudechannelHE5->GetBinContent(jeta + 1, jphi + 1); + adigihe[5][jeta][jphi] = amplitudechannelHE6->GetBinContent(jeta + 1, jphi + 1); + adigihe[6][jeta][jphi] = amplitudechannelHE7->GetBinContent(jeta + 1, jphi + 1); + if (adigihe[0][jeta][jphi] > 0.) { + sumdigiHE0 += adigihe[0][jeta][jphi]; + ++nsumdigiHE0; + } + if (adigihe[1][jeta][jphi] > 0.) { + sumdigiHE1 += adigihe[1][jeta][jphi]; + ++nsumdigiHE1; + } + if (adigihe[2][jeta][jphi] > 0.) { + sumdigiHE2 += adigihe[2][jeta][jphi]; + ++nsumdigiHE2; + } + if (adigihe[3][jeta][jphi] > 0.) { + sumdigiHE3 += adigihe[3][jeta][jphi]; + ++nsumdigiHE3; + } + if (adigihe[4][jeta][jphi] > 0.) { + sumdigiHE4 += adigihe[4][jeta][jphi]; + ++nsumdigiHE4; + } + if (adigihe[5][jeta][jphi] > 0.) { + sumdigiHE5 += adigihe[5][jeta][jphi]; + ++nsumdigiHE5; + } + if (adigihe[6][jeta][jphi] > 0.) { + sumdigiHE6 += adigihe[6][jeta][jphi]; + ++nsumdigiHE6; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (adigihe[0][jeta][jphi] > 0.) + adigihe[0][jeta][jphi] /= (sumdigiHE0 / nsumdigiHE0); + if (adigihe[1][jeta][jphi] > 0.) + adigihe[1][jeta][jphi] /= (sumdigiHE1 / nsumdigiHE1); + if (adigihe[2][jeta][jphi] > 0.) + adigihe[2][jeta][jphi] /= (sumdigiHE2 / nsumdigiHE2); + if (adigihe[3][jeta][jphi] > 0.) + adigihe[3][jeta][jphi] /= (sumdigiHE3 / nsumdigiHE3); + if (adigihe[4][jeta][jphi] > 0.) + adigihe[4][jeta][jphi] /= (sumdigiHE4 / nsumdigiHE4); + if (adigihe[5][jeta][jphi] > 0.) + adigihe[5][jeta][jphi] /= (sumdigiHE5 / nsumdigiHE5); + if (adigihe[6][jeta][jphi] > 0.) + adigihe[6][jeta][jphi] /= (sumdigiHE6 / nsumdigiHE6); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthes + //====================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: R, averaged over depthes *****" <Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *GefzRdigiHE42D = new TH2F("GefzRdigiHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHE42D0 = new TH2F("GefzRdigiHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHE42DF = (TH2F *)GefzRdigiHE42D0->Clone("GefzRdigiHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRdigiHE42D->Fill(kkk, jphi, ccc1); + GefzRdigiHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + GefzRdigiHE42DF->Divide(GefzRdigiHE42D, GefzRdigiHE42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRdigiHE42DF->SetMarkerStyle(20); + GefzRdigiHE42DF->SetMarkerSize(0.4); + GefzRdigiHE42DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHE42DF->SetXTitle("_depth #eta \b"); + GefzRdigiHE42DF->SetYTitle(" #phi \b"); + GefzRdigiHE42DF->SetZTitle("_depth \b"); + GefzRdigiHE42DF->SetMarkerColor(2); + GefzRdigiHE42DF->SetLineColor( + 0); // GefzRdigiHE42DF->SetMaximum(1.000); // GefzRdigiHE42DF->SetMinimum(1.0); + GefzRdigiHE42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("RdigiGeneralD2PhiSymmetryHE.png"); + c1x0->Clear(); + // clean-up + if (GefzRdigiHE42D) + delete GefzRdigiHE42D; + if (GefzRdigiHE42D0) + delete GefzRdigiHE42D0; + if (GefzRdigiHE42DF) + delete GefzRdigiHE42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRdigiHE41D = new TH1F("GefzRdigiHE41D", "", nphi, 0., 72.); + TH1F *GefzRdigiHE41D0 = new TH1F("GefzRdigiHE41D0", "", nphi, 0., 72.); + TH1F *GefzRdigiHE41DF = (TH1F *)GefzRdigiHE41D0->Clone("GefzRdigiHE41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRdigiHE41D->Fill(jphi, ccc1); + GefzRdigiHE41D0->Fill(jphi, 1.); + } + } + } + } + GefzRdigiHE41DF->Divide(GefzRdigiHE41D, GefzRdigiHE41D0, 1, 1, "B"); // R averaged over depthes & eta + GefzRdigiHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRdigiHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRdigiHE41DF->SetMarkerStyle(20); + GefzRdigiHE41DF->SetMarkerSize(1.4); + GefzRdigiHE41DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHE41DF->SetXTitle("#phi \b"); + GefzRdigiHE41DF->SetYTitle(" \b"); + GefzRdigiHE41DF->SetZTitle("_PHI - AllDepthes \b"); + GefzRdigiHE41DF->SetMarkerColor(4); + GefzRdigiHE41DF->SetLineColor( + 4); // GefzRdigiHE41DF->SetMinimum(0.8); // GefzRdigiHE41DF->SetMaximum(1.000); + GefzRdigiHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RdigiGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (GefzRdigiHE41D) + delete GefzRdigiHE41D; + if (GefzRdigiHE41D0) + delete GefzRdigiHE41D0; + if (GefzRdigiHE41DF) + delete GefzRdigiHE41DF; + + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi1 = 1; + TH1F *h2CeffHEpositivedirectionDigi1 = new TH1F("h2CeffHEpositivedirectionDigi1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEpositivedirectionDigi1 = "<SetMarkerColor(2); + HEpositivedirectionDigi1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi1 == 1) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 2) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 3) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 4) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 5) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 6) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 7) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 8) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 9) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 10) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 11) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionDigi1 == 12) + HEpositivedirectionDigi1->SetXTitle("R for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionDigi1->Draw("Error"); + kcountHEpositivedirectionDigi1++; + if (kcountHEpositivedirectionDigi1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi1) + delete h2CeffHEpositivedirectionDigi1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi2 = 1; + TH1F *h2CeffHEpositivedirectionDigi2 = new TH1F("h2CeffHEpositivedirectionDigi2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEpositivedirectionDigi2 = "<SetMarkerColor(2); + HEpositivedirectionDigi2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi2 == 1) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 2) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 3) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 4) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 5) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 6) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 7) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 8) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 9) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 10) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 11) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 12) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionDigi2 == 13) + HEpositivedirectionDigi2->SetXTitle("R for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionDigi2->Draw("Error"); + kcountHEpositivedirectionDigi2++; + if (kcountHEpositivedirectionDigi2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi2) + delete h2CeffHEpositivedirectionDigi2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi3 = 1; + TH1F *h2CeffHEpositivedirectionDigi3 = new TH1F("h2CeffHEpositivedirectionDigi3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEpositivedirectionDigi3 = "<SetMarkerColor(2); + HEpositivedirectionDigi3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi3 == 1) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 2) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 3) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 4) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 5) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 6) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 7) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 8) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 9) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 10) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 11) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 12) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionDigi3 == 13) + HEpositivedirectionDigi3->SetXTitle("R for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionDigi3->Draw("Error"); + kcountHEpositivedirectionDigi3++; + if (kcountHEpositivedirectionDigi3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi3) + delete h2CeffHEpositivedirectionDigi3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi4 = 1; + TH1F *h2CeffHEpositivedirectionDigi4 = new TH1F("h2CeffHEpositivedirectionDigi4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEpositivedirectionDigi4 = "<SetMarkerColor(2); + HEpositivedirectionDigi4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi4 == 1) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 2) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 3) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 4) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 5) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 6) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 7) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 8) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 9) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 10) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 11) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionDigi4 == 12) + HEpositivedirectionDigi4->SetXTitle("R for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionDigi4->Draw("Error"); + kcountHEpositivedirectionDigi4++; + if (kcountHEpositivedirectionDigi4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi4) + delete h2CeffHEpositivedirectionDigi4; + //========================================================================================== 8 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi5 = 1; + TH1F *h2CeffHEpositivedirectionDigi5 = new TH1F("h2CeffHEpositivedirectionDigi5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEpositivedirectionDigi5 = "<SetMarkerColor(2); + HEpositivedirectionDigi5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi5 == 1) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 2) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 3) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 4) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 5) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 6) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 7) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 8) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 9) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 10) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionDigi5 == 11) + HEpositivedirectionDigi5->SetXTitle("R for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionDigi5->Draw("Error"); + kcountHEpositivedirectionDigi5++; + if (kcountHEpositivedirectionDigi5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi5) + delete h2CeffHEpositivedirectionDigi5; + //========================================================================================== 9 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi6 = 1; + TH1F *h2CeffHEpositivedirectionDigi6 = new TH1F("h2CeffHEpositivedirectionDigi6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEpositivedirectionDigi6 = "<SetMarkerColor(2); + HEpositivedirectionDigi6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi6 == 1) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 2) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 3) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 4) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 5) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 6) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 7) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 8) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 9) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionDigi6 == 10) + HEpositivedirectionDigi6->SetXTitle("R for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionDigi6->Draw("Error"); + kcountHEpositivedirectionDigi6++; + if (kcountHEpositivedirectionDigi6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi6) + delete h2CeffHEpositivedirectionDigi6; + //========================================================================================== 10 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigi7 = 1; + TH1F *h2CeffHEpositivedirectionDigi7 = new TH1F("h2CeffHEpositivedirectionDigi7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionDigi7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigi7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEpositivedirectionDigi7 = "<SetMarkerColor(2); + HEpositivedirectionDigi7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigi7 == 1) + HEpositivedirectionDigi7->SetXTitle("R for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionDigi7 == 2) + HEpositivedirectionDigi7->SetXTitle("R for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionDigi7 == 3) + HEpositivedirectionDigi7->SetXTitle("R for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionDigi7->Draw("Error"); + kcountHEpositivedirectionDigi7++; + if (kcountHEpositivedirectionDigi7 > 3) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigi7) + delete h2CeffHEpositivedirectionDigi7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi1 = 1; + TH1F *h2CeffHEnegativedirectionDigi1 = new TH1F("h2CeffHEnegativedirectionDigi1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEnegativedirectionDigi1 = "<SetMarkerColor(2); + HEnegativedirectionDigi1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi1 == 1) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 2) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 3) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 4) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 5) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 6) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 7) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 8) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 9) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 10) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 11) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionDigi1 == 12) + HEnegativedirectionDigi1->SetXTitle("R for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionDigi1->Draw("Error"); + kcountHEnegativedirectionDigi1++; + if (kcountHEnegativedirectionDigi1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi1) + delete h2CeffHEnegativedirectionDigi1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi2 = 1; + TH1F *h2CeffHEnegativedirectionDigi2 = new TH1F("h2CeffHEnegativedirectionDigi2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEnegativedirectionDigi2 = "<SetMarkerColor(2); + HEnegativedirectionDigi2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi2 == 1) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 2) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 3) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 4) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 5) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 6) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 7) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 8) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 9) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 10) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 11) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 12) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionDigi2 == 13) + HEnegativedirectionDigi2->SetXTitle("R for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionDigi2->Draw("Error"); + kcountHEnegativedirectionDigi2++; + if (kcountHEnegativedirectionDigi2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi2) + delete h2CeffHEnegativedirectionDigi2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi3 = 1; + TH1F *h2CeffHEnegativedirectionDigi3 = new TH1F("h2CeffHEnegativedirectionDigi3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEnegativedirectionDigi3 = "<SetMarkerColor(2); + HEnegativedirectionDigi3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi3 == 1) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 2) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 3) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 4) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 5) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 6) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 7) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 8) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 9) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 10) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 11) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 12) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionDigi3 == 13) + HEnegativedirectionDigi3->SetXTitle("R for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionDigi3->Draw("Error"); + kcountHEnegativedirectionDigi3++; + if (kcountHEnegativedirectionDigi3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi3) + delete h2CeffHEnegativedirectionDigi3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi4 = 1; + TH1F *h2CeffHEnegativedirectionDigi4 = new TH1F("h2CeffHEnegativedirectionDigi4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEnegativedirectionDigi4 = "<SetMarkerColor(2); + HEnegativedirectionDigi4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi4 == 1) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 2) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 3) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 4) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 5) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 6) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 7) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 8) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 9) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 10) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 11) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionDigi4 == 12) + HEnegativedirectionDigi4->SetXTitle("R for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionDigi4->Draw("Error"); + kcountHEnegativedirectionDigi4++; + if (kcountHEnegativedirectionDigi4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi4) + delete h2CeffHEnegativedirectionDigi4; + //========================================================================================== 1118 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi5 = 1; + TH1F *h2CeffHEnegativedirectionDigi5 = new TH1F("h2CeffHEnegativedirectionDigi5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEnegativedirectionDigi5 = "<SetMarkerColor(2); + HEnegativedirectionDigi5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi5 == 1) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 2) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 3) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 4) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 5) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 6) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 7) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 8) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 9) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 10) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionDigi5 == 11) + HEnegativedirectionDigi5->SetXTitle("R for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionDigi5->Draw("Error"); + kcountHEnegativedirectionDigi5++; + if (kcountHEnegativedirectionDigi5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi5) + delete h2CeffHEnegativedirectionDigi5; + //========================================================================================== 1119 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi6 = 1; + TH1F *h2CeffHEnegativedirectionDigi6 = new TH1F("h2CeffHEnegativedirectionDigi6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEnegativedirectionDigi6 = "<SetMarkerColor(2); + HEnegativedirectionDigi6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi6 == 1) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 2) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 3) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 4) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 5) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 6) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 7) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 8) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 9) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionDigi6 == 10) + HEnegativedirectionDigi6->SetXTitle("R for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionDigi6->Draw("Error"); + kcountHEnegativedirectionDigi6++; + if (kcountHEnegativedirectionDigi6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi6) + delete h2CeffHEnegativedirectionDigi6; + //========================================================================================== 11110 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigi7 = 1; + TH1F *h2CeffHEnegativedirectionDigi7 = new TH1F("h2CeffHEnegativedirectionDigi7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigihe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionDigi7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigi7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEnegativedirectionDigi7 = "<SetMarkerColor(2); + HEnegativedirectionDigi7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigi7 == 1) + HEnegativedirectionDigi7->SetXTitle("R for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionDigi7 == 2) + HEnegativedirectionDigi7->SetXTitle("R for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionDigi7 == 3) + HEnegativedirectionDigi7->SetXTitle("R for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionDigi7->Draw("Error"); + kcountHEnegativedirectionDigi7++; + if (kcountHEnegativedirectionDigi7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigi7) + delete h2CeffHEnegativedirectionDigi7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_amplitudechannel2_HE1"); + TH2F *digiVariance0HE1 = (TH2F *)hfile->Get("h_amplitudechannel0_HE1"); + TH2F *digiVarianceHE1 = (TH2F *)digiVariance1HE1->Clone("digiVarianceHE1"); + digiVarianceHE1->Divide(digiVariance1HE1, digiVariance0HE1, 1, 1, "B"); + TH2F *digiVariance1HE2 = (TH2F *)hfile->Get("h_amplitudechannel2_HE2"); + TH2F *digiVariance0HE2 = (TH2F *)hfile->Get("h_amplitudechannel0_HE2"); + TH2F *digiVarianceHE2 = (TH2F *)digiVariance1HE2->Clone("digiVarianceHE2"); + digiVarianceHE2->Divide(digiVariance1HE2, digiVariance0HE2, 1, 1, "B"); + TH2F *digiVariance1HE3 = (TH2F *)hfile->Get("h_amplitudechannel2_HE3"); + TH2F *digiVariance0HE3 = (TH2F *)hfile->Get("h_amplitudechannel0_HE3"); + TH2F *digiVarianceHE3 = (TH2F *)digiVariance1HE3->Clone("digiVarianceHE3"); + digiVarianceHE3->Divide(digiVariance1HE3, digiVariance0HE3, 1, 1, "B"); + TH2F *digiVariance1HE4 = (TH2F *)hfile->Get("h_amplitudechannel2_HE4"); + TH2F *digiVariance0HE4 = (TH2F *)hfile->Get("h_amplitudechannel0_HE4"); + TH2F *digiVarianceHE4 = (TH2F *)digiVariance1HE4->Clone("digiVarianceHE4"); + digiVarianceHE4->Divide(digiVariance1HE4, digiVariance0HE4, 1, 1, "B"); + TH2F *digiVariance1HE5 = (TH2F *)hfile->Get("h_amplitudechannel2_HE5"); + TH2F *digiVariance0HE5 = (TH2F *)hfile->Get("h_amplitudechannel0_HE5"); + TH2F *digiVarianceHE5 = (TH2F *)digiVariance1HE5->Clone("digiVarianceHE5"); + digiVarianceHE5->Divide(digiVariance1HE5, digiVariance0HE5, 1, 1, "B"); + TH2F *digiVariance1HE6 = (TH2F *)hfile->Get("h_amplitudechannel2_HE6"); + TH2F *digiVariance0HE6 = (TH2F *)hfile->Get("h_amplitudechannel0_HE6"); + TH2F *digiVarianceHE6 = (TH2F *)digiVariance1HE6->Clone("digiVarianceHE6"); + digiVarianceHE6->Divide(digiVariance1HE6, digiVariance0HE6, 1, 1, "B"); + TH2F *digiVariance1HE7 = (TH2F *)hfile->Get("h_amplitudechannel2_HE7"); + TH2F *digiVariance0HE7 = (TH2F *)hfile->Get("h_amplitudechannel0_HE7"); + TH2F *digiVarianceHE7 = (TH2F *)digiVariance1HE7->Clone("digiVarianceHE7"); + digiVarianceHE7->Divide(digiVariance1HE7, digiVariance0HE7, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive digivariancehe + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumdigiHE0 = 0; + int nsumdigiHE0 = 0; + double sumdigiHE1 = 0; + int nsumdigiHE1 = 0; + double sumdigiHE2 = 0; + int nsumdigiHE2 = 0; + double sumdigiHE3 = 0; + int nsumdigiHE3 = 0; + double sumdigiHE4 = 0; + int nsumdigiHE4 = 0; + double sumdigiHE5 = 0; + int nsumdigiHE5 = 0; + double sumdigiHE6 = 0; + int nsumdigiHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + digivariancehe[0][jeta][jphi] = digiVarianceHE1->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[1][jeta][jphi] = digiVarianceHE2->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[2][jeta][jphi] = digiVarianceHE3->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[3][jeta][jphi] = digiVarianceHE4->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[4][jeta][jphi] = digiVarianceHE5->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[5][jeta][jphi] = digiVarianceHE6->GetBinContent(jeta + 1, jphi + 1); + digivariancehe[6][jeta][jphi] = digiVarianceHE7->GetBinContent(jeta + 1, jphi + 1); + if (digivariancehe[0][jeta][jphi] > 0.) { + sumdigiHE0 += digivariancehe[0][jeta][jphi]; + ++nsumdigiHE0; + } + if (digivariancehe[1][jeta][jphi] > 0.) { + sumdigiHE1 += digivariancehe[1][jeta][jphi]; + ++nsumdigiHE1; + } + if (digivariancehe[2][jeta][jphi] > 0.) { + sumdigiHE2 += digivariancehe[2][jeta][jphi]; + ++nsumdigiHE2; + } + if (digivariancehe[3][jeta][jphi] > 0.) { + sumdigiHE3 += digivariancehe[3][jeta][jphi]; + ++nsumdigiHE3; + } + if (digivariancehe[4][jeta][jphi] > 0.) { + sumdigiHE4 += digivariancehe[4][jeta][jphi]; + ++nsumdigiHE4; + } + if (digivariancehe[5][jeta][jphi] > 0.) { + sumdigiHE5 += digivariancehe[5][jeta][jphi]; + ++nsumdigiHE5; + } + if (digivariancehe[6][jeta][jphi] > 0.) { + sumdigiHE6 += digivariancehe[6][jeta][jphi]; + ++nsumdigiHE6; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (digivariancehe[0][jeta][jphi] > 0.) + digivariancehe[0][jeta][jphi] /= (sumdigiHE0 / nsumdigiHE0); + if (digivariancehe[1][jeta][jphi] > 0.) + digivariancehe[1][jeta][jphi] /= (sumdigiHE1 / nsumdigiHE1); + if (digivariancehe[2][jeta][jphi] > 0.) + digivariancehe[2][jeta][jphi] /= (sumdigiHE2 / nsumdigiHE2); + if (digivariancehe[3][jeta][jphi] > 0.) + digivariancehe[3][jeta][jphi] /= (sumdigiHE3 / nsumdigiHE3); + if (digivariancehe[4][jeta][jphi] > 0.) + digivariancehe[4][jeta][jphi] /= (sumdigiHE4 / nsumdigiHE4); + if (digivariancehe[5][jeta][jphi] > 0.) + digivariancehe[5][jeta][jphi] /= (sumdigiHE5 / nsumdigiHE5); + if (digivariancehe[6][jeta][jphi] > 0.) + digivariancehe[6][jeta][jphi] /= (sumdigiHE6 / nsumdigiHE6); + } // phi + // digivariancehe (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDdigiHE42D = new TH2F("DefzDdigiHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHE42D0 = new TH2F("DefzDdigiHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHE42DF = (TH2F *)DefzDdigiHE42D0->Clone("DefzDdigiHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (adigihe[i][jeta][jphi] > 0.) { + DefzDdigiHE42D->Fill(kkk, jphi, ccc1); + DefzDdigiHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + DefzDdigiHE42DF->Divide(DefzDdigiHE42D, DefzDdigiHE42D0, 1, 1, "B"); // average A + // DefzDdigiHE1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDdigiHE42DF->SetMarkerStyle(20); + DefzDdigiHE42DF->SetMarkerSize(0.4); + DefzDdigiHE42DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHE42DF->SetXTitle("_depth #eta \b"); + DefzDdigiHE42DF->SetYTitle(" #phi \b"); + DefzDdigiHE42DF->SetZTitle("_depth \b"); + DefzDdigiHE42DF->SetMarkerColor(2); + DefzDdigiHE42DF->SetLineColor( + 0); // DefzDdigiHE42DF->SetMaximum(1.000); // DefzDdigiHE42DF->SetMinimum(1.0); + DefzDdigiHE42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DdigiGeneralD2PhiSymmetryHE.png"); + c1x0->Clear(); + // clean-up + if (DefzDdigiHE42D) + delete DefzDdigiHE42D; + if (DefzDdigiHE42D0) + delete DefzDdigiHE42D0; + if (DefzDdigiHE42DF) + delete DefzDdigiHE42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDdigiHE41D = new TH1F("DefzDdigiHE41D", "", nphi, 0., 72.); + TH1F *DefzDdigiHE41D0 = new TH1F("DefzDdigiHE41D0", "", nphi, 0., 72.); + TH1F *DefzDdigiHE41DF = (TH1F *)DefzDdigiHE41D0->Clone("DefzDdigiHE41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + DefzDdigiHE41D->Fill(jphi, ccc1); + DefzDdigiHE41D0->Fill(jphi, 1.); + } + } + } + } + // DefzDdigiHE41D->Sumw2();DefzDdigiHE41D0->Sumw2(); + + DefzDdigiHE41DF->Divide(DefzDdigiHE41D, DefzDdigiHE41D0, 1, 1, "B"); // R averaged over depthes & eta + DefzDdigiHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDdigiHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDdigiHE41DF->SetMarkerStyle(20); + DefzDdigiHE41DF->SetMarkerSize(1.4); + DefzDdigiHE41DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHE41DF->SetXTitle("#phi \b"); + DefzDdigiHE41DF->SetYTitle(" \b"); + DefzDdigiHE41DF->SetZTitle("_PHI - AllDepthes \b"); + DefzDdigiHE41DF->SetMarkerColor(4); + DefzDdigiHE41DF->SetLineColor(4); // DefzDdigiHE41DF->SetMinimum(0.8); DefzDdigiHE41DF->SetMinimum(-0.015); + DefzDdigiHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DdigiGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (DefzDdigiHE41D) + delete DefzDdigiHE41D; + if (DefzDdigiHE41D0) + delete DefzDdigiHE41D0; + if (DefzDdigiHE41DF) + delete DefzDdigiHE41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD1 = 1; + TH1F *h2CeffHEpositivedirectionDigiD1 = new TH1F("h2CeffHEpositivedirectionDigiD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEpositivedirectionDigiD1 = "<SetMarkerColor(2); + HEpositivedirectionDigiD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD1 == 1) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 2) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 3) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 4) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 5) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 6) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 7) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 8) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 9) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 10) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 11) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionDigiD1 == 12) + HEpositivedirectionDigiD1->SetXTitle("D for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionDigiD1->Draw("Error"); + kcountHEpositivedirectionDigiD1++; + if (kcountHEpositivedirectionDigiD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD1) + delete h2CeffHEpositivedirectionDigiD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD2 = 1; + TH1F *h2CeffHEpositivedirectionDigiD2 = new TH1F("h2CeffHEpositivedirectionDigiD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEpositivedirectionDigiD2 = "<SetMarkerColor(2); + HEpositivedirectionDigiD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD2 == 1) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 2) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 3) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 4) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 5) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 6) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 7) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 8) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 9) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 10) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 11) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 12) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionDigiD2 == 13) + HEpositivedirectionDigiD2->SetXTitle("D for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionDigiD2->Draw("Error"); + kcountHEpositivedirectionDigiD2++; + if (kcountHEpositivedirectionDigiD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD2) + delete h2CeffHEpositivedirectionDigiD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD3 = 1; + TH1F *h2CeffHEpositivedirectionDigiD3 = new TH1F("h2CeffHEpositivedirectionDigiD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEpositivedirectionDigiD3 = "<SetMarkerColor(2); + HEpositivedirectionDigiD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD3 == 1) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 2) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 3) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 4) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 5) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 6) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 7) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 8) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 9) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 10) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 11) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 12) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionDigiD3 == 13) + HEpositivedirectionDigiD3->SetXTitle("D for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionDigiD3->Draw("Error"); + kcountHEpositivedirectionDigiD3++; + if (kcountHEpositivedirectionDigiD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD3) + delete h2CeffHEpositivedirectionDigiD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD4 = 1; + TH1F *h2CeffHEpositivedirectionDigiD4 = new TH1F("h2CeffHEpositivedirectionDigiD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEpositivedirectionDigiD4 = "<SetMarkerColor(2); + HEpositivedirectionDigiD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD4 == 1) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 2) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 3) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 4) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 5) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 6) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 7) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 8) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 9) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 10) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 11) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionDigiD4 == 12) + HEpositivedirectionDigiD4->SetXTitle("D for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionDigiD4->Draw("Error"); + kcountHEpositivedirectionDigiD4++; + if (kcountHEpositivedirectionDigiD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD4) + delete h2CeffHEpositivedirectionDigiD4; + //========================================================================================== 18 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD5 = 1; + TH1F *h2CeffHEpositivedirectionDigiD5 = new TH1F("h2CeffHEpositivedirectionDigiD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD5->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEpositivedirectionDigiD5 = "<SetMarkerColor(2); + HEpositivedirectionDigiD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD5 == 1) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 2) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 3) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 4) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 5) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 6) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 7) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 8) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 9) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 10) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionDigiD5 == 11) + HEpositivedirectionDigiD5->SetXTitle("D for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionDigiD5->Draw("Error"); + kcountHEpositivedirectionDigiD5++; + if (kcountHEpositivedirectionDigiD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD5) + delete h2CeffHEpositivedirectionDigiD5; + //========================================================================================== 19 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD6 = 1; + TH1F *h2CeffHEpositivedirectionDigiD6 = new TH1F("h2CeffHEpositivedirectionDigiD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEpositivedirectionDigiD6 = "<SetMarkerColor(2); + HEpositivedirectionDigiD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD6 == 1) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 2) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 3) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 4) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 5) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 6) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 7) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 8) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 9) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionDigiD6 == 10) + HEpositivedirectionDigiD6->SetXTitle("D for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionDigiD6->Draw("Error"); + kcountHEpositivedirectionDigiD6++; + if (kcountHEpositivedirectionDigiD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD6) + delete h2CeffHEpositivedirectionDigiD6; + //========================================================================================== 20 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionDigiD7 = 1; + TH1F *h2CeffHEpositivedirectionDigiD7 = new TH1F("h2CeffHEpositivedirectionDigiD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEpositivedirectionDigiD7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionDigiD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEpositivedirectionDigiD7 = "<SetMarkerColor(2); + HEpositivedirectionDigiD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionDigiD7 == 1) + HEpositivedirectionDigiD7->SetXTitle("D for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionDigiD7 == 2) + HEpositivedirectionDigiD7->SetXTitle("D for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionDigiD7 == 3) + HEpositivedirectionDigiD7->SetXTitle("D for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionDigiD7->Draw("Error"); + kcountHEpositivedirectionDigiD7++; + if (kcountHEpositivedirectionDigiD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionDigiD7) + delete h2CeffHEpositivedirectionDigiD7; + + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD1 = 1; + TH1F *h2CeffHEnegativedirectionDigiD1 = new TH1F("h2CeffHEnegativedirectionDigiD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEnegativedirectionDigiD1 = "<SetMarkerColor(2); + HEnegativedirectionDigiD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD1 == 1) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 2) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 3) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 4) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 5) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 6) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 7) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 8) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 9) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 10) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 11) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionDigiD1 == 12) + HEnegativedirectionDigiD1->SetXTitle("D for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionDigiD1->Draw("Error"); + kcountHEnegativedirectionDigiD1++; + if (kcountHEnegativedirectionDigiD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD1) + delete h2CeffHEnegativedirectionDigiD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD2 = 1; + TH1F *h2CeffHEnegativedirectionDigiD2 = new TH1F("h2CeffHEnegativedirectionDigiD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEnegativedirectionDigiD2 = "<SetMarkerColor(2); + HEnegativedirectionDigiD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD2 == 1) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 2) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 3) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 4) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 5) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 6) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 7) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 8) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 9) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 10) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 11) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 12) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionDigiD2 == 13) + HEnegativedirectionDigiD2->SetXTitle("D for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionDigiD2->Draw("Error"); + kcountHEnegativedirectionDigiD2++; + if (kcountHEnegativedirectionDigiD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD2) + delete h2CeffHEnegativedirectionDigiD2; + //========================================================================================== 22222216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD3 = 1; + TH1F *h2CeffHEnegativedirectionDigiD3 = new TH1F("h2CeffHEnegativedirectionDigiD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEnegativedirectionDigiD3 = "<SetMarkerColor(2); + HEnegativedirectionDigiD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD3 == 1) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 2) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 3) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 4) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 5) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 6) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 7) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 8) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 9) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 10) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 11) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 12) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionDigiD3 == 13) + HEnegativedirectionDigiD3->SetXTitle("D for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionDigiD3->Draw("Error"); + kcountHEnegativedirectionDigiD3++; + if (kcountHEnegativedirectionDigiD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD3) + delete h2CeffHEnegativedirectionDigiD3; + //========================================================================================== 22222217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD4 = 1; + TH1F *h2CeffHEnegativedirectionDigiD4 = new TH1F("h2CeffHEnegativedirectionDigiD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEnegativedirectionDigiD4 = "<SetMarkerColor(2); + HEnegativedirectionDigiD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD4 == 1) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 2) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 3) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 4) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 5) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 6) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 7) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 8) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 9) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 10) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 11) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionDigiD4 == 12) + HEnegativedirectionDigiD4->SetXTitle("D for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionDigiD4->Draw("Error"); + kcountHEnegativedirectionDigiD4++; + if (kcountHEnegativedirectionDigiD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD4) + delete h2CeffHEnegativedirectionDigiD4; + //========================================================================================== 22222218 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD5 = 1; + TH1F *h2CeffHEnegativedirectionDigiD5 = new TH1F("h2CeffHEnegativedirectionDigiD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD5->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEnegativedirectionDigiD5 = "<SetMarkerColor(2); + HEnegativedirectionDigiD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD5 == 1) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 2) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 3) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 4) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 5) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 6) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 7) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 8) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 9) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 10) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionDigiD5 == 11) + HEnegativedirectionDigiD5->SetXTitle("D for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionDigiD5->Draw("Error"); + kcountHEnegativedirectionDigiD5++; + if (kcountHEnegativedirectionDigiD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD5) + delete h2CeffHEnegativedirectionDigiD5; + //========================================================================================== 22222219 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD6 = 1; + TH1F *h2CeffHEnegativedirectionDigiD6 = new TH1F("h2CeffHEnegativedirectionDigiD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEnegativedirectionDigiD6 = "<SetMarkerColor(2); + HEnegativedirectionDigiD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD6 == 1) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 2) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 3) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 4) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 5) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 6) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 7) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 8) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 9) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionDigiD6 == 10) + HEnegativedirectionDigiD6->SetXTitle("D for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionDigiD6->Draw("Error"); + kcountHEnegativedirectionDigiD6++; + if (kcountHEnegativedirectionDigiD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD6) + delete h2CeffHEnegativedirectionDigiD6; + //========================================================================================== 22222220 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionDigiD7 = 1; + TH1F *h2CeffHEnegativedirectionDigiD7 = new TH1F("h2CeffHEnegativedirectionDigiD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivariancehe[i][jeta][jphi]; + if (adigihe[i][jeta][jphi] > 0.) { + HEnegativedirectionDigiD7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionDigiD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEnegativedirectionDigiD7 = "<SetMarkerColor(2); + HEnegativedirectionDigiD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionDigiD7 == 1) + HEnegativedirectionDigiD7->SetXTitle("D for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionDigiD7 == 2) + HEnegativedirectionDigiD7->SetXTitle("D for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionDigiD7 == 3) + HEnegativedirectionDigiD7->SetXTitle("D for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionDigiD7->Draw("Error"); + kcountHEnegativedirectionDigiD7++; + if (kcountHEnegativedirectionDigiD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionDigiD7) + delete h2CeffHEnegativedirectionDigiD7; + //===================================================================== END of Digi HE for phi-symmetry + //===================================================================== END of Digi HE for phi-symmetry + //===================================================================== END of Digi HE for phi-symmetry + + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Digi HF + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 4; + double adigiHF[ndepth][njeta][njphi]; + double digivarianceHF[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Digi HF + TH2F *amplitudechannel1HF1 = (TH2F *)hfile->Get("h_amplitudechannel1_HF1"); + TH2F *amplitudechannel0HF1 = (TH2F *)hfile->Get("h_amplitudechannel0_HF1"); + TH2F *amplitudechannelHF1 = (TH2F *)amplitudechannel1HF1->Clone("amplitudechannelHF1"); + amplitudechannelHF1->Divide(amplitudechannel1HF1, amplitudechannel0HF1, 1, 1, "B"); + TH2F *amplitudechannel1HF2 = (TH2F *)hfile->Get("h_amplitudechannel1_HF2"); + TH2F *amplitudechannel0HF2 = (TH2F *)hfile->Get("h_amplitudechannel0_HF2"); + TH2F *amplitudechannelHF2 = (TH2F *)amplitudechannel1HF2->Clone("amplitudechannelHF2"); + amplitudechannelHF2->Divide(amplitudechannel1HF2, amplitudechannel0HF2, 1, 1, "B"); + TH2F *amplitudechannel1HF3 = (TH2F *)hfile->Get("h_amplitudechannel1_HF3"); + TH2F *amplitudechannel0HF3 = (TH2F *)hfile->Get("h_amplitudechannel0_HF3"); + TH2F *amplitudechannelHF3 = (TH2F *)amplitudechannel1HF3->Clone("amplitudechannelHF3"); + amplitudechannelHF3->Divide(amplitudechannel1HF3, amplitudechannel0HF3, 1, 1, "B"); + TH2F *amplitudechannel1HF4 = (TH2F *)hfile->Get("h_amplitudechannel1_HF4"); + TH2F *amplitudechannel0HF4 = (TH2F *)hfile->Get("h_amplitudechannel0_HF4"); + TH2F *amplitudechannelHF4 = (TH2F *)amplitudechannel1HF4->Clone("amplitudechannelHF4"); + amplitudechannelHF4->Divide(amplitudechannel1HF4, amplitudechannel0HF4, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + //====================================================================== PHI normalization & put R into massive adigiHF + //preparation for PHI normalization: + double sumdigiHF0 = 0; + int nsumdigiHF0 = 0; + double sumdigiHF1 = 0; + int nsumdigiHF1 = 0; + double sumdigiHF2 = 0; + int nsumdigiHF2 = 0; + double sumdigiHF3 = 0; + int nsumdigiHF3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + adigiHF[0][jeta][jphi] = amplitudechannelHF1->GetBinContent(jeta + 1, jphi + 1); + adigiHF[1][jeta][jphi] = amplitudechannelHF2->GetBinContent(jeta + 1, jphi + 1); + adigiHF[2][jeta][jphi] = amplitudechannelHF3->GetBinContent(jeta + 1, jphi + 1); + adigiHF[3][jeta][jphi] = amplitudechannelHF4->GetBinContent(jeta + 1, jphi + 1); + if (adigiHF[0][jeta][jphi] > 0.) { + sumdigiHF0 += adigiHF[0][jeta][jphi]; + ++nsumdigiHF0; + } + if (adigiHF[1][jeta][jphi] > 0.) { + sumdigiHF1 += adigiHF[1][jeta][jphi]; + ++nsumdigiHF1; + } + if (adigiHF[2][jeta][jphi] > 0.) { + sumdigiHF2 += adigiHF[2][jeta][jphi]; + ++nsumdigiHF2; + } + if (adigiHF[3][jeta][jphi] > 0.) { + sumdigiHF3 += adigiHF[3][jeta][jphi]; + ++nsumdigiHF3; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (adigiHF[0][jeta][jphi] > 0.) + adigiHF[0][jeta][jphi] /= (sumdigiHF0 / nsumdigiHF0); + if (adigiHF[1][jeta][jphi] > 0.) + adigiHF[1][jeta][jphi] /= (sumdigiHF1 / nsumdigiHF1); + if (adigiHF[2][jeta][jphi] > 0.) + adigiHF[2][jeta][jphi] /= (sumdigiHF2 / nsumdigiHF2); + if (adigiHF[3][jeta][jphi] > 0.) + adigiHF[3][jeta][jphi] /= (sumdigiHF3 / nsumdigiHF3); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs + //====================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *GefzRdigiHF42D = new TH2F("GefzRdigiHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHF42D0 = new TH2F("GefzRdigiHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRdigiHF42DF = (TH2F *)GefzRdigiHF42D0->Clone("GefzRdigiHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRdigiHF42D->Fill(kkk, jphi, ccc1); + GefzRdigiHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + GefzRdigiHF42DF->Divide(GefzRdigiHF42D, GefzRdigiHF42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRdigiHF42DF->SetMarkerStyle(20); + GefzRdigiHF42DF->SetMarkerSize(0.4); + GefzRdigiHF42DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHF42DF->SetXTitle("_depth #eta \b"); + GefzRdigiHF42DF->SetYTitle(" #phi \b"); + GefzRdigiHF42DF->SetZTitle("_depth \b"); + GefzRdigiHF42DF->SetMarkerColor(2); + GefzRdigiHF42DF->SetLineColor( + 0); // GefzRdigiHF42DF->SetMaximum(1.000); // GefzRdigiHF42DF->SetMinimum(1.0); + GefzRdigiHF42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("RdigiGeneralD2PhiSymmetryHF.png"); + c1x0->Clear(); + // clean-up + if (GefzRdigiHF42D) + delete GefzRdigiHF42D; + if (GefzRdigiHF42D0) + delete GefzRdigiHF42D0; + if (GefzRdigiHF42DF) + delete GefzRdigiHF42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRdigiHF41D = new TH1F("GefzRdigiHF41D", "", nphi, 0., 72.); + TH1F *GefzRdigiHF41D0 = new TH1F("GefzRdigiHF41D0", "", nphi, 0., 72.); + TH1F *GefzRdigiHF41DF = (TH1F *)GefzRdigiHF41D0->Clone("GefzRdigiHF41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRdigiHF41D->Fill(jphi, ccc1); + GefzRdigiHF41D0->Fill(jphi, 1.); + } + } + } + } + GefzRdigiHF41DF->Divide(GefzRdigiHF41D, GefzRdigiHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRdigiHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRdigiHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRdigiHF41DF->SetMarkerStyle(20); + GefzRdigiHF41DF->SetMarkerSize(1.4); + GefzRdigiHF41DF->GetZaxis()->SetLabelSize(0.08); + GefzRdigiHF41DF->SetXTitle("#phi \b"); + GefzRdigiHF41DF->SetYTitle(" \b"); + GefzRdigiHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRdigiHF41DF->SetMarkerColor(4); + GefzRdigiHF41DF->SetLineColor( + 4); // GefzRdigiHF41DF->SetMinimum(0.8); // GefzRdigiHF41DF->SetMaximum(1.000); + GefzRdigiHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RdigiGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (GefzRdigiHF41D) + delete GefzRdigiHF41D; + if (GefzRdigiHF41D0) + delete GefzRdigiHF41D0; + if (GefzRdigiHF41DF) + delete GefzRdigiHF41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigi1 = 1; + TH1F *h2CeffHFpositivedirectionDigi1 = new TH1F("h2CeffHFpositivedirectionDigi1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionDigi1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigi1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFpositivedirectionDigi1 = "<SetMarkerColor(2); + HFpositivedirectionDigi1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigi1 == 1) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 2) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 3) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 4) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 5) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 6) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 7) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 8) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 9) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 10) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 11) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 12) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionDigi1 == 13) + HFpositivedirectionDigi1->SetXTitle("R for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionDigi1->Draw("Error"); + kcountHFpositivedirectionDigi1++; + if (kcountHFpositivedirectionDigi1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigi1) + delete h2CeffHFpositivedirectionDigi1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigi2 = 1; + TH1F *h2CeffHFpositivedirectionDigi2 = new TH1F("h2CeffHFpositivedirectionDigi2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigi2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFpositivedirectionDigi2 = "<SetMarkerColor(2); + HFpositivedirectionDigi2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigi2 == 1) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 2) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 3) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 4) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 5) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 6) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 7) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 8) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 9) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 10) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 11) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 12) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionDigi2 == 13) + HFpositivedirectionDigi2->SetXTitle("R for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionDigi2->Draw("Error"); + kcountHFpositivedirectionDigi2++; + if (kcountHFpositivedirectionDigi2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigi2) + delete h2CeffHFpositivedirectionDigi2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigi3 = 1; + TH1F *h2CeffHFpositivedirectionDigi3 = new TH1F("h2CeffHFpositivedirectionDigi3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigi3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHFpositivedirectionDigi3 = "<SetMarkerColor(2); + HFpositivedirectionDigi3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigi3 == 1) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 28; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 2) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 29; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 3) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 30; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 4) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 31; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 5) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 32; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 6) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 33; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 7) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 34; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 8) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 35; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 9) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 36; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 10) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 37; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 11) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 38; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 12) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 39; depth = 3 \b"); + if (kcountHFpositivedirectionDigi3 == 13) + HFpositivedirectionDigi3->SetXTitle("R for HF+ jeta = 40; depth = 3 \b"); + HFpositivedirectionDigi3->Draw("Error"); + kcountHFpositivedirectionDigi3++; + if (kcountHFpositivedirectionDigi3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth3HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigi3) + delete h2CeffHFpositivedirectionDigi3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigi4 = 1; + TH1F *h2CeffHFpositivedirectionDigi4 = new TH1F("h2CeffHFpositivedirectionDigi4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigi: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigi4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHFpositivedirectionDigi4 = "<SetMarkerColor(2); + HFpositivedirectionDigi4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigi4 == 1) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 28; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 2) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 29; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 3) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 30; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 4) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 31; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 5) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 32; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 6) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 33; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 7) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 34; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 8) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 35; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 9) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 36; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 10) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 37; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 11) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 38; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 12) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 39; depth = 4 \b"); + if (kcountHFpositivedirectionDigi4 == 13) + HFpositivedirectionDigi4->SetXTitle("R for HF+ jeta = 40; depth = 4 \b"); + HFpositivedirectionDigi4->Draw("Error"); + kcountHFpositivedirectionDigi4++; + if (kcountHFpositivedirectionDigi4 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiPositiveDirectionhistD1PhiSymmetryDepth4HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigi4) + delete h2CeffHFpositivedirectionDigi4; + + //========================================================================================== 1111114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigi1 = 1; + TH1F *h2CeffHFnegativedirectionDigi1 = new TH1F("h2CeffHFnegativedirectionDigi1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionDigi1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigi1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFnegativedirectionDigi1 = "<SetMarkerColor(2); + HFnegativedirectionDigi1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigi1 == 1) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 2) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 3) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 4) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 5) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 6) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 7) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 8) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 9) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 10) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 11) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 12) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionDigi1 == 13) + HFnegativedirectionDigi1->SetXTitle("R for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionDigi1->Draw("Error"); + kcountHFnegativedirectionDigi1++; + if (kcountHFnegativedirectionDigi1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigi1) + delete h2CeffHFnegativedirectionDigi1; + + //========================================================================================== 1111115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigi2 = 1; + TH1F *h2CeffHFnegativedirectionDigi2 = new TH1F("h2CeffHFnegativedirectionDigi2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionDigi2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigi2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFnegativedirectionDigi2 = "<SetMarkerColor(2); + HFnegativedirectionDigi2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigi2 == 1) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 2) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 3) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 4) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 5) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 6) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 7) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 8) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 9) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 10) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 11) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 12) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionDigi2 == 13) + HFnegativedirectionDigi2->SetXTitle("R for HF- jeta =-20; depth = 2 \b"); + HFnegativedirectionDigi2->Draw("Error"); + kcountHFnegativedirectionDigi2++; + if (kcountHFnegativedirectionDigi2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigi2) + delete h2CeffHFnegativedirectionDigi2; + //========================================================================================== 1111116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigi3 = 1; + TH1F *h2CeffHFnegativedirectionDigi3 = new TH1F("h2CeffHFnegativedirectionDigi3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionDigi3->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigi3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHFnegativedirectionDigi3 = "<SetMarkerColor(2); + HFnegativedirectionDigi3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigi3 == 1) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-41; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 2) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-40; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 3) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-39; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 4) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-38; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 5) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-37; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 6) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-36; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 7) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-35; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 8) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-34; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 9) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-33; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 10) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-32; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 11) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-31; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 12) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-30; depth = 3 \b"); + if (kcountHFnegativedirectionDigi3 == 13) + HFnegativedirectionDigi3->SetXTitle("R for HF- jeta =-29; depth = 3 \b"); + HFnegativedirectionDigi3->Draw("Error"); + kcountHFnegativedirectionDigi3++; + if (kcountHFnegativedirectionDigi3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth3HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigi3) + delete h2CeffHFnegativedirectionDigi3; + //========================================================================================== 1111117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigi4 = 1; + TH1F *h2CeffHFnegativedirectionDigi4 = new TH1F("h2CeffHFnegativedirectionDigi4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigi: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = adigiHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionDigi4->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigi4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHFnegativedirectionDigi4 = "<SetMarkerColor(2); + HFnegativedirectionDigi4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigi4 == 1) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-41; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 2) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-40; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 3) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-39; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 4) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-38; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 5) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-37; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 6) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-36; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 7) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-35; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 8) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-34; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 9) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-33; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 10) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-32; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 11) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-31; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 12) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-30; depth = 4 \b"); + if (kcountHFnegativedirectionDigi4 == 13) + HFnegativedirectionDigi4->SetXTitle("R for HF- jeta =-29; depth = 4 \b"); + HFnegativedirectionDigi4->Draw("Error"); + kcountHFnegativedirectionDigi4++; + if (kcountHFnegativedirectionDigi4 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RdigiNegativeDirectionhistD1PhiSymmetryDepth4HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigi4) + delete h2CeffHFnegativedirectionDigi4; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_amplitudechannel2_HF1"); + TH2F *digiVariance0HF1 = (TH2F *)hfile->Get("h_amplitudechannel0_HF1"); + TH2F *digiVarianceHF1 = (TH2F *)digiVariance1HF1->Clone("digiVarianceHF1"); + digiVarianceHF1->Divide(digiVariance1HF1, digiVariance0HF1, 1, 1, "B"); + TH2F *digiVariance1HF2 = (TH2F *)hfile->Get("h_amplitudechannel2_HF2"); + TH2F *digiVariance0HF2 = (TH2F *)hfile->Get("h_amplitudechannel0_HF2"); + TH2F *digiVarianceHF2 = (TH2F *)digiVariance1HF2->Clone("digiVarianceHF2"); + digiVarianceHF2->Divide(digiVariance1HF2, digiVariance0HF2, 1, 1, "B"); + TH2F *digiVariance1HF3 = (TH2F *)hfile->Get("h_amplitudechannel2_HF3"); + TH2F *digiVariance0HF3 = (TH2F *)hfile->Get("h_amplitudechannel0_HF3"); + TH2F *digiVarianceHF3 = (TH2F *)digiVariance1HF3->Clone("digiVarianceHF3"); + digiVarianceHF3->Divide(digiVariance1HF3, digiVariance0HF3, 1, 1, "B"); + TH2F *digiVariance1HF4 = (TH2F *)hfile->Get("h_amplitudechannel2_HF4"); + TH2F *digiVariance0HF4 = (TH2F *)hfile->Get("h_amplitudechannel0_HF4"); + TH2F *digiVarianceHF4 = (TH2F *)digiVariance1HF4->Clone("digiVarianceHF4"); + digiVarianceHF4->Divide(digiVariance1HF4, digiVariance0HF4, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive digivarianceHF + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumdigiHF0 = 0; + int nsumdigiHF0 = 0; + double sumdigiHF1 = 0; + int nsumdigiHF1 = 0; + double sumdigiHF2 = 0; + int nsumdigiHF2 = 0; + double sumdigiHF3 = 0; + int nsumdigiHF3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + digivarianceHF[0][jeta][jphi] = digiVarianceHF1->GetBinContent(jeta + 1, jphi + 1); + digivarianceHF[1][jeta][jphi] = digiVarianceHF2->GetBinContent(jeta + 1, jphi + 1); + digivarianceHF[2][jeta][jphi] = digiVarianceHF3->GetBinContent(jeta + 1, jphi + 1); + digivarianceHF[3][jeta][jphi] = digiVarianceHF4->GetBinContent(jeta + 1, jphi + 1); + if (digivarianceHF[0][jeta][jphi] > 0.) { + sumdigiHF0 += digivarianceHF[0][jeta][jphi]; + ++nsumdigiHF0; + } + if (digivarianceHF[1][jeta][jphi] > 0.) { + sumdigiHF1 += digivarianceHF[1][jeta][jphi]; + ++nsumdigiHF1; + } + if (digivarianceHF[2][jeta][jphi] > 0.) { + sumdigiHF2 += digivarianceHF[2][jeta][jphi]; + ++nsumdigiHF2; + } + if (digivarianceHF[3][jeta][jphi] > 0.) { + sumdigiHF3 += digivarianceHF[3][jeta][jphi]; + ++nsumdigiHF3; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (digivarianceHF[0][jeta][jphi] > 0.) + digivarianceHF[0][jeta][jphi] /= (sumdigiHF0 / nsumdigiHF0); + if (digivarianceHF[1][jeta][jphi] > 0.) + digivarianceHF[1][jeta][jphi] /= (sumdigiHF1 / nsumdigiHF1); + if (digivarianceHF[2][jeta][jphi] > 0.) + digivarianceHF[2][jeta][jphi] /= (sumdigiHF2 / nsumdigiHF2); + if (digivarianceHF[3][jeta][jphi] > 0.) + digivarianceHF[3][jeta][jphi] /= (sumdigiHF3 / nsumdigiHF3); + } // phi + // digivarianceHF (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDdigiHF42D = new TH2F("DefzDdigiHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHF42D0 = new TH2F("DefzDdigiHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDdigiHF42DF = (TH2F *)DefzDdigiHF42D0->Clone("DefzDdigiHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (adigiHF[i][jeta][jphi] > 0.) { + DefzDdigiHF42D->Fill(kkk, jphi, ccc1); + DefzDdigiHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + DefzDdigiHF42DF->Divide(DefzDdigiHF42D, DefzDdigiHF42D0, 1, 1, "B"); // average A + // DefzDdigiHF1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDdigiHF42DF->SetMarkerStyle(20); + DefzDdigiHF42DF->SetMarkerSize(0.4); + DefzDdigiHF42DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHF42DF->SetXTitle("_depth #eta \b"); + DefzDdigiHF42DF->SetYTitle(" #phi \b"); + DefzDdigiHF42DF->SetZTitle("_depth \b"); + DefzDdigiHF42DF->SetMarkerColor(2); + DefzDdigiHF42DF->SetLineColor( + 0); // DefzDdigiHF42DF->SetMaximum(1.000); // DefzDdigiHF42DF->SetMinimum(1.0); + DefzDdigiHF42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DdigiGeneralD2PhiSymmetryHF.png"); + c1x0->Clear(); + // clean-up + if (DefzDdigiHF42D) + delete DefzDdigiHF42D; + if (DefzDdigiHF42D0) + delete DefzDdigiHF42D0; + if (DefzDdigiHF42DF) + delete DefzDdigiHF42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDdigiHF41D = new TH1F("DefzDdigiHF41D", "", nphi, 0., 72.); + TH1F *DefzDdigiHF41D0 = new TH1F("DefzDdigiHF41D0", "", nphi, 0., 72.); + TH1F *DefzDdigiHF41DF = (TH1F *)DefzDdigiHF41D0->Clone("DefzDdigiHF41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + DefzDdigiHF41D->Fill(jphi, ccc1); + DefzDdigiHF41D0->Fill(jphi, 1.); + } + } + } + } + // DefzDdigiHF41D->Sumw2();DefzDdigiHF41D0->Sumw2(); + + DefzDdigiHF41DF->Divide(DefzDdigiHF41D, DefzDdigiHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDdigiHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDdigiHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDdigiHF41DF->SetMarkerStyle(20); + DefzDdigiHF41DF->SetMarkerSize(1.4); + DefzDdigiHF41DF->GetZaxis()->SetLabelSize(0.08); + DefzDdigiHF41DF->SetXTitle("#phi \b"); + DefzDdigiHF41DF->SetYTitle(" \b"); + DefzDdigiHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDdigiHF41DF->SetMarkerColor(4); + DefzDdigiHF41DF->SetLineColor(4); // DefzDdigiHF41DF->SetMinimum(0.8); DefzDdigiHF41DF->SetMinimum(-0.015); + DefzDdigiHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DdigiGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (DefzDdigiHF41D) + delete DefzDdigiHF41D; + if (DefzDdigiHF41D0) + delete DefzDdigiHF41D0; + if (DefzDdigiHF41DF) + delete DefzDdigiHF41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigiD1 = 1; + TH1F *h2CeffHFpositivedirectionDigiD1 = new TH1F("h2CeffHFpositivedirectionDigiD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFpositivedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigiD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFpositivedirectionDigiD1 = "<SetMarkerColor(2); + HFpositivedirectionDigiD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigiD1 == 1) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 2) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 3) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 4) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 5) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 6) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 7) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 8) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 9) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 10) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 11) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 12) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionDigiD1 == 13) + HFpositivedirectionDigiD1->SetXTitle("D for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionDigiD1->Draw("Error"); + kcountHFpositivedirectionDigiD1++; + if (kcountHFpositivedirectionDigiD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigiD1) + delete h2CeffHFpositivedirectionDigiD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigiD2 = 1; + TH1F *h2CeffHFpositivedirectionDigiD2 = new TH1F("h2CeffHFpositivedirectionDigiD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFpositivedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigiD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFpositivedirectionDigiD2 = "<SetMarkerColor(2); + HFpositivedirectionDigiD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigiD2 == 1) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 2) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 3) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 4) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 5) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 6) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 7) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 8) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 9) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 10) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 11) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 12) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionDigiD2 == 13) + HFpositivedirectionDigiD2->SetXTitle("D for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionDigiD2->Draw("Error"); + kcountHFpositivedirectionDigiD2++; + if (kcountHFpositivedirectionDigiD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigiD2) + delete h2CeffHFpositivedirectionDigiD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigiD3 = 1; + TH1F *h2CeffHFpositivedirectionDigiD3 = new TH1F("h2CeffHFpositivedirectionDigiD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFpositivedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigiD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHFpositivedirectionDigiD3 = "<SetMarkerColor(2); + HFpositivedirectionDigiD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigiD3 == 1) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 28; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 2) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 29; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 3) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 30; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 4) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 31; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 5) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 32; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 6) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 33; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 7) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 34; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 8) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 35; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 9) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 36; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 10) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 37; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 11) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 38; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 12) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 39; depth = 3 \b"); + if (kcountHFpositivedirectionDigiD3 == 13) + HFpositivedirectionDigiD3->SetXTitle("D for HF+ jeta = 40; depth = 3 \b"); + HFpositivedirectionDigiD3->Draw("Error"); + kcountHFpositivedirectionDigiD3++; + if (kcountHFpositivedirectionDigiD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth3HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigiD3) + delete h2CeffHFpositivedirectionDigiD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionDigiD4 = 1; + TH1F *h2CeffHFpositivedirectionDigiD4 = new TH1F("h2CeffHFpositivedirectionDigiD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionDigiD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFpositivedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionDigiD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHFpositivedirectionDigiD4 = "<SetMarkerColor(2); + HFpositivedirectionDigiD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionDigiD4 == 1) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 28; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 2) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 29; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 3) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 30; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 4) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 31; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 5) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 32; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 6) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 33; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 7) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 34; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 8) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 35; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 9) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 36; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 10) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 37; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 11) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 38; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 12) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 39; depth = 4 \b"); + if (kcountHFpositivedirectionDigiD4 == 13) + HFpositivedirectionDigiD4->SetXTitle("D for HF+ jeta = 40; depth = 4 \b"); + HFpositivedirectionDigiD4->Draw("Error"); + kcountHFpositivedirectionDigiD4++; + if (kcountHFpositivedirectionDigiD4 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiPositiveDirectionhistD1PhiSymmetryDepth4HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionDigiD4) + delete h2CeffHFpositivedirectionDigiD4; + + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigiD1 = 1; + TH1F *h2CeffHFnegativedirectionDigiD1 = new TH1F("h2CeffHFnegativedirectionDigiD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFnegativedirectionDigiD1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigiD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFnegativedirectionDigiD1 = "<SetMarkerColor(2); + HFnegativedirectionDigiD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigiD1 == 1) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 2) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 3) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 4) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 5) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 6) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 7) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 8) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 9) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 10) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 11) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 12) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionDigiD1 == 13) + HFnegativedirectionDigiD1->SetXTitle("D for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionDigiD1->Draw("Error"); + kcountHFnegativedirectionDigiD1++; + if (kcountHFnegativedirectionDigiD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigiD1) + delete h2CeffHFnegativedirectionDigiD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigiD2 = 1; + TH1F *h2CeffHFnegativedirectionDigiD2 = new TH1F("h2CeffHFnegativedirectionDigiD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFnegativedirectionDigiD2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigiD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFnegativedirectionDigiD2 = "<SetMarkerColor(2); + HFnegativedirectionDigiD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigiD2 == 1) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 2) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 3) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 4) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 5) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 6) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 7) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 8) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 9) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 10) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 11) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 12) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionDigiD2 == 13) + HFnegativedirectionDigiD2->SetXTitle("D for HF- jeta =-29; depth = 2 \b"); + HFnegativedirectionDigiD2->Draw("Error"); + kcountHFnegativedirectionDigiD2++; + if (kcountHFnegativedirectionDigiD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigiD2) + delete h2CeffHFnegativedirectionDigiD2; + //========================================================================================== 22222216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigiD3 = 1; + TH1F *h2CeffHFnegativedirectionDigiD3 = new TH1F("h2CeffHFnegativedirectionDigiD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFnegativedirectionDigiD3->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigiD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHFnegativedirectionDigiD3 = "<SetMarkerColor(2); + HFnegativedirectionDigiD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigiD3 == 1) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-41; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 2) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-40; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 3) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-39; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 4) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-38; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 5) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-37; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 6) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-36; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 7) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-35; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 8) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-34; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 9) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-33; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 10) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-32; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 11) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-31; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 12) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-30; depth = 3 \b"); + if (kcountHFnegativedirectionDigiD3 == 13) + HFnegativedirectionDigiD3->SetXTitle("D for HF- jeta =-29; depth = 3 \b"); + HFnegativedirectionDigiD3->Draw("Error"); + kcountHFnegativedirectionDigiD3++; + if (kcountHFnegativedirectionDigiD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth3HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigiD3) + delete h2CeffHFnegativedirectionDigiD3; + //========================================================================================== 22222217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionDigiD4 = 1; + TH1F *h2CeffHFnegativedirectionDigiD4 = new TH1F("h2CeffHFnegativedirectionDigiD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionDigiD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = digivarianceHF[i][jeta][jphi]; + if (adigiHF[i][jeta][jphi] > 0.) { + HFnegativedirectionDigiD4->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionDigiD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHFnegativedirectionDigiD4 = "<SetMarkerColor(2); + HFnegativedirectionDigiD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionDigiD4 == 1) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-41; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 2) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-40; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 3) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-39; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 4) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-38; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 5) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-37; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 6) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-36; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 7) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-35; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 8) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-34; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 9) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-33; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 10) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-32; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 11) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-31; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 12) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-30; depth = 4 \b"); + if (kcountHFnegativedirectionDigiD4 == 13) + HFnegativedirectionDigiD4->SetXTitle("D for HF- jeta =-29; depth = 4 \b"); + HFnegativedirectionDigiD4->Draw("Error"); + kcountHFnegativedirectionDigiD4++; + if (kcountHFnegativedirectionDigiD4 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DdigiNegativeDirectionhistD1PhiSymmetryDepth4HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionDigiD4) + delete h2CeffHFnegativedirectionDigiD4; + + //===================================================================== END of Digi HF for phi-symmetry + //===================================================================== END of Digi HF for phi-symmetry + //===================================================================== END of Digi HF for phi-symmetry + + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + //============================================================================================================ END of Digi for phi-symmetry + + // END of Digi Digi Digi Digi Digi ENDDigi Digi Digi Digi Digi ENDDigi Digi Digi Digi ENDDigi Digi Digi Digi Digi Digi Digi ENDDigi Digi Digi Digi Digi Digi Digi Digi Digi Digi ENDDigi END + + ////////////////////// Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start + ////////////////////// Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start + ////////////////////// Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start Recosignal Start + + //////////////////////////////////////////////////////////////////////////////////////////////////// Recosignal HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Recosignal HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Recosignal HB + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 4; + double arecosignalHB[ndepth][njeta][njphi]; + double recosignalvarianceHB[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Recosignal HB recSignalEnergy + TH2F *recSignalEnergy1HB1 = (TH2F *)hfile->Get("h_recSignalEnergy1_HB1"); + TH2F *recSignalEnergy0HB1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB1"); + TH2F *recSignalEnergyHB1 = (TH2F *)recSignalEnergy1HB1->Clone("recSignalEnergyHB1"); + recSignalEnergyHB1->Divide(recSignalEnergy1HB1, recSignalEnergy0HB1, 1, 1, "B"); + TH2F *recSignalEnergy1HB2 = (TH2F *)hfile->Get("h_recSignalEnergy1_HB2"); + TH2F *recSignalEnergy0HB2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB2"); + TH2F *recSignalEnergyHB2 = (TH2F *)recSignalEnergy1HB2->Clone("recSignalEnergyHB2"); + recSignalEnergyHB2->Divide(recSignalEnergy1HB2, recSignalEnergy0HB2, 1, 1, "B"); + TH2F *recSignalEnergy1HB3 = (TH2F *)hfile->Get("h_recSignalEnergy1_HB3"); + TH2F *recSignalEnergy0HB3 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB3"); + TH2F *recSignalEnergyHB3 = (TH2F *)recSignalEnergy1HB3->Clone("recSignalEnergyHB3"); + recSignalEnergyHB3->Divide(recSignalEnergy1HB3, recSignalEnergy0HB3, 1, 1, "B"); + TH2F *recSignalEnergy1HB4 = (TH2F *)hfile->Get("h_recSignalEnergy1_HB4"); + TH2F *recSignalEnergy0HB4 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB4"); + TH2F *recSignalEnergyHB4 = (TH2F *)recSignalEnergy1HB4->Clone("recSignalEnergyHB4"); + recSignalEnergyHB4->Divide(recSignalEnergy1HB4, recSignalEnergy0HB4, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + //====================================================================== PHI normalization & put R into massive arecosignalHB + //preparation for PHI normalization: + double sumrecosignalHB0 = 0; + int nsumrecosignalHB0 = 0; + double sumrecosignalHB1 = 0; + int nsumrecosignalHB1 = 0; + double sumrecosignalHB2 = 0; + int nsumrecosignalHB2 = 0; + double sumrecosignalHB3 = 0; + int nsumrecosignalHB3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + arecosignalHB[0][jeta][jphi] = recSignalEnergyHB1->GetBinContent(jeta + 1, jphi + 1); + arecosignalHB[1][jeta][jphi] = recSignalEnergyHB2->GetBinContent(jeta + 1, jphi + 1); + arecosignalHB[2][jeta][jphi] = recSignalEnergyHB3->GetBinContent(jeta + 1, jphi + 1); + arecosignalHB[3][jeta][jphi] = recSignalEnergyHB4->GetBinContent(jeta + 1, jphi + 1); + if (arecosignalHB[0][jeta][jphi] > 0.) { + sumrecosignalHB0 += arecosignalHB[0][jeta][jphi]; + ++nsumrecosignalHB0; + } + if (arecosignalHB[1][jeta][jphi] > 0.) { + sumrecosignalHB1 += arecosignalHB[1][jeta][jphi]; + ++nsumrecosignalHB1; + } + if (arecosignalHB[2][jeta][jphi] > 0.) { + sumrecosignalHB2 += arecosignalHB[2][jeta][jphi]; + ++nsumrecosignalHB2; + } + if (arecosignalHB[3][jeta][jphi] > 0.) { + sumrecosignalHB3 += arecosignalHB[3][jeta][jphi]; + ++nsumrecosignalHB3; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (arecosignalHB[0][jeta][jphi] > 0.) + arecosignalHB[0][jeta][jphi] /= (sumrecosignalHB0 / nsumrecosignalHB0); + if (arecosignalHB[1][jeta][jphi] > 0.) + arecosignalHB[1][jeta][jphi] /= (sumrecosignalHB1 / nsumrecosignalHB1); + if (arecosignalHB[2][jeta][jphi] > 0.) + arecosignalHB[2][jeta][jphi] /= (sumrecosignalHB2 / nsumrecosignalHB2); + if (arecosignalHB[3][jeta][jphi] > 0.) + arecosignalHB[3][jeta][jphi] /= (sumrecosignalHB3 / nsumrecosignalHB3); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs + //====================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRrecosignalHB42D = new TH2F("GefzRrecosignalHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHB42D0 = new TH2F("GefzRrecosignalHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHB42DF = (TH2F *)GefzRrecosignalHB42D0->Clone("GefzRrecosignalHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRrecosignalHB42D->Fill(kkk, jphi, ccc1); + GefzRrecosignalHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + GefzRrecosignalHB42DF->Divide(GefzRrecosignalHB42D, GefzRrecosignalHB42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHB42DF->SetXTitle("_depth #eta \b"); + GefzRrecosignalHB42DF->SetYTitle(" #phi \b"); + GefzRrecosignalHB42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitSignal_HB = (TH1F *)hfile->Get("h_energyhitSignal_HB"); + energyhitSignal_HB->SetMarkerStyle(20); + energyhitSignal_HB->SetMarkerSize(0.4); + energyhitSignal_HB->GetYaxis()->SetLabelSize(0.04); + energyhitSignal_HB->SetXTitle("energyhitSignal_HB \b"); + energyhitSignal_HB->SetMarkerColor(2); + energyhitSignal_HB->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitSignal_HB->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RrecosignalGeneralD2PhiSymmetryHB.png"); + c2x1->Clear(); + // clean-up + if (GefzRrecosignalHB42D) + delete GefzRrecosignalHB42D; + if (GefzRrecosignalHB42D0) + delete GefzRrecosignalHB42D0; + if (GefzRrecosignalHB42DF) + delete GefzRrecosignalHB42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRrecosignalHB41D = new TH1F("GefzRrecosignalHB41D", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHB41D0 = new TH1F("GefzRrecosignalHB41D0", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHB41DF = (TH1F *)GefzRrecosignalHB41D0->Clone("GefzRrecosignalHB41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRrecosignalHB41D->Fill(jphi, ccc1); + GefzRrecosignalHB41D0->Fill(jphi, 1.); + } + } + } + } + GefzRrecosignalHB41DF->Divide( + GefzRrecosignalHB41D, GefzRrecosignalHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRrecosignalHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRrecosignalHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHB41DF->SetMarkerStyle(20); + GefzRrecosignalHB41DF->SetMarkerSize(1.4); + GefzRrecosignalHB41DF->GetZaxis()->SetLabelSize(0.08); + GefzRrecosignalHB41DF->SetXTitle("#phi \b"); + GefzRrecosignalHB41DF->SetYTitle(" \b"); + GefzRrecosignalHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRrecosignalHB41DF->SetMarkerColor(4); + GefzRrecosignalHB41DF->SetLineColor( + 4); // GefzRrecosignalHB41DF->SetMinimum(0.8); // GefzRrecosignalHB41DF->SetMaximum(1.000); + GefzRrecosignalHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RrecosignalGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (GefzRrecosignalHB41D) + delete GefzRrecosignalHB41D; + if (GefzRrecosignalHB41D0) + delete GefzRrecosignalHB41D0; + if (GefzRrecosignalHB41DF) + delete GefzRrecosignalHB41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignal1 = 1; + TH1F *h2CeffHBpositivedirectionRecosignal1 = new TH1F("h2CeffHBpositivedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBpositivedirectionRecosignal1 = "<SetMarkerColor(2); + HBpositivedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignal1 == 1) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 2) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 3) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 4) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 5) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 6) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 7) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 8) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 9) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 10) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 11) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 12) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 13) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 14) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 15) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignal1 == 16) + HBpositivedirectionRecosignal1->SetXTitle("R for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionRecosignal1->Draw("Error"); + kcountHBpositivedirectionRecosignal1++; + if (kcountHBpositivedirectionRecosignal1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignal1) + delete h2CeffHBpositivedirectionRecosignal1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignal2 = 1; + TH1F *h2CeffHBpositivedirectionRecosignal2 = new TH1F("h2CeffHBpositivedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBpositivedirectionRecosignal2 = "<SetMarkerColor(2); + HBpositivedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignal2 == 1) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 2) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 3) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 4) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 5) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 6) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 7) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 8) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 9) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 10) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 11) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 12) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 13) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 14) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 15) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignal2 == 16) + HBpositivedirectionRecosignal2->SetXTitle("R for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionRecosignal2->Draw("Error"); + kcountHBpositivedirectionRecosignal2++; + if (kcountHBpositivedirectionRecosignal2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignal2) + delete h2CeffHBpositivedirectionRecosignal2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignal3 = 1; + TH1F *h2CeffHBpositivedirectionRecosignal3 = new TH1F("h2CeffHBpositivedirectionRecosignal3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionRecosignal3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignal3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBpositivedirectionRecosignal3 = "<SetMarkerColor(2); + HBpositivedirectionRecosignal3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignal3 == 1) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 2) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 3) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 4) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 5) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 6) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 7) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 8) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 9) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 10) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 11) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 12) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 13) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 14) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 15) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignal3 == 16) + HBpositivedirectionRecosignal3->SetXTitle("R for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionRecosignal3->Draw("Error"); + kcountHBpositivedirectionRecosignal3++; + if (kcountHBpositivedirectionRecosignal3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignal3) + delete h2CeffHBpositivedirectionRecosignal3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignal4 = 1; + TH1F *h2CeffHBpositivedirectionRecosignal4 = new TH1F("h2CeffHBpositivedirectionRecosignal4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionRecosignal4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignal4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBpositivedirectionRecosignal4 = "<SetMarkerColor(2); + HBpositivedirectionRecosignal4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignal4 == 1) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 2) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 3) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 4) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 5) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 6) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 7) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 8) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 9) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 10) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 11) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 12) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 13) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 14) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 15) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignal4 == 16) + HBpositivedirectionRecosignal4->SetXTitle("R for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionRecosignal4->Draw("Error"); + kcountHBpositivedirectionRecosignal4++; + if (kcountHBpositivedirectionRecosignal4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignal4) + delete h2CeffHBpositivedirectionRecosignal4; + + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignal1 = 1; + TH1F *h2CeffHBnegativedirectionRecosignal1 = new TH1F("h2CeffHBnegativedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBnegativedirectionRecosignal1 = "<SetMarkerColor(2); + HBnegativedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignal1 == 1) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -16; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 2) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -15; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 3) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -14; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 4) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -13; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 5) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -12; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 6) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -11; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 7) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -10; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 8) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -9; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 9) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -8; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 10) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -7; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 11) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -6; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 12) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -5; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 13) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -4; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 14) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -3; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 15) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -2; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignal1 == 16) + HBnegativedirectionRecosignal1->SetXTitle("R for HB- jeta = -1; depth = 1 \b"); + HBnegativedirectionRecosignal1->Draw("Error"); + kcountHBnegativedirectionRecosignal1++; + if (kcountHBnegativedirectionRecosignal1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignal1) + delete h2CeffHBnegativedirectionRecosignal1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignal2 = 1; + TH1F *h2CeffHBnegativedirectionRecosignal2 = new TH1F("h2CeffHBnegativedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBnegativedirectionRecosignal2 = "<SetMarkerColor(2); + HBnegativedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignal2 == 1) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -16; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 2) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -15; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 3) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -14; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 4) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -13; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 5) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -12; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 6) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -11; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 7) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -10; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 8) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -9; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 9) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -8; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 10) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -7; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 11) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -6; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 12) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -5; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 13) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -4; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 14) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -3; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 15) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -2; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignal2 == 16) + HBnegativedirectionRecosignal2->SetXTitle("R for HB- jeta = -1; depth = 2 \b"); + HBnegativedirectionRecosignal2->Draw("Error"); + kcountHBnegativedirectionRecosignal2++; + if (kcountHBnegativedirectionRecosignal2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignal2) + delete h2CeffHBnegativedirectionRecosignal2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignal3 = 1; + TH1F *h2CeffHBnegativedirectionRecosignal3 = new TH1F("h2CeffHBnegativedirectionRecosignal3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionRecosignal3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignal3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBnegativedirectionRecosignal3 = "<SetMarkerColor(2); + HBnegativedirectionRecosignal3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignal3 == 1) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -16; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 2) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -15; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 3) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -14; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 4) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -13; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 5) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -12; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 6) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -11; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 7) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -10; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 8) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -9; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 9) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -8; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 10) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -7; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 11) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -6; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 12) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -5; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 13) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -4; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 14) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -3; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 15) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -2; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignal3 == 16) + HBnegativedirectionRecosignal3->SetXTitle("R for HB- jeta = -1; depth = 3 \b"); + + HBnegativedirectionRecosignal3->Draw("Error"); + kcountHBnegativedirectionRecosignal3++; + if (kcountHBnegativedirectionRecosignal3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignal3) + delete h2CeffHBnegativedirectionRecosignal3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignal4 = 1; + TH1F *h2CeffHBnegativedirectionRecosignal4 = new TH1F("h2CeffHBnegativedirectionRecosignal4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionRecosignal4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignal4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBnegativedirectionRecosignal4 = "<SetMarkerColor(2); + HBnegativedirectionRecosignal4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignal4 == 1) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -16; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 2) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -15; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 3) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -14; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 4) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -13; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 5) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -12; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 6) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -11; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 7) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -10; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 8) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -9; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 9) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -8; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 10) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -7; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 11) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -6; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 12) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -5; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 13) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -4; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 14) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -3; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 15) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -2; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignal4 == 16) + HBnegativedirectionRecosignal4->SetXTitle("R for HB- jeta = -1; depth = 4 \b"); + HBnegativedirectionRecosignal4->Draw("Error"); + kcountHBnegativedirectionRecosignal4++; + if (kcountHBnegativedirectionRecosignal4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignal4) + delete h2CeffHBnegativedirectionRecosignal4; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recSignalEnergy2_HB1"); + TH2F *recosignalVariance0HB1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB1"); + TH2F *recosignalVarianceHB1 = (TH2F *)recosignalVariance1HB1->Clone("recosignalVarianceHB1"); + recosignalVarianceHB1->Divide(recosignalVariance1HB1, recosignalVariance0HB1, 1, 1, "B"); + TH2F *recosignalVariance1HB2 = (TH2F *)hfile->Get("h_recSignalEnergy2_HB2"); + TH2F *recosignalVariance0HB2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB2"); + TH2F *recosignalVarianceHB2 = (TH2F *)recosignalVariance1HB2->Clone("recosignalVarianceHB2"); + recosignalVarianceHB2->Divide(recosignalVariance1HB2, recosignalVariance0HB2, 1, 1, "B"); + TH2F *recosignalVariance1HB3 = (TH2F *)hfile->Get("h_recSignalEnergy2_HB3"); + TH2F *recosignalVariance0HB3 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB3"); + TH2F *recosignalVarianceHB3 = (TH2F *)recosignalVariance1HB3->Clone("recosignalVarianceHB3"); + recosignalVarianceHB3->Divide(recosignalVariance1HB3, recosignalVariance0HB3, 1, 1, "B"); + TH2F *recosignalVariance1HB4 = (TH2F *)hfile->Get("h_recSignalEnergy2_HB4"); + TH2F *recosignalVariance0HB4 = (TH2F *)hfile->Get("h_recSignalEnergy0_HB4"); + TH2F *recosignalVarianceHB4 = (TH2F *)recosignalVariance1HB4->Clone("recosignalVarianceHB4"); + recosignalVarianceHB4->Divide(recosignalVariance1HB4, recosignalVariance0HB4, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive recosignalvarianceHB + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumrecosignalHB0 = 0; + int nsumrecosignalHB0 = 0; + double sumrecosignalHB1 = 0; + int nsumrecosignalHB1 = 0; + double sumrecosignalHB2 = 0; + int nsumrecosignalHB2 = 0; + double sumrecosignalHB3 = 0; + int nsumrecosignalHB3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + recosignalvarianceHB[0][jeta][jphi] = recosignalVarianceHB1->GetBinContent(jeta + 1, jphi + 1); + recosignalvarianceHB[1][jeta][jphi] = recosignalVarianceHB2->GetBinContent(jeta + 1, jphi + 1); + recosignalvarianceHB[2][jeta][jphi] = recosignalVarianceHB3->GetBinContent(jeta + 1, jphi + 1); + recosignalvarianceHB[3][jeta][jphi] = recosignalVarianceHB4->GetBinContent(jeta + 1, jphi + 1); + if (recosignalvarianceHB[0][jeta][jphi] > 0.) { + sumrecosignalHB0 += recosignalvarianceHB[0][jeta][jphi]; + ++nsumrecosignalHB0; + } + if (recosignalvarianceHB[1][jeta][jphi] > 0.) { + sumrecosignalHB1 += recosignalvarianceHB[1][jeta][jphi]; + ++nsumrecosignalHB1; + } + if (recosignalvarianceHB[2][jeta][jphi] > 0.) { + sumrecosignalHB2 += recosignalvarianceHB[2][jeta][jphi]; + ++nsumrecosignalHB2; + } + if (recosignalvarianceHB[3][jeta][jphi] > 0.) { + sumrecosignalHB3 += recosignalvarianceHB[3][jeta][jphi]; + ++nsumrecosignalHB3; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (recosignalvarianceHB[0][jeta][jphi] > 0.) + recosignalvarianceHB[0][jeta][jphi] /= (sumrecosignalHB0 / nsumrecosignalHB0); + if (recosignalvarianceHB[1][jeta][jphi] > 0.) + recosignalvarianceHB[1][jeta][jphi] /= (sumrecosignalHB1 / nsumrecosignalHB1); + if (recosignalvarianceHB[2][jeta][jphi] > 0.) + recosignalvarianceHB[2][jeta][jphi] /= (sumrecosignalHB2 / nsumrecosignalHB2); + if (recosignalvarianceHB[3][jeta][jphi] > 0.) + recosignalvarianceHB[3][jeta][jphi] /= (sumrecosignalHB3 / nsumrecosignalHB3); + } // phi + // recosignalvarianceHB (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDrecosignalHB42D = new TH2F("DefzDrecosignalHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHB42D0 = new TH2F("DefzDrecosignalHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHB42DF = (TH2F *)DefzDrecosignalHB42D0->Clone("DefzDrecosignalHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (arecosignalHB[i][jeta][jphi] > 0.) { + DefzDrecosignalHB42D->Fill(kkk, jphi, ccc1); + DefzDrecosignalHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + DefzDrecosignalHB42DF->Divide(DefzDrecosignalHB42D, DefzDrecosignalHB42D0, 1, 1, "B"); // average A + // DefzDrecosignalHB1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHB42DF->SetMarkerStyle(20); + DefzDrecosignalHB42DF->SetMarkerSize(0.4); + DefzDrecosignalHB42DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHB42DF->SetXTitle("_depth #eta \b"); + DefzDrecosignalHB42DF->SetYTitle(" #phi \b"); + DefzDrecosignalHB42DF->SetZTitle("_depth \b"); + DefzDrecosignalHB42DF->SetMarkerColor(2); + DefzDrecosignalHB42DF->SetLineColor( + 0); // DefzDrecosignalHB42DF->SetMaximum(1.000); // DefzDrecosignalHB42DF->SetMinimum(1.0); + DefzDrecosignalHB42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DrecosignalGeneralD2PhiSymmetryHB.png"); + c1x0->Clear(); + // clean-up + if (DefzDrecosignalHB42D) + delete DefzDrecosignalHB42D; + if (DefzDrecosignalHB42D0) + delete DefzDrecosignalHB42D0; + if (DefzDrecosignalHB42DF) + delete DefzDrecosignalHB42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDrecosignalHB41D = new TH1F("DefzDrecosignalHB41D", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHB41D0 = new TH1F("DefzDrecosignalHB41D0", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHB41DF = (TH1F *)DefzDrecosignalHB41D0->Clone("DefzDrecosignalHB41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + DefzDrecosignalHB41D->Fill(jphi, ccc1); + DefzDrecosignalHB41D0->Fill(jphi, 1.); + } + } + } + } + // DefzDrecosignalHB41D->Sumw2();DefzDrecosignalHB41D0->Sumw2(); + + DefzDrecosignalHB41DF->Divide( + DefzDrecosignalHB41D, DefzDrecosignalHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDrecosignalHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDrecosignalHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHB41DF->SetMarkerStyle(20); + DefzDrecosignalHB41DF->SetMarkerSize(1.4); + DefzDrecosignalHB41DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHB41DF->SetXTitle("#phi \b"); + DefzDrecosignalHB41DF->SetYTitle(" \b"); + DefzDrecosignalHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDrecosignalHB41DF->SetMarkerColor(4); + DefzDrecosignalHB41DF->SetLineColor( + 4); // DefzDrecosignalHB41DF->SetMinimum(0.8); DefzDrecosignalHB41DF->SetMinimum(-0.015); + DefzDrecosignalHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DrecosignalGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (DefzDrecosignalHB41D) + delete DefzDrecosignalHB41D; + if (DefzDrecosignalHB41D0) + delete DefzDrecosignalHB41D0; + if (DefzDrecosignalHB41DF) + delete DefzDrecosignalHB41DF; + + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignalD1 = 1; + TH1F *h2CeffHBpositivedirectionRecosignalD1 = new TH1F("h2CeffHBpositivedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBpositivedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHBpositivedirectionRecosignalD1 = "<SetMarkerColor(2); + HBpositivedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignalD1 == 1) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 2) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 3) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 4) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 5) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 6) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 7) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 8) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 9) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 10) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 11) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 12) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 13) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 14) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 15) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionRecosignalD1 == 16) + HBpositivedirectionRecosignalD1->SetXTitle("D for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionRecosignalD1->Draw("Error"); + kcountHBpositivedirectionRecosignalD1++; + if (kcountHBpositivedirectionRecosignalD1 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignalD1) + delete h2CeffHBpositivedirectionRecosignalD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignalD2 = 1; + TH1F *h2CeffHBpositivedirectionRecosignalD2 = new TH1F("h2CeffHBpositivedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBpositivedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHBpositivedirectionRecosignalD2 = "<SetMarkerColor(2); + HBpositivedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignalD2 == 1) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 2) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 3) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 4) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 5) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 6) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 7) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 8) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 9) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 10) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 11) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 12) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 13) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 14) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 15) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionRecosignalD2 == 16) + HBpositivedirectionRecosignalD2->SetXTitle("D for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionRecosignalD2->Draw("Error"); + kcountHBpositivedirectionRecosignalD2++; + if (kcountHBpositivedirectionRecosignalD2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignalD2) + delete h2CeffHBpositivedirectionRecosignalD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignalD3 = 1; + TH1F *h2CeffHBpositivedirectionRecosignalD3 = new TH1F("h2CeffHBpositivedirectionRecosignalD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBpositivedirectionRecosignalD3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignalD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHBpositivedirectionRecosignalD3 = "<SetMarkerColor(2); + HBpositivedirectionRecosignalD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignalD3 == 1) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 2) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 3) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 4) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 5) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 6) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 7) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 8) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 9) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 10) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 11) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 10; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 12) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 13) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 14) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 15) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionRecosignalD3 == 16) + HBpositivedirectionRecosignalD3->SetXTitle("D for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionRecosignalD3->Draw("Error"); + kcountHBpositivedirectionRecosignalD3++; + if (kcountHBpositivedirectionRecosignalD3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignalD3) + delete h2CeffHBpositivedirectionRecosignalD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionRecosignalD4 = 1; + TH1F *h2CeffHBpositivedirectionRecosignalD4 = new TH1F("h2CeffHBpositivedirectionRecosignalD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBpositivedirectionRecosignalD4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionRecosignalD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHBpositivedirectionRecosignalD4 = "<SetMarkerColor(2); + HBpositivedirectionRecosignalD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionRecosignalD4 == 1) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 2) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 3) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 4) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 5) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 6) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 7) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 8) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 9) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 10) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 11) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 12) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 13) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 14) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 15) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionRecosignalD4 == 16) + HBpositivedirectionRecosignalD4->SetXTitle("D for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionRecosignalD4->Draw("Error"); + kcountHBpositivedirectionRecosignalD4++; + if (kcountHBpositivedirectionRecosignalD4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionRecosignalD4) + delete h2CeffHBpositivedirectionRecosignalD4; + + //========================================================================================== 22214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignalD1 = 1; + TH1F *h2CeffHBnegativedirectionRecosignalD1 = new TH1F("h2CeffHBnegativedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBnegativedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHBnegativedirectionRecosignalD1 = "<SetMarkerColor(2); + HBnegativedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignalD1 == 1) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -16; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 2) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -15; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 3) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -14; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 4) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -13; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 5) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -12; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 6) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -11; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 7) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -10; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 8) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -9; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 9) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -8; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 10) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -7; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 11) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -6; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 12) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -5; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 13) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -4; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 14) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -3; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 15) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -2; depth = 1 \b"); + if (kcountHBnegativedirectionRecosignalD1 == 16) + HBnegativedirectionRecosignalD1->SetXTitle("D for HB- jeta = -1; depth = 1 \b"); + HBnegativedirectionRecosignalD1->Draw("Error"); + kcountHBnegativedirectionRecosignalD1++; + if (kcountHBnegativedirectionRecosignalD1 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignalD1) + delete h2CeffHBnegativedirectionRecosignalD1; + //========================================================================================== 22215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignalD2 = 1; + TH1F *h2CeffHBnegativedirectionRecosignalD2 = new TH1F("h2CeffHBnegativedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBnegativedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHBnegativedirectionRecosignalD2 = "<SetMarkerColor(2); + HBnegativedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignalD2 == 1) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-16; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 2) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-15; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 3) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-14; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 4) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-13; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 5) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-12; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 6) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-11; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 7) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-10; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 8) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-9 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 9) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-8 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 10) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-7 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 11) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-6 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 12) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-5 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 13) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-4 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 14) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-3 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 15) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-2 ; depth = 2 \b"); + if (kcountHBnegativedirectionRecosignalD2 == 16) + HBnegativedirectionRecosignalD2->SetXTitle("D for HB- jeta =-1 ; depth = 2 \b"); + HBnegativedirectionRecosignalD2->Draw("Error"); + kcountHBnegativedirectionRecosignalD2++; + if (kcountHBnegativedirectionRecosignalD2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignalD2) + delete h2CeffHBnegativedirectionRecosignalD2; + //========================================================================================== 22216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignalD3 = 1; + TH1F *h2CeffHBnegativedirectionRecosignalD3 = new TH1F("h2CeffHBnegativedirectionRecosignalD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBnegativedirectionRecosignalD3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignalD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHBnegativedirectionRecosignalD3 = "<SetMarkerColor(2); + HBnegativedirectionRecosignalD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignalD3 == 1) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-16; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 2) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-15; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 3) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-14; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 4) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-13; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 5) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-12; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 6) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-11; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 7) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-10; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 8) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-9 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 9) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-8 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 10) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-7 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 11) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-6 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 12) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-5 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 13) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-4 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 14) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-3 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 15) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-2 ; depth = 3 \b"); + if (kcountHBnegativedirectionRecosignalD3 == 16) + HBnegativedirectionRecosignalD3->SetXTitle("D for HB- jeta =-1 ; depth = 3 \b"); + HBnegativedirectionRecosignalD3->Draw("Error"); + kcountHBnegativedirectionRecosignalD3++; + if (kcountHBnegativedirectionRecosignalD3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignalD3) + delete h2CeffHBnegativedirectionRecosignalD3; + //========================================================================================== 22217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionRecosignalD4 = 1; + TH1F *h2CeffHBnegativedirectionRecosignalD4 = new TH1F("h2CeffHBnegativedirectionRecosignalD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHB[i][jeta][jphi]; + if (arecosignalHB[i][jeta][jphi] > 0.) { + HBnegativedirectionRecosignalD4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionRecosignalD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHBnegativedirectionRecosignalD4 = "<SetMarkerColor(2); + HBnegativedirectionRecosignalD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionRecosignalD4 == 1) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-16; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 2) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-15; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 3) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-14; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 4) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-13; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 5) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-12; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 6) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-11; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 7) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-10; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 8) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-9 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 9) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-8 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 10) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-7 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 11) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-6 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 12) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-5 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 13) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-4 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 14) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-3 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 15) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-2 ; depth = 4 \b"); + if (kcountHBnegativedirectionRecosignalD4 == 16) + HBnegativedirectionRecosignalD4->SetXTitle("D for HB- jeta =-1 ; depth = 4 \b"); + HBnegativedirectionRecosignalD4->Draw("Error"); + kcountHBnegativedirectionRecosignalD4++; + if (kcountHBnegativedirectionRecosignalD4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionRecosignalD4) + delete h2CeffHBnegativedirectionRecosignalD4; + + //===================================================================== END of Recosignal HB for phi-symmetry + //===================================================================== END of Recosignal HB for phi-symmetry + //===================================================================== END of Recosignal HB for phi-symmetry + + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HE + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[3]; + ndepth = 7; + // const int ndepth = 7; + double arecosignalhe[ndepth][njeta][njphi]; + double recosignalvariancehe[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Recosignal HE + TH2F *recSignalEnergy1HE1 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE1"); + TH2F *recSignalEnergy0HE1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE1"); + TH2F *recSignalEnergyHE1 = (TH2F *)recSignalEnergy1HE1->Clone("recSignalEnergyHE1"); + recSignalEnergyHE1->Divide(recSignalEnergy1HE1, recSignalEnergy0HE1, 1, 1, "B"); + TH2F *recSignalEnergy1HE2 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE2"); + TH2F *recSignalEnergy0HE2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE2"); + TH2F *recSignalEnergyHE2 = (TH2F *)recSignalEnergy1HE2->Clone("recSignalEnergyHE2"); + recSignalEnergyHE2->Divide(recSignalEnergy1HE2, recSignalEnergy0HE2, 1, 1, "B"); + TH2F *recSignalEnergy1HE3 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE3"); + TH2F *recSignalEnergy0HE3 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE3"); + TH2F *recSignalEnergyHE3 = (TH2F *)recSignalEnergy1HE3->Clone("recSignalEnergyHE3"); + recSignalEnergyHE3->Divide(recSignalEnergy1HE3, recSignalEnergy0HE3, 1, 1, "B"); + TH2F *recSignalEnergy1HE4 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE4"); + TH2F *recSignalEnergy0HE4 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE4"); + TH2F *recSignalEnergyHE4 = (TH2F *)recSignalEnergy1HE4->Clone("recSignalEnergyHE4"); + recSignalEnergyHE4->Divide(recSignalEnergy1HE4, recSignalEnergy0HE4, 1, 1, "B"); + TH2F *recSignalEnergy1HE5 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE5"); + TH2F *recSignalEnergy0HE5 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE5"); + TH2F *recSignalEnergyHE5 = (TH2F *)recSignalEnergy1HE5->Clone("recSignalEnergyHE5"); + recSignalEnergyHE5->Divide(recSignalEnergy1HE5, recSignalEnergy0HE5, 1, 1, "B"); + TH2F *recSignalEnergy1HE6 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE6"); + TH2F *recSignalEnergy0HE6 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE6"); + TH2F *recSignalEnergyHE6 = (TH2F *)recSignalEnergy1HE6->Clone("recSignalEnergyHE6"); + recSignalEnergyHE6->Divide(recSignalEnergy1HE6, recSignalEnergy0HE6, 1, 1, "B"); + TH2F *recSignalEnergy1HE7 = (TH2F *)hfile->Get("h_recSignalEnergy1_HE7"); + TH2F *recSignalEnergy0HE7 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE7"); + TH2F *recSignalEnergyHE7 = (TH2F *)recSignalEnergy1HE7->Clone("recSignalEnergyHE7"); + recSignalEnergyHE7->Divide(recSignalEnergy1HE7, recSignalEnergy0HE7, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + //====================================================================== PHI normalization & put R into massive arecosignalhe + //preparation for PHI normalization: + double sumrecosignalHE0 = 0; + int nsumrecosignalHE0 = 0; + double sumrecosignalHE1 = 0; + int nsumrecosignalHE1 = 0; + double sumrecosignalHE2 = 0; + int nsumrecosignalHE2 = 0; + double sumrecosignalHE3 = 0; + int nsumrecosignalHE3 = 0; + double sumrecosignalHE4 = 0; + int nsumrecosignalHE4 = 0; + double sumrecosignalHE5 = 0; + int nsumrecosignalHE5 = 0; + double sumrecosignalHE6 = 0; + int nsumrecosignalHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + arecosignalhe[0][jeta][jphi] = recSignalEnergyHE1->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[1][jeta][jphi] = recSignalEnergyHE2->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[2][jeta][jphi] = recSignalEnergyHE3->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[3][jeta][jphi] = recSignalEnergyHE4->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[4][jeta][jphi] = recSignalEnergyHE5->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[5][jeta][jphi] = recSignalEnergyHE6->GetBinContent(jeta + 1, jphi + 1); + arecosignalhe[6][jeta][jphi] = recSignalEnergyHE7->GetBinContent(jeta + 1, jphi + 1); + if (arecosignalhe[0][jeta][jphi] > 0.) { + sumrecosignalHE0 += arecosignalhe[0][jeta][jphi]; + ++nsumrecosignalHE0; + } + if (arecosignalhe[1][jeta][jphi] > 0.) { + sumrecosignalHE1 += arecosignalhe[1][jeta][jphi]; + ++nsumrecosignalHE1; + } + if (arecosignalhe[2][jeta][jphi] > 0.) { + sumrecosignalHE2 += arecosignalhe[2][jeta][jphi]; + ++nsumrecosignalHE2; + } + if (arecosignalhe[3][jeta][jphi] > 0.) { + sumrecosignalHE3 += arecosignalhe[3][jeta][jphi]; + ++nsumrecosignalHE3; + } + if (arecosignalhe[4][jeta][jphi] > 0.) { + sumrecosignalHE4 += arecosignalhe[4][jeta][jphi]; + ++nsumrecosignalHE4; + } + if (arecosignalhe[5][jeta][jphi] > 0.) { + sumrecosignalHE5 += arecosignalhe[5][jeta][jphi]; + ++nsumrecosignalHE5; + } + if (arecosignalhe[6][jeta][jphi] > 0.) { + sumrecosignalHE6 += arecosignalhe[6][jeta][jphi]; + ++nsumrecosignalHE6; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (arecosignalhe[0][jeta][jphi] > 0.) + arecosignalhe[0][jeta][jphi] /= (sumrecosignalHE0 / nsumrecosignalHE0); + if (arecosignalhe[1][jeta][jphi] > 0.) + arecosignalhe[1][jeta][jphi] /= (sumrecosignalHE1 / nsumrecosignalHE1); + if (arecosignalhe[2][jeta][jphi] > 0.) + arecosignalhe[2][jeta][jphi] /= (sumrecosignalHE2 / nsumrecosignalHE2); + if (arecosignalhe[3][jeta][jphi] > 0.) + arecosignalhe[3][jeta][jphi] /= (sumrecosignalHE3 / nsumrecosignalHE3); + if (arecosignalhe[4][jeta][jphi] > 0.) + arecosignalhe[4][jeta][jphi] /= (sumrecosignalHE4 / nsumrecosignalHE4); + if (arecosignalhe[5][jeta][jphi] > 0.) + arecosignalhe[5][jeta][jphi] /= (sumrecosignalHE5 / nsumrecosignalHE5); + if (arecosignalhe[6][jeta][jphi] > 0.) + arecosignalhe[6][jeta][jphi] /= (sumrecosignalHE6 / nsumrecosignalHE6); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthes + //====================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: R, averaged over depthes *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRrecosignalHE42D = new TH2F("GefzRrecosignalHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHE42D0 = new TH2F("GefzRrecosignalHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHE42DF = (TH2F *)GefzRrecosignalHE42D0->Clone("GefzRrecosignalHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRrecosignalHE42D->Fill(kkk, jphi, ccc1); + GefzRrecosignalHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + GefzRrecosignalHE42DF->Divide(GefzRrecosignalHE42D, GefzRrecosignalHE42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHE42DF->SetXTitle("_depth #eta \b"); + GefzRrecosignalHE42DF->SetYTitle(" #phi \b"); + GefzRrecosignalHE42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitSignal_HE = (TH1F *)hfile->Get("h_energyhitSignal_HE"); + energyhitSignal_HE->SetMarkerStyle(20); + energyhitSignal_HE->SetMarkerSize(0.4); + energyhitSignal_HE->GetYaxis()->SetLabelSize(0.04); + energyhitSignal_HE->SetXTitle("energyhitSignal_HE \b"); + energyhitSignal_HE->SetMarkerColor(2); + energyhitSignal_HE->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitSignal_HE->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RrecosignalGeneralD2PhiSymmetryHE.png"); + c2x1->Clear(); + // clean-up + if (GefzRrecosignalHE42D) + delete GefzRrecosignalHE42D; + if (GefzRrecosignalHE42D0) + delete GefzRrecosignalHE42D0; + if (GefzRrecosignalHE42DF) + delete GefzRrecosignalHE42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRrecosignalHE41D = new TH1F("GefzRrecosignalHE41D", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHE41D0 = new TH1F("GefzRrecosignalHE41D0", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHE41DF = (TH1F *)GefzRrecosignalHE41D0->Clone("GefzRrecosignalHE41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRrecosignalHE41D->Fill(jphi, ccc1); + GefzRrecosignalHE41D0->Fill(jphi, 1.); + } + } + } + } + GefzRrecosignalHE41DF->Divide( + GefzRrecosignalHE41D, GefzRrecosignalHE41D0, 1, 1, "B"); // R averaged over depthes & eta + GefzRrecosignalHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRrecosignalHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHE41DF->SetMarkerStyle(20); + GefzRrecosignalHE41DF->SetMarkerSize(1.4); + GefzRrecosignalHE41DF->GetZaxis()->SetLabelSize(0.08); + GefzRrecosignalHE41DF->SetXTitle("#phi \b"); + GefzRrecosignalHE41DF->SetYTitle(" \b"); + GefzRrecosignalHE41DF->SetZTitle("_PHI - AllDepthes \b"); + GefzRrecosignalHE41DF->SetMarkerColor(4); + GefzRrecosignalHE41DF->SetLineColor( + 4); // GefzRrecosignalHE41DF->SetMinimum(0.8); // GefzRrecosignalHE41DF->SetMaximum(1.000); + GefzRrecosignalHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RrecosignalGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (GefzRrecosignalHE41D) + delete GefzRrecosignalHE41D; + if (GefzRrecosignalHE41D0) + delete GefzRrecosignalHE41D0; + if (GefzRrecosignalHE41DF) + delete GefzRrecosignalHE41DF; + + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal1 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal1 = new TH1F("h2CeffHEpositivedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEpositivedirectionRecosignal1 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal1 == 1) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 2) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 3) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 4) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 5) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 6) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 7) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 8) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 9) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 10) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 11) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignal1 == 12) + HEpositivedirectionRecosignal1->SetXTitle("R for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionRecosignal1->Draw("Error"); + kcountHEpositivedirectionRecosignal1++; + if (kcountHEpositivedirectionRecosignal1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal1) + delete h2CeffHEpositivedirectionRecosignal1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal2 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal2 = new TH1F("h2CeffHEpositivedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEpositivedirectionRecosignal2 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal2 == 1) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 2) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 3) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 4) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 5) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 6) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 7) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 8) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 9) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 10) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 11) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 12) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignal2 == 13) + HEpositivedirectionRecosignal2->SetXTitle("R for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionRecosignal2->Draw("Error"); + kcountHEpositivedirectionRecosignal2++; + if (kcountHEpositivedirectionRecosignal2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal2) + delete h2CeffHEpositivedirectionRecosignal2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal3 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal3 = new TH1F("h2CeffHEpositivedirectionRecosignal3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEpositivedirectionRecosignal3 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal3 == 1) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 2) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 3) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 4) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 5) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 6) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 7) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 8) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 9) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 10) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 11) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 12) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignal3 == 13) + HEpositivedirectionRecosignal3->SetXTitle("R for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionRecosignal3->Draw("Error"); + kcountHEpositivedirectionRecosignal3++; + if (kcountHEpositivedirectionRecosignal3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal3) + delete h2CeffHEpositivedirectionRecosignal3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal4 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal4 = new TH1F("h2CeffHEpositivedirectionRecosignal4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEpositivedirectionRecosignal4 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal4 == 1) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 2) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 3) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 4) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 5) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 6) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 7) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 8) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 9) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 10) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 11) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignal4 == 12) + HEpositivedirectionRecosignal4->SetXTitle("R for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionRecosignal4->Draw("Error"); + kcountHEpositivedirectionRecosignal4++; + if (kcountHEpositivedirectionRecosignal4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal4) + delete h2CeffHEpositivedirectionRecosignal4; + //========================================================================================== 8 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal5 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal5 = new TH1F("h2CeffHEpositivedirectionRecosignal5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEpositivedirectionRecosignal5 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal5 == 1) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 2) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 3) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 4) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 5) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 6) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 7) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 8) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 9) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 10) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignal5 == 11) + HEpositivedirectionRecosignal5->SetXTitle("R for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionRecosignal5->Draw("Error"); + kcountHEpositivedirectionRecosignal5++; + if (kcountHEpositivedirectionRecosignal5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal5) + delete h2CeffHEpositivedirectionRecosignal5; + //========================================================================================== 9 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal6 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal6 = new TH1F("h2CeffHEpositivedirectionRecosignal6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEpositivedirectionRecosignal6 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal6 == 1) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 2) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 3) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 4) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 5) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 6) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 7) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 8) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 9) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignal6 == 10) + HEpositivedirectionRecosignal6->SetXTitle("R for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionRecosignal6->Draw("Error"); + kcountHEpositivedirectionRecosignal6++; + if (kcountHEpositivedirectionRecosignal6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal6) + delete h2CeffHEpositivedirectionRecosignal6; + //========================================================================================== 10 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignal7 = 1; + TH1F *h2CeffHEpositivedirectionRecosignal7 = new TH1F("h2CeffHEpositivedirectionRecosignal7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionRecosignal7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignal7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEpositivedirectionRecosignal7 = "<SetMarkerColor(2); + HEpositivedirectionRecosignal7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignal7 == 1) + HEpositivedirectionRecosignal7->SetXTitle("R for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionRecosignal7 == 2) + HEpositivedirectionRecosignal7->SetXTitle("R for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionRecosignal7 == 3) + HEpositivedirectionRecosignal7->SetXTitle("R for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionRecosignal7->Draw("Error"); + kcountHEpositivedirectionRecosignal7++; + if (kcountHEpositivedirectionRecosignal7 > 3) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignal7) + delete h2CeffHEpositivedirectionRecosignal7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal1 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal1 = new TH1F("h2CeffHEnegativedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEnegativedirectionRecosignal1 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal1 == 1) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 2) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 3) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 4) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 5) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 6) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 7) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 8) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 9) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 10) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 11) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignal1 == 12) + HEnegativedirectionRecosignal1->SetXTitle("R for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionRecosignal1->Draw("Error"); + kcountHEnegativedirectionRecosignal1++; + if (kcountHEnegativedirectionRecosignal1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal1) + delete h2CeffHEnegativedirectionRecosignal1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal2 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal2 = new TH1F("h2CeffHEnegativedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEnegativedirectionRecosignal2 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal2 == 1) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 2) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 3) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 4) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 5) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 6) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 7) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 8) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 9) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 10) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 11) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 12) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignal2 == 13) + HEnegativedirectionRecosignal2->SetXTitle("R for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionRecosignal2->Draw("Error"); + kcountHEnegativedirectionRecosignal2++; + if (kcountHEnegativedirectionRecosignal2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal2) + delete h2CeffHEnegativedirectionRecosignal2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal3 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal3 = new TH1F("h2CeffHEnegativedirectionRecosignal3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEnegativedirectionRecosignal3 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal3 == 1) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 2) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 3) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 4) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 5) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 6) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 7) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 8) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 9) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 10) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 11) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 12) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignal3 == 13) + HEnegativedirectionRecosignal3->SetXTitle("R for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionRecosignal3->Draw("Error"); + kcountHEnegativedirectionRecosignal3++; + if (kcountHEnegativedirectionRecosignal3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal3) + delete h2CeffHEnegativedirectionRecosignal3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal4 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal4 = new TH1F("h2CeffHEnegativedirectionRecosignal4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEnegativedirectionRecosignal4 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal4 == 1) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 2) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 3) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 4) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 5) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 6) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 7) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 8) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 9) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 10) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 11) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignal4 == 12) + HEnegativedirectionRecosignal4->SetXTitle("R for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionRecosignal4->Draw("Error"); + kcountHEnegativedirectionRecosignal4++; + if (kcountHEnegativedirectionRecosignal4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal4) + delete h2CeffHEnegativedirectionRecosignal4; + //========================================================================================== 1118 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal5 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal5 = new TH1F("h2CeffHEnegativedirectionRecosignal5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEnegativedirectionRecosignal5 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal5 == 1) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 2) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 3) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 4) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 5) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 6) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 7) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 8) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 9) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 10) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignal5 == 11) + HEnegativedirectionRecosignal5->SetXTitle("R for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionRecosignal5->Draw("Error"); + kcountHEnegativedirectionRecosignal5++; + if (kcountHEnegativedirectionRecosignal5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal5) + delete h2CeffHEnegativedirectionRecosignal5; + //========================================================================================== 1119 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal6 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal6 = new TH1F("h2CeffHEnegativedirectionRecosignal6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEnegativedirectionRecosignal6 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal6 == 1) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 2) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 3) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 4) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 5) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 6) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 7) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 8) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 9) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignal6 == 10) + HEnegativedirectionRecosignal6->SetXTitle("R for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionRecosignal6->Draw("Error"); + kcountHEnegativedirectionRecosignal6++; + if (kcountHEnegativedirectionRecosignal6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal6) + delete h2CeffHEnegativedirectionRecosignal6; + //========================================================================================== 11110 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignal7 = 1; + TH1F *h2CeffHEnegativedirectionRecosignal7 = new TH1F("h2CeffHEnegativedirectionRecosignal7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionRecosignal7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignal7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEnegativedirectionRecosignal7 = "<SetMarkerColor(2); + HEnegativedirectionRecosignal7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignal7 == 1) + HEnegativedirectionRecosignal7->SetXTitle("R for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionRecosignal7 == 2) + HEnegativedirectionRecosignal7->SetXTitle("R for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionRecosignal7 == 3) + HEnegativedirectionRecosignal7->SetXTitle("R for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionRecosignal7->Draw("Error"); + kcountHEnegativedirectionRecosignal7++; + if (kcountHEnegativedirectionRecosignal7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignal7) + delete h2CeffHEnegativedirectionRecosignal7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recSignalEnergy2_HE1"); + TH2F *recosignalVariance0HE1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE1"); + TH2F *recosignalVarianceHE1 = (TH2F *)recosignalVariance1HE1->Clone("recosignalVarianceHE1"); + recosignalVarianceHE1->Divide(recosignalVariance1HE1, recosignalVariance0HE1, 1, 1, "B"); + TH2F *recosignalVariance1HE2 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE2"); + TH2F *recosignalVariance0HE2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE2"); + TH2F *recosignalVarianceHE2 = (TH2F *)recosignalVariance1HE2->Clone("recosignalVarianceHE2"); + recosignalVarianceHE2->Divide(recosignalVariance1HE2, recosignalVariance0HE2, 1, 1, "B"); + TH2F *recosignalVariance1HE3 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE3"); + TH2F *recosignalVariance0HE3 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE3"); + TH2F *recosignalVarianceHE3 = (TH2F *)recosignalVariance1HE3->Clone("recosignalVarianceHE3"); + recosignalVarianceHE3->Divide(recosignalVariance1HE3, recosignalVariance0HE3, 1, 1, "B"); + TH2F *recosignalVariance1HE4 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE4"); + TH2F *recosignalVariance0HE4 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE4"); + TH2F *recosignalVarianceHE4 = (TH2F *)recosignalVariance1HE4->Clone("recosignalVarianceHE4"); + recosignalVarianceHE4->Divide(recosignalVariance1HE4, recosignalVariance0HE4, 1, 1, "B"); + TH2F *recosignalVariance1HE5 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE5"); + TH2F *recosignalVariance0HE5 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE5"); + TH2F *recosignalVarianceHE5 = (TH2F *)recosignalVariance1HE5->Clone("recosignalVarianceHE5"); + recosignalVarianceHE5->Divide(recosignalVariance1HE5, recosignalVariance0HE5, 1, 1, "B"); + TH2F *recosignalVariance1HE6 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE6"); + TH2F *recosignalVariance0HE6 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE6"); + TH2F *recosignalVarianceHE6 = (TH2F *)recosignalVariance1HE6->Clone("recosignalVarianceHE6"); + recosignalVarianceHE6->Divide(recosignalVariance1HE6, recosignalVariance0HE6, 1, 1, "B"); + TH2F *recosignalVariance1HE7 = (TH2F *)hfile->Get("h_recSignalEnergy2_HE7"); + TH2F *recosignalVariance0HE7 = (TH2F *)hfile->Get("h_recSignalEnergy0_HE7"); + TH2F *recosignalVarianceHE7 = (TH2F *)recosignalVariance1HE7->Clone("recosignalVarianceHE7"); + recosignalVarianceHE7->Divide(recosignalVariance1HE7, recosignalVariance0HE7, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive recosignalvariancehe + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumrecosignalHE0 = 0; + int nsumrecosignalHE0 = 0; + double sumrecosignalHE1 = 0; + int nsumrecosignalHE1 = 0; + double sumrecosignalHE2 = 0; + int nsumrecosignalHE2 = 0; + double sumrecosignalHE3 = 0; + int nsumrecosignalHE3 = 0; + double sumrecosignalHE4 = 0; + int nsumrecosignalHE4 = 0; + double sumrecosignalHE5 = 0; + int nsumrecosignalHE5 = 0; + double sumrecosignalHE6 = 0; + int nsumrecosignalHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + recosignalvariancehe[0][jeta][jphi] = recosignalVarianceHE1->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[1][jeta][jphi] = recosignalVarianceHE2->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[2][jeta][jphi] = recosignalVarianceHE3->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[3][jeta][jphi] = recosignalVarianceHE4->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[4][jeta][jphi] = recosignalVarianceHE5->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[5][jeta][jphi] = recosignalVarianceHE6->GetBinContent(jeta + 1, jphi + 1); + recosignalvariancehe[6][jeta][jphi] = recosignalVarianceHE7->GetBinContent(jeta + 1, jphi + 1); + if (recosignalvariancehe[0][jeta][jphi] > 0.) { + sumrecosignalHE0 += recosignalvariancehe[0][jeta][jphi]; + ++nsumrecosignalHE0; + } + if (recosignalvariancehe[1][jeta][jphi] > 0.) { + sumrecosignalHE1 += recosignalvariancehe[1][jeta][jphi]; + ++nsumrecosignalHE1; + } + if (recosignalvariancehe[2][jeta][jphi] > 0.) { + sumrecosignalHE2 += recosignalvariancehe[2][jeta][jphi]; + ++nsumrecosignalHE2; + } + if (recosignalvariancehe[3][jeta][jphi] > 0.) { + sumrecosignalHE3 += recosignalvariancehe[3][jeta][jphi]; + ++nsumrecosignalHE3; + } + if (recosignalvariancehe[4][jeta][jphi] > 0.) { + sumrecosignalHE4 += recosignalvariancehe[4][jeta][jphi]; + ++nsumrecosignalHE4; + } + if (recosignalvariancehe[5][jeta][jphi] > 0.) { + sumrecosignalHE5 += recosignalvariancehe[5][jeta][jphi]; + ++nsumrecosignalHE5; + } + if (recosignalvariancehe[6][jeta][jphi] > 0.) { + sumrecosignalHE6 += recosignalvariancehe[6][jeta][jphi]; + ++nsumrecosignalHE6; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (recosignalvariancehe[0][jeta][jphi] > 0.) + recosignalvariancehe[0][jeta][jphi] /= (sumrecosignalHE0 / nsumrecosignalHE0); + if (recosignalvariancehe[1][jeta][jphi] > 0.) + recosignalvariancehe[1][jeta][jphi] /= (sumrecosignalHE1 / nsumrecosignalHE1); + if (recosignalvariancehe[2][jeta][jphi] > 0.) + recosignalvariancehe[2][jeta][jphi] /= (sumrecosignalHE2 / nsumrecosignalHE2); + if (recosignalvariancehe[3][jeta][jphi] > 0.) + recosignalvariancehe[3][jeta][jphi] /= (sumrecosignalHE3 / nsumrecosignalHE3); + if (recosignalvariancehe[4][jeta][jphi] > 0.) + recosignalvariancehe[4][jeta][jphi] /= (sumrecosignalHE4 / nsumrecosignalHE4); + if (recosignalvariancehe[5][jeta][jphi] > 0.) + recosignalvariancehe[5][jeta][jphi] /= (sumrecosignalHE5 / nsumrecosignalHE5); + if (recosignalvariancehe[6][jeta][jphi] > 0.) + recosignalvariancehe[6][jeta][jphi] /= (sumrecosignalHE6 / nsumrecosignalHE6); + } // phi + // recosignalvariancehe (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDrecosignalHE42D = new TH2F("DefzDrecosignalHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHE42D0 = new TH2F("DefzDrecosignalHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHE42DF = (TH2F *)DefzDrecosignalHE42D0->Clone("DefzDrecosignalHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (arecosignalhe[i][jeta][jphi] > 0.) { + DefzDrecosignalHE42D->Fill(kkk, jphi, ccc1); + DefzDrecosignalHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + DefzDrecosignalHE42DF->Divide(DefzDrecosignalHE42D, DefzDrecosignalHE42D0, 1, 1, "B"); // average A + // DefzDrecosignalHE1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHE42DF->SetMarkerStyle(20); + DefzDrecosignalHE42DF->SetMarkerSize(0.4); + DefzDrecosignalHE42DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHE42DF->SetXTitle("_depth #eta \b"); + DefzDrecosignalHE42DF->SetYTitle(" #phi \b"); + DefzDrecosignalHE42DF->SetZTitle("_depth \b"); + DefzDrecosignalHE42DF->SetMarkerColor(2); + DefzDrecosignalHE42DF->SetLineColor( + 0); // DefzDrecosignalHE42DF->SetMaximum(1.000); // DefzDrecosignalHE42DF->SetMinimum(1.0); + DefzDrecosignalHE42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DrecosignalGeneralD2PhiSymmetryHE.png"); + c1x0->Clear(); + // clean-up + if (DefzDrecosignalHE42D) + delete DefzDrecosignalHE42D; + if (DefzDrecosignalHE42D0) + delete DefzDrecosignalHE42D0; + if (DefzDrecosignalHE42DF) + delete DefzDrecosignalHE42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDrecosignalHE41D = new TH1F("DefzDrecosignalHE41D", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHE41D0 = new TH1F("DefzDrecosignalHE41D0", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHE41DF = (TH1F *)DefzDrecosignalHE41D0->Clone("DefzDrecosignalHE41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + DefzDrecosignalHE41D->Fill(jphi, ccc1); + DefzDrecosignalHE41D0->Fill(jphi, 1.); + } + } + } + } + // DefzDrecosignalHE41D->Sumw2();DefzDrecosignalHE41D0->Sumw2(); + + DefzDrecosignalHE41DF->Divide( + DefzDrecosignalHE41D, DefzDrecosignalHE41D0, 1, 1, "B"); // R averaged over depthes & eta + DefzDrecosignalHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDrecosignalHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHE41DF->SetMarkerStyle(20); + DefzDrecosignalHE41DF->SetMarkerSize(1.4); + DefzDrecosignalHE41DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHE41DF->SetXTitle("#phi \b"); + DefzDrecosignalHE41DF->SetYTitle(" \b"); + DefzDrecosignalHE41DF->SetZTitle("_PHI - AllDepthes \b"); + DefzDrecosignalHE41DF->SetMarkerColor(4); + DefzDrecosignalHE41DF->SetLineColor( + 4); // DefzDrecosignalHE41DF->SetMinimum(0.8); DefzDrecosignalHE41DF->SetMinimum(-0.015); + DefzDrecosignalHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DrecosignalGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (DefzDrecosignalHE41D) + delete DefzDrecosignalHE41D; + if (DefzDrecosignalHE41D0) + delete DefzDrecosignalHE41D0; + if (DefzDrecosignalHE41DF) + delete DefzDrecosignalHE41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD1 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD1 = new TH1F("h2CeffHEpositivedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEpositivedirectionRecosignalD1 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD1 == 1) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 2) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 3) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 4) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 5) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 6) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 7) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 8) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 9) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 10) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 11) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionRecosignalD1 == 12) + HEpositivedirectionRecosignalD1->SetXTitle("D for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionRecosignalD1->Draw("Error"); + kcountHEpositivedirectionRecosignalD1++; + if (kcountHEpositivedirectionRecosignalD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD1) + delete h2CeffHEpositivedirectionRecosignalD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD2 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD2 = new TH1F("h2CeffHEpositivedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEpositivedirectionRecosignalD2 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD2 == 1) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 2) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 3) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 4) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 5) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 6) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 7) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 8) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 9) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 10) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 11) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 12) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionRecosignalD2 == 13) + HEpositivedirectionRecosignalD2->SetXTitle("D for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionRecosignalD2->Draw("Error"); + kcountHEpositivedirectionRecosignalD2++; + if (kcountHEpositivedirectionRecosignalD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD2) + delete h2CeffHEpositivedirectionRecosignalD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD3 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD3 = new TH1F("h2CeffHEpositivedirectionRecosignalD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEpositivedirectionRecosignalD3 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD3 == 1) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 2) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 3) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 4) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 5) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 6) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 7) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 8) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 9) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 10) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 11) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 12) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionRecosignalD3 == 13) + HEpositivedirectionRecosignalD3->SetXTitle("D for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionRecosignalD3->Draw("Error"); + kcountHEpositivedirectionRecosignalD3++; + if (kcountHEpositivedirectionRecosignalD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD3) + delete h2CeffHEpositivedirectionRecosignalD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD4 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD4 = new TH1F("h2CeffHEpositivedirectionRecosignalD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEpositivedirectionRecosignalD4 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD4 == 1) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 2) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 3) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 4) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 5) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 6) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 7) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 8) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 9) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 10) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 11) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionRecosignalD4 == 12) + HEpositivedirectionRecosignalD4->SetXTitle("D for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionRecosignalD4->Draw("Error"); + kcountHEpositivedirectionRecosignalD4++; + if (kcountHEpositivedirectionRecosignalD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD4) + delete h2CeffHEpositivedirectionRecosignalD4; + //========================================================================================== 18 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD5 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD5 = new TH1F("h2CeffHEpositivedirectionRecosignalD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD5->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEpositivedirectionRecosignalD5 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD5 == 1) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 2) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 3) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 4) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 5) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 6) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 7) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 8) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 9) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 10) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionRecosignalD5 == 11) + HEpositivedirectionRecosignalD5->SetXTitle("D for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionRecosignalD5->Draw("Error"); + kcountHEpositivedirectionRecosignalD5++; + if (kcountHEpositivedirectionRecosignalD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD5) + delete h2CeffHEpositivedirectionRecosignalD5; + //========================================================================================== 19 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD6 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD6 = new TH1F("h2CeffHEpositivedirectionRecosignalD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEpositivedirectionRecosignalD6 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD6 == 1) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 2) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 3) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 4) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 5) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 6) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 7) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 8) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 9) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionRecosignalD6 == 10) + HEpositivedirectionRecosignalD6->SetXTitle("D for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionRecosignalD6->Draw("Error"); + kcountHEpositivedirectionRecosignalD6++; + if (kcountHEpositivedirectionRecosignalD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD6) + delete h2CeffHEpositivedirectionRecosignalD6; + //========================================================================================== 20 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionRecosignalD7 = 1; + TH1F *h2CeffHEpositivedirectionRecosignalD7 = new TH1F("h2CeffHEpositivedirectionRecosignalD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEpositivedirectionRecosignalD7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionRecosignalD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEpositivedirectionRecosignalD7 = "<SetMarkerColor(2); + HEpositivedirectionRecosignalD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionRecosignalD7 == 1) + HEpositivedirectionRecosignalD7->SetXTitle("D for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionRecosignalD7 == 2) + HEpositivedirectionRecosignalD7->SetXTitle("D for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionRecosignalD7 == 3) + HEpositivedirectionRecosignalD7->SetXTitle("D for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionRecosignalD7->Draw("Error"); + kcountHEpositivedirectionRecosignalD7++; + if (kcountHEpositivedirectionRecosignalD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionRecosignalD7) + delete h2CeffHEpositivedirectionRecosignalD7; + + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD1 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD1 = new TH1F("h2CeffHEnegativedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEnegativedirectionRecosignalD1 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD1 == 1) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 2) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 3) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 4) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 5) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 6) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 7) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 8) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 9) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 10) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 11) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionRecosignalD1 == 12) + HEnegativedirectionRecosignalD1->SetXTitle("D for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionRecosignalD1->Draw("Error"); + kcountHEnegativedirectionRecosignalD1++; + if (kcountHEnegativedirectionRecosignalD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD1) + delete h2CeffHEnegativedirectionRecosignalD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD2 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD2 = new TH1F("h2CeffHEnegativedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEnegativedirectionRecosignalD2 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD2 == 1) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 2) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 3) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 4) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 5) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 6) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 7) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 8) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 9) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 10) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 11) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 12) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionRecosignalD2 == 13) + HEnegativedirectionRecosignalD2->SetXTitle("D for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionRecosignalD2->Draw("Error"); + kcountHEnegativedirectionRecosignalD2++; + if (kcountHEnegativedirectionRecosignalD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD2) + delete h2CeffHEnegativedirectionRecosignalD2; + //========================================================================================== 22222216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD3 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD3 = new TH1F("h2CeffHEnegativedirectionRecosignalD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEnegativedirectionRecosignalD3 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD3 == 1) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 2) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 3) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 4) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 5) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 6) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 7) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 8) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 9) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 10) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 11) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 12) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionRecosignalD3 == 13) + HEnegativedirectionRecosignalD3->SetXTitle("D for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionRecosignalD3->Draw("Error"); + kcountHEnegativedirectionRecosignalD3++; + if (kcountHEnegativedirectionRecosignalD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD3) + delete h2CeffHEnegativedirectionRecosignalD3; + //========================================================================================== 22222217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD4 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD4 = new TH1F("h2CeffHEnegativedirectionRecosignalD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEnegativedirectionRecosignalD4 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD4 == 1) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 2) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 3) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 4) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 5) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 6) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 7) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 8) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 9) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 10) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 11) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionRecosignalD4 == 12) + HEnegativedirectionRecosignalD4->SetXTitle("D for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionRecosignalD4->Draw("Error"); + kcountHEnegativedirectionRecosignalD4++; + if (kcountHEnegativedirectionRecosignalD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD4) + delete h2CeffHEnegativedirectionRecosignalD4; + //========================================================================================== 22222218 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD5 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD5 = new TH1F("h2CeffHEnegativedirectionRecosignalD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD5->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEnegativedirectionRecosignalD5 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD5 == 1) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 2) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 3) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 4) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 5) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 6) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 7) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 8) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 9) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 10) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionRecosignalD5 == 11) + HEnegativedirectionRecosignalD5->SetXTitle("D for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionRecosignalD5->Draw("Error"); + kcountHEnegativedirectionRecosignalD5++; + if (kcountHEnegativedirectionRecosignalD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD5) + delete h2CeffHEnegativedirectionRecosignalD5; + //========================================================================================== 22222219 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD6 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD6 = new TH1F("h2CeffHEnegativedirectionRecosignalD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEnegativedirectionRecosignalD6 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD6 == 1) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 2) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 3) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 4) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 5) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 6) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 7) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 8) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 9) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionRecosignalD6 == 10) + HEnegativedirectionRecosignalD6->SetXTitle("D for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionRecosignalD6->Draw("Error"); + kcountHEnegativedirectionRecosignalD6++; + if (kcountHEnegativedirectionRecosignalD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD6) + delete h2CeffHEnegativedirectionRecosignalD6; + //========================================================================================== 22222220 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionRecosignalD7 = 1; + TH1F *h2CeffHEnegativedirectionRecosignalD7 = new TH1F("h2CeffHEnegativedirectionRecosignalD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvariancehe[i][jeta][jphi]; + if (arecosignalhe[i][jeta][jphi] > 0.) { + HEnegativedirectionRecosignalD7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionRecosignalD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEnegativedirectionRecosignalD7 = "<SetMarkerColor(2); + HEnegativedirectionRecosignalD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionRecosignalD7 == 1) + HEnegativedirectionRecosignalD7->SetXTitle("D for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionRecosignalD7 == 2) + HEnegativedirectionRecosignalD7->SetXTitle("D for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionRecosignalD7 == 3) + HEnegativedirectionRecosignalD7->SetXTitle("D for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionRecosignalD7->Draw("Error"); + kcountHEnegativedirectionRecosignalD7++; + if (kcountHEnegativedirectionRecosignalD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionRecosignalD7) + delete h2CeffHEnegativedirectionRecosignalD7; + //===================================================================== END of Recosignal HE for phi-symmetry + //===================================================================== END of Recosignal HE for phi-symmetry + //===================================================================== END of Recosignal HE for phi-symmetry + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Recosignal HF + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 2; + double arecosignalHF[ndepth][njeta][njphi]; + double recosignalvarianceHF[ndepth][njeta][njphi]; + //cout<<"111RRRRRRRRRRRRRRRRRRRRRRRRR Recosignal HF" <Get("h_recSignalEnergy1_HF1"); + TH2F *recSignalEnergy0HF1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HF1"); + TH2F *recSignalEnergyHF1 = (TH2F *)recSignalEnergy1HF1->Clone("recSignalEnergyHF1"); + recSignalEnergyHF1->Divide(recSignalEnergy1HF1, recSignalEnergy0HF1, 1, 1, "B"); + TH2F *recSignalEnergy1HF2 = (TH2F *)hfile->Get("h_recSignalEnergy1_HF2"); + TH2F *recSignalEnergy0HF2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HF2"); + TH2F *recSignalEnergyHF2 = (TH2F *)recSignalEnergy1HF2->Clone("recSignalEnergyHF2"); + recSignalEnergyHF2->Divide(recSignalEnergy1HF2, recSignalEnergy0HF2, 1, 1, "B"); + // cout<<"222RRRRRRRRRRRRRRRRRRRRRRRRR Recosignal HF" <GetBinContent(jeta + 1, jphi + 1); + arecosignalHF[1][jeta][jphi] = recSignalEnergyHF2->GetBinContent(jeta + 1, jphi + 1); + if (arecosignalHF[0][jeta][jphi] > 0.) { + sumrecosignalHF0 += arecosignalHF[0][jeta][jphi]; + ++nsumrecosignalHF0; + } + if (arecosignalHF[1][jeta][jphi] > 0.) { + sumrecosignalHF1 += arecosignalHF[1][jeta][jphi]; + ++nsumrecosignalHF1; + } + } // phi + // PHI normalization: + for (int jphi = 0; jphi < njphi; jphi++) { + if (arecosignalHF[0][jeta][jphi] > 0.) + arecosignalHF[0][jeta][jphi] /= (sumrecosignalHF0 / nsumrecosignalHF0); + if (arecosignalHF[1][jeta][jphi] > 0.) + arecosignalHF[1][jeta][jphi] /= (sumrecosignalHF1 / nsumrecosignalHF1); + } // phi + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs + //====================================================================== + //====================================================================== + // cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRrecosignalHF42D = new TH2F("GefzRrecosignalHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHF42D0 = new TH2F("GefzRrecosignalHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRrecosignalHF42DF = (TH2F *)GefzRrecosignalHF42D0->Clone("GefzRrecosignalHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRrecosignalHF42D->Fill(kkk, jphi, ccc1); + GefzRrecosignalHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + GefzRrecosignalHF42DF->Divide(GefzRrecosignalHF42D, GefzRrecosignalHF42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHF42DF->SetXTitle("_depth #eta \b"); + GefzRrecosignalHF42DF->SetYTitle(" #phi \b"); + GefzRrecosignalHF42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitSignal_HF = (TH1F *)hfile->Get("h_energyhitSignal_HF"); + energyhitSignal_HF->SetMarkerStyle(20); + energyhitSignal_HF->SetMarkerSize(0.4); + energyhitSignal_HF->GetYaxis()->SetLabelSize(0.04); + energyhitSignal_HF->SetXTitle("energyhitSignal_HF \b"); + energyhitSignal_HF->SetMarkerColor(2); + energyhitSignal_HF->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitSignal_HF->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RrecosignalGeneralD2PhiSymmetryHF.png"); + c2x1->Clear(); + // clean-up + if (GefzRrecosignalHF42D) + delete GefzRrecosignalHF42D; + if (GefzRrecosignalHF42D0) + delete GefzRrecosignalHF42D0; + if (GefzRrecosignalHF42DF) + delete GefzRrecosignalHF42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRrecosignalHF41D = new TH1F("GefzRrecosignalHF41D", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHF41D0 = new TH1F("GefzRrecosignalHF41D0", "", nphi, 0., 72.); + TH1F *GefzRrecosignalHF41DF = (TH1F *)GefzRrecosignalHF41D0->Clone("GefzRrecosignalHF41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRrecosignalHF41D->Fill(jphi, ccc1); + GefzRrecosignalHF41D0->Fill(jphi, 1.); + } + } + } + } + GefzRrecosignalHF41DF->Divide( + GefzRrecosignalHF41D, GefzRrecosignalHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRrecosignalHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRrecosignalHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRrecosignalHF41DF->SetMarkerStyle(20); + GefzRrecosignalHF41DF->SetMarkerSize(1.4); + GefzRrecosignalHF41DF->GetZaxis()->SetLabelSize(0.08); + GefzRrecosignalHF41DF->SetXTitle("#phi \b"); + GefzRrecosignalHF41DF->SetYTitle(" \b"); + GefzRrecosignalHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRrecosignalHF41DF->SetMarkerColor(4); + GefzRrecosignalHF41DF->SetLineColor( + 4); // GefzRrecosignalHF41DF->SetMinimum(0.8); // GefzRrecosignalHF41DF->SetMaximum(1.000); + GefzRrecosignalHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RrecosignalGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (GefzRrecosignalHF41D) + delete GefzRrecosignalHF41D; + if (GefzRrecosignalHF41D0) + delete GefzRrecosignalHF41D0; + if (GefzRrecosignalHF41DF) + delete GefzRrecosignalHF41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionRecosignal1 = 1; + TH1F *h2CeffHFpositivedirectionRecosignal1 = new TH1F("h2CeffHFpositivedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFpositivedirectionRecosignal1 = "<SetMarkerColor(2); + HFpositivedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionRecosignal1 == 1) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 2) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 3) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 4) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 5) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 6) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 7) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 8) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 9) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 10) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 11) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 12) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignal1 == 13) + HFpositivedirectionRecosignal1->SetXTitle("R for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionRecosignal1->Draw("Error"); + kcountHFpositivedirectionRecosignal1++; + if (kcountHFpositivedirectionRecosignal1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionRecosignal1) + delete h2CeffHFpositivedirectionRecosignal1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionRecosignal2 = 1; + TH1F *h2CeffHFpositivedirectionRecosignal2 = new TH1F("h2CeffHFpositivedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignal: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFpositivedirectionRecosignal2 = "<SetMarkerColor(2); + HFpositivedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionRecosignal2 == 1) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 2) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 3) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 4) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 5) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 6) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 7) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 8) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 9) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 10) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 11) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 12) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignal2 == 13) + HFpositivedirectionRecosignal2->SetXTitle("R for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionRecosignal2->Draw("Error"); + kcountHFpositivedirectionRecosignal2++; + if (kcountHFpositivedirectionRecosignal2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionRecosignal2) + delete h2CeffHFpositivedirectionRecosignal2; + + //========================================================================================== 1111114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionRecosignal1 = 1; + TH1F *h2CeffHFnegativedirectionRecosignal1 = new TH1F("h2CeffHFnegativedirectionRecosignal1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionRecosignal1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionRecosignal1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFnegativedirectionRecosignal1 = "<SetMarkerColor(2); + HFnegativedirectionRecosignal1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionRecosignal1 == 1) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 2) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 3) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 4) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 5) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 6) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 7) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 8) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 9) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 10) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 11) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 12) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignal1 == 13) + HFnegativedirectionRecosignal1->SetXTitle("R for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionRecosignal1->Draw("Error"); + kcountHFnegativedirectionRecosignal1++; + if (kcountHFnegativedirectionRecosignal1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionRecosignal1) + delete h2CeffHFnegativedirectionRecosignal1; + + //========================================================================================== 1111115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionRecosignal2 = 1; + TH1F *h2CeffHFnegativedirectionRecosignal2 = new TH1F("h2CeffHFnegativedirectionRecosignal2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignal: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = arecosignalHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionRecosignal2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionRecosignal2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFnegativedirectionRecosignal2 = "<SetMarkerColor(2); + HFnegativedirectionRecosignal2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionRecosignal2 == 1) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 2) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 3) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 4) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 5) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 6) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 7) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 8) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 9) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 10) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 11) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 12) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignal2 == 13) + HFnegativedirectionRecosignal2->SetXTitle("R for HF- jeta =-20; depth = 2 \b"); + HFnegativedirectionRecosignal2->Draw("Error"); + kcountHFnegativedirectionRecosignal2++; + if (kcountHFnegativedirectionRecosignal2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionRecosignal2) + delete h2CeffHFnegativedirectionRecosignal2; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recSignalEnergy2_HF1"); + TH2F *recosignalVariance0HF1 = (TH2F *)hfile->Get("h_recSignalEnergy0_HF1"); + TH2F *recosignalVarianceHF1 = (TH2F *)recosignalVariance1HF1->Clone("recosignalVarianceHF1"); + recosignalVarianceHF1->Divide(recosignalVariance1HF1, recosignalVariance0HF1, 1, 1, "B"); + TH2F *recosignalVariance1HF2 = (TH2F *)hfile->Get("h_recSignalEnergy2_HF2"); + TH2F *recosignalVariance0HF2 = (TH2F *)hfile->Get("h_recSignalEnergy0_HF2"); + TH2F *recosignalVarianceHF2 = (TH2F *)recosignalVariance1HF2->Clone("recosignalVarianceHF2"); + recosignalVarianceHF2->Divide(recosignalVariance1HF2, recosignalVariance0HF2, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive recosignalvarianceHF + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + //preparation for PHI normalization: + double sumrecosignalHF0 = 0; + int nsumrecosignalHF0 = 0; + double sumrecosignalHF1 = 0; + int nsumrecosignalHF1 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + recosignalvarianceHF[0][jeta][jphi] = recosignalVarianceHF1->GetBinContent(jeta + 1, jphi + 1); + recosignalvarianceHF[1][jeta][jphi] = recosignalVarianceHF2->GetBinContent(jeta + 1, jphi + 1); + if (recosignalvarianceHF[0][jeta][jphi] > 0.) { + sumrecosignalHF0 += recosignalvarianceHF[0][jeta][jphi]; + ++nsumrecosignalHF0; + } + if (recosignalvarianceHF[1][jeta][jphi] > 0.) { + sumrecosignalHF1 += recosignalvarianceHF[1][jeta][jphi]; + ++nsumrecosignalHF1; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (recosignalvarianceHF[0][jeta][jphi] > 0.) + recosignalvarianceHF[0][jeta][jphi] /= (sumrecosignalHF0 / nsumrecosignalHF0); + if (recosignalvarianceHF[1][jeta][jphi] > 0.) + recosignalvarianceHF[1][jeta][jphi] /= (sumrecosignalHF1 / nsumrecosignalHF1); + } // phi + // recosignalvarianceHF (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDrecosignalHF42D = new TH2F("DefzDrecosignalHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHF42D0 = new TH2F("DefzDrecosignalHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDrecosignalHF42DF = (TH2F *)DefzDrecosignalHF42D0->Clone("DefzDrecosignalHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (arecosignalHF[i][jeta][jphi] > 0.) { + DefzDrecosignalHF42D->Fill(kkk, jphi, ccc1); + DefzDrecosignalHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + DefzDrecosignalHF42DF->Divide(DefzDrecosignalHF42D, DefzDrecosignalHF42D0, 1, 1, "B"); // average A + // DefzDrecosignalHF1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHF42DF->SetMarkerStyle(20); + DefzDrecosignalHF42DF->SetMarkerSize(0.4); + DefzDrecosignalHF42DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHF42DF->SetXTitle("_depth #eta \b"); + DefzDrecosignalHF42DF->SetYTitle(" #phi \b"); + DefzDrecosignalHF42DF->SetZTitle("_depth \b"); + DefzDrecosignalHF42DF->SetMarkerColor(2); + DefzDrecosignalHF42DF->SetLineColor( + 0); // DefzDrecosignalHF42DF->SetMaximum(1.000); // DefzDrecosignalHF42DF->SetMinimum(1.0); + DefzDrecosignalHF42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DrecosignalGeneralD2PhiSymmetryHF.png"); + c1x0->Clear(); + // clean-up + if (DefzDrecosignalHF42D) + delete DefzDrecosignalHF42D; + if (DefzDrecosignalHF42D0) + delete DefzDrecosignalHF42D0; + if (DefzDrecosignalHF42DF) + delete DefzDrecosignalHF42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDrecosignalHF41D = new TH1F("DefzDrecosignalHF41D", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHF41D0 = new TH1F("DefzDrecosignalHF41D0", "", nphi, 0., 72.); + TH1F *DefzDrecosignalHF41DF = (TH1F *)DefzDrecosignalHF41D0->Clone("DefzDrecosignalHF41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + if (arecosignalHF[i][jeta][jphi] > 0.) { + DefzDrecosignalHF41D->Fill(jphi, ccc1); + DefzDrecosignalHF41D0->Fill(jphi, 1.); + } + } + } + } + // DefzDrecosignalHF41D->Sumw2();DefzDrecosignalHF41D0->Sumw2(); + + DefzDrecosignalHF41DF->Divide( + DefzDrecosignalHF41D, DefzDrecosignalHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDrecosignalHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDrecosignalHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDrecosignalHF41DF->SetMarkerStyle(20); + DefzDrecosignalHF41DF->SetMarkerSize(1.4); + DefzDrecosignalHF41DF->GetZaxis()->SetLabelSize(0.08); + DefzDrecosignalHF41DF->SetXTitle("#phi \b"); + DefzDrecosignalHF41DF->SetYTitle(" \b"); + DefzDrecosignalHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDrecosignalHF41DF->SetMarkerColor(4); + DefzDrecosignalHF41DF->SetLineColor( + 4); // DefzDrecosignalHF41DF->SetMinimum(0.8); DefzDrecosignalHF41DF->SetMinimum(-0.015); + DefzDrecosignalHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DrecosignalGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (DefzDrecosignalHF41D) + delete DefzDrecosignalHF41D; + if (DefzDrecosignalHF41D0) + delete DefzDrecosignalHF41D0; + if (DefzDrecosignalHF41DF) + delete DefzDrecosignalHF41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionRecosignalD1 = 1; + TH1F *h2CeffHFpositivedirectionRecosignalD1 = new TH1F("h2CeffHFpositivedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + if (arecosignalHF[i][jeta][jphi] > 0.) { + HFpositivedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFpositivedirectionRecosignalD1 = "<SetMarkerColor(2); + HFpositivedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionRecosignalD1 == 1) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 2) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 3) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 4) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 5) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 6) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 7) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 8) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 9) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 10) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 11) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 12) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionRecosignalD1 == 13) + HFpositivedirectionRecosignalD1->SetXTitle("D for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionRecosignalD1->Draw("Error"); + kcountHFpositivedirectionRecosignalD1++; + if (kcountHFpositivedirectionRecosignalD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionRecosignalD1) + delete h2CeffHFpositivedirectionRecosignalD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionRecosignalD2 = 1; + TH1F *h2CeffHFpositivedirectionRecosignalD2 = new TH1F("h2CeffHFpositivedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionRecosignalD: + if (jeta - 41 >= 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + if (arecosignalHF[i][jeta][jphi] > 0.) { + HFpositivedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFpositivedirectionRecosignalD2 = "<SetMarkerColor(2); + HFpositivedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionRecosignalD2 == 1) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 2) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 3) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 4) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 5) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 6) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 7) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 8) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 9) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 10) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 11) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 12) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionRecosignalD2 == 13) + HFpositivedirectionRecosignalD2->SetXTitle("D for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionRecosignalD2->Draw("Error"); + kcountHFpositivedirectionRecosignalD2++; + if (kcountHFpositivedirectionRecosignalD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalPositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionRecosignalD2) + delete h2CeffHFpositivedirectionRecosignalD2; + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionRecosignalD1 = 1; + TH1F *h2CeffHFnegativedirectionRecosignalD1 = new TH1F("h2CeffHFnegativedirectionRecosignalD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + if (arecosignalHF[i][jeta][jphi] > 0.) { + HFnegativedirectionRecosignalD1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionRecosignalD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFnegativedirectionRecosignalD1 = "<SetMarkerColor(2); + HFnegativedirectionRecosignalD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionRecosignalD1 == 1) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 2) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 3) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 4) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 5) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 6) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 7) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 8) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 9) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 10) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 11) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 12) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionRecosignalD1 == 13) + HFnegativedirectionRecosignalD1->SetXTitle("D for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionRecosignalD1->Draw("Error"); + kcountHFnegativedirectionRecosignalD1++; + if (kcountHFnegativedirectionRecosignalD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionRecosignalD1) + delete h2CeffHFnegativedirectionRecosignalD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionRecosignalD2 = 1; + TH1F *h2CeffHFnegativedirectionRecosignalD2 = new TH1F("h2CeffHFnegativedirectionRecosignalD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionRecosignalD: + if (jeta - 41 < 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = recosignalvarianceHF[i][jeta][jphi]; + if (arecosignalHF[i][jeta][jphi] > 0.) { + HFnegativedirectionRecosignalD2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionRecosignalD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFnegativedirectionRecosignalD2 = "<SetMarkerColor(2); + HFnegativedirectionRecosignalD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionRecosignalD2 == 1) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 2) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 3) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 4) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 5) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 6) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 7) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 8) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 9) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 10) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 11) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 12) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionRecosignalD2 == 13) + HFnegativedirectionRecosignalD2->SetXTitle("D for HF- jeta =-29; depth = 2 \b"); + HFnegativedirectionRecosignalD2->Draw("Error"); + kcountHFnegativedirectionRecosignalD2++; + if (kcountHFnegativedirectionRecosignalD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41< 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DrecosignalNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionRecosignalD2) + delete h2CeffHFnegativedirectionRecosignalD2; + + //===================================================================== END of Recosignal HF for phi-symmetry + //===================================================================== END of Recosignal HF for phi-symmetry + //===================================================================== END of Recosignal HF for phi-symmetry + //============================================================================================================ END of Recosignal for phi-symmetry + //============================================================================================================ END of Recosignal for phi-symmetry + //============================================================================================================ END of Recosignal for phi-symmetry + + ////////////////////// Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start + ////////////////////// Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start + ////////////////////// Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start Reconoise Start + //////////////////////////////////////////////////////////////////////////////////////////////////// Reconoise HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Reconoise HB + //////////////////////////////////////////////////////////////////////////////////////////////////// Reconoise HB + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 4; + double areconoiseHB[ndepth][njeta][njphi]; + double breconoiseHB[ndepth][njeta][njphi]; + double reconoisevarianceHB[ndepth][njeta][njphi]; + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Reconoise HB recNoiseEnergy + TH2F *recNoiseEnergy1HB1 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HB1"); + TH2F *recNoiseEnergy0HB1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB1"); + TH2F *recNoiseEnergyHB1 = (TH2F *)recNoiseEnergy1HB1->Clone("recNoiseEnergyHB1"); + recNoiseEnergyHB1->Divide(recNoiseEnergy1HB1, recNoiseEnergy0HB1, 1, 1, "B"); + TH2F *recNoiseEnergy1HB2 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HB2"); + TH2F *recNoiseEnergy0HB2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB2"); + TH2F *recNoiseEnergyHB2 = (TH2F *)recNoiseEnergy1HB2->Clone("recNoiseEnergyHB2"); + recNoiseEnergyHB2->Divide(recNoiseEnergy1HB2, recNoiseEnergy0HB2, 1, 1, "B"); + TH2F *recNoiseEnergy1HB3 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HB3"); + TH2F *recNoiseEnergy0HB3 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB3"); + TH2F *recNoiseEnergyHB3 = (TH2F *)recNoiseEnergy1HB3->Clone("recNoiseEnergyHB3"); + recNoiseEnergyHB3->Divide(recNoiseEnergy1HB3, recNoiseEnergy0HB3, 1, 1, "B"); + TH2F *recNoiseEnergy1HB4 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HB4"); + TH2F *recNoiseEnergy0HB4 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB4"); + TH2F *recNoiseEnergyHB4 = (TH2F *)recNoiseEnergy1HB4->Clone("recNoiseEnergyHB4"); + recNoiseEnergyHB4->Divide(recNoiseEnergy1HB4, recNoiseEnergy0HB4, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + //====================================================================== PHI normalization & put R into massive areconoiseHB + //preparation for PHI normalization: + double sumreconoiseHB0 = 0; + int nsumreconoiseHB0 = 0; + double sumreconoiseHB1 = 0; + int nsumreconoiseHB1 = 0; + double sumreconoiseHB2 = 0; + int nsumreconoiseHB2 = 0; + double sumreconoiseHB3 = 0; + int nsumreconoiseHB3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + areconoiseHB[0][jeta][jphi] = recNoiseEnergyHB1->GetBinContent(jeta + 1, jphi + 1); + areconoiseHB[1][jeta][jphi] = recNoiseEnergyHB2->GetBinContent(jeta + 1, jphi + 1); + areconoiseHB[2][jeta][jphi] = recNoiseEnergyHB3->GetBinContent(jeta + 1, jphi + 1); + areconoiseHB[3][jeta][jphi] = recNoiseEnergyHB4->GetBinContent(jeta + 1, jphi + 1); + breconoiseHB[0][jeta][jphi] = recNoiseEnergyHB1->GetBinContent(jeta + 1, jphi + 1); + breconoiseHB[1][jeta][jphi] = recNoiseEnergyHB2->GetBinContent(jeta + 1, jphi + 1); + breconoiseHB[2][jeta][jphi] = recNoiseEnergyHB3->GetBinContent(jeta + 1, jphi + 1); + breconoiseHB[3][jeta][jphi] = recNoiseEnergyHB4->GetBinContent(jeta + 1, jphi + 1); + if (areconoiseHB[0][jeta][jphi] != 0.) { + sumreconoiseHB0 += areconoiseHB[0][jeta][jphi]; + ++nsumreconoiseHB0; + } + if (areconoiseHB[1][jeta][jphi] != 0.) { + sumreconoiseHB1 += areconoiseHB[1][jeta][jphi]; + ++nsumreconoiseHB1; + } + if (areconoiseHB[2][jeta][jphi] != 0.) { + sumreconoiseHB2 += areconoiseHB[2][jeta][jphi]; + ++nsumreconoiseHB2; + } + if (areconoiseHB[3][jeta][jphi] != 0.) { + sumreconoiseHB3 += areconoiseHB[3][jeta][jphi]; + ++nsumreconoiseHB3; + } + } // phi + // PHI normalization: DIF + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHB0 != 0.) + breconoiseHB[0][jeta][jphi] -= (sumreconoiseHB0 / nsumreconoiseHB0); + if (sumreconoiseHB1 != 0.) + breconoiseHB[1][jeta][jphi] -= (sumreconoiseHB1 / nsumreconoiseHB1); + if (sumreconoiseHB2 != 0.) + breconoiseHB[2][jeta][jphi] -= (sumreconoiseHB2 / nsumreconoiseHB2); + if (sumreconoiseHB3 != 0.) + breconoiseHB[3][jeta][jphi] -= (sumreconoiseHB3 / nsumreconoiseHB3); + } // phi + // PHI normalization: R + for (int jphi = 0; jphi < njphi; jphi++) { + if (areconoiseHB[0][jeta][jphi] != 0.) + areconoiseHB[0][jeta][jphi] /= (sumreconoiseHB0 / nsumreconoiseHB0); + if (areconoiseHB[1][jeta][jphi] != 0.) + areconoiseHB[1][jeta][jphi] /= (sumreconoiseHB1 / nsumreconoiseHB1); + if (areconoiseHB[2][jeta][jphi] != 0.) + areconoiseHB[2][jeta][jphi] /= (sumreconoiseHB2 / nsumreconoiseHB2); + if (areconoiseHB[3][jeta][jphi] != 0.) + areconoiseHB[3][jeta][jphi] /= (sumreconoiseHB3 / nsumreconoiseHB3); + } // phi + } //if eta + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs + //====================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRreconoiseHB42D = new TH2F("GefzRreconoiseHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHB42D0 = new TH2F("GefzRreconoiseHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHB42DF = (TH2F *)GefzRreconoiseHB42D0->Clone("GefzRreconoiseHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRreconoiseHB42D->Fill(kkk, jphi, ccc1); + GefzRreconoiseHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzRreconoiseHB42DF->Divide(GefzRreconoiseHB42D, GefzRreconoiseHB42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHB42DF->SetXTitle("_depth #eta \b"); + GefzRreconoiseHB42DF->SetYTitle(" #phi \b"); + GefzRreconoiseHB42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitNoise_HB = (TH1F *)hfile->Get("h_energyhitNoise_HB"); + energyhitNoise_HB->SetMarkerStyle(20); + energyhitNoise_HB->SetMarkerSize(0.4); + energyhitNoise_HB->GetYaxis()->SetLabelSize(0.04); + energyhitNoise_HB->SetXTitle("energyhitNoise_HB \b"); + energyhitNoise_HB->SetMarkerColor(2); + energyhitNoise_HB->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitNoise_HB->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RreconoiseGeneralD2PhiSymmetryHB.png"); + c2x1->Clear(); + // clean-up + if (GefzRreconoiseHB42D) + delete GefzRreconoiseHB42D; + if (GefzRreconoiseHB42D0) + delete GefzRreconoiseHB42D0; + if (GefzRreconoiseHB42DF) + delete GefzRreconoiseHB42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRreconoiseHB41D = new TH1F("GefzRreconoiseHB41D", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHB41D0 = new TH1F("GefzRreconoiseHB41D0", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHB41DF = (TH1F *)GefzRreconoiseHB41D0->Clone("GefzRreconoiseHB41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRreconoiseHB41D->Fill(jphi, ccc1); + GefzRreconoiseHB41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzRreconoiseHB41DF->Divide(GefzRreconoiseHB41D, GefzRreconoiseHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRreconoiseHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRreconoiseHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHB41DF->SetMarkerStyle(20); + GefzRreconoiseHB41DF->SetMarkerSize(1.4); + GefzRreconoiseHB41DF->GetZaxis()->SetLabelSize(0.08); + GefzRreconoiseHB41DF->SetXTitle("#phi \b"); + GefzRreconoiseHB41DF->SetYTitle(" \b"); + GefzRreconoiseHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRreconoiseHB41DF->SetMarkerColor(4); + GefzRreconoiseHB41DF->SetLineColor( + 4); //GefzRreconoiseHB41DF->SetMinimum(0.8); // GefzRreconoiseHB41DF->SetMaximum(1.000); + GefzRreconoiseHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RreconoiseGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (GefzRreconoiseHB41D) + delete GefzRreconoiseHB41D; + if (GefzRreconoiseHB41D0) + delete GefzRreconoiseHB41D0; + if (GefzRreconoiseHB41DF) + delete GefzRreconoiseHB41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoise1 = 1; + TH1F *h2CeffHBpositivedirectionReconoise1 = new TH1F("h2CeffHBpositivedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBpositivedirectionReconoise1 = "<SetMarkerColor(2); + HBpositivedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoise1 == 1) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 2) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 3) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 4) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 5) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 6) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 7) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 8) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 9) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 10) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 11) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 12) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 13) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 14) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 15) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionReconoise1 == 16) + HBpositivedirectionReconoise1->SetXTitle("R for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionReconoise1->Draw("Error"); + kcountHBpositivedirectionReconoise1++; + if (kcountHBpositivedirectionReconoise1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoise1) + delete h2CeffHBpositivedirectionReconoise1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoise2 = 1; + TH1F *h2CeffHBpositivedirectionReconoise2 = new TH1F("h2CeffHBpositivedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBpositivedirectionReconoise2 = "<SetMarkerColor(2); + HBpositivedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoise2 == 1) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 2) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 3) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 4) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 5) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 6) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 7) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 8) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 9) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 10) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 11) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 12) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 13) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 14) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 15) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionReconoise2 == 16) + HBpositivedirectionReconoise2->SetXTitle("R for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionReconoise2->Draw("Error"); + kcountHBpositivedirectionReconoise2++; + if (kcountHBpositivedirectionReconoise2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoise2) + delete h2CeffHBpositivedirectionReconoise2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoise3 = 1; + TH1F *h2CeffHBpositivedirectionReconoise3 = new TH1F("h2CeffHBpositivedirectionReconoise3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoise3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoise3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBpositivedirectionReconoise3 = "<SetMarkerColor(2); + HBpositivedirectionReconoise3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoise3 == 1) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 2) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 3) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 4) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 5) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 6) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 7) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 8) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 9) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 10) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 11) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 12) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 13) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 14) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 15) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionReconoise3 == 16) + HBpositivedirectionReconoise3->SetXTitle("R for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionReconoise3->Draw("Error"); + kcountHBpositivedirectionReconoise3++; + if (kcountHBpositivedirectionReconoise3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoise3) + delete h2CeffHBpositivedirectionReconoise3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoise4 = 1; + TH1F *h2CeffHBpositivedirectionReconoise4 = new TH1F("h2CeffHBpositivedirectionReconoise4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoise4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoise4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBpositivedirectionReconoise4 = "<SetMarkerColor(2); + HBpositivedirectionReconoise4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoise4 == 1) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 2) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 3) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 4) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 5) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 6) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 7) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 8) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 9) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 10) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 11) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 12) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 13) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 14) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 15) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionReconoise4 == 16) + HBpositivedirectionReconoise4->SetXTitle("R for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionReconoise4->Draw("Error"); + kcountHBpositivedirectionReconoise4++; + if (kcountHBpositivedirectionReconoise4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoise4) + delete h2CeffHBpositivedirectionReconoise4; + + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoise1 = 1; + TH1F *h2CeffHBnegativedirectionReconoise1 = new TH1F("h2CeffHBnegativedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBnegativedirectionReconoise1 = "<SetMarkerColor(2); + HBnegativedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoise1 == 1) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -16; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 2) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -15; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 3) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -14; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 4) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -13; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 5) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -12; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 6) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -11; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 7) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -10; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 8) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -9; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 9) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -8; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 10) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -7; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 11) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -6; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 12) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -5; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 13) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -4; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 14) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -3; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 15) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -2; depth = 1 \b"); + if (kcountHBnegativedirectionReconoise1 == 16) + HBnegativedirectionReconoise1->SetXTitle("R for HB- jeta = -1; depth = 1 \b"); + HBnegativedirectionReconoise1->Draw("Error"); + kcountHBnegativedirectionReconoise1++; + if (kcountHBnegativedirectionReconoise1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoise1) + delete h2CeffHBnegativedirectionReconoise1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoise2 = 1; + TH1F *h2CeffHBnegativedirectionReconoise2 = new TH1F("h2CeffHBnegativedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBnegativedirectionReconoise2 = "<SetMarkerColor(2); + HBnegativedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoise2 == 1) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -16; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 2) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -15; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 3) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -14; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 4) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -13; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 5) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -12; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 6) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -11; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 7) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -10; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 8) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -9; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 9) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -8; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 10) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -7; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 11) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -6; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 12) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -5; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 13) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -4; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 14) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -3; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 15) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -2; depth = 2 \b"); + if (kcountHBnegativedirectionReconoise2 == 16) + HBnegativedirectionReconoise2->SetXTitle("R for HB- jeta = -1; depth = 2 \b"); + HBnegativedirectionReconoise2->Draw("Error"); + kcountHBnegativedirectionReconoise2++; + if (kcountHBnegativedirectionReconoise2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoise2) + delete h2CeffHBnegativedirectionReconoise2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoise3 = 1; + TH1F *h2CeffHBnegativedirectionReconoise3 = new TH1F("h2CeffHBnegativedirectionReconoise3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoise3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoise3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBnegativedirectionReconoise3 = "<SetMarkerColor(2); + HBnegativedirectionReconoise3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoise3 == 1) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -16; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 2) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -15; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 3) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -14; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 4) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -13; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 5) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -12; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 6) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -11; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 7) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -10; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 8) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -9; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 9) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -8; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 10) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -7; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 11) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -6; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 12) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -5; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 13) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -4; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 14) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -3; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 15) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -2; depth = 3 \b"); + if (kcountHBnegativedirectionReconoise3 == 16) + HBnegativedirectionReconoise3->SetXTitle("R for HB- jeta = -1; depth = 3 \b"); + + HBnegativedirectionReconoise3->Draw("Error"); + kcountHBnegativedirectionReconoise3++; + if (kcountHBnegativedirectionReconoise3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoise3) + delete h2CeffHBnegativedirectionReconoise3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoise4 = 1; + TH1F *h2CeffHBnegativedirectionReconoise4 = new TH1F("h2CeffHBnegativedirectionReconoise4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoise4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoise4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBnegativedirectionReconoise4 = "<SetMarkerColor(2); + HBnegativedirectionReconoise4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoise4 == 1) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -16; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 2) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -15; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 3) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -14; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 4) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -13; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 5) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -12; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 6) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -11; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 7) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -10; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 8) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -9; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 9) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -8; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 10) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -7; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 11) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -6; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 12) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -5; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 13) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -4; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 14) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -3; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 15) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -2; depth = 4 \b"); + if (kcountHBnegativedirectionReconoise4 == 16) + HBnegativedirectionReconoise4->SetXTitle("R for HB- jeta = -1; depth = 4 \b"); + HBnegativedirectionReconoise4->Draw("Error"); + kcountHBnegativedirectionReconoise4++; + if (kcountHBnegativedirectionReconoise4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoise4) + delete h2CeffHBnegativedirectionReconoise4; + + //====================================================================================================================== + // DIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIF: Reconoise HE + //====================================================================================================================== + //====================================================================== + //cout<<" R2D-eta/phi-plot: DIF, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzDIFreconoiseHB42D = new TH2F("GefzDIFreconoiseHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHB42D0 = new TH2F("GefzDIFreconoiseHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHB42DF = (TH2F *)GefzDIFreconoiseHB42D0->Clone("GefzDIFreconoiseHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzDIFreconoiseHB42D->Fill(kkk, jphi, ccc1); + GefzDIFreconoiseHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHB42DF->Divide(GefzDIFreconoiseHB42D, GefzDIFreconoiseHB42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHB42DF->SetXTitle("_depth #eta \b"); + GefzDIFreconoiseHB42DF->SetYTitle(" #phi \b"); + GefzDIFreconoiseHB42DF->Draw("COLZ"); + + // c2x1->cd(2); + // TH1F *energyhitNoise_HB= (TH1F*)hfile->Get("h_energyhitNoise_HB"); + // energyhitNoise_HB ->SetMarkerStyle(20);energyhitNoise_HB ->SetMarkerSize(0.4);energyhitNoise_HB ->GetYaxis()->SetLabelSize(0.04);energyhitNoise_HB ->SetXTitle("energyhitNoise_HB \b");energyhitNoise_HB ->SetMarkerColor(2);energyhitNoise_HB ->SetLineColor(0);gPad->SetGridy();gPad->SetGridx();energyhitNoise_HB ->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("DIFreconoiseGeneralD2PhiSymmetryHB.png"); + c2x1->Clear(); + // clean-up + if (GefzDIFreconoiseHB42D) + delete GefzDIFreconoiseHB42D; + if (GefzDIFreconoiseHB42D0) + delete GefzDIFreconoiseHB42D0; + if (GefzDIFreconoiseHB42DF) + delete GefzDIFreconoiseHB42DF; + //====================================================================== 1D plot: DIF vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: DIF vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzDIFreconoiseHB41D = new TH1F("GefzDIFreconoiseHB41D", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHB41D0 = new TH1F("GefzDIFreconoiseHB41D0", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHB41DF = (TH1F *)GefzDIFreconoiseHB41D0->Clone("GefzDIFreconoiseHB41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzDIFreconoiseHB41D->Fill(jphi, ccc1); + GefzDIFreconoiseHB41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHB41DF->Divide( + GefzDIFreconoiseHB41D, GefzDIFreconoiseHB41D0, 1, 1, "B"); // DIF averaged over depthfs & eta + GefzDIFreconoiseHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzDIFreconoiseHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHB41DF->SetMarkerStyle(20); + GefzDIFreconoiseHB41DF->SetMarkerSize(1.4); + GefzDIFreconoiseHB41DF->GetZaxis()->SetLabelSize(0.08); + GefzDIFreconoiseHB41DF->SetXTitle("#phi \b"); + GefzDIFreconoiseHB41DF->SetYTitle(" \b"); + GefzDIFreconoiseHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzDIFreconoiseHB41DF->SetMarkerColor(4); + GefzDIFreconoiseHB41DF->SetLineColor( + 4); //GefzDIFreconoiseHB41DF->SetMinimum(0.8); // GefzDIFreconoiseHB41DF->SetMaximum(1.000); + GefzDIFreconoiseHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DIFreconoiseGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (GefzDIFreconoiseHB41D) + delete GefzDIFreconoiseHB41D; + if (GefzDIFreconoiseHB41D0) + delete GefzDIFreconoiseHB41D0; + if (GefzDIFreconoiseHB41DF) + delete GefzDIFreconoiseHB41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: DIF vs phi , different eta, depth=1 + //cout<<" 1D plot: DIF vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseDIF1 = new TH1F("h2CeffHBpositivedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBpositivedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseDIF1 == 1) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 2) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 3) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 4) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 5) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 6) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 7) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 8) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 9) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 10) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 11) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 12) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 13) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 14) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 15) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseDIF1 == 16) + HBpositivedirectionReconoiseDIF1->SetXTitle("DIF for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionReconoiseDIF1->Draw("Error"); + kcountHBpositivedirectionReconoiseDIF1++; + if (kcountHBpositivedirectionReconoiseDIF1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseDIF1) + delete h2CeffHBpositivedirectionReconoiseDIF1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseDIF2 = new TH1F("h2CeffHBpositivedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBpositivedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseDIF2 == 1) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 2) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 3) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 4) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 5) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 6) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 7) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 8) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 9) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 10) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 11) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 12) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 13) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 14) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 15) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseDIF2 == 16) + HBpositivedirectionReconoiseDIF2->SetXTitle("DIF for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionReconoiseDIF2->Draw("Error"); + kcountHBpositivedirectionReconoiseDIF2++; + if (kcountHBpositivedirectionReconoiseDIF2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseDIF2) + delete h2CeffHBpositivedirectionReconoiseDIF2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseDIF3 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseDIF3 = new TH1F("h2CeffHBpositivedirectionReconoiseDIF3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoiseDIF3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseDIF3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBpositivedirectionReconoiseDIF3 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseDIF3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseDIF3 == 1) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 2) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 3) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 4) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 5) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 6) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 7) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 8) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 9) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 10) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 11) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 12) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 13) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 14) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 15) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseDIF3 == 16) + HBpositivedirectionReconoiseDIF3->SetXTitle("DIF for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionReconoiseDIF3->Draw("Error"); + kcountHBpositivedirectionReconoiseDIF3++; + if (kcountHBpositivedirectionReconoiseDIF3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseDIF3) + delete h2CeffHBpositivedirectionReconoiseDIF3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseDIF4 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseDIF4 = new TH1F("h2CeffHBpositivedirectionReconoiseDIF4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBpositivedirectionReconoiseDIF4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseDIF4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBpositivedirectionReconoiseDIF4 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseDIF4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseDIF4 == 1) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 2) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 3) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 4) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 5) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 6) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 7) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 8) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 9) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 10) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 11) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 12) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 13) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 14) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 15) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseDIF4 == 16) + HBpositivedirectionReconoiseDIF4->SetXTitle("DIF for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionReconoiseDIF4->Draw("Error"); + kcountHBpositivedirectionReconoiseDIF4++; + if (kcountHBpositivedirectionReconoiseDIF4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseDIF4) + delete h2CeffHBpositivedirectionReconoiseDIF4; + + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseDIF1 = new TH1F("h2CeffHBnegativedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHBnegativedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseDIF1 == 1) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -16; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 2) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -15; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 3) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -14; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 4) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -13; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 5) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -12; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 6) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -11; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 7) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -10; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 8) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -9; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 9) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -8; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 10) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -7; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 11) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -6; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 12) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -5; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 13) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -4; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 14) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -3; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 15) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -2; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseDIF1 == 16) + HBnegativedirectionReconoiseDIF1->SetXTitle("DIF for HB- jeta = -1; depth = 1 \b"); + HBnegativedirectionReconoiseDIF1->Draw("Error"); + kcountHBnegativedirectionReconoiseDIF1++; + if (kcountHBnegativedirectionReconoiseDIF1 > 16) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseDIF1) + delete h2CeffHBnegativedirectionReconoiseDIF1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseDIF2 = new TH1F("h2CeffHBnegativedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHBnegativedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseDIF2 == 1) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -16; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 2) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -15; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 3) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -14; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 4) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -13; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 5) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -12; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 6) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -11; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 7) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -10; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 8) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -9; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 9) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -8; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 10) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -7; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 11) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -6; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 12) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -5; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 13) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -4; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 14) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -3; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 15) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -2; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseDIF2 == 16) + HBnegativedirectionReconoiseDIF2->SetXTitle("DIF for HB- jeta = -1; depth = 2 \b"); + HBnegativedirectionReconoiseDIF2->Draw("Error"); + kcountHBnegativedirectionReconoiseDIF2++; + if (kcountHBnegativedirectionReconoiseDIF2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseDIF2) + delete h2CeffHBnegativedirectionReconoiseDIF2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseDIF3 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseDIF3 = new TH1F("h2CeffHBnegativedirectionReconoiseDIF3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoiseDIF3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseDIF3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHBnegativedirectionReconoiseDIF3 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseDIF3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseDIF3 == 1) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -16; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 2) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -15; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 3) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -14; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 4) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -13; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 5) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -12; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 6) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -11; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 7) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -10; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 8) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -9; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 9) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -8; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 10) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -7; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 11) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -6; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 12) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -5; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 13) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -4; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 14) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -3; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 15) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -2; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseDIF3 == 16) + HBnegativedirectionReconoiseDIF3->SetXTitle("DIF for HB- jeta = -1; depth = 3 \b"); + + HBnegativedirectionReconoiseDIF3->Draw("Error"); + kcountHBnegativedirectionReconoiseDIF3++; + if (kcountHBnegativedirectionReconoiseDIF3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseDIF3) + delete h2CeffHBnegativedirectionReconoiseDIF3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseDIF4 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseDIF4 = new TH1F("h2CeffHBnegativedirectionReconoiseDIF4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHB[i][jeta][jphi]; + if (ccc1 != 0.) { + HBnegativedirectionReconoiseDIF4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseDIF4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHBnegativedirectionReconoiseDIF4 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseDIF4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseDIF4 == 1) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -16; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 2) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -15; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 3) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -14; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 4) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -13; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 5) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -12; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 6) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -11; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 7) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -10; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 8) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -9; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 9) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -8; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 10) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -7; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 11) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -6; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 12) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -5; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 13) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -4; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 14) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -3; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 15) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -2; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseDIF4 == 16) + HBnegativedirectionReconoiseDIF4->SetXTitle("DIF for HB- jeta = -1; depth = 4 \b"); + HBnegativedirectionReconoiseDIF4->Draw("Error"); + kcountHBnegativedirectionReconoiseDIF4++; + if (kcountHBnegativedirectionReconoiseDIF4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0 ) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseDIF4) + delete h2CeffHBnegativedirectionReconoiseDIF4; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recNoiseEnergy2_HB1"); + TH2F *reconoiseVariance0HB1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB1"); + TH2F *reconoiseVarianceHB1 = (TH2F *)reconoiseVariance1HB1->Clone("reconoiseVarianceHB1"); + reconoiseVarianceHB1->Divide(reconoiseVariance1HB1, reconoiseVariance0HB1, 1, 1, "B"); + TH2F *reconoiseVariance1HB2 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HB2"); + TH2F *reconoiseVariance0HB2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB2"); + TH2F *reconoiseVarianceHB2 = (TH2F *)reconoiseVariance1HB2->Clone("reconoiseVarianceHB2"); + reconoiseVarianceHB2->Divide(reconoiseVariance1HB2, reconoiseVariance0HB2, 1, 1, "B"); + TH2F *reconoiseVariance1HB3 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HB3"); + TH2F *reconoiseVariance0HB3 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB3"); + TH2F *reconoiseVarianceHB3 = (TH2F *)reconoiseVariance1HB3->Clone("reconoiseVarianceHB3"); + reconoiseVarianceHB3->Divide(reconoiseVariance1HB3, reconoiseVariance0HB3, 1, 1, "B"); + TH2F *reconoiseVariance1HB4 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HB4"); + TH2F *reconoiseVariance0HB4 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HB4"); + TH2F *reconoiseVarianceHB4 = (TH2F *)reconoiseVariance1HB4->Clone("reconoiseVarianceHB4"); + reconoiseVarianceHB4->Divide(reconoiseVariance1HB4, reconoiseVariance0HB4, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive reconoisevarianceHB + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + //preparation for PHI normalization: + double sumreconoiseHB0 = 0; + int nsumreconoiseHB0 = 0; + double sumreconoiseHB1 = 0; + int nsumreconoiseHB1 = 0; + double sumreconoiseHB2 = 0; + int nsumreconoiseHB2 = 0; + double sumreconoiseHB3 = 0; + int nsumreconoiseHB3 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + reconoisevarianceHB[0][jeta][jphi] = reconoiseVarianceHB1->GetBinContent(jeta + 1, jphi + 1); + reconoisevarianceHB[1][jeta][jphi] = reconoiseVarianceHB2->GetBinContent(jeta + 1, jphi + 1); + reconoisevarianceHB[2][jeta][jphi] = reconoiseVarianceHB3->GetBinContent(jeta + 1, jphi + 1); + reconoisevarianceHB[3][jeta][jphi] = reconoiseVarianceHB4->GetBinContent(jeta + 1, jphi + 1); + if (reconoisevarianceHB[0][jeta][jphi] != 0.) { + sumreconoiseHB0 += reconoisevarianceHB[0][jeta][jphi]; + ++nsumreconoiseHB0; + } + if (reconoisevarianceHB[1][jeta][jphi] != 0.) { + sumreconoiseHB1 += reconoisevarianceHB[1][jeta][jphi]; + ++nsumreconoiseHB1; + } + if (reconoisevarianceHB[2][jeta][jphi] != 0.) { + sumreconoiseHB2 += reconoisevarianceHB[2][jeta][jphi]; + ++nsumreconoiseHB2; + } + if (reconoisevarianceHB[3][jeta][jphi] != 0.) { + sumreconoiseHB3 += reconoisevarianceHB[3][jeta][jphi]; + ++nsumreconoiseHB3; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHB0 != 0.) + reconoisevarianceHB[0][jeta][jphi] /= (sumreconoiseHB0 / nsumreconoiseHB0); + if (sumreconoiseHB1 != 0.) + reconoisevarianceHB[1][jeta][jphi] /= (sumreconoiseHB1 / nsumreconoiseHB1); + if (sumreconoiseHB2 != 0.) + reconoisevarianceHB[2][jeta][jphi] /= (sumreconoiseHB2 / nsumreconoiseHB2); + if (sumreconoiseHB3 != 0.) + reconoisevarianceHB[3][jeta][jphi] /= (sumreconoiseHB3 / nsumreconoiseHB3); + } // phi + // reconoisevarianceHB (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDreconoiseHB42D = new TH2F("DefzDreconoiseHB42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHB42D0 = new TH2F("DefzDreconoiseHB42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHB42DF = (TH2F *)DefzDreconoiseHB42D0->Clone("DefzDreconoiseHB42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (areconoiseHB[i][jeta][jphi] > 0.) { + DefzDreconoiseHB42D->Fill(kkk, jphi, ccc1); + DefzDreconoiseHB42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + DefzDreconoiseHB42DF->Divide(DefzDreconoiseHB42D, DefzDreconoiseHB42D0, 1, 1, "B"); // average A + // DefzDreconoiseHB1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHB42DF->SetMarkerStyle(20); + DefzDreconoiseHB42DF->SetMarkerSize(0.4); + DefzDreconoiseHB42DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHB42DF->SetXTitle("_depth #eta \b"); + DefzDreconoiseHB42DF->SetYTitle(" #phi \b"); + DefzDreconoiseHB42DF->SetZTitle("_depth \b"); + DefzDreconoiseHB42DF->SetMarkerColor(2); + DefzDreconoiseHB42DF->SetLineColor( + 0); // DefzDreconoiseHB42DF->SetMaximum(1.000); // DefzDreconoiseHB42DF->SetMinimum(1.0); + DefzDreconoiseHB42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DreconoiseGeneralD2PhiSymmetryHB.png"); + c1x0->Clear(); + // clean-up + if (DefzDreconoiseHB42D) + delete DefzDreconoiseHB42D; + if (DefzDreconoiseHB42D0) + delete DefzDreconoiseHB42D0; + if (DefzDreconoiseHB42DF) + delete DefzDreconoiseHB42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDreconoiseHB41D = new TH1F("DefzDreconoiseHB41D", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHB41D0 = new TH1F("DefzDreconoiseHB41D0", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHB41DF = (TH1F *)DefzDreconoiseHB41D0->Clone("DefzDreconoiseHB41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -16 && jeta - 41 <= -1) || (jeta - 41 >= 0 && jeta - 41 <= 15)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + DefzDreconoiseHB41D->Fill(jphi, ccc1); + DefzDreconoiseHB41D0->Fill(jphi, 1.); + } + } + } + } + } + // DefzDreconoiseHB41D->Sumw2();DefzDreconoiseHB41D0->Sumw2(); + + DefzDreconoiseHB41DF->Divide(DefzDreconoiseHB41D, DefzDreconoiseHB41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDreconoiseHB41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDreconoiseHB41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHB41DF->SetMarkerStyle(20); + DefzDreconoiseHB41DF->SetMarkerSize(1.4); + DefzDreconoiseHB41DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHB41DF->SetXTitle("#phi \b"); + DefzDreconoiseHB41DF->SetYTitle(" \b"); + DefzDreconoiseHB41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDreconoiseHB41DF->SetMarkerColor(4); + DefzDreconoiseHB41DF->SetLineColor( + 4); //DefzDreconoiseHB41DF->SetMinimum(0.8); DefzDreconoiseHB41DF->SetMinimum(-0.015); + DefzDreconoiseHB41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DreconoiseGeneralD1PhiSymmetryHB.png"); + c1x1->Clear(); + // clean-up + if (DefzDreconoiseHB41D) + delete DefzDreconoiseHB41D; + if (DefzDreconoiseHB41D0) + delete DefzDreconoiseHB41D0; + if (DefzDreconoiseHB41DF) + delete DefzDreconoiseHB41DF; + + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseD1 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseD1 = new TH1F("h2CeffHBpositivedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBpositivedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHBpositivedirectionReconoiseD1 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseD1 == 1) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 0; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 2) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 1; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 3) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 2; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 4) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 3; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 5) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 4; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 6) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 5; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 7) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 6; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 8) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 7; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 9) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 8; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 10) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 9; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 11) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 10; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 12) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 11; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 13) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 12; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 14) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 13; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 15) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 14; depth = 1 \b"); + if (kcountHBpositivedirectionReconoiseD1 == 16) + HBpositivedirectionReconoiseD1->SetXTitle("D for HB+ jeta = 15; depth = 1 \b"); + HBpositivedirectionReconoiseD1->Draw("Error"); + kcountHBpositivedirectionReconoiseD1++; + if (kcountHBpositivedirectionReconoiseD1 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseD1) + delete h2CeffHBpositivedirectionReconoiseD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseD2 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseD2 = new TH1F("h2CeffHBpositivedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBpositivedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHBpositivedirectionReconoiseD2 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseD2 == 1) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 0; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 2) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 1; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 3) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 2; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 4) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 3; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 5) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 4; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 6) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 5; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 7) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 6; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 8) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 7; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 9) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 8; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 10) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 9; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 11) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 10; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 12) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 11; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 13) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 12; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 14) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 13; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 15) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 14; depth = 2 \b"); + if (kcountHBpositivedirectionReconoiseD2 == 16) + HBpositivedirectionReconoiseD2->SetXTitle("D for HB+ jeta = 15; depth = 2 \b"); + HBpositivedirectionReconoiseD2->Draw("Error"); + kcountHBpositivedirectionReconoiseD2++; + if (kcountHBpositivedirectionReconoiseD2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseD2) + delete h2CeffHBpositivedirectionReconoiseD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseD3 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseD3 = new TH1F("h2CeffHBpositivedirectionReconoiseD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBpositivedirectionReconoiseD3->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHBpositivedirectionReconoiseD3 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseD3 == 1) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 0; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 2) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 1; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 3) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 2; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 4) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 3; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 5) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 4; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 6) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 5; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 7) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 6; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 8) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 7; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 9) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 8; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 10) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 9; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 11) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 10; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 12) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 11; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 13) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 12; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 14) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 13; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 15) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 14; depth = 3 \b"); + if (kcountHBpositivedirectionReconoiseD3 == 16) + HBpositivedirectionReconoiseD3->SetXTitle("D for HB+ jeta = 15; depth = 3 \b"); + HBpositivedirectionReconoiseD3->Draw("Error"); + kcountHBpositivedirectionReconoiseD3++; + if (kcountHBpositivedirectionReconoiseD3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseD3) + delete h2CeffHBpositivedirectionReconoiseD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBpositivedirectionReconoiseD4 = 1; + TH1F *h2CeffHBpositivedirectionReconoiseD4 = new TH1F("h2CeffHBpositivedirectionReconoiseD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 0 && jeta - 41 <= 15) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBpositivedirectionReconoiseD4->Fill(jphi, ccc1); + ccctest = 1.; //HBpositivedirectionReconoiseD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHBpositivedirectionReconoiseD4 = "<SetMarkerColor(2); + HBpositivedirectionReconoiseD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBpositivedirectionReconoiseD4 == 1) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 0; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 2) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 1; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 3) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 2; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 4) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 3; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 5) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 4; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 6) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 5; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 7) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 6; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 8) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 7; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 9) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 8; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 10) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 9; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 11) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 10; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 12) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 11; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 13) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 12; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 14) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 13; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 15) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 14; depth = 4 \b"); + if (kcountHBpositivedirectionReconoiseD4 == 16) + HBpositivedirectionReconoiseD4->SetXTitle("D for HB+ jeta = 15; depth = 4 \b"); + HBpositivedirectionReconoiseD4->Draw("Error"); + kcountHBpositivedirectionReconoiseD4++; + if (kcountHBpositivedirectionReconoiseD4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBpositivedirectionReconoiseD4) + delete h2CeffHBpositivedirectionReconoiseD4; + + //========================================================================================== 22214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseD1 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseD1 = new TH1F("h2CeffHBnegativedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBnegativedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHBnegativedirectionReconoiseD1 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseD1 == 1) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-16; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 2) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-15; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 3) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-14; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 4) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-13; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 5) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-12; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 6) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-11; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 7) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-10; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 8) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-9; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 9) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-8; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 10) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-7; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 11) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-6; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 12) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-5; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 13) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-4; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 14) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-3; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 15) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-2; depth = 1 \b"); + if (kcountHBnegativedirectionReconoiseD1 == 16) + HBnegativedirectionReconoiseD1->SetXTitle("D for HB- jeta =-1; depth = 1 \b"); + HBnegativedirectionReconoiseD1->Draw("Error"); + kcountHBnegativedirectionReconoiseD1++; + if (kcountHBnegativedirectionReconoiseD1 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseD1) + delete h2CeffHBnegativedirectionReconoiseD1; + //========================================================================================== 22215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseD2 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseD2 = new TH1F("h2CeffHBnegativedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBnegativedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHBnegativedirectionReconoiseD2 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseD2 == 1) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-16; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 2) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-15; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 3) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-14; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 4) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-13; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 5) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-12; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 6) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-11; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 7) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-10; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 8) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-9; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 9) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-8; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 10) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-7; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 11) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-6; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 12) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-5; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 13) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-4; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 14) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-3; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 15) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-2; depth = 2 \b"); + if (kcountHBnegativedirectionReconoiseD2 == 16) + HBnegativedirectionReconoiseD2->SetXTitle("D for HB- jeta =-1; depth = 2 \b"); + HBnegativedirectionReconoiseD2->Draw("Error"); + kcountHBnegativedirectionReconoiseD2++; + if (kcountHBnegativedirectionReconoiseD2 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseD2) + delete h2CeffHBnegativedirectionReconoiseD2; + //========================================================================================== 22216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseD3 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseD3 = new TH1F("h2CeffHBnegativedirectionReconoiseD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBnegativedirectionReconoiseD3->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHBnegativedirectionReconoiseD3 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseD3 == 1) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-16; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 2) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-15; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 3) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-14; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 4) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-13; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 5) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-12; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 6) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-11; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 7) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-10; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 8) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-9; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 9) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-8; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 10) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-7; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 11) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-6; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 12) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-5; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 13) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-4; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 14) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-3; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 15) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-2; depth = 3 \b"); + if (kcountHBnegativedirectionReconoiseD3 == 16) + HBnegativedirectionReconoiseD3->SetXTitle("D for HB- jeta =-1; depth = 3 \b"); + HBnegativedirectionReconoiseD3->Draw("Error"); + kcountHBnegativedirectionReconoiseD3++; + if (kcountHBnegativedirectionReconoiseD3 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseD3) + delete h2CeffHBnegativedirectionReconoiseD3; + //========================================================================================== 22217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(4, 4); + c3x5->cd(1); + int kcountHBnegativedirectionReconoiseD4 = 1; + TH1F *h2CeffHBnegativedirectionReconoiseD4 = new TH1F("h2CeffHBnegativedirectionReconoiseD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -16 && jeta - 41 <= -1) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHB[i][jeta][jphi]; + if (areconoiseHB[i][jeta][jphi] > 0.) { + HBnegativedirectionReconoiseD4->Fill(jphi, ccc1); + ccctest = 1.; //HBnegativedirectionReconoiseD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHBnegativedirectionReconoiseD4 = "<SetMarkerColor(2); + HBnegativedirectionReconoiseD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHBnegativedirectionReconoiseD4 == 1) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-16; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 2) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-15; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 3) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-14; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 4) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-13; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 5) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-12; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 6) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-11; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 7) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-10; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 8) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-9; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 9) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-8; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 10) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-7; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 11) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-6; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 12) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-5; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 13) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-4; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 14) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-3; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 15) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-2; depth = 4 \b"); + if (kcountHBnegativedirectionReconoiseD4 == 16) + HBnegativedirectionReconoiseD4->SetXTitle("D for HB- jeta =-1; depth = 4 \b"); + HBnegativedirectionReconoiseD4->Draw("Error"); + kcountHBnegativedirectionReconoiseD4++; + if (kcountHBnegativedirectionReconoiseD4 > 16) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HB.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHBnegativedirectionReconoiseD4) + delete h2CeffHBnegativedirectionReconoiseD4; + + //===================================================================== END of Reconoise HB for phi-symmetry + //===================================================================== END of Reconoise HB for phi-symmetry + //===================================================================== END of Reconoise HB for phi-symmetry + + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HE + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HE + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[3]; + ndepth = 7; + // const int ndepth = 7; + double areconoisehe[ndepth][njeta][njphi]; + double breconoisehe[ndepth][njeta][njphi]; + double reconoisevariancehe[ndepth][njeta][njphi]; + //////////////////////////////////////////////////////////////////////////////////////////////////////////// + TH2F *recNoiseEnergy1HE1 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE1"); + TH2F *recNoiseEnergy0HE1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE1"); + TH2F *recNoiseEnergyHE1 = (TH2F *)recNoiseEnergy1HE1->Clone("recNoiseEnergyHE1"); + recNoiseEnergyHE1->Divide(recNoiseEnergy1HE1, recNoiseEnergy0HE1, 1, 1, "B"); + TH2F *recNoiseEnergy1HE2 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE2"); + TH2F *recNoiseEnergy0HE2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE2"); + TH2F *recNoiseEnergyHE2 = (TH2F *)recNoiseEnergy1HE2->Clone("recNoiseEnergyHE2"); + recNoiseEnergyHE2->Divide(recNoiseEnergy1HE2, recNoiseEnergy0HE2, 1, 1, "B"); + TH2F *recNoiseEnergy1HE3 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE3"); + TH2F *recNoiseEnergy0HE3 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE3"); + TH2F *recNoiseEnergyHE3 = (TH2F *)recNoiseEnergy1HE3->Clone("recNoiseEnergyHE3"); + recNoiseEnergyHE3->Divide(recNoiseEnergy1HE3, recNoiseEnergy0HE3, 1, 1, "B"); + TH2F *recNoiseEnergy1HE4 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE4"); + TH2F *recNoiseEnergy0HE4 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE4"); + TH2F *recNoiseEnergyHE4 = (TH2F *)recNoiseEnergy1HE4->Clone("recNoiseEnergyHE4"); + recNoiseEnergyHE4->Divide(recNoiseEnergy1HE4, recNoiseEnergy0HE4, 1, 1, "B"); + TH2F *recNoiseEnergy1HE5 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE5"); + TH2F *recNoiseEnergy0HE5 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE5"); + TH2F *recNoiseEnergyHE5 = (TH2F *)recNoiseEnergy1HE5->Clone("recNoiseEnergyHE5"); + recNoiseEnergyHE5->Divide(recNoiseEnergy1HE5, recNoiseEnergy0HE5, 1, 1, "B"); + TH2F *recNoiseEnergy1HE6 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE6"); + TH2F *recNoiseEnergy0HE6 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE6"); + TH2F *recNoiseEnergyHE6 = (TH2F *)recNoiseEnergy1HE6->Clone("recNoiseEnergyHE6"); + recNoiseEnergyHE6->Divide(recNoiseEnergy1HE6, recNoiseEnergy0HE6, 1, 1, "B"); + TH2F *recNoiseEnergy1HE7 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HE7"); + TH2F *recNoiseEnergy0HE7 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE7"); + TH2F *recNoiseEnergyHE7 = (TH2F *)recNoiseEnergy1HE7->Clone("recNoiseEnergyHE7"); + recNoiseEnergyHE7->Divide(recNoiseEnergy1HE7, recNoiseEnergy0HE7, 1, 1, "B"); + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + //====================================================================== PHI normalization & put R into massive areconoisehe + //preparation for PHI normalization: + double sumreconoiseHE0 = 0; + int nsumreconoiseHE0 = 0; + double sumreconoiseHE1 = 0; + int nsumreconoiseHE1 = 0; + double sumreconoiseHE2 = 0; + int nsumreconoiseHE2 = 0; + double sumreconoiseHE3 = 0; + int nsumreconoiseHE3 = 0; + double sumreconoiseHE4 = 0; + int nsumreconoiseHE4 = 0; + double sumreconoiseHE5 = 0; + int nsumreconoiseHE5 = 0; + double sumreconoiseHE6 = 0; + int nsumreconoiseHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + areconoisehe[0][jeta][jphi] = recNoiseEnergyHE1->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[1][jeta][jphi] = recNoiseEnergyHE2->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[2][jeta][jphi] = recNoiseEnergyHE3->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[3][jeta][jphi] = recNoiseEnergyHE4->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[4][jeta][jphi] = recNoiseEnergyHE5->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[5][jeta][jphi] = recNoiseEnergyHE6->GetBinContent(jeta + 1, jphi + 1); + areconoisehe[6][jeta][jphi] = recNoiseEnergyHE7->GetBinContent(jeta + 1, jphi + 1); + + breconoisehe[0][jeta][jphi] = recNoiseEnergyHE1->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[1][jeta][jphi] = recNoiseEnergyHE2->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[2][jeta][jphi] = recNoiseEnergyHE3->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[3][jeta][jphi] = recNoiseEnergyHE4->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[4][jeta][jphi] = recNoiseEnergyHE5->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[5][jeta][jphi] = recNoiseEnergyHE6->GetBinContent(jeta + 1, jphi + 1); + breconoisehe[6][jeta][jphi] = recNoiseEnergyHE7->GetBinContent(jeta + 1, jphi + 1); + + if (areconoisehe[0][jeta][jphi] != 0.) { + sumreconoiseHE0 += areconoisehe[0][jeta][jphi]; + ++nsumreconoiseHE0; + } + if (areconoisehe[1][jeta][jphi] != 0.) { + sumreconoiseHE1 += areconoisehe[1][jeta][jphi]; + ++nsumreconoiseHE1; + } + if (areconoisehe[2][jeta][jphi] != 0.) { + sumreconoiseHE2 += areconoisehe[2][jeta][jphi]; + ++nsumreconoiseHE2; + } + if (areconoisehe[3][jeta][jphi] != 0.) { + sumreconoiseHE3 += areconoisehe[3][jeta][jphi]; + ++nsumreconoiseHE3; + } + if (areconoisehe[4][jeta][jphi] != 0.) { + sumreconoiseHE4 += areconoisehe[4][jeta][jphi]; + ++nsumreconoiseHE4; + } + if (areconoisehe[5][jeta][jphi] != 0.) { + sumreconoiseHE5 += areconoisehe[5][jeta][jphi]; + ++nsumreconoiseHE5; + } + if (areconoisehe[6][jeta][jphi] != 0.) { + sumreconoiseHE6 += areconoisehe[6][jeta][jphi]; + ++nsumreconoiseHE6; + } + } // phi + + // PHI normalization for DIF: + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHE0 != 0.) + breconoisehe[0][jeta][jphi] -= (sumreconoiseHE0 / nsumreconoiseHE0); + if (sumreconoiseHE1 != 0.) + breconoisehe[1][jeta][jphi] -= (sumreconoiseHE1 / nsumreconoiseHE1); + if (sumreconoiseHE2 != 0.) + breconoisehe[2][jeta][jphi] -= (sumreconoiseHE2 / nsumreconoiseHE2); + if (sumreconoiseHE3 != 0.) + breconoisehe[3][jeta][jphi] -= (sumreconoiseHE3 / nsumreconoiseHE3); + if (sumreconoiseHE4 != 0.) + breconoisehe[4][jeta][jphi] -= (sumreconoiseHE4 / nsumreconoiseHE4); + if (sumreconoiseHE5 != 0.) + breconoisehe[5][jeta][jphi] -= (sumreconoiseHE5 / nsumreconoiseHE5); + if (sumreconoiseHE6 != 0.) + breconoisehe[6][jeta][jphi] -= (sumreconoiseHE6 / nsumreconoiseHE6); + } // phi + + // PHI normalization for R: + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHE0 != 0.) + areconoisehe[0][jeta][jphi] /= (sumreconoiseHE0 / nsumreconoiseHE0); + if (sumreconoiseHE1 != 0.) + areconoisehe[1][jeta][jphi] /= (sumreconoiseHE1 / nsumreconoiseHE1); + if (sumreconoiseHE2 != 0.) + areconoisehe[2][jeta][jphi] /= (sumreconoiseHE2 / nsumreconoiseHE2); + if (sumreconoiseHE3 != 0.) + areconoisehe[3][jeta][jphi] /= (sumreconoiseHE3 / nsumreconoiseHE3); + if (sumreconoiseHE4 != 0.) + areconoisehe[4][jeta][jphi] /= (sumreconoiseHE4 / nsumreconoiseHE4); + if (sumreconoiseHE5 != 0.) + areconoisehe[5][jeta][jphi] /= (sumreconoiseHE5 / nsumreconoiseHE5); + if (sumreconoiseHE6 != 0.) + areconoisehe[6][jeta][jphi] /= (sumreconoiseHE6 / nsumreconoiseHE6); + } // phi + } //if( (jeta-41 >= + } //eta + //------------------------ 2D-eta/phi-plot: R, averaged over depthes + //====================================================================== + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Reconoise HE + //====================================================================== + c2x1->Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRreconoiseHE42D = new TH2F("GefzRreconoiseHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHE42D0 = new TH2F("GefzRreconoiseHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHE42DF = (TH2F *)GefzRreconoiseHE42D0->Clone("GefzRreconoiseHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRreconoiseHE42D->Fill(kkk, jphi, ccc1); + GefzRreconoiseHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzRreconoiseHE42DF->Divide(GefzRreconoiseHE42D, GefzRreconoiseHE42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHE42DF->SetXTitle("_depth #eta \b"); + GefzRreconoiseHE42DF->SetYTitle(" #phi \b"); + GefzRreconoiseHE42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitNoise_HE = (TH1F *)hfile->Get("h_energyhitNoise_HE"); + energyhitNoise_HE->SetMarkerStyle(20); + energyhitNoise_HE->SetMarkerSize(0.4); + energyhitNoise_HE->GetYaxis()->SetLabelSize(0.04); + energyhitNoise_HE->SetXTitle("energyhitNoise_HE \b"); + energyhitNoise_HE->SetMarkerColor(2); + energyhitNoise_HE->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitNoise_HE->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RreconoiseGeneralD2PhiSymmetryHE.png"); + c2x1->Clear(); + // clean-up + if (GefzRreconoiseHE42D) + delete GefzRreconoiseHE42D; + if (GefzRreconoiseHE42D0) + delete GefzRreconoiseHE42D0; + if (GefzRreconoiseHE42DF) + delete GefzRreconoiseHE42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRreconoiseHE41D = new TH1F("GefzRreconoiseHE41D", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHE41D0 = new TH1F("GefzRreconoiseHE41D0", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHE41DF = (TH1F *)GefzRreconoiseHE41D0->Clone("GefzRreconoiseHE41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRreconoiseHE41D->Fill(jphi, ccc1); + GefzRreconoiseHE41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzRreconoiseHE41DF->Divide(GefzRreconoiseHE41D, GefzRreconoiseHE41D0, 1, 1, "B"); // R averaged over depthes & eta + GefzRreconoiseHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRreconoiseHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHE41DF->SetMarkerStyle(20); + GefzRreconoiseHE41DF->SetMarkerSize(1.4); + GefzRreconoiseHE41DF->GetZaxis()->SetLabelSize(0.08); + GefzRreconoiseHE41DF->SetXTitle("#phi \b"); + GefzRreconoiseHE41DF->SetYTitle(" \b"); + GefzRreconoiseHE41DF->SetZTitle("_PHI - AllDepthes \b"); + GefzRreconoiseHE41DF->SetMarkerColor(4); + GefzRreconoiseHE41DF->SetLineColor( + 4); // GefzRreconoiseHE41DF->SetMinimum(0.8); // GefzRreconoiseHE41DF->SetMaximum(1.000); + GefzRreconoiseHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RreconoiseGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (GefzRreconoiseHE41D) + delete GefzRreconoiseHE41D; + if (GefzRreconoiseHE41D0) + delete GefzRreconoiseHE41D0; + if (GefzRreconoiseHE41DF) + delete GefzRreconoiseHE41DF; + + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise1 = 1; + TH1F *h2CeffHEpositivedirectionReconoise1 = new TH1F("h2CeffHEpositivedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEpositivedirectionReconoise1 = "<SetMarkerColor(2); + HEpositivedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise1 == 1) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 2) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 3) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 4) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 5) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 6) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 7) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 8) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 9) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 10) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 11) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionReconoise1 == 12) + HEpositivedirectionReconoise1->SetXTitle("R for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionReconoise1->Draw("Error"); + kcountHEpositivedirectionReconoise1++; + if (kcountHEpositivedirectionReconoise1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 15 && jeta-41 <= 28 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise1) + delete h2CeffHEpositivedirectionReconoise1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise2 = 1; + TH1F *h2CeffHEpositivedirectionReconoise2 = new TH1F("h2CeffHEpositivedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEpositivedirectionReconoise2 = "<SetMarkerColor(2); + HEpositivedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise2 == 1) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 2) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 3) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 4) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 5) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 6) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 7) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 8) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 9) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 10) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 11) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 12) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionReconoise2 == 13) + HEpositivedirectionReconoise2->SetXTitle("R for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionReconoise2->Draw("Error"); + kcountHEpositivedirectionReconoise2++; + if (kcountHEpositivedirectionReconoise2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise2) + delete h2CeffHEpositivedirectionReconoise2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise3 = 1; + TH1F *h2CeffHEpositivedirectionReconoise3 = new TH1F("h2CeffHEpositivedirectionReconoise3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEpositivedirectionReconoise3 = "<SetMarkerColor(2); + HEpositivedirectionReconoise3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise3 == 1) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 2) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 3) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 4) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 5) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 6) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 7) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 8) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 9) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 10) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 11) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 12) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionReconoise3 == 13) + HEpositivedirectionReconoise3->SetXTitle("R for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionReconoise3->Draw("Error"); + kcountHEpositivedirectionReconoise3++; + if (kcountHEpositivedirectionReconoise3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise3) + delete h2CeffHEpositivedirectionReconoise3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise4 = 1; + TH1F *h2CeffHEpositivedirectionReconoise4 = new TH1F("h2CeffHEpositivedirectionReconoise4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEpositivedirectionReconoise4 = "<SetMarkerColor(2); + HEpositivedirectionReconoise4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise4 == 1) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 2) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 3) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 4) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 5) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 6) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 7) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 8) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 9) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 10) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 11) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionReconoise4 == 12) + HEpositivedirectionReconoise4->SetXTitle("R for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionReconoise4->Draw("Error"); + kcountHEpositivedirectionReconoise4++; + if (kcountHEpositivedirectionReconoise4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise4) + delete h2CeffHEpositivedirectionReconoise4; + //========================================================================================== 8 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise5 = 1; + TH1F *h2CeffHEpositivedirectionReconoise5 = new TH1F("h2CeffHEpositivedirectionReconoise5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEpositivedirectionReconoise5 = "<SetMarkerColor(2); + HEpositivedirectionReconoise5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise5 == 1) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 2) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 3) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 4) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 5) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 6) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 7) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 8) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 9) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 10) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionReconoise5 == 11) + HEpositivedirectionReconoise5->SetXTitle("R for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionReconoise5->Draw("Error"); + kcountHEpositivedirectionReconoise5++; + if (kcountHEpositivedirectionReconoise5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise5) + delete h2CeffHEpositivedirectionReconoise5; + //========================================================================================== 9 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise6 = 1; + TH1F *h2CeffHEpositivedirectionReconoise6 = new TH1F("h2CeffHEpositivedirectionReconoise6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEpositivedirectionReconoise6 = "<SetMarkerColor(2); + HEpositivedirectionReconoise6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise6 == 1) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 2) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 3) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 4) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 5) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 6) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 7) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 8) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 9) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionReconoise6 == 10) + HEpositivedirectionReconoise6->SetXTitle("R for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionReconoise6->Draw("Error"); + kcountHEpositivedirectionReconoise6++; + if (kcountHEpositivedirectionReconoise6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise6) + delete h2CeffHEpositivedirectionReconoise6; + //========================================================================================== 10 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoise7 = 1; + TH1F *h2CeffHEpositivedirectionReconoise7 = new TH1F("h2CeffHEpositivedirectionReconoise7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoise7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoise7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEpositivedirectionReconoise7 = "<SetMarkerColor(2); + HEpositivedirectionReconoise7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoise7 == 1) + HEpositivedirectionReconoise7->SetXTitle("R for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionReconoise7 == 2) + HEpositivedirectionReconoise7->SetXTitle("R for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionReconoise7 == 3) + HEpositivedirectionReconoise7->SetXTitle("R for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionReconoise7->Draw("Error"); + kcountHEpositivedirectionReconoise7++; + if (kcountHEpositivedirectionReconoise7 > 3) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoise7) + delete h2CeffHEpositivedirectionReconoise7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise1 = 1; + TH1F *h2CeffHEnegativedirectionReconoise1 = new TH1F("h2CeffHEnegativedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEnegativedirectionReconoise1 = "<SetMarkerColor(2); + HEnegativedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise1 == 1) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 2) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 3) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 4) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 5) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 6) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 7) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 8) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 9) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 10) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 11) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionReconoise1 == 12) + HEnegativedirectionReconoise1->SetXTitle("R for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionReconoise1->Draw("Error"); + kcountHEnegativedirectionReconoise1++; + if (kcountHEnegativedirectionReconoise1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise1) + delete h2CeffHEnegativedirectionReconoise1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise2 = 1; + TH1F *h2CeffHEnegativedirectionReconoise2 = new TH1F("h2CeffHEnegativedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEnegativedirectionReconoise2 = "<SetMarkerColor(2); + HEnegativedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise2 == 1) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 2) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 3) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 4) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 5) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 6) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 7) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 8) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 9) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 10) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 11) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 12) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionReconoise2 == 13) + HEnegativedirectionReconoise2->SetXTitle("R for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionReconoise2->Draw("Error"); + kcountHEnegativedirectionReconoise2++; + if (kcountHEnegativedirectionReconoise2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise2) + delete h2CeffHEnegativedirectionReconoise2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise3 = 1; + TH1F *h2CeffHEnegativedirectionReconoise3 = new TH1F("h2CeffHEnegativedirectionReconoise3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEnegativedirectionReconoise3 = "<SetMarkerColor(2); + HEnegativedirectionReconoise3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise3 == 1) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 2) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 3) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 4) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 5) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 6) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 7) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 8) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 9) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 10) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 11) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 12) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionReconoise3 == 13) + HEnegativedirectionReconoise3->SetXTitle("R for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionReconoise3->Draw("Error"); + kcountHEnegativedirectionReconoise3++; + if (kcountHEnegativedirectionReconoise3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise3) + delete h2CeffHEnegativedirectionReconoise3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise4 = 1; + TH1F *h2CeffHEnegativedirectionReconoise4 = new TH1F("h2CeffHEnegativedirectionReconoise4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEnegativedirectionReconoise4 = "<SetMarkerColor(2); + HEnegativedirectionReconoise4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise4 == 1) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 2) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 3) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 4) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 5) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 6) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 7) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 8) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 9) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 10) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 11) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionReconoise4 == 12) + HEnegativedirectionReconoise4->SetXTitle("R for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionReconoise4->Draw("Error"); + kcountHEnegativedirectionReconoise4++; + if (kcountHEnegativedirectionReconoise4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise4) + delete h2CeffHEnegativedirectionReconoise4; + //========================================================================================== 1118 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise5 = 1; + TH1F *h2CeffHEnegativedirectionReconoise5 = new TH1F("h2CeffHEnegativedirectionReconoise5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEnegativedirectionReconoise5 = "<SetMarkerColor(2); + HEnegativedirectionReconoise5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise5 == 1) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 2) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 3) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 4) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 5) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 6) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 7) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 8) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 9) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 10) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionReconoise5 == 11) + HEnegativedirectionReconoise5->SetXTitle("R for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionReconoise5->Draw("Error"); + kcountHEnegativedirectionReconoise5++; + if (kcountHEnegativedirectionReconoise5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise5) + delete h2CeffHEnegativedirectionReconoise5; + //========================================================================================== 1119 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise6 = 1; + TH1F *h2CeffHEnegativedirectionReconoise6 = new TH1F("h2CeffHEnegativedirectionReconoise6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEnegativedirectionReconoise6 = "<SetMarkerColor(2); + HEnegativedirectionReconoise6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise6 == 1) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 2) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 3) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 4) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 5) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 6) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 7) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 8) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 9) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionReconoise6 == 10) + HEnegativedirectionReconoise6->SetXTitle("R for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionReconoise6->Draw("Error"); + kcountHEnegativedirectionReconoise6++; + if (kcountHEnegativedirectionReconoise6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise6) + delete h2CeffHEnegativedirectionReconoise6; + //========================================================================================== 11110 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoise7 = 1; + TH1F *h2CeffHEnegativedirectionReconoise7 = new TH1F("h2CeffHEnegativedirectionReconoise7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoise7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoise7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEnegativedirectionReconoise7 = "<SetMarkerColor(2); + HEnegativedirectionReconoise7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoise7 == 1) + HEnegativedirectionReconoise7->SetXTitle("R for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionReconoise7 == 2) + HEnegativedirectionReconoise7->SetXTitle("R for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionReconoise7 == 3) + HEnegativedirectionReconoise7->SetXTitle("R for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionReconoise7->Draw("Error"); + kcountHEnegativedirectionReconoise7++; + if (kcountHEnegativedirectionReconoise7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoise7) + delete h2CeffHEnegativedirectionReconoise7; + + //====================================================================================================================== + //====================================================================================================================== + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //====================================================================================================================== + // DIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIF: Reconoise HE + //====================================================================================================================== + //====================================================================== + c2x1->Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzDIFreconoiseHE42D = new TH2F("GefzDIFreconoiseHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHE42D0 = new TH2F("GefzDIFreconoiseHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHE42DF = (TH2F *)GefzDIFreconoiseHE42D0->Clone("GefzDIFreconoiseHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzDIFreconoiseHE42D->Fill(kkk, jphi, ccc1); + GefzDIFreconoiseHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHE42DF->Divide(GefzDIFreconoiseHE42D, GefzDIFreconoiseHE42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHE42DF->SetXTitle("_depth #eta \b"); + GefzDIFreconoiseHE42DF->SetYTitle(" #phi \b"); + GefzDIFreconoiseHE42DF->Draw("COLZ"); + + //c2x1->cd(2); + //TH1F *energyhitNoise_HE= (TH1F*)hfile->Get("h_energyhitNoise_HE"); + //energyhitNoise_HE ->SetMarkerStyle(20);energyhitNoise_HE ->SetMarkerSize(0.4);energyhitNoise_HE ->GetYaxis()->SetLabelSize(0.04);energyhitNoise_HE ->SetXTitle("energyhitNoise_HE \b");energyhitNoise_HE ->SetMarkerColor(2);energyhitNoise_HE ->SetLineColor(0);gPad->SetGridy();gPad->SetGridx();energyhitNoise_HE ->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("DIFreconoiseGeneralD2PhiSymmetryHE.png"); + c2x1->Clear(); + // clean-up + if (GefzDIFreconoiseHE42D) + delete GefzDIFreconoiseHE42D; + if (GefzDIFreconoiseHE42D0) + delete GefzDIFreconoiseHE42D0; + if (GefzDIFreconoiseHE42DF) + delete GefzDIFreconoiseHE42DF; + //====================================================================== 1D plot: DIF vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: DIF vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzDIFreconoiseHE41D = new TH1F("GefzDIFreconoiseHE41D", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHE41D0 = new TH1F("GefzDIFreconoiseHE41D0", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHE41DF = (TH1F *)GefzDIFreconoiseHE41D0->Clone("GefzDIFreconoiseHE41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzDIFreconoiseHE41D->Fill(jphi, ccc1); + GefzDIFreconoiseHE41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHE41DF->Divide( + GefzDIFreconoiseHE41D, GefzDIFreconoiseHE41D0, 1, 1, "B"); // DIF averaged over depthes & eta + GefzDIFreconoiseHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzDIFreconoiseHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHE41DF->SetMarkerStyle(20); + GefzDIFreconoiseHE41DF->SetMarkerSize(1.4); + GefzDIFreconoiseHE41DF->GetZaxis()->SetLabelSize(0.08); + GefzDIFreconoiseHE41DF->SetXTitle("#phi \b"); + GefzDIFreconoiseHE41DF->SetYTitle(" \b"); + GefzDIFreconoiseHE41DF->SetZTitle("_PHI - AllDepthes \b"); + GefzDIFreconoiseHE41DF->SetMarkerColor(4); + GefzDIFreconoiseHE41DF->SetLineColor( + 4); // GefzDIFreconoiseHE41DF->SetMinimum(0.8); // GefzDIFreconoiseHE41DF->SetMaximum(1.000); + GefzDIFreconoiseHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DIFreconoiseGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (GefzDIFreconoiseHE41D) + delete GefzDIFreconoiseHE41D; + if (GefzDIFreconoiseHE41D0) + delete GefzDIFreconoiseHE41D0; + if (GefzDIFreconoiseHE41DF) + delete GefzDIFreconoiseHE41DF; + + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: DIF vs phi , different eta, depth=1 + //cout<<" 1D plot: DIF vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF1 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEpositivedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF1 == 1) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 2) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 3) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 4) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 5) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 6) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 7) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 8) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 9) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 10) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 11) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseDIF1 == 12) + HEpositivedirectionReconoiseDIF1->SetXTitle("DIF for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionReconoiseDIF1->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF1++; + if (kcountHEpositivedirectionReconoiseDIF1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 15 && jeta-41 <= 28 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF1) + delete h2CeffHEpositivedirectionReconoiseDIF1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF2 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEpositivedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF2 == 1) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 2) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 3) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 4) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 5) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 6) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 7) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 8) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 9) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 10) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 11) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 12) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseDIF2 == 13) + HEpositivedirectionReconoiseDIF2->SetXTitle("DIF for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionReconoiseDIF2->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF2++; + if (kcountHEpositivedirectionReconoiseDIF2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF2) + delete h2CeffHEpositivedirectionReconoiseDIF2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF3 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF3 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEpositivedirectionReconoiseDIF3 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF3 == 1) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 2) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 3) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 4) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 5) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 6) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 7) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 8) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 9) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 10) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 11) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 12) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseDIF3 == 13) + HEpositivedirectionReconoiseDIF3->SetXTitle("DIF for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionReconoiseDIF3->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF3++; + if (kcountHEpositivedirectionReconoiseDIF3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF3) + delete h2CeffHEpositivedirectionReconoiseDIF3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF4 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF4 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEpositivedirectionReconoiseDIF4 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF4 == 1) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 2) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 3) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 4) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 5) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 6) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 7) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 8) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 9) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 10) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 11) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseDIF4 == 12) + HEpositivedirectionReconoiseDIF4->SetXTitle("DIF for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionReconoiseDIF4->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF4++; + if (kcountHEpositivedirectionReconoiseDIF4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF4) + delete h2CeffHEpositivedirectionReconoiseDIF4; + //========================================================================================== 8 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF5 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF5 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEpositivedirectionReconoiseDIF5 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF5 == 1) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 2) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 3) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 4) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 5) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 6) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 7) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 8) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 9) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 10) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseDIF5 == 11) + HEpositivedirectionReconoiseDIF5->SetXTitle("DIF for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionReconoiseDIF5->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF5++; + if (kcountHEpositivedirectionReconoiseDIF5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF5) + delete h2CeffHEpositivedirectionReconoiseDIF5; + //========================================================================================== 9 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF6 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF6 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEpositivedirectionReconoiseDIF6 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF6 == 1) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 2) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 3) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 4) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 5) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 6) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 7) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 8) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 9) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseDIF6 == 10) + HEpositivedirectionReconoiseDIF6->SetXTitle("DIF for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionReconoiseDIF6->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF6++; + if (kcountHEpositivedirectionReconoiseDIF6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF6) + delete h2CeffHEpositivedirectionReconoiseDIF6; + //========================================================================================== 10 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseDIF7 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseDIF7 = new TH1F("h2CeffHEpositivedirectionReconoiseDIF7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirectionReconoiseDIF7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseDIF7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEpositivedirectionReconoiseDIF7 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseDIF7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseDIF7 == 1) + HEpositivedirectionReconoiseDIF7->SetXTitle("DIF for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionReconoiseDIF7 == 2) + HEpositivedirectionReconoiseDIF7->SetXTitle("DIF for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionReconoiseDIF7 == 3) + HEpositivedirectionReconoiseDIF7->SetXTitle("DIF for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionReconoiseDIF7->Draw("Error"); + kcountHEpositivedirectionReconoiseDIF7++; + if (kcountHEpositivedirectionReconoiseDIF7 > 3) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseDIF7) + delete h2CeffHEpositivedirectionReconoiseDIF7; + + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //========================================================================================== 1114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF1 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHEnegativedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF1 == 1) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 2) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 3) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 4) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 5) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 6) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 7) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 8) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 9) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 10) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 11) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseDIF1 == 12) + HEnegativedirectionReconoiseDIF1->SetXTitle("DIF for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionReconoiseDIF1->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF1++; + if (kcountHEnegativedirectionReconoiseDIF1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF1) + delete h2CeffHEnegativedirectionReconoiseDIF1; + + //========================================================================================== 1115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF2 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHEnegativedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF2 == 1) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 2) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 3) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 4) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 5) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 6) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 7) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 8) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 9) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 10) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 11) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 12) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseDIF2 == 13) + HEnegativedirectionReconoiseDIF2->SetXTitle("DIF for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionReconoiseDIF2->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF2++; + if (kcountHEnegativedirectionReconoiseDIF2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF2) + delete h2CeffHEnegativedirectionReconoiseDIF2; + //========================================================================================== 1116 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + //cout<<" 1D plot: R vs phi , different eta, depth=3 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF3 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF3 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF3", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"666 kcountHEnegativedirectionReconoiseDIF3 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF3 == 1) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 2) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 3) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 4) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 5) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 6) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 7) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 8) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 9) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 10) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 11) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 12) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseDIF3 == 13) + HEnegativedirectionReconoiseDIF3->SetXTitle("DIF for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionReconoiseDIF3->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF3++; + if (kcountHEnegativedirectionReconoiseDIF3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF3) + delete h2CeffHEnegativedirectionReconoiseDIF3; + //========================================================================================== 1117 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + //cout<<" 1D plot: R vs phi , different eta, depth=4 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF4 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF4 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"777 kcountHEnegativedirectionReconoiseDIF4 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF4 == 1) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 2) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 3) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 4) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 5) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 6) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 7) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 8) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 9) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 10) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 11) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseDIF4 == 12) + HEnegativedirectionReconoiseDIF4->SetXTitle("DIF for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionReconoiseDIF4->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF4++; + if (kcountHEnegativedirectionReconoiseDIF4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF4) + delete h2CeffHEnegativedirectionReconoiseDIF4; + //========================================================================================== 1118 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + //cout<<" 1D plot: R vs phi , different eta, depth=5 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF5 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF5 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEnegativedirectionReconoiseDIF5 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF5 == 1) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 2) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 3) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 4) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 5) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 6) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 7) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 8) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 9) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 10) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseDIF5 == 11) + HEnegativedirectionReconoiseDIF5->SetXTitle("DIF for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionReconoiseDIF5->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF5++; + if (kcountHEnegativedirectionReconoiseDIF5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF5) + delete h2CeffHEnegativedirectionReconoiseDIF5; + //========================================================================================== 1119 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + //cout<<" 1D plot: R vs phi , different eta, depth=6 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF6 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF6 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"999 kcountHEnegativedirectionReconoiseDIF6 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF6 == 1) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 2) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 3) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 4) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 5) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 6) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 7) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 8) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 9) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseDIF6 == 10) + HEnegativedirectionReconoiseDIF6->SetXTitle("DIF for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionReconoiseDIF6->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF6++; + if (kcountHEnegativedirectionReconoiseDIF6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF6) + delete h2CeffHEnegativedirectionReconoiseDIF6; + //========================================================================================== 11110 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + //cout<<" 1D plot: R vs phi , different eta, depth=7 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseDIF7 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseDIF7 = new TH1F("h2CeffHEnegativedirectionReconoiseDIF7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoisehe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEnegativedirectionReconoiseDIF7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseDIF7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1010 kcountHEnegativedirectionReconoiseDIF7 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseDIF7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseDIF7 == 1) + HEnegativedirectionReconoiseDIF7->SetXTitle("DIF for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionReconoiseDIF7 == 2) + HEnegativedirectionReconoiseDIF7->SetXTitle("DIF for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionReconoiseDIF7 == 3) + HEnegativedirectionReconoiseDIF7->SetXTitle("DIF for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionReconoiseDIF7->Draw("Error"); + kcountHEnegativedirectionReconoiseDIF7++; + if (kcountHEnegativedirectionReconoiseDIF7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -29 && jeta-41 <= -16) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseDIF7) + delete h2CeffHEnegativedirectionReconoiseDIF7; + + //====================================================================================================================== + //====================================================================================================================== + ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recNoiseEnergy2_HE1"); + TH2F *reconoiseVariance0HE1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE1"); + TH2F *reconoiseVarianceHE1 = (TH2F *)reconoiseVariance1HE1->Clone("reconoiseVarianceHE1"); + reconoiseVarianceHE1->Divide(reconoiseVariance1HE1, reconoiseVariance0HE1, 1, 1, "B"); + TH2F *reconoiseVariance1HE2 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE2"); + TH2F *reconoiseVariance0HE2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE2"); + TH2F *reconoiseVarianceHE2 = (TH2F *)reconoiseVariance1HE2->Clone("reconoiseVarianceHE2"); + reconoiseVarianceHE2->Divide(reconoiseVariance1HE2, reconoiseVariance0HE2, 1, 1, "B"); + TH2F *reconoiseVariance1HE3 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE3"); + TH2F *reconoiseVariance0HE3 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE3"); + TH2F *reconoiseVarianceHE3 = (TH2F *)reconoiseVariance1HE3->Clone("reconoiseVarianceHE3"); + reconoiseVarianceHE3->Divide(reconoiseVariance1HE3, reconoiseVariance0HE3, 1, 1, "B"); + TH2F *reconoiseVariance1HE4 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE4"); + TH2F *reconoiseVariance0HE4 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE4"); + TH2F *reconoiseVarianceHE4 = (TH2F *)reconoiseVariance1HE4->Clone("reconoiseVarianceHE4"); + reconoiseVarianceHE4->Divide(reconoiseVariance1HE4, reconoiseVariance0HE4, 1, 1, "B"); + TH2F *reconoiseVariance1HE5 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE5"); + TH2F *reconoiseVariance0HE5 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE5"); + TH2F *reconoiseVarianceHE5 = (TH2F *)reconoiseVariance1HE5->Clone("reconoiseVarianceHE5"); + reconoiseVarianceHE5->Divide(reconoiseVariance1HE5, reconoiseVariance0HE5, 1, 1, "B"); + TH2F *reconoiseVariance1HE6 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE6"); + TH2F *reconoiseVariance0HE6 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE6"); + TH2F *reconoiseVarianceHE6 = (TH2F *)reconoiseVariance1HE6->Clone("reconoiseVarianceHE6"); + reconoiseVarianceHE6->Divide(reconoiseVariance1HE6, reconoiseVariance0HE6, 1, 1, "B"); + TH2F *reconoiseVariance1HE7 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HE7"); + TH2F *reconoiseVariance0HE7 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HE7"); + TH2F *reconoiseVarianceHE7 = (TH2F *)reconoiseVariance1HE7->Clone("reconoiseVarianceHE7"); + reconoiseVarianceHE7->Divide(reconoiseVariance1HE7, reconoiseVariance0HE7, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive reconoisevariancehe + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + //preparation for PHI normalization: + double sumreconoiseHE0 = 0; + int nsumreconoiseHE0 = 0; + double sumreconoiseHE1 = 0; + int nsumreconoiseHE1 = 0; + double sumreconoiseHE2 = 0; + int nsumreconoiseHE2 = 0; + double sumreconoiseHE3 = 0; + int nsumreconoiseHE3 = 0; + double sumreconoiseHE4 = 0; + int nsumreconoiseHE4 = 0; + double sumreconoiseHE5 = 0; + int nsumreconoiseHE5 = 0; + double sumreconoiseHE6 = 0; + int nsumreconoiseHE6 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + reconoisevariancehe[0][jeta][jphi] = reconoiseVarianceHE1->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[1][jeta][jphi] = reconoiseVarianceHE2->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[2][jeta][jphi] = reconoiseVarianceHE3->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[3][jeta][jphi] = reconoiseVarianceHE4->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[4][jeta][jphi] = reconoiseVarianceHE5->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[5][jeta][jphi] = reconoiseVarianceHE6->GetBinContent(jeta + 1, jphi + 1); + reconoisevariancehe[6][jeta][jphi] = reconoiseVarianceHE7->GetBinContent(jeta + 1, jphi + 1); + if (reconoisevariancehe[0][jeta][jphi] != 0.) { + sumreconoiseHE0 += reconoisevariancehe[0][jeta][jphi]; + ++nsumreconoiseHE0; + } + if (reconoisevariancehe[1][jeta][jphi] != 0.) { + sumreconoiseHE1 += reconoisevariancehe[1][jeta][jphi]; + ++nsumreconoiseHE1; + } + if (reconoisevariancehe[2][jeta][jphi] != 0.) { + sumreconoiseHE2 += reconoisevariancehe[2][jeta][jphi]; + ++nsumreconoiseHE2; + } + if (reconoisevariancehe[3][jeta][jphi] != 0.) { + sumreconoiseHE3 += reconoisevariancehe[3][jeta][jphi]; + ++nsumreconoiseHE3; + } + if (reconoisevariancehe[4][jeta][jphi] != 0.) { + sumreconoiseHE4 += reconoisevariancehe[4][jeta][jphi]; + ++nsumreconoiseHE4; + } + if (reconoisevariancehe[5][jeta][jphi] != 0.) { + sumreconoiseHE5 += reconoisevariancehe[5][jeta][jphi]; + ++nsumreconoiseHE5; + } + if (reconoisevariancehe[6][jeta][jphi] != 0.) { + sumreconoiseHE6 += reconoisevariancehe[6][jeta][jphi]; + ++nsumreconoiseHE6; + } + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHE0 != 0.) + reconoisevariancehe[0][jeta][jphi] /= (sumreconoiseHE0 / nsumreconoiseHE0); + if (sumreconoiseHE1 != 0.) + reconoisevariancehe[1][jeta][jphi] /= (sumreconoiseHE1 / nsumreconoiseHE1); + if (sumreconoiseHE2 != 0.) + reconoisevariancehe[2][jeta][jphi] /= (sumreconoiseHE2 / nsumreconoiseHE2); + if (sumreconoiseHE3 != 0.) + reconoisevariancehe[3][jeta][jphi] /= (sumreconoiseHE3 / nsumreconoiseHE3); + if (sumreconoiseHE4 != 0.) + reconoisevariancehe[4][jeta][jphi] /= (sumreconoiseHE4 / nsumreconoiseHE4); + if (sumreconoiseHE5 != 0.) + reconoisevariancehe[5][jeta][jphi] /= (sumreconoiseHE5 / nsumreconoiseHE5); + if (sumreconoiseHE6 != 0.) + reconoisevariancehe[6][jeta][jphi] /= (sumreconoiseHE6 / nsumreconoiseHE6); + } // phi + // reconoisevariancehe (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDreconoiseHE42D = new TH2F("DefzDreconoiseHE42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHE42D0 = new TH2F("DefzDreconoiseHE42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHE42DF = (TH2F *)DefzDreconoiseHE42D0->Clone("DefzDreconoiseHE42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (areconoisehe[i][jeta][jphi] > 0.) { + DefzDreconoiseHE42D->Fill(kkk, jphi, ccc1); + DefzDreconoiseHE42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + DefzDreconoiseHE42DF->Divide(DefzDreconoiseHE42D, DefzDreconoiseHE42D0, 1, 1, "B"); // average A + // DefzDreconoiseHE1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHE42DF->SetMarkerStyle(20); + DefzDreconoiseHE42DF->SetMarkerSize(0.4); + DefzDreconoiseHE42DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHE42DF->SetXTitle("_depth #eta \b"); + DefzDreconoiseHE42DF->SetYTitle(" #phi \b"); + DefzDreconoiseHE42DF->SetZTitle("_depth \b"); + DefzDreconoiseHE42DF->SetMarkerColor(2); + DefzDreconoiseHE42DF->SetLineColor( + 0); // DefzDreconoiseHE42DF->SetMaximum(1.000); // DefzDreconoiseHE42DF->SetMinimum(1.0); + DefzDreconoiseHE42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DreconoiseGeneralD2PhiSymmetryHE.png"); + c1x0->Clear(); + // clean-up + if (DefzDreconoiseHE42D) + delete DefzDreconoiseHE42D; + if (DefzDreconoiseHE42D0) + delete DefzDreconoiseHE42D0; + if (DefzDreconoiseHE42DF) + delete DefzDreconoiseHE42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthes & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthes & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDreconoiseHE41D = new TH1F("DefzDreconoiseHE41D", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHE41D0 = new TH1F("DefzDreconoiseHE41D0", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHE41DF = (TH1F *)DefzDreconoiseHE41D0->Clone("DefzDreconoiseHE41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -29 && jeta - 41 <= -16) || (jeta - 41 >= 15 && jeta - 41 <= 28)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + DefzDreconoiseHE41D->Fill(jphi, ccc1); + DefzDreconoiseHE41D0->Fill(jphi, 1.); + } + } + } + } + } + // DefzDreconoiseHE41D->Sumw2();DefzDreconoiseHE41D0->Sumw2(); + + DefzDreconoiseHE41DF->Divide(DefzDreconoiseHE41D, DefzDreconoiseHE41D0, 1, 1, "B"); // R averaged over depthes & eta + DefzDreconoiseHE41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDreconoiseHE41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHE41DF->SetMarkerStyle(20); + DefzDreconoiseHE41DF->SetMarkerSize(1.4); + DefzDreconoiseHE41DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHE41DF->SetXTitle("#phi \b"); + DefzDreconoiseHE41DF->SetYTitle(" \b"); + DefzDreconoiseHE41DF->SetZTitle("_PHI - AllDepthes \b"); + DefzDreconoiseHE41DF->SetMarkerColor(4); + DefzDreconoiseHE41DF->SetLineColor( + 4); // DefzDreconoiseHE41DF->SetMinimum(0.8); DefzDreconoiseHE41DF->SetMinimum(-0.015); + DefzDreconoiseHE41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DreconoiseGeneralD1PhiSymmetryHE.png"); + c1x1->Clear(); + // clean-up + if (DefzDreconoiseHE41D) + delete DefzDreconoiseHE41D; + if (DefzDreconoiseHE41D0) + delete DefzDreconoiseHE41D0; + if (DefzDreconoiseHE41DF) + delete DefzDreconoiseHE41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD1 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD1 = new TH1F("h2CeffHEpositivedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEpositivedirectionReconoiseD1 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD1 == 1) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 17; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 2) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 3) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 4) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 5) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 6) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 7) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 8) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 9) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 10) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 11) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionReconoiseD1 == 12) + HEpositivedirectionReconoiseD1->SetXTitle("D for HE+ jeta = 28; depth = 1 \b"); + HEpositivedirectionReconoiseD1->Draw("Error"); + kcountHEpositivedirectionReconoiseD1++; + if (kcountHEpositivedirectionReconoiseD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD1) + delete h2CeffHEpositivedirectionReconoiseD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD2 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD2 = new TH1F("h2CeffHEpositivedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEpositivedirectionReconoiseD2 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD2 == 1) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 16; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 2) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 3) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 4) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 5) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 6) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 7) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 8) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 9) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 10) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 11) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 12) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionReconoiseD2 == 13) + HEpositivedirectionReconoiseD2->SetXTitle("D for HE+ jeta = 28; depth = 2 \b"); + HEpositivedirectionReconoiseD2->Draw("Error"); + kcountHEpositivedirectionReconoiseD2++; + if (kcountHEpositivedirectionReconoiseD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD2) + delete h2CeffHEpositivedirectionReconoiseD2; + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD3 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD3 = new TH1F("h2CeffHEpositivedirectionReconoiseD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEpositivedirectionReconoiseD3 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD3 == 1) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 16; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 2) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 3) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 4) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 5) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 6) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 7) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 8) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 9) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 10) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 11) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 12) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionReconoiseD3 == 13) + HEpositivedirectionReconoiseD3->SetXTitle("D for HE+ jeta = 28; depth = 3 \b"); + HEpositivedirectionReconoiseD3->Draw("Error"); + kcountHEpositivedirectionReconoiseD3++; + if (kcountHEpositivedirectionReconoiseD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD3) + delete h2CeffHEpositivedirectionReconoiseD3; + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD4 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD4 = new TH1F("h2CeffHEpositivedirectionReconoiseD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEpositivedirectionReconoiseD4 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD4 == 1) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 15; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 2) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 17; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 3) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 4) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 5) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 6) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 7) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 8) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 9) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 10) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 11) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionReconoiseD4 == 12) + HEpositivedirectionReconoiseD4->SetXTitle("D for HE+ jeta = 27; depth = 4 \b"); + HEpositivedirectionReconoiseD4->Draw("Error"); + kcountHEpositivedirectionReconoiseD4++; + if (kcountHEpositivedirectionReconoiseD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD4) + delete h2CeffHEpositivedirectionReconoiseD4; + //========================================================================================== 18 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD5 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD5 = new TH1F("h2CeffHEpositivedirectionReconoiseD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD5->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEpositivedirectionReconoiseD5 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD5 == 1) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 17; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 2) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 3) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 4) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 5) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 6) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 7) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 8) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 9) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 10) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionReconoiseD5 == 11) + HEpositivedirectionReconoiseD5->SetXTitle("D for HE+ jeta = 27; depth = 5 \b"); + HEpositivedirectionReconoiseD5->Draw("Error"); + kcountHEpositivedirectionReconoiseD5++; + if (kcountHEpositivedirectionReconoiseD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD5) + delete h2CeffHEpositivedirectionReconoiseD5; + //========================================================================================== 19 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD6 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD6 = new TH1F("h2CeffHEpositivedirectionReconoiseD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEpositivedirectionReconoiseD6 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD6 == 1) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 18; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 2) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 3) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 4) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 5) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 6) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 7) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 8) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 9) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionReconoiseD6 == 10) + HEpositivedirectionReconoiseD6->SetXTitle("D for HE+ jeta = 27; depth = 6 \b"); + HEpositivedirectionReconoiseD6->Draw("Error"); + kcountHEpositivedirectionReconoiseD6++; + if (kcountHEpositivedirectionReconoiseD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD6) + delete h2CeffHEpositivedirectionReconoiseD6; + //========================================================================================== 20 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionReconoiseD7 = 1; + TH1F *h2CeffHEpositivedirectionReconoiseD7 = new TH1F("h2CeffHEpositivedirectionReconoiseD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 15 && jeta - 41 <= 28) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEpositivedirectionReconoiseD7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionReconoiseD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEpositivedirectionReconoiseD7 = "<SetMarkerColor(2); + HEpositivedirectionReconoiseD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionReconoiseD7 == 1) + HEpositivedirectionReconoiseD7->SetXTitle("D for HE+ jeta = 25; depth = 7 \b"); + if (kcountHEpositivedirectionReconoiseD7 == 2) + HEpositivedirectionReconoiseD7->SetXTitle("D for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionReconoiseD7 == 3) + HEpositivedirectionReconoiseD7->SetXTitle("D for HE+ jeta = 27; depth = 7 \b"); + HEpositivedirectionReconoiseD7->Draw("Error"); + kcountHEpositivedirectionReconoiseD7++; + if (kcountHEpositivedirectionReconoiseD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionReconoiseD7) + delete h2CeffHEpositivedirectionReconoiseD7; + + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD1 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD1 = new TH1F("h2CeffHEnegativedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHEnegativedirectionReconoiseD1 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD1 == 1) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-29; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 2) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-28; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 3) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-27; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 4) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-26; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 5) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-25; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 6) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-24; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 7) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-23; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 8) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-22; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 9) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-21; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 10) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-20; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 11) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-19; depth = 1 \b"); + if (kcountHEnegativedirectionReconoiseD1 == 12) + HEnegativedirectionReconoiseD1->SetXTitle("D for HE- jeta =-18; depth = 1 \b"); + HEnegativedirectionReconoiseD1->Draw("Error"); + kcountHEnegativedirectionReconoiseD1++; + if (kcountHEnegativedirectionReconoiseD1 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD1) + delete h2CeffHEnegativedirectionReconoiseD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD2 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD2 = new TH1F("h2CeffHEnegativedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHEnegativedirectionReconoiseD2 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD2 == 1) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-29; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 2) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-28; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 3) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-27; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 4) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-26; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 5) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-25; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 6) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-24; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 7) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-23; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 8) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-22; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 9) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-21; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 10) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-20; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 11) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-19; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 12) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-18; depth = 2 \b"); + if (kcountHEnegativedirectionReconoiseD2 == 13) + HEnegativedirectionReconoiseD2->SetXTitle("D for HE- jeta =-17; depth = 2 \b"); + HEnegativedirectionReconoiseD2->Draw("Error"); + kcountHEnegativedirectionReconoiseD2++; + if (kcountHEnegativedirectionReconoiseD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD2) + delete h2CeffHEnegativedirectionReconoiseD2; + //========================================================================================== 22222216 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + //cout<<" 1D plot: D vs phi , different eta, depth=3 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD3 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD3 = new TH1F("h2CeffHEnegativedirectionReconoiseD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD3->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1616 kcountHEnegativedirectionReconoiseD3 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD3 == 1) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-29; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 2) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-28; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 3) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-27; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 4) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-26; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 5) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-25; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 6) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-24; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 7) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-23; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 8) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-22; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 9) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-21; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 10) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-20; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 11) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-19; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 12) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-18; depth = 3 \b"); + if (kcountHEnegativedirectionReconoiseD3 == 13) + HEnegativedirectionReconoiseD3->SetXTitle("D for HE- jeta =-17; depth = 3 \b"); + HEnegativedirectionReconoiseD3->Draw("Error"); + kcountHEnegativedirectionReconoiseD3++; + if (kcountHEnegativedirectionReconoiseD3 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD3) + delete h2CeffHEnegativedirectionReconoiseD3; + //========================================================================================== 22222217 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + //cout<<" 1D plot: D vs phi , different eta, depth=4 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD4 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD4 = new TH1F("h2CeffHEnegativedirectionReconoiseD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD4->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1717 kcountHEnegativedirectionReconoiseD4 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD4 == 1) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-28; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 2) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-27; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 3) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-26; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 4) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-25; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 5) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-24; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 6) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-23; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 7) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-22; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 8) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-21; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 9) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-20; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 10) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-19; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 11) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-18; depth = 4 \b"); + if (kcountHEnegativedirectionReconoiseD4 == 12) + HEnegativedirectionReconoiseD4->SetXTitle("D for HE- jeta =-16; depth = 4 \b"); + HEnegativedirectionReconoiseD4->Draw("Error"); + kcountHEnegativedirectionReconoiseD4++; + if (kcountHEnegativedirectionReconoiseD4 > 12) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD4) + delete h2CeffHEnegativedirectionReconoiseD4; + //========================================================================================== 22222218 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + //cout<<" 1D plot: D vs phi , different eta, depth=5 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD5 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD5 = new TH1F("h2CeffHEnegativedirectionReconoiseD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD5->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1818 kcountHEnegativedirectionReconoiseD5 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD5 == 1) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-28; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 2) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-27; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 3) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-26; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 4) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-25; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 5) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-24; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 6) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-23; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 7) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-22; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 8) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-21; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 9) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-20; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 10) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-19; depth = 5 \b"); + if (kcountHEnegativedirectionReconoiseD5 == 11) + HEnegativedirectionReconoiseD5->SetXTitle("D for HE- jeta =-18; depth = 5 \b"); + HEnegativedirectionReconoiseD5->Draw("Error"); + kcountHEnegativedirectionReconoiseD5++; + if (kcountHEnegativedirectionReconoiseD5 > 11) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD5) + delete h2CeffHEnegativedirectionReconoiseD5; + //========================================================================================== 22222219 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + //cout<<" 1D plot: D vs phi , different eta, depth=6 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD6 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD6 = new TH1F("h2CeffHEnegativedirectionReconoiseD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD6->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1919 kcountHEnegativedirectionReconoiseD6 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD6 == 1) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-28; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 2) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-27; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 3) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-26; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 4) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-25; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 5) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-24; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 6) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-23; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 7) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-22; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 8) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-21; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 9) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-20; depth = 6 \b"); + if (kcountHEnegativedirectionReconoiseD6 == 10) + HEnegativedirectionReconoiseD6->SetXTitle("D for HE- jeta =-19; depth = 6 \b"); + HEnegativedirectionReconoiseD6->Draw("Error"); + kcountHEnegativedirectionReconoiseD6++; + if (kcountHEnegativedirectionReconoiseD6 > 10) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD6) + delete h2CeffHEnegativedirectionReconoiseD6; + //========================================================================================== 22222220 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + //cout<<" 1D plot: D vs phi , different eta, depth=7 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEnegativedirectionReconoiseD7 = 1; + TH1F *h2CeffHEnegativedirectionReconoiseD7 = new TH1F("h2CeffHEnegativedirectionReconoiseD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -29 && jeta - 41 <= -16) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevariancehe[i][jeta][jphi]; + if (areconoisehe[i][jeta][jphi] > 0.) { + HEnegativedirectionReconoiseD7->Fill(jphi, ccc1); + ccctest = 1.; //HEnegativedirectionReconoiseD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + //cout<<"2020 kcountHEnegativedirectionReconoiseD7 = "<SetMarkerColor(2); + HEnegativedirectionReconoiseD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEnegativedirectionReconoiseD7 == 1) + HEnegativedirectionReconoiseD7->SetXTitle("D for HE- jeta =-28; depth = 7 \b"); + if (kcountHEnegativedirectionReconoiseD7 == 2) + HEnegativedirectionReconoiseD7->SetXTitle("D for HE- jeta =-27; depth = 7 \b"); + if (kcountHEnegativedirectionReconoiseD7 == 3) + HEnegativedirectionReconoiseD7->SetXTitle("D for HE- jeta =-26; depth = 7 \b"); + HEnegativedirectionReconoiseD7->Draw("Error"); + kcountHEnegativedirectionReconoiseD7++; + if (kcountHEnegativedirectionReconoiseD7 > 3) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 < 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEnegativedirectionReconoiseD7) + delete h2CeffHEnegativedirectionReconoiseD7; + //===================================================================== END of Reconoise HE for phi-symmetry + //===================================================================== END of Reconoise HE for phi-symmetry + //===================================================================== END of Reconoise HE for phi-symmetry + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HF + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: Reconoise HF + // int k_max[5]={0,4,7,4,4}; // maximum depth for each subdet + //ndepth = k_max[5]; + ndepth = 2; + double areconoiseHF[ndepth][njeta][njphi]; + double breconoiseHF[ndepth][njeta][njphi]; + double reconoisevarianceHF[ndepth][njeta][njphi]; + + TH2F *recNoiseEnergy1HF1 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HF1"); + TH2F *recNoiseEnergy0HF1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HF1"); + TH2F *recNoiseEnergyHF1 = (TH2F *)recNoiseEnergy1HF1->Clone("recNoiseEnergyHF1"); + recNoiseEnergyHF1->Divide(recNoiseEnergy1HF1, recNoiseEnergy0HF1, 1, 1, "B"); + TH2F *recNoiseEnergy1HF2 = (TH2F *)hfile->Get("h_recNoiseEnergy1_HF2"); + TH2F *recNoiseEnergy0HF2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HF2"); + TH2F *recNoiseEnergyHF2 = (TH2F *)recNoiseEnergy1HF2->Clone("recNoiseEnergyHF2"); + recNoiseEnergyHF2->Divide(recNoiseEnergy1HF2, recNoiseEnergy0HF2, 1, 1, "B"); + //====================================================================== PHI normalization & put R into massive areconoiseHF + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + //preparation for PHI normalization: + double sumreconoiseHF0 = 0; + int nsumreconoiseHF0 = 0; + double sumreconoiseHF1 = 0; + int nsumreconoiseHF1 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + areconoiseHF[0][jeta][jphi] = recNoiseEnergyHF1->GetBinContent(jeta + 1, jphi + 1); + areconoiseHF[1][jeta][jphi] = recNoiseEnergyHF2->GetBinContent(jeta + 1, jphi + 1); + breconoiseHF[0][jeta][jphi] = recNoiseEnergyHF1->GetBinContent(jeta + 1, jphi + 1); + breconoiseHF[1][jeta][jphi] = recNoiseEnergyHF2->GetBinContent(jeta + 1, jphi + 1); + sumreconoiseHF0 += areconoiseHF[0][jeta][jphi]; + ++nsumreconoiseHF0; + sumreconoiseHF1 += areconoiseHF[1][jeta][jphi]; + ++nsumreconoiseHF1; + } // phi + + // PHI normalization for DIF: + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHF0 != 0.) + breconoiseHF[0][jeta][jphi] -= (sumreconoiseHF0 / nsumreconoiseHF0); + if (sumreconoiseHF1 != 0.) + breconoiseHF[1][jeta][jphi] -= (sumreconoiseHF1 / nsumreconoiseHF1); + } // phi + + // PHI normalization for R: + for (int jphi = 0; jphi < njphi; jphi++) { + if (sumreconoiseHF0 != 0.) + areconoiseHF[0][jeta][jphi] /= (sumreconoiseHF0 / nsumreconoiseHF0); + if (sumreconoiseHF1 != 0.) + areconoiseHF[1][jeta][jphi] /= (sumreconoiseHF1 / nsumreconoiseHF1); + } // phi + + } // jeta-41 + } //eta + ///////////////////////////////////////// + + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: Reconoise HF + //------------------------ 2D-eta/phi-plot: R, averaged over depthfs + //====================================================================== + //====================================================================== + // cout<<" R2D-eta/phi-plot: R, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzRreconoiseHF42D = new TH2F("GefzRreconoiseHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHF42D0 = new TH2F("GefzRreconoiseHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzRreconoiseHF42DF = (TH2F *)GefzRreconoiseHF42D0->Clone("GefzRreconoiseHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzRreconoiseHF42D->Fill(kkk, jphi, ccc1); + GefzRreconoiseHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzRreconoiseHF42DF->Divide(GefzRreconoiseHF42D, GefzRreconoiseHF42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHF42DF->SetXTitle("_depth #eta \b"); + GefzRreconoiseHF42DF->SetYTitle(" #phi \b"); + GefzRreconoiseHF42DF->Draw("COLZ"); + + c2x1->cd(2); + TH1F *energyhitNoise_HF = (TH1F *)hfile->Get("h_energyhitNoise_HF"); + energyhitNoise_HF->SetMarkerStyle(20); + energyhitNoise_HF->SetMarkerSize(0.4); + energyhitNoise_HF->GetYaxis()->SetLabelSize(0.04); + energyhitNoise_HF->SetXTitle("energyhitNoise_HF \b"); + energyhitNoise_HF->SetMarkerColor(2); + energyhitNoise_HF->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + energyhitNoise_HF->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("RreconoiseGeneralD2PhiSymmetryHF.png"); + c2x1->Clear(); + // clean-up + if (GefzRreconoiseHF42D) + delete GefzRreconoiseHF42D; + if (GefzRreconoiseHF42D0) + delete GefzRreconoiseHF42D0; + if (GefzRreconoiseHF42DF) + delete GefzRreconoiseHF42DF; + //====================================================================== 1D plot: R vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: R vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzRreconoiseHF41D = new TH1F("GefzRreconoiseHF41D", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHF41D0 = new TH1F("GefzRreconoiseHF41D0", "", nphi, 0., 72.); + TH1F *GefzRreconoiseHF41DF = (TH1F *)GefzRreconoiseHF41D0->Clone("GefzRreconoiseHF41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzRreconoiseHF41D->Fill(jphi, ccc1); + GefzRreconoiseHF41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzRreconoiseHF41DF->Divide(GefzRreconoiseHF41D, GefzRreconoiseHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + GefzRreconoiseHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzRreconoiseHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzRreconoiseHF41DF->SetMarkerStyle(20); + GefzRreconoiseHF41DF->SetMarkerSize(1.4); + GefzRreconoiseHF41DF->GetZaxis()->SetLabelSize(0.08); + GefzRreconoiseHF41DF->SetXTitle("#phi \b"); + GefzRreconoiseHF41DF->SetYTitle(" \b"); + GefzRreconoiseHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzRreconoiseHF41DF->SetMarkerColor(4); + GefzRreconoiseHF41DF->SetLineColor( + 4); // GefzRreconoiseHF41DF->SetMinimum(0.8); // GefzRreconoiseHF41DF->SetMaximum(1.000); + GefzRreconoiseHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("RreconoiseGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (GefzRreconoiseHF41D) + delete GefzRreconoiseHF41D; + if (GefzRreconoiseHF41D0) + delete GefzRreconoiseHF41D0; + if (GefzRreconoiseHF41DF) + delete GefzRreconoiseHF41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoise1 = 1; + TH1F *h2CeffHFpositivedirectionReconoise1 = new TH1F("h2CeffHFpositivedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFpositivedirectionReconoise1 = "<SetMarkerColor(2); + HFpositivedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoise1 == 1) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 2) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 3) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 4) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 5) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 6) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 7) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 8) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 9) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 10) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 11) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 12) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionReconoise1 == 13) + HFpositivedirectionReconoise1->SetXTitle("R for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionReconoise1->Draw("Error"); + kcountHFpositivedirectionReconoise1++; + if (kcountHFpositivedirectionReconoise1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoise1) + delete h2CeffHFpositivedirectionReconoise1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoise2 = 1; + TH1F *h2CeffHFpositivedirectionReconoise2 = new TH1F("h2CeffHFpositivedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoise: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFpositivedirectionReconoise2 = "<SetMarkerColor(2); + HFpositivedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoise2 == 1) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 2) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 3) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 4) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 5) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 6) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 7) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 8) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 9) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 10) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 11) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 12) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionReconoise2 == 13) + HFpositivedirectionReconoise2->SetXTitle("R for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionReconoise2->Draw("Error"); + kcountHFpositivedirectionReconoise2++; + if (kcountHFpositivedirectionReconoise2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoisePositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoise2) + delete h2CeffHFpositivedirectionReconoise2; + + //========================================================================================== 1111114 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + //cout<<" 1D plot: R vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoise1 = 1; + TH1F *h2CeffHFnegativedirectionReconoise1 = new TH1F("h2CeffHFnegativedirectionReconoise1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionReconoise1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoise1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFnegativedirectionReconoise1 = "<SetMarkerColor(2); + HFnegativedirectionReconoise1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoise1 == 1) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 2) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 3) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 4) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 5) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 6) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 7) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 8) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 9) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 10) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 11) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 12) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionReconoise1 == 13) + HFnegativedirectionReconoise1->SetXTitle("R for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionReconoise1->Draw("Error"); + kcountHFnegativedirectionReconoise1++; + if (kcountHFnegativedirectionReconoise1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoise1) + delete h2CeffHFnegativedirectionReconoise1; + + //========================================================================================== 1111115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoise2 = 1; + TH1F *h2CeffHFnegativedirectionReconoise2 = new TH1F("h2CeffHFnegativedirectionReconoise2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoise: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = areconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionReconoise2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoise2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFnegativedirectionReconoise2 = "<SetMarkerColor(2); + HFnegativedirectionReconoise2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoise2 == 1) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 2) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 3) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 4) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 5) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 6) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 7) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 8) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 9) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 10) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 11) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 12) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionReconoise2 == 13) + HFnegativedirectionReconoise2->SetXTitle("R for HF- jeta =-20; depth = 2 \b"); + HFnegativedirectionReconoise2->Draw("Error"); + kcountHFnegativedirectionReconoise2++; + if (kcountHFnegativedirectionReconoise2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("RreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoise2) + delete h2CeffHFnegativedirectionReconoise2; + + //====================================================================================================================== + // DIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIF: Reconoise HF + //------------------------ 2D-eta/phi-plot: DIF, averaged over depthfs + //====================================================================== + //====================================================================== + // cout<<" DIF2D-eta/phi-plot: DIF, averaged over depthfs *****" <Clear(); + ///////////////// + c2x1->Divide(2, 1); + c2x1->cd(1); + TH2F *GefzDIFreconoiseHF42D = new TH2F("GefzDIFreconoiseHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHF42D0 = new TH2F("GefzDIFreconoiseHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *GefzDIFreconoiseHF42DF = (TH2F *)GefzDIFreconoiseHF42D0->Clone("GefzDIFreconoiseHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + GefzDIFreconoiseHF42D->Fill(kkk, jphi, ccc1); + GefzDIFreconoiseHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHF42DF->Divide(GefzDIFreconoiseHF42D, GefzDIFreconoiseHF42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHF42DF->SetXTitle("_depth #eta \b"); + GefzDIFreconoiseHF42DF->SetYTitle(" #phi \b"); + GefzDIFreconoiseHF42DF->Draw("COLZ"); + + c2x1->cd(2); + // TH1F *energyhitNoiseCut_HF= (TH1F*)hfile->Get("h_energyhitNoiseCut_HF"); + // energyhitNoiseCut_HF ->SetMarkerStyle(20);energyhitNoiseCut_HF ->SetMarkerSize(0.4);energyhitNoiseCut_HF ->GetYaxis()->SetLabelSize(0.04);energyhitNoiseCut_HF ->SetXTitle("energyhitNoiseCut_HF \b");energyhitNoiseCut_HF ->SetMarkerColor(2);energyhitNoiseCut_HF ->SetLineColor(0);gPad->SetGridy();gPad->SetGridx();energyhitNoiseCut_HF ->Draw("Error"); + + ///////////////// + c2x1->Update(); + c2x1->Print("DIFreconoiseGeneralD2PhiSymmetryHF.png"); + c2x1->Clear(); + // clean-up + if (GefzDIFreconoiseHF42D) + delete GefzDIFreconoiseHF42D; + if (GefzDIFreconoiseHF42D0) + delete GefzDIFreconoiseHF42D0; + if (GefzDIFreconoiseHF42DF) + delete GefzDIFreconoiseHF42DF; + //====================================================================== 1D plot: DIF vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: DIF vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *GefzDIFreconoiseHF41D = new TH1F("GefzDIFreconoiseHF41D", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHF41D0 = new TH1F("GefzDIFreconoiseHF41D0", "", nphi, 0., 72.); + TH1F *GefzDIFreconoiseHF41DF = (TH1F *)GefzDIFreconoiseHF41D0->Clone("GefzDIFreconoiseHF41DF"); + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + GefzDIFreconoiseHF41D->Fill(jphi, ccc1); + GefzDIFreconoiseHF41D0->Fill(jphi, 1.); + } + } + } + } + } + GefzDIFreconoiseHF41DF->Divide( + GefzDIFreconoiseHF41D, GefzDIFreconoiseHF41D0, 1, 1, "B"); // DIF averaged over depthfs & eta + GefzDIFreconoiseHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {GefzDIFreconoiseHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + GefzDIFreconoiseHF41DF->SetMarkerStyle(20); + GefzDIFreconoiseHF41DF->SetMarkerSize(1.4); + GefzDIFreconoiseHF41DF->GetZaxis()->SetLabelSize(0.08); + GefzDIFreconoiseHF41DF->SetXTitle("#phi \b"); + GefzDIFreconoiseHF41DF->SetYTitle(" \b"); + GefzDIFreconoiseHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + GefzDIFreconoiseHF41DF->SetMarkerColor(4); + GefzDIFreconoiseHF41DF->SetLineColor( + 4); // GefzDIFreconoiseHF41DF->SetMinimum(0.8); // GefzDIFreconoiseHF41DF->SetMaximum(1.000); + GefzDIFreconoiseHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DIFreconoiseGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (GefzDIFreconoiseHF41D) + delete GefzDIFreconoiseHF41D; + if (GefzDIFreconoiseHF41D0) + delete GefzDIFreconoiseHF41D0; + if (GefzDIFreconoiseHF41DF) + delete GefzDIFreconoiseHF41DF; + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: DIF vs phi , different eta, depth=1 + //cout<<" 1D plot: DIF vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHFpositivedirectionReconoiseDIF1 = new TH1F("h2CeffHFpositivedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFpositivedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HFpositivedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoiseDIF1 == 1) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 2) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 3) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 4) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 5) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 6) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 7) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 8) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 9) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 10) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 11) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 12) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseDIF1 == 13) + HFpositivedirectionReconoiseDIF1->SetXTitle("DIF for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionReconoiseDIF1->Draw("Error"); + kcountHFpositivedirectionReconoiseDIF1++; + if (kcountHFpositivedirectionReconoiseDIF1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40 + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoiseDIF1) + delete h2CeffHFpositivedirectionReconoiseDIF1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHFpositivedirectionReconoiseDIF2 = new TH1F("h2CeffHFpositivedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseDIF: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFpositivedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFpositivedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HFpositivedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoiseDIF2 == 1) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 2) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 3) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 4) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 5) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 6) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 7) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 8) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 9) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 10) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 11) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 12) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseDIF2 == 13) + HFpositivedirectionReconoiseDIF2->SetXTitle("DIF for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionReconoiseDIF2->Draw("Error"); + kcountHFpositivedirectionReconoiseDIF2++; + if (kcountHFpositivedirectionReconoiseDIF2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoisePositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoiseDIF2) + delete h2CeffHFpositivedirectionReconoiseDIF2; + + //========================================================================================== 1111114 + //====================================================================== + //======================================================================1D plot: DIF vs phi , different eta, depth=1 + //cout<<" 1D plot: DIF vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoiseDIF1 = 1; + TH1F *h2CeffHFnegativedirectionReconoiseDIF1 = new TH1F("h2CeffHFnegativedirectionReconoiseDIF1", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionReconoiseDIF1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoiseDIF1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + // cout<<"444 kcountHFnegativedirectionReconoiseDIF1 = "<SetMarkerColor(2); + HFnegativedirectionReconoiseDIF1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoiseDIF1 == 1) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 2) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 3) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 4) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 5) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 6) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 7) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 8) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 9) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 10) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 11) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 12) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseDIF1 == 13) + HFnegativedirectionReconoiseDIF1->SetXTitle("DIF for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionReconoiseDIF1->Draw("Error"); + kcountHFnegativedirectionReconoiseDIF1++; + if (kcountHFnegativedirectionReconoiseDIF1 > 13) + break; // + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoiseDIF1) + delete h2CeffHFnegativedirectionReconoiseDIF1; + + //========================================================================================== 1111115 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + // cout<<" 1D plot: R vs phi , different eta, depth=2 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoiseDIF2 = 1; + TH1F *h2CeffHFnegativedirectionReconoiseDIF2 = new TH1F("h2CeffHFnegativedirectionReconoiseDIF2", "", nphi, 0., 72.); + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseDIF: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = breconoiseHF[i][jeta][jphi]; + if (ccc1 != 0.) { + HFnegativedirectionReconoiseDIF2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoiseDIF2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"555 kcountHFnegativedirectionReconoiseDIF2 = "<SetMarkerColor(2); + HFnegativedirectionReconoiseDIF2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoiseDIF2 == 1) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 2) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 3) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 4) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 5) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 6) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 7) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 8) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 9) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 10) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 11) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 12) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseDIF2 == 13) + HFnegativedirectionReconoiseDIF2->SetXTitle("DIF for HF- jeta =-20; depth = 2 \b"); + HFnegativedirectionReconoiseDIF2->Draw("Error"); + kcountHFnegativedirectionReconoiseDIF2++; + if (kcountHFnegativedirectionReconoiseDIF2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DIFreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoiseDIF2) + delete h2CeffHFnegativedirectionReconoiseDIF2; + + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + //====================================================================================================================== + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + //cout<<" Start Vaiance: preparation *****" <Get("h_recNoiseEnergy2_HF1"); + TH2F *reconoiseVariance0HF1 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HF1"); + TH2F *reconoiseVarianceHF1 = (TH2F *)reconoiseVariance1HF1->Clone("reconoiseVarianceHF1"); + reconoiseVarianceHF1->Divide(reconoiseVariance1HF1, reconoiseVariance0HF1, 1, 1, "B"); + TH2F *reconoiseVariance1HF2 = (TH2F *)hfile->Get("h_recNoiseEnergy2_HF2"); + TH2F *reconoiseVariance0HF2 = (TH2F *)hfile->Get("h_recNoiseEnergy0_HF2"); + TH2F *reconoiseVarianceHF2 = (TH2F *)reconoiseVariance1HF2->Clone("reconoiseVarianceHF2"); + reconoiseVarianceHF2->Divide(reconoiseVariance1HF2, reconoiseVariance0HF2, 1, 1, "B"); + //cout<<" Vaiance: preparation DONE *****" < - ()**2 into massive reconoisevarianceHF + // = sum(R*R)/N - (sum(R)/N)**2 + for (int jeta = 0; jeta < njeta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + //preparation for PHI normalization: + double sumreconoiseHF0 = 0; + int nsumreconoiseHF0 = 0; + double sumreconoiseHF1 = 0; + int nsumreconoiseHF1 = 0; + for (int jphi = 0; jphi < njphi; jphi++) { + reconoisevarianceHF[0][jeta][jphi] = reconoiseVarianceHF1->GetBinContent(jeta + 1, jphi + 1); + reconoisevarianceHF[1][jeta][jphi] = reconoiseVarianceHF2->GetBinContent(jeta + 1, jphi + 1); + sumreconoiseHF0 += reconoisevarianceHF[0][jeta][jphi]; + ++nsumreconoiseHF0; + sumreconoiseHF1 += reconoisevarianceHF[1][jeta][jphi]; + ++nsumreconoiseHF1; + } // phi + // PHI normalization : + for (int jphi = 0; jphi < njphi; jphi++) { + if (reconoisevarianceHF[0][jeta][jphi] != 0.) + reconoisevarianceHF[0][jeta][jphi] /= (sumreconoiseHF0 / nsumreconoiseHF0); + if (reconoisevarianceHF[1][jeta][jphi] != 0.) + reconoisevarianceHF[1][jeta][jphi] /= (sumreconoiseHF1 / nsumreconoiseHF1); + } // phi + // reconoisevarianceHF (D) = sum(R*R)/N - (sum(R)/N)**2 + for (int jphi = 0; jphi < njphi; jphi++) { + // cout<<"12 12 12 jeta= "<< jeta <<" jphi = "<Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *DefzDreconoiseHF42D = new TH2F("DefzDreconoiseHF42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHF42D0 = new TH2F("DefzDreconoiseHF42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *DefzDreconoiseHF42DF = (TH2F *)DefzDreconoiseHF42D0->Clone("DefzDreconoiseHF42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (areconoiseHF[i][jeta][jphi] > 0.) { + DefzDreconoiseHF42D->Fill(kkk, jphi, ccc1); + DefzDreconoiseHF42D0->Fill(kkk, jphi, 1.); + } + } + } + } + } + DefzDreconoiseHF42DF->Divide(DefzDreconoiseHF42D, DefzDreconoiseHF42D0, 1, 1, "B"); // average A + // DefzDreconoiseHF1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHF42DF->SetMarkerStyle(20); + DefzDreconoiseHF42DF->SetMarkerSize(0.4); + DefzDreconoiseHF42DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHF42DF->SetXTitle("_depth #eta \b"); + DefzDreconoiseHF42DF->SetYTitle(" #phi \b"); + DefzDreconoiseHF42DF->SetZTitle("_depth \b"); + DefzDreconoiseHF42DF->SetMarkerColor(2); + DefzDreconoiseHF42DF->SetLineColor( + 0); // DefzDreconoiseHF42DF->SetMaximum(1.000); // DefzDreconoiseHF42DF->SetMinimum(1.0); + DefzDreconoiseHF42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("DreconoiseGeneralD2PhiSymmetryHF.png"); + c1x0->Clear(); + // clean-up + if (DefzDreconoiseHF42D) + delete DefzDreconoiseHF42D; + if (DefzDreconoiseHF42D0) + delete DefzDreconoiseHF42D0; + if (DefzDreconoiseHF42DF) + delete DefzDreconoiseHF42DF; + //====================================================================== 1D plot: D vs phi , averaged over depthfs & eta + //====================================================================== + //cout<<" 1D plot: D vs phi , averaged over depthfs & eta *****" <Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *DefzDreconoiseHF41D = new TH1F("DefzDreconoiseHF41D", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHF41D0 = new TH1F("DefzDreconoiseHF41D0", "", nphi, 0., 72.); + TH1F *DefzDreconoiseHF41DF = (TH1F *)DefzDreconoiseHF41D0->Clone("DefzDreconoiseHF41DF"); + + for (int jphi = 0; jphi < nphi; jphi++) { + for (int jeta = 0; jeta < neta; jeta++) { + if ((jeta - 41 >= -41 && jeta - 41 <= -29) || (jeta - 41 >= 28 && jeta - 41 <= 40)) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + if (areconoiseHF[i][jeta][jphi] > 0.) { + DefzDreconoiseHF41D->Fill(jphi, ccc1); + DefzDreconoiseHF41D0->Fill(jphi, 1.); + } + } + } + } + } + // DefzDreconoiseHF41D->Sumw2();DefzDreconoiseHF41D0->Sumw2(); + + DefzDreconoiseHF41DF->Divide(DefzDreconoiseHF41D, DefzDreconoiseHF41D0, 1, 1, "B"); // R averaged over depthfs & eta + DefzDreconoiseHF41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {DefzDreconoiseHF41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + DefzDreconoiseHF41DF->SetMarkerStyle(20); + DefzDreconoiseHF41DF->SetMarkerSize(1.4); + DefzDreconoiseHF41DF->GetZaxis()->SetLabelSize(0.08); + DefzDreconoiseHF41DF->SetXTitle("#phi \b"); + DefzDreconoiseHF41DF->SetYTitle(" \b"); + DefzDreconoiseHF41DF->SetZTitle("_PHI - AllDepthfs \b"); + DefzDreconoiseHF41DF->SetMarkerColor(4); + DefzDreconoiseHF41DF->SetLineColor( + 4); // DefzDreconoiseHF41DF->SetMinimum(0.8); DefzDreconoiseHF41DF->SetMinimum(-0.015); + DefzDreconoiseHF41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("DreconoiseGeneralD1PhiSymmetryHF.png"); + c1x1->Clear(); + // clean-up + if (DefzDreconoiseHF41D) + delete DefzDreconoiseHF41D; + if (DefzDreconoiseHF41D0) + delete DefzDreconoiseHF41D0; + if (DefzDreconoiseHF41DF) + delete DefzDreconoiseHF41DF; + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoiseD1 = 1; + TH1F *h2CeffHFpositivedirectionReconoiseD1 = new TH1F("h2CeffHFpositivedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + if (areconoiseHF[i][jeta][jphi] > 0.) { + HFpositivedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFpositivedirectionReconoiseD1 = "<SetMarkerColor(2); + HFpositivedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoiseD1 == 1) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 28; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 2) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 29; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 3) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 30; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 4) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 31; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 5) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 32; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 6) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 33; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 7) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 34; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 8) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 35; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 9) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 36; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 10) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 37; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 11) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 38; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 12) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 39; depth = 1 \b"); + if (kcountHFpositivedirectionReconoiseD1 == 13) + HFpositivedirectionReconoiseD1->SetXTitle("D for HF+ jeta = 40; depth = 1 \b"); + HFpositivedirectionReconoiseD1->Draw("Error"); + kcountHFpositivedirectionReconoiseD1++; + if (kcountHFpositivedirectionReconoiseD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoiseD1) + delete h2CeffHFpositivedirectionReconoiseD1; + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFpositivedirectionReconoiseD2 = 1; + TH1F *h2CeffHFpositivedirectionReconoiseD2 = new TH1F("h2CeffHFpositivedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionReconoiseD: + if (jeta - 41 >= 28 && jeta - 41 <= 40) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + if (areconoiseHF[i][jeta][jphi] > 0.) { + HFpositivedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HFpositivedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFpositivedirectionReconoiseD2 = "<SetMarkerColor(2); + HFpositivedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFpositivedirectionReconoiseD2 == 1) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 28; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 2) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 29; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 3) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 30; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 4) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 31; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 5) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 32; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 6) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 33; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 7) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 34; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 8) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 35; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 9) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 36; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 10) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 37; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 11) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 38; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 12) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 39; depth = 2 \b"); + if (kcountHFpositivedirectionReconoiseD2 == 13) + HFpositivedirectionReconoiseD2->SetXTitle("D for HF+ jeta = 40; depth = 2 \b"); + HFpositivedirectionReconoiseD2->Draw("Error"); + kcountHFpositivedirectionReconoiseD2++; + if (kcountHFpositivedirectionReconoiseD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= 28 && jeta-41 <= 40) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoisePositiveDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFpositivedirectionReconoiseD2) + delete h2CeffHFpositivedirectionReconoiseD2; + //========================================================================================== 22222214 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + //cout<<" 1D plot: D vs phi , different eta, depth=1 *****" <Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoiseD1 = 1; + TH1F *h2CeffHFnegativedirectionReconoiseD1 = new TH1F("h2CeffHFnegativedirectionReconoiseD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + if (areconoiseHF[i][jeta][jphi] > 0.) { + HFnegativedirectionReconoiseD1->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoiseD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1414 kcountHFnegativedirectionReconoiseD1 = "<SetMarkerColor(2); + HFnegativedirectionReconoiseD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoiseD1 == 1) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-41; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 2) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-40; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 3) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-39; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 4) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-38; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 5) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-37; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 6) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-36; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 7) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-35; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 8) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-34; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 9) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-33; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 10) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-32; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 11) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-31; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 12) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-30; depth = 1 \b"); + if (kcountHFnegativedirectionReconoiseD1 == 13) + HFnegativedirectionReconoiseD1->SetXTitle("D for HF- jeta =-29; depth = 1 \b"); + HFnegativedirectionReconoiseD1->Draw("Error"); + kcountHFnegativedirectionReconoiseD1++; + if (kcountHFnegativedirectionReconoiseD1 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth1HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoiseD1) + delete h2CeffHFnegativedirectionReconoiseD1; + //========================================================================================== 22222215 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + //cout<<" 1D plot: D vs phi , different eta, depth=2 *****" <Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHFnegativedirectionReconoiseD2 = 1; + TH1F *h2CeffHFnegativedirectionReconoiseD2 = new TH1F("h2CeffHFnegativedirectionReconoiseD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // negativedirectionReconoiseD: + if (jeta - 41 >= -41 && jeta - 41 <= -29) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = reconoisevarianceHF[i][jeta][jphi]; + if (areconoiseHF[i][jeta][jphi] > 0.) { + HFnegativedirectionReconoiseD2->Fill(jphi, ccc1); + ccctest = 1.; //HFnegativedirectionReconoiseD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + //cout<<"1515 kcountHFnegativedirectionReconoiseD2 = "<SetMarkerColor(2); + HFnegativedirectionReconoiseD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHFnegativedirectionReconoiseD2 == 1) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-41; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 2) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-40; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 3) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-39; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 4) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-38; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 5) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-37; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 6) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-36; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 7) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-35; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 8) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-34; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 9) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-33; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 10) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-32; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 11) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-31; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 12) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-30; depth = 2 \b"); + if (kcountHFnegativedirectionReconoiseD2 == 13) + HFnegativedirectionReconoiseD2->SetXTitle("D for HF- jeta =-29; depth = 2 \b"); + HFnegativedirectionReconoiseD2->Draw("Error"); + kcountHFnegativedirectionReconoiseD2++; + if (kcountHFnegativedirectionReconoiseD2 > 13) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 >= -41 && jeta-41 <= -29) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("DreconoiseNegativeDirectionhistD1PhiSymmetryDepth2HF.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHFnegativedirectionReconoiseD2) + delete h2CeffHFnegativedirectionReconoiseD2; + + //===================================================================== END of Reconoise HF for phi-symmetry + //===================================================================== END of Reconoise HF for phi-symmetry + //===================================================================== END of Reconoise HF for phi-symmetry + //============================================================================================================ END of Reconoise for phi-symmetry + //============================================================================================================ END of Reconoise for phi-symmetry + //============================================================================================================ END of Reconoise for phi-symmetry + + //==================================================================================================================================================== END for phi-symmetry + //==================================================================================================================================================== END for phi-symmetry + //==================================================================================================================================================== END for phi-symmetry + //==================================================================================================================================================== + + std::cout << " We are here to print 2017 MAPs " << std::endl; + //====================================================================== + + //====================================================================== + /// Prepare maps of good/bad channels: + + TH2F *Map_ALL = new TH2F("Map_All", "Map_all", 82, -41, 40, 72, 0, 71); + int nx = Map_ALL->GetXaxis()->GetNbins(); + int ny = Map_ALL->GetYaxis()->GetNbins(); + int NBad = 0; + int NWarn = 0; + int NCalib = 0; + int NPed = 0; + // int Eta[3][10000]={0}; + int Eta[4][10000] = {0}; + int Phi[4][10000] = {0}; + int Sub[4][10000] = {0}; + int Depth[4][10000] = {0}; + string Comment[4][10000] = {""}; + string Text[33] = {"", "Cm", "Am", "Wm", "Rm", "TNm", "TXm", "", "", "", "", "Cc", "Ac", "Wc", "Rc", "TNc", "TXc", + "", "", "", "", "GS", "", "", "", "", "", "", "", "", "", "Pm", "pWm"}; + int flag_W = 0; + int flag_B = 0; + int flag_P = 0; + + for (int i = 1; i <= nx; i++) { //Eta + for (int j = 1; j <= ny; j++) { // Phi + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (Map_SUB[sub][k]->GetBinContent(i, j) != 0) { + Map_SUB[sub][k]->SetBinContent(i, j, 0.5); + Map_ALL->SetBinContent(i, j, 0.5); + } + } + } + } + } + + for (int i = 1; i <= nx; i++) { //Eta + for (int j = 1; j <= ny; j++) { // Phi + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + flag_W = 0; + flag_B = 0; + flag_P = 0; + for (int test = 1; test <= 6; test++) { //Test: 1-Wm, 2-Rm, etc + //Bad + if (Map_Ampl[test][sub][k]->GetBinContent(i, j) > + 0.1) { //Rate 0.1 for displaying on whole detector map and subdetector map + Map_ALL->SetBinContent(i, j, 1.); + Map_SUB[sub][k]->SetBinContent(i, j, 1.); + if (flag_B == 0) { + NBad += 1; + Eta[2][NBad] = i - 41; + Phi[2][NBad] = j - 1; + Sub[2][NBad] = sub; + Depth[2][NBad] = k; + Comment[2][NBad] = Text[test]; + } else + Comment[2][NBad] += ", " + Text[test]; + flag_B = 1; + // cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j) != 0.)&&(Map_Ampl[test][sub][k]->GetBinContent(i,j) < 0.001) ) { + if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.) Map_SUB[sub][k]->SetBinContent(i,j,0.75); + if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); + if (flag_W == 0) { + NWarn +=1; + Eta[1][NWarn]=i-41; + Phi[1][NWarn]=j-1; + Sub[1][NWarn]=sub; + Depth[1][NWarn]=k; + Comment[1][NWarn]=Text[test]; + } + else Comment[1][NWarn]+=", "+Text[test]; + flag_W = 1; +// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j) != 0.) { +// if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.3); +// if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.3); + if (flag_W == 0) { + NWarn +=1; + Eta[1][NWarn]=i-41; + Phi[1][NWarn]=j-1; + Sub[1][NWarn]=sub; + Depth[1][NWarn]=k; + Comment[1][NWarn]=Text[test]; + } + else Comment[1][NWarn]+=", "+Text[test]; + flag_W = 1; +// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i, j)) > porog[sub]) { + if (Map_SUB[sub][k]->GetBinContent(i, j) != 1.0) + Map_SUB[sub][k]->SetBinContent(i, j, 0.75); + if (Map_ALL->GetBinContent(i, j) != 1.) { + Map_ALL->SetBinContent(i, j, 0.75); + if (flag_W == 0) { + NWarn += 1; + Eta[1][NWarn] = i - 41; + Phi[1][NWarn] = j - 1; + Sub[1][NWarn] = sub; + Depth[1][NWarn] = k; + Comment[1][NWarn] = Text[test]; + } else + Comment[1][NWarn] += ", " + Text[test]; + flag_W = 1; + + cout << "Map_Ampl[" << test << "][" << sub << "][" << k << "]->GetBinContent(" << i << "," << j + << ")= " << Map_Ampl[test][sub][k]->GetBinContent(i, j) << endl; + } + } + } //end test + + //Pedestals + for (int test = 31; test <= 32; test++) { + if (Map_Ampl[test][sub][k]->GetBinContent(i, j) > 0.1) { + // if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.75); + // if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); + if (flag_P == 0) { + NPed += 1; + Eta[3][NPed] = i - 41; + Phi[3][NPed] = j - 1; + Sub[3][NPed] = sub; + Depth[3][NPed] = k; + Comment[3][NPed] = Text[test]; + } else + Comment[3][NPed] += ", " + Text[test]; + flag_P = 1; + + // cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHB->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogz(); + // gStyle->SetTitleOffset(0.5, "Y"); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_SUB[sub][k]->SetTitle(str); + Map_SUB[sub][k]->SetXTitle("#eta \b"); + Map_SUB[sub][k]->SetYTitle("#phi \b"); + Map_SUB[sub][k]->Draw("COL"); + Map_SUB[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_SUB[sub][k]->GetZaxis()->SetRangeUser(0., 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (sub == 1) { + cHB->Print("MAPHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MAPHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MAPHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MAPHF.png"); + cHF->Clear(); + } + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // TCanvas *cmain1 = new TCanvas("cmain1","MAP",200,10,1400,1800); + TCanvas *cmain1 = new TCanvas("cmain1", "MAP", 250, 10, 1450, 1410); + cmain1->Divide(2, 2); + + cmain1->cd(1); + TH1F *JDBEYESJ0 = (TH1F *)hfile->Get("h_totalAmplitudeHBperEvent"); + JDBEYESJ0->SetStats(0); + JDBEYESJ0->SetMarkerStyle(20); + JDBEYESJ0->SetMarkerSize(0.8); + JDBEYESJ0->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ0->SetXTitle("iEvent \b"); + JDBEYESJ0->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ0->SetTitle("HB \b"); + JDBEYESJ0->SetMarkerColor(2); + JDBEYESJ0->SetLineColor(1); + JDBEYESJ0->SetMinimum(0.8); + JDBEYESJ0->Draw("HIST same P0"); + + cmain1->cd(2); + TH1F *JDBEYESJ1 = (TH1F *)hfile->Get("h_totalAmplitudeHEperEvent"); + JDBEYESJ1->SetStats(0); + JDBEYESJ1->SetMarkerStyle(20); + JDBEYESJ1->SetMarkerSize(0.8); + JDBEYESJ1->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ1->SetXTitle("iEvent \b"); + JDBEYESJ1->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ1->SetTitle("HE \b"); + JDBEYESJ1->SetMarkerColor(2); + JDBEYESJ1->SetLineColor(1); + JDBEYESJ1->SetMinimum(0.8); + JDBEYESJ1->Draw("HIST same P0"); + + cmain1->cd(3); + TH1F *JDBEYESJ2 = (TH1F *)hfile->Get("h_totalAmplitudeHFperEvent"); + JDBEYESJ2->SetStats(0); + JDBEYESJ2->SetMarkerStyle(20); + JDBEYESJ2->SetMarkerSize(0.8); + JDBEYESJ2->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ2->SetXTitle("iEvent \b"); + JDBEYESJ2->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ2->SetTitle("HF \b"); + JDBEYESJ2->SetMarkerColor(2); + JDBEYESJ2->SetLineColor(1); + JDBEYESJ2->SetMinimum(0.8); + JDBEYESJ2->Draw("HIST same P0"); + + cmain1->cd(4); + TH1F *JDBEYESJ3 = (TH1F *)hfile->Get("h_totalAmplitudeHOperEvent"); + JDBEYESJ3->SetStats(0); + JDBEYESJ3->SetMarkerStyle(20); + JDBEYESJ3->SetMarkerSize(0.8); + JDBEYESJ3->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ3->SetXTitle("iEvent \b"); + JDBEYESJ3->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ3->SetTitle("HO \b"); + JDBEYESJ3->SetMarkerColor(2); + JDBEYESJ3->SetLineColor(1); + JDBEYESJ3->SetMinimum(0.8); + JDBEYESJ3->Draw("HIST same P0"); + + cmain1->Modified(); + cmain1->Update(); + cmain1->Print("EVENTDEPENDENCE.png"); + + std::cout << " EVENTDEPENDENCE " << std::endl; + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // ALL SubDet + gStyle->SetOptTitle(0); + TCanvas *cmain = new TCanvas("cmain", "MAP", 1000, 1000); + //cmain->cd(1); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogz(); + Map_ALL->SetTitleOffset(1.3, "Y"); + Map_ALL->SetXTitle("#eta \b"); + Map_ALL->SetYTitle("#phi \b"); + Map_ALL->Draw("COL"); + Map_ALL->GetYaxis()->SetRangeUser(0, 72.); + Map_ALL->GetZaxis()->SetRangeUser(0, 1.); + cmain->Modified(); + cmain->Update(); + cmain->Print("MAP.png"); + + std::cout << "******** MAP_ALL done" << std::endl; + std::cout << "********" << std::endl; + + std::cout << "********" << std::endl; + std::cout << "************ Start creating each test kind for each subdet html pages:" << std::endl; + + //====================================================================== + + //====================================================================== + // Creating each test kind for each subdet html pages: + std::string raw_class, raw_class1, raw_class2, raw_class3; + int ind = 0; + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + ofstream htmlFileT, htmlFileC, htmlFileD, htmlFileP, htmlFileS, htmlFileM, htmlFileR, htmlFileN; + if (sub == 1) { + htmlFileT.open("HB_Tile.html"); + htmlFileC.open("HB_Calib.html"); + htmlFileD.open("HB_Drift.html"); + htmlFileP.open("HB_Pedestals.html"); + htmlFileS.open("HB_Shapes.html"); + htmlFileM.open("HB_PhiSymmetryDigi.html"); + htmlFileR.open("HB_PhiSymmetryRecoSignal.html"); + htmlFileN.open("HB_PhiSymmetryRecoNoise.html"); + } + if (sub == 2) { + htmlFileT.open("HE_Tile.html"); + htmlFileC.open("HE_Calib.html"); + htmlFileD.open("HE_Drift.html"); + htmlFileP.open("HE_Pedestals.html"); + htmlFileS.open("HE_Shapes.html"); + htmlFileM.open("HE_PhiSymmetryDigi.html"); + htmlFileR.open("HE_PhiSymmetryRecoSignal.html"); + htmlFileN.open("HE_PhiSymmetryRecoNoise.html"); + } + if (sub == 3) { + htmlFileT.open("HO_Tile.html"); + htmlFileC.open("HO_Calib.html"); + htmlFileD.open("HO_Drift.html"); + htmlFileP.open("HO_Pedestals.html"); + htmlFileS.open("HO_Shapes.html"); + } + if (sub == 4) { + htmlFileT.open("HF_Tile.html"); + htmlFileC.open("HF_Calib.html"); + htmlFileD.open("HF_Drift.html"); + htmlFileP.open("HF_Pedestals.html"); + htmlFileS.open("HF_Shapes.html"); + htmlFileM.open("HF_PhiSymmetryDigi.html"); + htmlFileR.open("HF_PhiSymmetryRecoSignal.html"); + htmlFileN.open("HF_PhiSymmetryRecoNoise.html"); + } + + // Megatile channels + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << " Remote Monitoring Tool " << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + + if (sub == 1) + htmlFileT << "

Criteria for megatile channels for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileT << "

Criteria for megatile channels for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileT << "

Criteria for megatile channels for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileT << "

Criteria for megatile channels for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileT << "
" << std::endl; + + // Test Entries + + htmlFileT << "

0. Entries for each channel.

" << std::endl; + htmlFileT << "

0.A. Entries in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: color is rate of entries

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Test Cm + htmlFileT << "

1. Cm criterion: CapID errors for each channel.

" << std::endl; + htmlFileT << "

1.A. Rate of CapId failures in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Am + htmlFileT << "

2. Am criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel.

" + << std::endl; + htmlFileT << "

2.A. Full ADC amplitude distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[2][sub] << " correpond to bad ADC amplitude

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

2.B. Rate of bad ADC amplitude (<" << MIN_M[2][sub] << ") in each channel for each depth.

" + << std::endl; + htmlFileT << "

Channel legend: white - good, other colours - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Test Wm + htmlFileT << "

3. Wm criterion: RMS (width) of ADC amplutude for each channel.

" << std::endl; + htmlFileT << "

3.A. RMS distribution over all events, channel and depth.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[3][sub] << " and more " << MAX_M[3][sub] + << " correpond to bad RMS

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

3.B. Rate of bad RMS (<" << MIN_M[3][sub] << ",>" << MAX_M[3][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Rm + htmlFileT << "

4. Rm criterion: Ratio ADC value sum over four near maximum (-2, -1, max, +1) TS to ADC value " + "sum over all TS for each channel.

" + << std::endl; + htmlFileT << "

4.A. Ratio distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[4][sub] << " and more " << MAX_M[4][sub] + << " correpond to bad ratio

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

4.B. Rate of bad ratio (<" << MIN_M[4][sub] << ", >" << MAX_M[4][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // TNm + htmlFileT << "

5. TNm criterion: Mean TS position for each channel.

" << std::endl; + htmlFileT << "

5.A. TN position distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[5][sub] << " and more " << MAX_M[5][sub] + << " correpond to bad mean position

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

5.B. Rate of bad TN position (<" << MIN_M[5][sub] << ", >" << MAX_M[5][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // TXm + htmlFileT << "

6.TXm criterion: Maximum TS position for each channel.

" << std::endl; + htmlFileT << "

6.A. TX position distribution over all events, channel and depth.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[6][sub] << " and more " << MAX_M[6][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

6.B. Rate of bad TX position (<" << MIN_M[6][sub] << ", >" << MAX_M[6][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + htmlFileT << " " << std::endl; + htmlFileT << " " << std::endl; + htmlFileT.close(); + + //Calibration channels + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << " Raw Data Analyser " << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + + if (sub == 1) + htmlFileC << "

Criteria for calibration channels for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileC << "

Criteria for calibration channels for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileC << "

Criteria for calibration channels for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileC << "

Criteria for calibration channels for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileC << "
" << std::endl; + + // Test Entries + + htmlFileC << "

0. Entries for each channel.

" << std::endl; + htmlFileC << "

0.A. Entries in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: color is rate of entries

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Test Cc + htmlFileC << "

1. Cc criterion: CapID errors for each channel.

" << std::endl; + htmlFileC << "

1.A. Rate of CapId failures in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Ac + htmlFileC << "

2. Ac criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel.

" + << std::endl; + htmlFileC << "

2.A. Full ADC amplitude distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[2][sub] << " correpond to bad ADC amplitude

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

2.B. Rate of bad ADC amplitude (<" << MIN_C[2][sub] << ") in each channel for each depth.

" + << std::endl; + htmlFileC << "

Channel legend: white - good, other colours - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Test Wc + htmlFileC << "

3. Wc criterion: RMS (width) of ADC amplutude for each channel.

" << std::endl; + htmlFileC << "

3.A. W distribution over all events, channel and depth.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[3][sub] << " and more " << MAX_C[3][sub] + << " correpond to bad RMS

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

3.B. Rate of bad W (<" << MIN_C[3][sub] << ",>" << MAX_C[3][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Rc + htmlFileC << "

4. Rc criterion: Ratio ADC value sum over five near maximum (-2, -1, max, +1, +2) TS to ADC " + "value sum over all TS for each channel.

" + << std::endl; + htmlFileC << "

4.A. Ratio distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[4][sub] << " and more " << MAX_C[4][sub] + << " correpond to bad ratio

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

4.B. Rate of bad Ratio (<" << MIN_C[4][sub] << ", >" << MAX_C[4][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // TNc + htmlFileC << "

5. TNc criterion: Mean TS position for each channel.

" << std::endl; + htmlFileC << "

5.A. TN position distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[5][sub] << " and more " << MAX_C[5][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

5.B. Rate of bad TN position (<" << MIN_C[5][sub] << ", >" << MAX_C[5][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // TXm + htmlFileC << "

6.TXc criterion: Maximum TS position for each channel.

" << std::endl; + htmlFileC << "

6.A. TX position distribution over all events, channel and depth.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[6][sub] << " and more " << MAX_C[6][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

6.B. Rate of bad TX position (<" << MIN_C[6][sub] << ", >" << MAX_C[6][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + htmlFileC << " " << std::endl; + htmlFileC << " " << std::endl; + htmlFileC.close(); + + //Response drift + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << " Remore Monitoring Tool " << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + + if (sub == 1) + htmlFileD << "

Response drift for HB: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 2) + htmlFileD << "

Response drift for HE: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 3) + htmlFileD << "

Response drift for HO: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 4) + htmlFileD << "

Response drift for HF: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + htmlFileD << "
" << std::endl; + + // test GS + htmlFileD << "

1. Gain Stability (GS)

" << std::endl; + htmlFileD << "

1.A. Averaged channel response, collected over all TS, for Current run in each channel for each " + "depth.

" + << std::endl; + htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.B. Averaged channel response, collected over all TS, for Reference run in each channel for " + "each depth.

" + << std::endl; + htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.C. Relative difference between Current and Reference run distribution over all events, " + "channels for each depth.

" + << std::endl; + htmlFileD << "

Legend: Bins less -" << porog[sub] << "% and more +" << porog[sub] + << "% correpond to bad relative difference position

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.D. Rate of bad relative difference (<-" << porog[sub] << ", >+" << porog[sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileD << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + + htmlFileD << " " << std::endl; + htmlFileD << " " << std::endl; + htmlFileD.close(); + + // Pedestals + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << " Remote Monitoring Tool " << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + + if (sub == 1) + htmlFileP << "

Pedestals for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileP << "

Pedestals for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileP << "

Pedestals for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileP << "

Pedestals for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileP << "
" << std::endl; + + // Pedestal: + htmlFileP << "

1.Pm criterion: Pedestals for each CapID .

" << std::endl; + htmlFileP << "

1.A. Pedestal distribution over all events, channels for each CapID and all depths.

" + << std::endl; + htmlFileP << "

Legend: Bins less " << Pedest[0][sub] << " correpond to bad Pedestals

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + htmlFileP << "
" << std::endl; + htmlFileP << "

1.B. Rate of channels at very low Pedestals at least in one CapID for each depth.

" + << std::endl; + htmlFileP << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + + // PedestalWidth: + htmlFileP << "

2.pWm criterion: Pedestal Widths for each CapID .

" << std::endl; + htmlFileP << "

2.A. Pedestal Widths distribution over all events, channels for each CapID and all depths.

" + << std::endl; + htmlFileP << "

Legend: Bins less " << Pedest[1][sub] << " correpond to bad Pedestal Widths

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + htmlFileP << "
" << std::endl; + htmlFileP << "

2.B. Rate of channels at very low Pedestal Widths at least in one CapID for each depth.

" + << std::endl; + htmlFileP << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + + // Correlations of Pedestal(Width) and fullAmplitude: + htmlFileP << "

3.Pedestal and pedestalWidths vs Amplitude .

" << std::endl; + htmlFileP << "

3.A. Correlation of Pedestal(pedestalWidths) and Amplitude over all channels and events .

" + << std::endl; + htmlFileP << "

Legend: colour - entries

" << std::endl; + if (sub == 1) + htmlFileP << "" << std::endl; + if (sub == 2) + htmlFileP << "" << std::endl; + if (sub == 3) + htmlFileP << "" << std::endl; + if (sub == 4) + htmlFileP << "" << std::endl; + htmlFileP << "
" << std::endl; + htmlFileP.close(); + + // TSs Shapes: + + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << " Remote Monitoring Tool " << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; + + if (sub == 1) + htmlFileS << "

ADC Shape for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileS << "

ADC Shape for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileS << "

ADC Shape for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileS << "

ADC Shape for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileS << "
" << std::endl; + + htmlFileS << "

1.Mean ADC Shape.

" << std::endl; + htmlFileS << "

1.A. ADC shape averaged over all good channels, depth and events.

" << std::endl; + // htmlFileS << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + htmlFileS << "
" << std::endl; + htmlFileS << "

1.B. ADC shape averaged over all bad channels, depth and events. Bad channels are selected by 5 " + "criteria: CapId, A, W, P, Pw

" + << std::endl; + // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + + htmlFileS << "

2. Occupancy and rates of non-zero amplitudes for separate TSs in Sub-Detector over " + "depth,eta.phi

" + << std::endl; + htmlFileS << "

2.A. reminder:.......................... for HBHE, TS=2;...................................... " + "for HF, TS=1;..................................... for HO, TS=0,1,2

" + << std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + htmlFileS << "
" << std::endl; + + /* + htmlFileS << "

2. ADC in Time Slice

"<< std::endl; + htmlFileS << "

2.A. ADC counts histogrammed over all channels, depth and events.

"<< std::endl; +// htmlFileS << "

Legend: Bins less "<"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; + htmlFileS << "
"<< std::endl; + htmlFileS << "

2.B. ADC counts histogrammed over all channels and events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; + + htmlFileS << "

3. ADC Sum in Time Slice

"<< std::endl; + htmlFileS << "

3.A. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; + + htmlFileS << "

3.B. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; + + htmlFileS << "

3.C. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; +*/ + htmlFileS.close(); + + /////////////////////////////////////////// + + //////////////////////////////////////////////////////////////////////////////////////////////////// Phi-symmetry for Calibration Group: + + ///////////////////////////////////////////////////////////////////////////////////////////////////////// Digis + + htmlFileM << "" << std::endl; + htmlFileM << "" << std::endl; + htmlFileM << "" << std::endl; + htmlFileM << " Remote Monitoring Tool " << std::endl; + htmlFileM << "" << std::endl; + htmlFileM << "" << std::endl; + + /////////////////////////////////////////////// RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR + + if (sub == 1) + htmlFileM << "

Digis Phi-symmetry for Calibration Group, HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileM << "

Digis Phi-symmetry for Calibration Group, HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileM << "

Digis Phi-symmetry for Calibration Group, HF, RUN = " << runnumber << "

" << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1: R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileM << "

1A: eta/phi-plot: R, averaged over depthes

" << std::endl; + // htmlFileM << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1B: R vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + /////////////////////////////////////////// PositiveDirection: + + /////////////////////////////////////////////// R different Depthes: + htmlFileM << "

Positive direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileM << "

1C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

1G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

1H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

1I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileM << "

2: D(digivarianceSignalhe)

" << std::endl; + htmlFileM << "

2A: eta/phi-plot: D(digivarianceSignalhe), averaged over depthes

" << std::endl; + // htmlFileM << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2B: D(digivarianceSignalhe) vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + /////////////////////////////////////////// PositiveDirection: + ///////////////////////////////////////////////D different Depthes: + htmlFileM << "

Positive direction, D(digivarianceSignalhe)

" << std::endl; + htmlFileM << "

2C: D(digivarianceSignalhe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2.D. D(digivarianceSignalhe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2E: D(digivarianceSignalhe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2F: D(digivarianceSignalhe) vs phi , different eta, Depth4

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

2G: D(digivarianceSignalhe) vs phi , different eta, Depth5

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

2H: D(digivarianceSignalhe) vs phi , different eta, Depth6

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

2I: D(digivarianceSignalhe) vs phi , different eta, Depth7

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + /////////////////////////////////////////// NegativeDirection: + /////////////////////////////////////////////// RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR + htmlFileM << "

3: Negative direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" + << std::endl; + + /////////////////////////////////////////////// different Depthes: + htmlFileM << "

3C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

3D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

3E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

3F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

3G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

3H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

3I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileM << "

4: Negative direction, D(digivarianceSignalhe)

" << std::endl; + /////////////////////////////////////////////// different Depthes: + htmlFileM << "

4C: D(digivarianceSignalhe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

4.D. D(digivarianceSignalhe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

4E: D(digivarianceSignalhe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

4F: D(digivarianceSignalhe) vs phi , different eta, Depth4

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

4G: D(digivarianceSignalhe) vs phi , different eta, Depth5

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

4H: D(digivarianceSignalhe) vs phi , different eta, Depth6

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + if (sub == 2) + htmlFileM << "

4I: D(digivarianceSignalhe) vs phi , different eta, Depth7

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + /////////////////////////////////////////// + htmlFileM.close(); + /////////////////////////////////////////// end of Digi + // + ////////////////////////////////////////////////////////////////////////////////////////////// RecoSignal: + ////////////////////////////////////////////////////////////////////////////////////////////// RecoSignal: + ////////////////////////////////////////////////////////////////////////////////////////////// RecoSignal: + + htmlFileR << "" << std::endl; + htmlFileR << "" << std::endl; + htmlFileR << "" << std::endl; + htmlFileR << " Remote Monitoring Tool " << std::endl; + htmlFileR << "" << std::endl; + htmlFileR << "" << std::endl; + + /////////////////////////////////////////////// RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR + + if (sub == 1) + htmlFileR << "

RecoSignal Phi-symmetry for Calibration Group, HB, RUN = " << runnumber << "

" + << std::endl; + if (sub == 2) + htmlFileR << "

RecoSignal Phi-symmetry for Calibration Group, HE, RUN = " << runnumber << "

" + << std::endl; + if (sub == 4) + htmlFileR << "

RecoSignal Phi-symmetry for Calibration Group, HF, RUN = " << runnumber << "

" + << std::endl; + htmlFileR << "
" << std::endl; + + htmlFileR << "

1: R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileR << "

1A: eta/phi-plot: R, averaged over depthes

" << std::endl; + // htmlFileR << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + htmlFileR << "

1B: R vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + /////////////////////////////////////////// PositiveDirection: + + /////////////////////////////////////////////// R different Depthes: + htmlFileR << "

Positive direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileR << "

1C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + htmlFileR << "

1D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

1E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

1F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

1G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

1H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

1I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileR << "

2: D(recosignalvarianceSignalhe)

" << std::endl; + htmlFileR << "

2A: eta/phi-plot: D(recosignalvarianceSignalhe), averaged over depthes

" << std::endl; + // htmlFileR << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + htmlFileR << "

2B: D(recosignalvarianceSignalhe) vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + /////////////////////////////////////////// PositiveDirection: + ///////////////////////////////////////////////D different Depthes: + htmlFileR << "

Positive direction, D(recosignalvarianceSignalhe)

" << std::endl; + htmlFileR << "

2C: D(recosignalvarianceSignalhe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + htmlFileR << "

2.D. D(recosignalvarianceSignalhe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

2E: D(recosignalvarianceSignalhe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

2F: D(recosignalvarianceSignalhe) vs phi , different eta, Depth4

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

2G: D(recosignalvarianceSignalhe) vs phi , different eta, Depth5

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

2H: D(recosignalvarianceSignalhe) vs phi , different eta, Depth6

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

2I: D(recosignalvarianceSignalhe) vs phi , different eta, Depth7

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + /////////////////////////////////////////// NegativeDirection: + /////////////////////////////////////////////// RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR + htmlFileR << "

3: Negative direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" + << std::endl; + + /////////////////////////////////////////////// different Depthes: + htmlFileR << "

3C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + htmlFileR << "

3D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

3E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

3F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

3G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

3H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

3I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileR << "

4: Negative direction, D(recosignalvarianceSignalhe)

" << std::endl; + /////////////////////////////////////////////// different Depthes: + htmlFileR << "

4C: D(recosignalvarianceSignalhe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + htmlFileR << "

4.D. D(recosignalvarianceSignalhe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + if (sub == 4) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

4E: D(recosignalvarianceSignalhe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileR << "

4F: D(recosignalvarianceSignalhe) vs phi , different eta, Depth4

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileR << " " << std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

4G: D(recosignalvarianceSignalhe) vs phi , different eta, Depth5

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

4H: D(recosignalvarianceSignalhe) vs phi , different eta, Depth6

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + + if (sub == 2) + htmlFileR << "

4I: D(recosignalvarianceSignalhe) vs phi , different eta, Depth7

" << std::endl; + // htmlFileR << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileR << " " << std::endl; + htmlFileR << "
" << std::endl; + /////////////////////////////////////////// + htmlFileR.close(); + /////////////////////////////////////////// end of Recosignal + // + ////////////////////////////////////////////////////////////////////////////////////////////// RecoNoise: + ////////////////////////////////////////////////////////////////////////////////////////////// RecoNoise: + ////////////////////////////////////////////////////////////////////////////////////////////// RecoNoise: + + htmlFileN << "" << std::endl; + htmlFileN << "" << std::endl; + htmlFileN << "" << std::endl; + htmlFileN << " Remote Monitoring Tool " << std::endl; + htmlFileN << "" << std::endl; + htmlFileN << "" << std::endl; + + /////////////////////////////////////////////// RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR + + if (sub == 1) + htmlFileN << "

RecoNoise Phi-symmetry for Calibration Group, HB, RUN = " << runnumber << "

" + << std::endl; + if (sub == 2) + htmlFileN << "

RecoNoise Phi-symmetry for Calibration Group, HE, RUN = " << runnumber << "

" + << std::endl; + if (sub == 4) + htmlFileN << "

RecoNoise Phi-symmetry for Calibration Group, HF, RUN = " << runnumber << "

" + << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

1: R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileN << "

1A: eta/phi-plot: R, averaged over depthes

" << std::endl; + // htmlFileN << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

1B: R vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////// PositiveDirection: + + /////////////////////////////////////////////// R different Depthes: + htmlFileN << "

Positive direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" << std::endl; + htmlFileN << "

1C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

1D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

1E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

1F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

1G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

1H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

1I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileN << "

2: D(reconoisevarianceNoisehe)

" << std::endl; + htmlFileN << "

2A: eta/phi-plot: D(reconoisevarianceNoisehe), averaged over depthes

" << std::endl; + // htmlFileN << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

2B: D(reconoisevarianceNoisehe) vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////// PositiveDirection: + ///////////////////////////////////////////////D different Depthes: + htmlFileN << "

Positive direction, D(reconoisevarianceNoisehe)

" << std::endl; + htmlFileN << "

2C: D(reconoisevarianceNoisehe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

2.D. D(reconoisevarianceNoisehe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

2E: D(reconoisevarianceNoisehe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

2F: D(reconoisevarianceNoisehe) vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

2G: D(reconoisevarianceNoisehe) vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

2H: D(reconoisevarianceNoisehe) vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

2I: D(reconoisevarianceNoisehe) vs phi , different eta, Depth7

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////// NegativeDirection: + /////////////////////////////////////////////// RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR + htmlFileN << "

3: Negative direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" + << std::endl; + + /////////////////////////////////////////////// different Depthes: + htmlFileN << "

3C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

3D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

3E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

3F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

3G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

3H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

3I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////////// DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD + htmlFileN << "

4: Negative direction, D(reconoisevarianceNoisehe)

" << std::endl; + /////////////////////////////////////////////// different Depthes: + htmlFileN << "

4C: D(reconoisevarianceNoisehe) vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

4.D. D(reconoisevarianceNoisehe) vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

4E: D(reconoisevarianceNoisehe) vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

4F: D(reconoisevarianceNoisehe) vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

4G: D(reconoisevarianceNoisehe) vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

4H: D(reconoisevarianceNoisehe) vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

4I: D(reconoisevarianceNoisehe) vs phi , different eta, Depth7

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + /////////////////////////////////////////// + + /////////////////////////////////////////////// DIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIFDIF + + if (sub == 1) + htmlFileN << "

Only for Noise RecHits these lines below, HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileN << "

Only for Noise RecHits these lines below, HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileN << "

Only for Noise RecHits these lines below, HF, RUN = " << runnumber << "

" << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

5: DIF = DIF_depth_ieta_iphi = E_depth_ieta_iphi - E_depth_ieta

" << std::endl; + htmlFileN << "

5A: eta/phi-plot: DIF, averaged over depthes

" << std::endl; + // htmlFileN << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

5B: DIF vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////// DIF PositiveDirection: + + /////////////////////////////////////////////// DIF different Depthes: + htmlFileN << "

Positive direction, DIF = DIF_depth_ieta_iphi = E_depth_ieta_iphi - E_depth_ieta

" + << std::endl; + htmlFileN << "

5C: DIF vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

5D: DIF vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

1E: DIF vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

5F: DIF vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

5G: DIF vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

5H: DIF vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

5I: DIF vs phi , different eta, Depth7

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////// DIF NegativeDirection: + + /////////////////////////////////////////////// DIF different Depthes: + htmlFileN << "

Negative direction, DIF = DIF_depth_ieta_iphi = E_depth_ieta_iphi - E_depth_ieta

" + << std::endl; + htmlFileN << "

5C: DIF vs phi , different eta, Depth1

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + htmlFileN << "

5D: DIF vs phi , different eta, Depth2

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + if (sub == 4) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

5E: DIF vs phi , different eta, Depth3

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 1 || sub == 2) + htmlFileN << "

5F: DIF vs phi , different eta, Depth4

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileN << " " << std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

5G: DIF vs phi , different eta, Depth5

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

5H: DIF vs phi , different eta, Depth6

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + if (sub == 2) + htmlFileN << "

5I: DIF vs phi , different eta, Depth7

" << std::endl; + // htmlFileN << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileN << " " << std::endl; + htmlFileN << "
" << std::endl; + + /////////////////////////////////////////// end of Reconoise + + // + // + htmlFileN.close(); + + /////////////////////////////////////////// end of Reconoise + /////////////////////////////////////////// end of Reconoise + + // + // + } // end sub //for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + + //====================================================================== + + std::cout << "********" << std::endl; + std::cout << "************ Start creating subdet html pages: - rather long time needed, waiting please" + << std::endl; + //====================================================================== + // Creating subdet html pages: + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + ofstream htmlFile; + if (sub == 1) + htmlFile.open("HB.html"); + if (sub == 2) + htmlFile.open("HE.html"); + if (sub == 3) + htmlFile.open("HO.html"); + if (sub == 4) + htmlFile.open("HF.html"); + + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << " Remote Monitoring Tool " << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + if (sub == 1) + htmlFile << "

HCAL BARREL, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFile << "

HCAL ENDCAP, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFile << "

HCAL OUTER, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFile << "

HCAL FORWARD, RUN = " << runnumber << "

" << std::endl; + htmlFile << "
" << std::endl; + if (sub == 1) + htmlFile << "

1. Analysis results for HB

" << std::endl; + if (sub == 2) + htmlFile << "

1. Analysis results for HE

" << std::endl; + if (sub == 3) + htmlFile << "

1. Analysis results for HO

" << std::endl; + if (sub == 4) + htmlFile << "

1. Analysis results for HF

" << std::endl; + htmlFile << "

" << std::endl; + htmlFile << "" << std::endl; + + if (sub == 1) { + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + + /* + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; +*/ + } + if (sub == 2) { + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + + /* + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + */ + } + if (sub == 3) { + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + + /* + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + */ + } + + if (sub == 4) { + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + + /* + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + */ + } + + htmlFile << "" << std::endl; + htmlFile << "
Megatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesPhi-symmetryDigiPhi-symmetryRecoSignalPhi-symmetryRecoNoiseMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesPhi-SymmetryDigiPhi-SymmetryRecoSignalPhi-SymmetryRecoNoiseMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesPhi-symmetryDigiPhi-symmetryRecoSignalPhi-symmetryRecoNoiseMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesPhi-symmetryDigiPhi-symmetryRecoSignalPhi-symmetryRecoNoiseMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesPhi-symmetryDigiPhi-symmetryRecoSignalPhi-symmetryRecoNoiseMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesPhi-symmetryDigiPhi-symmetryRecoSignalPhi-symmetryRecoNoise
" << std::endl; + htmlFile << "
" << std::endl; + if (sub == 1) + htmlFile << "

2.Status HB over all criteria

" << std::endl; + if (sub == 2) + htmlFile << "

2.Status HE over all criteria

" << std::endl; + if (sub == 3) + htmlFile << "

2.Status HO over all criteria

" << std::endl; + if (sub == 4) + htmlFile << "

2.Status HF over all criteria

" << std::endl; + htmlFile << "

2.A.Channel map for each Depth

" << std::endl; + htmlFile << "

Channel legend: green - good, red - bad (rate of failures at least 0.1), yellow - at least 2% " + "gain drift, white - not applicable or out of range

" + << std::endl; + if (sub == 1) + htmlFile << " " << std::endl; + if (sub == 2) + htmlFile << " " << std::endl; + if (sub == 3) + htmlFile << " " << std::endl; + if (sub == 4) + htmlFile << " " << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2.B.List of Bad channels (rate > 0.1) and its rates for each RMT criteria (for GS - %)

" + << std::endl; + + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection" << std::endl; + + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + htmlFile << "" << std::endl; + + for (int i = 1; i <= NBad; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << raw_class << Eta[2][i] << "" << std::endl; + htmlFile << raw_class << Phi[2][i] << "" << std::endl; + htmlFile << raw_class << Depth[2][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[1][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[2][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[3][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[4][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[5][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[6][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class3 << Map_Ampl[21][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[31][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[32][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[11][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[12][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[13][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[14][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[15][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[16][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << "" << std::endl; + + ind += 1; + } + } + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGACmAmWmRmTNmTXmGS (%)PmpWmCcAcWcRcTNcTXc
"; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + + } else { + raw_class = ""; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + } + const CellDB db; + CellDB ce; + if ((ce.size() >= 1) && (Sub[2][i] == sub)) { + if (Sub[2][i] == 1) { + ce = db.find("subdet", "HB").find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HB, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HB, Eta=" << Eta[2][i] << ", Phi=" << Phi[2][i] + << ", Depth=" << Depth[2][i] << " in database" << endl; + } + } + if (Sub[2][i] == 2) { + ce = db.find("subdet", "HE").find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HE, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HE, Eta=" << Eta[2][i] << ", Phi=" << Phi[2][i] + << ", Depth=" << Depth[2][i] << " in database" << endl; + } + } + if (Sub[2][i] == 3) { + ce = db.find("subdet", "HO").find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HO, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HO, Eta=" << Eta[2][i] << ", Phi=" << Phi[2][i] + << ", Depth=" << Depth[2][i] << " in database" << endl; + } + } + if (Sub[2][i] == 4) { + ce = db.find("subdet", "HF").find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HF, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HF, Eta=" << Eta[2][i] << ", Phi=" << Phi[2][i] + << ", Depth=" << Depth[2][i] << " in database" << endl; + } + } + htmlFile << "
" << ind + 1 << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2.C.List of Gain unstable channels and its value in % (for other criterias - rate)

" + << std::endl; + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i = 1; i <= NWarn; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << raw_class << Eta[1][i] << "" << std::endl; + htmlFile << raw_class << Phi[1][i] << "" << std::endl; + htmlFile << raw_class << Depth[1][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[1][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[2][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[3][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[4][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[5][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[6][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class3 << Map_Ampl[21][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[31][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[32][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[11][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[12][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[13][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[14][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[15][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[16][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + ind += 1; + } + } + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGACmAmWmRmTNmTXmGS(%)PmpWmCcAcWcRcTNcTXc
"; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + + } else { + raw_class = ""; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + } + const CellDB db; + CellDB ce; + if ((ce.size() >= 1) && (Sub[1][i] == sub)) { + if (Sub[1][i] == 1) { + ce = db.find("subdet", "HB").find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HB, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HB, Eta=" << Eta[1][i] << ", Phi=" << Phi[1][i] + << ", Depth=" << Depth[1][i] << " in database" << endl; + } + } + if (Sub[1][i] == 2) { + ce = db.find("subdet", "HE").find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HE, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HE, Eta=" << Eta[1][i] << ", Phi=" << Phi[1][i] + << ", Depth=" << Depth[1][i] << " in database" << endl; + } + } + if (Sub[1][i] == 3) { + ce = db.find("subdet", "HO").find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HO, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HO, Eta=" << Eta[1][i] << ", Phi=" << Phi[1][i] + << ", Depth=" << Depth[1][i] << " in database" << endl; + } + } + if (Sub[1][i] == 4) { + ce = db.find("subdet", "HF").find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HF, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HF, Eta=" << Eta[1][i] << ", Phi=" << Phi[1][i] + << ", Depth=" << Depth[1][i] << " in database" << endl; + } + } + htmlFile << "" << ind + 1 << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2.D.List of channels with Bad Pedestals (rate > 0.1) and its rates (for GS - %)

" + << std::endl; + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i = 1; i <= NPed; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << raw_class << Eta[3][i] << "" << std::endl; + htmlFile << raw_class << Phi[3][i] << "" << std::endl; + htmlFile << raw_class << Depth[3][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[1][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[2][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[3][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[4][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[5][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[6][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class3 << Map_Ampl[21][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[31][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[32][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[11][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[12][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[13][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[14][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[15][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[16][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + ind += 1; + } + } + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGACmAmWmRmTNmTXmGS(%)PmpWmCcAcWcRcTNcTXc
"; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + + } else { + raw_class = ""; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + } + const CellDB db; + CellDB ce; + if ((ce.size() >= 1) && (Sub[3][i] == sub)) { + if (Sub[3][i] == 1) { + ce = db.find("subdet", "HB").find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HB, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HB, Eta=" << Eta[3][i] << ", Phi=" << Phi[3][i] + << ", Depth=" << Depth[3][i] << " in database" << endl; + } + } + if (Sub[3][i] == 2) { + ce = db.find("subdet", "HE").find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HE, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HE, Eta=" << Eta[3][i] << ", Phi=" << Phi[3][i] + << ", Depth=" << Depth[3][i] << " in database" << endl; + } + } + if (Sub[3][i] == 3) { + ce = db.find("subdet", "HO").find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HO, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HO, Eta=" << Eta[3][i] << ", Phi=" << Phi[3][i] + << ", Depth=" << Depth[3][i] << " in database" << endl; + } + } + if (Sub[3][i] == 4) { + ce = db.find("subdet", "HF").find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HF, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HF, Eta=" << Eta[3][i] << ", Phi=" << Phi[3][i] + << ", Depth=" << Depth[3][i] << " in database" << endl; + } + } + htmlFile << "" << ind + 1 << "
" << std::endl; + + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile.close(); + } + + //====================================================================== + + std::cout << "********" << std::endl; + std::cout << "************ Start creating description HELP html file:" << std::endl; + //====================================================================== + // Creating description html file: + ofstream htmlFile; + htmlFile.open("HELP.html"); + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << " Remote Monitoring Tool " << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "

Description of Remote Monitoring Tool criteria for bad channel selection

" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- C means CAPID Errors assuming we inspect CAPID non-rotation,error & validation bits, and for " + "this criterion - no need to apply any cuts to select bcs.

" + << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- A means full amplitude, collected over all time slices

" << std::endl; + htmlFile << "

- R means ratio criterion where we define as a bad, the channels, for which the signal portion in " + "4 middle TSs(plus one, minus two around TS with maximal amplitude) is out of some range of reasonable " + "values

" + << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- W means width of shape distribution. Width is defined as square root from dispersion.

" + << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- TN means mean time position of adc signal.

" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- TX means TS number of maximum signal

" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- m means megatile channels. For example Am means Amplitude criteria for megatile channels

" + << std::endl; + htmlFile << "
" << std::endl; + htmlFile + << "

- c means calibration channels. For example Ac means Amplitude criteria for calibration channels

" + << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- Pm means Pedestals.

" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- pWm means pedestal Width.

" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile.close(); + + //====================================================================== + + std::cout << "********" << std::endl; + std::cout << "************ Start creating MAP html file: - rather long time needed, waiting please" << std::endl; + //====================================================================== + // Creating main html file: + htmlFile.open("MAP.html"); + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << " Remote Monitoring Tool " << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + htmlFile << "

Remote Monitoring Tool, LED RUN = " << runnumber << ".

" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

1. Analysis results for subdetectors

" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + + /* + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; +*/ + + htmlFile << "" << std::endl; + htmlFile << "
HBHEHOHFHBHEHOHF
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2. Amplitude summed over all sub-detector channels vs first 1000 events of this Run

" + << std::endl; + htmlFile << "

2.A. Total subdetector Amplitude vs iEvent

" << std::endl; + htmlFile << " " << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

3. HCAL status over all criteria and subdetectors

" << std::endl; + htmlFile << "

3.A. Channels in detector space

" << std::endl; + htmlFile << "

Legend for channel status: green - good, red - bad, yellow - at least 2% gain drift, white - not " + "applicable or out of range

" + << std::endl; + htmlFile << " " << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

3.B. List of Bad channels

" << std::endl; + + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection" << std::endl; + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + ind = 0; + + for (int i = 1; i <= NBad; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << raw_class << Eta[2][i] << "" << std::endl; + htmlFile << raw_class << Phi[2][i] << "" << std::endl; + htmlFile << raw_class << Depth[2][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Comment[2][i] << "" << std::endl; + htmlFile << "" << std::endl; + + ind += 1; + } + } + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGARMT-criteria
"; + raw_class1 = ""; + } else { + raw_class = ""; + raw_class1 = ""; + } + const CellDB db; + const CellDB ce = db.find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); + if (ce.size() == 0) { + // cout<<"Error: No such Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"<1) { cout<<"Warning: More than one line correspond to such Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"<= 1) { + htmlFile << "
" << ind + 1 << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2.C.List of Gain unstable channels

" << std::endl; + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection" << std::endl; + + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i = 1; i <= NWarn; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << raw_class << Eta[1][i] << "" << std::endl; + htmlFile << raw_class << Phi[1][i] << "" << std::endl; + htmlFile << raw_class << Depth[1][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Comment[1][i] << "" << std::endl; + htmlFile << "" << std::endl; + + ind += 1; + } + } + + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGAFailed criteria
"; + raw_class1 = ""; + } else { + raw_class = ""; + raw_class1 = ""; + } + const CellDB db; + const CellDB ce = db.find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + if (ce.size() == 0) { + // cout<<"Error: No such Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<1) { cout<<"Warning: More than one line correspond to such Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<= 1) { + htmlFile << "
" << ind + 1 << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2.D.List of channels with bad Pedestals

" << std::endl; + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection" << std::endl; + + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i = 1; i <= NPed; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << raw_class << Eta[3][i] << "" << std::endl; + htmlFile << raw_class << Phi[3][i] << "" << std::endl; + htmlFile << raw_class << Depth[3][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Comment[3][i] << "" << std::endl; + htmlFile << "" << std::endl; + + ind += 1; + } + } + + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGAFailed criteria
"; + raw_class1 = ""; + } else { + raw_class = ""; + raw_class1 = ""; + } + const CellDB db; + const CellDB ce = db.find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); + if (ce.size() == 0) { + // cout<<"Error: No such Eta="<< Eta[3][i] << ", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"<1) { cout<<"Warning: More than one line correspond to such Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<= 1) { + htmlFile << "
" << ind + 1 << "
" << std::endl; + + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile.close(); + //====================================================================== + + //====================================================================== + // Close and delete all possible things: + hfile->Close(); + // hfile->Delete(); + // Exit Root + gSystem->Exit(0); + //====================================================================== +} diff --git a/DPGAnalysis/HcalTools/macros/rmt/RemoteMonitoringMAPnoPSM.cc b/DPGAnalysis/HcalTools/macros/rmt/RemoteMonitoringMAPnoPSM.cc new file mode 100644 index 0000000000000..5a554265a465c --- /dev/null +++ b/DPGAnalysis/HcalTools/macros/rmt/RemoteMonitoringMAPnoPSM.cc @@ -0,0 +1,6296 @@ +// How to run: +//root -b -q -l 'RemoteMonitoringMAP.C+("/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214513.root","/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214512.root")' +//root -b -q -l 'RemoteMonitoringMAP.C+(" /afs/cern.ch/work/d/dtlisov/private/Monitoring/histos/LED_211659.root","/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos/LED_214512.root")' +// ./RemoteMonitoringMAP.cc.exe root_file1 root_file_ref PEDESTAL +//./RemoteMonitoringMAP.cc.exe root_file1 root_file_ref LASER + +//MapRateAmpl2HB + +#include "LogEleMapdb.h" + +#include +#include + +#include "TH1.h" +#include "TH2.h" +#include "TCanvas.h" +#include "TROOT.h" +#include +#include "TStyle.h" +#include "TSystem.h" +#include "TLegend.h" +#include "TText.h" +#include "TAxis.h" +#include "TFile.h" +#include "TLine.h" +#include "TGraph.h" + +using namespace std; +// h_ADC_HBdepth1 +// ok change Hist_ADC_HB_DS +int main(int argc, char *argv[]) { + gROOT->Reset(); + gROOT->SetStyle("Plain"); + gStyle->SetOptStat(0); + gStyle->SetOptTitle(1); + // ok change + if (argc < 3) + return 1; + char fname[300]; + char refname[300]; + char runtypeC[300]; + sprintf(fname, "%s", argv[1]); + sprintf(refname, "%s", argv[2]); + sprintf(runtypeC, "%s", argv[3]); + std::cout << fname << " " << refname << " " << runtypeC << std::endl; + // ok change + + //====================================================================== + // Connect the input files, parameters and get the 2-d histogram in memory + // TFile *hfile= new TFile("GlobalHist.root", "READ"); + string promt = (string)fname; + string runtype = (string)runtypeC; + string runnumber = ""; + for (unsigned int i = promt.size() - 11; i < promt.size() - 5; i++) + runnumber += fname[i]; + string refrunnumber = ""; + promt = (string)refname; + for (unsigned int i = promt.size() - 11; i < promt.size() - 5; i++) + refrunnumber += refname[i]; + + TFile *hfile = new TFile(fname, "READ"); + TFile *hreffile = new TFile(refname, "READ"); + double MIN_M[7][5]; + double MAX_M[7][5]; + double MIN_C[7][5]; + double MAX_C[7][5]; + double porog[5]; + double Pedest[2][5]; + + if (runtype == "LED") { + //CUTS: [test][subdetector] ADC amplitude Am Width for Wm Ratio cut for Rm TS mean for TNm TS max for TXm + double MIN_M_LED[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 100., 70., 40., 40.}, + {0, 0.7, 0.7, 0.1, 0.1}, + {0, 0.7, 0.6, 0.40, 0.45}, + {0, 2.5, 1.0, 1.0, 1.0}, + {0, 1.5, 1.5, 0.5, 0.5}}; + double MAX_M_LED[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 3000, 500000, 3000, 150000}, + {0, 2.5, 2.5, 2.8, 2.6}, + {0, 0.94, 0.95, 1.04, 1.02}, + {0, 5.5, 5.2, 4.8, 4.2}, + {0, 6.5, 6.5, 8.5, 8.5}}; + double MIN_C_LED[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1000., 1000., 1000., 100.}, + {0, 1.3, 1.3, 0.7, 0.3}, + {0, 0.76, 0.76, 0.85, 0.5}, + {0, 2.4, 2.4, 1.5, 3.5}, + {0, 1.5, 1.5, 1.5, 3.5}}; + double MAX_C_LED[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1E20, 1E20, 1E20, 1E20}, + {0, 1.9, 1.9, 1.65, 1.5}, + {0, 0.94, 0.94, 0.99, 0.8}, + {0, 3.7, 3.7, 2.7, 4.5}, + {0, 2.5, 2.5, 2.5, 4.5}}; + double porog_LED[5] = {0., 2., 2., 2., 2.}; // Cut for GS test in pro cents + double Pedest_LED[2][5] = {{0., 0.1, 0.6, 0.1, 0.8}, + {0., 0.1, 0.1, 0.1, 0.4}}; //Cuts for Pedestal and pedestal Width + for (int i = 0; i <= 6; i++) + for (int j = 0; j <= 4; j++) { + MIN_M[i][j] = MIN_M_LED[i][j]; + MAX_M[i][j] = MAX_M_LED[i][j]; + MIN_C[i][j] = MIN_C_LED[i][j]; + MAX_C[i][j] = MAX_C_LED[i][j]; + } + for (int i = 0; i <= 4; i++) { + porog[i] = porog_LED[i]; + Pedest[0][i] = Pedest_LED[0][i]; + Pedest[1][i] = Pedest_LED[1][i]; + } + } + + if (runtype == "LASER") { + //CUTS: [test][subdetector] ADC amplitude Am Width for Wm Ratio cut for Rm TS mean for TNm TS max for TXm + double MIN_M_LASER[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 40., 40., 100., 40.}, + {0, 0.3, 0.9, 0.2, 0.2}, + {0, 0.5, 0.55, 0.55, 0.60}, + {0, 5.0, 2.5, 1.1, 5.5}, + {0, 1.5, 1.5, 1.5, 1.5}}; + double MAX_M_LASER[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 3500, 350000, 3500, 150000}, + {0, 2.5, 3.6, 2.6, 2.1}, + {0, 1.00, 1.00, 1.04, 1.02}, + {0, 7.5, 6.5, 4.4, 8.5}, + {0, 8.5, 8.5, 6.5, 8.5}}; + double MIN_C_LASER[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1000., 1000., 1000., 100.}, + {0, 1.3, 1.3, 0.7, 0.3}, + {0, 0.76, 0.76, 0.85, 0.5}, + {0, 2.4, 2.4, 1.5, 3.5}, + {0, 1.5, 1.5, 1.5, 3.5}}; + double MAX_C_LASER[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1E20, 1E20, 1E20, 1E20}, + {0, 1.9, 1.9, 1.65, 1.5}, + {0, 0.94, 0.94, 1.0, 0.8}, + {0, 3.7, 3.7, 2.7, 4.5}, + {0, 2.5, 2.5, 2.5, 4.5}}; + double porog_LASER[5] = {0., 2., 2., 2., 2.}; // Cut for GS test in pro cents + // double porog_LASER[5] = {0., 200., 200., 100., 100.}; // Cut for GS test in pro cents + double Pedest_LASER[2][5] = {{0., 0.1, 0.6, 0.1, 0.8}, + {0., 0.1, 0.1, 0.1, 0.4}}; //Cuts for Pedestal and pedestal Width + for (int i = 0; i <= 6; i++) + for (int j = 0; j <= 4; j++) { + MIN_M[i][j] = MIN_M_LASER[i][j]; + MAX_M[i][j] = MAX_M_LASER[i][j]; + MIN_C[i][j] = MIN_C_LASER[i][j]; + MAX_C[i][j] = MAX_C_LASER[i][j]; + } + for (int i = 0; i <= 4; i++) { + porog[i] = porog_LASER[i]; + Pedest[0][i] = Pedest_LASER[0][i]; + Pedest[1][i] = Pedest_LASER[1][i]; + } + } + if (runtype == "PEDESTAL") { + //CUTS: [test][subdetector] ADC amplitude Am Width for Wm Ratio cut for Rm TS mean for TNm TS max for TXm + double MIN_M_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 10., 10., 200., 5.}, + {0, 2.7, 2.7, 2.7, 0.2}, + {0, 0.31, 0.31, 0.05, 0.15}, + {0, 4.5, 4.5, 4.5, 2.0}, + {0, 0.5, 0.5, 0.5, 0.5}}; + double MAX_M_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 2500., 250000., 2500., 150000.}, + {0, 3.0, 3.0, 5.0, 3.0}, + {0, 0.95, 0.95, 1.00, 0.98}, + {0, 4.6, 4.6, 4.6, 7.0}, + {0, 9.5, 9.5, 8.5, 8.5}}; + double MIN_C_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1000., 1000., 1000., 100.}, + {0, 1.3, 1.3, 0.7, 0.3}, + {0, 0.76, 0.76, 0.85, 0.5}, + {0, 2.4, 2.4, 1.5, 3.5}, + {0, 1.5, 1.5, 1.5, 3.5}}; + double MAX_C_PEDESTAL[7][5] = {{0., 0., 0., 0., 0.}, + {0., 0., 0., 0., 0.}, + {0, 1E20, 1E20, 1E20, 1E20}, + {0, 1.9, 1.9, 1.65, 1.5}, + {0, 0.94, 0.94, 1.0, 0.8}, + {0, 3.7, 3.7, 2.7, 4.5}, + {0, 2.5, 2.5, 2.5, 4.5}}; + double porog_PEDESTAL[5] = {0., 2., 2., 2., 2.}; // Cut for GS test in pro cents + // double porog_PEDESTAL[5] = {0., 200., 200., 100., 100.}; // Cut for GS test in pro cents + double Pedest_PEDESTAL[2][5] = {{0., 0.1, 0.6, 0.1, 0.8}, + {0., 0.1, 0.1, 0.1, 0.4}}; //Cuts for Pedestal and pedestal Width + for (int i = 0; i <= 6; i++) + for (int j = 0; j <= 4; j++) { + MIN_M[i][j] = MIN_M_PEDESTAL[i][j]; + MAX_M[i][j] = MAX_M_PEDESTAL[i][j]; + MIN_C[i][j] = MIN_C_PEDESTAL[i][j]; + MAX_C[i][j] = MAX_C_PEDESTAL[i][j]; + } + for (int i = 0; i <= 4; i++) { + porog[i] = porog_PEDESTAL[i]; + Pedest[0][i] = Pedest_PEDESTAL[0][i]; + Pedest[1][i] = Pedest_PEDESTAL[1][i]; + } + } + + //====================================================================== + + cout << endl; + cout << MIN_M[2][1] << endl; + + //====================================================================== + // Prepare histograms and plot them to .png files + + //TCanvas *cHB = new TCanvas("cHB","cHB",1000,500); + TCanvas *cHB = new TCanvas("cHB", "cHB", 1000, 1000); + //TCanvas *cHE = new TCanvas("cHE","cHE",1500,500); + TCanvas *cHE = new TCanvas("cHE", "cHE", 1500, 1500); + //TCanvas *cONE = new TCanvas("cONE","cONE",500,500); + TCanvas *cONE = new TCanvas("cONE", "cONE", 1500, 500); + TCanvas *cPED = new TCanvas("cPED", "cPED", 1000, 500); + //TCanvas *cHF = new TCanvas("cHF","cHF",1000,1000); + TCanvas *cHF = new TCanvas("cHF", "cHF", 1000, 1000); + + // Iteration Method for Calibration Group: + + TCanvas *c1x0 = new TCanvas("c1x0", "c1x0", 300, 10, 800, 700); + + TCanvas *c1x1 = new TCanvas("c1x1", "c1x1", 100, 10, 600, 700); + + TCanvas *c3x5 = new TCanvas("c3x5", "c3x5", 1000, 1500); + // + + char *str = (char *)alloca(10000); + + // before upgrade 2017: + // depth: HB depth1,2; HE depth1,2,3; HO depth4; HF depth1,2 + // 5 depthes: 0(empty), 1,2,3,4 + + // upgrade 2017: + // depth: HB depth1,2; HE depth1,2,3,4,5,6,7; HO depth4; HF depth1,2,3,4 + // 8 depthes: 0(empty), 1,2,3,4,5,6,7 + + // upgrade 2021: + // depth: HB depth1,2,3,4; HE depth1,2,3,4,5,6,7; HO depth4; HF depth1,2,3,4 + // 10 depthes: 0(empty), 1,2,3,4,5,6,7,8,9 + + // Int_t ALLDEPTH = 5; + // Int_t ALLDEPTH = 8; + Int_t ALLDEPTH = 10; + + int k_min[5] = {0, 1, 1, 4, 1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + int k_max[5] = {0, 4, 7, 4, 4}; // maximum depth for each subdet + + TH2F *Map_Ampl[33][5][ALLDEPTH]; // 2D histogramm for test,subdet,depth + TH2F *Map_SUB[5][ALLDEPTH]; // 2d histogramm for subdet, depth + TH1F *HistAmplDepth[22][5][ALLDEPTH]; // 1d histogramm for test,subdet, depth + TH1F *HistAmpl[22][5]; // 1d histogramm for test,subdet + + TH1F *HistPed[3][5][4]; // 1d histogramm for test,subdet, CapID + TH2F *Map_Ped[3][5]; // 2d histogramm for test,subdet -> test 33 + TH1F *hist_GoodTSshape[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_GoodTSshape0[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_BadTSshape[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_BadTSshape0[5]; // 1d histogramm for TS shape subdet -> test 41 + TH1F *hist_ADC_All[5]; // 1d histogramm for TS shape subdet -> test 42 + TH1F *hist_ADC_DS[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 42 + TH1F *hist_SumADC[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 43 + TH1F *hist_SumADC0[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 43 + TH1F *hist_SumADC1[5][ALLDEPTH]; // 1d histogramm for TS shape subdet, depth -> test 43 + + Map_SUB[1][1] = (TH2F *)hfile->Get("h_mapDepth1_HB"); + Map_SUB[1][2] = (TH2F *)hfile->Get("h_mapDepth2_HB"); + Map_SUB[2][1] = (TH2F *)hfile->Get("h_mapDepth1_HE"); + Map_SUB[2][2] = (TH2F *)hfile->Get("h_mapDepth2_HE"); + Map_SUB[2][3] = (TH2F *)hfile->Get("h_mapDepth3_HE"); + Map_SUB[3][4] = (TH2F *)hfile->Get("h_mapDepth4_HO"); + Map_SUB[4][1] = (TH2F *)hfile->Get("h_mapDepth1_HF"); + Map_SUB[4][2] = (TH2F *)hfile->Get("h_mapDepth2_HF"); + + Map_SUB[1][3] = (TH2F *)hfile->Get("h_mapDepth3_HB"); + Map_SUB[1][4] = (TH2F *)hfile->Get("h_mapDepth4_HB"); + Map_SUB[2][4] = (TH2F *)hfile->Get("h_mapDepth4_HE"); + Map_SUB[2][5] = (TH2F *)hfile->Get("h_mapDepth5_HE"); + Map_SUB[2][6] = (TH2F *)hfile->Get("h_mapDepth6_HE"); + Map_SUB[2][7] = (TH2F *)hfile->Get("h_mapDepth7_HE"); + Map_SUB[4][3] = (TH2F *)hfile->Get("h_mapDepth3_HF"); + Map_SUB[4][4] = (TH2F *)hfile->Get("h_mapDepth4_HF"); + + //+++++++++++++++++++++++++++++ + //Test 0 Entries + //+++++++++++++++++++++++++++++ + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_SUB[sub][k]->SetTitle(str); + Map_SUB[sub][k]->SetXTitle("#eta \b"); + Map_SUB[sub][k]->SetYTitle("#phi \b"); + Map_SUB[sub][k]->SetZTitle("Number of events \b"); + if (sub == 3) + Map_SUB[sub][k]->SetTitleOffset(0.8, "Z"); + Map_SUB[sub][k]->Draw("COLZ"); + Map_SUB[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // Map_SUB[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + + if (sub == 1) { + cHB->Print("MapRateEntryHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateEntryHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateEntryHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateEntryHF.png"); + cHF->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 1 (Cm) Rate of Cap ID errors + //+++++++++++++++++++++++++++++ + + Map_Ampl[1][1][1] = (TH2F *)hfile->Get("h_mapDepth1Error_HB"); + Map_Ampl[1][1][2] = (TH2F *)hfile->Get("h_mapDepth2Error_HB"); + Map_Ampl[1][2][1] = (TH2F *)hfile->Get("h_mapDepth1Error_HE"); + Map_Ampl[1][2][2] = (TH2F *)hfile->Get("h_mapDepth2Error_HE"); + Map_Ampl[1][2][3] = (TH2F *)hfile->Get("h_mapDepth3Error_HE"); + Map_Ampl[1][3][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HO"); + Map_Ampl[1][4][1] = (TH2F *)hfile->Get("h_mapDepth1Error_HF"); + Map_Ampl[1][4][2] = (TH2F *)hfile->Get("h_mapDepth2Error_HF"); + + Map_Ampl[1][1][3] = (TH2F *)hfile->Get("h_mapDepth3Error_HB"); + Map_Ampl[1][1][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HB"); + Map_Ampl[1][2][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HE"); + Map_Ampl[1][2][5] = (TH2F *)hfile->Get("h_mapDepth5Error_HE"); + Map_Ampl[1][2][6] = (TH2F *)hfile->Get("h_mapDepth6Error_HE"); + Map_Ampl[1][2][7] = (TH2F *)hfile->Get("h_mapDepth7Error_HE"); + Map_Ampl[1][4][3] = (TH2F *)hfile->Get("h_mapDepth3Error_HF"); + Map_Ampl[1][4][4] = (TH2F *)hfile->Get("h_mapDepth4Error_HF"); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[1][sub][k]->Divide(Map_Ampl[1][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[1][sub][k]->SetTitle(str); + Map_Ampl[1][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[1][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[1][sub][k]->SetZTitle("Rate \b"); + if (sub == 3) + Map_Ampl[1][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[1][sub][k]->Draw("COLZ"); + Map_Ampl[1][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[1][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + + if (sub == 1) { + cHB->Print("MapRateCapIDHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateCapIDHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateCapIDHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateCapIDHF.png"); + cHF->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 2 (Am) ADC amplitude + //+++++++++++++++++++++++++++++ + + Map_Ampl[2][1][1] = (TH2F *)hfile->Get("h_mapDepth1ADCAmpl225_HB"); + Map_Ampl[2][1][2] = (TH2F *)hfile->Get("h_mapDepth2ADCAmpl225_HB"); + Map_Ampl[2][2][1] = (TH2F *)hfile->Get("h_mapDepth1ADCAmpl225_HE"); + Map_Ampl[2][2][2] = (TH2F *)hfile->Get("h_mapDepth2ADCAmpl225_HE"); + Map_Ampl[2][2][3] = (TH2F *)hfile->Get("h_mapDepth3ADCAmpl225_HE"); + Map_Ampl[2][3][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HO"); + Map_Ampl[2][4][1] = (TH2F *)hfile->Get("h_mapDepth1ADCAmpl225_HF"); + Map_Ampl[2][4][2] = (TH2F *)hfile->Get("h_mapDepth2ADCAmpl225_HF"); + + Map_Ampl[2][1][3] = (TH2F *)hfile->Get("h_mapDepth3ADCAmpl225_HB"); + Map_Ampl[2][1][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HB"); + Map_Ampl[2][2][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HE"); + Map_Ampl[2][2][5] = (TH2F *)hfile->Get("h_mapDepth5ADCAmpl225_HE"); + Map_Ampl[2][2][6] = (TH2F *)hfile->Get("h_mapDepth6ADCAmpl225_HE"); + Map_Ampl[2][2][7] = (TH2F *)hfile->Get("h_mapDepth7ADCAmpl225_HE"); + Map_Ampl[2][4][3] = (TH2F *)hfile->Get("h_mapDepth3ADCAmpl225_HF"); + Map_Ampl[2][4][4] = (TH2F *)hfile->Get("h_mapDepth4ADCAmpl225_HF"); + + HistAmpl[2][1] = (TH1F *)hfile->Get("h_ADCAmpl_HB"); + HistAmpl[2][2] = (TH1F *)hfile->Get("h_ADCAmpl_HE"); + HistAmpl[2][3] = (TH1F *)hfile->Get("h_ADCAmpl_HO"); + HistAmpl[2][4] = (TH1F *)hfile->Get("h_ADCAmpl_HF"); + + //+++++++++++++++++++++++++++++ + //Test 3 (Wm) Rate of RMS + //+++++++++++++++++++++++++++++ + + Map_Ampl[3][1][1] = (TH2F *)hfile->Get("h_mapDepth1Amplitude225_HB"); + Map_Ampl[3][1][2] = (TH2F *)hfile->Get("h_mapDepth2Amplitude225_HB"); + Map_Ampl[3][2][1] = (TH2F *)hfile->Get("h_mapDepth1Amplitude225_HE"); + Map_Ampl[3][2][2] = (TH2F *)hfile->Get("h_mapDepth2Amplitude225_HE"); + Map_Ampl[3][2][3] = (TH2F *)hfile->Get("h_mapDepth3Amplitude225_HE"); + Map_Ampl[3][3][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HO"); + Map_Ampl[3][4][1] = (TH2F *)hfile->Get("h_mapDepth1Amplitude225_HF"); + Map_Ampl[3][4][2] = (TH2F *)hfile->Get("h_mapDepth2Amplitude225_HF"); + + Map_Ampl[3][1][3] = (TH2F *)hfile->Get("h_mapDepth3Amplitude225_HB"); + Map_Ampl[3][1][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HB"); + Map_Ampl[3][2][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HE"); + Map_Ampl[3][2][5] = (TH2F *)hfile->Get("h_mapDepth5Amplitude225_HE"); + Map_Ampl[3][2][6] = (TH2F *)hfile->Get("h_mapDepth6Amplitude225_HE"); + Map_Ampl[3][2][7] = (TH2F *)hfile->Get("h_mapDepth7Amplitude225_HE"); + Map_Ampl[3][4][3] = (TH2F *)hfile->Get("h_mapDepth3Amplitude225_HF"); + Map_Ampl[3][4][4] = (TH2F *)hfile->Get("h_mapDepth4Amplitude225_HF"); + + HistAmpl[3][1] = (TH1F *)hfile->Get("h_Amplitude_HB"); + HistAmpl[3][2] = (TH1F *)hfile->Get("h_Amplitude_HE"); + HistAmpl[3][3] = (TH1F *)hfile->Get("h_Amplitude_HO"); + HistAmpl[3][4] = (TH1F *)hfile->Get("h_Amplitude_HF"); + + //+++++++++++++++++++++++++++++ + //Test 4 (Rm) Rate of ratio 4 near max TS/ All TS + //+++++++++++++++++++++++++++++ + + Map_Ampl[4][1][1] = (TH2F *)hfile->Get("h_mapDepth1Ampl047_HB"); + Map_Ampl[4][1][2] = (TH2F *)hfile->Get("h_mapDepth2Ampl047_HB"); + Map_Ampl[4][2][1] = (TH2F *)hfile->Get("h_mapDepth1Ampl047_HE"); + Map_Ampl[4][2][2] = (TH2F *)hfile->Get("h_mapDepth2Ampl047_HE"); + Map_Ampl[4][2][3] = (TH2F *)hfile->Get("h_mapDepth3Ampl047_HE"); + Map_Ampl[4][3][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HO"); + Map_Ampl[4][4][1] = (TH2F *)hfile->Get("h_mapDepth1Ampl047_HF"); + Map_Ampl[4][4][2] = (TH2F *)hfile->Get("h_mapDepth2Ampl047_HF"); + + Map_Ampl[4][1][3] = (TH2F *)hfile->Get("h_mapDepth3Ampl047_HB"); + Map_Ampl[4][1][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HB"); + Map_Ampl[4][2][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HE"); + Map_Ampl[4][2][5] = (TH2F *)hfile->Get("h_mapDepth5Ampl047_HE"); + Map_Ampl[4][2][6] = (TH2F *)hfile->Get("h_mapDepth6Ampl047_HE"); + Map_Ampl[4][2][7] = (TH2F *)hfile->Get("h_mapDepth7Ampl047_HE"); + Map_Ampl[4][4][3] = (TH2F *)hfile->Get("h_mapDepth3Ampl047_HF"); + Map_Ampl[4][4][4] = (TH2F *)hfile->Get("h_mapDepth4Ampl047_HF"); + + HistAmpl[4][1] = (TH1F *)hfile->Get("h_Ampl_HB"); + HistAmpl[4][2] = (TH1F *)hfile->Get("h_Ampl_HE"); + HistAmpl[4][3] = (TH1F *)hfile->Get("h_Ampl_HO"); + HistAmpl[4][4] = (TH1F *)hfile->Get("h_Ampl_HF"); + + //+++++++++++++++++++++++++++++ + //Test 5 (TNm) Mean position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[5][1][1] = (TH2F *)hfile->Get("h_mapDepth1TSmeanA225_HB"); + Map_Ampl[5][1][2] = (TH2F *)hfile->Get("h_mapDepth2TSmeanA225_HB"); + Map_Ampl[5][2][1] = (TH2F *)hfile->Get("h_mapDepth1TSmeanA225_HE"); + Map_Ampl[5][2][2] = (TH2F *)hfile->Get("h_mapDepth2TSmeanA225_HE"); + Map_Ampl[5][2][3] = (TH2F *)hfile->Get("h_mapDepth3TSmeanA225_HE"); + Map_Ampl[5][3][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HO"); + Map_Ampl[5][4][1] = (TH2F *)hfile->Get("h_mapDepth1TSmeanA225_HF"); + Map_Ampl[5][4][2] = (TH2F *)hfile->Get("h_mapDepth2TSmeanA225_HF"); + + Map_Ampl[5][1][3] = (TH2F *)hfile->Get("h_mapDepth3TSmeanA225_HB"); + Map_Ampl[5][1][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HB"); + Map_Ampl[5][2][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HE"); + Map_Ampl[5][2][5] = (TH2F *)hfile->Get("h_mapDepth5TSmeanA225_HE"); + Map_Ampl[5][2][6] = (TH2F *)hfile->Get("h_mapDepth6TSmeanA225_HE"); + Map_Ampl[5][2][7] = (TH2F *)hfile->Get("h_mapDepth7TSmeanA225_HE"); + Map_Ampl[5][4][3] = (TH2F *)hfile->Get("h_mapDepth3TSmeanA225_HF"); + Map_Ampl[5][4][4] = (TH2F *)hfile->Get("h_mapDepth4TSmeanA225_HF"); + + HistAmpl[5][1] = (TH1F *)hfile->Get("h_TSmeanA_HB"); + HistAmpl[5][2] = (TH1F *)hfile->Get("h_TSmeanA_HE"); + HistAmpl[5][3] = (TH1F *)hfile->Get("h_TSmeanA_HO"); + HistAmpl[5][4] = (TH1F *)hfile->Get("h_TSmeanA_HF"); + + //+++++++++++++++++++++++++++++ + //Test 6 (TXm) Maximum position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[6][1][1] = (TH2F *)hfile->Get("h_mapDepth1TSmaxA225_HB"); + Map_Ampl[6][1][2] = (TH2F *)hfile->Get("h_mapDepth2TSmaxA225_HB"); + Map_Ampl[6][2][1] = (TH2F *)hfile->Get("h_mapDepth1TSmaxA225_HE"); + Map_Ampl[6][2][2] = (TH2F *)hfile->Get("h_mapDepth2TSmaxA225_HE"); + Map_Ampl[6][2][3] = (TH2F *)hfile->Get("h_mapDepth3TSmaxA225_HE"); + Map_Ampl[6][3][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HO"); + Map_Ampl[6][4][1] = (TH2F *)hfile->Get("h_mapDepth1TSmaxA225_HF"); + Map_Ampl[6][4][2] = (TH2F *)hfile->Get("h_mapDepth2TSmaxA225_HF"); + + Map_Ampl[6][1][3] = (TH2F *)hfile->Get("h_mapDepth3TSmaxA225_HB"); + Map_Ampl[6][1][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HB"); + Map_Ampl[6][2][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HE"); + Map_Ampl[6][2][5] = (TH2F *)hfile->Get("h_mapDepth5TSmaxA225_HE"); + Map_Ampl[6][2][6] = (TH2F *)hfile->Get("h_mapDepth6TSmaxA225_HE"); + Map_Ampl[6][2][7] = (TH2F *)hfile->Get("h_mapDepth7TSmaxA225_HE"); + Map_Ampl[6][4][3] = (TH2F *)hfile->Get("h_mapDepth3TSmaxA225_HF"); + Map_Ampl[6][4][4] = (TH2F *)hfile->Get("h_mapDepth4TSmaxA225_HF"); + + HistAmpl[6][1] = (TH1F *)hfile->Get("h_TSmaxA_HB"); + HistAmpl[6][2] = (TH1F *)hfile->Get("h_TSmaxA_HE"); + HistAmpl[6][3] = (TH1F *)hfile->Get("h_TSmaxA_HO"); + HistAmpl[6][4] = (TH1F *)hfile->Get("h_TSmaxA_HF"); + + for (int test = 2; test <= 6; test++) { //Test: 2-Am, 3-Wm, 4-Rm, 5-TNm, 6-TXm, + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[test][sub][k]->SetTitle(str); + Map_Ampl[test][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[test][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[test][sub][k]->SetZTitle("Rate \b"); + if (sub == 3) + Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[test][sub][k]->Draw("COLZ"); + Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (test == 2) { + if (sub == 1) { + cHB->Print("MapRateAmplHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmplHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmplHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmplHF.png"); + cHF->Clear(); + } + } + if (test == 3) { + if (sub == 1) { + cHB->Print("MapRateRMSHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateRMSHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateRMSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateRMSHF.png"); + cHF->Clear(); + } + } + if (test == 4) { + if (sub == 1) { + cHB->Print("MapRate43TStoAllTSHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRate43TStoAllTSHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRate43TStoAllTSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRate43TStoAllTSHF.png"); + cHF->Clear(); + } + } + if (test == 5) { + if (sub == 1) { + cHB->Print("MapRateMeanPosHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateMeanPosHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMeanPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateMeanPosHF.png"); + cHF->Clear(); + } + } + if (test == 6) { + if (sub == 1) { + cHB->Print("MapRateMaxPosHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateMaxPosHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMaxPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateMaxPosHF.png"); + cHF->Clear(); + } + } + + // cONE->Divide(1,1); + cONE->Divide(3, 1); + if (test == 2 && sub == 2) { + cONE->cd(2); + TH1F *kjkjkhj2 = (TH1F *)hfile->Get("h_AmplitudeHEtest1"); + kjkjkhj2->Draw(""); + kjkjkhj2->SetTitle("HE, All Depth: shunt1"); + cONE->cd(3); + TH1F *kjkjkhj3 = (TH1F *)hfile->Get("h_AmplitudeHEtest6"); + kjkjkhj3->Draw(""); + kjkjkhj3->SetTitle("HE, All Depth: shunt6"); + } + if (test == 2 && sub == 1) { + cONE->cd(2); + TH1F *kjkjkhb2 = (TH1F *)hfile->Get("h_AmplitudeHBtest1"); + kjkjkhb2->Draw(""); + kjkjkhb2->SetTitle("HB, All Depth: shunt1"); + cONE->cd(3); + TH1F *kjkjkhb3 = (TH1F *)hfile->Get("h_AmplitudeHBtest6"); + kjkjkhb3->Draw(""); + kjkjkhb3->SetTitle("HB, All Depth: shunt6"); + } + cONE->cd(1); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + if (sub == 1) + HistAmpl[test][sub]->SetTitle("HB, All Depth: shunt6"); + if (sub == 2) + HistAmpl[test][sub]->SetTitle("HE, All Depth: shunt6"); + if (sub == 3) + HistAmpl[test][sub]->SetTitle("HO, All Depth"); + if (sub == 4) + HistAmpl[test][sub]->SetTitle("HF, All Depth"); + if (test == 2) + HistAmpl[test][sub]->SetXTitle("ADC Amlitude in each event & cell \b"); + if (test == 3) + HistAmpl[test][sub]->SetXTitle("RMS in each event & cell \b"); + if (test == 4) + HistAmpl[test][sub]->SetXTitle("Ratio in each event & cell \b"); + if (test == 5) + HistAmpl[test][sub]->SetXTitle("Mean TS position in each event & cell \b"); + if (test == 6) + HistAmpl[test][sub]->SetXTitle("Max TS position in each event & cell \b"); + HistAmpl[test][sub]->SetYTitle("Number of cell-events \b"); + HistAmpl[test][sub]->SetLineColor(4); + HistAmpl[test][sub]->SetLineWidth(2); + HistAmpl[test][sub]->SetTitleOffset(1.4, "Y"); + HistAmpl[test][sub]->Draw(""); + // // HistAmpl[test][sub]->GetYaxis()->SetRangeUser(1., 100.); + // if (test==2) {gPad->SetLogx(); HistAmpl[test][sub]->GetXaxis()->SetRangeUser(1., 10000.);} + if (test == 2) { + gPad->SetLogx(); + } + if (test == 3) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 5.); // width + if (test == 4) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 1.); // R + if (test == 5) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); //Tn + if (test == 6) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); //Tx + cONE->Modified(); + cONE->Update(); + double min_x[] = {MIN_M[test][sub], MIN_M[test][sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + double max_x[] = {MAX_M[test][sub], MAX_M[test][sub]}; + double max_y[] = {0., 100000000.}; + TGraph *MAX = new TGraph(2, max_x, max_y); + MAX->SetLineStyle(2); + MAX->SetLineColor(2); + MAX->SetLineWidth(-2 - 100 * 100); + MAX->SetFillStyle(3004); + MAX->SetFillColor(2); + MAX->Draw("L"); + if (test == 2) { + if (sub == 1) { + cONE->Print("HistAmplHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistAmplHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistAmplHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistAmplHF.png"); + cONE->Clear(); + } + } + if (test == 3) { + if (sub == 1) { + cONE->Print("HistRMSHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistRMSHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistRMSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistRMSHF.png"); + cONE->Clear(); + } + } + if (test == 4) { + if (sub == 1) { + cONE->Print("Hist43TStoAllTSHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("Hist43TStoAllTSHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("Hist43TStoAllTSHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("Hist43TStoAllTSHF.png"); + cONE->Clear(); + } + } + if (test == 5) { + if (sub == 1) { + cONE->Print("HistMeanPosHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMeanPosHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMeanPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMeanPosHF.png"); + cONE->Clear(); + } + } + if (test == 6) { + if (sub == 1) { + cONE->Print("HistMaxPosHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMaxPosHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMaxPosHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMaxPosHF.png"); + cONE->Clear(); + } + } + } // end sub + } //end test + + TH2F *Map_Calib[5][5]; // 2d histogramm for subdet, depth + + Map_Calib[1][1] = (TH2F *)hfile->Get("h_map_HB"); + Map_Calib[1][2] = (TH2F *)hfile->Get("h_map_HB"); + Map_Calib[2][1] = (TH2F *)hfile->Get("h_map_HE"); + Map_Calib[2][2] = (TH2F *)hfile->Get("h_map_HE"); + Map_Calib[2][3] = (TH2F *)hfile->Get("h_map_HE"); + Map_Calib[3][4] = (TH2F *)hfile->Get("h_map_HO"); + Map_Calib[4][1] = (TH2F *)hfile->Get("h_map_HF"); + Map_Calib[4][2] = (TH2F *)hfile->Get("h_map_HF"); + + //+++++++++++++++++++++++++++++ + //Test 0 Entries + //+++++++++++++++++++++++++++++ + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + // if (sub==2) cHE->Divide(3,1); + cONE->Divide(1, 1); + // if (sub==4) cHB->Divide(2,1); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth + int k = 1; + cONE->cd(k); + // if (sub==1) cHB->cd(k); + // if (sub==2) cHE->cd(k); + if (sub == 3) + k = 4; + // if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB"); + if (sub == 2) + sprintf(str, "HE"); + if (sub == 3) + sprintf(str, "HO"); + if (sub == 4) + sprintf(str, "HF"); + Map_Calib[sub][k]->SetTitle(str); + Map_Calib[sub][k]->SetXTitle("#eta \b"); + Map_Calib[sub][k]->SetYTitle("#phi \b"); + Map_Calib[sub][k]->SetZTitle("Number of events\b"); + if (sub == 3) + Map_Calib[sub][k]->SetTitleOffset(0.8, "Z"); + Map_Calib[sub][k]->Draw("COLZ"); + Map_Calib[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // Map_Calib[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + // if (sub==1) {cHB->Modified(); cHB->Update();} + // if (sub==2) {cHE->Modified(); cHE->Update();} + cONE->Modified(); + cONE->Update(); + // if (sub==4) {cHB->Modified(); cHB->Update();} + // }//end depth + + if (sub == 1) { + cONE->Print("MapRateCalibEntryHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateCalibEntryHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateCalibEntryHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateCalibEntryHF.png"); + cONE->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 11 (Cc) Rate of Cap ID errors for calibration channels + //+++++++++++++++++++++++++++++ + + Map_Ampl[11][1][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HB"); + Map_Ampl[11][1][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HB"); + Map_Ampl[11][2][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); + Map_Ampl[11][2][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); + Map_Ampl[11][2][3] = (TH2F *)hfile->Get("h_mapCapCalib047_HE"); + Map_Ampl[11][3][4] = (TH2F *)hfile->Get("h_mapCapCalib047_HO"); + Map_Ampl[11][4][1] = (TH2F *)hfile->Get("h_mapCapCalib047_HF"); + Map_Ampl[11][4][2] = (TH2F *)hfile->Get("h_mapCapCalib047_HF"); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + // if (sub==2) cHE->Divide(3,1); + cONE->Divide(1, 1); + // if (sub==4) cHB->Divide(2,1); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth + int k = 1; + cONE->cd(k); + // if (sub==1) cHB->cd(k); + // if (sub==2) cHE->cd(k); + if (sub == 3) + k = 4; + // if (sub==4) cHB->cd(k); + Map_Ampl[11][sub][k]->Divide(Map_Ampl[11][sub][k], Map_Calib[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB"); + if (sub == 2) + sprintf(str, "HE"); + if (sub == 3) + sprintf(str, "HO"); + if (sub == 4) + sprintf(str, "HF"); + Map_Ampl[11][sub][k]->SetTitle(str); + Map_Ampl[11][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[11][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[11][sub][k]->SetZTitle("Rate \b"); + Map_Ampl[11][sub][k]->SetTitleOffset(0.75, "Z"); + Map_Ampl[11][sub][k]->Draw("COLZ"); + Map_Ampl[11][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[11][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + // if (sub==1) {cHB->Modified(); cHB->Update();} + // if (sub==2) {cHE->Modified(); cHE->Update();} + cONE->Modified(); + cONE->Update(); + // if (sub==4) {cHB->Modified(); cHB->Update();} + // }//end depth + + if (sub == 1) { + cONE->Print("MapRateCapCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateCapCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateCapCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateCapCalibHF.png"); + cONE->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++ + //Test 12 (Ac) ADC amplitude for calibration chanels + //+++++++++++++++++++++++++++++ + + Map_Ampl[12][1][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HB"); + Map_Ampl[12][1][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HB"); + Map_Ampl[12][2][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); + Map_Ampl[12][2][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); + Map_Ampl[12][2][3] = (TH2F *)hfile->Get("h_mapADCCalib047_HE"); + Map_Ampl[12][3][4] = (TH2F *)hfile->Get("h_mapADCCalib047_HO"); + Map_Ampl[12][4][1] = (TH2F *)hfile->Get("h_mapADCCalib047_HF"); + Map_Ampl[12][4][2] = (TH2F *)hfile->Get("h_mapADCCalib047_HF"); + + HistAmpl[12][1] = (TH1F *)hfile->Get("h_ADCCalib_HB"); + HistAmpl[12][2] = (TH1F *)hfile->Get("h_ADCCalib_HE"); + HistAmpl[12][3] = (TH1F *)hfile->Get("h_ADCCalib_HO"); + HistAmpl[12][4] = (TH1F *)hfile->Get("h_ADCCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 13 (Wc) Rate of RMS + //+++++++++++++++++++++++++++++ + + Map_Ampl[13][1][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HB"); + Map_Ampl[13][1][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HB"); + Map_Ampl[13][2][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); + Map_Ampl[13][2][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); + Map_Ampl[13][2][3] = (TH2F *)hfile->Get("h_mapWidthCalib047_HE"); + Map_Ampl[13][3][4] = (TH2F *)hfile->Get("h_mapWidthCalib047_HO"); + Map_Ampl[13][4][1] = (TH2F *)hfile->Get("h_mapWidthCalib047_HF"); + Map_Ampl[13][4][2] = (TH2F *)hfile->Get("h_mapWidthCalib047_HF"); + + HistAmpl[13][1] = (TH1F *)hfile->Get("h_WidthCalib_HB"); + HistAmpl[13][2] = (TH1F *)hfile->Get("h_WidthCalib_HE"); + HistAmpl[13][3] = (TH1F *)hfile->Get("h_WidthCalib_HO"); + HistAmpl[13][4] = (TH1F *)hfile->Get("h_WidthCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 14 (Rc) Rate of ratio 4 near max TS/ All TS + //+++++++++++++++++++++++++++++ + + Map_Ampl[14][1][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HB"); + Map_Ampl[14][1][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HB"); + Map_Ampl[14][2][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); + Map_Ampl[14][2][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); + Map_Ampl[14][2][3] = (TH2F *)hfile->Get("h_mapRatioCalib047_HE"); + Map_Ampl[14][3][4] = (TH2F *)hfile->Get("h_mapRatioCalib047_HO"); + Map_Ampl[14][4][1] = (TH2F *)hfile->Get("h_mapRatioCalib047_HF"); + Map_Ampl[14][4][2] = (TH2F *)hfile->Get("h_mapRatioCalib047_HF"); + + HistAmpl[14][1] = (TH1F *)hfile->Get("h_RatioCalib_HB"); + HistAmpl[14][2] = (TH1F *)hfile->Get("h_RatioCalib_HE"); + HistAmpl[14][3] = (TH1F *)hfile->Get("h_RatioCalib_HO"); + HistAmpl[14][4] = (TH1F *)hfile->Get("h_RatioCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 15 (TNc) Mean position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[15][1][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HB"); + Map_Ampl[15][1][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HB"); + Map_Ampl[15][2][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); + Map_Ampl[15][2][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); + Map_Ampl[15][2][3] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HE"); + Map_Ampl[15][3][4] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HO"); + Map_Ampl[15][4][1] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HF"); + Map_Ampl[15][4][2] = (TH2F *)hfile->Get("h_mapTSmeanCalib047_HF"); + + HistAmpl[15][1] = (TH1F *)hfile->Get("h_TSmeanCalib_HB"); + HistAmpl[15][2] = (TH1F *)hfile->Get("h_TSmeanCalib_HE"); + HistAmpl[15][3] = (TH1F *)hfile->Get("h_TSmeanCalib_HO"); + HistAmpl[15][4] = (TH1F *)hfile->Get("h_TSmeanCalib_HF"); + + //+++++++++++++++++++++++++++++ + //Test 16 (TXc) Maximum position in 1-8 TS range + //+++++++++++++++++++++++++++++ + + Map_Ampl[16][1][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HB"); + Map_Ampl[16][1][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HB"); + Map_Ampl[16][2][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); + Map_Ampl[16][2][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); + Map_Ampl[16][2][3] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HE"); + Map_Ampl[16][3][4] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HO"); + Map_Ampl[16][4][1] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HF"); + Map_Ampl[16][4][2] = (TH2F *)hfile->Get("h_mapTSmaxCalib047_HF"); + + HistAmpl[16][1] = (TH1F *)hfile->Get("h_TSmaxCalib_HB"); + HistAmpl[16][2] = (TH1F *)hfile->Get("h_TSmaxCalib_HE"); + HistAmpl[16][3] = (TH1F *)hfile->Get("h_TSmaxCalib_HO"); + HistAmpl[16][4] = (TH1F *)hfile->Get("h_TSmaxCalib_HF"); + + for (int test = 12; test <= 16; test++) { //Test: 2-Am, 3-Wm, 4-Rm, 5-TNm, 6-TXm, + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + if (sub == 1) + cONE->Divide(1, 1); //cHB->Divide(2,1); + if (sub == 2) + cONE->Divide(1, 1); //cHE->Divide(3,1); + if (sub == 3) + cONE->Divide(1, 1); + if (sub == 4) + cONE->Divide(1, 1); //cHB->Divide(2,1); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // for (int k=k_min[sub];k<=k_max[sub];k++) { //Depth + int k = 1; + if (sub == 1) { + k = 1; + cONE->cd(k); + } //cHB->cd(k); } + if (sub == 2) { + k = 1; + cONE->cd(k); + } //cHE->cd(k); } + if (sub == 3) { + k = 4; + cONE->cd(k - 3); + } + if (sub == 4) { + k = 1; + cONE->cd(k); + } //cHB->cd(k); } + Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_Calib[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB"); + if (sub == 2) + sprintf(str, "HE"); + if (sub == 3) + sprintf(str, "HO"); + if (sub == 4) + sprintf(str, "HF"); + Map_Ampl[test][sub][k]->SetTitle(str); + Map_Ampl[test][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[test][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[test][sub][k]->SetZTitle("Rate \b"); + Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[test][sub][k]->Draw("COLZ"); + Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.00001, 1.); + // if (sub==1) {cHB->Modified(); cHB->Update();} + // if (sub==2) {cHE->Modified(); cHE->Update();} + cONE->Modified(); + cONE->Update(); + // if (sub==4) {cHB->Modified(); cHB->Update();} + // }//end depth + if (test == 12) { + if (sub == 1) { + cONE->Print("MapRateAmplCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateAmplCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmplCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateAmplCalibHF.png"); + cONE->Clear(); + } + } + if (test == 13) { + if (sub == 1) { + cONE->Print("MapRateRMSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateRMSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateRMSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateRMSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 14) { + if (sub == 1) { + cONE->Print("MapRate43TStoAllTSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRate43TStoAllTSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRate43TStoAllTSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRate43TStoAllTSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 15) { + if (sub == 1) { + cONE->Print("MapRateMeanPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateMeanPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMeanPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateMeanPosCalibHF.png"); + cONE->Clear(); + } + } + if (test == 16) { + if (sub == 1) { + cONE->Print("MapRateMaxPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("MapRateMaxPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateMaxPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("MapRateMaxPosCalibHF.png"); + cONE->Clear(); + } + } + + cONE->Divide(1, 1); + cONE->cd(1); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + if (sub == 1) + HistAmpl[test][sub]->SetTitle("HB, All Depth"); + if (sub == 2) + HistAmpl[test][sub]->SetTitle("HE, All Depth"); + if (sub == 3) + HistAmpl[test][sub]->SetTitle("HO, All Depth"); + if (sub == 4) + HistAmpl[test][sub]->SetTitle("HF, All Depth"); + if (test == 12) + HistAmpl[test][sub]->SetXTitle("ADC Amlitude in each event & cell \b"); + if (test == 13) + HistAmpl[test][sub]->SetXTitle("Amplitude RMS in each event & cell \b"); + if (test == 14) + HistAmpl[test][sub]->SetXTitle("Ratio in each event & cell \b"); + if (test == 15) + HistAmpl[test][sub]->SetXTitle("Mean TS position in each event & cell \b"); + if (test == 16) + HistAmpl[test][sub]->SetXTitle("Max TS position in each event & cell \b"); + HistAmpl[test][sub]->SetYTitle("Number of cell-events \b"); + HistAmpl[test][sub]->SetLineColor(4); + HistAmpl[test][sub]->SetLineWidth(2); + HistAmpl[test][sub]->SetTitleOffset(1.4, "Y"); + HistAmpl[test][sub]->Draw(""); + // HistAmpl[test][sub]->GetYaxis()->SetRangeUser(1., 100.); + if (test == 12) { + gPad->SetLogx(); + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(1., 10000.); + } + if (test == 13) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 5.); + if (test == 14) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 1.); + if (test == 15) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); + if (test == 16) + HistAmpl[test][sub]->GetXaxis()->SetRangeUser(0., 9.); + cONE->Modified(); + cONE->Update(); + double min_x[] = {MIN_C[test - 10][sub], MIN_C[test - 10][sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + double max_x[] = {MAX_C[test - 10][sub], MAX_C[test - 10][sub]}; + double max_y[] = {0., 100000000.}; + TGraph *MAX = new TGraph(2, max_x, max_y); + MAX->SetLineStyle(2); + MAX->SetLineColor(2); + MAX->SetLineWidth(-2 - 100 * 100); + MAX->SetFillStyle(3004); + MAX->SetFillColor(2); + MAX->Draw("L"); + if (test == 12) { + if (sub == 1) { + cONE->Print("HistAmplCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistAmplCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistAmplCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistAmplCalibHF.png"); + cONE->Clear(); + } + } + if (test == 13) { + if (sub == 1) { + cONE->Print("HistRMSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistRMSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistRMSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistRMSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 14) { + if (sub == 1) { + cONE->Print("Hist43TStoAllTSCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("Hist43TStoAllTSCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("Hist43TStoAllTSCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("Hist43TStoAllTSCalibHF.png"); + cONE->Clear(); + } + } + if (test == 15) { + if (sub == 1) { + cONE->Print("HistMeanPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMeanPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMeanPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMeanPosCalibHF.png"); + cONE->Clear(); + } + } + if (test == 16) { + if (sub == 1) { + cONE->Print("HistMaxPosCalibHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistMaxPosCalibHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistMaxPosCalibHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistMaxPosCalibHF.png"); + cONE->Clear(); + } + } + } // end sub + } //end test + + //+++++++++++++++++++++++++++++ + //Test 21 (GS) Amplitude drift + //+++++++++++++++++++++++++++++ + + Map_Ampl[21][1][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HB"); + Map_Ampl[21][1][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HB"); + Map_Ampl[21][1][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HB"); + Map_Ampl[21][1][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HB"); + Map_Ampl[21][2][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HE"); + Map_Ampl[21][2][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HE"); + Map_Ampl[21][2][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HE"); + Map_Ampl[21][2][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HE"); + Map_Ampl[21][2][5] = (TH2F *)hfile->Get("h_mapDepth5AmplE34_HE"); + Map_Ampl[21][2][6] = (TH2F *)hfile->Get("h_mapDepth6AmplE34_HE"); + Map_Ampl[21][2][7] = (TH2F *)hfile->Get("h_mapDepth7AmplE34_HE"); + Map_Ampl[21][3][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HO"); + Map_Ampl[21][4][1] = (TH2F *)hfile->Get("h_mapDepth1AmplE34_HF"); + Map_Ampl[21][4][2] = (TH2F *)hfile->Get("h_mapDepth2AmplE34_HF"); + Map_Ampl[21][4][3] = (TH2F *)hfile->Get("h_mapDepth3AmplE34_HF"); + Map_Ampl[21][4][4] = (TH2F *)hfile->Get("h_mapDepth4AmplE34_HF"); + + TH2F *Map_RefAmpl[5][ALLDEPTH]; // 2D histogramm for subdet, depth + TH2F *Map_RefSUB[5][ALLDEPTH]; // 2d histogramm for subdet, depth + + Map_RefAmpl[1][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HB"); + Map_RefAmpl[1][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HB"); + Map_RefAmpl[1][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HB"); + Map_RefAmpl[1][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HB"); + Map_RefAmpl[2][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HE"); + Map_RefAmpl[2][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HE"); + Map_RefAmpl[2][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HE"); + Map_RefAmpl[2][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HE"); + Map_RefAmpl[2][5] = (TH2F *)hreffile->Get("h_mapDepth5AmplE34_HE"); + Map_RefAmpl[2][6] = (TH2F *)hreffile->Get("h_mapDepth6AmplE34_HE"); + Map_RefAmpl[2][7] = (TH2F *)hreffile->Get("h_mapDepth7AmplE34_HE"); + Map_RefAmpl[3][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HO"); + Map_RefAmpl[4][1] = (TH2F *)hreffile->Get("h_mapDepth1AmplE34_HF"); + Map_RefAmpl[4][2] = (TH2F *)hreffile->Get("h_mapDepth2AmplE34_HF"); + Map_RefAmpl[4][3] = (TH2F *)hreffile->Get("h_mapDepth3AmplE34_HF"); + Map_RefAmpl[4][4] = (TH2F *)hreffile->Get("h_mapDepth4AmplE34_HF"); + + Map_RefSUB[1][1] = (TH2F *)hreffile->Get("h_mapDepth1_HB"); + Map_RefSUB[1][2] = (TH2F *)hreffile->Get("h_mapDepth2_HB"); + Map_RefSUB[1][3] = (TH2F *)hreffile->Get("h_mapDepth3_HB"); + Map_RefSUB[1][4] = (TH2F *)hreffile->Get("h_mapDepth4_HB"); + Map_RefSUB[2][1] = (TH2F *)hreffile->Get("h_mapDepth1_HE"); + Map_RefSUB[2][2] = (TH2F *)hreffile->Get("h_mapDepth2_HE"); + Map_RefSUB[2][3] = (TH2F *)hreffile->Get("h_mapDepth3_HE"); + Map_RefSUB[2][4] = (TH2F *)hreffile->Get("h_mapDepth4_HE"); + Map_RefSUB[2][5] = (TH2F *)hreffile->Get("h_mapDepth5_HE"); + Map_RefSUB[2][6] = (TH2F *)hreffile->Get("h_mapDepth6_HE"); + Map_RefSUB[2][7] = (TH2F *)hreffile->Get("h_mapDepth7_HE"); + Map_RefSUB[3][4] = (TH2F *)hreffile->Get("h_mapDepth4_HO"); + Map_RefSUB[4][1] = (TH2F *)hreffile->Get("h_mapDepth1_HF"); + Map_RefSUB[4][2] = (TH2F *)hreffile->Get("h_mapDepth2_HF"); + Map_RefSUB[4][3] = (TH2F *)hreffile->Get("h_mapDepth3_HF"); + Map_RefSUB[4][4] = (TH2F *)hreffile->Get("h_mapDepth4_HF"); + + HistAmplDepth[21][1][1] = new TH1F("diffAmpl_Depth1_HB", "", 100, -10., 10.); + HistAmplDepth[21][1][2] = new TH1F("diffAmpl_Depth2_HB", "", 100, -10., 10.); + HistAmplDepth[21][1][3] = new TH1F("diffAmpl_Depth3_HB", "", 100, -10., 10.); + HistAmplDepth[21][1][4] = new TH1F("diffAmpl_Depth4_HB", "", 100, -10., 10.); + HistAmplDepth[21][2][1] = new TH1F("diffAmpl_Depth1_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][2] = new TH1F("diffAmpl_Depth2_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][3] = new TH1F("diffAmpl_Depth3_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][4] = new TH1F("diffAmpl_Depth4_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][5] = new TH1F("diffAmpl_Depth5_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][6] = new TH1F("diffAmpl_Depth6_HE", "", 100, -10., 10.); + HistAmplDepth[21][2][7] = new TH1F("diffAmpl_Depth7_HE", "", 100, -10., 10.); + HistAmplDepth[21][3][4] = new TH1F("diffAmpl_Depth4_HO", "", 100, -10., 10.); + HistAmplDepth[21][4][1] = new TH1F("diffAmpl_Depth1_HF", "", 100, -10., 10.); + HistAmplDepth[21][4][2] = new TH1F("diffAmpl_Depth2_HF", "", 100, -10., 10.); + HistAmplDepth[21][4][3] = new TH1F("diffAmpl_Depth3_HF", "", 100, -10., 10.); + HistAmplDepth[21][4][4] = new TH1F("diffAmpl_Depth4_HF", "", 100, -10., 10.); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[21][sub][k]->Divide(Map_Ampl[21][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[21][sub][k]->SetTitle(str); + Map_Ampl[21][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[21][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[21][sub][k]->SetZTitle("Response \b"); + Map_Ampl[21][sub][k]->SetTitleOffset(1.1, "Z"); + Map_Ampl[21][sub][k]->Draw("COLZ"); + Map_Ampl[21][sub][k]->GetYaxis()->SetRangeUser(0, 71.); + // Map_Ampl[21][sub][k]->GetZaxis()->SetRangeUser(1., 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (sub == 1) { + cHB->Print("MapRateAmpl1HB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmpl1HE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmpl1HO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmpl1HF.png"); + cHF->Clear(); + } + + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_RefAmpl[sub][k]->Divide(Map_RefAmpl[sub][k], Map_RefSUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_RefAmpl[sub][k]->SetTitle(str); + Map_RefAmpl[sub][k]->SetXTitle("#eta \b"); + Map_RefAmpl[sub][k]->SetYTitle("#phi \b"); + Map_RefAmpl[sub][k]->SetZTitle("Response\b"); + Map_RefAmpl[sub][k]->SetTitleOffset(1.1, "Z"); + Map_RefAmpl[sub][k]->Draw("COLZ"); + Map_RefAmpl[sub][k]->GetYaxis()->SetRangeUser(0, 71.); + // Map_RefAmpl[21][sub][k]->GetZaxis()->SetRangeUser(1., 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (sub == 1) { + cHB->Print("MapRateAmpl2HB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmpl2HE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmpl2HO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmpl2HF.png"); + cHF->Clear(); + } + + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + TH2F *TTT = new TH2F("Map", "Map", 82, -41, 40, 72, 0, 71); + for (int x = 1; x <= Map_Ampl[21][sub][k]->GetXaxis()->GetNbins(); x++) { + for (int y = 1; y <= Map_Ampl[21][sub][k]->GetYaxis()->GetNbins(); y++) { + if (Map_Ampl[21][sub][k]->GetBinContent(x, y) != 0 && Map_RefAmpl[sub][k]->GetBinContent(x, y) != 0) { + double ccc1 = Map_Ampl[21][sub][k]->GetBinContent(x, y) - Map_RefAmpl[sub][k]->GetBinContent(x, y); + ccc1 = 100. * ccc1 / Map_Ampl[21][sub][k]->GetBinContent(x, y); // in % + HistAmplDepth[21][sub][k]->Fill(ccc1); + Map_Ampl[21][sub][k]->SetBinContent(x, y, fabs(ccc1)); + if (fabs(ccc1) > porog[sub]) + TTT->SetBinContent(x, y, fabs(ccc1)); + else + TTT->SetBinContent(x, y, 0); + } + } //end y + } //esnd x + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + TTT->SetTitle(str); + TTT->SetXTitle("#eta \b"); + TTT->SetYTitle("#phi \b"); + TTT->SetZTitle("Relative difference, % \b"); + TTT->SetTitleOffset(0.9, "Z"); + TTT->Draw("COLZ"); + TTT->GetYaxis()->SetRangeUser(0, 71.); + TTT->GetZaxis()->SetRangeUser(0, 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + + if (sub == 1) { + cHB->Print("MapRateAmplDriftHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRateAmplDriftHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRateAmplDriftHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRateAmplDriftHF.png"); + cHF->Clear(); + } + //////////////////////////////////////////////////////////////////////////////////// + + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + HistAmplDepth[21][sub][k]->SetTitle(str); + HistAmplDepth[21][sub][k]->SetYTitle("Number of cell-events \b"); + HistAmplDepth[21][sub][k]->SetXTitle("Per cent \b"); + HistAmplDepth[21][sub][k]->SetLineColor(4); + HistAmplDepth[21][sub][k]->SetLineWidth(2); + HistAmplDepth[21][sub][k]->SetTitleOffset(1.4, "Y"); + HistAmplDepth[21][sub][k]->Draw(); + // HistAmplDepth[21][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + HistAmplDepth[21][sub][k]->GetXaxis()->SetRangeUser(-10., 10.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + double min_x[] = {-1 * porog[sub], -1 * porog[sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + double max_x[] = {porog[sub], porog[sub]}; + double max_y[] = {0., 100000000.}; + TGraph *MAX = new TGraph(2, max_x, max_y); + MAX->SetLineStyle(2); + MAX->SetLineColor(2); + MAX->SetLineWidth(-2 - 100 * 100); + MAX->SetFillStyle(3004); + MAX->SetFillColor(2); + MAX->Draw("L"); + } // end depth + if (sub == 1) { + cHB->Print("HistAmplDriftDepthHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("HistAmplDriftDepthHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("HistAmplDriftDepthHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("HistAmplDriftDepthHF.png"); + cHF->Clear(); + } + } //end sub + + //+++++++++++++++++++++++++++++++++++ + //Test 31, 32 Pedestal, pedestalWidths + //++++++++++++++++++++++++++++++++++++ + + Map_Ampl[31][1][1] = (TH2F *)hfile->Get("h_mapDepth1pedestal_HB"); + Map_Ampl[31][1][2] = (TH2F *)hfile->Get("h_mapDepth2pedestal_HB"); + Map_Ampl[31][1][3] = (TH2F *)hfile->Get("h_mapDepth3pedestal_HB"); + Map_Ampl[31][1][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HB"); + Map_Ampl[31][2][1] = (TH2F *)hfile->Get("h_mapDepth1pedestal_HE"); + Map_Ampl[31][2][2] = (TH2F *)hfile->Get("h_mapDepth2pedestal_HE"); + Map_Ampl[31][2][3] = (TH2F *)hfile->Get("h_mapDepth3pedestal_HE"); + Map_Ampl[31][2][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HE"); + Map_Ampl[31][2][5] = (TH2F *)hfile->Get("h_mapDepth5pedestal_HE"); + Map_Ampl[31][2][6] = (TH2F *)hfile->Get("h_mapDepth6pedestal_HE"); + Map_Ampl[31][2][7] = (TH2F *)hfile->Get("h_mapDepth7pedestal_HE"); + Map_Ampl[31][3][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HO"); + Map_Ampl[31][4][1] = (TH2F *)hfile->Get("h_mapDepth1pedestal_HF"); + Map_Ampl[31][4][2] = (TH2F *)hfile->Get("h_mapDepth2pedestal_HF"); + Map_Ampl[31][4][3] = (TH2F *)hfile->Get("h_mapDepth3pedestal_HF"); + Map_Ampl[31][4][4] = (TH2F *)hfile->Get("h_mapDepth4pedestal_HF"); + + Map_Ampl[32][1][1] = (TH2F *)hfile->Get("h_mapDepth1pedestalw_HB"); + Map_Ampl[32][1][2] = (TH2F *)hfile->Get("h_mapDepth2pedestalw_HB"); + Map_Ampl[32][1][3] = (TH2F *)hfile->Get("h_mapDepth3pedestalw_HB"); + Map_Ampl[32][1][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HB"); + Map_Ampl[32][2][1] = (TH2F *)hfile->Get("h_mapDepth1pedestalw_HE"); + Map_Ampl[32][2][2] = (TH2F *)hfile->Get("h_mapDepth2pedestalw_HE"); + Map_Ampl[32][2][3] = (TH2F *)hfile->Get("h_mapDepth3pedestalw_HE"); + Map_Ampl[32][2][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HE"); + Map_Ampl[32][2][5] = (TH2F *)hfile->Get("h_mapDepth5pedestalw_HE"); + Map_Ampl[32][2][6] = (TH2F *)hfile->Get("h_mapDepth6pedestalw_HE"); + Map_Ampl[32][2][7] = (TH2F *)hfile->Get("h_mapDepth7pedestalw_HE"); + Map_Ampl[32][3][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HO"); + Map_Ampl[32][4][1] = (TH2F *)hfile->Get("h_mapDepth1pedestalw_HF"); + Map_Ampl[32][4][2] = (TH2F *)hfile->Get("h_mapDepth2pedestalw_HF"); + Map_Ampl[32][4][3] = (TH2F *)hfile->Get("h_mapDepth3pedestalw_HF"); + Map_Ampl[32][4][4] = (TH2F *)hfile->Get("h_mapDepth4pedestalw_HF"); + + HistPed[1][1][0] = (TH1F *)hfile->Get("h_pedestal0_HB"); + HistPed[1][1][1] = (TH1F *)hfile->Get("h_pedestal1_HB"); + HistPed[1][1][2] = (TH1F *)hfile->Get("h_pedestal2_HB"); + HistPed[1][1][3] = (TH1F *)hfile->Get("h_pedestal3_HB"); + HistPed[2][1][0] = (TH1F *)hfile->Get("h_pedestalw0_HB"); + HistPed[2][1][1] = (TH1F *)hfile->Get("h_pedestalw1_HB"); + HistPed[2][1][2] = (TH1F *)hfile->Get("h_pedestalw2_HB"); + HistPed[2][1][3] = (TH1F *)hfile->Get("h_pedestalw3_HB"); + + HistPed[1][2][0] = (TH1F *)hfile->Get("h_pedestal0_HE"); + HistPed[1][2][1] = (TH1F *)hfile->Get("h_pedestal1_HE"); + HistPed[1][2][2] = (TH1F *)hfile->Get("h_pedestal2_HE"); + HistPed[1][2][3] = (TH1F *)hfile->Get("h_pedestal3_HE"); + HistPed[2][2][0] = (TH1F *)hfile->Get("h_pedestalw0_HE"); + HistPed[2][2][1] = (TH1F *)hfile->Get("h_pedestalw1_HE"); + HistPed[2][2][2] = (TH1F *)hfile->Get("h_pedestalw2_HE"); + HistPed[2][2][3] = (TH1F *)hfile->Get("h_pedestalw3_HE"); + + HistPed[1][3][0] = (TH1F *)hfile->Get("h_pedestal0_HO"); + HistPed[1][3][1] = (TH1F *)hfile->Get("h_pedestal1_HO"); + HistPed[1][3][2] = (TH1F *)hfile->Get("h_pedestal2_HO"); + HistPed[1][3][3] = (TH1F *)hfile->Get("h_pedestal3_HO"); + HistPed[2][3][0] = (TH1F *)hfile->Get("h_pedestalw0_HO"); + HistPed[2][3][1] = (TH1F *)hfile->Get("h_pedestalw1_HO"); + HistPed[2][3][2] = (TH1F *)hfile->Get("h_pedestalw2_HO"); + HistPed[2][3][3] = (TH1F *)hfile->Get("h_pedestalw3_HO"); + + HistPed[1][4][0] = (TH1F *)hfile->Get("h_pedestal0_HF"); + HistPed[1][4][1] = (TH1F *)hfile->Get("h_pedestal1_HF"); + HistPed[1][4][2] = (TH1F *)hfile->Get("h_pedestal2_HF"); + HistPed[1][4][3] = (TH1F *)hfile->Get("h_pedestal3_HF"); + HistPed[2][4][0] = (TH1F *)hfile->Get("h_pedestalw0_HF"); + HistPed[2][4][1] = (TH1F *)hfile->Get("h_pedestalw1_HF"); + HistPed[2][4][2] = (TH1F *)hfile->Get("h_pedestalw2_HF"); + HistPed[2][4][3] = (TH1F *)hfile->Get("h_pedestalw3_HF"); + + for (int test = 31; test <= 32; test++) { //Test: 31-Pedestals, 32-pedestal Widths, + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + // if (sub==1) cHB->Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHF->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depths + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + Map_Ampl[test][sub][k]->Divide(Map_Ampl[test][sub][k], Map_SUB[sub][k], 1, 1, "B"); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_Ampl[test][sub][k]->SetTitle(str); + Map_Ampl[test][sub][k]->SetXTitle("#eta \b"); + Map_Ampl[test][sub][k]->SetYTitle("#phi \b"); + Map_Ampl[test][sub][k]->SetZTitle("Rate \b"); + if (sub == 3) + Map_Ampl[test][sub][k]->SetTitleOffset(0.8, "Z"); + Map_Ampl[test][sub][k]->Draw("COLZ"); + Map_Ampl[test][sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_Ampl[test][sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (test == 31) { + if (sub == 1) { + cHB->Print("MapRatePedHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRatePedHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRatePedHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRatePedHF.png"); + cHF->Clear(); + } + } + if (test == 32) { + if (sub == 1) { + cHB->Print("MapRatePedWidthsHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MapRatePedWidthsHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MapRatePedWidthsHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MapRatePedWidthsHF.png"); + cHF->Clear(); + } + } + + /////////////////////////////////////////////// + + cPED->Divide(2, 2); + for (int cap = 0; cap <= 3; cap++) { + cPED->cd(cap + 1); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + + if (sub == 1) + sprintf(str, "HB, Cap%d, all depth\b", cap); + if (sub == 2) + sprintf(str, "HE, Cap%d, all depth\b", cap); + if (sub == 3) + sprintf(str, "HO, Cap%d, all depth\b", cap); + if (sub == 4) + sprintf(str, "HF, Cap%d, all depth\b", cap); + + HistPed[test - 30][sub][cap]->SetTitle(str); + + if (test == 31) + HistPed[test - 30][sub][cap]->SetXTitle("Pedestals in each event & cell \b"); + if (test == 32) + HistPed[test - 30][sub][cap]->SetXTitle("Pedestal Widths in each event & cell \b"); + + HistPed[test - 30][sub][cap]->SetYTitle("Number of channel-events \b"); + HistPed[test - 30][sub][cap]->SetLineColor(4); + HistPed[test - 30][sub][cap]->SetLineWidth(2); + HistPed[test - 30][sub][cap]->SetTitleOffset(1.4, "Y"); + HistPed[test - 30][sub][cap]->Draw(""); + // HistPed[test-30][sub][cap]->GetYaxis()->SetRangeUser(1., 100.); + // if (test==31) {gPad->SetLogx(); HistPed[test-30][sub][cap]->GetXaxis()->SetRangeUser(1., 10000.);} + // if (test==32) HistPed[test-30][sub][cap]->GetXaxis()->SetRangeUser(0., 5.); + + cPED->Modified(); + cPED->Update(); + double min_x[] = {Pedest[test - 31][sub], Pedest[test - 31][sub]}; + double min_y[] = {0., 100000000.}; + TGraph *MIN = new TGraph(2, min_x, min_y); + MIN->SetLineStyle(2); + MIN->SetLineColor(2); + MIN->SetLineWidth(2 + 100 * 100); + MIN->SetFillStyle(3005); + MIN->SetFillColor(2); + MIN->Draw("L"); + } + if (test == 31) { + if (sub == 1) { + cPED->Print("HistPedestalsHB.png"); + cPED->Clear(); + } + if (sub == 2) { + cPED->Print("HistPedestalsHE.png"); + cPED->Clear(); + } + if (sub == 3) { + cPED->Print("HistPedestalsHO.png"); + cPED->Clear(); + } + if (sub == 4) { + cPED->Print("HistPedestalsHF.png"); + cPED->Clear(); + } + } + if (test == 32) { + if (sub == 1) { + cPED->Print("HistPedestalWidthsHB.png"); + cPED->Clear(); + } + if (sub == 2) { + cPED->Print("HistPedestalWidthsHE.png"); + cPED->Clear(); + } + if (sub == 3) { + cPED->Print("HistPedestalWidthsHO.png"); + cPED->Clear(); + } + if (sub == 4) { + cPED->Print("HistPedestalWidthsHF.png"); + cPED->Clear(); + } + } + } // end sub + } //end test 31,32 + + //+++++++++++++++++++++++++++++++++++ + //Test 33 Correlation of Pedestal, pedestalWidths Vs fullAmplitude + //++++++++++++++++++++++++++++++++++++ + + cPED->Clear(); + Map_Ped[1][1] = (TH2F *)hfile->Get("h2_pedvsampl_HB"); + Map_Ped[1][2] = (TH2F *)hfile->Get("h2_pedvsampl_HE"); + Map_Ped[1][3] = (TH2F *)hfile->Get("h2_pedvsampl_HO"); + Map_Ped[1][4] = (TH2F *)hfile->Get("h2_pedvsampl_HF"); + Map_Ped[2][1] = (TH2F *)hfile->Get("h2_pedwvsampl_HB"); + Map_Ped[2][2] = (TH2F *)hfile->Get("h2_pedwvsampl_HE"); + Map_Ped[2][3] = (TH2F *)hfile->Get("h2_pedwvsampl_HO"); + Map_Ped[2][4] = (TH2F *)hfile->Get("h2_pedwvsampl_HF"); + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + cPED->Divide(2, 1); + for (int test = 1; test <= 2; test++) { + cPED->cd(test); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + if (test == 1) + Map_Ped[test][sub]->SetXTitle("Pedestal, fC \b"); + if (test == 2) + Map_Ped[test][sub]->SetXTitle("pedestal Width, fC \b"); + Map_Ped[test][sub]->SetYTitle("Amplitude, fC \b"); + Map_Ped[test][sub]->SetZTitle("entries \b"); + if (test == 1) + sprintf(str, "Cap0 Pedestal vs Amplitude \b"); + if (test == 2) + sprintf(str, "Cap0 pedestalWidth vs Amplitude \b"); + Map_Ped[test][sub]->SetTitle(str); + Map_Ped[test][sub]->Draw("COLZ"); + // Map_Ped[test][sub]->GetYaxis()->SetRangeUser(0, 72.); + // Map_Ped[test][sub]->GetZaxis()->SetRangeUser(0.0001, 1.); + cPED->Modified(); + cPED->Update(); + } // test 1,2 + if (sub == 1) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHB.png"); + cPED->Clear(); + } + if (sub == 2) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHE.png"); + cPED->Clear(); + } + if (sub == 3) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHO.png"); + cPED->Clear(); + } + if (sub == 4) { + cPED->Print("CorrelationsMapPedestalVsfullAmplitudeHF.png"); + cPED->Clear(); + } + } // end sub + + //+++++++++++++++++++++++++++++++++++ + //Test 41 Time Slices shape for good and bad channels + //++++++++++++++++++++++++++++++++++++ + + cONE->Clear(); + hist_GoodTSshape[1] = (TH1F *)hfile->Get("h_shape_good_channels_HB"); + hist_GoodTSshape[2] = (TH1F *)hfile->Get("h_shape_good_channels_HE"); + hist_GoodTSshape[3] = (TH1F *)hfile->Get("h_shape_good_channels_HO"); + hist_GoodTSshape[4] = (TH1F *)hfile->Get("h_shape_good_channels_HF"); + + hist_GoodTSshape0[1] = (TH1F *)hfile->Get("h_shape0_good_channels_HB"); + hist_GoodTSshape0[2] = (TH1F *)hfile->Get("h_shape0_good_channels_HE"); + hist_GoodTSshape0[3] = (TH1F *)hfile->Get("h_shape0_good_channels_HO"); + hist_GoodTSshape0[4] = (TH1F *)hfile->Get("h_shape0_good_channels_HF"); + + hist_BadTSshape[1] = (TH1F *)hfile->Get("h_shape_bad_channels_HB"); + hist_BadTSshape[2] = (TH1F *)hfile->Get("h_shape_bad_channels_HE"); + hist_BadTSshape[3] = (TH1F *)hfile->Get("h_shape_bad_channels_HO"); + hist_BadTSshape[4] = (TH1F *)hfile->Get("h_shape_bad_channels_HF"); + + hist_BadTSshape0[1] = (TH1F *)hfile->Get("h_shape0_bad_channels_HB"); + hist_BadTSshape0[2] = (TH1F *)hfile->Get("h_shape0_bad_channels_HE"); + hist_BadTSshape0[3] = (TH1F *)hfile->Get("h_shape0_bad_channels_HO"); + hist_BadTSshape0[4] = (TH1F *)hfile->Get("h_shape0_bad_channels_HF"); + + cONE->cd(1); + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + hist_GoodTSshape[sub]->Divide(hist_GoodTSshape[sub], hist_GoodTSshape0[sub], 1, 1, "B"); + hist_GoodTSshape[sub]->SetXTitle("Time slice \b"); + hist_GoodTSshape[sub]->SetYTitle("ADC counts \b"); + sprintf(str, "Mean ADC Shape \b"); + hist_GoodTSshape[sub]->SetTitle(str); + hist_GoodTSshape[sub]->Draw(""); + // hist_GoodTSshape[sub]->GetYaxis()->SetRangeUser(0, 72.); + // hist_GoodTSshape[sub]->GetZaxis()->SetRangeUser(0.0001, 1.); + cONE->Modified(); + cONE->Update(); + if (sub == 1) { + cONE->Print("HistGoodTSshapesHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistGoodTSshapesHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistGoodTSshapesHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistGoodTSshapesHF.png"); + cONE->Clear(); + } + } // end sub + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogz(); + hist_BadTSshape[sub]->Divide(hist_BadTSshape[sub], hist_BadTSshape0[sub], 1, 1, "B"); + hist_BadTSshape[sub]->SetXTitle("Time slice \b"); + hist_BadTSshape[sub]->SetYTitle("ADC counts \b"); + sprintf(str, "Mean ADC Shape \b"); + hist_BadTSshape[sub]->SetTitle(str); + hist_BadTSshape[sub]->Draw(""); + // hist_BadTSshape[sub]->GetYaxis()->SetRangeUser(0, 72.); + // hist_BadTSshape[sub]->GetZaxis()->SetRangeUser(0.0001, 1.); + cONE->Modified(); + cONE->Update(); + if (sub == 1) { + cONE->Print("HistBadTSshapesHB.png"); + cONE->Clear(); + } + if (sub == 2) { + cONE->Print("HistBadTSshapesHE.png"); + cONE->Clear(); + } + if (sub == 3) { + cONE->Print("HistBadTSshapesHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cONE->Print("HistBadTSshapesHF.png"); + cONE->Clear(); + } + } // end sub + + /* + //+++++++++++++++++++++++++++++++++++ +//Test 42 ADC in TS distributions +//++++++++++++++++++++++++++++++++++++ + +std::cout<<" We are here to print ADC "<Get("h_ADC_HB"); + hist_ADC_All[2] = (TH1F*)hfile->Get("h_ADC_HE"); + hist_ADC_All[3] = (TH1F*)hfile->Get("h_ADC_HO"); + hist_ADC_All[4] = (TH1F*)hfile->Get("h_ADC_HF"); + + + hist_ADC_DS[1][1] = (TH1F*)hfile->Get("h_ADC_HBdepth1"); + hist_ADC_DS[1][2] = (TH1F*)hfile->Get("h_ADC_HBdepth2"); + hist_ADC_DS[2][1] = (TH1F*)hfile->Get("h_ADC_HEdepth1"); + hist_ADC_DS[2][2] = (TH1F*)hfile->Get("h_ADC_HEdepth2"); + hist_ADC_DS[2][3] = (TH1F*)hfile->Get("h_ADC_HEdepth3"); + hist_ADC_DS[3][4] = (TH1F*)hfile->Get("h_ADC_HOdepth4"); + hist_ADC_DS[4][1] = (TH1F*)hfile->Get("h_ADC_HFdepth1"); + hist_ADC_DS[4][2] = (TH1F*)hfile->Get("h_ADC_HFdepth2"); + + + cONE->Clear(); + cONE->Divide(1,1); + cONE->cd(1); + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_ADC_All[sub]->SetXTitle("ADC counts \b"); + hist_ADC_All[sub]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"ADC counts Distribution HB\b"); + if (sub==2) sprintf(str,"ADC counts Distribution HE\b"); + if (sub==3) sprintf(str,"ADC counts Distribution HO\b"); + if (sub==4) sprintf(str,"ADC counts Distribution HF\b"); + hist_ADC_All[sub]->SetTitle(str); + hist_ADC_All[sub]->Draw(""); + // hist_ADC_All[sub]->GetYaxis()->SetRangeUser(0, 72.); + hist_ADC_All[sub]->GetXaxis()->SetRangeUser(0.000, 1000.); + cONE->Modified(); cONE->Update(); + if (sub==1) {cONE->Print("Hist_ADC_HB_All.png"); cONE->Clear();} + if (sub==2) {cONE->Print("Hist_ADC_HE_All.png"); cONE->Clear();} + if (sub==3) {cONE->Print("Hist_ADC_HO_All.png"); cONE->Clear();} + if (sub==4) {cONE->Print("Hist_ADC_HF_All.png"); cONE->Clear();} + }// end sub + + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_ADC_DS[sub][k]->SetXTitle("ADC counts \b"); + hist_ADC_DS[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_ADC_DS[sub][k]->SetTitle(str); + hist_ADC_DS[sub][k]->Draw(""); + // hist_ADC_DS[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + hist_ADC_DS[sub][k]->GetXaxis()->SetRangeUser(0.000, 1000.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_ADC_HB_DS.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_ADC_HE_DS.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_ADC_HO_DS.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_ADC_HF_DS.png"); cHB->Clear();} + }// end sub + + + //+++++++++++++++++++++++++++++++++++ +//Test 43 Sum ADC in TS distributions +//++++++++++++++++++++++++++++++++++++ + + hist_SumADC[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB"); + hist_SumADC[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB"); + hist_SumADC[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE"); + hist_SumADC[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE"); + hist_SumADC[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE"); + hist_SumADC[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO"); + hist_SumADC[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF"); + hist_SumADC[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF"); + + hist_SumADC0[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB0"); + hist_SumADC0[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB0"); + hist_SumADC0[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE0"); + hist_SumADC0[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE0"); + hist_SumADC0[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE0"); + hist_SumADC0[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO0"); + hist_SumADC0[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF0"); + hist_SumADC0[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF0"); + + hist_SumADC1[1][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HB1"); + hist_SumADC1[1][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HB1"); + hist_SumADC1[2][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HE1"); + hist_SumADC1[2][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HE1"); + hist_SumADC1[2][3] = (TH1F*)hfile->Get("h_sumamplitude_depth3_HE1"); + hist_SumADC1[3][4] = (TH1F*)hfile->Get("h_sumamplitude_depth4_HO1"); + hist_SumADC1[4][1] = (TH1F*)hfile->Get("h_sumamplitude_depth1_HF1"); + hist_SumADC1[4][2] = (TH1F*)hfile->Get("h_sumamplitude_depth2_HF1"); + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_SumADC[sub][k]->SetXTitle("ADC sum \b"); + hist_SumADC[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_SumADC[sub][k]->SetTitle(str); + hist_SumADC[sub][k]->Draw(""); + // hist_SumADC[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // hist_SumADC[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_SumADC_HB.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_SumADC_HE.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_SumADC_HO.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_SumADC_HF.png"); cHB->Clear();} + }// end sub + + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_SumADC0[sub][k]->SetXTitle("ADC sum \b"); + hist_SumADC0[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_SumADC0[sub][k]->SetTitle(str); + hist_SumADC0[sub][k]->Draw(""); + // hist_SumADC0[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // hist_SumADC0[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_SumADC_HB0.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_SumADC_HE0.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_SumADC_HO0.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_SumADC_HF0.png"); cHB->Clear();} + }// end sub + + for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + if (sub==1) cHB->Divide(2,1); + if (sub==2) cHE->Divide(3,1); + if (sub==3) cONE->Divide(1,1); + if (sub==4) cHB->Divide(2,1); + int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + for (int k=k_min[sub];k<=k_max[sub];k++) { //Depths + if (sub==1) cHB->cd(k); + if (sub==2) cHE->cd(k); + if (sub==3) cONE->cd(k-3); + if (sub==4) cHB->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + gPad->SetLogy(); + hist_SumADC1[sub][k]->SetXTitle("ADC sum \b"); + hist_SumADC1[sub][k]->SetYTitle("Number of channels-events \b"); + if (sub==1) sprintf(str,"HB, Depth%d \b", k); + if (sub==2) sprintf(str,"HE, Depth%d \b", k); + if (sub==3) sprintf(str,"HO, Depth%d \b", k); + if (sub==4) sprintf(str,"HF, Depth%d \b", k); + hist_SumADC1[sub][k]->SetTitle(str); + hist_SumADC1[sub][k]->Draw(""); + // hist_SumADC1[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + // hist_SumADC1[sub][k]->GetZaxis()->SetRangeUser(0.0001, 1.); + if (sub==1) {cHB->Modified(); cHB->Update();} + if (sub==2) {cHE->Modified(); cHE->Update();} + if (sub==3) {cONE->Modified();cONE->Update();} + if (sub==4) {cHB->Modified(); cHB->Update();} + }//end depth + if (sub==1) {cHB->Print("Hist_SumADC_HB1.png"); cHB->Clear();} + if (sub==2) {cHE->Print("Hist_SumADC_HE1.png"); cHE->Clear();} + if (sub==3) {cONE->Print("Hist_SumADC_HO1.png"); cONE->Clear();} + if (sub==4) {cHB->Print("Hist_SumADC_HF1.png"); cHB->Clear();} + }// end sub + +*/ + + //////////////////// Iteration Method for Calibration Group: + //////////////////// Iteration Method for Calibration Group: + //////////////////// Iteration Method for Calibration Group: + //////////////////// Iteration Method for Calibration Group: + //////////////////// Iteration Method for Calibration Group: + + const int nsub = 4; + const int ndepth = 7; + const int neta = 82; + const int nphi = 72; + int njeta = neta; + int njphi = nphi; + int njdepth = ndepth; + double alexhe[ndepth][njeta][njphi]; + double variance[ndepth][njeta][njphi]; + + const int jposbeg = 57; + const int jposend = 71; + + const int jnegbeg = 12; + const int jnegend = 26; + + cout << "Iteration Method for Calibration Group nsub= " << nsub << " ndepth = " << ndepth << " neta = " << neta + << " nphi = " << nphi << endl; + cout << "Iteration Method for Calibration Group njdepth = " << njdepth << " njeta = " << njeta + << " njphi = " << njphi << endl; + cout << "Iteration Method for Calibration Group jposbeg = " << jposbeg << " jposend = " << jposend + << " jnegbeg = " << jnegbeg << " jnegend = " << jnegend << endl; + + /* + depth=5 all + i=1-82 in initial histo + j=i-1 in massives + + j= 13 23 (11) 12 25 (!!!) + j-41 in histo + -28 -18 (11) -29 -16 + + j= 59 69 (11) 57 70 (!!!) + j-41 in histo + 18 28 (11) 16 29 + */ + + // RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR: + + TH2F *maprphinorm1HE1 = (TH2F *)hfile->Get("h_maprphinorm_HE1"); + TH2F *maprphinorm0HE1 = (TH2F *)hfile->Get("h_maprphinorm0_HE1"); + TH2F *maprphinormHE1 = (TH2F *)maprphinorm1HE1->Clone("maprphinormHE1"); + maprphinormHE1->Divide(maprphinorm1HE1, maprphinorm0HE1, 1, 1, "B"); + TH2F *maprphinorm1HE2 = (TH2F *)hfile->Get("h_maprphinorm_HE2"); + TH2F *maprphinorm0HE2 = (TH2F *)hfile->Get("h_maprphinorm0_HE2"); + TH2F *maprphinormHE2 = (TH2F *)maprphinorm1HE2->Clone("maprphinormHE2"); + maprphinormHE2->Divide(maprphinorm1HE2, maprphinorm0HE2, 1, 1, "B"); + TH2F *maprphinorm1HE3 = (TH2F *)hfile->Get("h_maprphinorm_HE3"); + TH2F *maprphinorm0HE3 = (TH2F *)hfile->Get("h_maprphinorm0_HE3"); + TH2F *maprphinormHE3 = (TH2F *)maprphinorm1HE3->Clone("maprphinormHE3"); + maprphinormHE3->Divide(maprphinorm1HE3, maprphinorm0HE3, 1, 1, "B"); + TH2F *maprphinorm1HE4 = (TH2F *)hfile->Get("h_maprphinorm_HE4"); + TH2F *maprphinorm0HE4 = (TH2F *)hfile->Get("h_maprphinorm0_HE4"); + TH2F *maprphinormHE4 = (TH2F *)maprphinorm1HE4->Clone("maprphinormHE4"); + maprphinormHE4->Divide(maprphinorm1HE4, maprphinorm0HE4, 1, 1, "B"); + TH2F *maprphinorm1HE5 = (TH2F *)hfile->Get("h_maprphinorm_HE5"); + TH2F *maprphinorm0HE5 = (TH2F *)hfile->Get("h_maprphinorm0_HE5"); + TH2F *maprphinormHE5 = (TH2F *)maprphinorm1HE5->Clone("maprphinormHE5"); + maprphinormHE5->Divide(maprphinorm1HE5, maprphinorm0HE5, 1, 1, "B"); + TH2F *maprphinorm1HE6 = (TH2F *)hfile->Get("h_maprphinorm_HE6"); + TH2F *maprphinorm0HE6 = (TH2F *)hfile->Get("h_maprphinorm0_HE6"); + TH2F *maprphinormHE6 = (TH2F *)maprphinorm1HE6->Clone("maprphinormHE6"); + maprphinormHE6->Divide(maprphinorm1HE6, maprphinorm0HE6, 1, 1, "B"); + TH2F *maprphinorm1HE7 = (TH2F *)hfile->Get("h_maprphinorm_HE7"); + TH2F *maprphinorm0HE7 = (TH2F *)hfile->Get("h_maprphinorm0_HE7"); + TH2F *maprphinormHE7 = (TH2F *)maprphinorm1HE7->Clone("maprphinormHE7"); + maprphinormHE7->Divide(maprphinorm1HE7, maprphinorm0HE7, 1, 1, "B"); + //=========================== put R into massive alexhe + for (int jeta = 0; jeta < njeta; jeta++) { + for (int jphi = 0; jphi < njphi; jphi++) { + alexhe[0][jeta][jphi] = maprphinormHE1->GetBinContent(jeta + 1, jphi + 1); + alexhe[1][jeta][jphi] = maprphinormHE2->GetBinContent(jeta + 1, jphi + 1); + alexhe[2][jeta][jphi] = maprphinormHE3->GetBinContent(jeta + 1, jphi + 1); + alexhe[3][jeta][jphi] = maprphinormHE4->GetBinContent(jeta + 1, jphi + 1); + alexhe[4][jeta][jphi] = maprphinormHE5->GetBinContent(jeta + 1, jphi + 1); + alexhe[5][jeta][jphi] = maprphinormHE6->GetBinContent(jeta + 1, jphi + 1); + alexhe[6][jeta][jphi] = maprphinormHE7->GetBinContent(jeta + 1, jphi + 1); + } + } + + //------------------------ 2D-eta/phi-plot: R, averaged over depthes + //====================================================================== + //====================================================================== + cout << " R2D-eta/phi-plot: R, averaged over depthes *****" << endl; + c1x0->Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *Gefz42D = new TH2F("Gefz42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *Gefz42D0 = new TH2F("Gefz42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *Gefz42DF = (TH2F *)Gefz42D0->Clone("Gefz42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = alexhe[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 ) kkk=k2plot+1; //-41 +41 !=0 + if (ccc1 != 0.) { + Gefz42D->Fill(kkk, jphi, ccc1); + Gefz42D0->Fill(kkk, jphi, 1.); + } + } + } + } + Gefz42DF->Divide(Gefz42D, Gefz42D0, 1, 1, "B"); // average A + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + Gefz42DF->SetMarkerStyle(20); + Gefz42DF->SetMarkerSize(0.4); + Gefz42DF->GetZaxis()->SetLabelSize(0.08); + Gefz42DF->SetXTitle("_depth #eta \b"); + Gefz42DF->SetYTitle(" #phi \b"); + Gefz42DF->SetZTitle("_depth \b"); + Gefz42DF->SetMarkerColor(2); + Gefz42DF->SetLineColor(0); // Gefz42DF->SetMaximum(1.000); // Gefz42DF->SetMinimum(1.0); + Gefz42DF->Draw("COLZ"); + + ///////////////// + c1x0->Update(); + c1x0->Print("Rhist2IterationMethodHE.png"); + c1x0->Clear(); + // clean-up + if (Gefz42D) + delete Gefz42D; + if (Gefz42D0) + delete Gefz42D0; + if (Gefz42DF) + delete Gefz42DF; + + //====================================================================== 1D plot: R vs phi , averaged over depthes & eta + //====================================================================== + cout << " 1D plot: R vs phi , averaged over depthes & eta *****" << endl; + c1x1->Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *Gefz41D = new TH1F("Gefz41D", "", nphi, 0., 72.); + TH1F *Gefz41D0 = new TH1F("Gefz41D0", "", nphi, 0., 72.); + TH1F *Gefz41DF = (TH1F *)Gefz41D0->Clone("Gefz41DF"); + + for (int jeta = 0; jeta < neta; jeta++) { + // positivedirection: + if (jeta - 41 > 0) { + for (int jphi = 0; jphi < nphi; jphi++) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = alexhe[i][jeta][jphi]; + if (ccc1 != 0.) { + Gefz41D->Fill(jphi, ccc1); + Gefz41D0->Fill(jphi, 1.); + } + } + } + } + } + // Gefz41D->Sumw2();Gefz41D0->Sumw2(); + + Gefz41DF->Divide(Gefz41D, Gefz41D0, 1, 1, "B"); // R averaged over depthes & eta + Gefz41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {Gefz41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + Gefz41DF->SetMarkerStyle(20); + Gefz41DF->SetMarkerSize(1.4); + Gefz41DF->GetZaxis()->SetLabelSize(0.08); + Gefz41DF->SetXTitle("#phi \b"); + Gefz41DF->SetYTitle(" \b"); + Gefz41DF->SetZTitle("_PHI - AllDepthes \b"); + Gefz41DF->SetMarkerColor(4); + Gefz41DF->SetLineColor(4); + Gefz41DF->SetMinimum(0.8); // Gefz41DF->SetMaximum(1.000); + Gefz41DF->Draw("Error"); + + ///////////////// + c1x1->Update(); + c1x1->Print("Rhist1IterationMethodHE.png"); + c1x1->Clear(); + // clean-up + if (Gefz41D) + delete Gefz41D; + if (Gefz41D0) + delete Gefz41D0; + if (Gefz41DF) + delete Gefz41DF; + + //========================================================================================== 4 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=1 + cout << " 1D plot: R vs phi , different eta, depth=1 *****" << endl; + c3x5->Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirection1 = 1; + TH1F *h2CeffHEpositivedirection1 = new TH1F("h2CeffHEpositivedirection1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirection: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = alexhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirection1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirection1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "444 kcountHEpositivedirection1 = " << kcountHEpositivedirection1 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirection1); + HEpositivedirection1->SetMarkerStyle(20); + HEpositivedirection1->SetMarkerSize(0.4); + HEpositivedirection1->GetYaxis()->SetLabelSize(0.04); + HEpositivedirection1->SetXTitle("HEpositivedirection1 \b"); + HEpositivedirection1->SetMarkerColor(2); + HEpositivedirection1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirection1 == 1) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirection1 == 2) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirection1 == 3) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirection1 == 4) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirection1 == 5) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirection1 == 6) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirection1 == 7) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirection1 == 8) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirection1 == 9) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirection1 == 10) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirection1 == 11) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 28; depth = 1 \b"); + if (kcountHEpositivedirection1 == 12) + HEpositivedirection1->SetXTitle("R for HE+ jeta = 29; depth = 1 \b"); + HEpositivedirection1->Draw("Error"); + kcountHEpositivedirection1++; + if (kcountHEpositivedirection1 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Rhist1IterationMethodDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirection1) + delete h2CeffHEpositivedirection1; + + //========================================================================================== 5 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=2 + cout << " 1D plot: R vs phi , different eta, depth=2 *****" << endl; + c3x5->Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirection2 = 1; + TH1F *h2CeffHEpositivedirection2 = new TH1F("h2CeffHEpositivedirection2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirection: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = alexhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirection2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirection2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "555 kcountHEpositivedirection2 = " << kcountHEpositivedirection2 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirection2); + HEpositivedirection2->SetMarkerStyle(20); + HEpositivedirection2->SetMarkerSize(0.4); + HEpositivedirection2->GetYaxis()->SetLabelSize(0.04); + HEpositivedirection2->SetXTitle("HEpositivedirection2 \b"); + HEpositivedirection2->SetMarkerColor(2); + HEpositivedirection2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirection2 == 1) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirection2 == 2) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirection2 == 3) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirection2 == 4) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirection2 == 5) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirection2 == 6) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirection2 == 7) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirection2 == 8) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirection2 == 9) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirection2 == 10) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirection2 == 11) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirection2 == 12) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 28; depth = 2 \b"); + if (kcountHEpositivedirection2 == 13) + HEpositivedirection2->SetXTitle("R for HE+ jeta = 29; depth = 2 \b"); + HEpositivedirection2->Draw("Error"); + kcountHEpositivedirection2++; + if (kcountHEpositivedirection2 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Rhist1IterationMethodDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirection2) + delete h2CeffHEpositivedirection2; + //========================================================================================== 6 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=3 + cout << " 1D plot: R vs phi , different eta, depth=3 *****" << endl; + c3x5->Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirection3 = 1; + TH1F *h2CeffHEpositivedirection3 = new TH1F("h2CeffHEpositivedirection3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirection: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = alexhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirection3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirection3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "666 kcountHEpositivedirection3 = " << kcountHEpositivedirection3 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirection3); + HEpositivedirection3->SetMarkerStyle(20); + HEpositivedirection3->SetMarkerSize(0.4); + HEpositivedirection3->GetYaxis()->SetLabelSize(0.04); + HEpositivedirection3->SetXTitle("HEpositivedirection3 \b"); + HEpositivedirection3->SetMarkerColor(2); + HEpositivedirection3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirection3 == 1) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirection3 == 2) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirection3 == 3) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirection3 == 4) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirection3 == 5) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirection3 == 6) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirection3 == 7) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirection3 == 8) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirection3 == 9) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirection3 == 10) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirection3 == 11) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirection3 == 12) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 28; depth = 3 \b"); + if (kcountHEpositivedirection3 == 13) + HEpositivedirection3->SetXTitle("R for HE+ jeta = 29; depth = 3 \b"); + HEpositivedirection3->Draw("Error"); + kcountHEpositivedirection3++; + if (kcountHEpositivedirection3 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Rhist1IterationMethodDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirection3) + delete h2CeffHEpositivedirection3; + //========================================================================================== 7 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=4 + cout << " 1D plot: R vs phi , different eta, depth=4 *****" << endl; + c3x5->Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirection4 = 1; + TH1F *h2CeffHEpositivedirection4 = new TH1F("h2CeffHEpositivedirection4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirection: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = alexhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirection4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirection4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "777 kcountHEpositivedirection4 = " << kcountHEpositivedirection4 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirection4); + HEpositivedirection4->SetMarkerStyle(20); + HEpositivedirection4->SetMarkerSize(0.4); + HEpositivedirection4->GetYaxis()->SetLabelSize(0.04); + HEpositivedirection4->SetXTitle("HEpositivedirection4 \b"); + HEpositivedirection4->SetMarkerColor(2); + HEpositivedirection4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirection4 == 1) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 16; depth = 4 \b"); + if (kcountHEpositivedirection4 == 2) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirection4 == 3) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirection4 == 4) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirection4 == 5) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirection4 == 6) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirection4 == 7) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirection4 == 8) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirection4 == 9) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirection4 == 10) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirection4 == 11) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 27; depth = 4 \b"); + if (kcountHEpositivedirection4 == 12) + HEpositivedirection4->SetXTitle("R for HE+ jeta = 28; depth = 4 \b"); + HEpositivedirection4->Draw("Error"); + kcountHEpositivedirection4++; + if (kcountHEpositivedirection4 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Rhist1IterationMethodDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirection4) + delete h2CeffHEpositivedirection4; + //========================================================================================== 8 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=5 + cout << " 1D plot: R vs phi , different eta, depth=5 *****" << endl; + c3x5->Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirection5 = 1; + TH1F *h2CeffHEpositivedirection5 = new TH1F("h2CeffHEpositivedirection5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirection: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + // cout<<"888 initial kcountHEpositivedirection5 = "<SetMarkerColor(2); + HEpositivedirection5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirection5 == 1) + HEpositivedirection5->SetXTitle("R for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirection5 == 2) + HEpositivedirection5->SetXTitle("R for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirection5 == 3) + HEpositivedirection5->SetXTitle("R for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirection5 == 4) + HEpositivedirection5->SetXTitle("R for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirection5 == 5) + HEpositivedirection5->SetXTitle("R for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirection5 == 6) + HEpositivedirection5->SetXTitle("R for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirection5 == 7) + HEpositivedirection5->SetXTitle("R for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirection5 == 8) + HEpositivedirection5->SetXTitle("R for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirection5 == 9) + HEpositivedirection5->SetXTitle("R for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirection5 == 10) + HEpositivedirection5->SetXTitle("R for HE+ jeta = 27; depth = 5 \b"); + if (kcountHEpositivedirection5 == 11) + HEpositivedirection5->SetXTitle("R for HE+ jeta = 28; depth = 5 \b"); + HEpositivedirection5->Draw("Error"); + kcountHEpositivedirection5++; + if (kcountHEpositivedirection5 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Rhist1IterationMethodDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirection5) + delete h2CeffHEpositivedirection5; + //========================================================================================== 9 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=6 + cout << " 1D plot: R vs phi , different eta, depth=6 *****" << endl; + c3x5->Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirection6 = 1; + TH1F *h2CeffHEpositivedirection6 = new TH1F("h2CeffHEpositivedirection6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirection: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = alexhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirection6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirection6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "999 kcountHEpositivedirection6 = " << kcountHEpositivedirection6 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirection6); + HEpositivedirection6->SetMarkerStyle(20); + HEpositivedirection6->SetMarkerSize(0.4); + HEpositivedirection6->GetYaxis()->SetLabelSize(0.04); + HEpositivedirection6->SetXTitle("HEpositivedirection6 \b"); + HEpositivedirection6->SetMarkerColor(2); + HEpositivedirection6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirection6 == 1) + HEpositivedirection6->SetXTitle("R for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirection6 == 2) + HEpositivedirection6->SetXTitle("R for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirection6 == 3) + HEpositivedirection6->SetXTitle("R for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirection6 == 4) + HEpositivedirection6->SetXTitle("R for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirection6 == 5) + HEpositivedirection6->SetXTitle("R for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirection6 == 6) + HEpositivedirection6->SetXTitle("R for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirection6 == 7) + HEpositivedirection6->SetXTitle("R for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirection6 == 8) + HEpositivedirection6->SetXTitle("R for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirection6 == 9) + HEpositivedirection6->SetXTitle("R for HE+ jeta = 27; depth = 6 \b"); + if (kcountHEpositivedirection6 == 10) + HEpositivedirection6->SetXTitle("R for HE+ jeta = 28; depth = 6 \b"); + HEpositivedirection6->Draw("Error"); + kcountHEpositivedirection6++; + if (kcountHEpositivedirection6 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Rhist1IterationMethodDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirection6) + delete h2CeffHEpositivedirection6; + //========================================================================================== 10 + //====================================================================== + //======================================================================1D plot: R vs phi , different eta, depth=7 + cout << " 1D plot: R vs phi , different eta, depth=7 *****" << endl; + c3x5->Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirection7 = 1; + TH1F *h2CeffHEpositivedirection7 = new TH1F("h2CeffHEpositivedirection7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirection: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = alexhe[i][jeta][jphi]; + if (ccc1 != 0.) { + HEpositivedirection7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirection7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "1010 kcountHEpositivedirection7 = " << kcountHEpositivedirection7 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirection7); + HEpositivedirection7->SetMarkerStyle(20); + HEpositivedirection7->SetMarkerSize(0.4); + HEpositivedirection7->GetYaxis()->SetLabelSize(0.04); + HEpositivedirection7->SetXTitle("HEpositivedirection7 \b"); + HEpositivedirection7->SetMarkerColor(2); + HEpositivedirection7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirection7 == 1) + HEpositivedirection7->SetXTitle("R for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirection7 == 2) + HEpositivedirection7->SetXTitle("R for HE+ jeta = 27; depth = 7 \b"); + if (kcountHEpositivedirection7 == 3) + HEpositivedirection7->SetXTitle("R for HE+ jeta = 28; depth = 7 \b"); + HEpositivedirection7->Draw("Error"); + kcountHEpositivedirection7++; + if (kcountHEpositivedirection7 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Rhist1IterationMethodDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirection7) + delete h2CeffHEpositivedirection7; + + // DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD: + + cout << " Start Vaiance: preparation *****" << endl; + TH2F *mapdphinorm1HE1 = (TH2F *)hfile->Get("h_maprphinorm2_HE1"); + TH2F *mapdphinorm0HE1 = (TH2F *)hfile->Get("h_maprphinorm0_HE1"); + TH2F *mapdphinormHE1 = (TH2F *)mapdphinorm1HE1->Clone("mapdphinormHE1"); + mapdphinormHE1->Divide(mapdphinorm1HE1, mapdphinorm0HE1, 1, 1, "B"); + TH2F *mapdphinorm1HE2 = (TH2F *)hfile->Get("h_maprphinorm2_HE2"); + TH2F *mapdphinorm0HE2 = (TH2F *)hfile->Get("h_maprphinorm0_HE2"); + TH2F *mapdphinormHE2 = (TH2F *)mapdphinorm1HE2->Clone("mapdphinormHE2"); + mapdphinormHE2->Divide(mapdphinorm1HE2, mapdphinorm0HE2, 1, 1, "B"); + TH2F *mapdphinorm1HE3 = (TH2F *)hfile->Get("h_maprphinorm2_HE3"); + TH2F *mapdphinorm0HE3 = (TH2F *)hfile->Get("h_maprphinorm0_HE3"); + TH2F *mapdphinormHE3 = (TH2F *)mapdphinorm1HE3->Clone("mapdphinormHE3"); + mapdphinormHE3->Divide(mapdphinorm1HE3, mapdphinorm0HE3, 1, 1, "B"); + TH2F *mapdphinorm1HE4 = (TH2F *)hfile->Get("h_maprphinorm2_HE4"); + TH2F *mapdphinorm0HE4 = (TH2F *)hfile->Get("h_maprphinorm0_HE4"); + TH2F *mapdphinormHE4 = (TH2F *)mapdphinorm1HE4->Clone("mapdphinormHE4"); + mapdphinormHE4->Divide(mapdphinorm1HE4, mapdphinorm0HE4, 1, 1, "B"); + TH2F *mapdphinorm1HE5 = (TH2F *)hfile->Get("h_maprphinorm2_HE5"); + TH2F *mapdphinorm0HE5 = (TH2F *)hfile->Get("h_maprphinorm0_HE5"); + TH2F *mapdphinormHE5 = (TH2F *)mapdphinorm1HE5->Clone("mapdphinormHE5"); + mapdphinormHE5->Divide(mapdphinorm1HE5, mapdphinorm0HE5, 1, 1, "B"); + TH2F *mapdphinorm1HE6 = (TH2F *)hfile->Get("h_maprphinorm2_HE6"); + TH2F *mapdphinorm0HE6 = (TH2F *)hfile->Get("h_maprphinorm0_HE6"); + TH2F *mapdphinormHE6 = (TH2F *)mapdphinorm1HE6->Clone("mapdphinormHE6"); + mapdphinormHE6->Divide(mapdphinorm1HE6, mapdphinorm0HE6, 1, 1, "B"); + TH2F *mapdphinorm1HE7 = (TH2F *)hfile->Get("h_maprphinorm2_HE7"); + TH2F *mapdphinorm0HE7 = (TH2F *)hfile->Get("h_maprphinorm0_HE7"); + TH2F *mapdphinormHE7 = (TH2F *)mapdphinorm1HE7->Clone("mapdphinormHE7"); + mapdphinormHE7->Divide(mapdphinorm1HE7, mapdphinorm0HE7, 1, 1, "B"); + cout << " Vaiance: preparation DONE *****" << endl; + //====================================================================== put Vaiance=Dispersia = Sig**2= - ()**2 + // = sum(R*R)/N - (sum(R)/N)**2 + // = mapdphinormHE1,2,3..7 - alexhe*alexhe + for (int jeta = 0; jeta < njeta; jeta++) { + for (int jphi = 0; jphi < njphi; jphi++) { + variance[0][jeta][jphi] = + fabs(mapdphinormHE1->GetBinContent(jeta + 1, jphi + 1) - alexhe[0][jeta][jphi] * alexhe[0][jeta][jphi]); + if (variance[0][jeta][jphi] < 0.00003) + variance[0][jeta][jphi] = 0.000067; + variance[1][jeta][jphi] = + fabs(mapdphinormHE2->GetBinContent(jeta + 1, jphi + 1) - alexhe[1][jeta][jphi] * alexhe[1][jeta][jphi]); + if (variance[1][jeta][jphi] < 0.00003) + variance[1][jeta][jphi] = 0.000067; + variance[2][jeta][jphi] = + fabs(mapdphinormHE3->GetBinContent(jeta + 1, jphi + 1) - alexhe[2][jeta][jphi] * alexhe[2][jeta][jphi]); + if (variance[2][jeta][jphi] < 0.00003) + variance[2][jeta][jphi] = 0.000067; + variance[3][jeta][jphi] = + fabs(mapdphinormHE4->GetBinContent(jeta + 1, jphi + 1) - alexhe[3][jeta][jphi] * alexhe[3][jeta][jphi]); + if (variance[3][jeta][jphi] < 0.00003) + variance[3][jeta][jphi] = 0.000067; + variance[4][jeta][jphi] = + fabs(mapdphinormHE5->GetBinContent(jeta + 1, jphi + 1) - alexhe[4][jeta][jphi] * alexhe[4][jeta][jphi]); + if (variance[4][jeta][jphi] < 0.00003) + variance[4][jeta][jphi] = 0.000067; + variance[5][jeta][jphi] = + fabs(mapdphinormHE6->GetBinContent(jeta + 1, jphi + 1) - alexhe[5][jeta][jphi] * alexhe[5][jeta][jphi]); + if (variance[5][jeta][jphi] < 0.00003) + variance[5][jeta][jphi] = 0.000067; + variance[6][jeta][jphi] = + fabs(mapdphinormHE7->GetBinContent(jeta + 1, jphi + 1) - alexhe[6][jeta][jphi] * alexhe[6][jeta][jphi]); + if (variance[6][jeta][jphi] < 0.00003) + variance[6][jeta][jphi] = 0.000067; + } + } + cout << " Vaiance: DONE*****" << endl; + + //------------------------ 2D-eta/phi-plot: D, averaged over depthes + //====================================================================== + //====================================================================== + cout << " R2D-eta/phi-plot: D, averaged over depthes *****" << endl; + c1x1->Clear(); + ///////////////// + c1x0->Divide(1, 1); + c1x0->cd(1); + TH2F *Defz42D = new TH2F("Defz42D", "", neta, -41., 41., nphi, 0., 72.); + TH2F *Defz42D0 = new TH2F("Defz42D0", "", neta, -41., 41., nphi, 0., 72.); + TH2F *Defz42DF = (TH2F *)Defz42D0->Clone("Defz42DF"); + for (int i = 0; i < ndepth; i++) { + for (int jeta = 0; jeta < neta; jeta++) { + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = variance[i][jeta][jphi]; + int k2plot = jeta - 41; + int kkk = k2plot; //if(k2plot >0 kkk=k2plot+1; //-41 +41 !=0 + if (alexhe[i][jeta][jphi] > 0.) { + Defz42D->Fill(kkk, jphi, ccc1); + Defz42D0->Fill(kkk, jphi, 1.); + } + } + } + } + Defz42DF->Divide(Defz42D, Defz42D0, 1, 1, "B"); // average A + // Defz1->Sumw2(); + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + Defz42DF->SetMarkerStyle(20); + Defz42DF->SetMarkerSize(0.4); + Defz42DF->GetZaxis()->SetLabelSize(0.08); + Defz42DF->SetXTitle("_depth #eta \b"); + Defz42DF->SetYTitle(" #phi \b"); + Defz42DF->SetZTitle("_depth \b"); + Defz42DF->SetMarkerColor(2); + Defz42DF->SetLineColor(0); // Defz42DF->SetMaximum(1.000); // Defz42DF->SetMinimum(1.0); + Defz42DF->Draw("COLZ"); + ///////////////// + c1x0->Update(); + c1x0->Print("Dhist2IterationMethodHE.png"); + c1x0->Clear(); + // clean-up + if (Defz42D) + delete Defz42D; + if (Defz42D0) + delete Defz42D0; + if (Defz42DF) + delete Defz42DF; + + //====================================================================== 1D plot: D vs phi , averaged over depthes & eta + //====================================================================== + cout << " 1D plot: D vs phi , averaged over depthes & eta *****" << endl; + c1x1->Clear(); + ///////////////// + c1x1->Divide(1, 1); + c1x1->cd(1); + TH1F *Defz41D = new TH1F("Defz41D", "", nphi, 0., 72.); + TH1F *Defz41D0 = new TH1F("Defz41D0", "", nphi, 0., 72.); + TH1F *Defz41DF = (TH1F *)Defz41D0->Clone("Defz41DF"); + + for (int jeta = 0; jeta < neta; jeta++) { + // positivedirectionD: + for (int jphi = 0; jphi < nphi; jphi++) { + if (jeta - 41 > 0) { + for (int i = 0; i < ndepth; i++) { + double ccc1 = variance[i][jeta][jphi]; + if (alexhe[i][jeta][jphi] > 0.) { + Defz41D->Fill(jphi, ccc1); + Defz41D0->Fill(jphi, 1.); + } + } + } + } + } + // Defz41D->Sumw2();Defz41D0->Sumw2(); + + Defz41DF->Divide(Defz41D, Defz41D0, 1, 1, "B"); // R averaged over depthes & eta + Defz41D0->Sumw2(); + // for (int jphi=1;jphi<73;jphi++) {Defz41DF->SetBinError(jphi,0.01);} + gPad->SetGridy(); + gPad->SetGridx(); // gPad->SetLogz(); + Defz41DF->SetMarkerStyle(20); + Defz41DF->SetMarkerSize(1.4); + Defz41DF->GetZaxis()->SetLabelSize(0.08); + Defz41DF->SetXTitle("#phi \b"); + Defz41DF->SetYTitle(" \b"); + Defz41DF->SetZTitle("_PHI - AllDepthes \b"); + Defz41DF->SetMarkerColor(4); + Defz41DF->SetLineColor(4); + Defz41DF->SetMinimum(0.8); + Defz41DF->SetMinimum(-0.015); + Defz41DF->Draw("Error"); + ///////////////// + c1x1->Update(); + c1x1->Print("Dhist1IterationMethodHE.png"); + c1x1->Clear(); + // clean-up + if (Defz41D) + delete Defz41D; + if (Defz41D0) + delete Defz41D0; + if (Defz41DF) + delete Defz41DF; + + //========================================================================================== 14 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=1 + cout << " 1D plot: D vs phi , different eta, depth=1 *****" << endl; + c3x5->Clear(); + ///////////////// + c3x5->Divide(3, 5); + c3x5->cd(1); + + int kcountHEpositivedirectionD1 = 1; + TH1F *h2CeffHEpositivedirectionD1 = new TH1F("h2CeffHEpositivedirectionD1", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionD: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = variance[i][jeta][jphi]; + if (alexhe[i][jeta][jphi] > 0.) { + HEpositivedirectionD1->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionD1->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "1414 kcountHEpositivedirectionD1 = " << kcountHEpositivedirectionD1 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirectionD1); + HEpositivedirectionD1->SetMarkerStyle(20); + HEpositivedirectionD1->SetMarkerSize(0.4); + HEpositivedirectionD1->GetYaxis()->SetLabelSize(0.04); + HEpositivedirectionD1->SetXTitle("HEpositivedirectionD1 \b"); + HEpositivedirectionD1->SetMarkerColor(2); + HEpositivedirectionD1->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionD1 == 1) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 18; depth = 1 \b"); + if (kcountHEpositivedirectionD1 == 2) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 19; depth = 1 \b"); + if (kcountHEpositivedirectionD1 == 3) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 20; depth = 1 \b"); + if (kcountHEpositivedirectionD1 == 4) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 21; depth = 1 \b"); + if (kcountHEpositivedirectionD1 == 5) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 22; depth = 1 \b"); + if (kcountHEpositivedirectionD1 == 6) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 23; depth = 1 \b"); + if (kcountHEpositivedirectionD1 == 7) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 24; depth = 1 \b"); + if (kcountHEpositivedirectionD1 == 8) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 25; depth = 1 \b"); + if (kcountHEpositivedirectionD1 == 9) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 26; depth = 1 \b"); + if (kcountHEpositivedirectionD1 == 10) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 27; depth = 1 \b"); + if (kcountHEpositivedirectionD1 == 11) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 28; depth = 1 \b"); + if (kcountHEpositivedirectionD1 == 12) + HEpositivedirectionD1->SetXTitle("D for HE+ jeta = 29; depth = 1 \b"); + HEpositivedirectionD1->Draw("Error"); + kcountHEpositivedirectionD1++; + if (kcountHEpositivedirectionD1 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Dhist1IterationMethodDepth1HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionD1) + delete h2CeffHEpositivedirectionD1; + + //========================================================================================== 15 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=2 + cout << " 1D plot: D vs phi , different eta, depth=2 *****" << endl; + c3x5->Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionD2 = 1; + TH1F *h2CeffHEpositivedirectionD2 = new TH1F("h2CeffHEpositivedirectionD2", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionD: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = variance[i][jeta][jphi]; + if (alexhe[i][jeta][jphi] > 0.) { + HEpositivedirectionD2->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionD2->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "1515 kcountHEpositivedirectionD2 = " << kcountHEpositivedirectionD2 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirectionD2); + HEpositivedirectionD2->SetMarkerStyle(20); + HEpositivedirectionD2->SetMarkerSize(0.4); + HEpositivedirectionD2->GetYaxis()->SetLabelSize(0.04); + HEpositivedirectionD2->SetXTitle("HEpositivedirectionD2 \b"); + HEpositivedirectionD2->SetMarkerColor(2); + HEpositivedirectionD2->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionD2 == 1) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 17; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 2) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 18; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 3) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 19; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 4) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 20; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 5) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 21; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 6) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 22; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 7) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 23; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 8) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 24; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 9) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 25; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 10) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 26; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 11) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 27; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 12) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 28; depth = 2 \b"); + if (kcountHEpositivedirectionD2 == 13) + HEpositivedirectionD2->SetXTitle("D for HE+ jeta = 29; depth = 2 \b"); + HEpositivedirectionD2->Draw("Error"); + kcountHEpositivedirectionD2++; + if (kcountHEpositivedirectionD2 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Dhist1IterationMethodDepth2HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionD2) + delete h2CeffHEpositivedirectionD2; + + //========================================================================================== 16 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=3 + cout << " 1D plot: D vs phi , different eta, depth=3 *****" << endl; + c3x5->Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionD3 = 1; + TH1F *h2CeffHEpositivedirectionD3 = new TH1F("h2CeffHEpositivedirectionD3", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionD: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = variance[i][jeta][jphi]; + if (alexhe[i][jeta][jphi] > 0.) { + HEpositivedirectionD3->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionD3->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "1616 kcountHEpositivedirectionD3 = " << kcountHEpositivedirectionD3 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirectionD3); + HEpositivedirectionD3->SetMarkerStyle(20); + HEpositivedirectionD3->SetMarkerSize(0.4); + HEpositivedirectionD3->GetYaxis()->SetLabelSize(0.04); + HEpositivedirectionD3->SetXTitle("HEpositivedirectionD3 \b"); + HEpositivedirectionD3->SetMarkerColor(2); + HEpositivedirectionD3->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionD3 == 1) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 17; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 2) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 18; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 3) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 19; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 4) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 20; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 5) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 21; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 6) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 22; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 7) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 23; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 8) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 24; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 9) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 25; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 10) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 26; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 11) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 27; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 12) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 28; depth = 3 \b"); + if (kcountHEpositivedirectionD3 == 13) + HEpositivedirectionD3->SetXTitle("D for HE+ jeta = 29; depth = 3 \b"); + HEpositivedirectionD3->Draw("Error"); + kcountHEpositivedirectionD3++; + if (kcountHEpositivedirectionD3 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Dhist1IterationMethodDepth3HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionD3) + delete h2CeffHEpositivedirectionD3; + + //========================================================================================== 17 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=4 + cout << " 1D plot: D vs phi , different eta, depth=4 *****" << endl; + c3x5->Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionD4 = 1; + TH1F *h2CeffHEpositivedirectionD4 = new TH1F("h2CeffHEpositivedirectionD4", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionD: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = variance[i][jeta][jphi]; + if (alexhe[i][jeta][jphi] > 0.) { + HEpositivedirectionD4->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionD4->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "1717 kcountHEpositivedirectionD4 = " << kcountHEpositivedirectionD4 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirectionD4); + HEpositivedirectionD4->SetMarkerStyle(20); + HEpositivedirectionD4->SetMarkerSize(0.4); + HEpositivedirectionD4->GetYaxis()->SetLabelSize(0.04); + HEpositivedirectionD4->SetXTitle("HEpositivedirectionD4 \b"); + HEpositivedirectionD4->SetMarkerColor(2); + HEpositivedirectionD4->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionD4 == 1) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 16; depth = 4 \b"); + if (kcountHEpositivedirectionD4 == 2) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 18; depth = 4 \b"); + if (kcountHEpositivedirectionD4 == 3) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 19; depth = 4 \b"); + if (kcountHEpositivedirectionD4 == 4) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 20; depth = 4 \b"); + if (kcountHEpositivedirectionD4 == 5) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 21; depth = 4 \b"); + if (kcountHEpositivedirectionD4 == 6) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 22; depth = 4 \b"); + if (kcountHEpositivedirectionD4 == 7) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 23; depth = 4 \b"); + if (kcountHEpositivedirectionD4 == 8) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 24; depth = 4 \b"); + if (kcountHEpositivedirectionD4 == 9) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 25; depth = 4 \b"); + if (kcountHEpositivedirectionD4 == 10) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 26; depth = 4 \b"); + if (kcountHEpositivedirectionD4 == 11) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 27; depth = 4 \b"); + if (kcountHEpositivedirectionD4 == 12) + HEpositivedirectionD4->SetXTitle("D for HE+ jeta = 28; depth = 4 \b"); + HEpositivedirectionD4->Draw("Error"); + kcountHEpositivedirectionD4++; + if (kcountHEpositivedirectionD4 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Dhist1IterationMethodDepth4HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionD4) + delete h2CeffHEpositivedirectionD4; + + //========================================================================================== 18 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=5 + cout << " 1D plot: D vs phi , different eta, depth=5 *****" << endl; + c3x5->Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionD5 = 1; + TH1F *h2CeffHEpositivedirectionD5 = new TH1F("h2CeffHEpositivedirectionD5", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionD: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = variance[i][jeta][jphi]; + if (alexhe[i][jeta][jphi] > 0.) { + HEpositivedirectionD5->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionD5->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "1818 kcountHEpositivedirectionD5 = " << kcountHEpositivedirectionD5 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirectionD5); + HEpositivedirectionD5->SetMarkerStyle(20); + HEpositivedirectionD5->SetMarkerSize(0.4); + HEpositivedirectionD5->GetYaxis()->SetLabelSize(0.04); + HEpositivedirectionD5->SetXTitle("HEpositivedirectionD5 \b"); + HEpositivedirectionD5->SetMarkerColor(2); + HEpositivedirectionD5->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionD5 == 1) + HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 18; depth = 5 \b"); + if (kcountHEpositivedirectionD5 == 2) + HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 19; depth = 5 \b"); + if (kcountHEpositivedirectionD5 == 3) + HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 20; depth = 5 \b"); + if (kcountHEpositivedirectionD5 == 4) + HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 21; depth = 5 \b"); + if (kcountHEpositivedirectionD5 == 5) + HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 22; depth = 5 \b"); + if (kcountHEpositivedirectionD5 == 6) + HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 23; depth = 5 \b"); + if (kcountHEpositivedirectionD5 == 7) + HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 24; depth = 5 \b"); + if (kcountHEpositivedirectionD5 == 8) + HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 25; depth = 5 \b"); + if (kcountHEpositivedirectionD5 == 9) + HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 26; depth = 5 \b"); + if (kcountHEpositivedirectionD5 == 10) + HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 27; depth = 5 \b"); + if (kcountHEpositivedirectionD5 == 11) + HEpositivedirectionD5->SetXTitle("D for HE+ jeta = 28; depth = 5 \b"); + HEpositivedirectionD5->Draw("Error"); + kcountHEpositivedirectionD5++; + if (kcountHEpositivedirectionD5 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Dhist1IterationMethodDepth5HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionD5) + delete h2CeffHEpositivedirectionD5; + + //========================================================================================== 19 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=6 + cout << " 1D plot: D vs phi , different eta, depth=6 *****" << endl; + c3x5->Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionD6 = 1; + TH1F *h2CeffHEpositivedirectionD6 = new TH1F("h2CeffHEpositivedirectionD6", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionD: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = variance[i][jeta][jphi]; + if (alexhe[i][jeta][jphi] > 0.) { + HEpositivedirectionD6->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionD6->SetBinError(i,0.01); + } + } // for jphi + if (ccctest > 0.) { + cout << "1919 kcountHEpositivedirectionD6 = " << kcountHEpositivedirectionD6 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirectionD6); + HEpositivedirectionD6->SetMarkerStyle(20); + HEpositivedirectionD6->SetMarkerSize(0.4); + HEpositivedirectionD6->GetYaxis()->SetLabelSize(0.04); + HEpositivedirectionD6->SetXTitle("HEpositivedirectionD6 \b"); + HEpositivedirectionD6->SetMarkerColor(2); + HEpositivedirectionD6->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionD6 == 1) + HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 19; depth = 6 \b"); + if (kcountHEpositivedirectionD6 == 2) + HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 20; depth = 6 \b"); + if (kcountHEpositivedirectionD6 == 3) + HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 21; depth = 6 \b"); + if (kcountHEpositivedirectionD6 == 4) + HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 22; depth = 6 \b"); + if (kcountHEpositivedirectionD6 == 5) + HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 23; depth = 6 \b"); + if (kcountHEpositivedirectionD6 == 6) + HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 24; depth = 6 \b"); + if (kcountHEpositivedirectionD6 == 7) + HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 25; depth = 6 \b"); + if (kcountHEpositivedirectionD6 == 8) + HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 26; depth = 6 \b"); + if (kcountHEpositivedirectionD6 == 9) + HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 27; depth = 6 \b"); + if (kcountHEpositivedirectionD6 == 10) + HEpositivedirectionD6->SetXTitle("D for HE+ jeta = 28; depth = 6 \b"); + HEpositivedirectionD6->Draw("Error"); + kcountHEpositivedirectionD6++; + if (kcountHEpositivedirectionD6 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Dhist1IterationMethodDepth6HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionD6) + delete h2CeffHEpositivedirectionD6; + + //========================================================================================== 20 + //====================================================================== + //======================================================================1D plot: D vs phi , different eta, depth=7 + cout << " 1D plot: D vs phi , different eta, depth=7 *****" << endl; + c3x5->Clear(); + c3x5->Divide(3, 5); + c3x5->cd(1); + int kcountHEpositivedirectionD7 = 1; + TH1F *h2CeffHEpositivedirectionD7 = new TH1F("h2CeffHEpositivedirectionD7", "", nphi, 0., 72.); + + for (int jeta = 0; jeta < njeta; jeta++) { + // positivedirectionD: + if (jeta - 41 > 0) { + // for (int i=0;iClone("twod1"); + + float ccctest = 0; // to avoid empty massive elements + for (int jphi = 0; jphi < nphi; jphi++) { + double ccc1 = variance[i][jeta][jphi]; + if (alexhe[i][jeta][jphi] > 0.) { + HEpositivedirectionD7->Fill(jphi, ccc1); + ccctest = 1.; //HEpositivedirectionD7->SetBinError(i,0.01); + } + } // for jphi + if (ccctest != 0.) { + cout << "2020 kcountHEpositivedirectionD7 = " << kcountHEpositivedirectionD7 + << " jeta-41= " << jeta - 41 << endl; + c3x5->cd(kcountHEpositivedirectionD7); + HEpositivedirectionD7->SetMarkerStyle(20); + HEpositivedirectionD7->SetMarkerSize(0.4); + HEpositivedirectionD7->GetYaxis()->SetLabelSize(0.04); + HEpositivedirectionD7->SetXTitle("HEpositivedirectionD7 \b"); + HEpositivedirectionD7->SetMarkerColor(2); + HEpositivedirectionD7->SetLineColor(0); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogy(); + if (kcountHEpositivedirectionD7 == 1) + HEpositivedirectionD7->SetXTitle("D for HE+ jeta = 26; depth = 7 \b"); + if (kcountHEpositivedirectionD7 == 2) + HEpositivedirectionD7->SetXTitle("D for HE+ jeta = 27; depth = 7 \b"); + if (kcountHEpositivedirectionD7 == 3) + HEpositivedirectionD7->SetXTitle("D for HE+ jeta = 28; depth = 7 \b"); + HEpositivedirectionD7->Draw("Error"); + kcountHEpositivedirectionD7++; + if (kcountHEpositivedirectionD7 > 15) + break; // 4x6 = 24 + } //ccctest>0 + + } // for i + } //if(jeta-41 > 0) + } //for jeta + ///////////////// + c3x5->Update(); + c3x5->Print("Dhist1IterationMethodDepth7HE.png"); + c3x5->Clear(); + // clean-up + if (h2CeffHEpositivedirectionD7) + delete h2CeffHEpositivedirectionD7; + + //===================================================================== + //====================================================================== + //====================================================================== + //====================================================================== + //====================================================================== + //====================================================================== + + std::cout << " We are here to print 2017 MAPs " << std::endl; + //====================================================================== + + //====================================================================== + /// Prepare maps of good/bad channels: + + TH2F *Map_ALL = new TH2F("Map_All", "Map_all", 82, -41, 40, 72, 0, 71); + int nx = Map_ALL->GetXaxis()->GetNbins(); + int ny = Map_ALL->GetYaxis()->GetNbins(); + int NBad = 0; + int NWarn = 0; + int NCalib = 0; + int NPed = 0; + // int Eta[3][10000]={0}; + int Eta[4][10000] = {0}; + int Phi[4][10000] = {0}; + int Sub[4][10000] = {0}; + int Depth[4][10000] = {0}; + string Comment[4][10000] = {""}; + string Text[33] = {"", "Cm", "Am", "Wm", "Rm", "TNm", "TXm", "", "", "", "", "Cc", "Ac", "Wc", "Rc", "TNc", "TXc", + "", "", "", "", "GS", "", "", "", "", "", "", "", "", "", "Pm", "pWm"}; + int flag_W = 0; + int flag_B = 0; + int flag_P = 0; + + for (int i = 1; i <= nx; i++) { //Eta + for (int j = 1; j <= ny; j++) { // Phi + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HO, 4-HF + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (Map_SUB[sub][k]->GetBinContent(i, j) != 0) { + Map_SUB[sub][k]->SetBinContent(i, j, 0.5); + Map_ALL->SetBinContent(i, j, 0.5); + } + } + } + } + } + + for (int i = 1; i <= nx; i++) { //Eta + for (int j = 1; j <= ny; j++) { // Phi + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + flag_W = 0; + flag_B = 0; + flag_P = 0; + for (int test = 1; test <= 6; test++) { //Test: 1-Wm, 2-Rm, etc + //Bad + if (Map_Ampl[test][sub][k]->GetBinContent(i, j) > + 0.1) { //Rate 0.1 for displaying on whole detector map and subdetector map + Map_ALL->SetBinContent(i, j, 1.); + Map_SUB[sub][k]->SetBinContent(i, j, 1.); + if (flag_B == 0) { + NBad += 1; + Eta[2][NBad] = i - 41; + Phi[2][NBad] = j - 1; + Sub[2][NBad] = sub; + Depth[2][NBad] = k; + Comment[2][NBad] = Text[test]; + } else + Comment[2][NBad] += ", " + Text[test]; + flag_B = 1; + // cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j) != 0.)&&(Map_Ampl[test][sub][k]->GetBinContent(i,j) < 0.001) ) { + if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.) Map_SUB[sub][k]->SetBinContent(i,j,0.75); + if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); + if (flag_W == 0) { + NWarn +=1; + Eta[1][NWarn]=i-41; + Phi[1][NWarn]=j-1; + Sub[1][NWarn]=sub; + Depth[1][NWarn]=k; + Comment[1][NWarn]=Text[test]; + } + else Comment[1][NWarn]+=", "+Text[test]; + flag_W = 1; +// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i,j) != 0.) { +// if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.3); +// if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.3); + if (flag_W == 0) { + NWarn +=1; + Eta[1][NWarn]=i-41; + Phi[1][NWarn]=j-1; + Sub[1][NWarn]=sub; + Depth[1][NWarn]=k; + Comment[1][NWarn]=Text[test]; + } + else Comment[1][NWarn]+=", "+Text[test]; + flag_W = 1; +// cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<GetBinContent(i, j)) > porog[sub]) { + if (Map_SUB[sub][k]->GetBinContent(i, j) != 1.0) + Map_SUB[sub][k]->SetBinContent(i, j, 0.75); + if (Map_ALL->GetBinContent(i, j) != 1.) { + Map_ALL->SetBinContent(i, j, 0.75); + if (flag_W == 0) { + NWarn += 1; + Eta[1][NWarn] = i - 41; + Phi[1][NWarn] = j - 1; + Sub[1][NWarn] = sub; + Depth[1][NWarn] = k; + Comment[1][NWarn] = Text[test]; + } else + Comment[1][NWarn] += ", " + Text[test]; + flag_W = 1; + + cout << "Map_Ampl[" << test << "][" << sub << "][" << k << "]->GetBinContent(" << i << "," << j + << ")= " << Map_Ampl[test][sub][k]->GetBinContent(i, j) << endl; + } + } + } //end test + + //Pedestals + for (int test = 31; test <= 32; test++) { + if (Map_Ampl[test][sub][k]->GetBinContent(i, j) > 0.1) { + // if (Map_SUB[sub][k]->GetBinContent(i,j)!=1.0) Map_SUB[sub][k]->SetBinContent(i,j,0.75); + // if (Map_ALL->GetBinContent(i,j)!=1.) Map_ALL->SetBinContent(i,j,0.75); + if (flag_P == 0) { + NPed += 1; + Eta[3][NPed] = i - 41; + Phi[3][NPed] = j - 1; + Sub[3][NPed] = sub; + Depth[3][NPed] = k; + Comment[3][NPed] = Text[test]; + } else + Comment[3][NPed] += ", " + Text[test]; + flag_P = 1; + + // cout<<"Map_Ampl["<GetBinContent("<GetBinContent(i,j)<Divide(2,1); + if (sub == 1) + cHB->Divide(2, 2); + // if (sub==2) cHE->Divide(3,1); + if (sub == 2) + cHE->Divide(3, 3); + if (sub == 3) + cONE->Divide(1, 1); + // if (sub==4) cHB->Divide(2,1); + if (sub == 4) + cHF->Divide(2, 2); + // int k_min[5]={0,1,1,4,1}; // minimum depth for each subdet + // int k_max[5]={0,2,3,4,2}; // maximum depth for each subdet + // int k_max[5]={0,2,7,4,4}; // maximum depth for each subdet + for (int k = k_min[sub]; k <= k_max[sub]; k++) { //Depth + if (sub == 1) + cHB->cd(k); + if (sub == 2) + cHE->cd(k); + if (sub == 3) + cONE->cd(k - 3); + if (sub == 4) + cHF->cd(k); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogz(); + // gStyle->SetTitleOffset(0.5, "Y"); + if (sub == 1) + sprintf(str, "HB, Depth%d \b", k); + if (sub == 2) + sprintf(str, "HE, Depth%d \b", k); + if (sub == 3) + sprintf(str, "HO, Depth%d \b", k); + if (sub == 4) + sprintf(str, "HF, Depth%d \b", k); + Map_SUB[sub][k]->SetTitle(str); + Map_SUB[sub][k]->SetXTitle("#eta \b"); + Map_SUB[sub][k]->SetYTitle("#phi \b"); + Map_SUB[sub][k]->Draw("COL"); + Map_SUB[sub][k]->GetYaxis()->SetRangeUser(0, 72.); + Map_SUB[sub][k]->GetZaxis()->SetRangeUser(0., 1.); + if (sub == 1) { + cHB->Modified(); + cHB->Update(); + } + if (sub == 2) { + cHE->Modified(); + cHE->Update(); + } + if (sub == 3) { + cONE->Modified(); + cONE->Update(); + } + if (sub == 4) { + cHF->Modified(); + cHF->Update(); + } + } //end depth + if (sub == 1) { + cHB->Print("MAPHB.png"); + cHB->Clear(); + } + if (sub == 2) { + cHE->Print("MAPHE.png"); + cHE->Clear(); + } + if (sub == 3) { + cONE->Print("MAPHO.png"); + cONE->Clear(); + } + if (sub == 4) { + cHF->Print("MAPHF.png"); + cHF->Clear(); + } + } + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // TCanvas *cmain1 = new TCanvas("cmain1","MAP",200,10,1400,1800); + TCanvas *cmain1 = new TCanvas("cmain1", "MAP", 250, 10, 1450, 1410); + cmain1->Divide(2, 2); + + cmain1->cd(1); + TH1F *JDBEYESJ0 = (TH1F *)hfile->Get("h_totalAmplitudeHBperEvent"); + JDBEYESJ0->SetStats(0); + JDBEYESJ0->SetMarkerStyle(20); + JDBEYESJ0->SetMarkerSize(0.8); + JDBEYESJ0->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ0->SetXTitle("iEvent \b"); + JDBEYESJ0->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ0->SetTitle("HB \b"); + JDBEYESJ0->SetMarkerColor(2); + JDBEYESJ0->SetLineColor(1); + JDBEYESJ0->SetMinimum(0.8); + JDBEYESJ0->Draw("HIST same P0"); + + cmain1->cd(2); + TH1F *JDBEYESJ1 = (TH1F *)hfile->Get("h_totalAmplitudeHEperEvent"); + JDBEYESJ1->SetStats(0); + JDBEYESJ1->SetMarkerStyle(20); + JDBEYESJ1->SetMarkerSize(0.8); + JDBEYESJ1->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ1->SetXTitle("iEvent \b"); + JDBEYESJ1->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ1->SetTitle("HE \b"); + JDBEYESJ1->SetMarkerColor(2); + JDBEYESJ1->SetLineColor(1); + JDBEYESJ1->SetMinimum(0.8); + JDBEYESJ1->Draw("HIST same P0"); + + cmain1->cd(3); + TH1F *JDBEYESJ2 = (TH1F *)hfile->Get("h_totalAmplitudeHFperEvent"); + JDBEYESJ2->SetStats(0); + JDBEYESJ2->SetMarkerStyle(20); + JDBEYESJ2->SetMarkerSize(0.8); + JDBEYESJ2->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ2->SetXTitle("iEvent \b"); + JDBEYESJ2->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ2->SetTitle("HF \b"); + JDBEYESJ2->SetMarkerColor(2); + JDBEYESJ2->SetLineColor(1); + JDBEYESJ2->SetMinimum(0.8); + JDBEYESJ2->Draw("HIST same P0"); + + cmain1->cd(4); + TH1F *JDBEYESJ3 = (TH1F *)hfile->Get("h_totalAmplitudeHOperEvent"); + JDBEYESJ3->SetStats(0); + JDBEYESJ3->SetMarkerStyle(20); + JDBEYESJ3->SetMarkerSize(0.8); + JDBEYESJ3->GetYaxis()->SetLabelSize(0.04); + JDBEYESJ3->SetXTitle("iEvent \b"); + JDBEYESJ3->SetYTitle("totalAmplitude perEvent \b"); + JDBEYESJ3->SetTitle("HO \b"); + JDBEYESJ3->SetMarkerColor(2); + JDBEYESJ3->SetLineColor(1); + JDBEYESJ3->SetMinimum(0.8); + JDBEYESJ3->Draw("HIST same P0"); + + cmain1->Modified(); + cmain1->Update(); + cmain1->Print("EVENTDEPENDENCE.png"); + + std::cout << " EVENTDEPENDENCE " << std::endl; + + ///////////////////////////////////////////////////////////////////////////////////////////////////////////////// + // ALL SubDet + gStyle->SetOptTitle(0); + TCanvas *cmain = new TCanvas("cmain", "MAP", 1000, 1000); + //cmain->cd(1); + gPad->SetGridy(); + gPad->SetGridx(); + // gPad->SetLogz(); + Map_ALL->SetTitleOffset(1.3, "Y"); + Map_ALL->SetXTitle("#eta \b"); + Map_ALL->SetYTitle("#phi \b"); + Map_ALL->Draw("COL"); + Map_ALL->GetYaxis()->SetRangeUser(0, 72.); + Map_ALL->GetZaxis()->SetRangeUser(0, 1.); + cmain->Modified(); + cmain->Update(); + cmain->Print("MAP.png"); + + std::cout << "******** MAP_ALL done" << std::endl; + std::cout << "********" << std::endl; + + std::cout << "********" << std::endl; + std::cout << "************ Start creating each test kind for each subdet html pages:" << std::endl; + + //====================================================================== + + //====================================================================== + // Creating each test kind for each subdet html pages: + std::string raw_class, raw_class1, raw_class2, raw_class3; + int ind = 0; + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + ofstream htmlFileT, htmlFileC, htmlFileD, htmlFileP, htmlFileS, htmlFileM; + if (sub == 1) { + htmlFileT.open("HB_Tile.html"); + htmlFileC.open("HB_Calib.html"); + htmlFileD.open("HB_Drift.html"); + htmlFileP.open("HB_Pedestals.html"); + htmlFileS.open("HB_Shapes.html"); + } + if (sub == 2) { + htmlFileT.open("HE_Tile.html"); + htmlFileC.open("HE_Calib.html"); + htmlFileD.open("HE_Drift.html"); + htmlFileP.open("HE_Pedestals.html"); + htmlFileS.open("HE_Shapes.html"); + htmlFileM.open("HE_IterationMethod.html"); + } + if (sub == 3) { + htmlFileT.open("HO_Tile.html"); + htmlFileC.open("HO_Calib.html"); + htmlFileD.open("HO_Drift.html"); + htmlFileP.open("HO_Pedestals.html"); + htmlFileS.open("HO_Shapes.html"); + } + if (sub == 4) { + htmlFileT.open("HF_Tile.html"); + htmlFileC.open("HF_Calib.html"); + htmlFileD.open("HF_Drift.html"); + htmlFileP.open("HF_Pedestals.html"); + htmlFileS.open("HF_Shapes.html"); + } + + // Megatile channels + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << " Remote Monitoring Tool " << std::endl; + htmlFileT << "" << std::endl; + htmlFileT << "" << std::endl; + + if (sub == 1) + htmlFileT << "

Criteria for megatile channels for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileT << "

Criteria for megatile channels for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileT << "

Criteria for megatile channels for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileT << "

Criteria for megatile channels for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileT << "
" << std::endl; + + // Test Entries + + htmlFileT << "

0. Entries for each channel.

" << std::endl; + htmlFileT << "

0.A. Entries in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: color is rate of entries

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Test Cm + htmlFileT << "

1. Cm criterion: CapID errors for each channel.

" << std::endl; + htmlFileT << "

1.A. Rate of CapId failures in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Am + htmlFileT << "

2. Am criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel.

" + << std::endl; + htmlFileT << "

2.A. Full ADC amplitude distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[2][sub] << " correpond to bad ADC amplitude

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

2.B. Rate of bad ADC amplitude (<" << MIN_M[2][sub] << ") in each channel for each depth.

" + << std::endl; + htmlFileT << "

Channel legend: white - good, other colours - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Test Wm + htmlFileT << "

3. Wm criterion: RMS (width) of ADC amplutude for each channel.

" << std::endl; + htmlFileT << "

3.A. RMS distribution over all events, channel and depth.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[3][sub] << " and more " << MAX_M[3][sub] + << " correpond to bad RMS

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

3.B. Rate of bad RMS (<" << MIN_M[3][sub] << ",>" << MAX_M[3][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // Rm + htmlFileT << "

4. Rm criterion: Ratio ADC value sum over four near maximum (-2, -1, max, +1) TS to ADC value " + "sum over all TS for each channel.

" + << std::endl; + htmlFileT << "

4.A. Ratio distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[4][sub] << " and more " << MAX_M[4][sub] + << " correpond to bad ratio

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

4.B. Rate of bad ratio (<" << MIN_M[4][sub] << ", >" << MAX_M[4][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // TNm + htmlFileT << "

5. TNm criterion: Mean TS position for each channel.

" << std::endl; + htmlFileT << "

5.A. TN position distribution over all events, channels and depths.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[5][sub] << " and more " << MAX_M[5][sub] + << " correpond to bad mean position

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

5.B. Rate of bad TN position (<" << MIN_M[5][sub] << ", >" << MAX_M[5][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + // TXm + htmlFileT << "

6.TXm criterion: Maximum TS position for each channel.

" << std::endl; + htmlFileT << "

6.A. TX position distribution over all events, channel and depth.

" << std::endl; + htmlFileT << "

Legend: Bins less " << MIN_M[6][sub] << " and more " << MAX_M[6][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + htmlFileT << "

6.B. Rate of bad TX position (<" << MIN_M[6][sub] << ", >" << MAX_M[6][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileT << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileT << " " << std::endl; + if (sub == 2) + htmlFileT << " " << std::endl; + if (sub == 3) + htmlFileT << " " << std::endl; + if (sub == 4) + htmlFileT << " " << std::endl; + htmlFileT << "
" << std::endl; + + htmlFileT << " " << std::endl; + htmlFileT << " " << std::endl; + htmlFileT.close(); + + //Calibration channels + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << " Raw Data Analyser " << std::endl; + htmlFileC << "" << std::endl; + htmlFileC << "" << std::endl; + + if (sub == 1) + htmlFileC << "

Criteria for calibration channels for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileC << "

Criteria for calibration channels for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileC << "

Criteria for calibration channels for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileC << "

Criteria for calibration channels for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileC << "
" << std::endl; + + // Test Entries + + htmlFileC << "

0. Entries for each channel.

" << std::endl; + htmlFileC << "

0.A. Entries in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: color is rate of entries

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Test Cc + htmlFileC << "

1. Cc criterion: CapID errors for each channel.

" << std::endl; + htmlFileC << "

1.A. Rate of CapId failures in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Ac + htmlFileC << "

2. Ac criterion: ADC amplitude collected over all TSs(Full Amplitude) for each channel.

" + << std::endl; + htmlFileC << "

2.A. Full ADC amplitude distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[2][sub] << " correpond to bad ADC amplitude

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

2.B. Rate of bad ADC amplitude (<" << MIN_C[2][sub] << ") in each channel for each depth.

" + << std::endl; + htmlFileC << "

Channel legend: white - good, other colours - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Test Wc + htmlFileC << "

3. Wc criterion: RMS (width) of ADC amplutude for each channel.

" << std::endl; + htmlFileC << "

3.A. W distribution over all events, channel and depth.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[3][sub] << " and more " << MAX_C[3][sub] + << " correpond to bad RMS

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

3.B. Rate of bad W (<" << MIN_C[3][sub] << ",>" << MAX_C[3][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // Rc + htmlFileC << "

4. Rc criterion: Ratio ADC value sum over five near maximum (-2, -1, max, +1, +2) TS to ADC " + "value sum over all TS for each channel.

" + << std::endl; + htmlFileC << "

4.A. Ratio distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[4][sub] << " and more " << MAX_C[4][sub] + << " correpond to bad ratio

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

4.B. Rate of bad Ratio (<" << MIN_C[4][sub] << ", >" << MAX_C[4][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // TNc + htmlFileC << "

5. TNc criterion: Mean TS position for each channel.

" << std::endl; + htmlFileC << "

5.A. TN position distribution over all events, channels and depths.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[5][sub] << " and more " << MAX_C[5][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

5.B. Rate of bad TN position (<" << MIN_C[5][sub] << ", >" << MAX_C[5][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + // TXm + htmlFileC << "

6.TXc criterion: Maximum TS position for each channel.

" << std::endl; + htmlFileC << "

6.A. TX position distribution over all events, channel and depth.

" << std::endl; + htmlFileC << "

Legend: Bins less " << MIN_C[6][sub] << " and more " << MAX_C[6][sub] + << " correpond to bad position

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + htmlFileC << "

6.B. Rate of bad TX position (<" << MIN_C[6][sub] << ", >" << MAX_C[6][sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileC << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileC << " " << std::endl; + if (sub == 2) + htmlFileC << " " << std::endl; + if (sub == 3) + htmlFileC << " " << std::endl; + if (sub == 4) + htmlFileC << " " << std::endl; + htmlFileC << "
" << std::endl; + + htmlFileC << " " << std::endl; + htmlFileC << " " << std::endl; + htmlFileC.close(); + + //Response drift + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << " Remore Monitoring Tool " << std::endl; + htmlFileD << "" << std::endl; + htmlFileD << "" << std::endl; + + if (sub == 1) + htmlFileD << "

Response drift for HB: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 2) + htmlFileD << "

Response drift for HE: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 3) + htmlFileD << "

Response drift for HO: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + if (sub == 4) + htmlFileD << "

Response drift for HF: Current RUN = " << runnumber << ", Reference RUN = " << refrunnumber + << "

" << std::endl; + htmlFileD << "
" << std::endl; + + // test GS + htmlFileD << "

1. Gain Stability (GS)

" << std::endl; + htmlFileD << "

1.A. Averaged channel response, collected over all TS, for Current run in each channel for each " + "depth.

" + << std::endl; + htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.B. Averaged channel response, collected over all TS, for Reference run in each channel for " + "each depth.

" + << std::endl; + htmlFileD << "

Channel legend: colour means cooresponding value of mean response.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.C. Relative difference between Current and Reference run distribution over all events, " + "channels for each depth.

" + << std::endl; + htmlFileD << "

Legend: Bins less -" << porog[sub] << "% and more +" << porog[sub] + << "% correpond to bad relative difference position

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + htmlFileD << "

1.D. Rate of bad relative difference (<-" << porog[sub] << ", >+" << porog[sub] + << ") in each channel for each depth.

" << std::endl; + htmlFileD << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileD << " " << std::endl; + if (sub == 2) + htmlFileD << " " << std::endl; + if (sub == 3) + htmlFileD << " " << std::endl; + if (sub == 4) + htmlFileD << " " << std::endl; + htmlFileD << "
" << std::endl; + + htmlFileD << " " << std::endl; + htmlFileD << " " << std::endl; + htmlFileD.close(); + + // Pedestals + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << " Remote Monitoring Tool " << std::endl; + htmlFileP << "" << std::endl; + htmlFileP << "" << std::endl; + + if (sub == 1) + htmlFileP << "

Pedestals for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileP << "

Pedestals for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileP << "

Pedestals for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileP << "

Pedestals for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileP << "
" << std::endl; + + // Pedestal: + htmlFileP << "

1.Pm criterion: Pedestals for each CapID .

" << std::endl; + htmlFileP << "

1.A. Pedestal distribution over all events, channels for each CapID and all depths.

" + << std::endl; + htmlFileP << "

Legend: Bins less " << Pedest[0][sub] << " correpond to bad Pedestals

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + htmlFileP << "
" << std::endl; + htmlFileP << "

1.B. Rate of channels at very low Pedestals at least in one CapID for each depth.

" + << std::endl; + htmlFileP << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + + // PedestalWidth: + htmlFileP << "

2.pWm criterion: Pedestal Widths for each CapID .

" << std::endl; + htmlFileP << "

2.A. Pedestal Widths distribution over all events, channels for each CapID and all depths.

" + << std::endl; + htmlFileP << "

Legend: Bins less " << Pedest[1][sub] << " correpond to bad Pedestal Widths

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + htmlFileP << "
" << std::endl; + htmlFileP << "

2.B. Rate of channels at very low Pedestal Widths at least in one CapID for each depth.

" + << std::endl; + htmlFileP << "

Channel legend: white - good, other colour - bad.

" << std::endl; + if (sub == 1) + htmlFileP << " " << std::endl; + if (sub == 2) + htmlFileP << " " << std::endl; + if (sub == 3) + htmlFileP << " " << std::endl; + if (sub == 4) + htmlFileP << " " << std::endl; + + // Correlations of Pedestal(Width) and fullAmplitude: + htmlFileP << "

3.Pedestal and pedestalWidths vs Amplitude .

" << std::endl; + htmlFileP << "

3.A. Correlation of Pedestal(pedestalWidths) and Amplitude over all channels and events .

" + << std::endl; + htmlFileP << "

Legend: colour - entries

" << std::endl; + if (sub == 1) + htmlFileP << "" << std::endl; + if (sub == 2) + htmlFileP << "" << std::endl; + if (sub == 3) + htmlFileP << "" << std::endl; + if (sub == 4) + htmlFileP << "" << std::endl; + htmlFileP << "
" << std::endl; + htmlFileP.close(); + + // TSs Shapes: + + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << " Remote Monitoring Tool " << std::endl; + htmlFileS << "" << std::endl; + htmlFileS << "" << std::endl; + + if (sub == 1) + htmlFileS << "

ADC Shape for HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileS << "

ADC Shape for HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileS << "

ADC Shape for HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileS << "

ADC Shape for HF, RUN = " << runnumber << "

" << std::endl; + htmlFileS << "
" << std::endl; + + htmlFileS << "

1.Mean ADC Shape.

" << std::endl; + htmlFileS << "

1.A. ADC shape averaged over all good channels, depth and events.

" << std::endl; + // htmlFileS << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + htmlFileS << "
" << std::endl; + htmlFileS << "

1.B. ADC shape averaged over all bad channels, depth and events. Bad channels are selected by 5 " + "criteria: CapId, A, W, P, Pw

" + << std::endl; + // htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileS << " " << std::endl; + if (sub == 2) + htmlFileS << " " << std::endl; + if (sub == 3) + htmlFileS << " " << std::endl; + if (sub == 4) + htmlFileS << " " << std::endl; + /* + htmlFileS << "

2. ADC in Time Slice

"<< std::endl; + htmlFileS << "

2.A. ADC counts histogrammed over all channels, depth and events.

"<< std::endl; +// htmlFileS << "

Legend: Bins less "<"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; + htmlFileS << "
"<< std::endl; + htmlFileS << "

2.B. ADC counts histogrammed over all channels and events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; + + htmlFileS << "

3. ADC Sum in Time Slice

"<< std::endl; + htmlFileS << "

3.A. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; + + htmlFileS << "

3.B. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; + + htmlFileS << "

3.C. ADC Sum over all channels histogrammed over all events for each depth separately.

"<< std::endl; +// htmlFileS << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub==1) htmlFileS << " " << std::endl; + if (sub==2) htmlFileS << " " << std::endl; + if (sub==3) htmlFileS << " " << std::endl; + if (sub==4) htmlFileS << " " << std::endl; +*/ + htmlFileS.close(); + + /////////////////////////////////////////// + + // Iteration Method for Calibration Group: + + htmlFileM << "" << std::endl; + htmlFileM << "" << std::endl; + htmlFileM << "" << std::endl; + htmlFileM << " Remote Monitoring Tool " << std::endl; + htmlFileM << "" << std::endl; + htmlFileM << "" << std::endl; + + if (sub == 1) + htmlFileM << "

Iteration Method for Calibration Group, HB, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFileM << "

Iteration Method for Calibration Group, HE, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFileM << "

Iteration Method for Calibration Group, HO, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFileM << "

Iteration Method for Calibration Group, HF, RUN = " << runnumber << "

" << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1: Positive direction, R = R_depth_ieta_iphi = E_depth_ieta_iphi/E_depth_ieta

" + << std::endl; + + htmlFileM << "

1.A. eta/phi-plot: R, averaged over depthes

" << std::endl; + // htmlFileM << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 3) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1B: R vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 3) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + /////////////////////////////////////////////// different Depthes: + + htmlFileM << "

1C: R vs phi , different eta, Depth1

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1D: R vs phi , different eta, Depth2

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1E: R vs phi , different eta, Depth3

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1F: R vs phi , different eta, Depth4

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 3) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1G: R vs phi , different eta, Depth5

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1H: R vs phi , different eta, Depth6

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

1I: R vs phi , different eta, Depth7

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2: Positive direction, D(variance)

" << std::endl; + + htmlFileM << "

2A: eta/phi-plot: D(variance), averaged over depthes

" << std::endl; + // htmlFileM << "

Legend: Bins less "<"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 3) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2B: D(variance) vs phi , averaged over depthes & eta

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 3) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + /////////////////////////////////////////////// different Depthes: + + htmlFileM << "

2C: D(variance) vs phi , different eta, Depth1

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2.D. D(variance) vs phi , different eta, Depth2

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2E: D(variance) vs phi , different eta, Depth3

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2F: D(variance) vs phi , different eta, Depth4

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 1) + htmlFileM << " " << std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + if (sub == 3) + htmlFileM << " " << std::endl; + if (sub == 4) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2G: D(variance) vs phi , different eta, Depth5

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2H: D(variance) vs phi , different eta, Depth6

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM << "

2I: D(variance) vs phi , different eta, Depth7

" << std::endl; + // htmlFileM << "

Channel legend: white - good, other colour - bad.

"<< std::endl; + if (sub == 2) + htmlFileM << " " << std::endl; + htmlFileM << "
" << std::endl; + + htmlFileM.close(); + + /////////////////////////////////////////// + // + // + } // end sub //for (int sub=1;sub<=4;sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + + //====================================================================== + + std::cout << "********" << std::endl; + std::cout << "************ Start creating subdet html pages: - rather long time needed, waiting please" + << std::endl; + //====================================================================== + // Creating subdet html pages: + + for (int sub = 1; sub <= 4; sub++) { //Subdetector: 1-HB, 2-HE, 3-HF, 4-HO + ofstream htmlFile; + if (sub == 1) + htmlFile.open("HB.html"); + if (sub == 2) + htmlFile.open("HE.html"); + if (sub == 3) + htmlFile.open("HO.html"); + if (sub == 4) + htmlFile.open("HF.html"); + + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << " Remote Monitoring Tool " << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + if (sub == 1) + htmlFile << "

HCAL BARREL, RUN = " << runnumber << "

" << std::endl; + if (sub == 2) + htmlFile << "

HCAL ENDCAP, RUN = " << runnumber << "

" << std::endl; + if (sub == 3) + htmlFile << "

HCAL OUTER, RUN = " << runnumber << "

" << std::endl; + if (sub == 4) + htmlFile << "

HCAL FORWARD, RUN = " << runnumber << "

" << std::endl; + htmlFile << "
" << std::endl; + if (sub == 1) + htmlFile << "

1. Analysis results for HB

" << std::endl; + if (sub == 2) + htmlFile << "

1. Analysis results for HE

" << std::endl; + if (sub == 3) + htmlFile << "

1. Analysis results for HO

" << std::endl; + if (sub == 4) + htmlFile << "

1. Analysis results for HF

" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + if (sub == 1) { + /* + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; +*/ + + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + } + if (sub == 2) { + /* + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; +*/ + + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + } + + if (sub == 3) { + /* + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + */ + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + } + if (sub == 4) { + /* + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + */ + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + } + + htmlFile << "" << std::endl; + htmlFile << "
Megatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesIteration MethodMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesIteration MethodMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC ShapesMegatile ChannelsCalibration ChannelsGain StabilityPedestalsADC Shapes
" << std::endl; + htmlFile << "
" << std::endl; + if (sub == 1) + htmlFile << "

2.Status HB over all criteria

" << std::endl; + if (sub == 2) + htmlFile << "

2.Status HE over all criteria

" << std::endl; + if (sub == 3) + htmlFile << "

2.Status HO over all criteria

" << std::endl; + if (sub == 4) + htmlFile << "

2.Status HF over all criteria

" << std::endl; + htmlFile << "

2.A.Channel map for each Depth

" << std::endl; + htmlFile << "

Channel legend: green - good, red - bad (rate of failures at least 0.1), yellow - at least 2% " + "gain drift, white - not applicable or out of range

" + << std::endl; + if (sub == 1) + htmlFile << " " << std::endl; + if (sub == 2) + htmlFile << " " << std::endl; + if (sub == 3) + htmlFile << " " << std::endl; + if (sub == 4) + htmlFile << " " << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2.B.List of Bad channels (rate > 0.1) and its rates for each RMT criteria (for GS - %)

" + << std::endl; + + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection" << std::endl; + + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + htmlFile << "" << std::endl; + + for (int i = 1; i <= NBad; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << raw_class << Eta[2][i] << "" << std::endl; + htmlFile << raw_class << Phi[2][i] << "" << std::endl; + htmlFile << raw_class << Depth[2][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[1][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[2][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[3][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[4][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[5][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[6][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class3 << Map_Ampl[21][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[31][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[32][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[11][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[12][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[13][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[14][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[15][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[16][Sub[2][i]][Depth[2][i]]->GetBinContent(Eta[2][i] + 41, Phi[2][i] + 1) + << "" << std::endl; + htmlFile << "" << std::endl; + + ind += 1; + } + } + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGACmAmWmRmTNmTXmGS (%)PmpWmCcAcWcRcTNcTXc
"; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + + } else { + raw_class = ""; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + } + const CellDB db; + CellDB ce; + if ((ce.size() >= 1) && (Sub[2][i] == sub)) { + if (Sub[2][i] == 1) { + ce = db.find("subdet", "HB").find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HB, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HB, Eta=" << Eta[2][i] << ", Phi=" << Phi[2][i] + << ", Depth=" << Depth[2][i] << " in database" << endl; + } + } + if (Sub[2][i] == 2) { + ce = db.find("subdet", "HE").find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HE, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HE, Eta=" << Eta[2][i] << ", Phi=" << Phi[2][i] + << ", Depth=" << Depth[2][i] << " in database" << endl; + } + } + if (Sub[2][i] == 3) { + ce = db.find("subdet", "HO").find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HO, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HO, Eta=" << Eta[2][i] << ", Phi=" << Phi[2][i] + << ", Depth=" << Depth[2][i] << " in database" << endl; + } + } + if (Sub[2][i] == 4) { + ce = db.find("subdet", "HF").find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HF, Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HF, Eta=" << Eta[2][i] << ", Phi=" << Phi[2][i] + << ", Depth=" << Depth[2][i] << " in database" << endl; + } + } + htmlFile << "
" << ind + 1 << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2.C.List of Gain unstable channels and its value in % (for other criterias - rate)

" + << std::endl; + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i = 1; i <= NWarn; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << raw_class << Eta[1][i] << "" << std::endl; + htmlFile << raw_class << Phi[1][i] << "" << std::endl; + htmlFile << raw_class << Depth[1][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[1][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[2][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[3][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[4][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[5][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[6][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class3 << Map_Ampl[21][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[31][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[32][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[11][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[12][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[13][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[14][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[15][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[16][Sub[1][i]][Depth[1][i]]->GetBinContent(Eta[1][i] + 41, Phi[1][i] + 1) + << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + ind += 1; + } + } + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGACmAmWmRmTNmTXmGS(%)PmpWmCcAcWcRcTNcTXc
"; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + + } else { + raw_class = ""; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + } + const CellDB db; + CellDB ce; + if ((ce.size() >= 1) && (Sub[1][i] == sub)) { + if (Sub[1][i] == 1) { + ce = db.find("subdet", "HB").find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HB, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HB, Eta=" << Eta[1][i] << ", Phi=" << Phi[1][i] + << ", Depth=" << Depth[1][i] << " in database" << endl; + } + } + if (Sub[1][i] == 2) { + ce = db.find("subdet", "HE").find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HE, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HE, Eta=" << Eta[1][i] << ", Phi=" << Phi[1][i] + << ", Depth=" << Depth[1][i] << " in database" << endl; + } + } + if (Sub[1][i] == 3) { + ce = db.find("subdet", "HO").find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HO, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HO, Eta=" << Eta[1][i] << ", Phi=" << Phi[1][i] + << ", Depth=" << Depth[1][i] << " in database" << endl; + } + } + if (Sub[1][i] == 4) { + ce = db.find("subdet", "HF").find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HF, Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HF, Eta=" << Eta[1][i] << ", Phi=" << Phi[1][i] + << ", Depth=" << Depth[1][i] << " in database" << endl; + } + } + htmlFile << "" << ind + 1 << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2.D.List of channels with Bad Pedestals (rate > 0.1) and its rates (for GS - %)

" + << std::endl; + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i = 1; i <= NPed; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << raw_class << Eta[3][i] << "" << std::endl; + htmlFile << raw_class << Phi[3][i] << "" << std::endl; + htmlFile << raw_class << Depth[3][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[1][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[2][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[3][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[4][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[5][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class1 << Map_Ampl[6][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class3 << Map_Ampl[21][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[31][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class << Map_Ampl[32][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[11][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[12][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[13][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[14][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[15][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << raw_class2 << Map_Ampl[16][Sub[3][i]][Depth[3][i]]->GetBinContent(Eta[3][i] + 41, Phi[3][i] + 1) + << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + ind += 1; + } + } + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGACmAmWmRmTNmTXmGS(%)PmpWmCcAcWcRcTNcTXc
"; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + + } else { + raw_class = ""; + raw_class1 = ""; + raw_class2 = ""; + raw_class3 = ""; + } + const CellDB db; + CellDB ce; + if ((ce.size() >= 1) && (Sub[3][i] == sub)) { + if (Sub[3][i] == 1) { + ce = db.find("subdet", "HB").find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HB, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HB, Eta=" << Eta[3][i] << ", Phi=" << Phi[3][i] + << ", Depth=" << Depth[3][i] << " in database" << endl; + } + } + if (Sub[3][i] == 2) { + ce = db.find("subdet", "HE").find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HE, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HE, Eta=" << Eta[3][i] << ", Phi=" << Phi[3][i] + << ", Depth=" << Depth[3][i] << " in database" << endl; + } + } + if (Sub[3][i] == 3) { + ce = db.find("subdet", "HO").find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HO, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HO, Eta=" << Eta[3][i] << ", Phi=" << Phi[3][i] + << ", Depth=" << Depth[3][i] << " in database" << endl; + } + } + if (Sub[3][i] == 4) { + ce = db.find("subdet", "HF").find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); + if (ce.size() == 0) { + // cout<<"Error: No such HF, Eta="<< Eta[3][i] <<", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"< 1) { + cout << "Warning: More than one line correspond to such HF, Eta=" << Eta[3][i] << ", Phi=" << Phi[3][i] + << ", Depth=" << Depth[3][i] << " in database" << endl; + } + } + htmlFile << "" << ind + 1 << "
" << std::endl; + + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile.close(); + } + + //====================================================================== + + std::cout << "********" << std::endl; + std::cout << "************ Start creating description HELP html file:" << std::endl; + //====================================================================== + // Creating description html file: + ofstream htmlFile; + htmlFile.open("HELP.html"); + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << " Remote Monitoring Tool " << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "

Description of Remote Monitoring Tool criteria for bad channel selection

" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- C means CAPID Errors assuming we inspect CAPID non-rotation,error & validation bits, and for " + "this criterion - no need to apply any cuts to select bcs.

" + << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- A means full amplitude, collected over all time slices

" << std::endl; + htmlFile << "

- R means ratio criterion where we define as a bad, the channels, for which the signal portion in " + "4 middle TSs(plus one, minus two around TS with maximal amplitude) is out of some range of reasonable " + "values

" + << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- W means width of shape distribution. Width is defined as square root from dispersion.

" + << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- TN means mean time position of adc signal.

" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- TX means TS number of maximum signal

" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- m means megatile channels. For example Am means Amplitude criteria for megatile channels

" + << std::endl; + htmlFile << "
" << std::endl; + htmlFile + << "

- c means calibration channels. For example Ac means Amplitude criteria for calibration channels

" + << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- Pm means Pedestals.

" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "

- pWm means pedestal Width.

" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile.close(); + + //====================================================================== + + std::cout << "********" << std::endl; + std::cout << "************ Start creating MAP html file: - rather long time needed, waiting please" << std::endl; + //====================================================================== + // Creating main html file: + htmlFile.open("MAP.html"); + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << " Remote Monitoring Tool " << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + htmlFile << "

Remote Monitoring Tool, LED RUN = " << runnumber << ".

" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

1. Analysis results for subdetectors

" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + /* + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; + htmlFile << " "<< std::endl; +*/ + + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + + htmlFile << "" << std::endl; + htmlFile << "
HBHEHOHFHBHEHOHF
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2. Amplitude summed over all sub-detector channels vs first 1000 events of this Run

" + << std::endl; + htmlFile << "

2.A. Total subdetector Amplitude vs iEvent

" << std::endl; + htmlFile << " " << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

3. HCAL status over all criteria and subdetectors

" << std::endl; + htmlFile << "

3.A. Channels in detector space

" << std::endl; + htmlFile << "

Legend for channel status: green - good, red - bad, yellow - at least 2% gain drift, white - not " + "applicable or out of range

" + << std::endl; + htmlFile << " " << std::endl; + htmlFile << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

3.B. List of Bad channels

" << std::endl; + + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection" << std::endl; + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + ind = 0; + + for (int i = 1; i <= NBad; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << raw_class << Eta[2][i] << "" << std::endl; + htmlFile << raw_class << Phi[2][i] << "" << std::endl; + htmlFile << raw_class << Depth[2][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Comment[2][i] << "" << std::endl; + htmlFile << "" << std::endl; + + ind += 1; + } + } + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGARMT-criteria
"; + raw_class1 = ""; + } else { + raw_class = ""; + raw_class1 = ""; + } + const CellDB db; + const CellDB ce = db.find("Eta", Eta[2][i]).find("Phi", Phi[2][i]).find("Depth", Depth[2][i]); + if (ce.size() == 0) { + // cout<<"Error: No such Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"<1) { cout<<"Warning: More than one line correspond to such Eta="<< Eta[2][i] <<", Phi="<< Phi[2][i] <<", Depth="<< Depth[2][i] <<" in database"<= 1) { + htmlFile << "
" << ind + 1 << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2.C.List of Gain unstable channels

" << std::endl; + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection" << std::endl; + + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i = 1; i <= NWarn; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << raw_class << Eta[1][i] << "" << std::endl; + htmlFile << raw_class << Phi[1][i] << "" << std::endl; + htmlFile << raw_class << Depth[1][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Comment[1][i] << "" << std::endl; + htmlFile << "" << std::endl; + + ind += 1; + } + } + + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGAFailed criteria
"; + raw_class1 = ""; + } else { + raw_class = ""; + raw_class1 = ""; + } + const CellDB db; + const CellDB ce = db.find("Eta", Eta[1][i]).find("Phi", Phi[1][i]).find("Depth", Depth[1][i]); + if (ce.size() == 0) { + // cout<<"Error: No such Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<1) { cout<<"Warning: More than one line correspond to such Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<= 1) { + htmlFile << "
" << ind + 1 << "
" << std::endl; + htmlFile << "
" << std::endl; + + htmlFile << "

2.D.List of channels with bad Pedestals

" << std::endl; + // htmlFile << " Description of criteria for bad channel selection"<< std::endl; + htmlFile << " Description of criteria for bad channel selection" << std::endl; + + htmlFile << "" << std::endl; + htmlFile << ""; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << "" << std::endl; + + for (int i = 1; i <= NPed; i++) { + if ((ind % 2) == 1) { + raw_class = "" << std::endl; + htmlFile << "" << std::endl; + htmlFile << raw_class << Eta[3][i] << "" << std::endl; + htmlFile << raw_class << Phi[3][i] << "" << std::endl; + htmlFile << raw_class << Depth[3][i] << "" << std::endl; + htmlFile << raw_class << ce[0].RBX << "" << std::endl; + htmlFile << raw_class << ce[0].RM << "" << std::endl; + htmlFile << raw_class << ce[0].Pixel << "" << std::endl; + htmlFile << raw_class << ce[0].RMfiber << "" << std::endl; + htmlFile << raw_class << ce[0].FiberCh << "" << std::endl; + htmlFile << raw_class << ce[0].QIE << "" << std::endl; + htmlFile << raw_class << ce[0].ADC << "" << std::endl; + htmlFile << raw_class << ce[0].VMECardID << "" << std::endl; + htmlFile << raw_class << ce[0].dccID << "" << std::endl; + htmlFile << raw_class << ce[0].Spigot << "" << std::endl; + htmlFile << raw_class << ce[0].FiberIndex << "" << std::endl; + htmlFile << raw_class << ce[0].HtrSlot << "" << std::endl; + htmlFile << raw_class << ce[0].HtrTB << "" << std::endl; + htmlFile << raw_class1 << Comment[3][i] << "" << std::endl; + htmlFile << "" << std::endl; + + ind += 1; + } + } + + htmlFile << "
#ETAPHIDEPTHRBXRMPIXELRM_FIBERFIBER_CHQIEADCCRATEDCCSPIGOTHTR_FIBERHTR_SLOTHTR_FPGAFailed criteria
"; + raw_class1 = ""; + } else { + raw_class = ""; + raw_class1 = ""; + } + const CellDB db; + const CellDB ce = db.find("Eta", Eta[3][i]).find("Phi", Phi[3][i]).find("Depth", Depth[3][i]); + if (ce.size() == 0) { + // cout<<"Error: No such Eta="<< Eta[3][i] << ", Phi="<< Phi[3][i] <<", Depth="<< Depth[3][i] <<" in database"<1) { cout<<"Warning: More than one line correspond to such Eta="<< Eta[1][i] <<", Phi="<< Phi[1][i] <<", Depth="<< Depth[1][i] <<" in database"<= 1) { + htmlFile << "
" << ind + 1 << "
" << std::endl; + + htmlFile << " " << std::endl; + htmlFile << " " << std::endl; + htmlFile.close(); + //====================================================================== + + //====================================================================== + // Close and delete all possible things: + hfile->Close(); + // hfile->Delete(); + // Exit Root + gSystem->Exit(0); + //====================================================================== +} diff --git a/DPGAnalysis/HcalTools/plugins/BuildFile.xml b/DPGAnalysis/HcalTools/plugins/BuildFile.xml index dd8648b74e287..4ff06138eb237 100644 --- a/DPGAnalysis/HcalTools/plugins/BuildFile.xml +++ b/DPGAnalysis/HcalTools/plugins/BuildFile.xml @@ -2,9 +2,15 @@ + + + + + + diff --git a/DPGAnalysis/HcalTools/plugins/CMTRawAnalyzer.cc b/DPGAnalysis/HcalTools/plugins/CMTRawAnalyzer.cc index a479d0098f030..6a86ca5dd3dbe 100644 --- a/DPGAnalysis/HcalTools/plugins/CMTRawAnalyzer.cc +++ b/DPGAnalysis/HcalTools/plugins/CMTRawAnalyzer.cc @@ -10,10 +10,13 @@ #include #include +//using namespace std; +//#include "FWCore/Framework/interface/ESHandle.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ServiceRegistry/interface/Service.h" #include "FWCore/PluginManager/interface/ModuleDef.h" #include "FWCore/Framework/interface/Frameworkfwd.h" +//#include "FWCore/Framework/interface/EDAnalyzer.h" #include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/Framework/interface/MakerMacros.h" @@ -459,8 +462,8 @@ class CMTRawAnalyzer : public edm::one::EDAnalyzer tok_hfNoise_; edm::Service fs_; - std::string fOutputFileName; - std::string MAPOutputFileName; + // std::string fOutputFileName; + // std::string MAPOutputFileName; edm::InputTag inputTag_; const edm::ESGetToken tokDB_; const edm::ESGetToken tokTopo_; @@ -944,6 +947,24 @@ class CMTRawAnalyzer : public edm::one::EDAnalyzer()), - tokTopo_(edm::ESGetToken()) { + : tokDB_(esConsumes()), tokTopo_(esConsumes()) { usesResource(TFileService::kSharedResource); verbosity = iConfig.getUntrackedParameter("Verbosity"); MAPcreation = iConfig.getUntrackedParameter("MapCreation"); @@ -2570,8 +2605,8 @@ CMTRawAnalyzer::CMTRawAnalyzer(const edm::ParameterSet& iConfig) calibrWidthHEMax_ = iConfig.getParameter("calibrWidthHEMax"); // calibrWidthHOMax_ = iConfig.getParameter("calibrWidthHOMax"); // calibrWidthHFMax_ = iConfig.getParameter("calibrWidthHFMax"); // - fOutputFileName = iConfig.getUntrackedParameter("HistOutFile"); - MAPOutputFileName = iConfig.getUntrackedParameter("MAPOutFile"); + // fOutputFileName = iConfig.getUntrackedParameter("HistOutFile"); + // MAPOutputFileName = iConfig.getUntrackedParameter("MAPOutFile"); TSpeakHBMin_ = iConfig.getParameter("TSpeakHBMin"); // TSpeakHBMax_ = iConfig.getParameter("TSpeakHBMax"); // TSpeakHEMin_ = iConfig.getParameter("TSpeakHEMin"); // @@ -4605,7 +4640,8 @@ void CMTRawAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iS float icalconst = 1.; // DetId mydetid = hbheItr->id().rawId(); // if( theRecalib ) icalconst=myRecalib->getValues(mydetid)->getValue(); - HBHERecHit aHit(hbheItr->id(), hbheItr->energy() * icalconst, hbheItr->time()); + HBHERecHit aHit(hbheItr->id(), hbheItr->eraw() * icalconst, hbheItr->time()); + // HBHERecHit aHit(hbheItr->id(), hbheItr->energy() * icalconst, hbheItr->time()); double energyhit = aHit.energy(); DetId id = (*hbheItr).detid(); HcalDetId hid = HcalDetId(id); @@ -4718,7 +4754,8 @@ void CMTRawAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iS float icalconst = 1.; // DetId mydetid = hbheItr->id().rawId(); // if( theRecalib ) icalconst=myRecalib->getValues(mydetid)->getValue(); - HBHERecHit aHit(hbheItr->id(), hbheItr->energy() * icalconst, hbheItr->time()); + HBHERecHit aHit(hbheItr->id(), hbheItr->eraw() * icalconst, hbheItr->time()); + // HBHERecHit aHit(hbheItr->id(), hbheItr->energy() * icalconst, hbheItr->time()); double energyhit = aHit.energy(); DetId id = (*hbheItr).detid(); HcalDetId hid = HcalDetId(id); @@ -5176,7 +5213,7 @@ void CMTRawAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iS } //k1 } //if k0 == 1 HE - // HF: 4 depthes for Digis and only 2 - for Reco !!! + // HF: 4 depthes for Digis and only 2 - for Reco !!! ('ve tried to enter 4 for reco since 31.10.2021 AZ) if (k0 == 3) { for (int k1 = 0; k1 < ndepth; k1++) { // k2: 0-81 @@ -5201,6 +5238,23 @@ void CMTRawAnalyzer::analyze(const edm::Event& iEvent, const edm::EventSetup& iS h_recNoiseEnergy1_HF2->Fill(double(kkk), double(k3), recNoiseEnergy1[k0][k1][k2][k3]); h_recNoiseEnergy2_HF2->Fill(double(kkk), double(k3), recNoiseEnergy2[k0][k1][k2][k3]); } + // AZ 31.10.2021: k1=3 and 4 added for HF recoSignal,recNoise + if (k1 == 2) { + h_recSignalEnergy0_HF3->Fill(double(kkk), double(k3), recSignalEnergy0[k0][k1][k2][k3]); + h_recSignalEnergy1_HF3->Fill(double(kkk), double(k3), recSignalEnergy1[k0][k1][k2][k3]); + h_recSignalEnergy2_HF3->Fill(double(kkk), double(k3), recSignalEnergy2[k0][k1][k2][k3]); + h_recNoiseEnergy0_HF3->Fill(double(kkk), double(k3), recNoiseEnergy0[k0][k1][k2][k3]); + h_recNoiseEnergy1_HF3->Fill(double(kkk), double(k3), recNoiseEnergy1[k0][k1][k2][k3]); + h_recNoiseEnergy2_HF3->Fill(double(kkk), double(k3), recNoiseEnergy2[k0][k1][k2][k3]); + } + if (k1 == 3) { + h_recSignalEnergy0_HF4->Fill(double(kkk), double(k3), recSignalEnergy0[k0][k1][k2][k3]); + h_recSignalEnergy1_HF4->Fill(double(kkk), double(k3), recSignalEnergy1[k0][k1][k2][k3]); + h_recSignalEnergy2_HF4->Fill(double(kkk), double(k3), recSignalEnergy2[k0][k1][k2][k3]); + h_recNoiseEnergy0_HF4->Fill(double(kkk), double(k3), recNoiseEnergy0[k0][k1][k2][k3]); + h_recNoiseEnergy1_HF4->Fill(double(kkk), double(k3), recNoiseEnergy1[k0][k1][k2][k3]); + h_recNoiseEnergy2_HF4->Fill(double(kkk), double(k3), recNoiseEnergy2[k0][k1][k2][k3]); + } } //k3 } //k2 } //k1 @@ -6273,6 +6327,35 @@ void CMTRawAnalyzer::beginJob() { h_mapDepth3_HB = fs_->make("h_mapDepth3_HB", " ", neta, -41., 41., nphi, 0., bphi); h_mapDepth4_HB = fs_->make("h_mapDepth4_HB", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth1TS2_HB = fs_->make("h_mapDepth1TS2_HB", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth2TS2_HB = fs_->make("h_mapDepth2TS2_HB", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth3TS2_HB = fs_->make("h_mapDepth3TS2_HB", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth4TS2_HB = fs_->make("h_mapDepth4TS2_HB", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth1TS2_HE = fs_->make("h_mapDepth1TS2_HE", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth2TS2_HE = fs_->make("h_mapDepth2TS2_HE", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth3TS2_HE = fs_->make("h_mapDepth3TS2_HE", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth4TS2_HE = fs_->make("h_mapDepth4TS2_HE", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth5TS2_HE = fs_->make("h_mapDepth5TS2_HE", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth6TS2_HE = fs_->make("h_mapDepth6TS2_HE", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth7TS2_HE = fs_->make("h_mapDepth7TS2_HE", " ", neta, -41., 41., nphi, 0., bphi); + h_recSignalEnergy0_HF3 = fs_->make("h_recSignalEnergy0_HF3", " ", neta, -41., 41., nphi, 0., bphi); + h_recSignalEnergy1_HF3 = fs_->make("h_recSignalEnergy1_HF3", " ", neta, -41., 41., nphi, 0., bphi); + h_recSignalEnergy2_HF3 = fs_->make("h_recSignalEnergy2_HF3", " ", neta, -41., 41., nphi, 0., bphi); + h_recSignalEnergy0_HF4 = fs_->make("h_recSignalEnergy0_HF4", " ", neta, -41., 41., nphi, 0., bphi); + h_recSignalEnergy1_HF4 = fs_->make("h_recSignalEnergy1_HF4", " ", neta, -41., 41., nphi, 0., bphi); + h_recSignalEnergy2_HF4 = fs_->make("h_recSignalEnergy2_HF4", " ", neta, -41., 41., nphi, 0., bphi); + h_recNoiseEnergy0_HF3 = fs_->make("h_recNoiseEnergy0_HF3", " ", neta, -41., 41., nphi, 0., bphi); + h_recNoiseEnergy1_HF3 = fs_->make("h_recNoiseEnergy1_HF3", " ", neta, -41., 41., nphi, 0., bphi); + h_recNoiseEnergy2_HF3 = fs_->make("h_recNoiseEnergy2_HF3", " ", neta, -41., 41., nphi, 0., bphi); + h_recNoiseEnergy0_HF4 = fs_->make("h_recNoiseEnergy0_HF4", " ", neta, -41., 41., nphi, 0., bphi); + h_recNoiseEnergy1_HF4 = fs_->make("h_recNoiseEnergy1_HF4", " ", neta, -41., 41., nphi, 0., bphi); + h_recNoiseEnergy2_HF4 = fs_->make("h_recNoiseEnergy2_HF4", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth1TS1_HF = fs_->make("h_mapDepth1TS1_HF", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth2TS1_HF = fs_->make("h_mapDepth2TS1_HF", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth3TS1_HF = fs_->make("h_mapDepth3TS1_HF", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth4TS1_HF = fs_->make("h_mapDepth4TS1_HF", " ", neta, -41., 41., nphi, 0., bphi); + h_mapDepth4TS012_HO = fs_->make("h_mapDepth4TS012_HO", " ", neta, -41., 41., nphi, 0., bphi); + ////////////////////////////////////////////////////////////////////////////////////////////// HE // stuff regarding summed(total) Amplitude vs iEvent (histo-name is h_totalAmplitudeHEperEvent) @@ -8653,7 +8736,7 @@ void CMTRawAnalyzer::fillDigiAmplitude(HBHEDigiCollection::const_iterator& digiI double errorBtype = 0.; // int TSsize = 10; - int TSsize = 10; + int TSsize = 10; //HEHB for Run2 // if((*digiItr).size() != 10) std::cout << "TSsize HBHE != 10 and = " <<(*digiItr).size()<< std::endl; if ((*digiItr).size() != TSsize) errorBtype = 1.; @@ -8772,11 +8855,14 @@ void CMTRawAnalyzer::fillDigiAmplitude(HBHEDigiCollection::const_iterator& digiI } //flagcpuoptimization timew += (ii + 1) * abs(ampldefault); timeww += (ii + 1) * ampldefault; - } //for 1 - amplitudechannel0[sub - 1][mdepth - 1][ieta + 41][iphi] += 1.; // 0-neta ; 0-71 HBHE - amplitudechannel[sub - 1][mdepth - 1][ieta + 41][iphi] += amplitude; // 0-neta ; 0-71 HBHE - amplitudechannel2[sub - 1][mdepth - 1][ieta + 41][iphi] += pow(amplitude, 2); // 0-neta ; 0-71 HBHE - + } //for 1 + ///////////////////////////////////////////////////////////////////////////////////////////////////////// fillDigiAmplitude + // sub=1||2 HBHE + if (sub == 1 || sub == 2) { + amplitudechannel0[sub - 1][mdepth - 1][ieta + 41][iphi] += 1.; // 0-neta ; 0-71 HBHE + amplitudechannel[sub - 1][mdepth - 1][ieta + 41][iphi] += amplitude; // 0-neta ; 0-71 HBHE + amplitudechannel2[sub - 1][mdepth - 1][ieta + 41][iphi] += pow(amplitude, 2); // 0-neta ; 0-71 HBHE + } pedestalaver9 /= TSsize; pedestalaver4 /= c4; pedestalwaver9 = sqrt(pedestalwaver9 / TSsize); @@ -9626,7 +9712,7 @@ void CMTRawAnalyzer::fillDigiAmplitudeQIE11(QIE11DataFrame qie11df) { int c4 = 0; double errorBtype = 0.; - int TSsize = 10; // sub= 1 HB + int TSsize = 8; // sub= 1 HB if (sub == 2) TSsize = 8; // sub = 2 HE @@ -9635,6 +9721,7 @@ void CMTRawAnalyzer::fillDigiAmplitudeQIE11(QIE11DataFrame qie11df) { TSsize = nTS; //nTS = qie11df.samples(); /////// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! // double ADC_ped = 0.; + int flagTS2 = 0; for (int ii = 0; ii < TSsize; ii++) { double ampldefault = 0.; double tocdefault = 0.; @@ -9726,6 +9813,8 @@ void CMTRawAnalyzer::fillDigiAmplitudeQIE11(QIE11DataFrame qie11df) { timew += (ii + 1) * abs(ampldefault); timeww += (ii + 1) * ampldefault; + if (ii == 2 && ampldefault > 0.) + flagTS2 = 1; } //for 1 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// amplitude0 = amplitude; @@ -9805,10 +9894,13 @@ void CMTRawAnalyzer::fillDigiAmplitudeQIE11(QIE11DataFrame qie11df) { } } // sub == 2 HE charge correction end } //flagsipmcorrection_ - /////// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!! - amplitudechannel0[sub - 1][mdepth - 1][ieta + 41][iphi] += 1.; // 0-neta ; 0-71 HBHE - amplitudechannel[sub - 1][mdepth - 1][ieta + 41][iphi] += amplitude; // 0-neta ; 0-71 HBHE - amplitudechannel2[sub - 1][mdepth - 1][ieta + 41][iphi] += pow(amplitude, 2); + /////// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!! fillDigiAmplitudeQIE11 + // sub=1||2 HBHE + if (sub == 1 || sub == 2) { + amplitudechannel0[sub - 1][mdepth - 1][ieta + 41][iphi] += 1.; // 0-neta ; 0-71 HBHE + amplitudechannel[sub - 1][mdepth - 1][ieta + 41][iphi] += amplitude; // 0-neta ; 0-71 HBHE + amplitudechannel2[sub - 1][mdepth - 1][ieta + 41][iphi] += pow(amplitude, 2); // 0-neta ; 0-71 HBHE + } tocamplchannel[sub - 1][mdepth - 1][ieta + 41][iphi] += tocampl; // 0-neta ; 0-71 HBHE double ratio = 0.; @@ -10265,6 +10357,18 @@ void CMTRawAnalyzer::fillDigiAmplitudeQIE11(QIE11DataFrame qie11df) { h_mapDepth3_HB->Fill(double(ieta), double(iphi), 1.); if (mdepth == 4) h_mapDepth4_HB->Fill(double(ieta), double(iphi), 1.); + + if (flagTS2 == 1) { + if (mdepth == 1) + h_mapDepth1TS2_HB->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 2) + h_mapDepth2TS2_HB->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 3) + h_mapDepth3TS2_HB->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 4) + h_mapDepth4TS2_HB->Fill(double(ieta), double(iphi), 1.); + } // select entries only in TS=2 + } //if ( sub == 1 ) // HE QIE11 @@ -10686,6 +10790,24 @@ void CMTRawAnalyzer::fillDigiAmplitudeQIE11(QIE11DataFrame qie11df) { h_mapDepth6_HE->Fill(double(ieta), double(iphi), 1.); if (mdepth == 7) h_mapDepth7_HE->Fill(double(ieta), double(iphi), 1.); + + if (flagTS2 == 1) { + if (mdepth == 1) + h_mapDepth1TS2_HE->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 2) + h_mapDepth2TS2_HE->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 3) + h_mapDepth3TS2_HE->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 4) + h_mapDepth4TS2_HE->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 5) + h_mapDepth5TS2_HE->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 6) + h_mapDepth6TS2_HE->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 7) + h_mapDepth7TS2_HE->Fill(double(ieta), double(iphi), 1.); + } // select entries only in TS=2 + } //if ( sub == 2 ) // } @@ -10736,7 +10858,7 @@ void CMTRawAnalyzer::fillDigiAmplitudeHF(HFDigiCollection::const_iterator& digiI int c3 = 0; int c4 = 0; double errorBtype = 0.; - int TSsize = 4; + int TSsize = 4; // HF for Run2 if ((*digiItr).size() != TSsize) errorBtype = 1.; TSsize = digiItr->size(); @@ -10818,10 +10940,14 @@ void CMTRawAnalyzer::fillDigiAmplitudeHF(HFDigiCollection::const_iterator& digiI } // if(flagcpuoptimization_== 0 timew += (ii + 1) * abs(ampldefault); timeww += (ii + 1) * ampldefault; - } //for 1 - amplitudechannel0[sub - 1][mdepth - 1][ieta + 41][iphi] += 1.; // 0-neta ; 0-71 HF - amplitudechannel[sub - 1][mdepth - 1][ieta + 41][iphi] += amplitude; // 0-neta ; 0-71 HF - amplitudechannel2[sub - 1][mdepth - 1][ieta + 41][iphi] += pow(amplitude, 2); // 0-neta ; 0-71 HF + } //for 1 + /////////////////////////////////////////////////////////////////////////////////////////////////////fillDigiAmplitudeHF + // sub=4 HF + if (sub == 4) { + amplitudechannel0[sub - 1][mdepth - 1][ieta + 41][iphi] += 1.; // 0-neta ; 0-71 HF + amplitudechannel[sub - 1][mdepth - 1][ieta + 41][iphi] += amplitude; // 0-neta ; 0-71 HF + amplitudechannel2[sub - 1][mdepth - 1][ieta + 41][iphi] += pow(amplitude, 2); // 0-neta ; 0-71 HF + } pedestalaver9 /= TSsize; pedestalaver4 /= c4; @@ -11222,10 +11348,11 @@ void CMTRawAnalyzer::fillDigiAmplitudeHFQIE10(QIE10DataFrame qie10df) { int c4 = 0; double errorBtype = 0.; - int TSsize = 3; + int TSsize = 3; // HF for Run3 if (nTS != TSsize) errorBtype = 1.; TSsize = nTS; // ------------------------!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + int flagTS1 = 0; for (int ii = 0; ii < TSsize; ii++) { double ampldefault = 0.; double ampldefault0 = 0.; @@ -11300,8 +11427,16 @@ void CMTRawAnalyzer::fillDigiAmplitudeHFQIE10(QIE10DataFrame qie10df) { /////////////////////////////////// timew += (ii + 1) * abs(ampldefault); timeww += (ii + 1) * ampldefault; - } //for 1 - amplitudechannel[sub - 1][mdepth - 1][ieta + 41][iphi] += amplitude; // 0-neta ; 0-71 HF + if (ii == 1 && ampldefault > 0.) + flagTS1 = 1; + } //for 1 + /////////////////////////////////////////////////////////////////////////////////////////////////////fillDigiAmplitudeHFQIE10 + // sub=4 HF + if (sub == 4) { + amplitudechannel0[sub - 1][mdepth - 1][ieta + 41][iphi] += 1.; // 0-neta ; 0-71 HF + amplitudechannel[sub - 1][mdepth - 1][ieta + 41][iphi] += amplitude; // 0-neta ; 0-71 HF + amplitudechannel2[sub - 1][mdepth - 1][ieta + 41][iphi] += pow(amplitude, 2); // 0-neta ; 0-71 HF + } // just in case against any violations pedestalaver9 /= TSsize; pedestalaver4 /= c4; @@ -11676,6 +11811,17 @@ void CMTRawAnalyzer::fillDigiAmplitudeHFQIE10(QIE10DataFrame qie10df) { if (mdepth == 4) h_mapDepth4_HF->Fill(double(ieta), double(iphi), 1.); + if (flagTS1 == 1) { + if (mdepth == 1) + h_mapDepth1TS1_HF->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 2) + h_mapDepth2TS1_HF->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 3) + h_mapDepth3TS1_HF->Fill(double(ieta), double(iphi), 1.); + if (mdepth == 4) + h_mapDepth4TS1_HF->Fill(double(ieta), double(iphi), 1.); + } // for TS = 1 + } //if ( sub == 4 ) // @@ -11727,10 +11873,11 @@ void CMTRawAnalyzer::fillDigiAmplitudeHO(HODigiCollection::const_iterator& digiI int c3 = 0; int c4 = 0; double errorBtype = 0.; - int TSsize = 10; + int TSsize = 10; //HO if ((*digiItr).size() != TSsize) errorBtype = 1.; TSsize = digiItr->size(); + int flagTS012 = 0; for (int ii = 0; ii < TSsize; ii++) { double ampldefault = 0.; double ampldefault0 = 0.; @@ -11801,6 +11948,8 @@ void CMTRawAnalyzer::fillDigiAmplitudeHO(HODigiCollection::const_iterator& digiI } timew += (ii + 1) * abs(ampldefault); timeww += (ii + 1) * ampldefault; + if (ii < 3 && ampldefault > 0.) + flagTS012 = 1; } //for 1 amplitudechannel[sub - 1][mdepth - 1][ieta + 41][iphi] += amplitude; // 0-neta ; 0-71 HO @@ -12040,8 +12189,11 @@ void CMTRawAnalyzer::fillDigiAmplitudeHO(HODigiCollection::const_iterator& digiI if (mdepth == 4) h_mapDepth4AmplE34_HO->Fill(double(ieta), double(iphi), amplitude); } // if(studyDiffAmplHist_) - if (mdepth == 4) + if (mdepth == 4) { h_mapDepth4_HO->Fill(double(ieta), double(iphi), 1.); + if (flagTS012 == 1) + h_mapDepth4TS012_HO->Fill(double(ieta), double(iphi), 1.); + } } //if ( sub == 3 ) } int CMTRawAnalyzer::getRBX(int& kdet, int& keta, int& kphi) { diff --git a/DPGAnalysis/HcalTools/python/getInfo.py b/DPGAnalysis/HcalTools/python/getInfo.py new file mode 100755 index 0000000000000..3dbd8878fe08d --- /dev/null +++ b/DPGAnalysis/HcalTools/python/getInfo.py @@ -0,0 +1,254 @@ +#!/usr/bin/python3 +import cx_Oracle +import argparse +import pprint +import json +import os + +RUNMIN = os.getenv("HCALDQM_RUNMIN") +conn = os.getenv("HCALDQM_DBCONNECT") +level1= ['HCAL_LEVEL_1'] +names = ['HCAL_HBHE', 'HCAL_HF', 'HCAL_HO', 'HCAL_LEVEL_1', 'HCAL_HBHE904', 'HCAL_HF904'] + +ngrbxidmap="/nfshome0/akhukhun/hcaldqm/config/id2sn_rmcu.json" +ngccmidmap="/nfshome0/akhukhun/hcaldqm/config/id2sn_ngccm.json" +ngqieidmap="/nfshome0/akhukhun/hcaldqm/config/id2sn_qie.json" + +def listRuns(runmin, runmax): + n=5 + db = cx_Oracle.connect(conn) + cursor = db.cursor() + p=dict(); + sql="select runnumber, string_value, name from runsession_parameter where runnumber > {} and runnumber < {} and (".format(runmin, runmax) + sql = sql + " or ".join(["name=:key"+str(i) for i in range(n*len(level1))]) + sql = sql + ") order by runnumber" + for i in range(len(level1)): + p["key"+str(n*i)]='CMS.'+level1[i]+":HCAL_TIME_OF_FM_START" + p["key"+str(n*i+1)]='CMS.'+level1[i]+":FM_FULLPATH" + p["key"+str(n*i+2)]='CMS.'+level1[i]+":LOCAL_RUNKEY_SELECTED" + p["key"+str(n*i+3)]='CMS.'+level1[i]+":LOCAL_RUN_KEY" #for older runs + p["key"+str(n*i+4)]='CMS.'+level1[i]+":EVENTS_TAKEN" + cursor = cursor.execute(sql, p) + out={} + maxfm=0 + maxn=0 + for row in cursor: + k = row[2] + n = row[1] + r = row[0] + if r not in out: out[r] = dict(time="", nevents=-1, fm="", key="") + if(k.endswith("HCAL_TIME_OF_FM_START")): out[r]["time"]=n + elif(k.endswith("FM_FULLPATH")): + fm=n.split("/")[-1] + out[r]["fm"]=fm + if(len(fm)>maxfm): maxfm=len(fm) + elif(k.endswith("EVENTS_TAKEN")): + out[r]["nevents"] = int(n) + if(len(n)>maxn): maxn = len(n) + else: out[r]["key"]=n + form="%s | %-24s | %{}d | %-{}s | %s".format(maxn, maxfm) + for r,i in sorted(out.items()): print (form % (r, i["time"], i["nevents"], i["fm"], i["key"])) + cursor.close() + db.close() + +def dumpAvailableKeys(run): + db = cx_Oracle.connect(conn) + cursor = db.cursor() + sql="select name from runsession_parameter where runnumber=:run" + p=dict(run=run) + cursor = cursor.execute(sql, p) + res = set(); + for row in cursor: + res.add(row[0]); + cursor.close() + db.close() + for i in sorted(res): print(i) + +def read(run, key): + db = cx_Oracle.connect(conn) + cursor = db.cursor() + p=dict(run=run) + OR= " or ".join(["name=:key"+str(i) for i in range(len(names))]) + sql= "".join(["select value from runsession_string where runsession_parameter_id=any(select id from runsession_parameter where (runnumber=:run and (", OR, " )))"]) + for i in range(len(names)): p["key"+str(i)]='CMS.'+names[i]+":"+key + cursor = cursor.execute(sql, p) + result = (cursor.fetchone()[0]).read() + cursor.close(); + db.close() + return result + +def dumpDate(run): + date = read(run, "HCAL_TIME_OF_FM_START") + v = date.split()[0].split("-") + m = int(v[1]) + d = int(v[2]) + month = ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec") + print("%s%02d" % (month[m-1], d)) + +def dumpInfo(run): + db = cx_Oracle.connect(conn) + cursor = db.cursor() + p=dict(run=run) + OR= " or ".join(["name like :key"+str(i) for i in range(len(names))]) + sql= "".join(["select name, string_value from runsession_parameter where runnumber=:run and (", OR, " )"]) + for i in range(len(names)): p["key"+str(i)]='CMS.'+names[i]+":"+"ngRBXManager_Firmware_UniqueIDs_H%" + cursor = cursor.execute(sql, p) + + row = cursor.fetchone() + out = dict() + while row: + key="{0} ".format(str(row[0]).split("_")[-1]) + result = str(row[1]) + array = result.split(";") + out[key]=array + row = cursor.fetchone() + for key in sorted(out): + print ("-----------------------\n{0} ".format(key)) + for l in out[key]: print (l) + + cursor.close(); + db.close() + +def dumpIDs(run, isqie): + db = cx_Oracle.connect(conn) + cursor = db.cursor() + p=dict(run=run) + OR= " OR ".join(["name like :key"+str(i) for i in range(len(names))]) + sql= "".join(["select name, string_value from runsession_parameter where runnumber=:run and (", OR, " )"]) + for i in range(len(names)): p["key"+str(i)]='CMS.'+names[i]+":"+"ngRBXManager_Firmware_UniqueIDs_H%" + cursor = cursor.execute(sql, p) + + row = cursor.fetchone() + out = dict() + while row: + rbx = "{0} ".format(str(row[0]).split("_")[-1]) + n = 2 + if 'M' in rbx: n = 3; + if 'P' in rbx: n = 3; + key = "{:s}{:02d}".format(rbx[:n], int(rbx[n:])) + + result = str(row[1]) + array = result.split(";") + value=[] + for line in array: + rl={} + w = line.split() + n = len(w); + if isqie and w[0]=="QCard": + rl['id0'] = w[6] + rl['id'] = w[7][:-2] + rl['rm'] = int(w[3][-1]) + rl['qie'] = int(w[1]) + if isqie and w[0]=="CU": + rl['id0'] = w[3] + rl['id'] = w[4][:-2] + rl['rm'] = 5 + rl['qie'] = 1 + if not isqie and (w[0].startswith("ngCCMa") or w[0].startswith("ngCCMb")) and w[2]=="UID:": + rl['id0'] = (w[11][1:], "-1")["ERROR" in line] + rl['id'] = (w[12][:-1], "-1")["ERROR" in line] + rl['rm'] = 0 + rl['qie'] = 0 + if(rl): value.append(rl) + if key.startswith("HB") or key.startswith("HE"): + out[key] = {"value":value, "rbx":rbx} + row = cursor.fetchone() + + + #load id2sn + data={} + json_data=open(ngqieidmap).read() + data.update(json.loads(json_data)) + + for key in sorted(out): + for q in out[key]["value"]: + id0=q['id0'] + if out[key]["rbx"].startswith('HE'): + nid0=int(id0, 16); + id0='0x'+'%08x' % nid0 + + k='_'.join((id0, q['id'])) + v=-1 + if k in data: v=data[k] + print ("%-5s %d %d %-11s %-10s %6d" % (out[key]["rbx"], q['rm'], q['qie'], id0, q['id'], v)) + + cursor.close(); + db.close() + +def dumpSNs(run): + db = cx_Oracle.connect(conn) + cursor = db.cursor() + p=dict(run=run) + OR= " OR ".join(["name like :key"+str(i) for i in range(len(names))]) + sql= "".join(["select name, string_value from runsession_parameter where runnumber=:run and (", OR, " )"]) + for i in range(len(names)): p["key"+str(i)]='CMS.'+names[i]+":"+"ngRBXManager_Firmware_UniqueIDs_HB%" + cursor = cursor.execute(sql, p) + + row = cursor.fetchone() + out = dict() + hasRMinfo=False + hasCCMinfo=False + while row: + rbx = "{0} ".format(str(row[0]).split("_")[-1]) + n = 2; + if 'M' in rbx: n = 3; + if 'P' in rbx: n = 3; + key = "{:s}{:02d}".format(rbx[:n], int(rbx[n:])) + + result = str(row[1]) + array = result.split(";") + valueCCM="" + value="" + i=0 + for line in array: + w = line.split() + n = len(w); + if w[0]=="QCard": + value += "{0}{1}".format(w[7][:-2], ("", " ")[i==3]) + if(i==3): i=0 + else: i=i+1 + hasRMinfo=True + if w[0]=="CU": value += " {0}".format(w[4][:-2]) + if w[0].startswith("ngCCM") and w[2]=="UID:": + valueCCM += " {0}0{1} ".format(w[11][1:], w[12][2:-1]) + hasCCMinfo=True + out[key] = {"value":value+valueCCM, "rbx":rbx} + row = cursor.fetchone() + + data={} + for f in (ngrbxidmap, ngccmidmap): + json_data=open(f).read() + data.update(json.loads(json_data)) + if(hasRMinfo and hasCCMinfo): print ("RBX | RM1 RM2 RM3 RM4 CU CCMa CCMb\n------|-----------------------------------") + elif hasRMinfo: print ("RBX | RM1 RM2 RM3 RM4 CU\n------|-------------------------") + else: print("Cannot find published information on RM IDs."); return + for key in sorted(out): + res = "" + for k in out[key]["value"].split(): + if data.has_key(k): res = res + "{:4d} ".format(data[k]) + elif "NAC" in k: res = res + " 0 " + else: res = res + " -1 " + print ("%-5s | %s" % (out[key]["rbx"].strip(), res)) + + cursor.close(); + db.close() + + + +if __name__=="__main__": + parser = argparse.ArgumentParser(description="With no arguments, return list of runs with a small summary after runmin={}".format(RUNMIN)) + parser.add_argument("--run", help="run number", type=int); + parser.add_argument("--runmin", help="earliest run number", type=int, default=RUNMIN); + parser.add_argument("--runmax", help="earliest run number", type=int, default=99999999999999999); + parser.add_argument("--key", help="get value for a given key; special values are: sn, qie, ccm, date"); + a=parser.parse_args(); + if(a.run): + if(a.key=="qie"): dumpIDs(a.run, True) + elif(a.key=="ccm"): dumpIDs(a.run, False) + elif(a.key=="raw"): dumpInfo(a.run) + elif(a.key=="sn"): dumpSNs(a.run) + elif(a.key=="date"): dumpDate(a.run) + elif(a.key): print(read(a.run, a.key)) + else: dumpAvailableKeys(a.run) + else: + listRuns(a.runmin, a.runmax) diff --git a/DPGAnalysis/HcalTools/python/remoteMonitoring_LASER_era2018_cfg.py b/DPGAnalysis/HcalTools/python/remoteMonitoring_LASER_era2018_cfg.py new file mode 100644 index 0000000000000..d5afe28efa635 --- /dev/null +++ b/DPGAnalysis/HcalTools/python/remoteMonitoring_LASER_era2018_cfg.py @@ -0,0 +1,590 @@ +#eoscms ls -l /eos/cms/store/group/dpg_hcal/comm_hcal/USC/run327785/USC_327785.root +# choose run in /store/group/dpg_hcal/comm_hcal/USC/ +#how to run: cmsRun remoteMonitoring_LASER_era2018_cfg.py 324144 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/work/z/zhokin/hcal/voc2/CMSSW_11_1_0_pre3/src/DPGAnalysis/HcalTools/scripts/rmt + +import sys +import FWCore.ParameterSet.Config as cms +from Configuration.StandardSequences.Eras import eras +process = cms.Process("TEST", eras.Run2_2018) +#process = cms.Process("TEST", eras.Run3) +process.load("Configuration.StandardSequences.GeometryDB_cff") +process.load("CondCore.CondDB.CondDB_cfi") +process.load("EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi") +process.l1GtUnpack.DaqGtInputTag = 'source' +# from RelValAlCaPedestal_cfg_2018.py +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff') +process.load('Configuration.StandardSequences.Reconstruction_Data_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +#process.load('RecoLocalCalo.Configuration.hcalLocalReco_cff') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') + +##runnumber = sys.argv[2][4:-5] +runnumber = sys.argv[2] +rundir = sys.argv[3] +histodir = sys.argv[4] + +#print 'RUN = '+runnumber +#print 'Input file = '+rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +##print 'Input file = '+rundir+'/USC_'+runnumber+'.root' +#print 'Output file = '+histodir+'/LASER_'+runnumber+'.root' + +process.maxEvents = cms.untracked.PSet( +# input = cms.untracked.int32(100) + input = cms.untracked.int32(-1) + ) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string(histodir+'/LASER_'+runnumber+'.root') +# ,closeFileFast = cms.untracked.bool(True) + ) + +#process.source = cms.Source("PoolSource", +process.source = cms.Source("HcalTBSource", + skipBadFiles=cms.untracked.bool(True), + firstLuminosityBlockForEachRun = cms.untracked.VLuminosityBlockID([]), + firstRun = cms.untracked.uint32(316584), +# firstRun = cms.untracked.uint32(330153), +# firstRun = cms.untracked.uint32(329416), + fileNames = cms.untracked.vstring( +rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +#rundir+'/USC_'+runnumber+'.root' +# '/store/group/dpg_hcal/comm_hcal/USC/run331370/USC_331370.root' + +), + secondaryFileNames = cms.untracked.vstring() + ) + +process.Analyzer = cms.EDAnalyzer("CMTRawAnalyzer", + # + Verbosity = cms.untracked.int32(0), + #Verbosity = cms.untracked.int32(-9062), + #Verbosity = cms.untracked.int32(-9063), + #Verbosity = cms.untracked.int32(-9064), + #Verbosity = cms.untracked.int32(-9065), + #Verbosity = cms.untracked.int32(-84), + #Verbosity = cms.untracked.int32(-91), + #Verbosity = cms.untracked.int32(-92), + # + MapCreation = cms.untracked.int32(1), + # + recordNtuples = cms.untracked.bool(False), + #recordNtuples = cms.untracked.bool(True), + maxNeventsInNtuple = cms.int32(1), + # + #recordHistoes = cms.untracked.bool(False), + recordHistoes = cms.untracked.bool(True), + # + ##scripts: zRunRatio34.C, zRunNbadchan.C + studyRunDependenceHist = cms.untracked.bool(True), + #studyRunDependenceHist = cms.untracked.bool(False), + # + ##scripts: zerrors.C + studyCapIDErrorsHist = cms.untracked.bool(True), + #studyCapIDErrorsHist = cms.untracked.bool(False), + # + ##scripts: zrms.C + studyRMSshapeHist = cms.untracked.bool(True), + #studyRMSshapeHist = cms.untracked.bool(False), + # + ##scripts: zratio34.C + studyRatioShapeHist = cms.untracked.bool(True), + #studyRatioShapeHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyADCAmplHist = cms.untracked.bool(True), + #studyADCAmplHist = cms.untracked.bool(False), + # + ##scripts: ztsmean.C + studyTSmeanShapeHist = cms.untracked.bool(True), + #studyTSmeanShapeHist = cms.untracked.bool(False), + # + ##scripts: ztsmaxa.C + studyTSmaxShapeHist = cms.untracked.bool(True), + #studyTSmaxShapeHist = cms.untracked.bool(False), + # + ##scripts: zcalib....C + studyCalibCellsHist = cms.untracked.bool(True), + #studyCalibCellsHist = cms.untracked.bool(False), + # + ##scripts: zdifampl.C + studyDiffAmplHist = cms.untracked.bool(True), + #studyDiffAmplHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyPedestalsHist = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + ##scripts: zamplpedcorr.C + studyPedestalCorrelations = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + # + ##DigiCollectionLabel = cms.untracked.InputTag("hcalDigis"), + #Verbosity = cms.untracked.int32(-54), + #Verbosity = cms.untracked.int32(-22), + #Verbosity = cms.untracked.int32(-11), + #Verbosity = cms.untracked.int32(-12), + #Verbosity = cms.untracked.int32(-13), + #Verbosity = cms.untracked.int32(-51), + #Verbosity = cms.untracked.int32(-24), + #Verbosity = cms.untracked.int32(-244), + #Verbosity = cms.untracked.int32(-233), + # + # + # Normal channels: + # + # -53 for BAD HBHEHF channels from study on shape Ratio + #Verbosity = cms.untracked.int32(-53), + ratioHBMin = cms.double(0.50), + ratioHBMax = cms.double(1.00), + ratioHEMin = cms.double(0.55), + ratioHEMax = cms.double(1.00), + ratioHFMin = cms.double(0.60), + ratioHFMax = cms.double(1.02), + ratioHOMin = cms.double(0.55), + ratioHOMax = cms.double(1.04), + # -54 for BAD HBHEHF channels from study on RMS of shapes + #Verbosity = cms.untracked.int32(-54), + rmsHBMin = cms.double(0.3), + rmsHBMax = cms.double(2.5), + rmsHEMin = cms.double(0.9), + rmsHEMax = cms.double(3.6), + rmsHFMin = cms.double(0.2), + rmsHFMax = cms.double(2.1), + rmsHOMin = cms.double(0.2), + rmsHOMax = cms.double(2.6), + # -55 for BAD HBHEHF channels from study on TSmean of shapes + #Verbosity = cms.untracked.int32(-55), + TSmeanHBMin = cms.double(5.0), + TSmeanHBMax = cms.double(7.5), + TSmeanHEMin = cms.double(2.5), + TSmeanHEMax = cms.double(6.5), + TSmeanHFMin = cms.double(5.5), + TSmeanHFMax = cms.double(8.5), + TSmeanHOMin = cms.double(1.5), + TSmeanHOMax = cms.double(4.4), + # -55 for BAD HBHEHF channels from study on TSmax of shapes + #Verbosity = cms.untracked.int32(-55), + TSpeakHBMin = cms.double(1.8), + TSpeakHBMax = cms.double(8.5), + TSpeakHEMin = cms.double(1.5), + TSpeakHEMax = cms.double(8.5), + TSpeakHFMin = cms.double(1.5), + TSpeakHFMax = cms.double(8.5), + TSpeakHOMin = cms.double(0.5), + TSpeakHOMax = cms.double(6.5), + # -56 for BAD HBHEHOHF channels from study on ADC Amplitude + #Verbosity = cms.untracked.int32(-56), + ADCAmplHBMin = cms.double(10000.), + ADCAmplHBMax = cms.double(300000.), + ADCAmplHEMin = cms.double(20000.), + ADCAmplHEMax = cms.double(300000.), + ADCAmplHFMin = cms.double(50.), + ADCAmplHFMax = cms.double(9000.), + ADCAmplHOMin = cms.double(50.), + ADCAmplHOMax = cms.double(9000.), + # + # to see channels w/ PedestalSigma < cut + #Verbosity = cms.untracked.int32(-57), + pedestalwHBMax = cms.double(0.1), + pedestalwHEMax = cms.double(0.1), + pedestalwHFMax = cms.double(0.4), + pedestalwHOMax = cms.double(0.1), + # + # to see channels for pedestal < cut + pedestalHBMax = cms.double(0.1), + pedestalHEMax = cms.double(0.6), + pedestalHFMax = cms.double(0.8), + pedestalHOMax = cms.double(0.1), + # + # + # CALIBRATION channels: + # + # for BAD HBHEHOHF CALIBRATION channels from study on ADC amplitude + # cuts for Laser runs: + #calibrADCHBMin = cms.double(15.0), + #calibrADCHEMin = cms.double(15.0), + #calibrADCHOMin = cms.double(15.0), + #calibrADCHFMin = cms.double(15.0), + # cuts for LASER runs: + calibrADCHBMin = cms.double(1000.), + calibrADCHBMax = cms.double(100000000.), + calibrADCHEMin = cms.double(1000.), + calibrADCHEMax = cms.double(100000000.), + calibrADCHOMin = cms.double(1000.), + calibrADCHOMax = cms.double(100000000.), + calibrADCHFMin = cms.double(100.), + calibrADCHFMax = cms.double(100000000.), + + # for BAD HBHEHOHF CALIBRATION channels from study on shape Ratio + calibrRatioHBMin = cms.double(0.76), + calibrRatioHBMax = cms.double(0.94), + calibrRatioHEMin = cms.double(0.76), + calibrRatioHEMax = cms.double(0.94), + calibrRatioHOMin = cms.double(0.85), + calibrRatioHOMax = cms.double(0.99), + calibrRatioHFMin = cms.double(0.5), + calibrRatioHFMax = cms.double(0.8), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmax + calibrTSmaxHBMin = cms.double(1.50), + calibrTSmaxHBMax = cms.double(2.50), + calibrTSmaxHEMin = cms.double(1.50), + calibrTSmaxHEMax = cms.double(2.50), + calibrTSmaxHOMin = cms.double(1.50), + calibrTSmaxHOMax = cms.double(2.50), + calibrTSmaxHFMin = cms.double(3.50), + calibrTSmaxHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmean + calibrTSmeanHBMin = cms.double(2.40), + calibrTSmeanHBMax = cms.double(3.70), + calibrTSmeanHEMin = cms.double(2.40), + calibrTSmeanHEMax = cms.double(3.70), + calibrTSmeanHOMin = cms.double(1.50), + calibrTSmeanHOMax = cms.double(2.70), + calibrTSmeanHFMin = cms.double(3.50), + calibrTSmeanHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on Width + calibrWidthHBMin = cms.double(1.30), + calibrWidthHBMax = cms.double(1.90), + calibrWidthHEMin = cms.double(1.30), + calibrWidthHEMax = cms.double(1.90), + calibrWidthHOMin = cms.double(0.70), + calibrWidthHOMax = cms.double(1.65), + calibrWidthHFMin = cms.double(0.30), + calibrWidthHFMax = cms.double(1.50), + # + # Special task of run or LS quality: + # + # flag for ask runs of LSs for RMT & CMT accordingly: + #=0-runs, =1-LSs + # keep for LASER runs this flags =0 always + flagtoaskrunsorls = cms.int32(0), + # + # flag for choice of criterion of bad channels: + #=0-CapIdErr, =1-Ratio, =2-Width, =3-TSmax, =4-TSmean, =5-adcAmplitud + # keep for CMT (global runs) this flags =0 always + flagtodefinebadchannel = cms.int32(0), + #how many bins you want on the plots:better to choice (#LS+1) + howmanybinsonplots = cms.int32(25), + # + # ls - range for RBX study (and ??? perhaps for gain stability via abort gap): + lsmin = cms.int32(1), + #lsmax = cms.int32(620), + lsmax = cms.int32(2600), + # + flagabortgaprejected = cms.int32(1), + bcnrejectedlow = cms.int32(3446), + bcnrejectedhigh= cms.int32(3564), + # + # flag cpu time reducing + #=0-all plots, =1-optimized number of plots (for Global runs) + flagcpuoptimization = cms.int32(0), + # + # flag for ask type of Normalization for CMT estimators: + #=0-normalizationOn#evOfLS; =1-averageVariable-normalizationOn#entriesInLS; + flagestimatornormalization = cms.int32(1), + # + # + # cuts on Nbadchannels to see LS dependences: + # Verbosity = cms.untracked.int32(-77), + # to select abnormal events,for which Nbcs > this limits + lsdep_cut1_peak_HBdepth1 = cms.int32(20), + lsdep_cut1_peak_HBdepth2 = cms.int32(7), + lsdep_cut1_peak_HEdepth1 = cms.int32(16), + lsdep_cut1_peak_HEdepth2 = cms.int32(13), + lsdep_cut1_peak_HEdepth3 = cms.int32(4), + lsdep_cut1_peak_HFdepth1 = cms.int32(10), + lsdep_cut1_peak_HFdepth2 = cms.int32(5), + lsdep_cut1_peak_HOdepth4 = cms.int32(45), + # to select events with Nbcs > this limits + lsdep_cut3_max_HBdepth1 = cms.int32(19), + lsdep_cut3_max_HBdepth2 = cms.int32(6), + lsdep_cut3_max_HEdepth1 = cms.int32(15), + lsdep_cut3_max_HEdepth2 = cms.int32(12), + lsdep_cut3_max_HEdepth3 = cms.int32(3), + lsdep_cut3_max_HFdepth1 = cms.int32(9), + lsdep_cut3_max_HFdepth2 = cms.int32(4), + lsdep_cut3_max_HOdepth4 = cms.int32(40), + # + # + #old was for runs: + # nbadchannels1 = cms.int32(7), + # nbadchannels2 = cms.int32(12), + # nbadchannels3 = cms.int32(50), + # + #Verbosity = cms.untracked.int32(-79), + # cuts on Estimator1 to see LS dependences: + lsdep_estimator1_HBdepth1 = cms.double(2500.), + lsdep_estimator1_HBdepth2 = cms.double(2500.), + lsdep_estimator1_HBdepth3 = cms.double(2500.), + lsdep_estimator1_HBdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth1 = cms.double(2500.), + lsdep_estimator1_HEdepth2 = cms.double(2500.), + lsdep_estimator1_HEdepth3 = cms.double(2500.), + lsdep_estimator1_HEdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth5 = cms.double(2500.), + lsdep_estimator1_HEdepth6 = cms.double(2500.), + lsdep_estimator1_HEdepth7 = cms.double(2500.), + lsdep_estimator1_HFdepth1 = cms.double(2500.), + lsdep_estimator1_HFdepth2 = cms.double(2500.), + lsdep_estimator1_HFdepth3 = cms.double(2500.), + lsdep_estimator1_HFdepth4 = cms.double(2500.), + lsdep_estimator1_HOdepth4 = cms.double(2500.), + # cuts on Estimator2 to see LS dependences: + lsdep_estimator2_HBdepth1 = cms.double(7.), + lsdep_estimator2_HBdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth1 = cms.double(7.), + lsdep_estimator2_HEdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth3 = cms.double(7.), + lsdep_estimator2_HFdepth1 = cms.double(7.), + lsdep_estimator2_HFdepth2 = cms.double(7.), + lsdep_estimator2_HOdepth4 = cms.double(7.), + # cuts on Estimator3 to see LS dependences: + lsdep_estimator3_HBdepth1 = cms.double(7.), + lsdep_estimator3_HBdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth1 = cms.double(7.), + lsdep_estimator3_HEdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth3 = cms.double(7.), + lsdep_estimator3_HFdepth1 = cms.double(7.), + lsdep_estimator3_HFdepth2 = cms.double(7.), + lsdep_estimator3_HOdepth4 = cms.double(7.), + # cuts on Estimator4 to see LS dependences: + lsdep_estimator4_HBdepth1 = cms.double(5.), + lsdep_estimator4_HBdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth1 = cms.double(5.), + lsdep_estimator4_HEdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth3 = cms.double(5.), + lsdep_estimator4_HFdepth1 = cms.double(5.), + lsdep_estimator4_HFdepth2 = cms.double(5.), + lsdep_estimator4_HOdepth4 = cms.double(5.), + # cuts on Estimator5 to see LS dependences: + lsdep_estimator5_HBdepth1 = cms.double(1.8), + lsdep_estimator5_HBdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth1 = cms.double(1.8), + lsdep_estimator5_HEdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth3 = cms.double(1.8), + lsdep_estimator5_HFdepth1 = cms.double(1.8), + lsdep_estimator5_HFdepth2 = cms.double(1.8), + lsdep_estimator5_HOdepth4 = cms.double(1.8), + # + # + #Verbosity = cms.untracked.int32(-81), + #Verbosity = cms.untracked.int32(-82), + #Verbosity = cms.untracked.int32(-83), + # + # use ADC amplitude: + useADCmassive = cms.untracked.bool(True), + useADCfC = cms.untracked.bool(False), + useADCcounts = cms.untracked.bool(False), + # + # Pedestals in fC + #usePedestalSubtraction = cms.untracked.bool(True), + usePedestalSubtraction = cms.untracked.bool(False), + # + # for possible ignoring of channels w/o signal, apply same cut for + # HBHEHFHO on Amplitude, usable for all Estimators 1,2,3,4,5: + # forallestimators_amplitude_bigger = cms.double(10.), + forallestimators_amplitude_bigger = cms.double(-100.), + # + # + # + #usecontinuousnumbering = cms.untracked.bool(False), + usecontinuousnumbering = cms.untracked.bool(True), + # + # + # + hcalCalibDigiCollectionTag = cms.InputTag('hcalDigis'), + hbheDigiCollectionTag = cms.InputTag('hcalDigis'), + hoDigiCollectionTag = cms.InputTag('hcalDigis'), + hfDigiCollectionTag = cms.InputTag('hcalDigis'), + # + # + # + # + #for upgrade: --------------------------------------------------------- + hbheQIE11DigiCollectionTag = cms.InputTag('hcalDigis'), + hbheQIE10DigiCollectionTag = cms.InputTag('hcalDigis'), + # flag to use either only old QIE8 digiCollections or only new QIE10,11 digiCollections + #=0-all digiCollections(default for normal running), =1-only old QIE8 digiCollections, + #=2-only new QIE1011 digiCollections, =3-only new QIE1011 digiCollections w/o new high depthes + #=4-2016fall, =5-2016fall w/o new high depthes, =6-2017bebin, =7-2017bebin w/o new high depthes in HEonly + #=8--2017bebin w/o new high depthes, =9-all digiCollections w/o new high depthes + # flag HBHE8 HBHE11 HF8 HF10 comments: + # 0 + + + + all + # 1 + - + - old + # 2 - + - + new + # 3 - + - + new w/o high depthes + # 4 + - + + 2016fall + # 5 + - + + 2016fall w/o high depthes + # 6 + + - + 2017 && 2018 && 2021 + # 7 + + - + 2017begin w/o high depthes in HEonly + # 8 + + - + 2017begin w/o high depthes + # 9 + + + + all w/o high depthes + # 10 + - - + 2017 w/o HEP17 + # + flagupgradeqie1011 = cms.int32(6), + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + # flaguseshunt = 1 or 6 (6 is default for global runs) + flaguseshunt = cms.int32(6), + # flagsipmcorrection: != 0 yes,apply; = 0 do not use; + flagsipmcorrection = cms.int32(1), + #end upgrade: --------------------------------------------------------- end upgrade + # + # + # for local LASER runs ONLY!!! to be > 0 (,else = 0) + flagLaserRaddam = cms.int32(1), + # for gaussian fit for local shunt1 (Gsel0) led low-intensity or ped ONLY!!! to be > 0 (,else = 0) + flagfitshunt1pedorledlowintensity = cms.int32(0), + # + splashesUpperLimit = cms.int32(10000), + # + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupDigi = cms.int32(1), + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupReco = cms.int32(1), + # + hbheInputSignalTag = cms.InputTag('hbherecoMBNZS'), + hbheInputNoiseTag = cms.InputTag('hbherecoNoise'), + hfInputSignalTag = cms.InputTag('hfrecoMBNZS'), + hfInputNoiseTag = cms.InputTag('hfrecoNoise'), + # + # + # + # + # + # + #HistOutFile = cms.untracked.string('LASER_331370.root'), + #HistOutFile = cms.untracked.string(histodir+'/LASER_'+runnumber+'.root'), + #MAPOutFile = cms.untracked.string('LogEleMapdb.h') + # + ##OutputFilePath = cms.string('/tmp/zhokin/'), + ##OutputFileExt = cms.string(''), + # + ) + +process.hcal_db_producer = cms.ESProducer("HcalDbProducer", + dump = cms.untracked.vstring(''), + file = cms.untracked.string('') +) +process.es_hardcode = cms.ESSource("HcalHardcodeCalibrations", + toGet = cms.untracked.vstring('QIEShape', + 'QIEData', + 'ChannelQuality', + 'HcalQIEData', + 'Pedestals', + 'PedestalWidths', + 'Gains', + 'GainWidths', + 'ZSThresholds', + 'RespCorrs') +) + +## Jula's recipe for too many files +#process.options = cms.untracked.PSet( +# wantSummary = cms.untracked.bool(False), +# Rethrow = cms.untracked.vstring("ProductNotFound"), # make this exception fatal +# fileMode = cms.untracked.string('NOMERGE') # no ordering needed, but calls endRun/beginRun etc. at file boundaries +#) + +######################################################################################## Global Tags for 2018 data taking : +# use twiki site to specify HLT reconstruction Global tags: +# https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions +# +# 100X_dataRun2_HLT_v2 for CMSSW_10_0_3 onwards CRUZET 2018 update of 0T templates for SiPixels +# 100X_dataRun2_HLT_v1 for CMSSW_10_0_0 onwards MWGRs 2018 first HLT GT for 2018 +# +# +############################################################################ GlobalTag :1+ good as 5 +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '100X_dataRun2_HLT_v2', '') + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data_FULL', '') + + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '101X_dataRun2_HLT_v7', '') + +# 2019 Ultra Legacy 2017 +#process.GlobalTag.globaltag = '106X_dataRun2_trackerAlignment2017_v1' +# 2019 Ultra Legacy 2018 test TkAl +#process.GlobalTag.globaltag = '106X_dataRun2_v17' +# 2019 Ultra Legacy 2018 +#process.GlobalTag.globaltag = '106X_dataRun2_newTkAl_v18' +# 2019 Ultra Legacy 2016 +#process.GlobalTag.globaltag = '106X_dataRun2_UL2016TkAl_v24' +#process.GlobalTag.globaltag = '105X_dataRun2_v8' + +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +from Configuration.AlCa.autoCond import autoCond +process.GlobalTag.globaltag = '104X_dataRun2_v1' +#process.GlobalTag.globaltag = '105X_postLS2_design_v4' +#process.GlobalTag.globaltag = '106X_dataRun3_HLT_v3' + + +############################################################################ +# V.EPSHTEIN: +#process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +#process.GlobalTag.globaltag = '100X_dataRun2_Prompt_Candidate_2018_01_31_16_01_36' +### +#process.hcal_db_producer = cms.ESProducer("HcalDbProducer", +# dump = cms.untracked.vstring(''), +# file = cms.untracked.string('') +#) +# +#process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), +# HcalFirstFED = cms.untracked.int32(700), +# InputLabel = cms.InputTag("source"), +# UnpackCalib = cms.untracked.bool(True), +# FEDs = cms.untracked.vint32(1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117), +#) +### +############################################################################ +process.load('Configuration.StandardSequences.RawToDigi_Data_cff') +process.hcalDigis.FilterDataQuality = cms.bool(False) +process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), + FilterDataQuality = cms.bool(False), + HcalFirstFED = cms.untracked.int32(700), + InputLabel = cms.InputTag("source"), + #InputLabel = cms.InputTag("rawDataCollector"), +) +#process.hcalDigis.FilterDataQuality = cms.bool(False) +#process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestal_cff") +process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestalLocal_cff") +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalMinBias_cff") +#process.load("ALCARECOHcalCalPedestalLocal_cff") +############################################################################ +#process.p = cms.Path(process.hcalDigis*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.minbiasana) + +process.p = cms.Path(process.hcalDigis*process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) + +# see /afs/cern.ch/work/z/zhokin/public/CMSSW_10_4_0_patch1/src/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalMinBias_cff.py +############################################################################ +process.MessageLogger = cms.Service("MessageLogger", + categories = cms.untracked.vstring(''), + destinations = cms.untracked.vstring('cout'), + debugModules = cms.untracked.vstring('*'), + cout = cms.untracked.PSet( + threshold = cms.untracked.string('WARNING'), + WARNING = cms.untracked.PSet(limit = cms.untracked.int32(0)) + ) + ) +############################################################################ + + + diff --git a/DPGAnalysis/HcalTools/python/remoteMonitoring_LASER_era2019_cfg.py b/DPGAnalysis/HcalTools/python/remoteMonitoring_LASER_era2019_cfg.py new file mode 100644 index 0000000000000..941a6f524ebf1 --- /dev/null +++ b/DPGAnalysis/HcalTools/python/remoteMonitoring_LASER_era2019_cfg.py @@ -0,0 +1,591 @@ +#eoscms ls -l /eos/cms/store/group/dpg_hcal/comm_hcal/USC/run327785/USC_327785.root +# choose run in /store/group/dpg_hcal/comm_hcal/USC/ +#how to run: cmsRun remoteMonitoring_LASER_era2019_cfg.py 331311 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/work/z/zhokin/hcal/voc2/CMSSW_11_1_0_pre3/src/DPGAnalysis/HcalTools/scripts/rmt + +import sys +import FWCore.ParameterSet.Config as cms +from Configuration.StandardSequences.Eras import eras +#process = cms.Process("TEST", eras.Run2_2018) +process = cms.Process("TEST", eras.Run3) +process.load("Configuration.StandardSequences.GeometryDB_cff") +process.load("CondCore.CondDB.CondDB_cfi") +process.load("EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi") +process.l1GtUnpack.DaqGtInputTag = 'source' +# from RelValAlCaPedestal_cfg_2018.py +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff') +process.load('Configuration.StandardSequences.Reconstruction_Data_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +#process.load('RecoLocalCalo.Configuration.hcalLocalReco_cff') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') + +##runnumber = sys.argv[2][4:-5] +runnumber = sys.argv[2] +rundir = sys.argv[3] +histodir = sys.argv[4] + +#print 'RUN = '+runnumber +#print 'Input file = '+rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +##print 'Input file = '+rundir+'/USC_'+runnumber+'.root' +#print 'Output file = '+histodir+'/LASER_'+runnumber+'.root' + +process.maxEvents = cms.untracked.PSet( +# input = cms.untracked.int32(100) + input = cms.untracked.int32(-1) + ) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string(histodir+'/LASER_'+runnumber+'.root') +# ,closeFileFast = cms.untracked.bool(True) + ) + + +#process.source = cms.Source("PoolSource", +process.source = cms.Source("HcalTBSource", + skipBadFiles=cms.untracked.bool(True), + firstLuminosityBlockForEachRun = cms.untracked.VLuminosityBlockID([]), + firstRun = cms.untracked.uint32(331370), +# firstRun = cms.untracked.uint32(330153), +# firstRun = cms.untracked.uint32(329416), + fileNames = cms.untracked.vstring( +rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +#rundir+'/USC_'+runnumber+'.root' +# '/store/group/dpg_hcal/comm_hcal/USC/run331370/USC_331370.root' + +), + secondaryFileNames = cms.untracked.vstring() + ) + +process.Analyzer = cms.EDAnalyzer("CMTRawAnalyzer", + # + Verbosity = cms.untracked.int32(0), + #Verbosity = cms.untracked.int32(-9062), + #Verbosity = cms.untracked.int32(-9063), + #Verbosity = cms.untracked.int32(-9064), + #Verbosity = cms.untracked.int32(-9065), + #Verbosity = cms.untracked.int32(-84), + #Verbosity = cms.untracked.int32(-91), + #Verbosity = cms.untracked.int32(-92), + # + MapCreation = cms.untracked.int32(1), + # + recordNtuples = cms.untracked.bool(False), + #recordNtuples = cms.untracked.bool(True), + maxNeventsInNtuple = cms.int32(1), + # + #recordHistoes = cms.untracked.bool(False), + recordHistoes = cms.untracked.bool(True), + # + ##scripts: zRunRatio34.C, zRunNbadchan.C + studyRunDependenceHist = cms.untracked.bool(True), + #studyRunDependenceHist = cms.untracked.bool(False), + # + ##scripts: zerrors.C + studyCapIDErrorsHist = cms.untracked.bool(True), + #studyCapIDErrorsHist = cms.untracked.bool(False), + # + ##scripts: zrms.C + studyRMSshapeHist = cms.untracked.bool(True), + #studyRMSshapeHist = cms.untracked.bool(False), + # + ##scripts: zratio34.C + studyRatioShapeHist = cms.untracked.bool(True), + #studyRatioShapeHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyADCAmplHist = cms.untracked.bool(True), + #studyADCAmplHist = cms.untracked.bool(False), + # + ##scripts: ztsmean.C + studyTSmeanShapeHist = cms.untracked.bool(True), + #studyTSmeanShapeHist = cms.untracked.bool(False), + # + ##scripts: ztsmaxa.C + studyTSmaxShapeHist = cms.untracked.bool(True), + #studyTSmaxShapeHist = cms.untracked.bool(False), + # + ##scripts: zcalib....C + studyCalibCellsHist = cms.untracked.bool(True), + #studyCalibCellsHist = cms.untracked.bool(False), + # + ##scripts: zdifampl.C + studyDiffAmplHist = cms.untracked.bool(True), + #studyDiffAmplHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyPedestalsHist = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + ##scripts: zamplpedcorr.C + studyPedestalCorrelations = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + # + ##DigiCollectionLabel = cms.untracked.InputTag("hcalDigis"), + #Verbosity = cms.untracked.int32(-54), + #Verbosity = cms.untracked.int32(-22), + #Verbosity = cms.untracked.int32(-11), + #Verbosity = cms.untracked.int32(-12), + #Verbosity = cms.untracked.int32(-13), + #Verbosity = cms.untracked.int32(-51), + #Verbosity = cms.untracked.int32(-24), + #Verbosity = cms.untracked.int32(-244), + #Verbosity = cms.untracked.int32(-233), + # + # + # Normal channels: + # + # -53 for BAD HBHEHF channels from study on shape Ratio + #Verbosity = cms.untracked.int32(-53), + ratioHBMin = cms.double(0.50), + ratioHBMax = cms.double(1.00), + ratioHEMin = cms.double(0.55), + ratioHEMax = cms.double(1.00), + ratioHFMin = cms.double(0.60), + ratioHFMax = cms.double(1.02), + ratioHOMin = cms.double(0.55), + ratioHOMax = cms.double(1.04), + # -54 for BAD HBHEHF channels from study on RMS of shapes + #Verbosity = cms.untracked.int32(-54), + rmsHBMin = cms.double(0.3), + rmsHBMax = cms.double(2.5), + rmsHEMin = cms.double(0.9), + rmsHEMax = cms.double(3.6), + rmsHFMin = cms.double(0.2), + rmsHFMax = cms.double(2.1), + rmsHOMin = cms.double(0.2), + rmsHOMax = cms.double(2.6), + # -55 for BAD HBHEHF channels from study on TSmean of shapes + #Verbosity = cms.untracked.int32(-55), + TSmeanHBMin = cms.double(5.0), + TSmeanHBMax = cms.double(7.5), + TSmeanHEMin = cms.double(2.5), + TSmeanHEMax = cms.double(6.5), + TSmeanHFMin = cms.double(5.5), + TSmeanHFMax = cms.double(8.5), + TSmeanHOMin = cms.double(1.5), + TSmeanHOMax = cms.double(4.4), + # -55 for BAD HBHEHF channels from study on TSmax of shapes + #Verbosity = cms.untracked.int32(-55), + TSpeakHBMin = cms.double(1.8), + TSpeakHBMax = cms.double(8.5), + TSpeakHEMin = cms.double(1.5), + TSpeakHEMax = cms.double(8.5), + TSpeakHFMin = cms.double(1.5), + TSpeakHFMax = cms.double(8.5), + TSpeakHOMin = cms.double(0.5), + TSpeakHOMax = cms.double(6.5), + # -56 for BAD HBHEHOHF channels from study on ADC Amplitude + #Verbosity = cms.untracked.int32(-56), + ADCAmplHBMin = cms.double(10000.), + ADCAmplHBMax = cms.double(300000.), + ADCAmplHEMin = cms.double(20000.), + ADCAmplHEMax = cms.double(300000.), + ADCAmplHFMin = cms.double(50.), + ADCAmplHFMax = cms.double(9000.), + ADCAmplHOMin = cms.double(50.), + ADCAmplHOMax = cms.double(9000.), + # + # to see channels w/ PedestalSigma < cut + #Verbosity = cms.untracked.int32(-57), + pedestalwHBMax = cms.double(0.1), + pedestalwHEMax = cms.double(0.1), + pedestalwHFMax = cms.double(0.4), + pedestalwHOMax = cms.double(0.1), + # + # to see channels for pedestal < cut + pedestalHBMax = cms.double(0.1), + pedestalHEMax = cms.double(0.6), + pedestalHFMax = cms.double(0.8), + pedestalHOMax = cms.double(0.1), + # + # + # CALIBRATION channels: + # + # for BAD HBHEHOHF CALIBRATION channels from study on ADC amplitude + # cuts for Laser runs: + #calibrADCHBMin = cms.double(15.0), + #calibrADCHEMin = cms.double(15.0), + #calibrADCHOMin = cms.double(15.0), + #calibrADCHFMin = cms.double(15.0), + # cuts for LASER runs: + calibrADCHBMin = cms.double(1000.), + calibrADCHBMax = cms.double(100000000.), + calibrADCHEMin = cms.double(1000.), + calibrADCHEMax = cms.double(100000000.), + calibrADCHOMin = cms.double(1000.), + calibrADCHOMax = cms.double(100000000.), + calibrADCHFMin = cms.double(100.), + calibrADCHFMax = cms.double(100000000.), + + # for BAD HBHEHOHF CALIBRATION channels from study on shape Ratio + calibrRatioHBMin = cms.double(0.76), + calibrRatioHBMax = cms.double(0.94), + calibrRatioHEMin = cms.double(0.76), + calibrRatioHEMax = cms.double(0.94), + calibrRatioHOMin = cms.double(0.85), + calibrRatioHOMax = cms.double(0.99), + calibrRatioHFMin = cms.double(0.5), + calibrRatioHFMax = cms.double(0.8), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmax + calibrTSmaxHBMin = cms.double(1.50), + calibrTSmaxHBMax = cms.double(2.50), + calibrTSmaxHEMin = cms.double(1.50), + calibrTSmaxHEMax = cms.double(2.50), + calibrTSmaxHOMin = cms.double(1.50), + calibrTSmaxHOMax = cms.double(2.50), + calibrTSmaxHFMin = cms.double(3.50), + calibrTSmaxHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmean + calibrTSmeanHBMin = cms.double(2.40), + calibrTSmeanHBMax = cms.double(3.70), + calibrTSmeanHEMin = cms.double(2.40), + calibrTSmeanHEMax = cms.double(3.70), + calibrTSmeanHOMin = cms.double(1.50), + calibrTSmeanHOMax = cms.double(2.70), + calibrTSmeanHFMin = cms.double(3.50), + calibrTSmeanHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on Width + calibrWidthHBMin = cms.double(1.30), + calibrWidthHBMax = cms.double(1.90), + calibrWidthHEMin = cms.double(1.30), + calibrWidthHEMax = cms.double(1.90), + calibrWidthHOMin = cms.double(0.70), + calibrWidthHOMax = cms.double(1.65), + calibrWidthHFMin = cms.double(0.30), + calibrWidthHFMax = cms.double(1.50), + # + # Special task of run or LS quality: + # + # flag for ask runs of LSs for RMT & CMT accordingly: + #=0-runs, =1-LSs + # keep for LASER runs this flags =0 always + flagtoaskrunsorls = cms.int32(0), + # + # flag for choice of criterion of bad channels: + #=0-CapIdErr, =1-Ratio, =2-Width, =3-TSmax, =4-TSmean, =5-adcAmplitud + # keep for CMT (global runs) this flags =0 always + flagtodefinebadchannel = cms.int32(0), + #how many bins you want on the plots:better to choice (#LS+1) + howmanybinsonplots = cms.int32(25), + # + # ls - range for RBX study (and ??? perhaps for gain stability via abort gap): + lsmin = cms.int32(1), + #lsmax = cms.int32(620), + lsmax = cms.int32(2600), + # + flagabortgaprejected = cms.int32(1), + bcnrejectedlow = cms.int32(3446), + bcnrejectedhigh= cms.int32(3564), + # + # flag cpu time reducing + #=0-all plots, =1-optimized number of plots (for Global runs) + flagcpuoptimization = cms.int32(0), + # + # flag for ask type of Normalization for CMT estimators: + #=0-normalizationOn#evOfLS; =1-averageVariable-normalizationOn#entriesInLS; + flagestimatornormalization = cms.int32(1), + # + # + # cuts on Nbadchannels to see LS dependences: + # Verbosity = cms.untracked.int32(-77), + # to select abnormal events,for which Nbcs > this limits + lsdep_cut1_peak_HBdepth1 = cms.int32(20), + lsdep_cut1_peak_HBdepth2 = cms.int32(7), + lsdep_cut1_peak_HEdepth1 = cms.int32(16), + lsdep_cut1_peak_HEdepth2 = cms.int32(13), + lsdep_cut1_peak_HEdepth3 = cms.int32(4), + lsdep_cut1_peak_HFdepth1 = cms.int32(10), + lsdep_cut1_peak_HFdepth2 = cms.int32(5), + lsdep_cut1_peak_HOdepth4 = cms.int32(45), + # to select events with Nbcs > this limits + lsdep_cut3_max_HBdepth1 = cms.int32(19), + lsdep_cut3_max_HBdepth2 = cms.int32(6), + lsdep_cut3_max_HEdepth1 = cms.int32(15), + lsdep_cut3_max_HEdepth2 = cms.int32(12), + lsdep_cut3_max_HEdepth3 = cms.int32(3), + lsdep_cut3_max_HFdepth1 = cms.int32(9), + lsdep_cut3_max_HFdepth2 = cms.int32(4), + lsdep_cut3_max_HOdepth4 = cms.int32(40), + # + # + #old was for runs: + # nbadchannels1 = cms.int32(7), + # nbadchannels2 = cms.int32(12), + # nbadchannels3 = cms.int32(50), + # + #Verbosity = cms.untracked.int32(-79), + # cuts on Estimator1 to see LS dependences: + lsdep_estimator1_HBdepth1 = cms.double(2500.), + lsdep_estimator1_HBdepth2 = cms.double(2500.), + lsdep_estimator1_HBdepth3 = cms.double(2500.), + lsdep_estimator1_HBdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth1 = cms.double(2500.), + lsdep_estimator1_HEdepth2 = cms.double(2500.), + lsdep_estimator1_HEdepth3 = cms.double(2500.), + lsdep_estimator1_HEdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth5 = cms.double(2500.), + lsdep_estimator1_HEdepth6 = cms.double(2500.), + lsdep_estimator1_HEdepth7 = cms.double(2500.), + lsdep_estimator1_HFdepth1 = cms.double(2500.), + lsdep_estimator1_HFdepth2 = cms.double(2500.), + lsdep_estimator1_HFdepth3 = cms.double(2500.), + lsdep_estimator1_HFdepth4 = cms.double(2500.), + lsdep_estimator1_HOdepth4 = cms.double(2500.), + # cuts on Estimator2 to see LS dependences: + lsdep_estimator2_HBdepth1 = cms.double(7.), + lsdep_estimator2_HBdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth1 = cms.double(7.), + lsdep_estimator2_HEdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth3 = cms.double(7.), + lsdep_estimator2_HFdepth1 = cms.double(7.), + lsdep_estimator2_HFdepth2 = cms.double(7.), + lsdep_estimator2_HOdepth4 = cms.double(7.), + # cuts on Estimator3 to see LS dependences: + lsdep_estimator3_HBdepth1 = cms.double(7.), + lsdep_estimator3_HBdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth1 = cms.double(7.), + lsdep_estimator3_HEdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth3 = cms.double(7.), + lsdep_estimator3_HFdepth1 = cms.double(7.), + lsdep_estimator3_HFdepth2 = cms.double(7.), + lsdep_estimator3_HOdepth4 = cms.double(7.), + # cuts on Estimator4 to see LS dependences: + lsdep_estimator4_HBdepth1 = cms.double(5.), + lsdep_estimator4_HBdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth1 = cms.double(5.), + lsdep_estimator4_HEdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth3 = cms.double(5.), + lsdep_estimator4_HFdepth1 = cms.double(5.), + lsdep_estimator4_HFdepth2 = cms.double(5.), + lsdep_estimator4_HOdepth4 = cms.double(5.), + # cuts on Estimator5 to see LS dependences: + lsdep_estimator5_HBdepth1 = cms.double(1.8), + lsdep_estimator5_HBdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth1 = cms.double(1.8), + lsdep_estimator5_HEdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth3 = cms.double(1.8), + lsdep_estimator5_HFdepth1 = cms.double(1.8), + lsdep_estimator5_HFdepth2 = cms.double(1.8), + lsdep_estimator5_HOdepth4 = cms.double(1.8), + # + # + #Verbosity = cms.untracked.int32(-81), + #Verbosity = cms.untracked.int32(-82), + #Verbosity = cms.untracked.int32(-83), + # + # use ADC amplitude: + useADCmassive = cms.untracked.bool(True), + useADCfC = cms.untracked.bool(False), + useADCcounts = cms.untracked.bool(False), + # + # Pedestals in fC + #usePedestalSubtraction = cms.untracked.bool(True), + usePedestalSubtraction = cms.untracked.bool(False), + # + # for possible ignoring of channels w/o signal, apply same cut for + # HBHEHFHO on Amplitude, usable for all Estimators 1,2,3,4,5: + # forallestimators_amplitude_bigger = cms.double(10.), + forallestimators_amplitude_bigger = cms.double(-100.), + # + # + # + #usecontinuousnumbering = cms.untracked.bool(False), + usecontinuousnumbering = cms.untracked.bool(True), + # + # + # + hcalCalibDigiCollectionTag = cms.InputTag('hcalDigis'), + hbheDigiCollectionTag = cms.InputTag('hcalDigis'), + hoDigiCollectionTag = cms.InputTag('hcalDigis'), + hfDigiCollectionTag = cms.InputTag('hcalDigis'), + # + # + # + # + #for upgrade: --------------------------------------------------------- + hbheQIE11DigiCollectionTag = cms.InputTag('hcalDigis'), + hbheQIE10DigiCollectionTag = cms.InputTag('hcalDigis'), + # flag to use either only old QIE8 digiCollections or only new QIE10,11 digiCollections + #=0-all digiCollections(default for normal running), =1-only old QIE8 digiCollections, + #=2-only new QIE1011 digiCollections, =3-only new QIE1011 digiCollections w/o new high depthes + #=4-2016fall, =5-2016fall w/o new high depthes, =6-2017bebin, =7-2017bebin w/o new high depthes in HEonly + #=8--2017bebin w/o new high depthes, =9-all digiCollections w/o new high depthes + # flag HBHE8 HBHE11 HF8 HF10 comments: + # 0 + + + + all + # 1 + - + - old + # 2 - + - + new + # 3 - + - + new w/o high depthes + # 4 + - + + 2016fall + # 5 + - + + 2016fall w/o high depthes + # 6 + + - + 2017 && 2018 && 2021 + # 7 + + - + 2017begin w/o high depthes in HEonly + # 8 + + - + 2017begin w/o high depthes + # 9 + + + + all w/o high depthes + # 10 + - - + 2017 w/o HEP17 + # + flagupgradeqie1011 = cms.int32(6), + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + # flaguseshunt = 1 or 6 (6 is default for global runs) + flaguseshunt = cms.int32(6), + # flagsipmcorrection: != 0 yes,apply; = 0 do not use; + flagsipmcorrection = cms.int32(1), + #end upgrade: --------------------------------------------------------- end upgrade + # + # + # for local LASER runs ONLY!!! to be > 0 (,else = 0) + flagLaserRaddam = cms.int32(1), + # for gaussian fit for local shunt1 (Gsel0) led low-intensity or ped ONLY!!! to be > 0 (,else = 0) + flagfitshunt1pedorledlowintensity = cms.int32(0), + # + splashesUpperLimit = cms.int32(10000), + # + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupDigi = cms.int32(1), + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupReco = cms.int32(1), + # + hbheInputSignalTag = cms.InputTag('hbherecoMBNZS'), + hbheInputNoiseTag = cms.InputTag('hbherecoNoise'), + hfInputSignalTag = cms.InputTag('hfrecoMBNZS'), + hfInputNoiseTag = cms.InputTag('hfrecoNoise'), + # + # + # + # + # + # + #HistOutFile = cms.untracked.string('LASER_331370.root'), + #HistOutFile = cms.untracked.string(histodir+'/LASER_'+runnumber+'.root'), + #MAPOutFile = cms.untracked.string('LogEleMapdb.h') + # + ##OutputFilePath = cms.string('/tmp/zhokin/'), + ##OutputFileExt = cms.string(''), + # + ) + +process.hcal_db_producer = cms.ESProducer("HcalDbProducer", + dump = cms.untracked.vstring(''), + file = cms.untracked.string('') +) +process.es_hardcode = cms.ESSource("HcalHardcodeCalibrations", + toGet = cms.untracked.vstring('QIEShape', + 'QIEData', + 'ChannelQuality', + 'HcalQIEData', + 'Pedestals', + 'PedestalWidths', + 'Gains', + 'GainWidths', + 'ZSThresholds', + 'RespCorrs') +) + +## Jula's recipe for too many files +#process.options = cms.untracked.PSet( +# wantSummary = cms.untracked.bool(False), +# Rethrow = cms.untracked.vstring("ProductNotFound"), # make this exception fatal +# fileMode = cms.untracked.string('NOMERGE') # no ordering needed, but calls endRun/beginRun etc. at file boundaries +#) + +######################################################################################## Global Tags for 2018 data taking : +# use twiki site to specify HLT reconstruction Global tags: +# https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions +# +# 100X_dataRun2_HLT_v2 for CMSSW_10_0_3 onwards CRUZET 2018 update of 0T templates for SiPixels +# 100X_dataRun2_HLT_v1 for CMSSW_10_0_0 onwards MWGRs 2018 first HLT GT for 2018 +# +# +############################################################################ GlobalTag :1+ good as 5 +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '100X_dataRun2_HLT_v2', '') + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data_FULL', '') + + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '101X_dataRun2_HLT_v7', '') + +# 2019 Ultra Legacy 2017 +#process.GlobalTag.globaltag = '106X_dataRun2_trackerAlignment2017_v1' +# 2019 Ultra Legacy 2018 test TkAl +#process.GlobalTag.globaltag = '106X_dataRun2_v17' +# 2019 Ultra Legacy 2018 +#process.GlobalTag.globaltag = '106X_dataRun2_newTkAl_v18' +# 2019 Ultra Legacy 2016 +#process.GlobalTag.globaltag = '106X_dataRun2_UL2016TkAl_v24' +#process.GlobalTag.globaltag = '105X_dataRun2_v8' + +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +from Configuration.AlCa.autoCond import autoCond +#process.GlobalTag.globaltag = '104X_dataRun2_v1' +#process.GlobalTag.globaltag = '105X_postLS2_design_v4' +process.GlobalTag.globaltag = '106X_dataRun3_HLT_v3' + + +############################################################################ +# V.EPSHTEIN: +#process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +#process.GlobalTag.globaltag = '100X_dataRun2_Prompt_Candidate_2018_01_31_16_01_36' +### +#process.hcal_db_producer = cms.ESProducer("HcalDbProducer", +# dump = cms.untracked.vstring(''), +# file = cms.untracked.string('') +#) +# +#process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), +# HcalFirstFED = cms.untracked.int32(700), +# InputLabel = cms.InputTag("source"), +# UnpackCalib = cms.untracked.bool(True), +# FEDs = cms.untracked.vint32(1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117), +#) +### +############################################################################ +process.load('Configuration.StandardSequences.RawToDigi_Data_cff') +process.hcalDigis.FilterDataQuality = cms.bool(False) +process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), + FilterDataQuality = cms.bool(False), + HcalFirstFED = cms.untracked.int32(700), + InputLabel = cms.InputTag("source"), + #InputLabel = cms.InputTag("rawDataCollector"), +) +#process.hcalDigis.FilterDataQuality = cms.bool(False) +#process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestal_cff") +process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestalLocal_cff") +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalMinBias_cff") +#process.load("ALCARECOHcalCalPedestalLocal_cff") +############################################################################ +#process.p = cms.Path(process.hcalDigis*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.minbiasana) + +process.p = cms.Path(process.hcalDigis*process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) + +# see /afs/cern.ch/work/z/zhokin/public/CMSSW_10_4_0_patch1/src/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalMinBias_cff.py +############################################################################ +process.MessageLogger = cms.Service("MessageLogger", + categories = cms.untracked.vstring(''), + destinations = cms.untracked.vstring('cout'), + debugModules = cms.untracked.vstring('*'), + cout = cms.untracked.PSet( + threshold = cms.untracked.string('WARNING'), + WARNING = cms.untracked.PSet(limit = cms.untracked.int32(0)) + ) + ) +############################################################################ + + + diff --git a/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_IterMethod_cfg.py b/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_IterMethod_cfg.py index 6200a1d7ae481..9127f8a8964f1 100644 --- a/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_IterMethod_cfg.py +++ b/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_IterMethod_cfg.py @@ -15,6 +15,11 @@ # input = cms.untracked.int32(-1) ) +process.TFileService = cms.Service("TFileService", + fileName = cms.string("LED331388.root") +# ,closeFileFast = cms.untracked.bool(True) + ) + # readme: on lxplus: # eos ls /store/group/dpg_hcal/comm_hcal/USC/ # eos ls /store/group/dpg_hcal/comm_hcal/USC/run309445 @@ -374,9 +379,9 @@ splashesUpperLimit = cms.int32(10000), # # - HistOutFile = cms.untracked.string('LED331388.root'), + #HistOutFile = cms.untracked.string('LED331388.root'), # - MAPOutFile = cms.untracked.string('LogEleMapdb.h') + #MAPOutFile = cms.untracked.string('LogEleMapdb.h') # # ) diff --git a/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_era2018_cfg.py b/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_era2018_cfg.py new file mode 100644 index 0000000000000..6f3ad20dd0137 --- /dev/null +++ b/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_era2018_cfg.py @@ -0,0 +1,588 @@ +#eoscms ls -l /eos/cms/store/group/dpg_hcal/comm_hcal/USC/run327785/USC_327785.root +# choose run in /store/group/dpg_hcal/comm_hcal/USC/ +#how to run: cmsRun remoteMonitoring_LED_era2018_cfg.py 320220 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/work/z/zhokin/hcal/voc2/CMSSW_11_1_0_pre3/src/DPGAnalysis/HcalTools/scripts/rmt + +import sys +import FWCore.ParameterSet.Config as cms +from Configuration.StandardSequences.Eras import eras +process = cms.Process("TEST", eras.Run2_2018) +#process = cms.Process("TEST", eras.Run3) +process.load("Configuration.StandardSequences.GeometryDB_cff") +process.load("CondCore.CondDB.CondDB_cfi") +process.load("EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi") +process.l1GtUnpack.DaqGtInputTag = 'source' +# from RelValAlCaPedestal_cfg_2018.py +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff') +process.load('Configuration.StandardSequences.Reconstruction_Data_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +#process.load('RecoLocalCalo.Configuration.hcalLocalReco_cff') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') + +##runnumber = sys.argv[2][4:-5] +runnumber = sys.argv[2] +rundir = sys.argv[3] +histodir = sys.argv[4] + +#print 'RUN = '+runnumber +#print 'Input file = '+rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +##print 'Input file = '+rundir+'/USC_'+runnumber+'.root' +#print 'Output file = '+histodir+'/LED_'+runnumber+'.root' + +process.maxEvents = cms.untracked.PSet( +# input = cms.untracked.int32(100) + input = cms.untracked.int32(-1) + ) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string(histodir+'/LED_'+runnumber+'.root') +# ,closeFileFast = cms.untracked.bool(True) + ) + +#process.source = cms.Source("PoolSource", +process.source = cms.Source("HcalTBSource", + skipBadFiles=cms.untracked.bool(True), + firstLuminosityBlockForEachRun = cms.untracked.VLuminosityBlockID([]), + firstRun = cms.untracked.uint32(316584), + fileNames = cms.untracked.vstring( +rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +#rundir+'/USC_'+runnumber+'.root' +# '/store/group/dpg_hcal/comm_hcal/USC/run331370/USC_331370.root' + +), + secondaryFileNames = cms.untracked.vstring() + ) + +process.Analyzer = cms.EDAnalyzer("CMTRawAnalyzer", + # + Verbosity = cms.untracked.int32(0), + #Verbosity = cms.untracked.int32(-9062), + #Verbosity = cms.untracked.int32(-9063), + #Verbosity = cms.untracked.int32(-9064), + #Verbosity = cms.untracked.int32(-9065), + #Verbosity = cms.untracked.int32(-84), + #Verbosity = cms.untracked.int32(-91), + #Verbosity = cms.untracked.int32(-92), + # + MapCreation = cms.untracked.int32(1), + # + recordNtuples = cms.untracked.bool(False), + #recordNtuples = cms.untracked.bool(True), + maxNeventsInNtuple = cms.int32(1), + # + #recordHistoes = cms.untracked.bool(False), + recordHistoes = cms.untracked.bool(True), + # + ##scripts: zRunRatio34.C, zRunNbadchan.C + studyRunDependenceHist = cms.untracked.bool(True), + #studyRunDependenceHist = cms.untracked.bool(False), + # + ##scripts: zerrors.C + studyCapIDErrorsHist = cms.untracked.bool(True), + #studyCapIDErrorsHist = cms.untracked.bool(False), + # + ##scripts: zrms.C + studyRMSshapeHist = cms.untracked.bool(True), + #studyRMSshapeHist = cms.untracked.bool(False), + # + ##scripts: zratio34.C + studyRatioShapeHist = cms.untracked.bool(True), + #studyRatioShapeHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyADCAmplHist = cms.untracked.bool(True), + #studyADCAmplHist = cms.untracked.bool(False), + # + ##scripts: ztsmean.C + studyTSmeanShapeHist = cms.untracked.bool(True), + #studyTSmeanShapeHist = cms.untracked.bool(False), + # + ##scripts: ztsmaxa.C + studyTSmaxShapeHist = cms.untracked.bool(True), + #studyTSmaxShapeHist = cms.untracked.bool(False), + # + ##scripts: zcalib....C + studyCalibCellsHist = cms.untracked.bool(True), + #studyCalibCellsHist = cms.untracked.bool(False), + # + ##scripts: zdifampl.C + studyDiffAmplHist = cms.untracked.bool(True), + #studyDiffAmplHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyPedestalsHist = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + ##scripts: zamplpedcorr.C + studyPedestalCorrelations = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + # + ##DigiCollectionLabel = cms.untracked.InputTag("hcalDigis"), + #Verbosity = cms.untracked.int32(-54), + #Verbosity = cms.untracked.int32(-22), + #Verbosity = cms.untracked.int32(-11), + #Verbosity = cms.untracked.int32(-12), + #Verbosity = cms.untracked.int32(-13), + #Verbosity = cms.untracked.int32(-51), + #Verbosity = cms.untracked.int32(-24), + #Verbosity = cms.untracked.int32(-244), + #Verbosity = cms.untracked.int32(-233), + # + # + # Normal channels: + # + # -53 for BAD HBHEHF channels from study on shape Ratio + #Verbosity = cms.untracked.int32(-53), + ratioHBMin = cms.double(0.70), + ratioHBMax = cms.double(0.94), + ratioHEMin = cms.double(0.60), + ratioHEMax = cms.double(0.95), + ratioHFMin = cms.double(0.45), + ratioHFMax = cms.double(1.02), + ratioHOMin = cms.double(0.40), + ratioHOMax = cms.double(1.04), + # -54 for BAD HBHEHF channels from study on RMS of shapes + #Verbosity = cms.untracked.int32(-54), + rmsHBMin = cms.double(0.7), + rmsHBMax = cms.double(2.5), + rmsHEMin = cms.double(0.7), + rmsHEMax = cms.double(2.2), + rmsHFMin = cms.double(0.1), + rmsHFMax = cms.double(2.6), + rmsHOMin = cms.double(0.1), + rmsHOMax = cms.double(2.8), + # -55 for BAD HBHEHF channels from study on TSmean of shapes + #Verbosity = cms.untracked.int32(-55), + TSmeanHBMin = cms.double(2.5), + TSmeanHBMax = cms.double(5.5), + TSmeanHEMin = cms.double(1.0), + TSmeanHEMax = cms.double(5.2), + TSmeanHFMin = cms.double(1.0), + TSmeanHFMax = cms.double(4.2), + TSmeanHOMin = cms.double(1.0), + TSmeanHOMax = cms.double(4.8), + # -55 for BAD HBHEHF channels from study on TSmax of shapes + #Verbosity = cms.untracked.int32(-55), + TSpeakHBMin = cms.double(2.2), + TSpeakHBMax = cms.double(5.5), + TSpeakHEMin = cms.double(1.5), + TSpeakHEMax = cms.double(6.5), + TSpeakHFMin = cms.double(0.5), + TSpeakHFMax = cms.double(4.5), + TSpeakHOMin = cms.double(0.5), + TSpeakHOMax = cms.double(7.5), + # -56 for BAD HBHEHOHF channels from study on ADC Amplitude + #Verbosity = cms.untracked.int32(-56), + ADCAmplHBMin = cms.double(10000.), + ADCAmplHBMax = cms.double(300000.), + ADCAmplHEMin = cms.double(20000.), + ADCAmplHEMax = cms.double(300000.), + ADCAmplHFMin = cms.double(50.), + ADCAmplHFMax = cms.double(9000.), + ADCAmplHOMin = cms.double(50.), + ADCAmplHOMax = cms.double(9000.), + # + # to see channels w/ PedestalSigma < cut + #Verbosity = cms.untracked.int32(-57), + pedestalwHBMax = cms.double(0.1), + pedestalwHEMax = cms.double(0.1), + pedestalwHFMax = cms.double(0.4), + pedestalwHOMax = cms.double(0.1), + # + # to see channels for pedestal < cut + pedestalHBMax = cms.double(0.1), + pedestalHEMax = cms.double(0.6), + pedestalHFMax = cms.double(0.8), + pedestalHOMax = cms.double(0.1), + # + # + # CALIBRATION channels: + # + # for BAD HBHEHOHF CALIBRATION channels from study on ADC amplitude + # cuts for Laser runs: + #calibrADCHBMin = cms.double(15.0), + #calibrADCHEMin = cms.double(15.0), + #calibrADCHOMin = cms.double(15.0), + #calibrADCHFMin = cms.double(15.0), + # cuts for LED runs: + calibrADCHBMin = cms.double(1000.), + calibrADCHBMax = cms.double(100000000.), + calibrADCHEMin = cms.double(1000.), + calibrADCHEMax = cms.double(100000000.), + calibrADCHOMin = cms.double(1000.), + calibrADCHOMax = cms.double(100000000.), + calibrADCHFMin = cms.double(100.), + calibrADCHFMax = cms.double(100000000.), + + # for BAD HBHEHOHF CALIBRATION channels from study on shape Ratio + calibrRatioHBMin = cms.double(0.76), + calibrRatioHBMax = cms.double(0.94), + calibrRatioHEMin = cms.double(0.76), + calibrRatioHEMax = cms.double(0.94), + calibrRatioHOMin = cms.double(0.85), + calibrRatioHOMax = cms.double(0.99), + calibrRatioHFMin = cms.double(0.5), + calibrRatioHFMax = cms.double(0.8), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmax + calibrTSmaxHBMin = cms.double(1.50), + calibrTSmaxHBMax = cms.double(2.50), + calibrTSmaxHEMin = cms.double(1.50), + calibrTSmaxHEMax = cms.double(2.50), + calibrTSmaxHOMin = cms.double(1.50), + calibrTSmaxHOMax = cms.double(2.50), + calibrTSmaxHFMin = cms.double(3.50), + calibrTSmaxHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmean + calibrTSmeanHBMin = cms.double(2.40), + calibrTSmeanHBMax = cms.double(3.70), + calibrTSmeanHEMin = cms.double(2.40), + calibrTSmeanHEMax = cms.double(3.70), + calibrTSmeanHOMin = cms.double(1.50), + calibrTSmeanHOMax = cms.double(2.70), + calibrTSmeanHFMin = cms.double(3.50), + calibrTSmeanHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on Width + calibrWidthHBMin = cms.double(1.30), + calibrWidthHBMax = cms.double(1.90), + calibrWidthHEMin = cms.double(1.30), + calibrWidthHEMax = cms.double(1.90), + calibrWidthHOMin = cms.double(0.70), + calibrWidthHOMax = cms.double(1.65), + calibrWidthHFMin = cms.double(0.30), + calibrWidthHFMax = cms.double(1.50), + # + # Special task of run or LS quality: + # + # flag for ask runs of LSs for RMT & CMT accordingly: + #=0-runs, =1-LSs + # keep for LED runs this flags =0 always + flagtoaskrunsorls = cms.int32(0), + # + # flag for choice of criterion of bad channels: + #=0-CapIdErr, =1-Ratio, =2-Width, =3-TSmax, =4-TSmean, =5-adcAmplitud + # keep for CMT (global runs) this flags =0 always + flagtodefinebadchannel = cms.int32(0), + #how many bins you want on the plots:better to choice (#LS+1) + howmanybinsonplots = cms.int32(25), + # + # ls - range for RBX study (and ??? perhaps for gain stability via abort gap): + lsmin = cms.int32(1), + #lsmax = cms.int32(620), + lsmax = cms.int32(2600), + # + flagabortgaprejected = cms.int32(1), + bcnrejectedlow = cms.int32(3446), + bcnrejectedhigh= cms.int32(3564), + # + # flag cpu time reducing + #=0-all plots, =1-optimized number of plots (for Global runs) + flagcpuoptimization = cms.int32(0), + # + # flag for ask type of Normalization for CMT estimators: + #=0-normalizationOn#evOfLS; =1-averageVariable-normalizationOn#entriesInLS; + flagestimatornormalization = cms.int32(1), + # + # + # cuts on Nbadchannels to see LS dependences: + # Verbosity = cms.untracked.int32(-77), + # to select abnormal events,for which Nbcs > this limits + lsdep_cut1_peak_HBdepth1 = cms.int32(20), + lsdep_cut1_peak_HBdepth2 = cms.int32(7), + lsdep_cut1_peak_HEdepth1 = cms.int32(16), + lsdep_cut1_peak_HEdepth2 = cms.int32(13), + lsdep_cut1_peak_HEdepth3 = cms.int32(4), + lsdep_cut1_peak_HFdepth1 = cms.int32(10), + lsdep_cut1_peak_HFdepth2 = cms.int32(5), + lsdep_cut1_peak_HOdepth4 = cms.int32(45), + # to select events with Nbcs > this limits + lsdep_cut3_max_HBdepth1 = cms.int32(19), + lsdep_cut3_max_HBdepth2 = cms.int32(6), + lsdep_cut3_max_HEdepth1 = cms.int32(15), + lsdep_cut3_max_HEdepth2 = cms.int32(12), + lsdep_cut3_max_HEdepth3 = cms.int32(3), + lsdep_cut3_max_HFdepth1 = cms.int32(9), + lsdep_cut3_max_HFdepth2 = cms.int32(4), + lsdep_cut3_max_HOdepth4 = cms.int32(40), + # + # + #old was for runs: + # nbadchannels1 = cms.int32(7), + # nbadchannels2 = cms.int32(12), + # nbadchannels3 = cms.int32(50), + # + #Verbosity = cms.untracked.int32(-79), + # cuts on Estimator1 to see LS dependences: + lsdep_estimator1_HBdepth1 = cms.double(2500.), + lsdep_estimator1_HBdepth2 = cms.double(2500.), + lsdep_estimator1_HBdepth3 = cms.double(2500.), + lsdep_estimator1_HBdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth1 = cms.double(2500.), + lsdep_estimator1_HEdepth2 = cms.double(2500.), + lsdep_estimator1_HEdepth3 = cms.double(2500.), + lsdep_estimator1_HEdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth5 = cms.double(2500.), + lsdep_estimator1_HEdepth6 = cms.double(2500.), + lsdep_estimator1_HEdepth7 = cms.double(2500.), + lsdep_estimator1_HFdepth1 = cms.double(2500.), + lsdep_estimator1_HFdepth2 = cms.double(2500.), + lsdep_estimator1_HFdepth3 = cms.double(2500.), + lsdep_estimator1_HFdepth4 = cms.double(2500.), + lsdep_estimator1_HOdepth4 = cms.double(2500.), + # cuts on Estimator2 to see LS dependences: + lsdep_estimator2_HBdepth1 = cms.double(7.), + lsdep_estimator2_HBdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth1 = cms.double(7.), + lsdep_estimator2_HEdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth3 = cms.double(7.), + lsdep_estimator2_HFdepth1 = cms.double(7.), + lsdep_estimator2_HFdepth2 = cms.double(7.), + lsdep_estimator2_HOdepth4 = cms.double(7.), + # cuts on Estimator3 to see LS dependences: + lsdep_estimator3_HBdepth1 = cms.double(7.), + lsdep_estimator3_HBdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth1 = cms.double(7.), + lsdep_estimator3_HEdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth3 = cms.double(7.), + lsdep_estimator3_HFdepth1 = cms.double(7.), + lsdep_estimator3_HFdepth2 = cms.double(7.), + lsdep_estimator3_HOdepth4 = cms.double(7.), + # cuts on Estimator4 to see LS dependences: + lsdep_estimator4_HBdepth1 = cms.double(5.), + lsdep_estimator4_HBdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth1 = cms.double(5.), + lsdep_estimator4_HEdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth3 = cms.double(5.), + lsdep_estimator4_HFdepth1 = cms.double(5.), + lsdep_estimator4_HFdepth2 = cms.double(5.), + lsdep_estimator4_HOdepth4 = cms.double(5.), + # cuts on Estimator5 to see LS dependences: + lsdep_estimator5_HBdepth1 = cms.double(1.8), + lsdep_estimator5_HBdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth1 = cms.double(1.8), + lsdep_estimator5_HEdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth3 = cms.double(1.8), + lsdep_estimator5_HFdepth1 = cms.double(1.8), + lsdep_estimator5_HFdepth2 = cms.double(1.8), + lsdep_estimator5_HOdepth4 = cms.double(1.8), + # + # + #Verbosity = cms.untracked.int32(-81), + #Verbosity = cms.untracked.int32(-82), + #Verbosity = cms.untracked.int32(-83), + # + # use ADC amplitude: + useADCmassive = cms.untracked.bool(True), + useADCfC = cms.untracked.bool(False), + useADCcounts = cms.untracked.bool(False), + # + # Pedestals in fC + #usePedestalSubtraction = cms.untracked.bool(True), + usePedestalSubtraction = cms.untracked.bool(False), + # + # for possible ignoring of channels w/o signal, apply same cut for + # HBHEHFHO on Amplitude, usable for all Estimators 1,2,3,4,5: + # forallestimators_amplitude_bigger = cms.double(10.), + forallestimators_amplitude_bigger = cms.double(-100.), + # + # + # + #usecontinuousnumbering = cms.untracked.bool(False), + usecontinuousnumbering = cms.untracked.bool(True), + # + # + # + hcalCalibDigiCollectionTag = cms.InputTag('hcalDigis'), + hbheDigiCollectionTag = cms.InputTag('hcalDigis'), + hoDigiCollectionTag = cms.InputTag('hcalDigis'), + hfDigiCollectionTag = cms.InputTag('hcalDigis'), + # + # + # + # + #for upgrade: --------------------------------------------------------- + hbheQIE11DigiCollectionTag = cms.InputTag('hcalDigis'), + hbheQIE10DigiCollectionTag = cms.InputTag('hcalDigis'), + # flag to use either only old QIE8 digiCollections or only new QIE10,11 digiCollections + #=0-all digiCollections(default for normal running), =1-only old QIE8 digiCollections, + #=2-only new QIE1011 digiCollections, =3-only new QIE1011 digiCollections w/o new high depthes + #=4-2016fall, =5-2016fall w/o new high depthes, =6-2017bebin, =7-2017bebin w/o new high depthes in HEonly + #=8--2017bebin w/o new high depthes, =9-all digiCollections w/o new high depthes + # flag HBHE8 HBHE11 HF8 HF10 comments: + # 0 + + + + all + # 1 + - + - old + # 2 - + - + new + # 3 - + - + new w/o high depthes + # 4 + - + + 2016fall + # 5 + - + + 2016fall w/o high depthes + # 6 + + - + 2017 && 2018 && 2021 + # 7 + + - + 2017begin w/o high depthes in HEonly + # 8 + + - + 2017begin w/o high depthes + # 9 + + + + all w/o high depthes + # 10 + - - + 2017 w/o HEP17 + # + flagupgradeqie1011 = cms.int32(6), + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + # flaguseshunt = 1 or 6 (6 is default for global runs) + flaguseshunt = cms.int32(6), + # flagsipmcorrection: != 0 yes,apply; = 0 do not use; + flagsipmcorrection = cms.int32(1), + #end upgrade: --------------------------------------------------------- end upgrade + # + # + # for local LASER runs ONLY!!! to be > 0 (,else = 0) + flagLaserRaddam = cms.int32(0), + # for gaussian fit for local shunt1 (Gsel0) led low-intensity or ped ONLY!!! to be > 0 (,else = 0) + flagfitshunt1pedorledlowintensity = cms.int32(0), + # + splashesUpperLimit = cms.int32(10000), + # + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupDigi = cms.int32(1), + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupReco = cms.int32(1), + # + hbheInputSignalTag = cms.InputTag('hbherecoMBNZS'), + hbheInputNoiseTag = cms.InputTag('hbherecoNoise'), + hfInputSignalTag = cms.InputTag('hfrecoMBNZS'), + hfInputNoiseTag = cms.InputTag('hfrecoNoise'), + # + # + # + # + # + # + #HistOutFile = cms.untracked.string('LED_331370.root'), + #HistOutFile = cms.untracked.string(histodir+'/LED_'+runnumber+'.root'), + #MAPOutFile = cms.untracked.string('LogEleMapdb.h') + # + ##OutputFilePath = cms.string('/tmp/zhokin/'), + ##OutputFileExt = cms.string(''), + # + ) + +process.hcal_db_producer = cms.ESProducer("HcalDbProducer", + dump = cms.untracked.vstring(''), + file = cms.untracked.string('') +) +process.es_hardcode = cms.ESSource("HcalHardcodeCalibrations", + toGet = cms.untracked.vstring('QIEShape', + 'QIEData', + 'ChannelQuality', + 'HcalQIEData', + 'Pedestals', + 'PedestalWidths', + 'Gains', + 'GainWidths', + 'ZSThresholds', + 'RespCorrs') +) + +## Jula's recipe for too many files +#process.options = cms.untracked.PSet( +# wantSummary = cms.untracked.bool(False), +# Rethrow = cms.untracked.vstring("ProductNotFound"), # make this exception fatal +# fileMode = cms.untracked.string('NOMERGE') # no ordering needed, but calls endRun/beginRun etc. at file boundaries +#) + +######################################################################################## Global Tags for 2018 data taking : +# use twiki site to specify HLT reconstruction Global tags: +# https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions +# +# 100X_dataRun2_HLT_v2 for CMSSW_10_0_3 onwards CRUZET 2018 update of 0T templates for SiPixels +# 100X_dataRun2_HLT_v1 for CMSSW_10_0_0 onwards MWGRs 2018 first HLT GT for 2018 +# +# +############################################################################ GlobalTag :1+ good as 5 +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '100X_dataRun2_HLT_v2', '') + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data_FULL', '') + + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '101X_dataRun2_HLT_v7', '') + +# 2019 Ultra Legacy 2017 +#process.GlobalTag.globaltag = '106X_dataRun2_trackerAlignment2017_v1' +# 2019 Ultra Legacy 2018 test TkAl +#process.GlobalTag.globaltag = '106X_dataRun2_v17' +# 2019 Ultra Legacy 2018 +#process.GlobalTag.globaltag = '106X_dataRun2_newTkAl_v18' +# 2019 Ultra Legacy 2016 +#process.GlobalTag.globaltag = '106X_dataRun2_UL2016TkAl_v24' +#process.GlobalTag.globaltag = '105X_dataRun2_v8' + +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +from Configuration.AlCa.autoCond import autoCond +process.GlobalTag.globaltag = '104X_dataRun2_v1' +#process.GlobalTag.globaltag = '105X_postLS2_design_v4' +#process.GlobalTag.globaltag = '106X_dataRun3_HLT_v3' + + +############################################################################ +# V.EPSHTEIN: +#process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +#process.GlobalTag.globaltag = '100X_dataRun2_Prompt_Candidate_2018_01_31_16_01_36' +### +#process.hcal_db_producer = cms.ESProducer("HcalDbProducer", +# dump = cms.untracked.vstring(''), +# file = cms.untracked.string('') +#) +# +#process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), +# HcalFirstFED = cms.untracked.int32(700), +# InputLabel = cms.InputTag("source"), +# UnpackCalib = cms.untracked.bool(True), +# FEDs = cms.untracked.vint32(1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117), +#) +### +############################################################################ +process.load('Configuration.StandardSequences.RawToDigi_Data_cff') +process.hcalDigis.FilterDataQuality = cms.bool(False) +process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), + FilterDataQuality = cms.bool(False), + HcalFirstFED = cms.untracked.int32(700), + InputLabel = cms.InputTag("source"), + #InputLabel = cms.InputTag("rawDataCollector"), +) +#process.hcalDigis.FilterDataQuality = cms.bool(False) +#process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestal_cff") +process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestalLocal_cff") +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalMinBias_cff") +#process.load("ALCARECOHcalCalPedestalLocal_cff") +############################################################################ +#process.p = cms.Path(process.hcalDigis*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.minbiasana) + +process.p = cms.Path(process.hcalDigis*process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) + +# see /afs/cern.ch/work/z/zhokin/public/CMSSW_10_4_0_patch1/src/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalMinBias_cff.py +############################################################################ +process.MessageLogger = cms.Service("MessageLogger", + categories = cms.untracked.vstring(''), + destinations = cms.untracked.vstring('cout'), + debugModules = cms.untracked.vstring('*'), + cout = cms.untracked.PSet( + threshold = cms.untracked.string('WARNING'), + WARNING = cms.untracked.PSet(limit = cms.untracked.int32(0)) + ) + ) +############################################################################ + + + diff --git a/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_era2019_cfg.py b/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_era2019_cfg.py new file mode 100644 index 0000000000000..ac355735b5c3d --- /dev/null +++ b/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_era2019_cfg.py @@ -0,0 +1,590 @@ +#eoscms ls -l /eos/cms/store/group/dpg_hcal/comm_hcal/USC/run327785/USC_327785.root +# choose run in /store/group/dpg_hcal/comm_hcal/USC/ +#how to run: cmsRun remoteMonitoring_LED_era2019_cfg.py 331370 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/work/z/zhokin/hcal/voc2/CMSSW_11_1_0_pre3/src/DPGAnalysis/HcalTools/scripts/rmt + +import sys +import FWCore.ParameterSet.Config as cms +from Configuration.StandardSequences.Eras import eras +#process = cms.Process("TEST", eras.Run2_2018) +process = cms.Process("TEST", eras.Run3) +process.load("Configuration.StandardSequences.GeometryDB_cff") +process.load("CondCore.CondDB.CondDB_cfi") +process.load("EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi") +process.l1GtUnpack.DaqGtInputTag = 'source' +# from RelValAlCaPedestal_cfg_2018.py +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff') +process.load('Configuration.StandardSequences.Reconstruction_Data_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +#process.load('RecoLocalCalo.Configuration.hcalLocalReco_cff') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') + +##runnumber = sys.argv[2][4:-5] +runnumber = sys.argv[2] +rundir = sys.argv[3] +histodir = sys.argv[4] + +#print 'RUN = '+runnumber +#print 'Input file = '+rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +##print 'Input file = '+rundir+'/USC_'+runnumber+'.root' +#print 'Output file = '+histodir+'/LED_'+runnumber+'.root' + +process.maxEvents = cms.untracked.PSet( +# input = cms.untracked.int32(100) + input = cms.untracked.int32(-1) + ) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string(histodir+'/LED_'+runnumber+'.root') +# ,closeFileFast = cms.untracked.bool(True) + ) + +#process.source = cms.Source("PoolSource", +process.source = cms.Source("HcalTBSource", + skipBadFiles=cms.untracked.bool(True), + firstLuminosityBlockForEachRun = cms.untracked.VLuminosityBlockID([]), + firstRun = cms.untracked.uint32(331370), +# firstRun = cms.untracked.uint32(330153), +# firstRun = cms.untracked.uint32(329416), + fileNames = cms.untracked.vstring( +rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +#rundir+'/USC_'+runnumber+'.root' +# '/store/group/dpg_hcal/comm_hcal/USC/run331370/USC_331370.root' + +), + secondaryFileNames = cms.untracked.vstring() + ) + +process.Analyzer = cms.EDAnalyzer("CMTRawAnalyzer", + # + Verbosity = cms.untracked.int32(0), + #Verbosity = cms.untracked.int32(-9062), + #Verbosity = cms.untracked.int32(-9063), + #Verbosity = cms.untracked.int32(-9064), + #Verbosity = cms.untracked.int32(-9065), + #Verbosity = cms.untracked.int32(-84), + #Verbosity = cms.untracked.int32(-91), + #Verbosity = cms.untracked.int32(-92), + # + MapCreation = cms.untracked.int32(1), + # + recordNtuples = cms.untracked.bool(False), + #recordNtuples = cms.untracked.bool(True), + maxNeventsInNtuple = cms.int32(1), + # + #recordHistoes = cms.untracked.bool(False), + recordHistoes = cms.untracked.bool(True), + # + ##scripts: zRunRatio34.C, zRunNbadchan.C + studyRunDependenceHist = cms.untracked.bool(True), + #studyRunDependenceHist = cms.untracked.bool(False), + # + ##scripts: zerrors.C + studyCapIDErrorsHist = cms.untracked.bool(True), + #studyCapIDErrorsHist = cms.untracked.bool(False), + # + ##scripts: zrms.C + studyRMSshapeHist = cms.untracked.bool(True), + #studyRMSshapeHist = cms.untracked.bool(False), + # + ##scripts: zratio34.C + studyRatioShapeHist = cms.untracked.bool(True), + #studyRatioShapeHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyADCAmplHist = cms.untracked.bool(True), + #studyADCAmplHist = cms.untracked.bool(False), + # + ##scripts: ztsmean.C + studyTSmeanShapeHist = cms.untracked.bool(True), + #studyTSmeanShapeHist = cms.untracked.bool(False), + # + ##scripts: ztsmaxa.C + studyTSmaxShapeHist = cms.untracked.bool(True), + #studyTSmaxShapeHist = cms.untracked.bool(False), + # + ##scripts: zcalib....C + studyCalibCellsHist = cms.untracked.bool(True), + #studyCalibCellsHist = cms.untracked.bool(False), + # + ##scripts: zdifampl.C + studyDiffAmplHist = cms.untracked.bool(True), + #studyDiffAmplHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyPedestalsHist = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + ##scripts: zamplpedcorr.C + studyPedestalCorrelations = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + # + ##DigiCollectionLabel = cms.untracked.InputTag("hcalDigis"), + #Verbosity = cms.untracked.int32(-54), + #Verbosity = cms.untracked.int32(-22), + #Verbosity = cms.untracked.int32(-11), + #Verbosity = cms.untracked.int32(-12), + #Verbosity = cms.untracked.int32(-13), + #Verbosity = cms.untracked.int32(-51), + #Verbosity = cms.untracked.int32(-24), + #Verbosity = cms.untracked.int32(-244), + #Verbosity = cms.untracked.int32(-233), + # + # + # Normal channels: + # + # -53 for BAD HBHEHF channels from study on shape Ratio + #Verbosity = cms.untracked.int32(-53), + ratioHBMin = cms.double(0.70), + ratioHBMax = cms.double(0.94), + ratioHEMin = cms.double(0.60), + ratioHEMax = cms.double(0.95), + ratioHFMin = cms.double(0.45), + ratioHFMax = cms.double(1.02), + ratioHOMin = cms.double(0.40), + ratioHOMax = cms.double(1.04), + # -54 for BAD HBHEHF channels from study on RMS of shapes + #Verbosity = cms.untracked.int32(-54), + rmsHBMin = cms.double(0.7), + rmsHBMax = cms.double(2.5), + rmsHEMin = cms.double(0.7), + rmsHEMax = cms.double(2.2), + rmsHFMin = cms.double(0.1), + rmsHFMax = cms.double(2.6), + rmsHOMin = cms.double(0.1), + rmsHOMax = cms.double(2.8), + # -55 for BAD HBHEHF channels from study on TSmean of shapes + #Verbosity = cms.untracked.int32(-55), + TSmeanHBMin = cms.double(2.5), + TSmeanHBMax = cms.double(5.5), + TSmeanHEMin = cms.double(1.0), + TSmeanHEMax = cms.double(5.2), + TSmeanHFMin = cms.double(1.0), + TSmeanHFMax = cms.double(4.2), + TSmeanHOMin = cms.double(1.0), + TSmeanHOMax = cms.double(4.8), + # -55 for BAD HBHEHF channels from study on TSmax of shapes + #Verbosity = cms.untracked.int32(-55), + TSpeakHBMin = cms.double(2.2), + TSpeakHBMax = cms.double(5.5), + TSpeakHEMin = cms.double(1.5), + TSpeakHEMax = cms.double(6.5), + TSpeakHFMin = cms.double(0.5), + TSpeakHFMax = cms.double(4.5), + TSpeakHOMin = cms.double(0.5), + TSpeakHOMax = cms.double(7.5), + # -56 for BAD HBHEHOHF channels from study on ADC Amplitude + #Verbosity = cms.untracked.int32(-56), + ADCAmplHBMin = cms.double(10000.), + ADCAmplHBMax = cms.double(300000.), + ADCAmplHEMin = cms.double(20000.), + ADCAmplHEMax = cms.double(300000.), + ADCAmplHFMin = cms.double(50.), + ADCAmplHFMax = cms.double(9000.), + ADCAmplHOMin = cms.double(50.), + ADCAmplHOMax = cms.double(9000.), + # + # to see channels w/ PedestalSigma < cut + #Verbosity = cms.untracked.int32(-57), + pedestalwHBMax = cms.double(0.1), + pedestalwHEMax = cms.double(0.1), + pedestalwHFMax = cms.double(0.4), + pedestalwHOMax = cms.double(0.1), + # + # to see channels for pedestal < cut + pedestalHBMax = cms.double(0.1), + pedestalHEMax = cms.double(0.6), + pedestalHFMax = cms.double(0.8), + pedestalHOMax = cms.double(0.1), + # + # + # CALIBRATION channels: + # + # for BAD HBHEHOHF CALIBRATION channels from study on ADC amplitude + # cuts for Laser runs: + #calibrADCHBMin = cms.double(15.0), + #calibrADCHEMin = cms.double(15.0), + #calibrADCHOMin = cms.double(15.0), + #calibrADCHFMin = cms.double(15.0), + # cuts for LED runs: + calibrADCHBMin = cms.double(1000.), + calibrADCHBMax = cms.double(100000000.), + calibrADCHEMin = cms.double(1000.), + calibrADCHEMax = cms.double(100000000.), + calibrADCHOMin = cms.double(1000.), + calibrADCHOMax = cms.double(100000000.), + calibrADCHFMin = cms.double(100.), + calibrADCHFMax = cms.double(100000000.), + + # for BAD HBHEHOHF CALIBRATION channels from study on shape Ratio + calibrRatioHBMin = cms.double(0.76), + calibrRatioHBMax = cms.double(0.94), + calibrRatioHEMin = cms.double(0.76), + calibrRatioHEMax = cms.double(0.94), + calibrRatioHOMin = cms.double(0.85), + calibrRatioHOMax = cms.double(0.99), + calibrRatioHFMin = cms.double(0.5), + calibrRatioHFMax = cms.double(0.8), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmax + calibrTSmaxHBMin = cms.double(1.50), + calibrTSmaxHBMax = cms.double(2.50), + calibrTSmaxHEMin = cms.double(1.50), + calibrTSmaxHEMax = cms.double(2.50), + calibrTSmaxHOMin = cms.double(1.50), + calibrTSmaxHOMax = cms.double(2.50), + calibrTSmaxHFMin = cms.double(3.50), + calibrTSmaxHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmean + calibrTSmeanHBMin = cms.double(2.40), + calibrTSmeanHBMax = cms.double(3.70), + calibrTSmeanHEMin = cms.double(2.40), + calibrTSmeanHEMax = cms.double(3.70), + calibrTSmeanHOMin = cms.double(1.50), + calibrTSmeanHOMax = cms.double(2.70), + calibrTSmeanHFMin = cms.double(3.50), + calibrTSmeanHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on Width + calibrWidthHBMin = cms.double(1.30), + calibrWidthHBMax = cms.double(1.90), + calibrWidthHEMin = cms.double(1.30), + calibrWidthHEMax = cms.double(1.90), + calibrWidthHOMin = cms.double(0.70), + calibrWidthHOMax = cms.double(1.65), + calibrWidthHFMin = cms.double(0.30), + calibrWidthHFMax = cms.double(1.50), + # + # Special task of run or LS quality: + # + # flag for ask runs of LSs for RMT & CMT accordingly: + #=0-runs, =1-LSs + # keep for LED runs this flags =0 always + flagtoaskrunsorls = cms.int32(0), + # + # flag for choice of criterion of bad channels: + #=0-CapIdErr, =1-Ratio, =2-Width, =3-TSmax, =4-TSmean, =5-adcAmplitud + # keep for CMT (global runs) this flags =0 always + flagtodefinebadchannel = cms.int32(0), + #how many bins you want on the plots:better to choice (#LS+1) + howmanybinsonplots = cms.int32(25), + # + # ls - range for RBX study (and ??? perhaps for gain stability via abort gap): + lsmin = cms.int32(1), + #lsmax = cms.int32(620), + lsmax = cms.int32(2600), + # + flagabortgaprejected = cms.int32(1), + bcnrejectedlow = cms.int32(3446), + bcnrejectedhigh= cms.int32(3564), + # + # flag cpu time reducing + #=0-all plots, =1-optimized number of plots (for Global runs) + flagcpuoptimization = cms.int32(0), + # + # flag for ask type of Normalization for CMT estimators: + #=0-normalizationOn#evOfLS; =1-averageVariable-normalizationOn#entriesInLS; + flagestimatornormalization = cms.int32(1), + # + # + # cuts on Nbadchannels to see LS dependences: + # Verbosity = cms.untracked.int32(-77), + # to select abnormal events,for which Nbcs > this limits + lsdep_cut1_peak_HBdepth1 = cms.int32(20), + lsdep_cut1_peak_HBdepth2 = cms.int32(7), + lsdep_cut1_peak_HEdepth1 = cms.int32(16), + lsdep_cut1_peak_HEdepth2 = cms.int32(13), + lsdep_cut1_peak_HEdepth3 = cms.int32(4), + lsdep_cut1_peak_HFdepth1 = cms.int32(10), + lsdep_cut1_peak_HFdepth2 = cms.int32(5), + lsdep_cut1_peak_HOdepth4 = cms.int32(45), + # to select events with Nbcs > this limits + lsdep_cut3_max_HBdepth1 = cms.int32(19), + lsdep_cut3_max_HBdepth2 = cms.int32(6), + lsdep_cut3_max_HEdepth1 = cms.int32(15), + lsdep_cut3_max_HEdepth2 = cms.int32(12), + lsdep_cut3_max_HEdepth3 = cms.int32(3), + lsdep_cut3_max_HFdepth1 = cms.int32(9), + lsdep_cut3_max_HFdepth2 = cms.int32(4), + lsdep_cut3_max_HOdepth4 = cms.int32(40), + # + # + #old was for runs: + # nbadchannels1 = cms.int32(7), + # nbadchannels2 = cms.int32(12), + # nbadchannels3 = cms.int32(50), + # + #Verbosity = cms.untracked.int32(-79), + # cuts on Estimator1 to see LS dependences: + lsdep_estimator1_HBdepth1 = cms.double(2500.), + lsdep_estimator1_HBdepth2 = cms.double(2500.), + lsdep_estimator1_HBdepth3 = cms.double(2500.), + lsdep_estimator1_HBdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth1 = cms.double(2500.), + lsdep_estimator1_HEdepth2 = cms.double(2500.), + lsdep_estimator1_HEdepth3 = cms.double(2500.), + lsdep_estimator1_HEdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth5 = cms.double(2500.), + lsdep_estimator1_HEdepth6 = cms.double(2500.), + lsdep_estimator1_HEdepth7 = cms.double(2500.), + lsdep_estimator1_HFdepth1 = cms.double(2500.), + lsdep_estimator1_HFdepth2 = cms.double(2500.), + lsdep_estimator1_HFdepth3 = cms.double(2500.), + lsdep_estimator1_HFdepth4 = cms.double(2500.), + lsdep_estimator1_HOdepth4 = cms.double(2500.), + # cuts on Estimator2 to see LS dependences: + lsdep_estimator2_HBdepth1 = cms.double(7.), + lsdep_estimator2_HBdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth1 = cms.double(7.), + lsdep_estimator2_HEdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth3 = cms.double(7.), + lsdep_estimator2_HFdepth1 = cms.double(7.), + lsdep_estimator2_HFdepth2 = cms.double(7.), + lsdep_estimator2_HOdepth4 = cms.double(7.), + # cuts on Estimator3 to see LS dependences: + lsdep_estimator3_HBdepth1 = cms.double(7.), + lsdep_estimator3_HBdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth1 = cms.double(7.), + lsdep_estimator3_HEdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth3 = cms.double(7.), + lsdep_estimator3_HFdepth1 = cms.double(7.), + lsdep_estimator3_HFdepth2 = cms.double(7.), + lsdep_estimator3_HOdepth4 = cms.double(7.), + # cuts on Estimator4 to see LS dependences: + lsdep_estimator4_HBdepth1 = cms.double(5.), + lsdep_estimator4_HBdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth1 = cms.double(5.), + lsdep_estimator4_HEdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth3 = cms.double(5.), + lsdep_estimator4_HFdepth1 = cms.double(5.), + lsdep_estimator4_HFdepth2 = cms.double(5.), + lsdep_estimator4_HOdepth4 = cms.double(5.), + # cuts on Estimator5 to see LS dependences: + lsdep_estimator5_HBdepth1 = cms.double(1.8), + lsdep_estimator5_HBdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth1 = cms.double(1.8), + lsdep_estimator5_HEdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth3 = cms.double(1.8), + lsdep_estimator5_HFdepth1 = cms.double(1.8), + lsdep_estimator5_HFdepth2 = cms.double(1.8), + lsdep_estimator5_HOdepth4 = cms.double(1.8), + # + # + #Verbosity = cms.untracked.int32(-81), + #Verbosity = cms.untracked.int32(-82), + #Verbosity = cms.untracked.int32(-83), + # + # use ADC amplitude: + useADCmassive = cms.untracked.bool(True), + useADCfC = cms.untracked.bool(False), + useADCcounts = cms.untracked.bool(False), + # + # Pedestals in fC + #usePedestalSubtraction = cms.untracked.bool(True), + usePedestalSubtraction = cms.untracked.bool(False), + # + # for possible ignoring of channels w/o signal, apply same cut for + # HBHEHFHO on Amplitude, usable for all Estimators 1,2,3,4,5: + # forallestimators_amplitude_bigger = cms.double(10.), + forallestimators_amplitude_bigger = cms.double(-100.), + # + # + # + #usecontinuousnumbering = cms.untracked.bool(False), + usecontinuousnumbering = cms.untracked.bool(True), + # + # + # + hcalCalibDigiCollectionTag = cms.InputTag('hcalDigis'), + hbheDigiCollectionTag = cms.InputTag('hcalDigis'), + hoDigiCollectionTag = cms.InputTag('hcalDigis'), + hfDigiCollectionTag = cms.InputTag('hcalDigis'), + # + # + # + # + #for upgrade: --------------------------------------------------------- + hbheQIE11DigiCollectionTag = cms.InputTag('hcalDigis'), + hbheQIE10DigiCollectionTag = cms.InputTag('hcalDigis'), + # flag to use either only old QIE8 digiCollections or only new QIE10,11 digiCollections + #=0-all digiCollections(default for normal running), =1-only old QIE8 digiCollections, + #=2-only new QIE1011 digiCollections, =3-only new QIE1011 digiCollections w/o new high depthes + #=4-2016fall, =5-2016fall w/o new high depthes, =6-2017bebin, =7-2017bebin w/o new high depthes in HEonly + #=8--2017bebin w/o new high depthes, =9-all digiCollections w/o new high depthes + # flag HBHE8 HBHE11 HF8 HF10 comments: + # 0 + + + + all + # 1 + - + - old + # 2 - + - + new + # 3 - + - + new w/o high depthes + # 4 + - + + 2016fall + # 5 + - + + 2016fall w/o high depthes + # 6 + + - + 2017 && 2018 && 2021 + # 7 + + - + 2017begin w/o high depthes in HEonly + # 8 + + - + 2017begin w/o high depthes + # 9 + + + + all w/o high depthes + # 10 + - - + 2017 w/o HEP17 + # + flagupgradeqie1011 = cms.int32(6), + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + # flaguseshunt = 1 or 6 (6 is default for global runs) + flaguseshunt = cms.int32(6), + # flagsipmcorrection: != 0 yes,apply; = 0 do not use; + flagsipmcorrection = cms.int32(1), + #end upgrade: --------------------------------------------------------- end upgrade + # + # + # for local LASER runs ONLY!!! to be > 0 (,else = 0) + flagLaserRaddam = cms.int32(0), + # for gaussian fit for local shunt1 (Gsel0) led low-intensity or ped ONLY!!! to be > 0 (,else = 0) + flagfitshunt1pedorledlowintensity = cms.int32(0), + # + splashesUpperLimit = cms.int32(10000), + # + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupDigi = cms.int32(0), + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupReco = cms.int32(0), + # + hbheInputSignalTag = cms.InputTag('hbherecoMBNZS'), + hbheInputNoiseTag = cms.InputTag('hbherecoNoise'), + hfInputSignalTag = cms.InputTag('hfrecoMBNZS'), + hfInputNoiseTag = cms.InputTag('hfrecoNoise'), + # + # + # + # + # + # + #HistOutFile = cms.untracked.string('LED_331370.root'), + #HistOutFile = cms.untracked.string(histodir+'/LED_'+runnumber+'.root'), + #MAPOutFile = cms.untracked.string('LogEleMapdb.h') + # + ##OutputFilePath = cms.string('/tmp/zhokin/'), + ##OutputFileExt = cms.string(''), + # + ) + +process.hcal_db_producer = cms.ESProducer("HcalDbProducer", + dump = cms.untracked.vstring(''), + file = cms.untracked.string('') +) +process.es_hardcode = cms.ESSource("HcalHardcodeCalibrations", + toGet = cms.untracked.vstring('QIEShape', + 'QIEData', + 'ChannelQuality', + 'HcalQIEData', + 'Pedestals', + 'PedestalWidths', + 'Gains', + 'GainWidths', + 'ZSThresholds', + 'RespCorrs') +) + +## Jula's recipe for too many files +#process.options = cms.untracked.PSet( +# wantSummary = cms.untracked.bool(False), +# Rethrow = cms.untracked.vstring("ProductNotFound"), # make this exception fatal +# fileMode = cms.untracked.string('NOMERGE') # no ordering needed, but calls endRun/beginRun etc. at file boundaries +#) + +######################################################################################## Global Tags for 2018 data taking : +# use twiki site to specify HLT reconstruction Global tags: +# https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions +# +# 100X_dataRun2_HLT_v2 for CMSSW_10_0_3 onwards CRUZET 2018 update of 0T templates for SiPixels +# 100X_dataRun2_HLT_v1 for CMSSW_10_0_0 onwards MWGRs 2018 first HLT GT for 2018 +# +# +############################################################################ GlobalTag :1+ good as 5 +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '100X_dataRun2_HLT_v2', '') + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data_FULL', '') + + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '101X_dataRun2_HLT_v7', '') + +# 2019 Ultra Legacy 2017 +#process.GlobalTag.globaltag = '106X_dataRun2_trackerAlignment2017_v1' +# 2019 Ultra Legacy 2018 test TkAl +#process.GlobalTag.globaltag = '106X_dataRun2_v17' +# 2019 Ultra Legacy 2018 +#process.GlobalTag.globaltag = '106X_dataRun2_newTkAl_v18' +# 2019 Ultra Legacy 2016 +#process.GlobalTag.globaltag = '106X_dataRun2_UL2016TkAl_v24' +#process.GlobalTag.globaltag = '105X_dataRun2_v8' + +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +from Configuration.AlCa.autoCond import autoCond +#process.GlobalTag.globaltag = '104X_dataRun2_v1' +#process.GlobalTag.globaltag = '105X_postLS2_design_v4' +process.GlobalTag.globaltag = '106X_dataRun3_HLT_v3' + + +############################################################################ +# V.EPSHTEIN: +#process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +#process.GlobalTag.globaltag = '100X_dataRun2_Prompt_Candidate_2018_01_31_16_01_36' +### +#process.hcal_db_producer = cms.ESProducer("HcalDbProducer", +# dump = cms.untracked.vstring(''), +# file = cms.untracked.string('') +#) +# +#process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), +# HcalFirstFED = cms.untracked.int32(700), +# InputLabel = cms.InputTag("source"), +# UnpackCalib = cms.untracked.bool(True), +# FEDs = cms.untracked.vint32(1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117), +#) +### +############################################################################ +process.load('Configuration.StandardSequences.RawToDigi_Data_cff') +process.hcalDigis.FilterDataQuality = cms.bool(False) +process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), + FilterDataQuality = cms.bool(False), + HcalFirstFED = cms.untracked.int32(700), + InputLabel = cms.InputTag("source"), + #InputLabel = cms.InputTag("rawDataCollector"), +) +#process.hcalDigis.FilterDataQuality = cms.bool(False) +#process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestal_cff") +process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestalLocal_cff") +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalMinBias_cff") +#process.load("ALCARECOHcalCalPedestalLocal_cff") +############################################################################ +#process.p = cms.Path(process.hcalDigis*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.minbiasana) + +process.p = cms.Path(process.hcalDigis*process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) + +# see /afs/cern.ch/work/z/zhokin/public/CMSSW_10_4_0_patch1/src/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalMinBias_cff.py +############################################################################ +process.MessageLogger = cms.Service("MessageLogger", + categories = cms.untracked.vstring(''), + destinations = cms.untracked.vstring('cout'), + debugModules = cms.untracked.vstring('*'), + cout = cms.untracked.PSet( + threshold = cms.untracked.string('WARNING'), + WARNING = cms.untracked.PSet(limit = cms.untracked.int32(0)) + ) + ) +############################################################################ + + + diff --git a/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_era2021_cfg.py b/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_era2021_cfg.py new file mode 100644 index 0000000000000..df391de6b31d8 --- /dev/null +++ b/DPGAnalysis/HcalTools/python/remoteMonitoring_LED_era2021_cfg.py @@ -0,0 +1,589 @@ +#eoscms ls -l /eos/cms/store/group/dpg_hcal/comm_hcal/USC/run327785/USC_327785.root +# choose run in /store/group/dpg_hcal/comm_hcal/USC/ +#how to run: cmsRun remoteMonitoring_LED_era2019_cfg.py 331370 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/work/z/zhokin/hcal/voc2/CMSSW_11_1_0_pre3/src/DPGAnalysis/HcalTools/scripts/rmt + +import sys +import FWCore.ParameterSet.Config as cms +from Configuration.StandardSequences.Eras import eras +#process = cms.Process("TEST", eras.Run2_2018) + +process = cms.Process("TEST", eras.Run3) +process.load("Configuration.StandardSequences.GeometryDB_cff") +process.load("CondCore.CondDB.CondDB_cfi") +process.load("EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi") +process.l1GtUnpack.DaqGtInputTag = 'source' +# from RelValAlCaPedestal_cfg_2018.py +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff') +process.load('Configuration.StandardSequences.Reconstruction_Data_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +#process.load('RecoLocalCalo.Configuration.hcalLocalReco_cff') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') + +##runnumber = sys.argv[2][4:-5] +runnumber = sys.argv[2] +rundir = sys.argv[3] +histodir = sys.argv[4] + +#print 'RUN = '+runnumber +#print 'Input file = '+rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +##print 'Input file = '+rundir+'/USC_'+runnumber+'.root' +#print 'Output file = '+histodir+'/LED_'+runnumber+'.root' + +process.maxEvents = cms.untracked.PSet( +# input = cms.untracked.int32(100) + input = cms.untracked.int32(-1) + ) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string(histodir+'/LED_'+runnumber+'.root') +# ,closeFileFast = cms.untracked.bool(True) + ) + + +#process.source = cms.Source("PoolSource", +process.source = cms.Source("HcalTBSource", + skipBadFiles=cms.untracked.bool(True), + firstLuminosityBlockForEachRun = cms.untracked.VLuminosityBlockID([]), + firstRun = cms.untracked.uint32(331370), +# firstRun = cms.untracked.uint32(330153), +# firstRun = cms.untracked.uint32(329416), + fileNames = cms.untracked.vstring( + rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +), + secondaryFileNames = cms.untracked.vstring() + ) + +process.Analyzer = cms.EDAnalyzer("CMTRawAnalyzer", + # + Verbosity = cms.untracked.int32(0), + #Verbosity = cms.untracked.int32(-9062), + #Verbosity = cms.untracked.int32(-9063), + #Verbosity = cms.untracked.int32(-9064), + #Verbosity = cms.untracked.int32(-9065), + #Verbosity = cms.untracked.int32(-84), + #Verbosity = cms.untracked.int32(-91), + #Verbosity = cms.untracked.int32(-92), + # + MapCreation = cms.untracked.int32(1), + # + recordNtuples = cms.untracked.bool(False), + #recordNtuples = cms.untracked.bool(True), + maxNeventsInNtuple = cms.int32(1), + # + #recordHistoes = cms.untracked.bool(False), + recordHistoes = cms.untracked.bool(True), + # + ##scripts: zRunRatio34.C, zRunNbadchan.C + studyRunDependenceHist = cms.untracked.bool(True), + #studyRunDependenceHist = cms.untracked.bool(False), + # + ##scripts: zerrors.C + studyCapIDErrorsHist = cms.untracked.bool(True), + #studyCapIDErrorsHist = cms.untracked.bool(False), + # + ##scripts: zrms.C + studyRMSshapeHist = cms.untracked.bool(True), + #studyRMSshapeHist = cms.untracked.bool(False), + # + ##scripts: zratio34.C + studyRatioShapeHist = cms.untracked.bool(True), + #studyRatioShapeHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyADCAmplHist = cms.untracked.bool(True), + #studyADCAmplHist = cms.untracked.bool(False), + # + ##scripts: ztsmean.C + studyTSmeanShapeHist = cms.untracked.bool(True), + #studyTSmeanShapeHist = cms.untracked.bool(False), + # + ##scripts: ztsmaxa.C + studyTSmaxShapeHist = cms.untracked.bool(True), + #studyTSmaxShapeHist = cms.untracked.bool(False), + # + ##scripts: zcalib....C + studyCalibCellsHist = cms.untracked.bool(True), + #studyCalibCellsHist = cms.untracked.bool(False), + # + ##scripts: zdifampl.C + studyDiffAmplHist = cms.untracked.bool(True), + #studyDiffAmplHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyPedestalsHist = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + ##scripts: zamplpedcorr.C + studyPedestalCorrelations = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + # + ##DigiCollectionLabel = cms.untracked.InputTag("hcalDigis"), + #Verbosity = cms.untracked.int32(-54), + #Verbosity = cms.untracked.int32(-22), + #Verbosity = cms.untracked.int32(-11), + #Verbosity = cms.untracked.int32(-12), + #Verbosity = cms.untracked.int32(-13), + #Verbosity = cms.untracked.int32(-51), + #Verbosity = cms.untracked.int32(-24), + #Verbosity = cms.untracked.int32(-244), + #Verbosity = cms.untracked.int32(-233), + # + # + # Normal channels: + # + # -53 for BAD HBHEHF channels from study on shape Ratio + #Verbosity = cms.untracked.int32(-53), + ratioHBMin = cms.double(0.70), + ratioHBMax = cms.double(0.94), + ratioHEMin = cms.double(0.60), + ratioHEMax = cms.double(0.95), + ratioHFMin = cms.double(0.45), + ratioHFMax = cms.double(1.02), + ratioHOMin = cms.double(0.40), + ratioHOMax = cms.double(1.04), + # -54 for BAD HBHEHF channels from study on RMS of shapes + #Verbosity = cms.untracked.int32(-54), + rmsHBMin = cms.double(0.7), + rmsHBMax = cms.double(2.5), + rmsHEMin = cms.double(0.7), + rmsHEMax = cms.double(2.2), + rmsHFMin = cms.double(0.1), + rmsHFMax = cms.double(2.6), + rmsHOMin = cms.double(0.1), + rmsHOMax = cms.double(2.8), + # -55 for BAD HBHEHF channels from study on TSmean of shapes + #Verbosity = cms.untracked.int32(-55), + TSmeanHBMin = cms.double(2.5), + TSmeanHBMax = cms.double(5.5), + TSmeanHEMin = cms.double(1.0), + TSmeanHEMax = cms.double(5.2), + TSmeanHFMin = cms.double(1.0), + TSmeanHFMax = cms.double(4.2), + TSmeanHOMin = cms.double(1.0), + TSmeanHOMax = cms.double(4.8), + # -55 for BAD HBHEHF channels from study on TSmax of shapes + #Verbosity = cms.untracked.int32(-55), + TSpeakHBMin = cms.double(2.2), + TSpeakHBMax = cms.double(5.5), + TSpeakHEMin = cms.double(1.5), + TSpeakHEMax = cms.double(6.5), + TSpeakHFMin = cms.double(0.5), + TSpeakHFMax = cms.double(4.5), + TSpeakHOMin = cms.double(0.5), + TSpeakHOMax = cms.double(7.5), + # -56 for BAD HBHEHOHF channels from study on ADC Amplitude + #Verbosity = cms.untracked.int32(-56), + ADCAmplHBMin = cms.double(10000.), + ADCAmplHBMax = cms.double(300000.), + ADCAmplHEMin = cms.double(20000.), + ADCAmplHEMax = cms.double(300000.), + ADCAmplHFMin = cms.double(50.), + ADCAmplHFMax = cms.double(9000.), + ADCAmplHOMin = cms.double(50.), + ADCAmplHOMax = cms.double(9000.), + # + # to see channels w/ PedestalSigma < cut + #Verbosity = cms.untracked.int32(-57), + pedestalwHBMax = cms.double(0.1), + pedestalwHEMax = cms.double(0.1), + pedestalwHFMax = cms.double(0.4), + pedestalwHOMax = cms.double(0.1), + # + # to see channels for pedestal < cut + pedestalHBMax = cms.double(0.1), + pedestalHEMax = cms.double(0.6), + pedestalHFMax = cms.double(0.8), + pedestalHOMax = cms.double(0.1), + # + # + # CALIBRATION channels: + # + # for BAD HBHEHOHF CALIBRATION channels from study on ADC amplitude + # cuts for Laser runs: + #calibrADCHBMin = cms.double(15.0), + #calibrADCHEMin = cms.double(15.0), + #calibrADCHOMin = cms.double(15.0), + #calibrADCHFMin = cms.double(15.0), + # cuts for LED runs: + calibrADCHBMin = cms.double(1000.), + calibrADCHBMax = cms.double(100000000.), + calibrADCHEMin = cms.double(1000.), + calibrADCHEMax = cms.double(100000000.), + calibrADCHOMin = cms.double(1000.), + calibrADCHOMax = cms.double(100000000.), + calibrADCHFMin = cms.double(100.), + calibrADCHFMax = cms.double(100000000.), + + # for BAD HBHEHOHF CALIBRATION channels from study on shape Ratio + calibrRatioHBMin = cms.double(0.76), + calibrRatioHBMax = cms.double(0.94), + calibrRatioHEMin = cms.double(0.76), + calibrRatioHEMax = cms.double(0.94), + calibrRatioHOMin = cms.double(0.85), + calibrRatioHOMax = cms.double(0.99), + calibrRatioHFMin = cms.double(0.5), + calibrRatioHFMax = cms.double(0.8), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmax + calibrTSmaxHBMin = cms.double(1.50), + calibrTSmaxHBMax = cms.double(2.50), + calibrTSmaxHEMin = cms.double(1.50), + calibrTSmaxHEMax = cms.double(2.50), + calibrTSmaxHOMin = cms.double(1.50), + calibrTSmaxHOMax = cms.double(2.50), + calibrTSmaxHFMin = cms.double(3.50), + calibrTSmaxHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmean + calibrTSmeanHBMin = cms.double(2.40), + calibrTSmeanHBMax = cms.double(3.70), + calibrTSmeanHEMin = cms.double(2.40), + calibrTSmeanHEMax = cms.double(3.70), + calibrTSmeanHOMin = cms.double(1.50), + calibrTSmeanHOMax = cms.double(2.70), + calibrTSmeanHFMin = cms.double(3.50), + calibrTSmeanHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on Width + calibrWidthHBMin = cms.double(1.30), + calibrWidthHBMax = cms.double(1.90), + calibrWidthHEMin = cms.double(1.30), + calibrWidthHEMax = cms.double(1.90), + calibrWidthHOMin = cms.double(0.70), + calibrWidthHOMax = cms.double(1.65), + calibrWidthHFMin = cms.double(0.30), + calibrWidthHFMax = cms.double(1.50), + # + # Special task of run or LS quality: + # + # flag for ask runs of LSs for RMT & CMT accordingly: + #=0-runs, =1-LSs + # keep for LED runs this flags =0 always + flagtoaskrunsorls = cms.int32(0), + # + # flag for choice of criterion of bad channels: + #=0-CapIdErr, =1-Ratio, =2-Width, =3-TSmax, =4-TSmean, =5-adcAmplitud + # keep for CMT (global runs) this flags =0 always + flagtodefinebadchannel = cms.int32(0), + #how many bins you want on the plots:better to choice (#LS+1) + howmanybinsonplots = cms.int32(25), + # + # ls - range for RBX study (and ??? perhaps for gain stability via abort gap): + lsmin = cms.int32(1), + #lsmax = cms.int32(620), + lsmax = cms.int32(2600), + # + flagabortgaprejected = cms.int32(1), + bcnrejectedlow = cms.int32(3446), + bcnrejectedhigh= cms.int32(3564), + # + # flag cpu time reducing + #=0-all plots, =1-optimized number of plots (for Global runs) + flagcpuoptimization = cms.int32(0), + # + # flag for ask type of Normalization for CMT estimators: + #=0-normalizationOn#evOfLS; =1-averageVariable-normalizationOn#entriesInLS; + flagestimatornormalization = cms.int32(1), + # + # + # cuts on Nbadchannels to see LS dependences: + # Verbosity = cms.untracked.int32(-77), + # to select abnormal events,for which Nbcs > this limits + lsdep_cut1_peak_HBdepth1 = cms.int32(20), + lsdep_cut1_peak_HBdepth2 = cms.int32(7), + lsdep_cut1_peak_HEdepth1 = cms.int32(16), + lsdep_cut1_peak_HEdepth2 = cms.int32(13), + lsdep_cut1_peak_HEdepth3 = cms.int32(4), + lsdep_cut1_peak_HFdepth1 = cms.int32(10), + lsdep_cut1_peak_HFdepth2 = cms.int32(5), + lsdep_cut1_peak_HOdepth4 = cms.int32(45), + # to select events with Nbcs > this limits + lsdep_cut3_max_HBdepth1 = cms.int32(19), + lsdep_cut3_max_HBdepth2 = cms.int32(6), + lsdep_cut3_max_HEdepth1 = cms.int32(15), + lsdep_cut3_max_HEdepth2 = cms.int32(12), + lsdep_cut3_max_HEdepth3 = cms.int32(3), + lsdep_cut3_max_HFdepth1 = cms.int32(9), + lsdep_cut3_max_HFdepth2 = cms.int32(4), + lsdep_cut3_max_HOdepth4 = cms.int32(40), + # + # + #old was for runs: + # nbadchannels1 = cms.int32(7), + # nbadchannels2 = cms.int32(12), + # nbadchannels3 = cms.int32(50), + # + #Verbosity = cms.untracked.int32(-79), + # cuts on Estimator1 to see LS dependences: + lsdep_estimator1_HBdepth1 = cms.double(2500.), + lsdep_estimator1_HBdepth2 = cms.double(2500.), + lsdep_estimator1_HBdepth3 = cms.double(2500.), + lsdep_estimator1_HBdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth1 = cms.double(2500.), + lsdep_estimator1_HEdepth2 = cms.double(2500.), + lsdep_estimator1_HEdepth3 = cms.double(2500.), + lsdep_estimator1_HEdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth5 = cms.double(2500.), + lsdep_estimator1_HEdepth6 = cms.double(2500.), + lsdep_estimator1_HEdepth7 = cms.double(2500.), + lsdep_estimator1_HFdepth1 = cms.double(2500.), + lsdep_estimator1_HFdepth2 = cms.double(2500.), + lsdep_estimator1_HFdepth3 = cms.double(2500.), + lsdep_estimator1_HFdepth4 = cms.double(2500.), + lsdep_estimator1_HOdepth4 = cms.double(2500.), + # cuts on Estimator2 to see LS dependences: + lsdep_estimator2_HBdepth1 = cms.double(7.), + lsdep_estimator2_HBdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth1 = cms.double(7.), + lsdep_estimator2_HEdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth3 = cms.double(7.), + lsdep_estimator2_HFdepth1 = cms.double(7.), + lsdep_estimator2_HFdepth2 = cms.double(7.), + lsdep_estimator2_HOdepth4 = cms.double(7.), + # cuts on Estimator3 to see LS dependences: + lsdep_estimator3_HBdepth1 = cms.double(7.), + lsdep_estimator3_HBdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth1 = cms.double(7.), + lsdep_estimator3_HEdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth3 = cms.double(7.), + lsdep_estimator3_HFdepth1 = cms.double(7.), + lsdep_estimator3_HFdepth2 = cms.double(7.), + lsdep_estimator3_HOdepth4 = cms.double(7.), + # cuts on Estimator4 to see LS dependences: + lsdep_estimator4_HBdepth1 = cms.double(5.), + lsdep_estimator4_HBdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth1 = cms.double(5.), + lsdep_estimator4_HEdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth3 = cms.double(5.), + lsdep_estimator4_HFdepth1 = cms.double(5.), + lsdep_estimator4_HFdepth2 = cms.double(5.), + lsdep_estimator4_HOdepth4 = cms.double(5.), + # cuts on Estimator5 to see LS dependences: + lsdep_estimator5_HBdepth1 = cms.double(1.8), + lsdep_estimator5_HBdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth1 = cms.double(1.8), + lsdep_estimator5_HEdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth3 = cms.double(1.8), + lsdep_estimator5_HFdepth1 = cms.double(1.8), + lsdep_estimator5_HFdepth2 = cms.double(1.8), + lsdep_estimator5_HOdepth4 = cms.double(1.8), + # + # + #Verbosity = cms.untracked.int32(-81), + #Verbosity = cms.untracked.int32(-82), + #Verbosity = cms.untracked.int32(-83), + # + # use ADC amplitude: + useADCmassive = cms.untracked.bool(True), + useADCfC = cms.untracked.bool(False), + useADCcounts = cms.untracked.bool(False), + # + # Pedestals in fC + #usePedestalSubtraction = cms.untracked.bool(True), + usePedestalSubtraction = cms.untracked.bool(False), + # + # for possible ignoring of channels w/o signal, apply same cut for + # HBHEHFHO on Amplitude, usable for all Estimators 1,2,3,4,5: + # forallestimators_amplitude_bigger = cms.double(10.), + forallestimators_amplitude_bigger = cms.double(-100.), + # + # + # + #usecontinuousnumbering = cms.untracked.bool(False), + usecontinuousnumbering = cms.untracked.bool(True), + # + # + # + hcalCalibDigiCollectionTag = cms.InputTag('hcalDigis'), + hbheDigiCollectionTag = cms.InputTag('hcalDigis'), + hoDigiCollectionTag = cms.InputTag('hcalDigis'), + hfDigiCollectionTag = cms.InputTag('hcalDigis'), + # + # + # + # + #for upgrade: --------------------------------------------------------- + hbheQIE11DigiCollectionTag = cms.InputTag('hcalDigis'), + hbheQIE10DigiCollectionTag = cms.InputTag('hcalDigis'), + # flag to use either only old QIE8 digiCollections or only new QIE10,11 digiCollections + #=0-all digiCollections(default for normal running), =1-only old QIE8 digiCollections, + #=2-only new QIE1011 digiCollections, =3-only new QIE1011 digiCollections w/o new high depthes + #=4-2016fall, =5-2016fall w/o new high depthes, =6-2017bebin, =7-2017bebin w/o new high depthes in HEonly + #=8--2017bebin w/o new high depthes, =9-all digiCollections w/o new high depthes + # flag HBHE8 HBHE11 HF8 HF10 comments: + # 0 + + + + all + # 1 + - + - old + # 2 - + - + new + # 3 - + - + new w/o high depthes + # 4 + - + + 2016fall + # 5 + - + + 2016fall w/o high depthes + # 6 + + - + 2017 && 2018 && 2021 + # 7 + + - + 2017begin w/o high depthes in HEonly + # 8 + + - + 2017begin w/o high depthes + # 9 + + + + all w/o high depthes + # 10 + - - + 2017 w/o HEP17 + # + flagupgradeqie1011 = cms.int32(6), + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + # flaguseshunt = 1 or 6 (6 is default for global runs) + flaguseshunt = cms.int32(6), + # flagsipmcorrection: != 0 yes,apply; = 0 do not use; + flagsipmcorrection = cms.int32(1), + #end upgrade: --------------------------------------------------------- end upgrade + # + # + # for local LASER runs ONLY!!! to be > 0 (,else = 0) + flagLaserRaddam = cms.int32(0), + # for gaussian fit for local shunt1 (Gsel0) led low-intensity or ped ONLY!!! to be > 0 (,else = 0) + flagfitshunt1pedorledlowintensity = cms.int32(0), + # + splashesUpperLimit = cms.int32(10000), + # + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupDigi = cms.int32(1), + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupReco = cms.int32(1), + # + hbheInputSignalTag = cms.InputTag('hbherecoMBNZS'), + hbheInputNoiseTag = cms.InputTag('hbherecoNoise'), + hfInputSignalTag = cms.InputTag('hfrecoMBNZS'), + hfInputNoiseTag = cms.InputTag('hfrecoNoise'), + # + # + # + # + # + # + #HistOutFile = cms.untracked.string('LED_331370.root'), + #HistOutFile = cms.untracked.string(histodir+'/LED_'+runnumber+'.root'), + #MAPOutFile = cms.untracked.string('LogEleMapdb.h') + # + ##OutputFilePath = cms.string('/tmp/zhokin/'), + ##OutputFileExt = cms.string(''), + # + ) + +process.hcal_db_producer = cms.ESProducer("HcalDbProducer", + dump = cms.untracked.vstring(''), + file = cms.untracked.string('') +) +process.es_hardcode = cms.ESSource("HcalHardcodeCalibrations", + toGet = cms.untracked.vstring('QIEShape', + 'QIEData', + 'ChannelQuality', + 'HcalQIEData', + 'Pedestals', + 'PedestalWidths', + 'Gains', + 'GainWidths', + 'ZSThresholds', + 'RespCorrs') +) + +## Jula's recipe for too many files +#process.options = cms.untracked.PSet( +# wantSummary = cms.untracked.bool(False), +# Rethrow = cms.untracked.vstring("ProductNotFound"), # make this exception fatal +# fileMode = cms.untracked.string('NOMERGE') # no ordering needed, but calls endRun/beginRun etc. at file boundaries +#) + +######################################################################################## Global Tags for 2018 data taking : +# use twiki site to specify HLT reconstruction Global tags: +# https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions +# +# 100X_dataRun2_HLT_v2 for CMSSW_10_0_3 onwards CRUZET 2018 update of 0T templates for SiPixels +# 100X_dataRun2_HLT_v1 for CMSSW_10_0_0 onwards MWGRs 2018 first HLT GT for 2018 +# +# +############################################################################ GlobalTag :1+ good as 5 +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '100X_dataRun2_HLT_v2', '') + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data_FULL', '') + + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '101X_dataRun2_HLT_v7', '') + +# 2019 Ultra Legacy 2017 +#process.GlobalTag.globaltag = '106X_dataRun2_trackerAlignment2017_v1' +# 2019 Ultra Legacy 2018 test TkAl +#process.GlobalTag.globaltag = '106X_dataRun2_v17' +# 2019 Ultra Legacy 2018 +#process.GlobalTag.globaltag = '106X_dataRun2_newTkAl_v18' +# 2019 Ultra Legacy 2016 +#process.GlobalTag.globaltag = '106X_dataRun2_UL2016TkAl_v24' +#process.GlobalTag.globaltag = '105X_dataRun2_v8' + +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +from Configuration.AlCa.autoCond import autoCond +#process.GlobalTag.globaltag = '104X_dataRun2_v1' +#process.GlobalTag.globaltag = '105X_postLS2_design_v4' +process.GlobalTag.globaltag = '113X_dataRun3_HLT_v3' + + +############################################################################ +# V.EPSHTEIN: +#process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +#process.GlobalTag.globaltag = '100X_dataRun2_Prompt_Candidate_2018_01_31_16_01_36' +### +#process.hcal_db_producer = cms.ESProducer("HcalDbProducer", +# dump = cms.untracked.vstring(''), +# file = cms.untracked.string('') +#) +# +#process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), +# HcalFirstFED = cms.untracked.int32(700), +# InputLabel = cms.InputTag("source"), +# UnpackCalib = cms.untracked.bool(True), +# FEDs = cms.untracked.vint32(1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117), +#) +### +############################################################################ +process.load('Configuration.StandardSequences.RawToDigi_Data_cff') +process.hcalDigis.FilterDataQuality = cms.bool(False) +process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), + FilterDataQuality = cms.bool(False), + HcalFirstFED = cms.untracked.int32(700), + InputLabel = cms.InputTag("source"), + #InputLabel = cms.InputTag("rawDataCollector"), +) +#process.hcalDigis.FilterDataQuality = cms.bool(False) +#process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestal_cff") +process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestalLocal_cff") +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalMinBias_cff") +#process.load("ALCARECOHcalCalPedestalLocal_cff") +############################################################################ +#process.p = cms.Path(process.hcalDigis*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.minbiasana) + +process.p = cms.Path(process.hcalDigis*process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) + +# see /afs/cern.ch/work/z/zhokin/public/CMSSW_10_4_0_patch1/src/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalMinBias_cff.py +############################################################################ +process.MessageLogger = cms.Service("MessageLogger", + categories = cms.untracked.vstring(''), + destinations = cms.untracked.vstring('cout'), + debugModules = cms.untracked.vstring('*'), + cout = cms.untracked.PSet( + threshold = cms.untracked.string('WARNING'), + WARNING = cms.untracked.PSet(limit = cms.untracked.int32(0)) + ) + ) +############################################################################ + + + diff --git a/DPGAnalysis/HcalTools/python/remoteMonitoring_PEDESTAL_era2018_cfg.py b/DPGAnalysis/HcalTools/python/remoteMonitoring_PEDESTAL_era2018_cfg.py new file mode 100644 index 0000000000000..aa0a7cf0d9796 --- /dev/null +++ b/DPGAnalysis/HcalTools/python/remoteMonitoring_PEDESTAL_era2018_cfg.py @@ -0,0 +1,591 @@ +#eoscms ls -l /eos/cms/store/group/dpg_hcal/comm_hcal/USC/run327785/USC_327785.root +# choose run in /store/group/dpg_hcal/comm_hcal/USC/ +#how to run: cmsRun remoteMonitoring_PEDESTAL_era2018_cfg.py 325767 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/work/z/zhokin/hcal/voc2/CMSSW_11_1_0_pre3/src/DPGAnalysis/HcalTools/scripts/rmt + +import sys +import FWCore.ParameterSet.Config as cms +from Configuration.StandardSequences.Eras import eras +process = cms.Process("TEST", eras.Run2_2018) +#process = cms.Process("TEST", eras.Run3) +process.load("Configuration.StandardSequences.GeometryDB_cff") +process.load("CondCore.CondDB.CondDB_cfi") +process.load("EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi") +process.l1GtUnpack.DaqGtInputTag = 'source' +# from RelValAlCaPedestal_cfg_2018.py +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff') +process.load('Configuration.StandardSequences.Reconstruction_Data_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +#process.load('RecoLocalCalo.Configuration.hcalLocalReco_cff') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') + +##runnumber = sys.argv[2][4:-5] +runnumber = sys.argv[2] +rundir = sys.argv[3] +histodir = sys.argv[4] + +#print 'RUN = '+runnumber +#print 'Input file = '+rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +##print 'Input file = '+rundir+'/USC_'+runnumber+'.root' +#print 'Output file = '+histodir+'/PEDESTAL_'+runnumber+'.root' + +process.maxEvents = cms.untracked.PSet( +# input = cms.untracked.int32(100) + input = cms.untracked.int32(-1) + ) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string(histodir+'/PEDESTAL_'+runnumber+'.root') +# ,closeFileFast = cms.untracked.bool(True) + ) + + +#process.source = cms.Source("PoolSource", +process.source = cms.Source("HcalTBSource", + skipBadFiles=cms.untracked.bool(True), + firstLuminosityBlockForEachRun = cms.untracked.VLuminosityBlockID([]), + firstRun = cms.untracked.uint32(316584), +# firstRun = cms.untracked.uint32(330153), +# firstRun = cms.untracked.uint32(329416), + fileNames = cms.untracked.vstring( +rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +#rundir+'/USC_'+runnumber+'.root' +# '/store/group/dpg_hcal/comm_hcal/USC/run331370/USC_331370.root' + +), + secondaryFileNames = cms.untracked.vstring() + ) + +process.Analyzer = cms.EDAnalyzer("CMTRawAnalyzer", + # + Verbosity = cms.untracked.int32(0), + #Verbosity = cms.untracked.int32(-9062), + #Verbosity = cms.untracked.int32(-9063), + #Verbosity = cms.untracked.int32(-9064), + #Verbosity = cms.untracked.int32(-9065), + #Verbosity = cms.untracked.int32(-84), + #Verbosity = cms.untracked.int32(-91), + #Verbosity = cms.untracked.int32(-92), + # + MapCreation = cms.untracked.int32(1), + # + recordNtuples = cms.untracked.bool(False), + #recordNtuples = cms.untracked.bool(True), + maxNeventsInNtuple = cms.int32(1), + # + #recordHistoes = cms.untracked.bool(False), + recordHistoes = cms.untracked.bool(True), + # + ##scripts: zRunRatio34.C, zRunNbadchan.C + studyRunDependenceHist = cms.untracked.bool(True), + #studyRunDependenceHist = cms.untracked.bool(False), + # + ##scripts: zerrors.C + studyCapIDErrorsHist = cms.untracked.bool(True), + #studyCapIDErrorsHist = cms.untracked.bool(False), + # + ##scripts: zrms.C + studyRMSshapeHist = cms.untracked.bool(True), + #studyRMSshapeHist = cms.untracked.bool(False), + # + ##scripts: zratio34.C + studyRatioShapeHist = cms.untracked.bool(True), + #studyRatioShapeHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyADCAmplHist = cms.untracked.bool(True), + #studyADCAmplHist = cms.untracked.bool(False), + # + ##scripts: ztsmean.C + studyTSmeanShapeHist = cms.untracked.bool(True), + #studyTSmeanShapeHist = cms.untracked.bool(False), + # + ##scripts: ztsmaxa.C + studyTSmaxShapeHist = cms.untracked.bool(True), + #studyTSmaxShapeHist = cms.untracked.bool(False), + # + ##scripts: zcalib....C + studyCalibCellsHist = cms.untracked.bool(True), + #studyCalibCellsHist = cms.untracked.bool(False), + # + ##scripts: zdifampl.C + studyDiffAmplHist = cms.untracked.bool(True), + #studyDiffAmplHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyPedestalsHist = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + ##scripts: zamplpedcorr.C + studyPedestalCorrelations = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + # + ##DigiCollectionLabel = cms.untracked.InputTag("hcalDigis"), + #Verbosity = cms.untracked.int32(-54), + #Verbosity = cms.untracked.int32(-22), + #Verbosity = cms.untracked.int32(-11), + #Verbosity = cms.untracked.int32(-12), + #Verbosity = cms.untracked.int32(-13), + #Verbosity = cms.untracked.int32(-51), + #Verbosity = cms.untracked.int32(-24), + #Verbosity = cms.untracked.int32(-244), + #Verbosity = cms.untracked.int32(-233), + # + # + # Normal channels: + # + # -53 for BAD HBHEHF channels from study on shape Ratio + #Verbosity = cms.untracked.int32(-53), + ratioHBMin = cms.double(0.31), + ratioHBMax = cms.double(0.95), + ratioHEMin = cms.double(0.31), + ratioHEMax = cms.double(1.00), + ratioHFMin = cms.double(0.05), + ratioHFMax = cms.double(0.98), + ratioHOMin = cms.double(0.15), + ratioHOMax = cms.double(1.00), + # -54 for BAD HBHEHF channels from study on RMS of shapes + #Verbosity = cms.untracked.int32(-54), + rmsHBMin = cms.double(2.7), + rmsHBMax = cms.double(3.0), + rmsHEMin = cms.double(2.7), + rmsHEMax = cms.double(3.0), + rmsHFMin = cms.double(0.2), + rmsHFMax = cms.double(5.0), + rmsHOMin = cms.double(2.7), + rmsHOMax = cms.double(3.0), + # -55 for BAD HBHEHF channels from study on TSmean of shapes + #Verbosity = cms.untracked.int32(-55), + TSmeanHBMin = cms.double(4.5), + TSmeanHBMax = cms.double(4.6), + TSmeanHEMin = cms.double(4.5), + TSmeanHEMax = cms.double(4.6), + TSmeanHFMin = cms.double(2.0), + TSmeanHFMax = cms.double(7.0), + TSmeanHOMin = cms.double(4.5), + TSmeanHOMax = cms.double(4.6), + # -55 for BAD HBHEHF channels from study on TSmax of shapes + #Verbosity = cms.untracked.int32(-55), + TSpeakHBMin = cms.double(0.5), + TSpeakHBMax = cms.double(9.5), + TSpeakHEMin = cms.double(0.5), + TSpeakHEMax = cms.double(9.5), + TSpeakHFMin = cms.double(0.5), + TSpeakHFMax = cms.double(8.5), + TSpeakHOMin = cms.double(0.5), + TSpeakHOMax = cms.double(8.5), + # -56 for BAD HBHEHOHF channels from study on ADC Amplitude + #Verbosity = cms.untracked.int32(-56), + ADCAmplHBMin = cms.double(10000.), + ADCAmplHBMax = cms.double(300000.), + ADCAmplHEMin = cms.double(20000.), + ADCAmplHEMax = cms.double(300000.), + ADCAmplHFMin = cms.double(50.), + ADCAmplHFMax = cms.double(9000.), + ADCAmplHOMin = cms.double(50.), + ADCAmplHOMax = cms.double(9000.), + # + # to see channels w/ PedestalSigma < cut + #Verbosity = cms.untracked.int32(-57), + pedestalwHBMax = cms.double(0.1), + pedestalwHEMax = cms.double(0.1), + pedestalwHFMax = cms.double(0.4), + pedestalwHOMax = cms.double(0.1), + # + # to see channels for pedestal < cut + pedestalHBMax = cms.double(0.1), + pedestalHEMax = cms.double(0.6), + pedestalHFMax = cms.double(0.8), + pedestalHOMax = cms.double(0.1), + # + # + # CALIBRATION channels: + # + # for BAD HBHEHOHF CALIBRATION channels from study on ADC amplitude + # cuts for Laser runs: + #calibrADCHBMin = cms.double(15.0), + #calibrADCHEMin = cms.double(15.0), + #calibrADCHOMin = cms.double(15.0), + #calibrADCHFMin = cms.double(15.0), + # cuts for PEDESTAL runs: + calibrADCHBMin = cms.double(1000.), + calibrADCHBMax = cms.double(100000000.), + calibrADCHEMin = cms.double(1000.), + calibrADCHEMax = cms.double(100000000.), + calibrADCHOMin = cms.double(1000.), + calibrADCHOMax = cms.double(100000000.), + calibrADCHFMin = cms.double(100.), + calibrADCHFMax = cms.double(100000000.), + + # for BAD HBHEHOHF CALIBRATION channels from study on shape Ratio + calibrRatioHBMin = cms.double(0.76), + calibrRatioHBMax = cms.double(0.94), + calibrRatioHEMin = cms.double(0.76), + calibrRatioHEMax = cms.double(0.94), + calibrRatioHOMin = cms.double(0.85), + calibrRatioHOMax = cms.double(0.99), + calibrRatioHFMin = cms.double(0.5), + calibrRatioHFMax = cms.double(0.8), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmax + calibrTSmaxHBMin = cms.double(1.50), + calibrTSmaxHBMax = cms.double(2.50), + calibrTSmaxHEMin = cms.double(1.50), + calibrTSmaxHEMax = cms.double(2.50), + calibrTSmaxHOMin = cms.double(1.50), + calibrTSmaxHOMax = cms.double(2.50), + calibrTSmaxHFMin = cms.double(3.50), + calibrTSmaxHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmean + calibrTSmeanHBMin = cms.double(2.40), + calibrTSmeanHBMax = cms.double(3.70), + calibrTSmeanHEMin = cms.double(2.40), + calibrTSmeanHEMax = cms.double(3.70), + calibrTSmeanHOMin = cms.double(1.50), + calibrTSmeanHOMax = cms.double(2.70), + calibrTSmeanHFMin = cms.double(3.50), + calibrTSmeanHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on Width + calibrWidthHBMin = cms.double(1.30), + calibrWidthHBMax = cms.double(1.90), + calibrWidthHEMin = cms.double(1.30), + calibrWidthHEMax = cms.double(1.90), + calibrWidthHOMin = cms.double(0.70), + calibrWidthHOMax = cms.double(1.65), + calibrWidthHFMin = cms.double(0.30), + calibrWidthHFMax = cms.double(1.50), + # + # Special task of run or LS quality: + # + # flag for ask runs of LSs for RMT & CMT accordingly: + #=0-runs, =1-LSs + # keep for PEDESTAL runs this flags =0 always + flagtoaskrunsorls = cms.int32(0), + # + # flag for choice of criterion of bad channels: + #=0-CapIdErr, =1-Ratio, =2-Width, =3-TSmax, =4-TSmean, =5-adcAmplitud + # keep for CMT (global runs) this flags =0 always + flagtodefinebadchannel = cms.int32(0), + #how many bins you want on the plots:better to choice (#LS+1) + howmanybinsonplots = cms.int32(25), + # + # ls - range for RBX study (and ??? perhaps for gain stability via abort gap): + lsmin = cms.int32(1), + #lsmax = cms.int32(620), + lsmax = cms.int32(2600), + # + flagabortgaprejected = cms.int32(1), + bcnrejectedlow = cms.int32(3446), + bcnrejectedhigh= cms.int32(3564), + # + # flag cpu time reducing + #=0-all plots, =1-optimized number of plots (for Global runs) + flagcpuoptimization = cms.int32(0), + # + # flag for ask type of Normalization for CMT estimators: + #=0-normalizationOn#evOfLS; =1-averageVariable-normalizationOn#entriesInLS; + flagestimatornormalization = cms.int32(1), + # + # + # cuts on Nbadchannels to see LS dependences: + # Verbosity = cms.untracked.int32(-77), + # to select abnormal events,for which Nbcs > this limits + lsdep_cut1_peak_HBdepth1 = cms.int32(20), + lsdep_cut1_peak_HBdepth2 = cms.int32(7), + lsdep_cut1_peak_HEdepth1 = cms.int32(16), + lsdep_cut1_peak_HEdepth2 = cms.int32(13), + lsdep_cut1_peak_HEdepth3 = cms.int32(4), + lsdep_cut1_peak_HFdepth1 = cms.int32(10), + lsdep_cut1_peak_HFdepth2 = cms.int32(5), + lsdep_cut1_peak_HOdepth4 = cms.int32(45), + # to select events with Nbcs > this limits + lsdep_cut3_max_HBdepth1 = cms.int32(19), + lsdep_cut3_max_HBdepth2 = cms.int32(6), + lsdep_cut3_max_HEdepth1 = cms.int32(15), + lsdep_cut3_max_HEdepth2 = cms.int32(12), + lsdep_cut3_max_HEdepth3 = cms.int32(3), + lsdep_cut3_max_HFdepth1 = cms.int32(9), + lsdep_cut3_max_HFdepth2 = cms.int32(4), + lsdep_cut3_max_HOdepth4 = cms.int32(40), + # + # + #old was for runs: + # nbadchannels1 = cms.int32(7), + # nbadchannels2 = cms.int32(12), + # nbadchannels3 = cms.int32(50), + # + #Verbosity = cms.untracked.int32(-79), + # cuts on Estimator1 to see LS dependences: + lsdep_estimator1_HBdepth1 = cms.double(2500.), + lsdep_estimator1_HBdepth2 = cms.double(2500.), + lsdep_estimator1_HBdepth3 = cms.double(2500.), + lsdep_estimator1_HBdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth1 = cms.double(2500.), + lsdep_estimator1_HEdepth2 = cms.double(2500.), + lsdep_estimator1_HEdepth3 = cms.double(2500.), + lsdep_estimator1_HEdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth5 = cms.double(2500.), + lsdep_estimator1_HEdepth6 = cms.double(2500.), + lsdep_estimator1_HEdepth7 = cms.double(2500.), + lsdep_estimator1_HFdepth1 = cms.double(2500.), + lsdep_estimator1_HFdepth2 = cms.double(2500.), + lsdep_estimator1_HFdepth3 = cms.double(2500.), + lsdep_estimator1_HFdepth4 = cms.double(2500.), + lsdep_estimator1_HOdepth4 = cms.double(2500.), + # cuts on Estimator2 to see LS dependences: + lsdep_estimator2_HBdepth1 = cms.double(7.), + lsdep_estimator2_HBdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth1 = cms.double(7.), + lsdep_estimator2_HEdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth3 = cms.double(7.), + lsdep_estimator2_HFdepth1 = cms.double(7.), + lsdep_estimator2_HFdepth2 = cms.double(7.), + lsdep_estimator2_HOdepth4 = cms.double(7.), + # cuts on Estimator3 to see LS dependences: + lsdep_estimator3_HBdepth1 = cms.double(7.), + lsdep_estimator3_HBdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth1 = cms.double(7.), + lsdep_estimator3_HEdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth3 = cms.double(7.), + lsdep_estimator3_HFdepth1 = cms.double(7.), + lsdep_estimator3_HFdepth2 = cms.double(7.), + lsdep_estimator3_HOdepth4 = cms.double(7.), + # cuts on Estimator4 to see LS dependences: + lsdep_estimator4_HBdepth1 = cms.double(5.), + lsdep_estimator4_HBdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth1 = cms.double(5.), + lsdep_estimator4_HEdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth3 = cms.double(5.), + lsdep_estimator4_HFdepth1 = cms.double(5.), + lsdep_estimator4_HFdepth2 = cms.double(5.), + lsdep_estimator4_HOdepth4 = cms.double(5.), + # cuts on Estimator5 to see LS dependences: + lsdep_estimator5_HBdepth1 = cms.double(1.8), + lsdep_estimator5_HBdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth1 = cms.double(1.8), + lsdep_estimator5_HEdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth3 = cms.double(1.8), + lsdep_estimator5_HFdepth1 = cms.double(1.8), + lsdep_estimator5_HFdepth2 = cms.double(1.8), + lsdep_estimator5_HOdepth4 = cms.double(1.8), + # + # + #Verbosity = cms.untracked.int32(-81), + #Verbosity = cms.untracked.int32(-82), + #Verbosity = cms.untracked.int32(-83), + # + # use ADC amplitude: + useADCmassive = cms.untracked.bool(True), + useADCfC = cms.untracked.bool(False), + useADCcounts = cms.untracked.bool(False), + # + # Pedestals in fC + #usePedestalSubtraction = cms.untracked.bool(True), + usePedestalSubtraction = cms.untracked.bool(False), + # + # for possible ignoring of channels w/o signal, apply same cut for + # HBHEHFHO on Amplitude, usable for all Estimators 1,2,3,4,5: + # forallestimators_amplitude_bigger = cms.double(10.), + forallestimators_amplitude_bigger = cms.double(-100.), + # + # + # + #usecontinuousnumbering = cms.untracked.bool(False), + usecontinuousnumbering = cms.untracked.bool(True), + # + # + # + hcalCalibDigiCollectionTag = cms.InputTag('hcalDigis'), + hbheDigiCollectionTag = cms.InputTag('hcalDigis'), + hoDigiCollectionTag = cms.InputTag('hcalDigis'), + hfDigiCollectionTag = cms.InputTag('hcalDigis'), + # + # + # + # + #for upgrade: --------------------------------------------------------- + hbheQIE11DigiCollectionTag = cms.InputTag('hcalDigis'), + hbheQIE10DigiCollectionTag = cms.InputTag('hcalDigis'), + # flag to use either only old QIE8 digiCollections or only new QIE10,11 digiCollections + #=0-all digiCollections(default for normal running), =1-only old QIE8 digiCollections, + #=2-only new QIE1011 digiCollections, =3-only new QIE1011 digiCollections w/o new high depthes + #=4-2016fall, =5-2016fall w/o new high depthes, =6-2017bebin, =7-2017bebin w/o new high depthes in HEonly + #=8--2017bebin w/o new high depthes, =9-all digiCollections w/o new high depthes + # flag HBHE8 HBHE11 HF8 HF10 comments: + # 0 + + + + all + # 1 + - + - old + # 2 - + - + new + # 3 - + - + new w/o high depthes + # 4 + - + + 2016fall + # 5 + - + + 2016fall w/o high depthes + # 6 + + - + 2017 && 2018 && 2021 + # 7 + + - + 2017begin w/o high depthes in HEonly + # 8 + + - + 2017begin w/o high depthes + # 9 + + + + all w/o high depthes + # 10 + - - + 2017 w/o HEP17 + # + flagupgradeqie1011 = cms.int32(6), + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + # flaguseshunt = 1 or 6 (6 is default for global runs) + flaguseshunt = cms.int32(6), + # flagsipmcorrection: != 0 yes,apply; = 0 do not use; + flagsipmcorrection = cms.int32(1), + #end upgrade: --------------------------------------------------------- end upgrade + # + # + # for local LASER runs ONLY!!! to be > 0 (,else = 0) + flagLaserRaddam = cms.int32(0), + # for gaussian fit for local shunt1 (Gsel0) led low-intensity or ped ONLY!!! to be > 0 (,else = 0) + flagfitshunt1pedorledlowintensity = cms.int32(0), + # + splashesUpperLimit = cms.int32(10000), + # + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupDigi = cms.int32(1), + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupReco = cms.int32(1), + # + hbheInputSignalTag = cms.InputTag('hbherecoMBNZS'), + hbheInputNoiseTag = cms.InputTag('hbherecoNoise'), + hfInputSignalTag = cms.InputTag('hfrecoMBNZS'), + hfInputNoiseTag = cms.InputTag('hfrecoNoise'), + # + # + # + # + # + # + #HistOutFile = cms.untracked.string('PEDESTAL_331370.root'), + #HistOutFile = cms.untracked.string(histodir+'/PEDESTAL_'+runnumber+'.root'), + #MAPOutFile = cms.untracked.string('LogEleMapdb.h') + # + ##OutputFilePath = cms.string('/tmp/zhokin/'), + ##OutputFileExt = cms.string(''), + # + ) + +process.hcal_db_producer = cms.ESProducer("HcalDbProducer", + dump = cms.untracked.vstring(''), + file = cms.untracked.string('') +) +process.es_hardcode = cms.ESSource("HcalHardcodeCalibrations", + toGet = cms.untracked.vstring('QIEShape', + 'QIEData', + 'ChannelQuality', + 'HcalQIEData', + 'Pedestals', + 'PedestalWidths', + 'Gains', + 'GainWidths', + 'ZSThresholds', + 'RespCorrs') +) + +## Jula's recipe for too many files +#process.options = cms.untracked.PSet( +# wantSummary = cms.untracked.bool(False), +# Rethrow = cms.untracked.vstring("ProductNotFound"), # make this exception fatal +# fileMode = cms.untracked.string('NOMERGE') # no ordering needed, but calls endRun/beginRun etc. at file boundaries +#) + +######################################################################################## Global Tags for 2018 data taking : +# use twiki site to specify HLT reconstruction Global tags: +# https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions +# +# 100X_dataRun2_HLT_v2 for CMSSW_10_0_3 onwards CRUZET 2018 update of 0T templates for SiPixels +# 100X_dataRun2_HLT_v1 for CMSSW_10_0_0 onwards MWGRs 2018 first HLT GT for 2018 +# +# +############################################################################ GlobalTag :1+ good as 5 +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '100X_dataRun2_HLT_v2', '') + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data_FULL', '') + + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '101X_dataRun2_HLT_v7', '') + +# 2019 Ultra Legacy 2017 +#process.GlobalTag.globaltag = '106X_dataRun2_trackerAlignment2017_v1' +# 2019 Ultra Legacy 2018 test TkAl +#process.GlobalTag.globaltag = '106X_dataRun2_v17' +# 2019 Ultra Legacy 2018 +#process.GlobalTag.globaltag = '106X_dataRun2_newTkAl_v18' +# 2019 Ultra Legacy 2016 +#process.GlobalTag.globaltag = '106X_dataRun2_UL2016TkAl_v24' +#process.GlobalTag.globaltag = '105X_dataRun2_v8' + +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +from Configuration.AlCa.autoCond import autoCond +process.GlobalTag.globaltag = '104X_dataRun2_v1' +#process.GlobalTag.globaltag = '105X_postLS2_design_v4' +#process.GlobalTag.globaltag = '106X_dataRun3_HLT_v3' + + +############################################################################ +# V.EPSHTEIN: +#process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +#process.GlobalTag.globaltag = '100X_dataRun2_Prompt_Candidate_2018_01_31_16_01_36' +### +#process.hcal_db_producer = cms.ESProducer("HcalDbProducer", +# dump = cms.untracked.vstring(''), +# file = cms.untracked.string('') +#) +# +#process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), +# HcalFirstFED = cms.untracked.int32(700), +# InputLabel = cms.InputTag("source"), +# UnpackCalib = cms.untracked.bool(True), +# FEDs = cms.untracked.vint32(1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117), +#) +### +############################################################################ +process.load('Configuration.StandardSequences.RawToDigi_Data_cff') +process.hcalDigis.FilterDataQuality = cms.bool(False) +process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), + FilterDataQuality = cms.bool(False), + HcalFirstFED = cms.untracked.int32(700), + InputLabel = cms.InputTag("source"), + #InputLabel = cms.InputTag("rawDataCollector"), +) +#process.hcalDigis.FilterDataQuality = cms.bool(False) +#process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestal_cff") +process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestalLocal_cff") +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalMinBias_cff") +#process.load("ALCARECOHcalCalPedestalLocal_cff") +############################################################################ +#process.p = cms.Path(process.hcalDigis*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.minbiasana) + +process.p = cms.Path(process.hcalDigis*process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) + +# see /afs/cern.ch/work/z/zhokin/public/CMSSW_10_4_0_patch1/src/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalMinBias_cff.py +############################################################################ +process.MessageLogger = cms.Service("MessageLogger", + categories = cms.untracked.vstring(''), + destinations = cms.untracked.vstring('cout'), + debugModules = cms.untracked.vstring('*'), + cout = cms.untracked.PSet( + threshold = cms.untracked.string('WARNING'), + WARNING = cms.untracked.PSet(limit = cms.untracked.int32(0)) + ) + ) +############################################################################ + + + diff --git a/DPGAnalysis/HcalTools/python/remoteMonitoring_PEDESTAL_era2019_cfg.py b/DPGAnalysis/HcalTools/python/remoteMonitoring_PEDESTAL_era2019_cfg.py new file mode 100644 index 0000000000000..ec5c57e07ad5d --- /dev/null +++ b/DPGAnalysis/HcalTools/python/remoteMonitoring_PEDESTAL_era2019_cfg.py @@ -0,0 +1,590 @@ +#eoscms ls -l /eos/cms/store/group/dpg_hcal/comm_hcal/USC/run327785/USC_327785.root +# choose run in /store/group/dpg_hcal/comm_hcal/USC/ +#how to run: cmsRun remoteMonitoring_PEDESTAL_era2019_cfg.py 331301 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/work/z/zhokin/hcal/voc2/CMSSW_11_1_0_pre3/src/DPGAnalysis/HcalTools/scripts/rmt + +import sys +import FWCore.ParameterSet.Config as cms +from Configuration.StandardSequences.Eras import eras +#process = cms.Process("TEST", eras.Run2_2018) +process = cms.Process("TEST", eras.Run3) +process.load("Configuration.StandardSequences.GeometryDB_cff") +process.load("CondCore.CondDB.CondDB_cfi") +process.load("EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi") +process.l1GtUnpack.DaqGtInputTag = 'source' +# from RelValAlCaPedestal_cfg_2018.py +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff') +process.load('Configuration.StandardSequences.Reconstruction_Data_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +#process.load('RecoLocalCalo.Configuration.hcalLocalReco_cff') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') + +##runnumber = sys.argv[2][4:-5] +runnumber = sys.argv[2] +rundir = sys.argv[3] +histodir = sys.argv[4] + +#print 'RUN = '+runnumber +#print 'Input file = '+rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +##print 'Input file = '+rundir+'/USC_'+runnumber+'.root' +#print 'Output file = '+histodir+'/PEDESTAL_'+runnumber+'.root' + +process.maxEvents = cms.untracked.PSet( +# input = cms.untracked.int32(100) + input = cms.untracked.int32(-1) + ) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string(histodir+'/PEDESTAL_'+runnumber+'.root') +# ,closeFileFast = cms.untracked.bool(True) + ) + +#process.source = cms.Source("PoolSource", +process.source = cms.Source("HcalTBSource", + skipBadFiles=cms.untracked.bool(True), + firstLuminosityBlockForEachRun = cms.untracked.VLuminosityBlockID([]), + firstRun = cms.untracked.uint32(331370), +# firstRun = cms.untracked.uint32(330153), +# firstRun = cms.untracked.uint32(329416), + fileNames = cms.untracked.vstring( +rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +#rundir+'/USC_'+runnumber+'.root' +# '/store/group/dpg_hcal/comm_hcal/USC/run331370/USC_331370.root' + +), + secondaryFileNames = cms.untracked.vstring() + ) + +process.Analyzer = cms.EDAnalyzer("CMTRawAnalyzer", + # + Verbosity = cms.untracked.int32(0), + #Verbosity = cms.untracked.int32(-9062), + #Verbosity = cms.untracked.int32(-9063), + #Verbosity = cms.untracked.int32(-9064), + #Verbosity = cms.untracked.int32(-9065), + #Verbosity = cms.untracked.int32(-84), + #Verbosity = cms.untracked.int32(-91), + #Verbosity = cms.untracked.int32(-92), + # + MapCreation = cms.untracked.int32(1), + # + recordNtuples = cms.untracked.bool(False), + #recordNtuples = cms.untracked.bool(True), + maxNeventsInNtuple = cms.int32(1), + # + #recordHistoes = cms.untracked.bool(False), + recordHistoes = cms.untracked.bool(True), + # + ##scripts: zRunRatio34.C, zRunNbadchan.C + studyRunDependenceHist = cms.untracked.bool(True), + #studyRunDependenceHist = cms.untracked.bool(False), + # + ##scripts: zerrors.C + studyCapIDErrorsHist = cms.untracked.bool(True), + #studyCapIDErrorsHist = cms.untracked.bool(False), + # + ##scripts: zrms.C + studyRMSshapeHist = cms.untracked.bool(True), + #studyRMSshapeHist = cms.untracked.bool(False), + # + ##scripts: zratio34.C + studyRatioShapeHist = cms.untracked.bool(True), + #studyRatioShapeHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyADCAmplHist = cms.untracked.bool(True), + #studyADCAmplHist = cms.untracked.bool(False), + # + ##scripts: ztsmean.C + studyTSmeanShapeHist = cms.untracked.bool(True), + #studyTSmeanShapeHist = cms.untracked.bool(False), + # + ##scripts: ztsmaxa.C + studyTSmaxShapeHist = cms.untracked.bool(True), + #studyTSmaxShapeHist = cms.untracked.bool(False), + # + ##scripts: zcalib....C + studyCalibCellsHist = cms.untracked.bool(True), + #studyCalibCellsHist = cms.untracked.bool(False), + # + ##scripts: zdifampl.C + studyDiffAmplHist = cms.untracked.bool(True), + #studyDiffAmplHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyPedestalsHist = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + ##scripts: zamplpedcorr.C + studyPedestalCorrelations = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + # + ##DigiCollectionLabel = cms.untracked.InputTag("hcalDigis"), + #Verbosity = cms.untracked.int32(-54), + #Verbosity = cms.untracked.int32(-22), + #Verbosity = cms.untracked.int32(-11), + #Verbosity = cms.untracked.int32(-12), + #Verbosity = cms.untracked.int32(-13), + #Verbosity = cms.untracked.int32(-51), + #Verbosity = cms.untracked.int32(-24), + #Verbosity = cms.untracked.int32(-244), + #Verbosity = cms.untracked.int32(-233), + # + # + # Normal channels: + # + # -53 for BAD HBHEHF channels from study on shape Ratio + #Verbosity = cms.untracked.int32(-53), + ratioHBMin = cms.double(0.31), + ratioHBMax = cms.double(0.95), + ratioHEMin = cms.double(0.31), + ratioHEMax = cms.double(1.00), + ratioHFMin = cms.double(0.05), + ratioHFMax = cms.double(0.98), + ratioHOMin = cms.double(0.15), + ratioHOMax = cms.double(1.00), + # -54 for BAD HBHEHF channels from study on RMS of shapes + #Verbosity = cms.untracked.int32(-54), + rmsHBMin = cms.double(2.7), + rmsHBMax = cms.double(3.0), + rmsHEMin = cms.double(2.7), + rmsHEMax = cms.double(3.0), + rmsHFMin = cms.double(0.2), + rmsHFMax = cms.double(5.0), + rmsHOMin = cms.double(2.7), + rmsHOMax = cms.double(3.0), + # -55 for BAD HBHEHF channels from study on TSmean of shapes + #Verbosity = cms.untracked.int32(-55), + TSmeanHBMin = cms.double(4.5), + TSmeanHBMax = cms.double(4.6), + TSmeanHEMin = cms.double(4.5), + TSmeanHEMax = cms.double(4.6), + TSmeanHFMin = cms.double(2.0), + TSmeanHFMax = cms.double(7.0), + TSmeanHOMin = cms.double(4.5), + TSmeanHOMax = cms.double(4.6), + # -55 for BAD HBHEHF channels from study on TSmax of shapes + #Verbosity = cms.untracked.int32(-55), + TSpeakHBMin = cms.double(0.5), + TSpeakHBMax = cms.double(9.5), + TSpeakHEMin = cms.double(0.5), + TSpeakHEMax = cms.double(9.5), + TSpeakHFMin = cms.double(0.5), + TSpeakHFMax = cms.double(8.5), + TSpeakHOMin = cms.double(0.5), + TSpeakHOMax = cms.double(8.5), + # -56 for BAD HBHEHOHF channels from study on ADC Amplitude + #Verbosity = cms.untracked.int32(-56), + ADCAmplHBMin = cms.double(10000.), + ADCAmplHBMax = cms.double(300000.), + ADCAmplHEMin = cms.double(20000.), + ADCAmplHEMax = cms.double(300000.), + ADCAmplHFMin = cms.double(50.), + ADCAmplHFMax = cms.double(9000.), + ADCAmplHOMin = cms.double(50.), + ADCAmplHOMax = cms.double(9000.), + # + # to see channels w/ PedestalSigma < cut + #Verbosity = cms.untracked.int32(-57), + pedestalwHBMax = cms.double(0.1), + pedestalwHEMax = cms.double(0.1), + pedestalwHFMax = cms.double(0.4), + pedestalwHOMax = cms.double(0.1), + # + # to see channels for pedestal < cut + pedestalHBMax = cms.double(0.1), + pedestalHEMax = cms.double(0.6), + pedestalHFMax = cms.double(0.8), + pedestalHOMax = cms.double(0.1), + # + # + # CALIBRATION channels: + # + # for BAD HBHEHOHF CALIBRATION channels from study on ADC amplitude + # cuts for Laser runs: + #calibrADCHBMin = cms.double(15.0), + #calibrADCHEMin = cms.double(15.0), + #calibrADCHOMin = cms.double(15.0), + #calibrADCHFMin = cms.double(15.0), + # cuts for PEDESTAL runs: + calibrADCHBMin = cms.double(1000.), + calibrADCHBMax = cms.double(100000000.), + calibrADCHEMin = cms.double(1000.), + calibrADCHEMax = cms.double(100000000.), + calibrADCHOMin = cms.double(1000.), + calibrADCHOMax = cms.double(100000000.), + calibrADCHFMin = cms.double(100.), + calibrADCHFMax = cms.double(100000000.), + + # for BAD HBHEHOHF CALIBRATION channels from study on shape Ratio + calibrRatioHBMin = cms.double(0.76), + calibrRatioHBMax = cms.double(0.94), + calibrRatioHEMin = cms.double(0.76), + calibrRatioHEMax = cms.double(0.94), + calibrRatioHOMin = cms.double(0.85), + calibrRatioHOMax = cms.double(0.99), + calibrRatioHFMin = cms.double(0.5), + calibrRatioHFMax = cms.double(0.8), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmax + calibrTSmaxHBMin = cms.double(1.50), + calibrTSmaxHBMax = cms.double(2.50), + calibrTSmaxHEMin = cms.double(1.50), + calibrTSmaxHEMax = cms.double(2.50), + calibrTSmaxHOMin = cms.double(1.50), + calibrTSmaxHOMax = cms.double(2.50), + calibrTSmaxHFMin = cms.double(3.50), + calibrTSmaxHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmean + calibrTSmeanHBMin = cms.double(2.40), + calibrTSmeanHBMax = cms.double(3.70), + calibrTSmeanHEMin = cms.double(2.40), + calibrTSmeanHEMax = cms.double(3.70), + calibrTSmeanHOMin = cms.double(1.50), + calibrTSmeanHOMax = cms.double(2.70), + calibrTSmeanHFMin = cms.double(3.50), + calibrTSmeanHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on Width + calibrWidthHBMin = cms.double(1.30), + calibrWidthHBMax = cms.double(1.90), + calibrWidthHEMin = cms.double(1.30), + calibrWidthHEMax = cms.double(1.90), + calibrWidthHOMin = cms.double(0.70), + calibrWidthHOMax = cms.double(1.65), + calibrWidthHFMin = cms.double(0.30), + calibrWidthHFMax = cms.double(1.50), + # + # Special task of run or LS quality: + # + # flag for ask runs of LSs for RMT & CMT accordingly: + #=0-runs, =1-LSs + # keep for PEDESTAL runs this flags =0 always + flagtoaskrunsorls = cms.int32(0), + # + # flag for choice of criterion of bad channels: + #=0-CapIdErr, =1-Ratio, =2-Width, =3-TSmax, =4-TSmean, =5-adcAmplitud + # keep for CMT (global runs) this flags =0 always + flagtodefinebadchannel = cms.int32(0), + #how many bins you want on the plots:better to choice (#LS+1) + howmanybinsonplots = cms.int32(25), + # + # ls - range for RBX study (and ??? perhaps for gain stability via abort gap): + lsmin = cms.int32(1), + #lsmax = cms.int32(620), + lsmax = cms.int32(2600), + # + flagabortgaprejected = cms.int32(1), + bcnrejectedlow = cms.int32(3446), + bcnrejectedhigh= cms.int32(3564), + # + # flag cpu time reducing + #=0-all plots, =1-optimized number of plots (for Global runs) + flagcpuoptimization = cms.int32(0), + # + # flag for ask type of Normalization for CMT estimators: + #=0-normalizationOn#evOfLS; =1-averageVariable-normalizationOn#entriesInLS; + flagestimatornormalization = cms.int32(1), + # + # + # cuts on Nbadchannels to see LS dependences: + # Verbosity = cms.untracked.int32(-77), + # to select abnormal events,for which Nbcs > this limits + lsdep_cut1_peak_HBdepth1 = cms.int32(20), + lsdep_cut1_peak_HBdepth2 = cms.int32(7), + lsdep_cut1_peak_HEdepth1 = cms.int32(16), + lsdep_cut1_peak_HEdepth2 = cms.int32(13), + lsdep_cut1_peak_HEdepth3 = cms.int32(4), + lsdep_cut1_peak_HFdepth1 = cms.int32(10), + lsdep_cut1_peak_HFdepth2 = cms.int32(5), + lsdep_cut1_peak_HOdepth4 = cms.int32(45), + # to select events with Nbcs > this limits + lsdep_cut3_max_HBdepth1 = cms.int32(19), + lsdep_cut3_max_HBdepth2 = cms.int32(6), + lsdep_cut3_max_HEdepth1 = cms.int32(15), + lsdep_cut3_max_HEdepth2 = cms.int32(12), + lsdep_cut3_max_HEdepth3 = cms.int32(3), + lsdep_cut3_max_HFdepth1 = cms.int32(9), + lsdep_cut3_max_HFdepth2 = cms.int32(4), + lsdep_cut3_max_HOdepth4 = cms.int32(40), + # + # + #old was for runs: + # nbadchannels1 = cms.int32(7), + # nbadchannels2 = cms.int32(12), + # nbadchannels3 = cms.int32(50), + # + #Verbosity = cms.untracked.int32(-79), + # cuts on Estimator1 to see LS dependences: + lsdep_estimator1_HBdepth1 = cms.double(2500.), + lsdep_estimator1_HBdepth2 = cms.double(2500.), + lsdep_estimator1_HBdepth3 = cms.double(2500.), + lsdep_estimator1_HBdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth1 = cms.double(2500.), + lsdep_estimator1_HEdepth2 = cms.double(2500.), + lsdep_estimator1_HEdepth3 = cms.double(2500.), + lsdep_estimator1_HEdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth5 = cms.double(2500.), + lsdep_estimator1_HEdepth6 = cms.double(2500.), + lsdep_estimator1_HEdepth7 = cms.double(2500.), + lsdep_estimator1_HFdepth1 = cms.double(2500.), + lsdep_estimator1_HFdepth2 = cms.double(2500.), + lsdep_estimator1_HFdepth3 = cms.double(2500.), + lsdep_estimator1_HFdepth4 = cms.double(2500.), + lsdep_estimator1_HOdepth4 = cms.double(2500.), + # cuts on Estimator2 to see LS dependences: + lsdep_estimator2_HBdepth1 = cms.double(7.), + lsdep_estimator2_HBdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth1 = cms.double(7.), + lsdep_estimator2_HEdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth3 = cms.double(7.), + lsdep_estimator2_HFdepth1 = cms.double(7.), + lsdep_estimator2_HFdepth2 = cms.double(7.), + lsdep_estimator2_HOdepth4 = cms.double(7.), + # cuts on Estimator3 to see LS dependences: + lsdep_estimator3_HBdepth1 = cms.double(7.), + lsdep_estimator3_HBdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth1 = cms.double(7.), + lsdep_estimator3_HEdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth3 = cms.double(7.), + lsdep_estimator3_HFdepth1 = cms.double(7.), + lsdep_estimator3_HFdepth2 = cms.double(7.), + lsdep_estimator3_HOdepth4 = cms.double(7.), + # cuts on Estimator4 to see LS dependences: + lsdep_estimator4_HBdepth1 = cms.double(5.), + lsdep_estimator4_HBdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth1 = cms.double(5.), + lsdep_estimator4_HEdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth3 = cms.double(5.), + lsdep_estimator4_HFdepth1 = cms.double(5.), + lsdep_estimator4_HFdepth2 = cms.double(5.), + lsdep_estimator4_HOdepth4 = cms.double(5.), + # cuts on Estimator5 to see LS dependences: + lsdep_estimator5_HBdepth1 = cms.double(1.8), + lsdep_estimator5_HBdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth1 = cms.double(1.8), + lsdep_estimator5_HEdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth3 = cms.double(1.8), + lsdep_estimator5_HFdepth1 = cms.double(1.8), + lsdep_estimator5_HFdepth2 = cms.double(1.8), + lsdep_estimator5_HOdepth4 = cms.double(1.8), + # + # + #Verbosity = cms.untracked.int32(-81), + #Verbosity = cms.untracked.int32(-82), + #Verbosity = cms.untracked.int32(-83), + # + # use ADC amplitude: + useADCmassive = cms.untracked.bool(True), + useADCfC = cms.untracked.bool(False), + useADCcounts = cms.untracked.bool(False), + # + # Pedestals in fC + #usePedestalSubtraction = cms.untracked.bool(True), + usePedestalSubtraction = cms.untracked.bool(False), + # + # for possible ignoring of channels w/o signal, apply same cut for + # HBHEHFHO on Amplitude, usable for all Estimators 1,2,3,4,5: + # forallestimators_amplitude_bigger = cms.double(10.), + forallestimators_amplitude_bigger = cms.double(-100.), + # + # + # + #usecontinuousnumbering = cms.untracked.bool(False), + usecontinuousnumbering = cms.untracked.bool(True), + # + # + # + hcalCalibDigiCollectionTag = cms.InputTag('hcalDigis'), + hbheDigiCollectionTag = cms.InputTag('hcalDigis'), + hoDigiCollectionTag = cms.InputTag('hcalDigis'), + hfDigiCollectionTag = cms.InputTag('hcalDigis'), + # + # + # + # + #for upgrade: --------------------------------------------------------- + hbheQIE11DigiCollectionTag = cms.InputTag('hcalDigis'), + hbheQIE10DigiCollectionTag = cms.InputTag('hcalDigis'), + # flag to use either only old QIE8 digiCollections or only new QIE10,11 digiCollections + #=0-all digiCollections(default for normal running), =1-only old QIE8 digiCollections, + #=2-only new QIE1011 digiCollections, =3-only new QIE1011 digiCollections w/o new high depthes + #=4-2016fall, =5-2016fall w/o new high depthes, =6-2017bebin, =7-2017bebin w/o new high depthes in HEonly + #=8--2017bebin w/o new high depthes, =9-all digiCollections w/o new high depthes + # flag HBHE8 HBHE11 HF8 HF10 comments: + # 0 + + + + all + # 1 + - + - old + # 2 - + - + new + # 3 - + - + new w/o high depthes + # 4 + - + + 2016fall + # 5 + - + + 2016fall w/o high depthes + # 6 + + - + 2017 && 2018 && 2021 + # 7 + + - + 2017begin w/o high depthes in HEonly + # 8 + + - + 2017begin w/o high depthes + # 9 + + + + all w/o high depthes + # 10 + - - + 2017 w/o HEP17 + # + flagupgradeqie1011 = cms.int32(6), + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + # flaguseshunt = 1 or 6 (6 is default for global runs) + flaguseshunt = cms.int32(6), + # flagsipmcorrection: != 0 yes,apply; = 0 do not use; + flagsipmcorrection = cms.int32(1), + #end upgrade: --------------------------------------------------------- end upgrade + # + # + # for local LASER runs ONLY!!! to be > 0 (,else = 0) + flagLaserRaddam = cms.int32(0), + # for gaussian fit for local shunt1 (Gsel0) led low-intensity or ped ONLY!!! to be > 0 (,else = 0) + flagfitshunt1pedorledlowintensity = cms.int32(0), + # + splashesUpperLimit = cms.int32(10000), + # + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupDigi = cms.int32(1), + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupReco = cms.int32(1), + # + hbheInputSignalTag = cms.InputTag('hbherecoMBNZS'), + hbheInputNoiseTag = cms.InputTag('hbherecoNoise'), + hfInputSignalTag = cms.InputTag('hfrecoMBNZS'), + hfInputNoiseTag = cms.InputTag('hfrecoNoise'), + # + # + # + # + # + # + #HistOutFile = cms.untracked.string('PEDESTAL_331370.root'), + #HistOutFile = cms.untracked.string(histodir+'/PEDESTAL_'+runnumber+'.root'), + #MAPOutFile = cms.untracked.string('LogEleMapdb.h') + # + ##OutputFilePath = cms.string('/tmp/zhokin/'), + ##OutputFileExt = cms.string(''), + # + ) + +process.hcal_db_producer = cms.ESProducer("HcalDbProducer", + dump = cms.untracked.vstring(''), + file = cms.untracked.string('') +) +process.es_hardcode = cms.ESSource("HcalHardcodeCalibrations", + toGet = cms.untracked.vstring('QIEShape', + 'QIEData', + 'ChannelQuality', + 'HcalQIEData', + 'Pedestals', + 'PedestalWidths', + 'Gains', + 'GainWidths', + 'ZSThresholds', + 'RespCorrs') +) + +## Jula's recipe for too many files +#process.options = cms.untracked.PSet( +# wantSummary = cms.untracked.bool(False), +# Rethrow = cms.untracked.vstring("ProductNotFound"), # make this exception fatal +# fileMode = cms.untracked.string('NOMERGE') # no ordering needed, but calls endRun/beginRun etc. at file boundaries +#) + +######################################################################################## Global Tags for 2018 data taking : +# use twiki site to specify HLT reconstruction Global tags: +# https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions +# +# 100X_dataRun2_HLT_v2 for CMSSW_10_0_3 onwards CRUZET 2018 update of 0T templates for SiPixels +# 100X_dataRun2_HLT_v1 for CMSSW_10_0_0 onwards MWGRs 2018 first HLT GT for 2018 +# +# +############################################################################ GlobalTag :1+ good as 5 +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '100X_dataRun2_HLT_v2', '') + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data_FULL', '') + + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '101X_dataRun2_HLT_v7', '') + +# 2019 Ultra Legacy 2017 +#process.GlobalTag.globaltag = '106X_dataRun2_trackerAlignment2017_v1' +# 2019 Ultra Legacy 2018 test TkAl +#process.GlobalTag.globaltag = '106X_dataRun2_v17' +# 2019 Ultra Legacy 2018 +#process.GlobalTag.globaltag = '106X_dataRun2_newTkAl_v18' +# 2019 Ultra Legacy 2016 +#process.GlobalTag.globaltag = '106X_dataRun2_UL2016TkAl_v24' +#process.GlobalTag.globaltag = '105X_dataRun2_v8' + +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +from Configuration.AlCa.autoCond import autoCond +#process.GlobalTag.globaltag = '104X_dataRun2_v1' +#process.GlobalTag.globaltag = '105X_postLS2_design_v4' +process.GlobalTag.globaltag = '106X_dataRun3_HLT_v3' + + +############################################################################ +# V.EPSHTEIN: +#process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +#process.GlobalTag.globaltag = '100X_dataRun2_Prompt_Candidate_2018_01_31_16_01_36' +### +#process.hcal_db_producer = cms.ESProducer("HcalDbProducer", +# dump = cms.untracked.vstring(''), +# file = cms.untracked.string('') +#) +# +#process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), +# HcalFirstFED = cms.untracked.int32(700), +# InputLabel = cms.InputTag("source"), +# UnpackCalib = cms.untracked.bool(True), +# FEDs = cms.untracked.vint32(1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117), +#) +### +############################################################################ +process.load('Configuration.StandardSequences.RawToDigi_Data_cff') +process.hcalDigis.FilterDataQuality = cms.bool(False) +process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), + FilterDataQuality = cms.bool(False), + HcalFirstFED = cms.untracked.int32(700), + InputLabel = cms.InputTag("source"), + #InputLabel = cms.InputTag("rawDataCollector"), +) +#process.hcalDigis.FilterDataQuality = cms.bool(False) +#process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestal_cff") +process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestalLocal_cff") +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalMinBias_cff") +#process.load("ALCARECOHcalCalPedestalLocal_cff") +############################################################################ +#process.p = cms.Path(process.hcalDigis*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.minbiasana) + +process.p = cms.Path(process.hcalDigis*process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) + +# see /afs/cern.ch/work/z/zhokin/public/CMSSW_10_4_0_patch1/src/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalMinBias_cff.py +############################################################################ +process.MessageLogger = cms.Service("MessageLogger", + categories = cms.untracked.vstring(''), + destinations = cms.untracked.vstring('cout'), + debugModules = cms.untracked.vstring('*'), + cout = cms.untracked.PSet( + threshold = cms.untracked.string('WARNING'), + WARNING = cms.untracked.PSet(limit = cms.untracked.int32(0)) + ) + ) +############################################################################ + + + diff --git a/DPGAnalysis/HcalTools/scripts/cmt/Readme b/DPGAnalysis/HcalTools/scripts/cmt/Readme index 6edca2bfb9f39..dc972f2df9e1e 100644 --- a/DPGAnalysis/HcalTools/scripts/cmt/Readme +++ b/DPGAnalysis/HcalTools/scripts/cmt/Readme @@ -1,100 +1,164 @@ -see description in ROC instruction: -https://twiki.cern.ch/twiki/bin/view/CMS/OfflineHcalShift#using_GitHub_branch_CMSSW_10_4_X +--------------------- For RUN3: Global runs of 2022,... +====================================================== -soc7 CMSSW_10_4_X_cmt_10 +I. ------- Preparation of framework: +===================================== ssh lxplus -cd soc7 -setenv SCRAM_ARCH slc6_amd64_gcc700 + +cd your_working_dir + +setenv SCRAM_ARCH slc7_amd64_gcc900 + +cmsrel CMSSW_12_2_0_pre1 + +cd CMSSW_12_2_0_pre1/src + +cmsenv + +git cms-addpkg DPGAnalysis/HcalTools + +cd DPGAnalysis/HcalTools + +II. ----- Compilation of main code CMTRawAnalyzer.cc +====================================================== + +scram b + +cd your_dir_CMSSW_12_2_0_pre1/src/DPGAnalysis/HcalTools/scripts/cmt +( this is initial_dir ) + +III.------- Necessary corrections: +====================================== + +1) correct file "file_lists.csh" for dataset used + +2) correct file "runlist_run" to specify run list + +IVa. ------- Running interactively: +==================================== +setenv SCRAM_ARCH slc7_amd64_gcc900 cmsenv -voms-proxy-init -voms cms -rfc - -emacs runlist_test & -emacs a.py.end a.py.beg batchjobs120.csh checkoutput120.csh file_lists.csh runlist_test Readme mkcfg_new120.csh run_batch120.csh & -emacs RemoteMonitoringGLOBALTest.cc RemoteMonitoringMAP_GlobalTest.cc zadcampltest.cc ../../src/VeRawAnalyzer.cc - ----------------------------------------------------------------------------------------to run in batches: -./run_batch120.csh runlist_test -bjobs - - - -------------------------------------------- -------------------------------------------------------------------------------------------------- to find dataset: -311668 312101 - You have to have correct permissions for GRID and DAS access !!! Use: - voms-proxy-init -voms cms -rfc -Use DBS to clarify dataset=/ZeroBias/Run2017B-v1/RAW in file_lists.csh as for instance for run 297169 -https://cmsweb.cern.ch/das/request?view=list&limit=150&instance=prod%2Fglobal&input=dataset+run%3D283884 -by command: dataset run=297169 -Result is: Dataset: /ZeroBias/Run2017B-v1/RAW -emacs file_lists.csh & -------------------------------------------------------------------------------------------------- compilation of VeRawAnalyzer.cc: -cd ../../src/ -scram b -cd - ---------------------------------------------------------------------------------------- -// no batches , but only to create dir. w/ PYTHONs (for future interactive running): -./mkcfg_new120.csh runlist_test ---------------------------------------------------------------------------------------- future treatment of root files: -./checkoutput120.csh PYTHON_runlist_test longruns -./glu_runs_fromfile.csh longruns runlist_test - ---------------------------------------------------------------------------------------- - -eoscp Global_297169.root -/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos/Global_297169.root +voms-proxy-init -voms cms -rfc + +./mkcfg_new120.csh runlist_run + +- see, how many py-files in PYTHON_runlist_run dir.. + +- run ~ 15 jobs per PC: 1-15, 15-30, ...nn1- NN using commands: + +./run_interactive.csh runlist_run nn1 NN + +IVb. ------ Running using condor.jdl: +====================================== + +- specify if necessary the lines in file run_condor.csh : + +setenv SCRAM_ARCH slc7_amd64_gcc900 + +cmsrel CMSSW_12_2_0_pre1 + +cd CMSSW_12_2_0_pre1/src + +- and line with eos-directory, +where you are going to record the resulting root files: + +/eos/cms/store/user/zhokin/CMT/RootFilesToBeMarched/2022 + + +- specify the line "Transfer_Input_Files =" in file condor.jdl : +namely, correct path for CMTRawAnalyzer.cc, CMTRawAnalyzer.h and BuildFile.xml + +(and specify IF NECESSARY runlist_run name used "arguments = runlist_run ..." +or just as example: cp runlist_craft runlist_run) + +------ In advance, before condor starting issue commands: + +voms-proxy-init -voms cms -rfc + +voms-proxy-init -voms cms -rfc -out /afs/cern.ch/user/z/zhokin/private/x509up + +chmod +x /afs/cern.ch/user/z/zhokin/private/x509up + + +- to start, issue main command: + +condor_submit condor.jdl + +- running...... wait, check using condor commands like: + +condor_q +(see condor commands: https://twiki.cern.ch/twiki/bin/view/CMSPublic/CompOpsGlideinWMSCondorCommands ) +condor_history |grep zhokin +(condor_rm 3748513.0 (it's to remove all jobs 3748513.0)) + + see obtained root files in dir: + +cd /eos/cms/store/user/zhokin/CMT/RootFilesToBeMarched/2022 + +V. ------------------- Copying: +====================================== + + all good root files to be copied into /initial_dir/longruns/. +(example: +scp Global*.root /afs/cern.ch/work/z/zhokin/hcal/qq6/CMSSW_12_2_0_pre1/src/DPGAnalysis/HcalTools/scripts/cmt/longruns/. +) + check all root-files availability: + +cd /initial_dir +./checkoutput120.csh PYTHON_runlist_run longruns > tmp.txt + +see file tmp.txt and missed_run_parts to see which root file still to be reproduced: +crashed jobs to be re-runned interactively and copied into dir longruns/. + +- merging run-root-piecies into one big run-root file: + +./glu_runs_fromfile.csh longruns runlist_run + +- copy into /eos using examples like: + +eos cp Global_325001.root /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos/Global_325001.root +or +cp Global_555555.root /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos/Global_555555.root +cp Global_345821_1.root /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos/Global_345821.root + +- for check: eos ls -l /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos/ -./index_toAddOnlyNewRuns_EOS.sh runlist_test -eoscp OLDindex.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/OLDindex.html -eoscp index_draft.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/index.html ---------------------------------------------------------------------------------------- -./compile.csh RemoteMonitoringGLOBAL.cc -./compile.csh RemoteMonitoringMAP_Global.cc - -./CMT_EOS.sh runlist_test -./GlobalRMT_EOS.sh runlist_test ---------------------------------------------------------------------------------------- -========================================================================================================= new CMT with 10_4_X: -see Global Tag: -https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions - -cosmica 311668 312101 run HCAL vklyuchen - -file dataset=/ZeroBias/Run2016H-v1/RAW -run file=/ZeroBias/Run2016H/v1/RAW -file run=311668 -dataset run=311668 -Dataset: /MinimumBias/Commissioning2018-v1/RAW -Dataset: /Cosmics/Commissioning2018-v1/RAW -https://cmswbmoffshift.web.cern.ch/cmswbmoffshift/runregistry_offline/# - -https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions#Global_Tags_for_Data_Taking - -echo $SCRAM_ARCH -slc6_amd64_gcc700 ------------------------------------------------------------firefox !!!! tests !!! -----------------------------------------------------------1111 -on lxplus: -./compile.csh RemoteMonitoringGLOBALTest.cc -./RemoteMonitoringGLOBALTest.cc.exe Global_312101.root -or (./RemoteMonitoringMAP_GlobalFromRDM.cc.exe Global_312101.root Global_312101.root ) -on local PC: -firefox LumiList.html -rm *html *.png ----------------------------------------------------------2222 -./compile.csh RemoteMonitoringMAP_GlobalTest.cc -./RemoteMonitoringMAP_GlobalTest.cc.exe Global_312101.root Global_312101.root -on local PC: -firefox MAP.html -rm *html *.png - -============================================================================== workable area: -./compile.csh RemoteMonitoringGLOBALTest.cc -./compile.csh RemoteMonitoringMAP_GlobalTest.cc +VI. --- Three steps to provide visualization of new global-runs: +================================================================ + +- correct file "index_toAddOnlyNewRuns_EOS.sh" for "dasgoclient.. dataset=..." and +"k=" - number(!) of new-recorded global-runs and execute: +( for tests use also: index_toAddOnlyNewRunsCRAFT_EOS.sh , index_toAddOnlyNewRunsCosmics_EOS.sh runlist_test ) + 1) ./index_toAddOnlyNewRuns_EOS.sh runlist_run +(use for craft test: ./index_toAddOnlyNewRunsCRAFT_EOS.sh runlist_test ) + +eos cp OLDindex.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/OLDindex.html + +eos cp index_draft.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/index.html + +for check of new lines on CMT site see: +https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/CMT/ + +-------------------------------------- + +- in dir. .../macros/cmt/ ./compile.csh RemoteMonitoringGLOBAL.cc ./compile.csh RemoteMonitoringMAP_Global.cc + +- and again, in dir. /scripts/cmt/ execute: + 2) ./CMT_EOS.sh runlist_run (or if test use runlist_test ) +( a lot of printout.., wait a moment till the message:"CMT script done") + 3) ./GlobalRMT_EOS.sh runlist_run (or if test use runlist_test ) +(wait a moment till the message:"GlobalRMT script done") + See the results at https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/CMT/ + +-- IF NECESSARY: provide for each new run the CMTanalysis using Instruction below. + Edit default file CMTresults.html to provide the summary for each new run. +Copy each time corrected CMTresults.html file into /eos in corresponding dir. , +as is shown below : +cp CMTresults.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/GLOBAL_325001/CMTresults.html diff --git a/DPGAnalysis/HcalTools/scripts/cmt/Readme2 b/DPGAnalysis/HcalTools/scripts/cmt/Readme2 index 5789be9126ee0..7b7eb2dfb9ed4 100644 --- a/DPGAnalysis/HcalTools/scripts/cmt/Readme2 +++ b/DPGAnalysis/HcalTools/scripts/cmt/Readme2 @@ -1,151 +1,97 @@ ---------------------- For Global runs of 2021 -====================================================== +see description in ROC instruction: +https://twiki.cern.ch/twiki/bin/view/CMS/OfflineHcalShift#using_GitHub_branch_CMSSW_10_4_X +soc7 CMSSW_10_4_X_cmt_10 -I. ------- Preparation of framework: -===================================== ssh lxplus - -cd your_working_dir - -scram p -s CMSSW CMSSW_11_1_0 - -cd CMSSW_11_1_0/src - -setenv SCRAM_ARCH slc7_amd64_gcc820 - +cd soc7 +setenv SCRAM_ARCH slc6_amd64_gcc700 cmsenv +voms-proxy-init -voms cms -rfc + +emacs runlist_test & +emacs a.py.end a.py.beg batchjobs120.csh checkoutput120.csh file_lists.csh runlist_test Readme mkcfg_new120.csh run_batch120.csh & +emacs RemoteMonitoringGLOBALTest.cc RemoteMonitoringMAP_GlobalTest.cc zadcampltest.cc ../../src/VeRawAnalyzer.cc + +---------------------------------------------------------------------------------------to run in batches:(old) +./run_batch120.csh runlist_test +bjobs +------------------------------------------- +------------------------------------------------------------------------------------------------- to find dataset: +311668 312101 + You have to have correct permissions for GRID and DAS access !!! Use: + voms-proxy-init -voms cms -rfc +Use DBS to clarify dataset=/ZeroBias/Run2017B-v1/RAW in file_lists.csh as for instance for run 297169 +https://cmsweb.cern.ch/das/request?view=list&limit=150&instance=prod%2Fglobal&input=dataset+run%3D283884 +by command: dataset run=297169 +Result is: Dataset: /ZeroBias/Run2017B-v1/RAW +emacs file_lists.csh & +------------------------------------------------------------------------------------------------- compilation of VeRawAnalyzer.cc: +cd ../../src/ +scram b +cd - +--------------------------------------------------------------------------------------- +// no batches , but only to create dir. w/ PYTHONs (for future interactive running): +./mkcfg_new120.csh runlist_test +--------------------------------------------------------------------------------------- future treatment of root files: +./checkoutput120.csh PYTHON_runlist_test longruns +./glu_runs_fromfile.csh longruns runlist_test + +--------------------------------------------------------------------------------------- + +eoscp Global_297169.root +/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos/Global_297169.root -git cms-addpkg DPGAnalysis/HcalTools - -cd DPGAnalysis/HcalTools - -II. ----- Compilation of main code CMTRawAnalyzer.cc -====================================================== - -scram b - -cd your_dir_CMSSW_11_1_0/src/DPGAnalysis/HcalTools/scripts/cmt -( this is initial_dir ) - -III.------- Necessary corrections: -====================================== - -1) correct file "file_lists.csh" for dataset used - -2) correct file "runlist_run" to specify run list - -IVa. ------- Running interactive: -==================================== - -./mkcfg_new120.csh runlist_run - -- see, how many py-files in PYTHON_runlist_run dir.. - -- run ~ 15 jobs per PC: 1-15, 15-30, ...nn1- NN using commands: - -./run_interactive.csh runlist_run nn1 NN - -IVb. ------ Running using condor.jdl: -====================================== - -- specify if necessary the lines in file run_condor.csh: - -setenv SCRAM_ARCH slc7_amd64_gcc820 - -scram p -s CMSSW CMSSW_11_1_0 - -cd CMSSW_11_1_0/src - -- and line with eos-directory, -where you are going to record the resulting root files: - -/eos/cms/store/user/zhokin/CMT/RootFilesToBeMarched/2019 - -- specify the line "Transfer_Input_Files =" in file condor.jdl: - -correct path for CMTRawAnalyzer.cc and BuildFile.xml - ------- In advance, before condor starting issue commands: - -voms-proxy-init -voms cms -rfc - -voms-proxy-init -voms cms -rfc -out /afs/cern.ch/user/z/zhokin/private/x509up - -chmod +x /afs/cern.ch/user/z/zhokin/private/x509up - - -- to start, issue main command: - -condor_submit condor.jdl - -- running...... wait, check using condor commands like: - -condor_q - -(condor_rm 3748513.0 (to remove all jobs 3748513.0)) - - see obtained root files in dir: - -cd /eos/cms/store/user/zhokin/CMT/RootFilesToBeMarched/2019 - -V. ------------------- Copying: -====================================== - - all good root files to be copied into /initial_dir/longruns/. -(example: -scp Global*.root /afs/cern.ch/work/z/zhokin/hcal/voc2/CMSSW_11_1_0_pre3/src/DPGAnalysis/HcalTools/scripts/cmt/longruns/. -) - check all root-files availability: - -cd /initial_dir -./checkoutput120.csh PYTHON_runlist_run longruns > tmp.txt - -see file tmp.txt and missed_run_parts to see which root file still to be reproduced: -crashed jobs to be re-runned interactively and copied into dir longruns/. - -- merging run-root-piecies into one big run-root file: - -./glu_runs_fromfile.csh longruns runlist_run - -- copy into /eos using examples like: - -eos cp Global_325001.root /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos/Global_325001.root - -cp Global_320002.root /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos/Global_555555.root - -- for check: eos ls -l /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos/ +./index_toAddOnlyNewRuns_EOS.sh runlist_test +eoscp OLDindex.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/OLDindex.html +eoscp index_draft.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/index.html -VI. --- Three steps to provide visualization of new global-runs: -================================================================ - -- correct file "index_toAddOnlyNewRuns_EOS.sh" for "dasgoclient.. dataset=..." and -"k=" - number(!) of new-recorded global-runs and execute: - - 1) ./index_toAddOnlyNewRuns_EOS.sh runlist_run - -eos cp OLDindex.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/OLDindex.html - -eos cp index_draft.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/index.html - --------------------------------------- - -- in dir. .../macros/cmt/ +--------------------------------------------------------------------------------------- +./compile.csh RemoteMonitoringGLOBAL.cc +./compile.csh RemoteMonitoringMAP_Global.cc + +./CMT_EOS.sh runlist_test +./GlobalRMT_EOS.sh runlist_test +--------------------------------------------------------------------------------------- +========================================================================================================= new CMT with 10_4_X: +see Global Tag: +https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions + +cosmica 311668 312101 run HCAL vklyuchen + +file dataset=/ZeroBias/Run2016H-v1/RAW +run file=/ZeroBias/Run2016H/v1/RAW +file run=311668 +dataset run=311668 +Dataset: /MinimumBias/Commissioning2018-v1/RAW +Dataset: /Cosmics/Commissioning2018-v1/RAW +https://cmswbmoffshift.web.cern.ch/cmswbmoffshift/runregistry_offline/# + +https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions#Global_Tags_for_Data_Taking + +echo $SCRAM_ARCH +slc6_amd64_gcc700 +-----------------------------------------------------------firefox !!!! tests !!! +----------------------------------------------------------1111 +on lxplus: +./compile.csh RemoteMonitoringGLOBALTest.cc +./RemoteMonitoringGLOBALTest.cc.exe Global_312101.root +or (./RemoteMonitoringMAP_GlobalFromRDM.cc.exe Global_312101.root Global_312101.root ) +on local PC: +firefox LumiList.html +rm *html *.png +---------------------------------------------------------2222 +./compile.csh RemoteMonitoringMAP_GlobalTest.cc +./RemoteMonitoringMAP_GlobalTest.cc.exe Global_312101.root Global_312101.root +on local PC: +firefox MAP.html +rm *html *.png + +============================================================================== workable area: +./compile.csh RemoteMonitoringGLOBALTest.cc +./compile.csh RemoteMonitoringMAP_GlobalTest.cc ./compile.csh RemoteMonitoringGLOBAL.cc ./compile.csh RemoteMonitoringMAP_Global.cc - -- and again, in dir. /scripts/cmt/ execute: - 2) ./CMT_EOS.sh runlist_run - 3) ./GlobalRMT_EOS.sh runlist_run -wait until there 2 last steps are done (a lot of output possible) - - - See the results at https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/CMT/ --- provide for each new run the CMTanalysis using Instruction below. - Edit default file CMTresults.html to provide the summary for each new run. -Copy each time corrected CMTresults.html file into /eos in corresponding dir. , -as is shown below : -cp CMTresults.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/GLOBAL_325001/CMTresults.html diff --git a/DPGAnalysis/HcalTools/scripts/cmt/a.py.beg b/DPGAnalysis/HcalTools/scripts/cmt/a.py.beg index a0e2a83477016..85e840c93696e 100644 --- a/DPGAnalysis/HcalTools/scripts/cmt/a.py.beg +++ b/DPGAnalysis/HcalTools/scripts/cmt/a.py.beg @@ -1,11 +1,11 @@ # how to find input file: eos ls -latr /eos/cms/store/data/Run2018A/HcalNZS/RAW/v1/000/316/ #how to run: cmsRun remoteMonitoring_Global_PSM_test_cfg.py -#---------------------------------------------------------------------------- +#------------------------------------------------------------------------------------------- import sys import FWCore.ParameterSet.Config as cms from Configuration.StandardSequences.Eras import eras -process = cms.Process("TEST", eras.Run2_2018) -#process = cms.Process("TEST", eras.Run3) +#process = cms.Process("TEST", eras.Run2_2018) +process = cms.Process("TEST", eras.Run3) process.load("Configuration.StandardSequences.GeometryDB_cff") process.load("CondCore.CondDB.CondDB_cfi") process.load("EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi") @@ -25,6 +25,17 @@ process.maxEvents = cms.untracked.PSet( # input = cms.untracked.int32(1000) input = cms.untracked.int32(-1) ) + +<<<<<<< HEAD +======= +process.TFileService = cms.Service("TFileService", + fileName = cms.string("Global.root") +# ,closeFileFast = cms.untracked.bool(True) + ) + +>>>>>>> 76f1031aade7860b45a2ca91862230afc5bfbd13 + + #---------------------------------------------------------------------------- # Input source process.source = cms.Source("PoolSource", diff --git a/DPGAnalysis/HcalTools/scripts/cmt/a.py.end b/DPGAnalysis/HcalTools/scripts/cmt/a.py.end index a10f7f1981de9..abcff5cba118b 100644 --- a/DPGAnalysis/HcalTools/scripts/cmt/a.py.end +++ b/DPGAnalysis/HcalTools/scripts/cmt/a.py.end @@ -3,7 +3,7 @@ ) process.options = cms.untracked.PSet( -# SkipEvent = cms.untracked.vstring('ProductNotFound') + SkipEvent = cms.untracked.vstring('ProductNotFound') ) # Production Info @@ -90,44 +90,44 @@ process.Analyzer = cms.EDAnalyzer("CMTRawAnalyzer", # # -53 for BAD HBHEHF channels from study on shape Ratio #Verbosity = cms.untracked.int32(-53), - ratioHBMin = cms.double(0.70), - ratioHBMax = cms.double(0.94), - ratioHEMin = cms.double(0.60), - ratioHEMax = cms.double(0.95), - ratioHFMin = cms.double(0.45), - ratioHFMax = cms.double(1.02), - ratioHOMin = cms.double(0.40), - ratioHOMax = cms.double(1.04), + ratioHBMin = cms.double(0.10), + ratioHBMax = cms.double(0.95), + ratioHEMin = cms.double(0.10), + ratioHEMax = cms.double(0.98), + ratioHFMin = cms.double(0.30), + ratioHFMax = cms.double(1.04), + ratioHOMin = cms.double(0.18), + ratioHOMax = cms.double(0.96), # -54 for BAD HBHEHF channels from study on RMS of shapes #Verbosity = cms.untracked.int32(-54), - rmsHBMin = cms.double(0.7), - rmsHBMax = cms.double(2.5), - rmsHEMin = cms.double(0.7), - rmsHEMax = cms.double(2.2), + rmsHBMin = cms.double(1.0), + rmsHBMax = cms.double(3.9), + rmsHEMin = cms.double(1.0), + rmsHEMax = cms.double(3.9), rmsHFMin = cms.double(0.1), - rmsHFMax = cms.double(2.6), - rmsHOMin = cms.double(0.1), - rmsHOMax = cms.double(2.8), + rmsHFMax = cms.double(2.0), + rmsHOMin = cms.double(0.2), + rmsHOMax = cms.double(4.4), # -55 for BAD HBHEHF channels from study on TSmean of shapes #Verbosity = cms.untracked.int32(-55), - TSmeanHBMin = cms.double(2.5), - TSmeanHBMax = cms.double(5.5), - TSmeanHEMin = cms.double(1.0), - TSmeanHEMax = cms.double(5.2), + TSmeanHBMin = cms.double(0.8), + TSmeanHBMax = cms.double(8.0), + TSmeanHEMin = cms.double(0.8), + TSmeanHEMax = cms.double(8.0), TSmeanHFMin = cms.double(1.0), - TSmeanHFMax = cms.double(4.2), - TSmeanHOMin = cms.double(1.0), - TSmeanHOMax = cms.double(4.8), + TSmeanHFMax = cms.double(2.8), + TSmeanHOMin = cms.double(0.8), + TSmeanHOMax = cms.double(8.0), # -55 for BAD HBHEHF channels from study on TSmax of shapes #Verbosity = cms.untracked.int32(-55), - TSpeakHBMin = cms.double(2.2), - TSpeakHBMax = cms.double(5.5), - TSpeakHEMin = cms.double(1.5), + TSpeakHBMin = cms.double(-0.5), + TSpeakHBMax = cms.double(6.5), + TSpeakHEMin = cms.double(-0.5), TSpeakHEMax = cms.double(6.5), - TSpeakHFMin = cms.double(0.5), - TSpeakHFMax = cms.double(4.5), - TSpeakHOMin = cms.double(0.5), - TSpeakHOMax = cms.double(7.5), + TSpeakHFMin = cms.double(-0.5), + TSpeakHFMax = cms.double(3.5), + TSpeakHOMin = cms.double(-0.5), + TSpeakHOMax = cms.double(6.5), # -56 for BAD HBHEHOHF channels from study on ADC Amplitude #Verbosity = cms.untracked.int32(-56), ADCAmplHBMin = cms.double(10000.), @@ -412,15 +412,21 @@ process.Analyzer = cms.EDAnalyzer("CMTRawAnalyzer", # # #HistOutFile = cms.untracked.string(histodir+'/LED_'+runnumber+'.root'), - HistOutFile = cms.untracked.string('Global.root'), + #HistOutFile = cms.untracked.string('Global.root'), # - MAPOutFile = cms.untracked.string('LogEleMapdb.h') + #MAPOutFile = cms.untracked.string('LogEleMapdb.h') # ##OutputFilePath = cms.string('/tmp/zhokin/'), ##OutputFileExt = cms.string(''), # ) ########################################################################### +process.TFileService = cms.Service("TFileService", + fileName = cms.string("Global.root") +# ,closeFileFast = cms.untracked.bool(True) + ) + +########################################################################### # Other statements process.hcal_db_producer = cms.ESProducer("HcalDbProducer", dump = cms.untracked.vstring(''), @@ -442,12 +448,13 @@ process.es_hardcode = cms.ESSource("HcalHardcodeCalibrations", #process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') #from Configuration.AlCa.GlobalTag import GlobalTag #process.GlobalTag = GlobalTag(process.GlobalTag, '101X_dataRun2_HLT_v7', '') - +# process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") from Configuration.AlCa.autoCond import autoCond -process.GlobalTag.globaltag = '104X_dataRun2_v1' +#process.GlobalTag.globaltag = '104X_dataRun2_v1' #process.GlobalTag.globaltag = '105X_postLS2_design_v4' #process.GlobalTag.globaltag = '106X_dataRun3_HLT_v3' +process.GlobalTag.globaltag = '113X_dataRun3_HLT_v3' ########################################################################### process.load('Configuration.StandardSequences.RawToDigi_Data_cff') #process.hcalDigis.FilterDataQuality = cms.bool(False) diff --git a/DPGAnalysis/HcalTools/scripts/cmt/condor.jdl b/DPGAnalysis/HcalTools/scripts/cmt/condor.jdl index 23d0234a46f5e..e2da8edcc473a 100755 --- a/DPGAnalysis/HcalTools/scripts/cmt/condor.jdl +++ b/DPGAnalysis/HcalTools/scripts/cmt/condor.jdl @@ -8,7 +8,7 @@ arguments = runlist_run $(ClusterID) $(ProcId) $(Proxy_path) Should_Transfer_Files = YES WhenToTransferOutput = ON_EXIT -Transfer_Input_Files = run_condor.csh,mkcfg_new120.csh,file_lists.csh,a.py.beg,a.py.end,runlist_run,/afs/cern.ch/work/z/zhokin/hcal/voc2/CMSSW_11_1_0_pre3/src/DPGAnalysis/HcalTools/src/CMTRawAnalyzer.cc,/afs/cern.ch/work/z/zhokin/hcal/voc2/CMSSW_11_1_0_pre3/src/DPGAnalysis/HcalTools/interface/CMTRawAnalyzer.h,/afs/cern.ch/work/z/zhokin/hcal/voc2/CMSSW_11_1_0_pre3/src/DPGAnalysis/HcalTools/BuildFile.xml +Transfer_Input_Files = run_condor.csh,mkcfg_new120.csh,file_lists.csh,a.py.beg,a.py.end,runlist_run,/afs/cern.ch/work/z/zhokin/hcal/qq6/CMSSW_12_2_0_pre1/src/DPGAnalysis/HcalTools/src/CMTRawAnalyzer.cc,/afs/cern.ch/work/z/zhokin/hcal/qq6/CMSSW_12_2_0_pre1/src/DPGAnalysis/HcalTools/interface/CMTRawAnalyzer.h,/afs/cern.ch/work/z/zhokin/hcal/qq6/CMSSW_12_2_0_pre1/src/DPGAnalysis/HcalTools/BuildFile.xml output = output/zhokin.$(ClusterId).$(ProcId).out error = error/zhokin.$(ClusterId).$(ProcId).err diff --git a/DPGAnalysis/HcalTools/scripts/cmt/file_lists.csh b/DPGAnalysis/HcalTools/scripts/cmt/file_lists.csh index e7bd7ec1509b9..2f28a1bc9fb07 100755 --- a/DPGAnalysis/HcalTools/scripts/cmt/file_lists.csh +++ b/DPGAnalysis/HcalTools/scripts/cmt/file_lists.csh @@ -18,11 +18,14 @@ echo ${i} ## #dasgoclient --query="file dataset=/HcalNZS/Commissioning2017-v1/RAW run=${i}" --limit=0 | sed "s/\/store/\'\/store/g" | sed "s/root/root\',/g"> TXT_${1}/run_${i} -#dasgoclient --query="file dataset=/Cosmics/Run2017C-v1/RAW run=${i}" --limit=0 | sed "s/\/store/\'\/store/g" | sed "s/root/root\',/g"> TXT_${1}/run_${i} +#dasgoclient --query="file dataset=/Cosmics/Commissioning2021-v1/RAW run=${i}" --limit=0 | sed "s/\/store/\'\/store/g" | sed "s/root/root\',/g"> TXT_${1}/run_${i} +dasgoclient --query="file dataset= /MinimumBias/Commissioning2021-v1/RAW run=${i}" --limit=0 | sed "s/\/store/\'\/store/g" | sed "s/root/root\',/g"> TXT_${1}/run_${i} + #dasgoclient --query="file dataset=/ZeroBias/Run2018A-v1/RAW run=${i}" --limit=0 | sed "s/\/store/\'\/store/g" | sed "s/root/root\',/g"> TXT_${1}/run_${i} #dasgoclient --query="file dataset=/ZeroBias/Run2018B-v1/RAW run=${i}" --limit=0 | sed "s/\/store/\'\/store/g" | sed "s/root/root\',/g"> TXT_${1}/run_${i} #dasgoclient --query="file dataset=/ZeroBias/Run2018C-v1/RAW run=${i}" --limit=0 | sed "s/\/store/\'\/store/g" | sed "s/root/root\',/g"> TXT_${1}/run_${i} -dasgoclient --query="file dataset=/ZeroBias/Run2018D-v1/RAW run=${i}" --limit=0 | sed "s/\/store/\'\/store/g" | sed "s/root/root\',/g"> TXT_${1}/run_${i} +#dasgoclient --query="file dataset=/ZeroBias/Run2018D-v1/RAW run=${i}" --limit=0 | sed "s/\/store/\'\/store/g" | sed "s/root/root\',/g"> TXT_${1}/run_${i} + # this dataset only! for ions: #dasgoclient --query="file dataset=/HIHcalNZS/HIRun2018A-v1/RAW run=${i}" --limit=0 | sed "s/\/store/\'\/store/g" | sed "s/root/root\',/g"> TXT_${1}/run_${i} # games with dedicated abort gap dataset : diff --git a/DPGAnalysis/HcalTools/scripts/cmt/index_toAddOnlyNewRunsCRAFT_EOS.sh b/DPGAnalysis/HcalTools/scripts/cmt/index_toAddOnlyNewRunsCRAFT_EOS.sh new file mode 100755 index 0000000000000..6c6cb2ead1ecc --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/cmt/index_toAddOnlyNewRunsCRAFT_EOS.sh @@ -0,0 +1,208 @@ +#!/bin/bash + +WebDir='/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring' +WebSite='https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring' +HistoDir='/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos' + + +cmsenv 2>/dev/null +if [ $? == 0 ] ; then + eval `scramv1 runtime -sh` +fi + + +# Process arguments and set the flags +fileName=$1 + +# Obtain the runList from a file, if needed +runList="" +if [ ${#fileName} -gt 0 ] ; then + if [ -s ${fileName} ] ; then + runList=`cat ${fileName}` + else + echo "<${fileName}> does not seem to be a valid file" + exit 2 + fi +else + if [ ${ignoreFile} -eq 0 ] ; then + echo " ! no file provided" + fi + echo " ! will produce only the global html page" +fi + + +# Check the runList and correct the correctables +# Replace ',' and ';' by empty spaces +runList=`echo "${runList}" | sed 'sk,k\ kg' | sed 'sk;k\ kg'` +ok=1 +for r in ${runList} ; do + if [ ! ${#r} -eq 6 ] ; then + echo "run numbers are expected to be of length 6. Check <$r>" + ok=0 + fi + debug_loc=0 + if [ "$r" -eq "$r" ] 2>/dev/null ; then + if [ ${debug_loc} -eq 1 ] ; then echo "run variable <$r> is a number (ok)"; fi + else + echo "error: run variable <$r> is not an integer number" + ok=0 + fi +done + +echo "Tested `wc -w <<< "${runList}"` runs from file ${fileName}" +if [ ${ok} -eq 0 ] ; then + echo "errors in the file ${fileName} with run numbers" + exit 3 +else + if [ ${#fileName} -gt 0 ] ; then + echo "run numbers in ${fileName} verified ok" + fi +fi + +echo +echo +echo 'Numbers of NEW runs for processing' +echo "${runList}" +echo -e "runList complete\n" + +echo -e '\n\nRun numbers:' +runListEOS=`echo $runList | tee _runlist_` +echo "${runListEOS}" +echo -e "Full runList for EOS complete\n" + + +# copy index.html from EOS: +echo 'next message is Fine: ' +rm index.html +eoscp $WebDir/CMT/index.html index.html +cp index.html OLDindex.html + +# delete last line of copied index_draft.html which close the table +cat index.html | head -n -1 > index_draft.html + +#extract run numbers for correct continuation +#k=0 +#for i in ${runListEOSall} ; do +#let "k = k + 1" +#done + +k=4 + + +########################################## type by hands number of new runs k=k-number: +#let "k = k - 1" +echo ' ================>>> k in old list = '$k + +for i in ${runListEOS} ; do + +#runnumber=$(echo $i | sed -e 's/[^0-9]*//g') +#runnumber=$(echo $i | awk -F 'run' '{print $2}'| awk -F '.' '{print $1}') +runnumber=${i} +#if [[ "$runnumber" > 243400 ]] ; then +let "k = k + 1" +echo +echo ' ================>>> new k in loop = '$k +echo +echo +echo 'RUN number = '$runnumber + +# extract the date of file +dasInfo=${DAS_DIR}/das_${runnumber}.txt +got=0 +if [ ${dasCache} == "1" ] ; then + rm -f tmp + if [ -s ${dasInfo} ] ; then + cp ${dasInfo} tmp + got=1 + else + echo "no ${dasInfo} found. Will use dasgoclient" + fi +fi + +if [ ${got} -eq 0 ] ; then +#dasgoclient --query="file dataset=/HcalNZS/Run2018D-v1/RAW run=${i} | grep file.size, file.nevents, file.modification_time " > tmp +dasgoclient --query="file dataset=/Cosmics/Commissioning2021-v1/RAW run=${i} | grep file.size, file.nevents, file.modification_time " > tmp +fi + + +timetmp=`cat tmp | head -n 1 | awk '{print $3}'` +############################################################################################################ +type='Cosmics' +timetmp2=`date -d @${timetmp} +%Y-%m-%d:%H-%M-%S` +sizetmp=`cat tmp | head -n 1 | awk '{print $1}'` +neventstmp=`cat tmp | head -n 1 | awk '{print $2}'` +#commentariy='CRUZET2021' +commentariy='CRAFT2021' +#cat runs_info +echo 'RUN Type = '$type +echo ${sizetmp} ${neventstmp} ${timetmp2} +echo 'RUN Comment = '$commentariy + + + +#adding entry to list of file index_draft.html +let "raw = (k % 2) + 2" +echo ''>> index_draft.html +echo ''$k''>> index_draft.html +echo ''$runnumber''>> index_draft.html +echo ''$type''>> index_draft.html +echo ''$timetmp2''>> index_draft.html +echo ''$sizetmp''>> index_draft.html +echo ''$neventstmp''>> index_draft.html +echo 'CMT_'$runnumber''>> index_draft.html +echo 'RMT_'$runnumber''>> index_draft.html +echo ''$commentariy''>> index_draft.html + + +rm tmp + +############################################################################################################ record index_draft.html + +if [ ${#comment} -gt 0 ] ; then + #echo "runList=${runList}, check ${runnumber}" + temp_var=${runList/${runnumber}/} + if [ ${#temp_var} -lt ${#runList} ] ; then + echo "adding a commentary for this run" + echo "${comment}" >> index_draft.html + fi +fi +echo ''>> index_draft.html +prev=$i + +#fi +done + + +# print footer to index.html +echo `cat footer.txt`>> index_draft.html + + +status=0 +if [ ${debug} == "1" ] ; then + echo "debug=${debug}. No upload to eos" + status=-1 +else +### echo "Commented by me: eoscp index_draft.html $WebDir/CMT/index.html No upload to eos" +# eoscp OLDindex.html $WebDir/CMT/OLDindex.html +# eoscp index_draft.html $WebDir/CMT/index.html + status="$?" +# rm index_draft.html +fi + +# delete temp files + +if [ ${debug} == "0" ] ; then +# rm -f *.root + rm -f _runlist_ + rm -f _runlistEOSall_ +fi + +# check eos-upload exit code +if [[ "${status}" == "0" ]]; then + echo "Successfully uploaded!" +else + echo "ERROR: Uploading failed" + exit 1 +fi + +echo "index script done" diff --git a/DPGAnalysis/HcalTools/scripts/cmt/index_toAddOnlyNewRunsCosmics_EOS.sh b/DPGAnalysis/HcalTools/scripts/cmt/index_toAddOnlyNewRunsCosmics_EOS.sh new file mode 100755 index 0000000000000..73d2095eeb741 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/cmt/index_toAddOnlyNewRunsCosmics_EOS.sh @@ -0,0 +1,208 @@ +#!/bin/bash + +WebDir='/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring' +WebSite='https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring' +HistoDir='/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos' + + +cmsenv 2>/dev/null +if [ $? == 0 ] ; then + eval `scramv1 runtime -sh` +fi + + +# Process arguments and set the flags +fileName=$1 + +# Obtain the runList from a file, if needed +runList="" +if [ ${#fileName} -gt 0 ] ; then + if [ -s ${fileName} ] ; then + runList=`cat ${fileName}` + else + echo "<${fileName}> does not seem to be a valid file" + exit 2 + fi +else + if [ ${ignoreFile} -eq 0 ] ; then + echo " ! no file provided" + fi + echo " ! will produce only the global html page" +fi + + +# Check the runList and correct the correctables +# Replace ',' and ';' by empty spaces +runList=`echo "${runList}" | sed 'sk,k\ kg' | sed 'sk;k\ kg'` +ok=1 +for r in ${runList} ; do + if [ ! ${#r} -eq 6 ] ; then + echo "run numbers are expected to be of length 6. Check <$r>" + ok=0 + fi + debug_loc=0 + if [ "$r" -eq "$r" ] 2>/dev/null ; then + if [ ${debug_loc} -eq 1 ] ; then echo "run variable <$r> is a number (ok)"; fi + else + echo "error: run variable <$r> is not an integer number" + ok=0 + fi +done + +echo "Tested `wc -w <<< "${runList}"` runs from file ${fileName}" +if [ ${ok} -eq 0 ] ; then + echo "errors in the file ${fileName} with run numbers" + exit 3 +else + if [ ${#fileName} -gt 0 ] ; then + echo "run numbers in ${fileName} verified ok" + fi +fi + +echo +echo +echo 'Numbers of NEW runs for processing' +echo "${runList}" +echo -e "runList complete\n" + +echo -e '\n\nRun numbers:' +runListEOS=`echo $runList | tee _runlist_` +echo "${runListEOS}" +echo -e "Full runList for EOS complete\n" + + +# copy index.html from EOS: +echo 'next message is Fine: ' +rm index.html +eoscp $WebDir/CMT/index.html index.html +cp index.html OLDindex.html + +# delete last line of copied index_draft.html which close the table +cat index.html | head -n -1 > index_draft.html + +#extract run numbers for correct continuation +#k=0 +#for i in ${runListEOSall} ; do +#let "k = k + 1" +#done + + +k=3 + + +########################################## type by hands number of new runs k=k-number: +#let "k = k - 1" +echo ' ================>>> k in old list = '$k + +for i in ${runListEOS} ; do + +#runnumber=$(echo $i | sed -e 's/[^0-9]*//g') +#runnumber=$(echo $i | awk -F 'run' '{print $2}'| awk -F '.' '{print $1}') +runnumber=${i} +#if [[ "$runnumber" > 243400 ]] ; then +let "k = k + 1" +echo +echo ' ================>>> new k in loop = '$k +echo +echo +echo 'RUN number = '$runnumber + +# extract the date of file +dasInfo=${DAS_DIR}/das_${runnumber}.txt +got=0 +if [ ${dasCache} == "1" ] ; then + rm -f tmp + if [ -s ${dasInfo} ] ; then + cp ${dasInfo} tmp + got=1 + else + echo "no ${dasInfo} found. Will use dasgoclient" + fi +fi + +if [ ${got} -eq 0 ] ; then +#dasgoclient --query="file dataset=/HcalNZS/Run2018D-v1/RAW run=${i} | grep file.size, file.nevents, file.modification_time " > tmp +dasgoclient --query="file dataset=/Cosmics/Commissioning2021-v1/RAW run=${i} | grep file.size, file.nevents, file.modification_time " > tmp +fi + + +timetmp=`cat tmp | head -n 1 | awk '{print $3}'` +############################################################################################################ +type='Cosmics' +timetmp2=`date -d @${timetmp} +%Y-%m-%d:%H-%M-%S` +sizetmp=`cat tmp | head -n 1 | awk '{print $1}'` +neventstmp=`cat tmp | head -n 1 | awk '{print $2}'` +commentariy='CRUZET2021' +#cat runs_info +echo 'RUN Type = '$type +echo ${sizetmp} ${neventstmp} ${timetmp2} +echo 'RUN Comment = '$commentariy + + + +#adding entry to list of file index_draft.html +let "raw = (k % 2) + 2" +echo ''>> index_draft.html +echo ''$k''>> index_draft.html +echo ''$runnumber''>> index_draft.html +echo ''$type''>> index_draft.html +echo ''$timetmp2''>> index_draft.html +echo ''$sizetmp''>> index_draft.html +echo ''$neventstmp''>> index_draft.html +echo 'CMT_'$runnumber''>> index_draft.html +echo 'RMT_'$runnumber''>> index_draft.html +echo ''$commentariy''>> index_draft.html + + +rm tmp + +############################################################################################################ record index_draft.html + +if [ ${#comment} -gt 0 ] ; then + #echo "runList=${runList}, check ${runnumber}" + temp_var=${runList/${runnumber}/} + if [ ${#temp_var} -lt ${#runList} ] ; then + echo "adding a commentary for this run" + echo "${comment}" >> index_draft.html + fi +fi +echo ''>> index_draft.html +prev=$i + +#fi +done + + +# print footer to index.html +echo `cat footer.txt`>> index_draft.html + + +status=0 +if [ ${debug} == "1" ] ; then + echo "debug=${debug}. No upload to eos" + status=-1 +else +### echo "Commented by me: eoscp index_draft.html $WebDir/CMT/index.html No upload to eos" +# eoscp OLDindex.html $WebDir/CMT/OLDindex.html +# eoscp index_draft.html $WebDir/CMT/index.html + status="$?" +# rm index_draft.html +fi + +# delete temp files + +if [ ${debug} == "0" ] ; then +# rm -f *.root + rm -f _runlist_ + rm -f _runlistEOSall_ +fi + +# check eos-upload exit code +if [[ "${status}" == "0" ]]; then + echo "Successfully uploaded!" +else + echo "ERROR: Uploading failed" + exit 1 +fi + +echo "index script done" diff --git a/DPGAnalysis/HcalTools/scripts/cmt/index_zhokin.sh b/DPGAnalysis/HcalTools/scripts/cmt/index_zhokin.sh index acc8201528e5b..6c75b2314885b 100755 --- a/DPGAnalysis/HcalTools/scripts/cmt/index_zhokin.sh +++ b/DPGAnalysis/HcalTools/scripts/cmt/index_zhokin.sh @@ -179,7 +179,13 @@ cat index.html | head -n -1 > index_draft.html #for i in ${runListEOSall} ; do #let "k = k + 1" #done -k=2014 + + + +k=3 + + + ########################################## type by hands number of new runs k=k-number: #let "k = k - 1" echo ' ================>>> k in old list = '$k diff --git a/DPGAnalysis/HcalTools/scripts/cmt/longruns/Global_345821_1.root b/DPGAnalysis/HcalTools/scripts/cmt/longruns/Global_345821_1.root new file mode 100644 index 0000000000000..fb24e75c117d7 Binary files /dev/null and b/DPGAnalysis/HcalTools/scripts/cmt/longruns/Global_345821_1.root differ diff --git a/DPGAnalysis/HcalTools/scripts/cmt/mkcfg_new120.csh b/DPGAnalysis/HcalTools/scripts/cmt/mkcfg_new120.csh index 758fc948a9e11..69ae38f00d42b 100755 --- a/DPGAnalysis/HcalTools/scripts/cmt/mkcfg_new120.csh +++ b/DPGAnalysis/HcalTools/scripts/cmt/mkcfg_new120.csh @@ -11,7 +11,8 @@ mkdir TXT_${1} foreach jj (`cat ${1}`) set kk=1 -cat a.py.beg > PYTHON_${1}/Reco_${jj}_${kk}_cfg.py +#cat a.py.beg > PYTHON_${1}/Reco_${jj}_${kk}_cfg.py +cat a.py.beg | sed s/Global.root/Global\_${jj}_${kk}.root/g >> PYTHON_${1}/Reco_${jj}_${kk}_cfg.py set nn=0 foreach i (`cat TXT_${1}/run_${jj}`) @@ -27,15 +28,18 @@ echo "${i}" >> PYTHON_${1}/Reco_${jj}_${kk}_cfg.py else echo "${i}" >> PYTHON_${1}/Reco_${jj}_${kk}_cfg.py -cat a.py.end | sed s/Global.root/Global\_${jj}_${kk}.root/g >> PYTHON_${1}/Reco_${jj}_${kk}_cfg.py +#cat a.py.end | sed s/Global.root/Global\_${jj}_${kk}.root/g >> PYTHON_${1}/Reco_${jj}_${kk}_cfg.py +cat a.py.end > PYTHON_${1}/Reco_${jj}_${kk}_cfg.py @ kk = ${kk} + "1" -cat a.py.beg > PYTHON_${1}/Reco_${jj}_${kk}_cfg.py +#cat a.py.beg > PYTHON_${1}/Reco_${jj}_${kk}_cfg.py +cat a.py.beg | sed s/Global.root/Global\_${jj}_${kk}.root/g >> PYTHON_${1}/Reco_${jj}_${kk}_cfg.py set nn=0 endif end -if( ${nn} != "0" ) cat a.py.end | sed s/Global.root/Global\_${jj}_${kk}.root/g >> PYTHON_${1}/Reco_${jj}_${kk}_cfg.py +#if( ${nn} != "0" ) cat a.py.end | sed s/Global.root/Global\_${jj}_${kk}.root/g >> PYTHON_${1}/Reco_${jj}_${kk}_cfg.py +if( ${nn} != "0" ) cat a.py.beg | sed s/Global.root/Global\_${jj}_${kk}.root/g >> PYTHON_${1}/Reco_${jj}_${kk}_cfg.py @ j = ${j} + "1" end diff --git a/DPGAnalysis/HcalTools/scripts/cmt/readmeCMT-cosmics b/DPGAnalysis/HcalTools/scripts/cmt/readmeCMT-cosmics new file mode 100644 index 0000000000000..efdafbff1f2fe --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/cmt/readmeCMT-cosmics @@ -0,0 +1,65 @@ +1) interactive test for running one CRUZET run: +344566 , dataset=/Cosmics/Commissioning2021-v1/RAW) +this dataset was created with CMSSW_11_3_4 and +with SCRAM_ARCH slc7_amd64_gcc900) + +voms-proxy-init -voms cms -rfc +./mkcfg_new120.csh runlist_cosmics +cd PYTHON_runlist_cosmics +cmsRun Reco_344566_1_cfg.py & +-> crash since you need to specify global Tag +see global Tag: +https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions#Global_Tags_for_2021_data_taking +( 113X_dataRun3_HLT_v3 for CMSSW_11_3_2 onwards CRUZET 2021 first HLT GT for CRUZET 2021 )) +correct any python using cards: +process = cms.Process("TEST", eras.Run3) +process.GlobalTag.globaltag = '113X_dataRun3_HLT_v3' +and runnung again +and Global_344566.root was produced +cp Global_344566.root /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/CMT/histos/. +./index_toAddOnlyNewRunsCosmics_EOS.sh runlist_cosmics +cd /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/CMSSW_11_3_4/src/DPGAnalysis/HcalTools/macros/cmt +./compile.csh RemoteMonitoringGLOBAL.cc +./compile.csh RemoteMonitoringMAP_Global.cc +./CMT_EOS.sh runlist_cosmics +./GlobalRMT_EOS.sh runlist_cosmics +Plots are on site: +https://cms-conddb.cern.ch/eosweb/hcal/HcalRemoteMonitoring/CMT/ +----------------------- +On branch CMSSW_11_3_4_RMTNEW33 +Changes not staged for commit: + modified: ../../macros/cmt/RemoteMonitoringMAP_Global.cc + modified: file_lists.csh + modified: index_zhokin.sh +Untracked files: + ../../README + ../../macros/cmt/RemoteMonitoringGLOBAL.cc.exe + ../../macros/cmt/RemoteMonitoringMAP_Global.cc.exe + ../../macros/cmt/RemoteMonitoringMAP_Global_DEBUG.cc + ../../macros/cmt/RemoteMonitoringMAP_Global_DEFAULT.cc + PYTHON_runlist_cosmics/ + TXT_runlist_cosmics/ + _runlist_ + dir-Logs/ + file_lists.csh_OLD + index_toAddOnlyNewRunsCosmics_EOS.sh + runlist_cosmics +----------------------- +----------------------------------------------------------- +----------------------- + + +2) test condor running for CRAFT: +Run list : 345737 345744 345745 345747 345752 345753 345754 345755 +345756 345758 345768 345772 345786 345787 345797 345799 345800 345801 +345810 345812 345819 345821 345822 345823 345824 345826 345828 345829 +345830 345876 +https://cmsweb.cern.ch/das/request?view=list&limit=50&instance=prod%2Fglobal&input=dataset+run%3D345797 +dataset run=345797 +dataset = /Cosmics/Commissioning2021-v1/RAW +use for test only 3 runs : +345821 345822 345823 in file runlist_craft +cp runlist_craft runlist_run (for default name runlist_run of file condor.jdl ) +./index_toAddOnlyNewRunsCRAFT_EOS.sh + +345843 \ No newline at end of file diff --git a/DPGAnalysis/HcalTools/scripts/cmt/run_condor.csh b/DPGAnalysis/HcalTools/scripts/cmt/run_condor.csh index 5f60a0aa94012..d5d7ba8b37bdd 100755 --- a/DPGAnalysis/HcalTools/scripts/cmt/run_condor.csh +++ b/DPGAnalysis/HcalTools/scripts/cmt/run_condor.csh @@ -10,9 +10,9 @@ echo "myStart: set dir pwd" set m=`pwd` cd ${m} -setenv SCRAM_ARCH slc7_amd64_gcc820 -scram p -s CMSSW CMSSW_11_1_0_pre3 -cd CMSSW_11_1_0_pre3/src +setenv SCRAM_ARCH slc7_amd64_gcc900 +cmsrel CMSSW_12_2_0_pre1 +cd CMSSW_12_2_0_pre1/src mkdir DPGAnalysis cd DPGAnalysis @@ -63,7 +63,7 @@ cmsRun PYTHON_${1}/Reco_${j}_${k}_cfg.py ### Copy output files to EOS ### xrdcp -f Global_${j}_${k}.root /eos/cms/store/user/zhokin/CMT/test/Global_${j}_${k}.root -eoscp Global_${j}_${k}.root /eos/cms/store/user/zhokin/CMT/RootFilesToBeMarched/2019/Global_${j}_${k}.root +eoscp Global_${j}_${k}.root /eos/cms/store/user/zhokin/CMT/RootFilesToBeMarched/2022/Global_${j}_${k}.root #eoscp Global_${j}_${k}.root /eos/cms/store/user/zhokin/CMT/test/Global_${j}_${k}.root ################################################################ diff --git a/DPGAnalysis/HcalTools/scripts/cmt/runlist_cosmics b/DPGAnalysis/HcalTools/scripts/cmt/runlist_cosmics new file mode 100644 index 0000000000000..d82207d695271 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/cmt/runlist_cosmics @@ -0,0 +1,2 @@ +344566 + diff --git a/DPGAnalysis/HcalTools/scripts/cmt/runlist_craft b/DPGAnalysis/HcalTools/scripts/cmt/runlist_craft new file mode 100644 index 0000000000000..efcecac3ade3e --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/cmt/runlist_craft @@ -0,0 +1 @@ +345821 345822 345823 diff --git a/DPGAnalysis/HcalTools/scripts/cmt/runlist_run b/DPGAnalysis/HcalTools/scripts/cmt/runlist_run new file mode 100644 index 0000000000000..85549377ead03 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/cmt/runlist_run @@ -0,0 +1 @@ +346455 346483 346486 346488 346490 346494 346506 346507 346508 346509 346510 346511 346512 diff --git a/DPGAnalysis/HcalTools/scripts/cmt/runlist_test b/DPGAnalysis/HcalTools/scripts/cmt/runlist_test index 1e3a782c81243..1e94b30c12152 100644 --- a/DPGAnalysis/HcalTools/scripts/cmt/runlist_test +++ b/DPGAnalysis/HcalTools/scripts/cmt/runlist_test @@ -1 +1 @@ -327554 \ No newline at end of file +345821 diff --git a/DPGAnalysis/HcalTools/scripts/cmt/runlist_testCRUZET b/DPGAnalysis/HcalTools/scripts/cmt/runlist_testCRUZET new file mode 100644 index 0000000000000..d82207d695271 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/cmt/runlist_testCRUZET @@ -0,0 +1,2 @@ +344566 + diff --git a/DPGAnalysis/HcalTools/scripts/rmt/HcalRemoteMonitoringNewNewRoot.csh b/DPGAnalysis/HcalTools/scripts/rmt/HcalRemoteMonitoringNewNewRoot.csh index 50c7f45b4a6f2..c9c8da3edf680 100755 --- a/DPGAnalysis/HcalTools/scripts/rmt/HcalRemoteMonitoringNewNewRoot.csh +++ b/DPGAnalysis/HcalTools/scripts/rmt/HcalRemoteMonitoringNewNewRoot.csh @@ -1,77 +1,53 @@ #!/bin/csh - -set runnumber=${1} +pwd +set CALIB=${1} +set runnumber=${2} set refnumber=${3} set runNevents=${4} -set CALIB=${5} - -set RELEASE=CMSSW_10_4_0 +set RELEASE=${5} -set fullSrc0='/store/group/dpg_hcal/comm_hcal/USC' -set fullSrc1='/store/group/dpg_hcal/comm_hcal/LS1' -set fullSrc='NO' -set WebDir='/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb' -set WebSite='https://cms-cpt-software.web.cern.ch/cms-cpt-software/General/Validation/SVSuite/HcalRemoteMonitoring/RMT' -set HistoDir='/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/histos' -set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/RecoHcal/HcalPromptAnalysis/test/RDM" +set WebDir='http://cms-hcal-dpg.web.cern.ch/cms-hcal-dpg/HcalRemoteMonitoring/RMT' +set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript" +set WDS="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/DPGAnalysis/HcalTools/scripts/rmt" +set WDM="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/DPGAnalysis/HcalTools/macros/rmt" +set HistoDir='/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT/histos' +set PlotsDir='/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT' -### We are at working node +##### At local WN mkdir ${runnumber} setenv WORK `pwd`/${runnumber} - -echo ${WORK} >> ${WD}/LOG/batchlog - -cd /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/RecoHcal/HcalPromptAnalysis/test +source /cvmfs/cms.cern.ch/cmsset_default.csh +setenv SCRAM_ARCH slc7_amd64_gcc900 +cd ${WORK} +cmsrel ${RELEASE} +cd ${RELEASE}/src cmsenv -###cp ${WD}/remoteMonitoring_${CALIB}_cfg.py ${WORK}/remoteMonitoring_cfg.py +cd ${WORK} -ls ${WD}/RemoteMonitoringMAP.cc.exe >> ${WD}/LOG/batchlog +xrdcp -f ${HistoDir}/LED_${runnumber}.root . -cp ${WD}/RemoteMonitoringMAP.cc ${WORK} -cp ${WD}/compile.csh ${WORK} -cp ${WD}/LogEleMapdb.h ${WORK} -cp ${WD}/${CALIB}_LIST/runlist.tmp.${2} ${WORK}/runlist.tmp +ls >> & ${WD}/LOG/logn_${runnumber} -cd ${WORK} +cp ${WDM}/RemoteMonitoringMAP.cc . +cp ${WDM}/compile.csh . +cp ${WDS}/LogEleMapdb.h . +cp ${WDS}/tmp.list.LED runlist.tmp ./compile.csh RemoteMonitoringMAP.cc -#### cmsRun Start -### Temporarily -#rm LOG/log_${runnumber} -#rm ${HistoDir}/${CALIB}_${runnumber}.root - echo " Start CMS run ">${WD}/LOG/logn_${runnumber} echo ${LD_LIBRARY_PATH} >>${WD}/LOG/logn_${runnumber} -#cmsRun remoteMonitoring_cfg.py ${runnumber} ${fullSrc} ${HistoDir} >> & ${WD}/LOG/log_${runnumber} -#mv ${HistoDir}/LED_${runnumber}.root ${HistoDir}/${CALIB}_${runnumber}.root - -rm -rf ${WebDir}/${CALIB}_${runnumber} -mkdir ${WebDir}/${CALIB}_${runnumber} >> & ${WD}/LOG/logn_${runnumber} -#####./compile.csh RemoteMonitoringMAP.cc >> & ${WD}/LOG/logn_${runnumber} ./RemoteMonitoringMAP.cc.exe "${HistoDir}/${CALIB}_${runnumber}.root" "${HistoDir}/${CALIB}_${refnumber}.root" "${CALIB}" >> ${WD}/LOG/logn_${runnumber} -##root -b -q -l 'RemoteMonitoringMAP.C+("'${HistoDir}'/${CALIB}_'${runnumber}'.root","'${HistoDir}'/${CALIB}_'${refnumber}'.root")' ls -l >> ${WD}/LOG/log_${runnumber} -#echo " Start copy png " >> & ${WD}/LOG/log_${runnumber} -#ls $WebDir/${CALIB}_$runnumber >> & ${WD}/LOG/log_${runnumber} -#cp *.html $WebDir/${CALIB}_$runnumber >> & ${WD}/LOG/log_${runnumber} -#cp *.png $WebDir/${CALIB}_$runnumber >> & ${WD}/LOG/log_${runnumber} - -#### CmsRun end -### extract the date of file -### set rundate=`cmsLs $fullSrc | grep ${1} | awk '{print $3}'` set j=`cat runlist.tmp | grep ${runnumber}` echo ${j} >> ${WD}/LOG/batchlog setenv runtype ${CALIB} setenv runHTML NO -setenv runtime `echo $j | awk -F _ '{print $4}'` -setenv rundate `echo $j | awk -F _ '{print $3}'` -#wget ${runHTML} >> ${WD}/LOG/batchlog -#setenv runNevents `cat index.html | tail -n +14 | head -n 1 | awk -F '>' '{print $2}' | awk -F '<' '{print $1}'` -#rm index.html +setenv runtime `echo $j | awk -F _ '{print $3}'` +setenv rundate `echo $j | awk -F _ '{print $2}'` echo 'RUN Date = '${rundate} ${runtime} >> ${WD}/LOG/batchlog echo 'RUN Type = '${runtype} >> ${WD}/LOG/batchlog @@ -81,8 +57,6 @@ touch index_draft.html #adding entry to list of file index_draft.html -####sed '$d' < /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb/index.html > index.html.tmp - set raw=3 echo ''>> index_draft.html echo ''ktemp''>> index_draft.html @@ -92,7 +66,7 @@ echo ''$runNevents''>> index_draft.html echo ''$rundate''>> index_draft.html echo ''$runtime''>> index_draft.html echo ''$refnumber''>> index_draft.html -echo ''${CALIB}'_'$runnumber''>> index_draft.html +echo ''${CALIB}'_'$runnumber''>> index_draft.html echo 'NO'>> index_draft.html echo 'OK'>> index_draft.html echo ''>> index_draft.html @@ -106,25 +80,18 @@ cat ${i} | sed s/LED/${CALIB}/g > ${i}_t mv ${i}_t ${i} end -#######touch $WebDir/${CALIB}_$runnumber/new -####### Copy to the new site in parallel +####### Copy to the new site ls *.png -if(${status} == "0") then -#### Copy to the old site -echo " Start copy png " >> & ${WD}/LOG/log_${runnumber} -cp *.html $WebDir/${CALIB}_$runnumber >> & ${WD}/LOG/log_${runnumber} -cp *.png $WebDir/${CALIB}_$runnumber >> & ${WD}/LOG/log_${runnumber} +eos rm -rf ${PlotsDir}/${CALIB}_${runnumber} +eos mkdir ${PlotsDir}/${CALIB}_${runnumber} >> & ${WD}/LOG/logn_${runnumber} -mv $WebDir/${CALIB}_$runnumber/index_draft.html $WebDir/${CALIB}_$runnumber/index_draft.html.orig -cp index_draft.html $WebDir/${CALIB}_$runnumber +if(${status} == "0") then #### Copy to the new site -eos mkdir /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT/${CALIB}_$runnumber foreach i (`ls *.html`) -cat ${i} | sed 's#cms-cpt-software.web.cern.ch\/cms-cpt-software\/General\/Validation\/SVSuite#cms-conddb-dev.cern.ch\/eosweb\/hcal#g'> ${i}.n -xrdcp ${i}.n /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT/${CALIB}_$runnumber +xrdcp ${i} ${PlotsDir}/${CALIB}_${runnumber} end foreach k (`ls *.png`) -xrdcp ${k} /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT/${CALIB}_$runnumber +xrdcp ${k} ${PlotsDir}/${CALIB}_${runnumber} end endif diff --git a/DPGAnalysis/HcalTools/scripts/rmt/HcalRemoteMonitoringNewNewTest.csh b/DPGAnalysis/HcalTools/scripts/rmt/HcalRemoteMonitoringNewNewTest.csh new file mode 100755 index 0000000000000..d9f71abb3a77c --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/HcalRemoteMonitoringNewNewTest.csh @@ -0,0 +1,101 @@ +#!/bin/csh + +#unsetenv HOME +#echo "HOME" ${HOME} + +set runnumber=${1} +set mydate=${2} +set refnumber=${3} +set runNevents=${4} +set CALIB=${5} +set ERA=${6} +set RELEASE=${7} +set SCRAM_ARCH=${8} +set SCRIPT=${9} + +set fullSrc0='/eos/cms/store/group/dpg_hcal/comm_hcal/USC' +set fullSrc='NO' +set HistoDir='/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT/histos' +set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript" + +echo ${runnumber} >> ${WD}/LOG/batchlog +grep -q ${runnumber} ${WD}/${CALIB}_LIST/fullSrc0_list_${mydate} +if( ${status} == "0" ) then +set namef0=`grep ${runnumber} ${WD}/${CALIB}_LIST/fullSrc0_list_${mydate}` +set namef=`echo ${namef0} | awk '{print $1}'` +echo ${namef} +if( ${namef} == "run${runnumber}" ) then +set fullSrc=${fullSrc0}/run${runnumber} +else +set fullSrc=${fullSrc0} +endif + +echo "here" +endif + +echo ${fullSrc} >> ${WD}/LOG/batchlog + +if( ${fullSrc} == "NO" ) then +echo "No Batch submission" ${runnumber} >> ${WD}/LOG/batchlog +exit +endif + +echo "Batch submission" ${fullSrc} " " ${runnumber} >> ${WD}/LOG/batchlog + +###exit + +### We are at working node +mkdir ${runnumber} +setenv WORK `pwd`/${runnumber} +source /cvmfs/cms.cern.ch/cmsset_default.csh +cd ${WORK} +cmsrel ${RELEASE} +cd ${RELEASE}/src +cmsenv + +pwd + +ls -l +echo /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/DPGAnalysis + +cp -r /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/DPGAnalysis `pwd`/ +cp -r /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/Calibration `pwd`/ +scramv1 build + +cd ${WORK} +set HistoDirTMP="./" +pwd > ${WD}/LOG/log_${runnumber} + +cp ${SCRIPT}/remoteMonitoring_${CALIB}_${ERA}_cfg.py ${WORK} +cp ${WD}/${CALIB}_LIST/runlist.tmp.${2} ${WORK}/runlist.tmp +ls >> ${WD}/LOG/log_${runnumber} + +echo "WORKDIR " ${WD} ${WORK} + +echo " Start CMS run " >> ${WD}/LOG/log_${runnumber} +echo ${LD_LIBRARY_PATH} >> ${WD}/LOG/log_${runnumber} +echo ${HistoDir} >> ${WD}/LOG/log_${runnumber} +echo ${CMSSW_BASE} >> ${WD}/LOG/log_${runnumber} +pwd >> ${WD}/LOG/log_${runnumber} +ls ${WORK} >> ${WD}/LOG/log_${runnumber} + +mkdir run${runnumber} + +xrdcp ${fullSrc}/USC_${runnumber}.root run${runnumber}/USC_${runnumber}.root + +echo "File was copied to workdir" >> & ${WD}/LOG/log_${runnumber} + +set runpath="file:." + +cmsRun remoteMonitoring_${CALIB}_${ERA}_cfg.py ${runnumber} ${runpath} ${HistoDirTMP} >> & ${WD}/LOG/log_${runnumber} + +ls >> ${WD}/LOG/log_${runnumber} + +xrdcp -f ${HistoDirTMP}LED_${runnumber}.root ${HistoDir}/${CALIB}_${runnumber}.root + +echo "Output was copied to ${HistoDir}" >> & ${WD}/LOG/log_${runnumber} + +###eos ls ${HistoDir}/${CALIB}_${runnumber}.root >> & ${WD}/LOG/log_${runnumber} + +echo " After CMS run ">>${WD}/LOG/log_${runnumber} + diff --git a/DPGAnalysis/HcalTools/scripts/rmt/HcalRemoteMonitoringNewNewTestInt.csh b/DPGAnalysis/HcalTools/scripts/rmt/HcalRemoteMonitoringNewNewTestInt.csh new file mode 100755 index 0000000000000..7737b1583b39c --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/HcalRemoteMonitoringNewNewTestInt.csh @@ -0,0 +1,108 @@ +#!/bin/csh + +#unsetenv HOME +#echo "HOME" ${HOME} + +set runnumber=${1} +set mydate=${2} +set refnumber=${3} +set runNevents=${4} +set CALIB=${5} +set ERA=${6} +set RELEASE=${7} +set SCRAM_ARCH=${8} +set SCRIPT=${9} + +set fullSrc0='/eos/cms/store/group/dpg_hcal/comm_hcal/USC' +set fullSrc='NO' +set HistoDir='/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT/histos' +set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript" + +echo ${runnumber} >> ${WD}/LOG/batchlog +grep -q ${runnumber} ${WD}/${CALIB}_LIST/fullSrc0_list_${mydate} +if( ${status} == "0" ) then +set namef0=`grep ${runnumber} ${WD}/${CALIB}_LIST/fullSrc0_list_${mydate}` +set namef=`echo ${namef0} | awk '{print $1}'` +echo ${namef} +if( ${namef} == "run${runnumber}" ) then +set fullSrc=${fullSrc0}/run${runnumber} +else +set fullSrc=${fullSrc0} +endif + +echo "here" +endif + +echo ${fullSrc} >> ${WD}/LOG/batchlog + +if( ${fullSrc} == "NO" ) then +echo "No Batch submission" ${runnumber} >> ${WD}/LOG/batchlog +exit +endif + +echo "Batch submission" ${fullSrc} " " ${runnumber} >> ${WD}/LOG/batchlog + +###exit + +### We are at working node +setenv MH `pwd` + +mkdir /tmp/kodolova/${runnumber} +setenv WORK /tmp/kodolova/${runnumber} + +cd ${WORK} +source /cvmfs/cms.cern.ch/cmsset_default.csh +cd ${WORK} +cmsrel ${RELEASE} +cd ${RELEASE}/src +cmsenv + +pwd + +ls -l +echo /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/DPGAnalysis + +cp -r /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/DPGAnalysis `pwd`/ +cp -r /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/Calibration `pwd`/ +scramv1 build + +#cd ${MH} +#exit + +cd ${WORK} +set HistoDirTMP="./" +pwd > ${WD}/LOG/log_${runnumber} + +cp ${SCRIPT}/remoteMonitoring_${CALIB}_${ERA}_cfg.py ${WORK} +cp ${WD}/${CALIB}_LIST/runlist.tmp.${2} ${WORK}/runlist.tmp +ls >> ${WD}/LOG/log_${runnumber} + +echo "WORKDIR " ${WD} ${WORK} + +echo " Start CMS run " >> ${WD}/LOG/log_${runnumber} +echo ${LD_LIBRARY_PATH} >> ${WD}/LOG/log_${runnumber} +echo ${HistoDir} >> ${WD}/LOG/log_${runnumber} +echo ${CMSSW_BASE} >> ${WD}/LOG/log_${runnumber} +pwd >> ${WD}/LOG/log_${runnumber} +ls ${WORK} >> ${WD}/LOG/log_${runnumber} + +mkdir run${runnumber} + +xrdcp ${fullSrc}/USC_${runnumber}.root run${runnumber}/USC_${runnumber}.root + +echo "File was copied to workdir" >> & ${WD}/LOG/log_${runnumber} + +set runpath="file:." + +cmsRun remoteMonitoring_${CALIB}_${ERA}_cfg.py ${runnumber} ${runpath} ${HistoDirTMP} >> & ${WD}/LOG/log_${runnumber} + +ls >> ${WD}/LOG/log_${runnumber} + +xrdcp -f ${HistoDirTMP}LED_${runnumber}.root ${HistoDir}/${CALIB}_${runnumber}.root + +echo "Output was copied to ${HistoDir}" >> & ${WD}/LOG/log_${runnumber} + +###eos ls ${HistoDir}/${CALIB}_${runnumber}.root >> & ${WD}/LOG/log_${runnumber} + +echo " After CMS run ">>${WD}/LOG/log_${runnumber} +cd ${MH} diff --git a/DPGAnalysis/HcalTools/scripts/rmt/addruns_to_rdmpage_new.csh b/DPGAnalysis/HcalTools/scripts/rmt/addruns_to_rdmpage_new.csh new file mode 100755 index 0000000000000..b698a697ebc2e --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/addruns_to_rdmpage_new.csh @@ -0,0 +1,64 @@ +#!/bin/csh +set DAT=`date '+%Y-%m-%d_%H_%M_%S'` +set RELEASE=${CMSSW_VERSION} +echo ${CMSSW_VERSION} ${RELEASE} +set WebDir='/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT' +set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/DPGAnalysis/HcalTools/scripts/rmt" + +xrdcp ${WebDir}/index.html index.html.orig.${DAT} +touch ${WD}/index_test.html +set j = 1 +foreach i (`cat tmp.list.LED`) +echo ${i} +set RUN=`echo ${i} | awk -F _ '{print $1}'` +echo ${RUN} +ls ${WebDir}/LED_${RUN}/*.png > /dev/null +if(${status} == "0") then +tail -12 ${WebDir}/LED_${RUN}/index_draft.html > tmp.txt +cat tmp.txt | sed s/ktemp/${j}/ >> ${WD}/index_test.html +@ j = ${j} + "1" +rm tmp.txt +endif +end + +set NHEAD=`grep -n 'LED Runs' index.html.orig.${DAT} | awk -F : '{print $1}'` +@ NHEAD = ${NHEAD} + "13" +head -n ${NHEAD} ${WD}/index.html.orig.${DAT} > ${WD}/myindex_head +cat ${WD}/index_test.html >> ${WD}/myindex_head + +set NTAIL=`cat ${WD}/index.html.orig.${DAT} | wc -l` + +set NLASER=`grep -n 'LASER Runs' index.html.orig.${DAT} | awk -F : '{print $1}'` + +set k = ${j} + +cat ${WD}/index.html.orig.${DAT} | awk -F \" '2 == /s1/ {print $0}' + + +#cat ${WD}/index.html.orig.${DAT} > index.html.orig + +#foreach i (`cat "index.html.orig"`) + +#end + +#foreach i (`cat index.html.orig`) +#foreach i (`cat ${WD}/index.html.orig.${DAT}`) +#if(${k} == ${NLASER}) then +#break +#endif +#echo ${i} +#grep s1 ${i} +#if(${status} == "0") then +#set ll=`echo ${i} | cut -c 30 | awk -F \< '{print $1}'` +#echo ${ll} +#else +#cat ${i} >> ${WD}/myindex_head +#endif +#@ k = ${k} + "1" +#end + +#exit +#@ NTAIL = ${NTAIL} + "1" +#tail -n ${NTAIL} ${WD}/index.html.orig.${DAT} >> ${WD}/myindex_tail + + diff --git a/DPGAnalysis/HcalTools/scripts/rmt/awkparcer b/DPGAnalysis/HcalTools/scripts/rmt/awkparcer new file mode 100755 index 0000000000000..aff1913343dca --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/awkparcer @@ -0,0 +1,10 @@ +#! /bin/awk -f +BEGIN { +#FS="[\"\"]|[><]" +FS="[\"\"]" +print "Start" +} +{ +print $2 +} +END {print "END"} diff --git a/DPGAnalysis/HcalTools/scripts/rmt/batch_condor_new.csh b/DPGAnalysis/HcalTools/scripts/rmt/batch_condor_new.csh new file mode 100755 index 0000000000000..d206332951887 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/batch_condor_new.csh @@ -0,0 +1,69 @@ +#!/bin/csh + +###set DAT="TEST" +###set DAT="2015-10-07_14_50_47" + +cmsenv + +set DAT=`date '+%Y-%m-%d_%H_%M_%S'` +set ERA=${2} +set RELEASE=${CMSSW_VERSION} + +### Get list of done from RDM webpage ### +set TYPE=${1} +echo ${TYPE} +if( ${TYPE} != "LED" && ${TYPE} != "LASER" && ${TYPE} != "PEDESTAL" ) then +echo "Please check type " ${TYPE} "should be LED or LASER or PEDESTAL" +exit +endif + +set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript" +set SCRIPT=`pwd` +set PYTHON=${CMSSW_BASE}/src/DPGAnalysis/HcalTools/python +echo ${WD} + +${CMSSW_BASE}/src/DPGAnalysis/HcalTools/scripts/rmt/parce_newsql_aleko.csh ${TYPE} ${DAT} ${ERA} + +ls ${WD}/${TYPE}_LIST/runlist.tmp.${DAT} +rm ${WD}/${TYPE}_LIST/RUNS_TMP +cat ${WD}/${TYPE}_LIST/runlist.tmp.${DAT} > ${WD}/${TYPE}_LIST/RUNS_TMP + +set jold=194165 +foreach i (`cat ${WD}/${TYPE}_LIST/RUNS_TMP`) +echo "Run" ${i} + +set iold=`echo ${i} | awk -F _ '{print $1}'` +set jold=`echo ${i} | awk -F _ '{print $2}'` +set year=`echo ${i} | awk -F _ '{print $3}' | awk -F - '{print $1}'` +set nevent=`echo ${i} | awk -F _ '{print $5}'` +echo ${iold} ${jold} ${year} ${nevent} +if( ${nevent} != "None" ) then +if( ${nevent} >= "500" && ${nevent} <= "11000") then +echo "Start job " + +touch ${WD}/BATCHLOG/batchlog_${iold}.log ${WD}/BATCHLOG/ebatchlog_${iold}.log +set MYOUTJOB=${WD}/BATCHLOG/batchlog_${iold}.log +echo ${MYOUTJOB} +set MYERRJOB=${WD}/BATCHLOG/ebatchlog_${iold}.log +echo ${MYERRJOB} +set MYCONDOR=${WD}/BATCHLOG/condor.log +echo ${MYCONDOR} + +rm ${WD}/BSUB/job_${iold}_${jold}.sub +cat >> ${WD}/BSUB/job_${iold}_${jold}.sub << EOF +executable = ${SCRIPT}/HcalRemoteMonitoringNewNewTest.csh +arguments = ${iold} ${DAT} ${jold} ${nevent} ${TYPE} ${ERA} ${RELEASE} ${SCRAM_ARCH} ${PYTHON} +output = ${MYOUTJOB} +error = ${MYERRJOB} +log = ${MYCONDOR} ++JobFlavour = "workday" +queue 1 +EOF + +echo "Make a job" +condor_submit ${WD}/BSUB/job_${iold}_${jold}.sub +echo "End job " +sleep 1 +endif +endif +end diff --git a/DPGAnalysis/HcalTools/scripts/rmt/batch_condor_new_root.csh b/DPGAnalysis/HcalTools/scripts/rmt/batch_condor_new_root.csh new file mode 100755 index 0000000000000..cca9f96679d19 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/batch_condor_new_root.csh @@ -0,0 +1,51 @@ +#!/bin/csh + +set RELEASE=${CMSSW_VERSION} +### Get list of done from RDM webpage ### +set TYPE=${1} +echo ${TYPE} +if( ${TYPE} != "LED" && ${TYPE} != "LASER" && ${TYPE} != "PEDESTAL" ) then +echo "Please check type " ${TYPE} "should be LED or LASER or PEDESTAL" +exit +endif + +set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript" +set SCRIPT=`pwd` +set PYTHON=${CMSSW_BASE}/src/DPGAnalysis/HcalTools/python +echo ${WD} + +set jold=194165 +foreach i (`cat tmp.list.${TYPE}`) +echo "Run" ${i} +set iold=`echo ${i} | awk -F _ '{print $1}'` +set date=`echo ${i} | awk -F _ '{print $2}'` +set time=`echo ${i} | awk -F _ '{print $3}'` +set year=`echo ${date} | awk -F - '{print $1}'` +set nevent=`echo ${i} | awk -F _ '{print $4}'` +echo ${iold} ${jold} ${year} ${nevent} + +echo "Start job " +touch ${WD}/BATCHLOG/batchlogroot_${iold}.log ${WD}/BATCHLOG/ebatchlogroot_${iold}.log +set MYOUTJOB=${WD}/BATCHLOG/batchlogroot_${iold}.log +echo ${MYOUTJOB} +set MYERRJOB=${WD}/BATCHLOG/ebatchlogroot_${iold}.log +echo ${MYERRJOB} +set MYCONDOR=${WD}/BATCHLOG/condorroot.log +echo ${MYCONDOR} + +rm ${WD}/BSUB/jobroot_${iold}.sub +cat >> ${WD}/BSUB/jobroot_${iold}.sub << EOF +executable = ${SCRIPT}/HcalRemoteMonitoringNewNewRoot.csh +arguments = ${TYPE} ${iold} ${iold} ${nevent} ${RELEASE} +output = ${MYOUTJOB} +error = ${MYERRJOB} +log = ${MYCONDOR} ++JobFlavour = "workday" +queue 1 +EOF + +echo "Make a job" +condor_submit ${WD}/BSUB/jobroot_${iold}.sub +echo "End job " +sleep 1 +end diff --git a/DPGAnalysis/HcalTools/scripts/rmt/batch_interactive_new_TEST.csh b/DPGAnalysis/HcalTools/scripts/rmt/batch_interactive_new_TEST.csh new file mode 100755 index 0000000000000..cbaa0378d7ae2 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/batch_interactive_new_TEST.csh @@ -0,0 +1,69 @@ +#!/bin/csh + +###set DAT="TEST" +###set DAT="2015-10-07_14_50_47" + +cmsenv + +set DAT=TEST +set ERA=${2} +set RELEASE=${CMSSW_VERSION} + +### Get list of done from RDM webpage ### +set TYPE=${1} +echo ${TYPE} +if( ${TYPE} != "LED" && ${TYPE} != "LASER" && ${TYPE} != "PEDESTAL" ) then +echo "Please check type " ${TYPE} "should be LED or LASER or PEDESTAL" +exit +endif + +set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript" +set SCRIPT=`pwd` +set PYTHON=${CMSSW_BASE}/src/DPGAnalysis/HcalTools/python +echo ${WD} + +#${CMSSW_BASE}/src/DPGAnalysis/HcalTools/scripts/rmt/parce_newsql_aleko.csh ${TYPE} ${DAT} ${ERA} + +ls ${WD}/${TYPE}_LIST/runlist.tmp.${DAT} +rm ${WD}/${TYPE}_LIST/RUNS_TMP +cat ${WD}/${TYPE}_LIST/runlist.tmp.${DAT} > ${WD}/${TYPE}_LIST/RUNS_TMP + +set jold=194165 +foreach i (`cat ${WD}/${TYPE}_LIST/RUNS_TMP`) +echo "Run" ${i} + +set iold=`echo ${i} | awk -F _ '{print $1}'` +set jold=`echo ${i} | awk -F _ '{print $2}'` +set year=`echo ${i} | awk -F _ '{print $3}' | awk -F - '{print $1}'` +set nevent=`echo ${i} | awk -F _ '{print $5}'` +echo ${iold} ${jold} ${year} ${nevent} +if( ${nevent} != "None" ) then +if( ${nevent} >= "500" && ${nevent} <= "11000") then +echo "Start job " + +touch ${WD}/BATCHLOG/batchlog_${iold}.log ${WD}/BATCHLOG/ebatchlog_${iold}.log +set MYOUTJOB=${WD}/BATCHLOG/batchlog_${iold}.log +echo ${MYOUTJOB} +set MYERRJOB=${WD}/BATCHLOG/ebatchlog_${iold}.log +echo ${MYERRJOB} +set MYCONDOR=${WD}/BATCHLOG/condor.log +echo ${MYCONDOR} + +rm ${WD}/BSUB/job_${iold}_${jold}.sub +cat >> ${WD}/BSUB/job_${iold}_${jold}.sub << EOF +executable = ${SCRIPT}/HcalRemoteMonitoringNewNewTest.csh +arguments = ${iold} ${DAT} ${jold} ${nevent} ${TYPE} ${ERA} ${RELEASE} ${SCRAM_ARCH} ${PYTHON} +output = ${MYOUTJOB} +error = ${MYERRJOB} +log = ${MYCONDOR} ++JobFlavour = "workday" +queue 1 +EOF + +echo "Make a job" +condor_submit ${WD}/BSUB/job_${iold}_${jold}.sub +echo "End job " +sleep 1 +endif +endif +end diff --git a/DPGAnalysis/HcalTools/scripts/rmt/batch_interactive_new_root.csh b/DPGAnalysis/HcalTools/scripts/rmt/batch_interactive_new_root.csh new file mode 100755 index 0000000000000..e598600f84315 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/batch_interactive_new_root.csh @@ -0,0 +1,31 @@ +#!/bin/csh + +set RELEASE=${CMSSW_VERSION} +### Get list of done from RDM webpage ### +set TYPE=${1} +echo ${TYPE} +if( ${TYPE} != "LED" && ${TYPE} != "LASER" && ${TYPE} != "PEDESTAL" ) then +echo "Please check type " ${TYPE} "should be LED or LASER or PEDESTAL" +exit +endif + +set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript" +set SCRIPT=`pwd` +set PYTHON=${CMSSW_BASE}/src/DPGAnalysis/HcalTools/python +echo ${WD} + +set jold=194165 +foreach i (`cat tmp.list.${TYPE}`) +echo "Run" ${i} +set iold=`echo ${i} | awk -F _ '{print $1}'` +set date=`echo ${i} | awk -F _ '{print $2}'` +set time=`echo ${i} | awk -F _ '{print $3}'` +set year=`echo ${date} | awk -F - '{print $1}'` +set nevent=`echo ${i} | awk -F _ '{print $4}'` +echo ${iold} ${jold} ${year} ${nevent} + +echo "Make a job" +${SCRIPT}/HcalRemoteMonitoringNewNewRoot.csh ${TYPE} ${iold} ${iold} ${nevent} ${RELEASE} +echo "End job " +sleep 1 +end diff --git a/DPGAnalysis/HcalTools/scripts/rmt/currentlist.LED b/DPGAnalysis/HcalTools/scripts/rmt/currentlist.LED new file mode 100644 index 0000000000000..ac9bb40c50b2e --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/currentlist.LED @@ -0,0 +1,3508 @@ +LED_345127 +LED_345113 +LED_345073 +LED_345067 +LED_345066 +LED_345009 +LED_344990 +LED_344989 +LED_344988 +LED_344987 +LED_344986 +LED_344985 +LED_344984 +LED_344983 +LED_344982 +LED_344935 +LED_344892 +LED_344884 +LED_344875 +LED_344788 +LED_344774 +LED_344771 +LED_344766 +LED_344763 +LED_344760 +LED_344755 +LED_344752 +LED_344748 +LED_344740 +LED_344718 +LED_344717 +LED_344716 +LED_344715 +LED_344714 +LED_344713 +LED_344712 +LED_344711 +LED_344710 +LED_344671 +LED_344590 +LED_344584 +LED_344553 +LED_344548 +LED_344535 +LED_344505 +LED_344497 +LED_344462 +LED_344422 +LED_344418 +LED_344417 +LED_344342 +LED_344339 +LED_344337 +LED_344333 +LED_344329 +LED_344249 +LED_344164 +LED_344123 +LED_343852 +LED_343840 +LED_343827 +LED_343431 +LED_343428 +LED_343424 +LED_343382 +LED_343366 +LED_343360 +LED_343359 +LED_343354 +LED_343306 +LED_343299 +LED_343258 +LED_343254 +LED_343253 +LED_343252 +LED_343251 +LED_343250 +LED_343246 +LED_343128 +LED_343113 +LED_343105 +LED_342895 +LED_342894 +LED_342892 +LED_342891 +LED_342886 +LED_342860 +LED_342856 +LED_342778 +LED_342777 +LED_342768 +LED_342767 +LED_342766 +LED_342765 +LED_342764 +LED_342763 +LED_342762 +LED_342761 +LED_342760 +LED_342758 +LED_342756 +LED_342755 +LED_342688 +LED_342608 +LED_342607 +LED_342606 +LED_342605 +LED_342604 +LED_342603 +LED_342602 +LED_342598 +LED_342597 +LED_342596 +LED_342595 +LED_342594 +LED_342593 +LED_342589 +LED_342588 +LED_342587 +LED_342586 +LED_342585 +LED_342584 +LED_342575 +LED_342565 +LED_342564 +LED_342563 +LED_342561 +LED_342544 +LED_342542 +LED_342541 +LED_342366 +LED_342277 +LED_342276 +LED_342275 +LED_342274 +LED_342273 +LED_342272 +LED_342210 +LED_342209 +LED_342208 +LED_342183 +LED_342137 +LED_342134 +LED_342132 +LED_342027 +LED_342026 +LED_341947 +LED_341575 +LED_341542 +LED_341445 +LED_341444 +LED_341443 +LED_341442 +LED_341438 +LED_341437 +LED_341436 +LED_341435 +LED_341431 +LED_341430 +LED_341414 +LED_341412 +LED_341282 +LED_341269 +LED_341267 +LED_341266 +LED_341265 +LED_341264 +LED_341263 +LED_341261 +LED_341260 +LED_341234 +LED_341233 +LED_341232 +LED_341231 +LED_341230 +LED_341229 +LED_341228 +LED_341227 +LED_341226 +LED_341225 +LED_341224 +LED_341223 +LED_341222 +LED_341221 +LED_341220 +LED_341219 +LED_341216 +LED_341208 +LED_341207 +LED_341194 +LED_341193 +LED_341192 +LED_341191 +LED_341190 +LED_341186 +LED_341180 +LED_341072 +LED_341062 +LED_341061 +LED_341060 +LED_341041 +LED_341017 +LED_341016 +LED_341012 +LED_340991 +LED_340976 +LED_340974 +LED_340972 +LED_340971 +LED_340969 +LED_340968 +LED_340967 +LED_340966 +LED_340965 +LED_340964 +LED_340962 +LED_340961 +LED_340960 +LED_340959 +LED_340958 +LED_340957 +LED_340956 +LED_340955 +LED_340954 +LED_340953 +LED_340952 +LED_340951 +LED_340947 +LED_340905 +LED_340904 +LED_340903 +LED_340902 +LED_340900 +LED_340885 +LED_340877 +LED_340871 +LED_340869 +LED_340868 +LED_340863 +LED_340862 +LED_340825 +LED_340823 +LED_340822 +LED_340821 +LED_340820 +LED_340819 +LED_340818 +LED_340817 +LED_340816 +LED_340808 +LED_340807 +LED_340806 +LED_340677 +LED_340676 +LED_340538 +LED_340535 +LED_340533 +LED_340532 +LED_340531 +LED_340530 +LED_340529 +LED_340528 +LED_340524 +LED_340523 +LED_340501 +LED_340370 +LED_340363 +LED_340362 +LED_340361 +LED_340359 +LED_340358 +LED_340357 +LED_340356 +LED_340355 +LED_340352 +LED_340351 +LED_340350 +LED_340349 +LED_340348 +LED_340347 +LED_340346 +LED_340345 +LED_340296 +LED_340293 +LED_340292 +LED_340291 +LED_340276 +LED_340274 +LED_340271 +LED_340265 +LED_340180 +LED_340175 +LED_340173 +LED_340167 +LED_340148 +LED_340144 +LED_340142 +LED_340141 +LED_340140 +LED_340139 +LED_340135 +LED_340133 +LED_340132 +LED_340131 +LED_340130 +LED_340127 +LED_340124 +LED_340123 +LED_340119 +LED_340113 +LED_339996 +LED_339991 +LED_339966 +LED_339962 +LED_339947 +LED_339944 +LED_339820 +LED_339819 +LED_339814 +LED_339810 +LED_339705 +LED_339698 +LED_339672 +LED_339671 +LED_339666 +LED_339661 +LED_339658 +LED_339654 +LED_339651 +LED_339639 +LED_339638 +LED_339631 +LED_339627 +LED_339625 +LED_339621 +LED_339613 +LED_339612 +LED_339557 +LED_339556 +LED_339541 +LED_339518 +LED_339516 +LED_339505 +LED_339314 +LED_339313 +LED_339312 +LED_339246 +LED_339245 +LED_339244 +LED_339243 +LED_339242 +LED_339241 +LED_339240 +LED_339239 +LED_339237 +LED_339236 +LED_339235 +LED_339233 +LED_331388 +LED_331382 +LED_331370 +LED_331311 +LED_331308 +LED_331301 +LED_331251 +LED_331248 +LED_331241 +LED_331240 +LED_331235 +LED_331233 +LED_331232 +LED_331215 +LED_331213 +LED_331211 +LED_331207 +LED_331206 +LED_331205 +LED_331204 +LED_331203 +LED_331200 +LED_331199 +LED_331178 +LED_331177 +LED_331176 +LED_331175 +LED_331147 +LED_331146 +LED_331145 +LED_331144 +LED_331143 +LED_331141 +LED_331122 +LED_331121 +LED_331075 +LED_331040 +LED_331007 +LED_331004 +LED_331000 +LED_330992 +LED_330990 +LED_330989 +LED_330976 +LED_330971 +LED_330963 +LED_330953 +LED_330951 +LED_330945 +LED_330944 +LED_330892 +LED_330890 +LED_330866 +LED_330865 +LED_330864 +LED_330863 +LED_330862 +LED_330860 +LED_330844 +LED_330843 +LED_330831 +LED_330830 +LED_330829 +LED_330825 +LED_330823 +LED_330819 +LED_330818 +LED_330770 +LED_330746 +LED_330711 +LED_330708 +LED_330682 +LED_330681 +LED_330680 +LED_330679 +LED_330656 +LED_330646 +LED_330645 +LED_330641 +LED_330638 +LED_330615 +LED_330614 +LED_330594 +LED_330589 +LED_330587 +LED_330576 +LED_330567 +LED_330561 +LED_330553 +LED_330552 +LED_330533 +LED_330529 +LED_330523 +LED_330521 +LED_330520 +LED_330507 +LED_330504 +LED_330499 +LED_330473 +LED_330466 +LED_330454 +LED_330410 +LED_330404 +LED_330400 +LED_330323 +LED_330321 +LED_330299 +LED_330243 +LED_330159 +LED_330157 +LED_330156 +LED_330153 +LED_330101 +LED_330084 +LED_330083 +LED_330081 +LED_330079 +LED_330078 +LED_330076 +LED_330067 +LED_330032 +LED_330021 +LED_330020 +LED_330016 +LED_330010 +LED_329864 +LED_329860 +LED_329853 +LED_329851 +LED_329850 +LED_329847 +LED_329846 +LED_329845 +LED_329837 +LED_329805 +LED_329416 +LED_329413 +LED_329317 +LED_329301 +LED_329279 +LED_329275 +LED_329272 +LED_329249 +LED_329248 +LED_329233 +LED_329221 +LED_329155 +LED_329129 +LED_328892 +LED_328891 +LED_328858 +LED_328857 +LED_328851 +LED_328781 +LED_328772 +LED_328737 +LED_328730 +LED_328728 +LED_328694 +LED_328655 +LED_328653 +LED_328651 +LED_328641 +LED_328629 +LED_328627 +LED_328624 +LED_328619 +LED_328617 +LED_328609 +LED_328608 +LED_328576 +LED_328572 +LED_328538 +LED_328208 +LED_327785 +LED_327762 +LED_327711 +LED_327709 +LED_327691 +LED_327690 +LED_327689 +LED_327688 +LED_327687 +LED_327686 +LED_327670 +LED_327660 +LED_327656 +LED_327620 +LED_327616 +LED_327595 +LED_327591 +LED_327581 +LED_327580 +LED_327579 +LED_327577 +LED_327576 +LED_327552 +LED_327548 +LED_327547 +LED_327443 +LED_327441 +LED_327438 +LED_327288 +LED_327284 +LED_327283 +LED_327091 +LED_326875 +LED_326871 +LED_326780 +LED_326324 +LED_326234 +LED_325790 +LED_325787 +LED_325757 +LED_325748 +LED_325641 +LED_325640 +LED_325551 +LED_325498 +LED_325488 +LED_325457 +LED_325456 +LED_325453 +LED_325446 +LED_325433 +LED_325267 +LED_325141 +LED_324934 +LED_324919 +LED_324705 +LED_324591 +LED_324303 +LED_324296 +LED_324225 +LED_324219 +LED_324138 +LED_324111 +LED_324032 +LED_324030 +LED_323742 +LED_323737 +LED_323613 +LED_323579 +LED_323567 +LED_323531 +LED_323530 +LED_323502 +LED_323314 +LED_323308 +LED_323038 +LED_323016 +LED_322995 +LED_322931 +LED_322876 +LED_322853 +LED_322843 +LED_322801 +LED_322782 +LED_322781 +LED_322725 +LED_322721 +LED_322720 +LED_322719 +LED_322718 +LED_322419 +LED_322415 +LED_322338 +LED_322261 +LED_322255 +LED_322166 +LED_321927 +LED_321874 +LED_321853 +LED_321807 +LED_321589 +LED_321552 +LED_321550 +LED_321549 +LED_321548 +LED_321547 +LED_321534 +LED_321514 +LED_321447 +LED_321445 +LED_321371 +LED_321359 +LED_321339 +LED_321329 +LED_321197 +LED_321187 +LED_321036 +LED_321033 +LED_321019 +LED_320952 +LED_320950 +LED_320949 +LED_320947 +LED_320944 +LED_320892 +LED_320873 +LED_320871 +LED_320776 +LED_320771 +LED_320767 +LED_320579 +LED_320577 +LED_320374 +LED_320371 +LED_320358 +LED_320348 +LED_320220 +LED_320205 +LED_320203 +LED_320158 +LED_320125 +LED_320117 +LED_320108 +LED_319969 +LED_319964 +LED_319857 +LED_319774 +LED_319771 +LED_319734 +LED_319612 +LED_319610 +LED_319564 +LED_319520 +LED_319519 +LED_319517 +LED_319401 +LED_319213 +LED_319198 +LED_318840 +LED_318758 +LED_318235 +LED_318222 +LED_318217 +LED_318211 +LED_318208 +LED_318207 +LED_317984 +LED_317981 +LED_317977 +LED_317790 +LED_317785 +LED_317754 +LED_317753 +LED_317752 +LED_317751 +LED_317729 +LED_317728 +LED_317727 +LED_317725 +LED_317722 +LED_317719 +LED_317718 +LED_317617 +LED_317613 +LED_317612 +LED_317611 +LED_317610 +LED_317609 +LED_317607 +LED_317606 +LED_317601 +LED_317535 +LED_317448 +LED_317444 +LED_317401 +LED_317398 +LED_317367 +LED_317363 +LED_317326 +LED_317273 +LED_317271 +LED_317268 +LED_317229 +LED_317193 +LED_317191 +LED_317119 +LED_317116 +LED_316826 +LED_316815 +LED_316677 +LED_316632 +LED_316584 +LED_316530 +LED_316489 +LED_316410 +LED_316316 +LED_316129 +LED_315984 +LED_315816 +LED_315812 +LED_315757 +LED_315755 +LED_315754 +LED_315749 +LED_315748 +LED_315746 +LED_315735 +LED_315660 +LED_315657 +LED_315594 +LED_315579 +LED_315437 +LED_315285 +LED_315213 +LED_315132 +LED_315130 +LED_315129 +LED_315073 +LED_315040 +LED_315024 +LED_315023 +LED_315021 +LED_315016 +LED_315012 +LED_314949 +LED_314948 +LED_314944 +LED_314943 +LED_314899 +LED_314898 +LED_314897 +LED_314896 +LED_314895 +LED_314827 +LED_314826 +LED_314800 +LED_314795 +LED_314786 +LED_314782 +LED_314780 +LED_314779 +LED_314777 +LED_314776 +LED_314770 +LED_314769 +LED_314696 +LED_314695 +LED_314608 +LED_314597 +LED_314595 +LED_314542 +LED_314432 +LED_314431 +LED_314430 +LED_314426 +LED_314425 +LED_314424 +LED_314423 +LED_314422 +LED_314420 +LED_314419 +LED_314313 +LED_314308 +LED_314298 +LED_314111 +LED_314106 +LED_314103 +LED_314100 +LED_314097 +LED_314046 +LED_313919 +LED_313918 +LED_313915 +LED_313904 +LED_313897 +LED_313891 +LED_313890 +LED_313632 +LED_313625 +LED_313498 +LED_313495 +LED_313493 +LED_313479 +LED_313430 +LED_313375 +LED_313373 +LED_313371 +LED_313344 +LED_313340 +LED_313338 +LED_313335 +LED_313307 +LED_313264 +LED_313263 +LED_313260 +LED_313259 +LED_313232 +LED_313194 +LED_313174 +LED_313158 +LED_313149 +LED_313090 +LED_313072 +LED_313067 +LED_313064 +LED_313051 +LED_313049 +LED_313009 +LED_312953 +LED_312889 +LED_312886 +LED_312884 +LED_312880 +LED_312879 +LED_312874 +LED_312872 +LED_312870 +LED_312778 +LED_312775 +LED_312757 +LED_312756 +LED_312717 +LED_312626 +LED_312622 +LED_312618 +LED_312579 +LED_312575 +LED_312571 +LED_312524 +LED_312489 +LED_312487 +LED_312486 +LED_312484 +LED_312483 +LED_312482 +LED_312472 +LED_312471 +LED_312470 +LED_312469 +LED_312467 +LED_312466 +LED_312462 +LED_312461 +LED_312458 +LED_312392 +LED_312386 +LED_312384 +LED_312379 +LED_312375 +LED_312374 +LED_312372 +LED_312341 +LED_312333 +LED_312320 +LED_312316 +LED_312314 +LED_312281 +LED_312253 +LED_312211 +LED_312204 +LED_312200 +LED_312189 +LED_312185 +LED_312160 +LED_312157 +LED_312156 +LED_312155 +LED_312153 +LED_312058 +LED_312057 +LED_312054 +LED_312052 +LED_312051 +LED_312040 +LED_312031 +LED_312029 +LED_312013 +LED_312011 +LED_312009 +LED_312004 +LED_311901 +LED_311858 +LED_311783 +LED_311767 +LED_311759 +LED_311754 +LED_311753 +LED_311573 +LED_311566 +LED_311551 +LED_311457 +LED_311456 +LED_311454 +LED_311413 +LED_311369 +LED_311367 +LED_311366 +LED_311364 +LED_311363 +LED_311362 +LED_311361 +LED_311360 +LED_311358 +LED_311355 +LED_311353 +LED_311349 +LED_311347 +LED_311344 +LED_311338 +LED_311335 +LED_311334 +LED_311327 +LED_310973 +LED_310968 +LED_310952 +LED_310949 +LED_310948 +LED_310947 +LED_310847 +LED_310807 +LED_310806 +LED_310604 +LED_310456 +LED_310454 +LED_310452 +LED_310427 +LED_310410 +LED_310403 +LED_310387 +LED_310382 +LED_310363 +LED_310349 +LED_310348 +LED_310341 +LED_310340 +LED_310334 +LED_310285 +LED_310268 +LED_310262 +LED_310256 +LED_310244 +LED_310229 +LED_310226 +LED_310223 +LED_310222 +LED_310204 +LED_310202 +LED_310201 +LED_310197 +LED_310192 +LED_310188 +LED_310185 +LED_310183 +LED_310182 +LED_310181 +LED_310179 +LED_310108 +LED_310106 +LED_310052 +LED_310043 +LED_310008 +LED_309945 +LED_309940 +LED_309939 +LED_309924 +LED_309923 +LED_309880 +LED_309878 +LED_309877 +LED_309875 +LED_309873 +LED_309870 +LED_309869 +LED_309850 +LED_309833 +LED_309829 +LED_309825 +LED_309824 +LED_309823 +LED_309821 +LED_309820 +LED_309819 +LED_309752 +LED_309727 +LED_309723 +LED_309714 +LED_309704 +LED_309678 +LED_309674 +LED_309672 +LED_309671 +LED_309670 +LED_309669 +LED_309646 +LED_309596 +LED_309592 +LED_309573 +LED_309565 +LED_309546 +LED_309545 +LED_309539 +LED_309538 +LED_309445 +LED_309444 +LED_309411 +LED_309373 +LED_309372 +LED_309370 +LED_309342 +LED_309322 +LED_309321 +LED_309318 +LED_309238 +LED_309237 +LED_309175 +LED_309162 +LED_309161 +LED_309156 +LED_309154 +LED_309152 +LED_309145 +LED_309144 +LED_309141 +LED_309134 +LED_309133 +LED_309123 +LED_309122 +LED_309069 +LED_309064 +LED_309059 +LED_309037 +LED_309036 +LED_309024 +LED_309010 +LED_309009 +LED_309008 +LED_308995 +LED_308960 +LED_308959 +LED_308937 +LED_308882 +LED_308881 +LED_308870 +LED_308851 +LED_308839 +LED_308821 +LED_308792 +LED_308788 +LED_308786 +LED_308784 +LED_308765 +LED_308761 +LED_308754 +LED_308751 +LED_308746 +LED_308744 +LED_308740 +LED_308736 +LED_308704 +LED_308701 +LED_308700 +LED_308699 +LED_308543 +LED_308522 +LED_308521 +LED_308514 +LED_308509 +LED_308508 +LED_308507 +LED_308501 +LED_308401 +LED_308384 +LED_308383 +LED_308367 +LED_308351 +LED_308339 +LED_308330 +LED_308329 +LED_308328 +LED_308267 +LED_308262 +LED_308257 +LED_308254 +LED_308250 +LED_308236 +LED_308235 +LED_308234 +LED_308175 +LED_308158 +LED_308157 +LED_308152 +LED_308151 +LED_308144 +LED_308141 +LED_308016 +LED_308015 +LED_308014 +LED_308012 +LED_308011 +LED_308010 +LED_308009 +LED_308007 +LED_308005 +LED_308004 +LED_308001 +LED_308000 +LED_307999 +LED_307997 +LED_307973 +LED_307971 +LED_307969 +LED_307968 +LED_307967 +LED_307966 +LED_307965 +LED_307964 +LED_307963 +LED_307958 +LED_307934 +LED_307931 +LED_307920 +LED_307918 +LED_307917 +LED_307892 +LED_307891 +LED_307888 +LED_307885 +LED_307884 +LED_307883 +LED_307882 +LED_307878 +LED_307877 +LED_307874 +LED_307873 +LED_307872 +LED_307871 +LED_307856 +LED_307855 +LED_307853 +LED_307852 +LED_307847 +LED_307845 +LED_307844 +LED_307843 +LED_307842 +LED_307841 +LED_307828 +LED_307826 +LED_307825 +LED_307824 +LED_307823 +LED_307822 +LED_307820 +LED_307819 +LED_307816 +LED_307815 +LED_307814 +LED_307813 +LED_307811 +LED_307810 +LED_307807 +LED_307806 +LED_307805 +LED_307803 +LED_307797 +LED_307796 +LED_307794 +LED_307793 +LED_307790 +LED_307789 +LED_307788 +LED_307785 +LED_307783 +LED_307782 +LED_307772 +LED_307771 +LED_307769 +LED_307768 +LED_307767 +LED_307765 +LED_307584 +LED_307500 +LED_307385 +LED_307247 +LED_307238 +LED_307229 +LED_307210 +LED_307208 +LED_307207 +LED_307194 +LED_307192 +LED_307191 +LED_307183 +LED_307180 +LED_307179 +LED_307159 +LED_307139 +LED_307130 +LED_306971 +LED_306970 +LED_306845 +LED_306725 +LED_306698 +LED_306690 +LED_306249 +LED_306232 +LED_306073 +LED_306068 +LED_305940 +LED_305886 +LED_305882 +LED_305711 +LED_305705 +LED_305704 +LED_305697 +LED_305696 +LED_305695 +LED_305691 +LED_305689 +LED_305684 +LED_305683 +LED_305682 +LED_305485 +LED_305478 +LED_305327 +LED_305220 +LED_305142 +LED_305133 +LED_305131 +LED_305054 +LED_304852 +LED_304753 +LED_304685 +LED_304636 +LED_304635 +LED_304526 +LED_304519 +LED_304432 +LED_304427 +LED_304324 +LED_304276 +LED_304267 +LED_304266 +LED_304265 +LED_304264 +LED_304263 +LED_304260 +LED_304239 +LED_304229 +LED_304079 +LED_303913 +LED_303912 +LED_303903 +LED_303869 +LED_303867 +LED_303860 +LED_303693 +LED_303689 +LED_303686 +LED_303559 +LED_303556 +LED_303554 +LED_303553 +LED_303552 +LED_303549 +LED_303548 +LED_303546 +LED_303545 +LED_303544 +LED_303543 +LED_303542 +LED_303541 +LED_303540 +LED_303539 +LED_303538 +LED_303536 +LED_303535 +LED_303531 +LED_303526 +LED_303515 +LED_303512 +LED_303508 +LED_303456 +LED_303374 +LED_303223 +LED_303076 +LED_303073 +LED_302998 +LED_302958 +LED_302836 +LED_302812 +LED_302808 +LED_302803 +LED_302616 +LED_302585 +LED_302582 +LED_302468 +LED_302419 +LED_302418 +LED_302417 +LED_302253 +LED_302246 +LED_302244 +LED_302217 +LED_302183 +LED_302115 +LED_301887 +LED_301735 +LED_301724 +LED_301715 +LED_301509 +LED_301504 +LED_301378 +LED_301205 +LED_301203 +LED_301196 +LED_301002 +LED_300995 +LED_300994 +LED_300829 +LED_300607 +LED_300427 +LED_300423 +LED_300299 +LED_300185 +LED_299978 +LED_299975 +LED_299468 +LED_299465 +LED_299457 +LED_299357 +LED_299229 +LED_298888 +LED_298863 +LED_298806 +LED_298722 +LED_298475 +LED_298469 +LED_298428 +LED_298413 +LED_298412 +LED_298350 +LED_298343 +LED_298317 +LED_298309 +LED_298305 +LED_298304 +LED_298284 +LED_298277 +LED_298251 +LED_298212 +LED_298201 +LED_298125 +LED_298122 +LED_298097 +LED_298055 +LED_298017 +LED_298014 +LED_297995 +LED_297964 +LED_297954 +LED_297931 +LED_297930 +LED_297924 +LED_297915 +LED_297846 +LED_297776 +LED_297767 +LED_297765 +LED_297764 +LED_297763 +LED_297757 +LED_297755 +LED_297753 +LED_297751 +LED_297750 +LED_297748 +LED_297746 +LED_297732 +LED_297731 +LED_297687 +LED_297645 +LED_297630 +LED_297571 +LED_297522 +LED_297459 +LED_297441 +LED_297241 +LED_297238 +LED_297087 +LED_297082 +LED_297028 +LED_297027 +LED_297026 +LED_296911 +LED_296909 +LED_296906 +LED_296808 +LED_296744 +LED_296743 +LED_296742 +LED_296627 +LED_296582 +LED_296550 +LED_296547 +LED_296542 +LED_296515 +LED_296493 +LED_296474 +LED_296473 +LED_296458 +LED_296374 +LED_296373 +LED_296360 +LED_296327 +LED_296323 +LED_296320 +LED_296315 +LED_296310 +LED_296246 +LED_296240 +LED_296228 +LED_296224 +LED_296221 +LED_296188 +LED_296185 +LED_296182 +LED_295767 +LED_295698 +LED_295675 +LED_295401 +LED_295297 +LED_295252 +LED_295105 +LED_295102 +LED_295057 +LED_295050 +LED_295029 +LED_295023 +LED_295022 +LED_295020 +LED_294917 +LED_294915 +LED_294912 +LED_294775 +LED_294773 +LED_294771 +LED_294769 +LED_294587 +LED_294575 +LED_294557 +LED_294542 +LED_294449 +LED_294447 +LED_294388 +LED_294387 +LED_294276 +LED_294267 +LED_294256 +LED_294199 +LED_294197 +LED_294088 +LED_294085 +LED_294078 +LED_294054 +LED_294046 +LED_294043 +LED_294039 +LED_293881 +LED_293869 +LED_293657 +LED_293631 +LED_293628 +LED_293622 +LED_293620 +LED_293564 +LED_293560 +LED_293559 +LED_293557 +LED_293556 +LED_293555 +LED_293554 +LED_293550 +LED_293548 +LED_293517 +LED_293512 +LED_293507 +LED_293493 +LED_293367 +LED_293366 +LED_293364 +LED_293354 +LED_293353 +LED_293322 +LED_293319 +LED_293316 +LED_293300 +LED_293295 +LED_293164 +LED_292992 +LED_292990 +LED_292952 +LED_292826 +LED_292802 +LED_292657 +LED_292656 +LED_292653 +LED_292517 +LED_292454 +LED_292453 +LED_292412 +LED_292403 +LED_292400 +LED_292398 +LED_292395 +LED_292382 +LED_292381 +LED_292375 +LED_292350 +LED_292326 +LED_292231 +LED_292227 +LED_292140 +LED_292134 +LED_291959 +LED_291756 +LED_291677 +LED_291674 +LED_291673 +LED_291671 +LED_291670 +LED_291669 +LED_291666 +LED_291665 +LED_291664 +LED_291663 +LED_291661 +LED_291660 +LED_291657 +LED_291656 +LED_291654 +LED_291653 +LED_291617 +LED_291616 +LED_291408 +LED_291298 +LED_291250 +LED_291248 +LED_291211 +LED_291208 +LED_291203 +LED_291186 +LED_291094 +LED_291088 +LED_291087 +LED_291084 +LED_291082 +LED_291071 +LED_291054 +LED_290980 +LED_290827 +LED_290791 +LED_290789 +LED_290781 +LED_290778 +LED_290776 +LED_290775 +LED_290773 +LED_290771 +LED_290770 +LED_290745 +LED_290731 +LED_290730 +LED_290728 +LED_290715 +LED_290709 +LED_290707 +LED_290706 +LED_290705 +LED_290701 +LED_290688 +LED_290680 +LED_290679 +LED_290604 +LED_290518 +LED_290415 +LED_290380 +LED_290293 +LED_290283 +LED_290279 +LED_290268 +LED_290245 +LED_290224 +LED_290217 +LED_290148 +LED_290147 +LED_290142 +LED_290140 +LED_290134 +LED_290132 +LED_290105 +LED_290099 +LED_290042 +LED_290036 +LED_290034 +LED_290010 +LED_289966 +LED_289958 +LED_289904 +LED_289889 +LED_289887 +LED_289870 +LED_289869 +LED_289857 +LED_289711 +LED_289669 +LED_289668 +LED_289611 +LED_289609 +LED_289606 +LED_289585 +LED_289580 +LED_289551 +LED_289550 +LED_289502 +LED_289495 +LED_289451 +LED_289445 +LED_289442 +LED_289429 +LED_289422 +LED_289399 +LED_289299 +LED_289297 +LED_289287 +LED_289286 +LED_289278 +LED_289268 +LED_289247 +LED_289245 +LED_289244 +LED_289243 +LED_289240 +LED_289234 +LED_289226 +LED_289215 +LED_289214 +LED_289197 +LED_289167 +LED_289157 +LED_289140 +LED_289137 +LED_289116 +LED_289106 +LED_289104 +LED_289093 +LED_289088 +LED_289086 +LED_289066 +LED_289061 +LED_289035 +LED_289009 +LED_288980 +LED_288977 +LED_288953 +LED_288947 +LED_288921 +LED_288914 +LED_288906 +LED_288902 +LED_288890 +LED_288867 +LED_288863 +LED_288826 +LED_288820 +LED_288818 +LED_288816 +LED_288815 +LED_288809 +LED_288791 +LED_288789 +LED_288782 +LED_288775 +LED_288773 +LED_288770 +LED_288753 +LED_288732 +LED_288727 +LED_288714 +LED_288694 +LED_288676 +LED_288675 +LED_288673 +LED_288668 +LED_288648 +LED_288633 +LED_288631 +LED_288630 +LED_288613 +LED_288599 +LED_288598 +LED_288596 +LED_288594 +LED_288589 +LED_288581 +LED_288580 +LED_288562 +LED_288560 +LED_288542 +LED_288535 +LED_288534 +LED_288529 +LED_288521 +LED_288510 +LED_288501 +LED_288480 +LED_288437 +LED_288424 +LED_288398 +LED_288396 +LED_288395 +LED_288392 +LED_288391 +LED_288390 +LED_288384 +LED_288348 +LED_288347 +LED_288346 +LED_288301 +LED_288299 +LED_288293 +LED_288291 +LED_288264 +LED_288260 +LED_288254 +LED_288239 +LED_288238 +LED_288237 +LED_288231 +LED_288164 +LED_288163 +LED_288119 +LED_288115 +LED_288104 +LED_288103 +LED_288102 +LED_288087 +LED_288084 +LED_288083 +LED_288078 +LED_288063 +LED_288062 +LED_288051 +LED_288050 +LED_288046 +LED_288030 +LED_288029 +LED_288023 +LED_287987 +LED_287983 +LED_287982 +LED_287957 +LED_287956 +LED_287955 +LED_287954 +LED_287953 +LED_287950 +LED_287949 +LED_287940 +LED_287937 +LED_287930 +LED_287924 +LED_287922 +LED_287920 +LED_287918 +LED_287917 +LED_287916 +LED_287915 +LED_287907 +LED_287905 +LED_287903 +LED_287901 +LED_287899 +LED_287890 +LED_287888 +LED_287887 +LED_287886 +LED_287885 +LED_287883 +LED_287880 +LED_287878 +LED_287874 +LED_287872 +LED_287860 +LED_287851 +LED_287800 +LED_287775 +LED_287774 +LED_287773 +LED_287768 +LED_287763 +LED_287751 +LED_287750 +LED_287747 +LED_287746 +LED_287744 +LED_287726 +LED_287721 +LED_287678 +LED_287616 +LED_287588 +LED_287584 +LED_287539 +LED_287531 +LED_287530 +LED_287527 +LED_287526 +LED_287516 +LED_287509 +LED_287508 +LED_287499 +LED_287472 +LED_287461 +LED_287458 +LED_287457 +LED_287454 +LED_287453 +LED_287450 +LED_287449 +LED_287448 +LED_287433 +LED_287428 +LED_287427 +LED_287412 +LED_287391 +LED_287390 +LED_287389 +LED_287388 +LED_287387 +LED_287101 +LED_287089 +LED_287088 +LED_287078 +LED_287036 +LED_287035 +LED_287004 +LED_287003 +LED_287002 +LED_287001 +LED_287000 +LED_286999 +LED_286998 +LED_286996 +LED_286994 +LED_286991 +LED_286988 +LED_286986 +LED_286984 +LED_286982 +LED_286980 +LED_286978 +LED_286976 +LED_286968 +LED_286961 +LED_286957 +LED_286954 +LED_286953 +LED_286952 +LED_286951 +LED_286950 +LED_286949 +LED_286947 +LED_286946 +LED_286764 +LED_285842 +LED_285697 +LED_285553 +LED_285356 +LED_285349 +LED_285224 +LED_285101 +LED_284878 +LED_284832 +LED_284829 +LED_284339 +LED_284324 +LED_284321 +LED_284320 +LED_284307 +LED_284250 +LED_284188 +LED_284184 +LED_284124 +LED_283536 +LED_283442 +LED_283440 +LED_283398 +LED_283370 +LED_283296 +LED_283111 +LED_283104 +LED_283103 +LED_283102 +LED_283101 +LED_283099 +LED_283098 +LED_283013 +LED_283010 +LED_282847 +LED_282776 +LED_282775 +LED_282726 +LED_282462 +LED_281735 +LED_281645 +LED_281458 +LED_281362 +LED_281059 +LED_280379 +LED_280262 +LED_280200 +LED_279908 +LED_279800 +LED_279785 +LED_279723 +LED_279700 +LED_279607 +LED_279096 +LED_279058 +LED_278897 +LED_278596 +LED_277511 +LED_277336 +LED_277172 +LED_277132 +LED_276678 +LED_276600 +LED_276554 +LED_276531 +LED_276520 +LED_276476 +LED_276463 +LED_276462 +LED_276461 +LED_276416 +LED_276402 +LED_276081 +LED_275864 +LED_275807 +LED_275697 +LED_275457 +LED_275430 +LED_275265 +LED_275013 +LED_274890 +LED_274752 +LED_273894 +LED_273770 +LED_273763 +LED_273757 +LED_273648 +LED_273616 +LED_273604 +LED_273557 +LED_273455 +LED_273316 +LED_273234 +LED_273117 +LED_272947 +LED_272946 +LED_272847 +LED_272581 +LED_272533 +LED_272513 +LED_272312 +LED_272303 +LED_271961 +LED_271842 +LED_271753 +LED_271711 +LED_271625 +LED_271528 +LED_271465 +LED_270989 +LED_270975 +LED_270970 +LED_270823 +LED_270820 +LED_270751 +LED_270687 +LED_270682 +LED_270608 +LED_270605 +LED_270459 +LED_270432 +LED_270431 +LED_270416 +LED_269509 +LED_269494 +LED_269493 +LED_269333 +LED_269332 +LED_269245 +LED_268853 +LED_268851 +LED_268577 +LED_268576 +LED_268575 +LED_268368 +LED_268206 +LED_268148 +LED_268146 +LED_268141 +LED_268140 +LED_268120 +LED_268110 +LED_268087 +LED_268079 +LED_268076 +LED_268075 +LED_268041 +LED_268025 +LED_268021 +LED_268017 +LED_267699 +LED_267621 +LED_267145 +LED_267108 +LED_267103 +LED_267101 +LED_267096 +LED_267092 +LED_267090 +LED_267088 +LED_267071 +LED_267065 +LED_267052 +LED_266920 +LED_266918 +LED_266917 +LED_266916 +LED_266913 +LED_266912 +LED_266911 +LED_266909 +LED_266907 +LED_266905 +LED_266903 +LED_266900 +LED_266899 +LED_266895 +LED_266894 +LED_266893 +LED_266844 +LED_266837 +LED_266755 +LED_266749 +LED_266426 +LED_266425 +LED_266396 +LED_266188 +LED_266034 +LED_266020 +LED_266019 +LED_266010 +LED_265905 +LED_265817 +LED_265806 +LED_265728 +LED_265701 +LED_265699 +LED_265690 +LED_265687 +LED_265622 +LED_265613 +LED_265611 +LED_265598 +LED_265583 +LED_265533 +LED_265467 +LED_265346 +LED_265335 +LED_265242 +LED_265224 +LED_265223 +LED_265174 +LED_265171 +LED_265129 +LED_265114 +LED_265111 +LED_265109 +LED_265103 +LED_265060 +LED_265040 +LED_265019 +LED_265015 +LED_264863 +LED_264786 +LED_264737 +LED_264548 +LED_264509 +LED_264428 +LED_264260 +LED_264199 +LED_264198 +LED_264194 +LED_264192 +LED_264154 +LED_264071 +LED_264069 +LED_264060 +LED_263766 +LED_263732 +LED_263678 +LED_263677 +LED_263638 +LED_263622 +LED_263596 +LED_263428 +LED_263278 +LED_263178 +LED_263148 +LED_262389 +LED_262378 +LED_262065 +LED_262050 +LED_262043 +LED_262040 +LED_261351 +LED_261349 +LED_261182 +LED_261118 +LED_260930 +LED_260784 +LED_260783 +LED_260777 +LED_260710 +LED_260655 +LED_260314 +LED_260297 +LED_260283 +LED_260084 +LED_260014 +LED_259917 +LED_259419 +LED_259136 +LED_258893 +LED_258809 +LED_258539 +LED_258352 +LED_258182 +LED_258031 +LED_257785 +LED_257570 +LED_257241 +LED_256893 +LED_256888 +LED_256689 +LED_256290 +LED_256010 +LED_255815 +LED_255812 +LED_255809 +LED_255807 +LED_255805 +LED_255755 +LED_255422 +LED_255420 +LED_255419 +LED_255418 +LED_255409 +LED_255201 +LED_255097 +LED_255085 +LED_254743 +LED_254730 +LED_254729 +LED_254715 +LED_254708 +LED_254700 +LED_254694 +LED_254631 +LED_254630 +LED_254612 +LED_254544 +LED_254463 +LED_254353 +LED_254324 +LED_254322 +LED_254041 +LED_254040 +LED_254039 +LED_254031 +LED_254030 +LED_254028 +LED_254027 +LED_254021 +LED_254016 +LED_254013 +LED_254006 +LED_254004 +LED_253683 +LED_253656 +LED_253655 +LED_253653 +LED_253650 +LED_253649 +LED_253555 +LED_253520 +LED_253279 +LED_253100 +LED_253098 +LED_253067 +LED_253054 +LED_252914 +LED_252908 +LED_252673 +LED_252651 +LED_252643 +LED_252475 +LED_252451 +LED_252442 +LED_252386 +LED_252374 +LED_252254 +LED_252250 +LED_252243 +LED_252242 +LED_252145 +LED_252143 +LED_252063 +LED_252005 +LED_251998 +LED_251940 +LED_251775 +LED_251668 +LED_251471 +LED_250952 +LED_250739 +LED_250736 +LED_250734 +LED_250621 +LED_249528 +LED_249525 +LED_248363 +LED_248256 +LED_248240 +LED_248162 +LED_248155 +LED_248150 +LED_248128 +LED_248124 +LED_248122 +LED_247726 +LED_247721 +LED_247655 +LED_247654 +LED_247653 +LED_246600 +LED_246239 +LED_246217 +LED_246206 +LED_246155 +LED_245632 +LED_245629 +LED_245626 +LED_245622 +LED_245599 +LED_245595 +LED_245594 +LED_245589 +LED_245585 +LED_245578 +LED_245535 +LED_245480 +LED_245478 +LED_245374 +LED_245372 +LED_245335 +LED_245292 +LED_245265 +LED_245262 +LED_245261 +LED_245260 +LED_245241 +LED_245240 +LED_245229 +LED_245216 +LED_245212 +LED_245210 +LED_245209 +LED_245208 +LED_245133 +LED_245130 +LED_245128 +LED_245118 +LED_245113 +LED_245112 +LED_245111 +LED_245110 +LED_245076 +LED_245074 +LED_245060 +LED_245058 +LED_245050 +LED_245049 +LED_245048 +LED_245047 +LED_245045 +LED_245039 +LED_244962 +LED_244961 +LED_244958 +LED_244955 +LED_244954 +LED_244952 +LED_244949 +LED_244946 +LED_244893 +LED_244890 +LED_244887 +LED_244822 +LED_244821 +LED_244782 +LED_244781 +LED_244780 +LED_244776 +LED_244775 +LED_244446 +LED_244346 +LED_244336 +LED_244325 +LED_244324 +LED_244319 +LED_244318 +LED_244314 +LED_244308 +LED_244297 +LED_244296 +LED_244294 +LED_244293 +LED_244290 +LED_244289 +LED_244276 +LED_244184 +LED_244095 +LED_244094 +LED_244092 +LED_244086 +LED_244058 +LED_243815 +LED_243803 +LED_243788 +LED_243543 +LED_243533 +LED_243392 +LED_243386 +LED_243321 +LED_243314 +LED_243311 +LED_243217 +LED_243216 +LED_243215 +LED_243214 +LED_243212 +LED_242981 +LED_242859 +LED_242854 +LED_242852 +LED_242851 +LED_242831 +LED_242773 +LED_242772 +LED_241681 +LED_241513 +LED_241511 +LED_241505 +LED_241482 +LED_241476 +LED_241465 +LED_241384 +LED_241380 +LED_241371 +LED_241369 +LED_241321 +LED_241318 +LED_241271 +LED_241269 +LED_241244 +LED_241237 +LED_241089 +LED_241085 +LED_241083 +LED_241072 +LED_241068 +LED_241048 +LED_241034 +LED_241029 +LED_241025 +LED_241001 +LED_240979 +LED_240906 +LED_240894 +LED_240519 +LED_239953 +LED_239952 +LED_239724 +LED_239704 +LED_239703 +LED_239702 +LED_237000 +LED_236555 +LED_236554 +LED_236548 +LED_236547 +LED_236546 +LED_235728 +LED_235726 +LED_235509 +LED_235399 +LED_235396 +LED_235394 +LED_235380 +LED_234811 +LED_234427 +LED_234155 +LED_234123 +LED_234119 +LED_234115 +LED_234112 +LED_233888 +LED_233862 +LED_233774 +LED_233771 +LED_233655 +LED_233027 +LED_232154 +LED_232149 +LED_232138 +LED_231939 +LED_231923 +LED_231922 +LED_231770 +LED_231761 +LED_231746 +LED_231681 +LED_231679 +LED_231677 +LED_231671 +LED_231667 +LED_230822 +LED_230717 +LED_230706 +LED_230705 +LED_230698 +LED_230680 +LED_230668 +LED_230570 +LED_230541 +LED_229976 +LED_229975 +LED_229974 +LED_229757 +LED_229751 +LED_229742 +LED_229739 +LED_229736 +LED_229735 +LED_229732 +LED_229730 +LED_229725 +LED_229723 +LED_229720 +LED_229719 +LED_229716 +LED_229605 +LED_229598 +LED_229591 +LED_229582 +LED_229577 +LED_229574 +LED_229570 +LED_229564 +LED_229561 +LED_229555 +LED_229552 +LED_229543 +LED_229542 +LED_229541 +LED_229540 +LED_229539 +LED_229538 +LED_229537 +LED_229534 +LED_229533 +LED_229532 +LED_229531 +LED_229509 +LED_229507 +LED_229506 +LED_229505 +LED_229502 +LED_229501 +LED_229500 +LED_229499 +LED_229496 +LED_229495 +LED_229494 +LED_229491 +LED_229490 +LED_229488 +LED_229487 +LED_229486 +LED_229485 +LED_229484 +LED_229482 +LED_229478 +LED_229476 +LED_229475 +LED_229474 +LED_229473 +LED_229472 +LED_229470 +LED_229469 +LED_229468 +LED_229467 +LED_229466 +LED_229465 +LED_229362 +LED_229354 +LED_229352 +LED_229350 +LED_228608 +LED_228604 +LED_228602 +LED_228372 +LED_228371 +LED_228228 +LED_228173 +LED_228163 +LED_228119 +LED_228110 +LED_228087 +LED_228086 +LED_227969 +LED_227871 +LED_227870 +LED_227869 +LED_227868 +LED_227867 +LED_227863 +LED_227862 +LED_227850 +LED_227830 +LED_227828 +LED_227826 +LED_227806 +LED_227794 +LED_227792 +LED_227786 +LED_227785 +LED_227727 +LED_227717 +LED_227399 +LED_227397 +LED_227394 +LED_227315 +LED_227247 +LED_227184 +LED_227177 +LED_227176 +LED_227175 +LED_227100 +LED_227086 +LED_227077 +LED_227072 +LED_227070 +LED_227025 +LED_227024 +LED_227023 +LED_227014 +LED_227012 +LED_226986 +LED_226943 +LED_226821 +LED_226810 +LED_226794 +LED_226628 +LED_226620 +LED_225538 +LED_224716 +LED_216600 +LED_216591 +LED_216589 +LED_216578 +LED_216568 +LED_216558 +LED_216552 +LED_216551 +LED_216516 +LED_216510 +LED_216507 +LED_216503 +LED_216500 +LED_216481 +LED_216478 +LED_216477 +LED_216247 +LED_216190 +LED_215994 +LED_215991 +LED_215558 +LED_215557 +LED_215429 +LED_215427 +LED_215386 +LED_215372 +LED_215370 +LED_215367 +LED_215366 +LED_215347 +LED_215332 +LED_215317 +LED_215298 +LED_215289 +LED_215236 +LED_215177 +LED_215167 +LED_215152 +LED_215151 +LED_215135 +LED_215066 +LED_215061 +LED_215029 +LED_215010 +LED_214999 +LED_214995 +LED_214973 +LED_214966 +LED_214960 +LED_214926 +LED_214915 +LED_214904 +LED_214903 +LED_214901 +LED_214883 +LED_214862 +LED_214860 +LED_214826 +LED_214824 +LED_214817 +LED_214813 +LED_214801 +LED_214791 +LED_214787 +LED_214785 +LED_214777 +LED_214768 +LED_214747 +LED_214733 +LED_214728 +LED_214712 +LED_214709 +LED_214702 +LED_214696 +LED_214694 +LED_214693 +LED_214692 +LED_214686 +LED_214685 +LED_214684 +LED_214683 +LED_214616 +LED_214614 +LED_214598 +LED_214583 +LED_214582 +LED_214581 +LED_214568 +LED_214567 +LED_214566 +LED_214560 +LED_214528 +LED_214522 +LED_214515 +LED_214513 +LED_214512 +LED_214507 +LED_214505 +LED_214459 +LED_214458 +LED_214456 +LED_214455 +LED_214434 +LED_214433 +LED_214432 +LED_214430 +LED_214429 +LED_214428 +LED_214427 +LED_214426 +LED_214425 +LED_214423 +LED_214421 +LED_214418 +LED_214415 +LED_214414 +LED_214413 +LED_214412 +LED_214405 +LED_214387 +LED_214374 +LED_214371 +LED_214367 +LED_214366 +LED_214354 +LED_214351 +LED_214325 +LED_214287 +LED_214285 +LED_214279 +LED_214245 +LED_214212 +LED_214205 +LED_214198 +LED_214181 +LED_214160 +LED_214157 +LED_214153 +LED_214147 +LED_214146 +LED_214104 +LED_214011 +LED_213975 +LED_213974 +LED_213971 +LED_213967 +LED_213966 +LED_213947 +LED_213939 +LED_213926 +LED_213925 +LED_213924 +LED_213917 +LED_213868 +LED_213866 +LED_213863 +LED_213842 +LED_213822 +LED_213815 +LED_213803 +LED_213802 +LED_213797 +LED_213794 +LED_213792 +LED_213791 +LED_213789 +LED_213787 +LED_213783 +LED_213780 +LED_213779 +LED_213778 +LED_213776 +LED_213769 +LED_213768 +LED_213767 +LED_213751 +LED_213735 +LED_213732 +LED_213727 +LED_213726 +LED_213724 +LED_213714 +LED_213706 +LED_213665 +LED_213638 +LED_213635 +LED_213452 +LED_213417 +LED_213409 +LED_213322 +LED_213315 +LED_213312 +LED_213236 +LED_213235 +LED_213233 +LED_213230 +LED_213228 +LED_213226 +LED_213224 +LED_213223 +LED_213222 +LED_213221 +LED_213167 +LED_213143 +LED_213133 +LED_213132 +LED_213118 +LED_213089 +LED_213068 +LED_213067 +LED_213064 +LED_213063 +LED_212990 +LED_212985 +LED_212965 +LED_212152 +LED_211877 +LED_211851 +LED_211721 +LED_211659 +LED_211424 +LED_211316 +LED_211137 +LED_211124 +LED_211006 +LED_210862 +LED_210711 +LED_210556 +LED_210378 +LED_210187 +LED_209997 +LED_209726 +LED_209653 +LED_209585 +LED_209311 +LED_209289 +LED_208959 +LED_208565 +LED_208361 +LED_208228 +LED_208130 +LED_208001 +LED_207914 +LED_207825 +LED_207698 +LED_207545 +LED_207544 +LED_207406 +LED_207345 +LED_207167 +LED_207143 +LED_207053 +LED_206915 +LED_206636 +LED_206456 +LED_206372 +LED_205928 +LED_205845 +LED_205803 +LED_205637 +LED_205630 +LED_205546 +LED_205441 +LED_205355 +LED_205268 +LED_205225 +LED_205224 +LED_205223 +LED_205222 +LED_205117 +LED_205115 +LED_205058 +LED_205056 +LED_204918 +LED_204584 +LED_204335 +LED_204172 +LED_203902 +LED_203874 +LED_203842 +LED_203536 +LED_203434 +LED_203342 +LED_203339 +LED_203063 +LED_203061 +LED_203060 +LED_203059 +LED_203058 +LED_203056 +LED_203054 +LED_203052 +LED_203051 +LED_203048 +LED_203047 +LED_203046 +LED_203044 +LED_203041 +LED_203040 +LED_203038 +LED_203037 +LED_203022 +LED_202916 +LED_202633 +LED_202490 +LED_202341 +LED_202216 +LED_202193 +LED_202127 +LED_202066 +LED_202022 +LED_201896 +LED_201737 +LED_201571 +LED_201305 +LED_201182 +LED_201017 +LED_200968 +LED_200870 +LED_200808 +LED_200707 +LED_200648 +LED_200618 +LED_200615 +LED_200612 +LED_200610 +LED_200609 +LED_200552 +LED_200503 +LED_200395 +LED_200336 +LED_200333 +LED_200281 +LED_200062 +LED_199932 +LED_199822 +LED_199778 +LED_199724 +LED_199668 +LED_199446 +LED_199419 +LED_199392 +LED_199124 +LED_199121 +LED_199065 +LED_198964 +LED_198866 +LED_198806 +LED_198633 +LED_198552 +LED_198436 +LED_198430 +LED_198223 +LED_198091 +LED_198084 +LED_198075 +LED_197965 +LED_197900 +LED_197517 +LED_197135 +LED_196870 +LED_196558 +LED_196557 +LED_196555 +LED_196472 +LED_196467 +LED_196401 +LED_196385 +LED_196338 +LED_196271 +LED_196150 +LED_196146 +LED_196038 +LED_196035 +LED_195978 +LED_195778 +LED_195682 +LED_195668 +LED_195470 +LED_195413 +LED_195328 +LED_195289 +LED_195284 +LED_195226 +LED_195172 +LED_195063 +LED_195036 +LED_195025 +LED_194938 +LED_194934 +LED_194857 +LED_194807 +LED_194739 +LED_194552 +LED_194449 +LED_194444 +LED_194443 +LED_194442 +LED_194334 +LED_194237 +LED_194218 +LED_194165 +LED_194124 +LED_194057 +LED_183315 +LED_183314 +LED_183313 +LED_183312 +LED_183311 +LED_183310 +LED_183309 +LED_183308 +LED_183307 +LED_183306 +LED_183305 +LED_183304 +LED_183303 +LED_183302 +LED_183301 +LED_183300 +LED_183299 +LED_183298 +LED_183297 +LED_183296 +LED_183295 +LED_183294 +LED_183293 +LED_183292 +LED_183291 +LED_183290 +LED_183289 +LED_183288 +LED_183287 +LED_183286 +LED_183285 +LED_183284 +LED_183283 +LED_183282 +LED_183281 +LED_183280 +LED_183279 +LED_183278 +LED_183277 +LED_183276 +LED_183275 +LED_183274 +LED_183273 +LED_183272 +LED_183271 +LED_183270 +LED_183269 +LED_183268 +LED_183267 +LED_183266 +LED_183265 +LED_183186 +LED_182859 +LED_182692 +LED_182480 +LED_182357 +LED_182266 +LED_182101 +LED_182072 +LED_181919 +LED_181870 +LED_181700 +LED_181586 +LED_181578 +LED_181473 +LED_181472 +LED_181470 +LED_181468 +LED_181466 +LED_181465 +LED_181464 +LED_181463 +LED_181462 +LED_181461 +LED_181460 +LED_181459 +LED_181458 +LED_181457 +LED_181455 +LED_181454 +LED_181453 +LED_181452 +LED_181451 +LED_181450 +LED_181449 +LED_181448 +LED_181447 +LED_181446 +LED_181445 +LED_181442 +LED_181439 +LED_181436 +LED_181035 +LED_181006 +LED_180863 +LED_180860 +LED_180844 +LED_180782 +LED_180727 +LED_180723 +LED_180630 +LED_180616 +LED_180556 +LED_180545 +LED_180541 +LED_180538 +LED_180534 +LED_180532 +LED_180528 +LED_180484 +LED_180479 +LED_180474 +LED_180473 +LED_180471 +LED_180470 +LED_180467 +LED_180466 +LED_180462 +LED_180461 +LED_180460 +LED_180459 +LED_180455 +LED_180451 +LED_180448 +LED_180446 +LED_180445 +LED_180439 +LED_180437 +LED_180436 +LED_180435 +LED_180433 +LED_180431 +LED_180430 +LED_180429 +LED_180428 +LED_180427 +LED_180426 +LED_180425 +LED_180424 +LED_180423 +LED_180422 +LED_180421 +LED_180420 +LED_180419 +LED_180418 +LED_180417 +LED_180415 +LED_180414 +LED_180413 +LED_180412 +LED_180411 +LED_180410 +LED_180409 +LED_180408 +LED_180407 +LED_180406 +LED_180405 +LED_180404 +LED_180403 +LED_180402 +LED_180401 +LED_180400 +LED_180397 +LED_180368 +LED_180272 +LED_180269 +LED_180267 +LED_180265 +LED_180260 +LED_180215 +LED_180204 +LED_180187 +LED_180168 +LED_180017 +LED_179614 +LED_178935 +LED_178752 +LED_178561 +LED_178457 +LED_178453 +LED_178393 +LED_178235 +LED_178164 +LED_178126 +LED_178125 +LED_178089 +LED_177682 +LED_177324 +LED_177113 +LED_177027 +LED_176872 +LED_176719 +LED_176706 +LED_176620 +LED_176582 +LED_176383 +LED_176183 +LED_176078 +LED_175922 +LED_175582 +LED_175336 +LED_175325 +LED_174853 +LED_173558 +LED_173556 +LED_173502 +LED_173469 +LED_173350 +LED_173065 +LED_172929 +LED_172702 +LED_172607 +LED_172377 +LED_171672 +LED_170943 +LED_170072 +LED_169949 +LED_169698 +LED_169697 +LED_169695 +LED_169694 +LED_169693 +LED_169692 +LED_169691 +LED_169207 +LED_168704 +LED_168703 +LED_168701 +LED_168698 +LED_168696 +LED_168692 +LED_168611 +LED_168553 +LED_168214 +LED_167449 +LED_167448 +LED_167377 +LED_167226 +LED_166796 +LED_166772 +LED_166626 +LED_166599 +LED_166583 +LED_166271 +LED_166107 +LED_165685 +LED_165671 +LED_164654 +LED_163836 +LED_163825 +LED_162728 +LED_162719 +LED_162086 +LED_162084 +LED_161521 +LED_161510 +LED_160661 +LED_160534 +LED_160371 +LED_159854 +LED_159834 +LED_159666 +LED_159428 +LED_158995 +LED_158978 +LED_158965 +LED_158749 +LED_158539 +LED_158529 +LED_158515 +LED_158514 +LED_158476 +LED_158474 +LED_158461 +LED_158455 +LED_158228 +LED_158192 +LED_158110 +LED_158109 +LED_158108 +LED_158106 +LED_158104 +LED_158101 +LED_157910 +LED_157903 +LED_157900 +LED_157888 +LED_157799 +LED_157792 +LED_157791 +LED_157789 +LED_157782 +LED_157780 +LED_157779 +LED_157778 +LED_157527 +LED_157525 +LED_157519 +LED_157490 +LED_157477 +LED_157125 +LED_157122 +LED_157118 +LED_156640 +LED_153528 +LED_152912 +LED_152890 +LED_152806 +LED_152687 +LED_152686 +LED_151621 +LED_151253 +LED_151245 +LED_151243 +LED_151222 +LED_150719 +LED_150512 +LED_149169 +LED_149123 +LED_149121 +LED_149118 +LED_149117 +LED_149116 +LED_149107 +LED_149103 +LED_149096 +LED_149086 +LED_148788 +LED_148771 +LED_148770 +LED_148769 +LED_148768 +LED_148767 +LED_148766 +LED_148759 +LED_148746 +LED_148732 +LED_148722 +LED_148716 +LED_148522 +LED_148521 +LED_148393 +LED_148387 +LED_148259 +LED_148246 +LED_148245 +LED_148133 +LED_146920 +LED_145618 +LED_145613 +LED_145612 +LED_145611 +LED_145609 +LED_145608 +LED_145607 +LED_145605 +LED_145604 +LED_145595 +LED_145594 +LED_145593 +LED_145592 +LED_145591 +LED_145589 +LED_145588 +LED_145587 +LED_145420 +LED_145314 +LED_145309 +LED_145305 +LED_145302 +LED_145294 +LED_144934 +LED_144933 +LED_144868 +LED_144867 +LED_144864 +LED_144847 +LED_144844 +LED_144725 +LED_144429 +LED_144421 +LED_144319 +LED_144204 +LED_144200 +LED_144199 +LED_144194 +LED_143881 +LED_143879 +LED_143878 +LED_143877 +LED_143876 +LED_143874 +LED_143870 +LED_143869 +LED_143864 +LED_143843 +LED_143617 +LED_143528 +LED_143494 +LED_143467 +LED_143265 +LED_143257 +LED_143250 +LED_143248 +LED_143247 +LED_143237 +LED_143236 +LED_143235 +LED_143233 +LED_143138 +LED_143094 +LED_143026 +LED_143025 +LED_142978 +LED_142565 +LED_142357 +LED_142092 +LED_141895 +LED_141674 +LED_141588 +LED_141476 +LED_141434 +LED_141431 +LED_141422 +LED_141419 +LED_141391 +LED_140711 +LED_140408 +LED_139799 +LED_139716 +LED_139713 +LED_139597 +LED_139553 +LED_139516 +LED_139509 +LED_139504 +LED_139478 +LED_139477 +LED_139476 +LED_139311 +LED_139310 +LED_139309 +LED_139306 +LED_138024 +LED_137862 +LED_137763 +LED_137638 +LED_136952 +LED_136816 +LED_136651 +LED_136531 +LED_136175 +LED_135539 +LED_135253 +LED_135077 +LED_135014 +LED_134911 +LED_134909 +LED_134783 +LED_134568 +LED_133128 diff --git a/DPGAnalysis/HcalTools/scripts/rmt/footer.txt b/DPGAnalysis/HcalTools/scripts/rmt/footer.txt new file mode 100644 index 0000000000000..1f50a8e1ac344 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/footer.txt @@ -0,0 +1 @@ + diff --git a/DPGAnalysis/HcalTools/scripts/rmt/index_test.html b/DPGAnalysis/HcalTools/scripts/rmt/index_test.html new file mode 100644 index 0000000000000..9de9066a44469 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/index_test.html @@ -0,0 +1,83369 @@ + + + + Remote Monitoring Tool + + +

Remote Monitoring Tool for Local Runs

+RMT tool description +
+DetDiag link +
+

Reference to other Monitoring Tools:

+ + + + + + + +

LED Runs

+
CMT Tool for Global RunsAMT Tool for Local RunsRMT TwikiCMT Twiki
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#Run NumberRun TypeNum. of eventsRun DateRun TimeReference RunLink to RDM toolLink to DQM dataComment
1345127LED10002021-09-1614:21:51345127LED_345127NOOK
2345113LED10002021-09-1412:09:29345113LED_345113NOOK
3345073LED10002021-09-1111:28:50345073LED_345073NOOK
4345067LED10002021-09-1020:37:56345067LED_345067NOOK
5345066LED10002021-09-1020:37:56345066LED_345066NOOK
6345009LED10002021-09-912:31:04345009LED_345009NOOK
7344990LED10002021-09-909:03:07344990LED_344990NOOK
8344989LED10002021-09-909:03:07344989LED_344989NOOK
9344988LED10002021-09-909:03:07344988LED_344988NOOK
10344987LED10002021-09-909:03:07344987LED_344987NOOK
11344986LED10002021-09-909:03:07344986LED_344986NOOK
12344985LED10002021-09-909:03:07344985LED_344985NOOK
13344984LED10002021-09-909:03:07344984LED_344984NOOK
14344983LED10002021-09-821:05:26344983LED_344983NOOK
15344982LED10002021-09-820:59:30344982LED_344982NOOK
16344935LED10002021-09-717:37:33344935LED_344935NOOK
17344892LED10002021-09-317:38:14344892LED_344892NOOK
18344884LED10002021-09-310:59:45344884LED_344884NOOK
19344788LED10002021-08-3011:37:12344788LED_344788NOOK
20344774LED10002021-08-2713:30:39344774LED_344774NOOK
21344771LED10002021-08-2710:11:03344771LED_344771NOOK
22344766LED10002021-08-2616:21:11344766LED_344766NOOK
23344763LED10002021-08-2613:37:48344763LED_344763NOOK
24344760LED10002021-08-2611:10:19344760LED_344760NOOK
25344755LED10002021-08-2516:28:48344755LED_344755NOOK
26344752LED10002021-08-2514:02:45344752LED_344752NOOK
27344748LED10002021-08-2510:03:17344748LED_344748NOOK
28344740LED10002021-08-2412:49:12344740LED_344740NOOK
29344718LED100002021-08-1710:56:51344718LED_344718NOOK
30344717LED100002021-08-1710:56:51344717LED_344717NOOK
31344716LED100002021-08-1710:56:51344716LED_344716NOOK
32344715LED100002021-08-1710:56:51344715LED_344715NOOK
33344714LED100002021-08-1710:56:51344714LED_344714NOOK
34344713LED100002021-08-1710:56:51344713LED_344713NOOK
35344712LED100002021-08-1710:56:51344712LED_344712NOOK
36344711LED100002021-08-1710:56:51344711LED_344711NOOK
37344710LED10002021-08-1710:56:51344710LED_344710NOOK
38344671LED10002021-08-1215:49:34344671LED_344671NOOK
39344590LED20002021-08-1112:37:57344590LED_344590NOOK
40344584LED10002021-08-1111:59:39344584LED_344584NOOK
41344553LED14002021-08-1016:08:02344553LED_344553NOOK
42344535LED10002021-08-1012:09:26344535LED_344535NOOK
43344505LED10002021-08-918:19:13344505LED_344505NOOK
44344497LED10002021-08-917:34:35344497LED_344497NOOK
45344462LED33002021-08-913:19:20344462LED_344462NOOK
46344422LED10002021-08-716:37:09344422LED_344422NOOK
47344418LED10002021-08-620:08:55344418LED_344418NOOK
48344417LED10002021-08-620:08:55344417LED_344417NOOK
49344342LED10002021-08-518:26:22344342LED_344342NOOK
50344339LED10002021-08-518:26:22344339LED_344339NOOK
51344337LED10002021-08-518:26:22344337LED_344337NOOK
52344333LED10002021-08-518:20:06344333LED_344333NOOK
53344329LED10002021-08-518:09:53344329LED_344329NOOK
54344249LED10002021-08-417:29:26344249LED_344249NOOK
55344164LED10002021-08-317:15:48344164LED_344164NOOK
56344123LED10002021-08-217:08:04344123LED_344123NOOK
57343852LED10002021-07-2719:09:49343852LED_343852NOOK
58343840LED10002021-07-2718:39:55343840LED_343840NOOK
59343827LED10002021-07-2717:12:14343827LED_343827NOOK
60343431LED10002021-07-2213:09:12343431LED_343431NOOK
61343428LED10002021-07-2213:09:12343428LED_343428NOOK
62343424LED10002021-07-2212:50:16343424LED_343424NOOK
63343382LED10002021-07-2119:28:38343382LED_343382NOOK
64343366LED10002021-07-2118:25:52343366LED_343366NOOK
65343360LED10002021-07-2112:24:26343360LED_343360NOOK
66343359LED10002021-07-2112:24:26343359LED_343359NOOK
67343354LED10002021-07-2112:24:26343354LED_343354NOOK
68343306LED10002021-07-2112:24:26343306LED_343306NOOK
69343299LED10002021-07-2112:24:26343299LED_343299NOOK
70343258LED10002021-07-2019:39:07343258LED_343258NOOK
71343254LED10002021-07-2018:40:40343254LED_343254NOOK
72343253LED10002021-07-2018:40:40343253LED_343253NOOK
73343252LED10002021-07-2018:40:40343252LED_343252NOOK
74343251LED10002021-07-2018:40:40343251LED_343251NOOK
75343250LED10002021-07-2018:40:40343250LED_343250NOOK
76343246LED10002021-07-2018:40:40343246LED_343246NOOK
77343128LED10002021-07-1917:59:15343128LED_343128NOOK
78343113LED10002021-07-1912:50:34343113LED_343113NOOK
79343105LED10002021-07-1912:50:34343105LED_343105NOOK
80342895LED10002021-07-1613:34:06342895LED_342895NOOK
81342894LED10002021-07-1613:34:06342894LED_342894NOOK
82342892LED10002021-07-1612:40:17342892LED_342892NOOK
83342891LED10002021-07-1612:40:17342891LED_342891NOOK
84342886LED10002021-07-1612:40:17342886LED_342886NOOK
85342860LED10002021-07-1518:36:10342860LED_342860NOOK
86342856LED10002021-07-1518:36:10342856LED_342856NOOK
87342778LED10002021-07-1317:18:31342778LED_342778NOOK
88342768LED10002021-07-1314:11:19342768LED_342768NOOK
89342767LED10002021-07-1314:11:19342767LED_342767NOOK
90342766LED10002021-07-1314:11:19342766LED_342766NOOK
91342765LED10002021-07-1314:11:19342765LED_342765NOOK
92342764LED10002021-07-1314:11:19342764LED_342764NOOK
93342763LED10002021-07-1314:11:19342763LED_342763NOOK
94342762LED10002021-07-1314:11:19342762LED_342762NOOK
95342761LED10002021-07-1314:11:19342761LED_342761NOOK
96342760LED10002021-07-1314:11:19342760LED_342760NOOK
97342758LED10002021-07-1314:11:19342758LED_342758NOOK
98342756LED10002021-07-1313:57:36342756LED_342756NOOK
99342755LED10002021-07-1313:57:36342755LED_342755NOOK
100342688LED10002021-07-1214:33:20342688LED_342688NOOK
101342608LED10002021-07-612:08:38342608LED_342608NOOK
102342607LED10002021-07-612:08:38342607LED_342607NOOK
103342606LED10002021-07-612:08:38342606LED_342606NOOK
104342605LED10002021-07-612:08:38342605LED_342605NOOK
105342604LED25002021-07-612:08:38342604LED_342604NOOK
106342603LED73002021-07-612:08:38342603LED_342603NOOK
107342598LED100002021-07-115:58:08342598LED_342598NOOK
108342597LED78002021-07-115:58:08342597LED_342597NOOK
109342596LED67002021-07-115:58:08342596LED_342596NOOK
110342595LED100002021-07-115:58:08342595LED_342595NOOK
111342594LED67002021-07-115:22:28342594LED_342594NOOK
112342588LED10002021-07-114:40:59342588LED_342588NOOK
113342587LED100002021-07-113:22:04342587LED_342587NOOK
114342586LED100002021-07-113:22:04342586LED_342586NOOK
115342585LED10002021-07-113:22:04342585LED_342585NOOK
116342584LED10002021-07-113:03:24342584LED_342584NOOK
117342575LED10002021-06-3018:53:30342575LED_342575NOOK
118342565LED10002021-06-3015:54:44342565LED_342565NOOK
119342564LED20002021-06-3015:48:57342564LED_342564NOOK
120342563LED20002021-06-3014:50:12342563LED_342563NOOK
121342561LED20002021-06-3014:50:12342561LED_342561NOOK
122342544LED20002021-06-3013:17:25342544LED_342544NOOK
123342542LED10002021-06-3012:08:46342542LED_342542NOOK
124342541LED10002021-06-3012:08:46342541LED_342541NOOK
125342366LED10002021-06-1609:10:35342366LED_342366NOOK
126342277LED10002021-06-1413:10:34342277LED_342277NOOK
127342276LED10002021-06-1413:10:34342276LED_342276NOOK
128342274LED10002021-06-1412:50:57342274LED_342274NOOK
129342273LED10002021-06-1412:50:57342273LED_342273NOOK
130342272LED10002021-06-1412:50:57342272LED_342272NOOK
131342210LED10002021-06-1117:15:46342210LED_342210NOOK
132342209LED9002021-06-1117:15:46342209LED_342209NOOK
133342208LED10002021-06-1117:15:46342208LED_342208NOOK
134342183LED10002021-06-1113:30:23342183LED_342183NOOK
135342137LED10002021-06-1017:21:18342137LED_342137NOOK
136342134LED10002021-06-1016:30:52342134LED_342134NOOK
137342132LED10002021-06-1016:30:52342132LED_342132NOOK
138342027LED10002021-06-911:02:07342027LED_342027NOOK
139342026LED10002021-06-910:50:03342026LED_342026NOOK
140341947LED10002021-06-712:39:34341947LED_341947NOOK
141341575LED10002021-05-714:29:54341575LED_341575NOOK
142341542LED10002021-05-613:49:06341542LED_341542NOOK
143341445LED10002021-05-412:36:38341445LED_341445NOOK
144341444LED10002021-05-412:13:21341444LED_341444NOOK
145341414LED10002021-05-311:49:34341414LED_341414NOOK
146341282LED10002021-04-2117:28:58341282LED_341282NOOK
147341269LED10002021-04-2116:00:59341269LED_341269NOOK
148341266LED10002021-04-2115:12:55341266LED_341266NOOK
149341265LED75002021-04-2114:45:13341265LED_341265NOOK
150341264LED10002021-04-2114:45:13341264LED_341264NOOK
151341263LED10002021-04-2114:41:38341263LED_341263NOOK
152341261LED10002021-04-2112:52:21341261LED_341261NOOK
153341234LED10002021-04-1920:08:05341234LED_341234NOOK
154341229LED10002021-04-1918:10:15341229LED_341229NOOK
155341228LED19002021-04-1917:52:04341228LED_341228NOOK
156341227LED10002021-04-1917:52:04341227LED_341227NOOK
157341225LED100002021-04-1917:10:03341225LED_341225NOOK
158341194LED100002021-04-1911:38:35341194LED_341194NOOK
159341193LED10002021-04-1911:38:35341193LED_341193NOOK
160341192LED10002021-04-1911:38:35341192LED_341192NOOK
161341191LED10002021-04-1911:38:35341191LED_341191NOOK
162341190LED10002021-04-1911:38:35341190LED_341190NOOK
163341186LED10002021-04-1911:38:35341186LED_341186NOOK
164341180LED10002021-04-1911:38:35341180LED_341180NOOK
165341072LED10002021-04-1515:21:46341072LED_341072NOOK
166341062LED10002021-04-1512:23:38341062LED_341062NOOK
167341061LED20002021-04-1512:07:40341061LED_341061NOOK
168341060LED20002021-04-1512:07:40341060LED_341060NOOK
169341041LED10002021-04-1419:16:46341041LED_341041NOOK
170341017LED10002021-04-1416:24:56341017LED_341017NOOK
171341016LED10002021-04-1415:38:52341016LED_341016NOOK
172341012LED10002021-04-1415:28:34341012LED_341012NOOK
173340991LED10002021-04-1411:05:05340991LED_340991NOOK
174340976LED10002021-04-1317:55:43340976LED_340976NOOK
175340974LED10002021-04-1317:10:58340974LED_340974NOOK
176340972LED10002021-04-1316:38:01340972LED_340972NOOK
177340971LED10002021-04-1316:38:01340971LED_340971NOOK
178340969LED10002021-04-1316:18:47340969LED_340969NOOK
179340968LED10002021-04-1316:18:47340968LED_340968NOOK
180340967LED10002021-04-1316:18:47340967LED_340967NOOK
181340966LED10002021-04-1316:09:32340966LED_340966NOOK
182340965LED10002021-04-1315:58:23340965LED_340965NOOK
183340964LED10002021-04-1315:39:03340964LED_340964NOOK
184340962LED10002021-04-1315:39:03340962LED_340962NOOK
185340961LED10002021-04-1315:39:03340961LED_340961NOOK
186340960LED10002021-04-1315:39:03340960LED_340960NOOK
187340959LED10002021-04-1315:39:03340959LED_340959NOOK
188340958LED10002021-04-1315:39:03340958LED_340958NOOK
189340957LED10002021-04-1315:10:14340957LED_340957NOOK
190340956LED10002021-04-1315:10:14340956LED_340956NOOK
191340955LED10002021-04-1315:10:14340955LED_340955NOOK
192340954LED10002021-04-1315:10:14340954LED_340954NOOK
193340953LED10002021-04-1315:10:14340953LED_340953NOOK
194340952LED10002021-04-1315:10:14340952LED_340952NOOK
195340951LED10002021-04-1315:10:14340951LED_340951NOOK
196340947LED10002021-04-1314:22:59340947LED_340947NOOK
197340905LED10002021-04-1220:34:35340905LED_340905NOOK
198340904LED10002021-04-1220:26:49340904LED_340904NOOK
199340903LED10002021-04-1220:11:15340903LED_340903NOOK
200340902LED10002021-04-1220:11:15340902LED_340902NOOK
201340900LED20002021-04-1219:41:08340900LED_340900NOOK
202340885LED20002021-04-1218:05:31340885LED_340885NOOK
203340877LED20002021-04-1213:55:17340877LED_340877NOOK
204340871LED10002021-04-1211:14:13340871LED_340871NOOK
205340869LED10002021-04-1210:49:03340869LED_340869NOOK
206340868LED10002021-04-1210:49:03340868LED_340868NOOK
207340863LED10002021-04-1209:35:26340863LED_340863NOOK
208340862LED10002021-04-1209:35:26340862LED_340862NOOK
209340825LED10002021-04-818:02:54340825LED_340825NOOK
210340823LED10002021-04-817:46:02340823LED_340823NOOK
211340822LED10002021-04-817:19:32340822LED_340822NOOK
212340821LED10002021-04-817:19:32340821LED_340821NOOK
213340820LED10002021-04-817:19:32340820LED_340820NOOK
214340819LED10002021-04-817:19:32340819LED_340819NOOK
215340818LED10002021-04-817:19:32340818LED_340818NOOK
216340817LED10002021-04-817:19:32340817LED_340817NOOK
217340816LED10002021-04-817:19:32340816LED_340816NOOK
218340808LED10002021-04-814:40:25340808LED_340808NOOK
219340807LED10002021-04-814:40:25340807LED_340807NOOK
220340806LED10002021-04-814:40:25340806LED_340806NOOK
221340677LED10002021-03-1911:23:51340677LED_340677NOOK
222340676LED10002021-03-1911:12:49340676LED_340676NOOK
223340538LED10002021-03-1020:01:57340538LED_340538NOOK
224340531LED10002021-03-1014:06:32340531LED_340531NOOK
225340524LED50002021-03-1011:10:19340524LED_340524NOOK
226340370LED10002021-03-618:32:36340370LED_340370NOOK
227340363LED10002021-03-618:32:36340363LED_340363NOOK
228340362LED10002021-03-618:32:36340362LED_340362NOOK
229340361LED10002021-03-618:32:36340361LED_340361NOOK
230340359LED10002021-03-618:32:36340359LED_340359NOOK
231340358LED10002021-03-618:32:36340358LED_340358NOOK
232340357LED10002021-03-618:32:36340357LED_340357NOOK
233340356LED10002021-03-618:32:36340356LED_340356NOOK
234340355LED10002021-03-618:32:36340355LED_340355NOOK
235340352LED10002021-03-618:32:36340352LED_340352NOOK
236340351LED10002021-03-618:32:36340351LED_340351NOOK
237340350LED10002021-03-618:32:36340350LED_340350NOOK
238340349LED10002021-03-618:32:36340349LED_340349NOOK
239340348LED10002021-03-618:32:36340348LED_340348NOOK
240340347LED10002021-03-618:32:36340347LED_340347NOOK
241340345LED20002021-03-617:12:41340345LED_340345NOOK
242340296LED10002021-03-517:41:42340296LED_340296NOOK
243340293LED10002021-03-517:29:57340293LED_340293NOOK
244340276LED10002021-03-515:04:45340276LED_340276NOOK
245340274LED10002021-03-515:04:45340274LED_340274NOOK
246340271LED10002021-03-515:04:45340271LED_340271NOOK
247340180LED10002021-03-415:32:52340180LED_340180NOOK
248340167LED10002021-03-414:43:45340167LED_340167NOOK
249340131LED10002021-03-410:59:52340131LED_340131NOOK
250340130LED10002021-03-410:59:52340130LED_340130NOOK
251340127LED10002021-03-410:59:52340127LED_340127NOOK
252340124LED10002021-03-410:59:52340124LED_340124NOOK
253340123LED10002021-03-410:59:52340123LED_340123NOOK
254340119LED10002021-03-410:21:00340119LED_340119NOOK
255339996LED10002021-03-308:45:36339996LED_339996NOOK
256339991LED10002021-03-308:45:36339991LED_339991NOOK
257339966LED10002021-03-215:05:58339966LED_339966NOOK
258339962LED10002021-03-215:05:58339962LED_339962NOOK
259339947LED10002021-03-215:05:58339947LED_339947NOOK
260339820LED10002021-02-2515:58:04339820LED_339820NOOK
261339814LED10002021-02-2510:46:11339814LED_339814NOOK
262339810LED10002021-02-2510:16:31339810LED_339810NOOK
263339705LED10002021-02-1914:06:28339705LED_339705NOOK
264339698LED10002021-02-1910:11:11339698LED_339698NOOK
265339672LED10002021-02-1816:07:27339672LED_339672NOOK
266339671LED10002021-02-1816:07:27339671LED_339671NOOK
267339666LED10002021-02-1812:44:17339666LED_339666NOOK
268339661LED10002021-02-1812:25:47339661LED_339661NOOK
269339658LED10002021-02-1811:39:20339658LED_339658NOOK
270339654LED10002021-02-1811:17:20339654LED_339654NOOK
271339651LED10002021-02-1811:09:38339651LED_339651NOOK
272339639LED20002021-02-1722:23:29339639LED_339639NOOK
273339638LED20002021-02-1722:23:29339638LED_339638NOOK
274339631LED20002021-02-1714:25:29339631LED_339631NOOK
275339627LED20002021-02-1714:25:29339627LED_339627NOOK
276339625LED20002021-02-1714:25:29339625LED_339625NOOK
277339621LED10002021-02-1711:25:01339621LED_339621NOOK
278339613LED20002021-02-1616:17:52339613LED_339613NOOK
279339612LED20002021-02-1615:22:50339612LED_339612NOOK
280339557LED20002021-02-1212:44:38339557LED_339557NOOK
281339556LED20002021-02-1211:51:21339556LED_339556NOOK
282339541LED20002021-02-1209:58:25339541LED_339541NOOK
283339518LED18002021-02-1116:38:43339518LED_339518NOOK
284339505LED20002021-02-1112:50:50339505LED_339505NOOK
285339314LED10002021-02-811:48:11339314LED_339314NOOK
286339313LED10002021-02-811:48:11339313LED_339313NOOK
287339312LED10002021-02-811:48:11339312LED_339312NOOK
288339246LED20002021-02-112:25:01339246LED_339246NOOK
289331388LED100000331388LED_331388NOOK
290331382LED100000331382LED_331382NOOK
291331370LED1000331370LED_331370NOOK
292331311LED60000331311LED_331311NOOK
293331308LED11000331308LED_331308NOOK
294331301LED11000331301LED_331301NOOK
295331251LED1000331251LED_331251NOOK
296331248LED1000331248LED_331248NOOK
297331241LED1000331241LED_331241NOOK
298331240LED1000331240LED_331240NOOK
299331235LED1000331235LED_331235NOOK
300331233LED1000331233LED_331233NOOK
301331232LED1000331232LED_331232NOOK
302331215LED1000331215LED_331215NOOK
303331213LED1000331213LED_331213NOOK
304331211LED1000331211LED_331211NOOK
305331207LED1000331207LED_331207NOOK
306331206LED1000331206LED_331206NOOK
307331205LED1000331205LED_331205NOOK
308331204LED1000331204LED_331204NOOK
309331203LED1000331203LED_331203NOOK
310331200LED1000331200LED_331200NOOK
311331199LED1000331199LED_331199NOOK
312331178LED11000331178LED_331178NOOK
313331177LED1000331177LED_331177NOOK
314331176LED1000331176LED_331176NOOK
315331175LED11000331175LED_331175NOOK
316331147LED1000331147LED_331147NOOK
317331146LED11000331146LED_331146NOOK
318331145LED11000331145LED_331145NOOK
319331144LED11000331144LED_331144NOOK
320331143LED11000331143LED_331143NOOK
321331141LED11000331141LED_331141NOOK
322331122LED6400331122LED_331122NOOK
323331121LED1000331121LED_331121NOOK
324331075LED11000331075LED_331075NOOK
325331040LED1000331040LED_331040NOOK
326331007LED11000331007LED_331007NOOK
327331004LED11000331004LED_331004NOOK
328331000LED11000331000LED_331000NOOK
329330992LED1000330992LED_330992NOOK
330330990LED1000330990LED_330990NOOK
331330989LED1000330989LED_330989NOOK
332330976LED11000330976LED_330976NOOK
333330971LED11000330971LED_330971NOOK
334330963LED5000330963LED_330963NOOK
335330953LED1000330953LED_330953NOOK
336330951LED1000330951LED_330951NOOK
337330945LED1000330945LED_330945NOOK
338330944LED1000330944LED_330944NOOK
339330892LED1000330892LED_330892NOOK
340330890LED1000330890LED_330890NOOK
341330866LED10000330866LED_330866NOOK
342330865LED1000330865LED_330865NOOK
343330864LED1000330864LED_330864NOOK
344330863LED1000330863LED_330863NOOK
345330862LED1000330862LED_330862NOOK
346330860LED4800330860LED_330860NOOK
347330844LED4800330844LED_330844NOOK
348330843LED11000330843LED_330843NOOK
349330831LED6400330831LED_330831NOOK
350330830LED6400330830LED_330830NOOK
351330829LED6400330829LED_330829NOOK
352330825LED1000330825LED_330825NOOK
353330823LED1000330823LED_330823NOOK
354330819LED1000330819LED_330819NOOK
355330818LED1000330818LED_330818NOOK
356330770LED11000330770LED_330770NOOK
357330746LED11000330746LED_330746NOOK
358330711LED11000330711LED_330711NOOK
359330708LED10000330708LED_330708NOOK
360330682LED10000330682LED_330682NOOK
361330681LED6400330681LED_330681NOOK
362330680LED10000330680LED_330680NOOK
363330679LED10000330679LED_330679NOOK
364330656LED1000330656LED_330656NOOK
365330646LED5000330646LED_330646NOOK
366330645LED6400330645LED_330645NOOK
367330641LED1000330641LED_330641NOOK
368330638LED1000330638LED_330638NOOK
369330615LED1000330615LED_330615NOOK
370330614LED1000330614LED_330614NOOK
371330594LED5000330594LED_330594NOOK
372330589LED1000330589LED_330589NOOK
373330587LED1000330587LED_330587NOOK
374330576LED5000330576LED_330576NOOK
375330567LED1000330567LED_330567NOOK
376330561LED1000330561LED_330561NOOK
377330553LED1000330553LED_330553NOOK
378330552LED1000330552LED_330552NOOK
379330533LED5000330533LED_330533NOOK
380330529LED1000330529LED_330529NOOK
381330523LED1000330523LED_330523NOOK
382330521LED1000330521LED_330521NOOK
383330520LED1000330520LED_330520NOOK
384330507LED5000330507LED_330507NOOK
385330504LED1000330504LED_330504NOOK
386330499LED1000330499LED_330499NOOK
387330473LED5000330473LED_330473NOOK
388330466LED1000330466LED_330466NOOK
389330454LED1000330454LED_330454NOOK
390330410LED5000330410LED_330410NOOK
391330404LED1000330404LED_330404NOOK
392330400LED1000330400LED_330400NOOK
393330323LED6400330323LED_330323NOOK
394330321LED5000330321LED_330321NOOK
395330299LED1000330299LED_330299NOOK
396330243LED1000330243LED_330243NOOK
397330159LED5000330159LED_330159NOOK
398330157LED1000330157LED_330157NOOK
399330156LED1000330156LED_330156NOOK
400330153LED1000330153LED_330153NOOK
401330101LED1000330101LED_330101NOOK
402330084LED1000330084LED_330084NOOK
403330083LED5000330083LED_330083NOOK
404330081LED5000330081LED_330081NOOK
405330079LED5000330079LED_330079NOOK
406330078LED5000330078LED_330078NOOK
407330076LED1000330076LED_330076NOOK
408330067LED1000330067LED_330067NOOK
409330032LED5000330032LED_330032NOOK
410330021LED5000330021LED_330021NOOK
411330020LED5000330020LED_330020NOOK
412330016LED5000330016LED_330016NOOK
413330010LED5000330010LED_330010NOOK
414329864LED1000329864LED_329864NOOK
415329860LED5000329860LED_329860NOOK
416329853LED5000329853LED_329853NOOK
417329851LED6400329851LED_329851NOOK
418329850LED1000329850LED_329850NOOK
419329847LED1000329847LED_329847NOOK
420329846LED1000329846LED_329846NOOK
421329845LED1000329845LED_329845NOOK
422329837LED15400329837LED_329837NOOK
423329805LED1000329805LED_329805NOOK
424329416LED1000329416LED_329416NOOK
425329413LED20002019-05-1711:19:29328157LED_329413NOOK
426329317LED10002019-05-1513:44:01286946LED_329317NOOK
427329301LED10002019-05-1512:00:13286946LED_329301NOOK
428329279LED10002019-05-1416:40:57286946LED_329279NOOK
429329275LED50002019-05-1414:23:30286946LED_329275NOOK
430329272LED10002019-05-1413:17:52286946LED_329272NOOK
431329249LED10002019-05-1316:41:30286946LED_329249NOOK
432329248LED10002019-05-1315:13:23286946LED_329248NOOK
433329233LED50002019-05-1314:13:31286946LED_329233NOOK
434329221LED10002019-05-1015:55:11286946LED_329221NOOK
435329155LED10002019-05-0611:18:35286946LED_329155NOOK
436329129LED10002019-04-3013:53:51286946LED_329129NOOK
437328892LED50002019-04-0509:44:23286946LED_328892NOOK
438328891LED10002019-04-0509:39:56286946LED_328891NOOK
439328858LED50002019-04-0310:56:56286946LED_328858NOOK
440328857LED10002019-04-0310:50:24286946LED_328857NOOK
441328851LED10002019-04-0211:34:53286946LED_328851NOOK
442328781LED10002019-03-2214:29:31286946LED_328781NOOK
443328772LED50002019-03-2214:23:16286946LED_328772NOOK
444328737LED50002019-03-2117:36:21286946LED_328737NOOK
445328730LED50002019-03-2116:34:48286946LED_328730NOOK
446328728LED50002019-03-2116:28:17286946LED_328728NOOK
447328694LED20002019-03-2110:35:53286946LED_328694NOOK
448328655LED50002019-03-2016:28:30286946LED_328655NOOK
449328653LED10002019-03-2015:53:21286946LED_328653NOOK
450328651LED10002019-03-2015:49:24286946LED_328651NOOK
451328641LED20002019-03-2014:48:14286946LED_328641NOOK
452328629LED10002019-03-2014:30:17286946LED_328629NOOK
453328627LED50002019-03-2014:13:53286946LED_328627NOOK
454328624LED50002019-03-2013:57:51286946LED_328624NOOK
455328619LED10002019-03-2013:31:15286946LED_328619NOOK
456328617LED200002019-03-2013:19:33286946LED_328617NOOK
457328609LED20002019-03-2012:56:02286946LED_328609NOOK
458328608LED10002019-03-2013:02:08286946LED_328608NOOK
459328576LED20002019-03-2012:50:17286946LED_328576NOOK
460328572LED20002019-03-2010:18:37286946LED_328572NOOK
461328538LED20002019-03-1921:18:46286946LED_328538NOOK
462327785LED10002018-12-0715:08:17327785LED_327785NOOK
463327762LED10002018-12-0713:14:58327762LED_327762NOOK
464327711LED10002018-12-0614:28:29327711LED_327711NOOK
465327709LED10002018-12-0614:21:24327709LED_327709NOOK
466327691LED10002018-12-0600:09:25327691LED_327691NOOK
467327690LED10002018-12-0523:52:05327690LED_327690NOOK
468327689LED10002018-12-0523:20:28327689LED_327689NOOK
469327688LED10002018-12-0523:15:35327688LED_327688NOOK
470327687LED10002018-12-0523:05:18327687LED_327687NOOK
471327686LED10002018-12-0520:02:30327686LED_327686NOOK
472327670LED10002018-12-0516:14:47327670LED_327670NOOK
473327660LED10002018-12-0516:09:25327660LED_327660NOOK
474327656LED10002018-12-0515:06:59327656LED_327656NOOK
475327620LED10002018-12-0317:15:43327620LED_327620NOOK
476327616LED10002018-12-0310:45:33327616LED_327616NOOK
477327595LED10002018-12-0308:55:46327595LED_327595NOOK
478327591LED10002018-12-0308:41:23327591LED_327591NOOK
479327581LED600002018-12-0221:24:15286946LED_327581NOOK
480327580LED1150002018-12-0220:56:37286946LED_327580NOOK
481327579LED20002018-12-0220:07:55327579LED_327579NOOK
482327577LED500002018-12-0219:51:56286946LED_327577NOOK
483327576LED500002018-12-0219:27:48286946LED_327576NOOK
484327552LED20002018-12-0119:20:46327552LED_327552NOOK
485327548LED100002018-12-0119:09:23286946LED_327548NOOK
486327547LED100002018-12-0119:01:26286946LED_327547NOOK
487327443LED100002018-11-2819:19:04286946LED_327443NOOK
488327441LED50002018-11-2819:09:22327441LED_327441NOOK
489327438LED20002018-11-2819:02:43327438LED_327438NOOK
490327288LED20002018-11-2610:03:23327288LED_327288NOOK
491327284LED100002018-11-2609:51:05286946LED_327284NOOK
492327283LED100002018-11-2609:47:04286946LED_327283NOOK
493327091LED100002018-11-2210:20:52286946LED_327091NOOK
494326875LED20002018-11-1821:43:15326875LED_326875NOOK
495326871LED100002018-11-1821:22:39286946LED_326871NOOK
496326780LED20002018-11-1602:57:31326780LED_326780NOOK
497326324LED100002018-11-0809:23:59286946LED_326324NOOK
498326234LED20002018-11-0619:44:24326234LED_326234NOOK
499325790LED100002018-11-0216:55:22286946LED_325790NOOK
500325787LED20002018-11-0216:42:48325787LED_325787NOOK
501325757LED20002018-11-0215:03:31325757LED_325757NOOK
502325748LED100002018-11-0213:51:52286946LED_325748NOOK
503325641LED600002018-11-0112:45:52286946LED_325641NOOK
504325640LED1150002018-11-0112:10:03286946LED_325640NOOK
505325551LED20002018-10-3113:04:09325551LED_325551NOOK
506325498LED20002018-10-3016:00:38325498LED_325498NOOK
507325488LED20002018-10-3010:47:18325488LED_325488NOOK
508325457LED100002018-10-2921:13:47286946LED_325457NOOK
509325456LED20002018-10-2921:04:27325456LED_325456NOOK
510325453LED100002018-10-2920:25:36286946LED_325453NOOK
511325446LED10002018-10-2918:44:21325446LED_325446NOOK
512325433LED10002018-10-2913:12:48325433LED_325433NOOK
513325267LED50002018-10-2511:33:32325267LED_325267NOOK
514325141LED20002018-10-2311:57:41325141LED_325141NOOK
515324934LED300002018-10-1910:00:22286946LED_324934NOOK
516324919LED20002018-10-1909:11:59324919LED_324919NOOK
517324705LED100002018-10-1519:31:25286946LED_324705NOOK
518324591LED50002018-10-1420:11:48324591LED_324591NOOK
519324303LED20002018-10-0914:51:28324303LED_324303NOOK
520324296LED20002018-10-0914:23:59324296LED_324296NOOK
521324225LED20002018-10-0718:23:28324225LED_324225NOOK
522324219LED100002018-10-0717:49:33286946LED_324219NOOK
523324138LED20002018-10-0517:19:58324138LED_324138NOOK
524324111LED100002018-10-0511:34:18286946LED_324111NOOK
525324032LED20002018-10-0411:25:31324032LED_324032NOOK
526324030LED20002018-10-0411:16:57324030LED_324030NOOK
527323742LED20002018-09-3006:17:40323742LED_323742NOOK
528323737LED100002018-09-3005:46:57286946LED_323737NOOK
529323613LED20002018-09-2711:42:03323613LED_323613NOOK
530323579LED20002018-09-2619:28:25323579LED_323579NOOK
531323567LED100002018-09-2617:36:15286946LED_323567NOOK
532323531LED10002018-09-2613:24:31323531LED_323531NOOK
533323530LED10002018-09-2613:14:49323530LED_323530NOOK
534323502LED20002018-09-2514:45:56323502LED_323502NOOK
535323314LED20002018-09-2215:47:41323314LED_323314NOOK
536323308LED10002018-09-2211:57:48323308LED_323308NOOK
537323038LED10002018-09-1913:34:35323038LED_323038NOOK
538323016LED50002018-09-1908:47:51323016LED_323016NOOK
539322995LED20002018-09-1818:22:16322995LED_322995NOOK
540322931LED20002018-09-1809:00:05322931LED_322931NOOK
541322876LED20002018-09-1713:58:08322876LED_322876NOOK
542322853LED20002018-09-1709:59:46322853LED_322853NOOK
543322843LED50002018-09-1709:08:34322843LED_322843NOOK
544322801LED10002018-09-1409:58:55322801LED_322801NOOK
545322782LED20002018-09-1309:43:24322782LED_322782NOOK
546322781LED20002018-09-1309:31:54322781LED_322781NOOK
547322725LED20002018-09-1210:17:19322725LED_322725NOOK
548322721LED20002018-09-1209:49:23322721LED_322721NOOK
549322720LED20002018-09-1209:41:17322720LED_322720NOOK
550322719LED20002018-09-1209:36:50322719LED_322719NOOK
551322718LED2000322718LED_322718NOOK
552322419LED2000322419LED_322419NOOK
553322415LED100002018-09-0722:08:03286946LED_322415NOOK
554322338LED20002018-09-0609:24:00322338LED_322338NOOK
555322261LED2000322261LED_322261NOOK
556322255LED100002018-09-0506:56:49286946LED_322255NOOK
557322166LED2000322166LED_322166NOOK
558321927LED20002018-08-2913:04:07321927LED_321927NOOK
559321874LED10002018-08-2717:12:05321874LED_321874NOOK
560321853LED10002018-08-2714:29:07321853LED_321853NOOK
561321807LED20002018-08-2606:44:33321807LED_321807NOOK
562321589LED20002018-08-2115:51:59321589LED_321589NOOK
563321552LED20002018-08-2112:12:08321552LED_321552NOOK
564321550LED10002018-08-2112:09:32321550LED_321550NOOK
565321549LED10002018-08-2111:54:26321549LED_321549NOOK
566321548LED20002018-08-2111:50:36321548LED_321548NOOK
567321547LED20002018-08-2111:46:36321547LED_321547NOOK
568321534LED2000321534LED_321534NOOK
569321514LED20002018-08-2108:51:43321514LED_321514NOOK
570321447LED20002018-08-1905:42:44321447LED_321447NOOK
571321445LED100002018-08-1905:20:21286946LED_321445NOOK
572321371LED20002018-08-1614:20:34321371LED_321371NOOK
573321359LED20002018-08-1612:41:49321359LED_321359NOOK
574321339LED20002018-08-1609:04:47321339LED_321339NOOK
575321329LED100002018-08-1606:55:37286946LED_321329NOOK
576321197LED50002018-08-1309:04:58321197LED_321197NOOK
577321187LED20002018-08-1308:19:13321187LED_321187NOOK
578321036LED20002018-08-0817:17:57321036LED_321036NOOK
579321033LED100002018-08-0816:57:47286946LED_321033NOOK
580321019LED20002018-08-0815:39:42321019LED_321019NOOK
581320952LED20002018-08-0713:53:23320952LED_320952NOOK
582320950LED50002018-08-0713:47:32320950LED_320950NOOK
583320949LED50002018-08-0713:44:44320949LED_320949NOOK
584320947LED50002018-08-0713:40:19320947LED_320947NOOK
585320944LED20002018-08-0713:33:04320944LED_320944NOOK
586320892LED20002018-08-0603:51:16320892LED_320892NOOK
587320873LED20002018-08-0519:58:50320873LED_320873NOOK
588320871LED100002018-08-0519:36:08286946LED_320871NOOK
589320776LED50002018-08-0219:58:44320776LED_320776NOOK
590320771LED20002018-08-0219:02:05320771LED_320771NOOK
591320767LED20002018-08-0218:19:02320767LED_320767NOOK
592320579LED20002018-07-3109:46:11320579LED_320579NOOK
593320577LED100002018-07-3109:24:09286946LED_320577NOOK
594320374LED600002018-07-2613:51:41286946LED_320374NOOK
595320371LED1150002018-07-2613:15:32286946LED_320371NOOK
596320358LED50002018-07-2610:58:30320358LED_320358NOOK
597320348LED2000320348LED_320348NOOK
598320220LED50002018-07-2509:26:20320220LED_320220NOOK
599320205LED2000320205LED_320205NOOK
600320203LED20002018-07-2508:25:42320203LED_320203NOOK
601320158LED20002018-07-2409:03:26320158LED_320158NOOK
602320125LED50002018-07-2314:58:29320125LED_320125NOOK
603320117LED2000320117LED_320117NOOK
604320108LED10002018-07-2313:37:22320108LED_320108NOOK
605319969LED20002018-07-2009:36:54319969LED_319969NOOK
606319964LED100002018-07-2008:38:28286946LED_319964NOOK
607319857LED20002018-07-1811:42:16319857LED_319857NOOK
608319774LED20002018-07-1708:27:38319774LED_319774NOOK
609319771LED20002018-07-1708:09:16319771LED_319771NOOK
610319734LED20002018-07-1610:14:53319734LED_319734NOOK
611319612LED50002018-07-1409:36:33319612LED_319612NOOK
612319610LED50002018-07-1409:15:26319610LED_319610NOOK
613319564LED20002018-07-1219:36:52319564LED_319564NOOK
614319520LED20002018-07-1121:26:54319520LED_319520NOOK
615319519LED20002018-07-1121:16:58319519LED_319519NOOK
616319517LED2000319517LED_319517NOOK
617319401LED20002018-07-0913:04:54319401LED_319401NOOK
618319213LED50002018-07-0416:31:36319213LED_319213NOOK
619319198LED20002018-07-0413:40:42319198LED_319198NOOK
620318840LED10002018-06-2809:44:24318840LED_318840NOOK
621318758LED20002018-06-2709:24:01318758LED_318758NOOK
622318235LED10002018-06-2115:25:50318235LED_318235NOOK
623318222LED10002018-06-2113:36:14318222LED_318222NOOK
624318217LED10002018-06-2113:15:01318217LED_318217NOOK
625318211LED10002018-06-2112:19:43318211LED_318211NOOK
626318208LED10002018-06-2111:50:29318208LED_318208NOOK
627318207LED10002018-06-2111:37:53318207LED_318207NOOK
628317984LED10002018-06-1816:42:54317984LED_317984NOOK
629317981LED20002018-06-1813:55:57317981LED_317981NOOK
630317977LED100002018-06-1810:48:39286946LED_317977NOOK
631317790LED100002018-06-1409:27:39286946LED_317790NOOK
632317785LED20002018-06-1408:53:58317785LED_317785NOOK
633317754LED10002018-06-1308:59:28317754LED_317754NOOK
634317753LED10002018-06-1308:49:46317753LED_317753NOOK
635317752LED10002018-06-1308:39:30317752LED_317752NOOK
636317751LED10002018-06-1307:59:18317751LED_317751NOOK
637317729LED10002018-06-1212:30:43317729LED_317729NOOK
638317728LED10002018-06-1212:27:57317728LED_317728NOOK
639317727LED20002018-06-1212:09:07317727LED_317727NOOK
640317725LED50002018-06-1211:45:57317725LED_317725NOOK
641317722LED20002018-06-1211:04:52286946LED_317722NOOK
642317719LED20002018-06-1209:14:15317719LED_317719NOOK
643317718LED10002018-06-1209:06:10317718LED_317718NOOK
644317617LED20002018-06-0814:41:13317617LED_317617NOOK
645317613LED20002018-06-0814:14:12317613LED_317613NOOK
646317612LED20002018-06-0814:06:12317612LED_317612NOOK
647317611LED20002018-06-0813:41:09317611LED_317611NOOK
648317610LED20002018-06-0813:10:47317610LED_317610NOOK
649317609LED20002018-06-0812:53:16317609LED_317609NOOK
650317607LED20002018-06-0812:08:29317607LED_317607NOOK
651317606LED20002018-06-0811:51:56317606LED_317606NOOK
652317601LED100002018-06-0810:16:26286946LED_317601NOOK
653317535LED20002018-06-0708:42:23317535LED_317535NOOK
654317448LED100002018-06-0512:28:22286946LED_317448NOOK
655317444LED20002018-06-0512:08:40317444LED_317444NOOK
656317401LED10002018-06-0416:41:42317401LED_317401NOOK
657317398LED10002018-06-0416:33:50317398LED_317398NOOK
658317367LED50002018-06-0309:29:06317367LED_317367NOOK
659317363LED20002018-06-0308:59:16317363LED_317363NOOK
660317326LED100002018-06-0209:18:29286946LED_317326NOOK
661317273LED20002018-05-3115:57:22317273LED_317273NOOK
662317271LED20002018-05-3115:49:03317271LED_317271NOOK
663317268LED20002018-05-3115:39:36317268LED_317268NOOK
664317229LED100002018-05-3109:36:47286946LED_317229NOOK
665317193LED20002018-05-3018:56:43317193LED_317193NOOK
666317191LED100002018-05-3018:49:37286946LED_317191NOOK
667317119LED50002018-05-2913:03:58317119LED_317119NOOK
668317116LED20002018-05-2912:57:11317116LED_317116NOOK
669316826LED20002018-05-2410:36:19316826LED_316826NOOK
670316815LED50002018-05-2409:51:00316815LED_316815NOOK
671316677LED50002018-05-2108:03:46316677LED_316677NOOK
672316632LED50002018-05-2012:39:03316632LED_316632NOOK
673316584LED100002018-05-1917:31:19286946LED_316584NOOK
674316530LED5000316530LED_316530NOOK
675316489LED5000316489LED_316489NOOK
676316410LED5000316410LED_316410NOOK
677316316LED100002018-05-1508:27:16286946LED_316316NOOK
678316129LED5000316129LED_316129NOOK
679315984LED2000315984LED_315984NOOK
680315816LED100002018-05-0714:43:59286946LED_315816NOOK
681315812LED2000315812LED_315812NOOK
682315757LED2000315757LED_315757NOOK
683315755LED1000315755LED_315755NOOK
684315754LED1000315754LED_315754NOOK
685315749LED1000315749LED_315749NOOK
686315748LED1000315748LED_315748NOOK
687315746LED1000315746LED_315746NOOK
688315735LED2000315735LED_315735NOOK
689315660LED2000315660LED_315660NOOK
690315657LED2000315657LED_315657NOOK
691315594LED100002018-05-0214:38:00286946LED_315594NOOK
692315579LED2000315579LED_315579NOOK
693315437LED5000315437LED_315437NOOK
694315285LED1000315285LED_315285NOOK
695315213LED1000315213LED_315213NOOK
696315132LED1000315132LED_315132NOOK
697315130LED10002018-04-2508:50:05286946LED_315130NOOK
698315129LED1000315129LED_315129NOOK
699315073LED5000315073LED_315073NOOK
700315040LED1000315040LED_315040NOOK
701315024LED5000315024LED_315024NOOK
702315023LED5000315023LED_315023NOOK
703315021LED5000315021LED_315021NOOK
704315016LED5000315016LED_315016NOOK
705315012LED5000315012LED_315012NOOK
706314949LED5000314949LED_314949NOOK
707314948LED5000314948LED_314948NOOK
708314944LED1000314944LED_314944NOOK
709314943LED1000314943LED_314943NOOK
710314899LED5000314899LED_314899NOOK
711314898LED5000314898LED_314898NOOK
712314897LED2000314897LED_314897NOOK
713314896LED5000314896LED_314896NOOK
714314895LED5000314895LED_314895NOOK
715314827LED100002018-04-2110:22:43286946LED_314827NOOK
716314826LED2000314826LED_314826NOOK
717314800LED1150002018-04-2016:38:01286946LED_314800NOOK
718314795LED600002018-04-2014:59:26286946LED_314795NOOK
719314786LED600002018-04-2014:23:09286946LED_314786NOOK
720314782LED1000314782LED_314782NOOK
721314780LED1000314780LED_314780NOOK
722314779LED1000314779LED_314779NOOK
723314777LED1000314777LED_314777NOOK
724314776LED1000314776LED_314776NOOK
725314770LED5000314770LED_314770NOOK
726314769LED5000314769LED_314769NOOK
727314696LED100002018-04-1910:44:20286946LED_314696NOOK
728314695LED2000314695LED_314695NOOK
729314608LED2000314608LED_314608NOOK
730314597LED2000314597LED_314597NOOK
731314595LED100002018-04-1809:07:10286946LED_314595NOOK
732314542LED2000314542LED_314542NOOK
733314432LED2000314432LED_314432NOOK
734314431LED2000314431LED_314431NOOK
735314430LED2000314430LED_314430NOOK
736314426LED1000314426LED_314426NOOK
737314425LED1000314425LED_314425NOOK
738314424LED1000314424LED_314424NOOK
739314423LED1000314423LED_314423NOOK
740314422LED1000314422LED_314422NOOK
741314420LED1000314420LED_314420NOOK
742314419LED1000314419LED_314419NOOK
743314313LED2000314313LED_314313NOOK
744314308LED100002018-04-1410:35:42286946LED_314308NOOK
745314298LED2000314298LED_314298NOOK
746314111LED2000314111LED_314111NOOK
747314106LED2000314106LED_314106NOOK
748314103LED2000002018-04-1213:55:34286946LED_314103NOOK
749314100LED1000002018-04-1213:40:19286946LED_314100NOOK
750314097LED1000002018-04-1213:10:16286946LED_314097NOOK
751314046LED2000314046LED_314046NOOK
752313919LED2000313919LED_313919NOOK
753313918LED2000313918LED_313918NOOK
754313915LED100002018-04-1011:46:22286946LED_313915NOOK
755313904LED2000313904LED_313904NOOK
756313897LED1000313897LED_313897NOOK
757313891LED1000313891LED_313891NOOK
758313890LED2000313890LED_313890NOOK
759313632LED2000313632LED_313632NOOK
760313625LED5000313625LED_313625NOOK
761313498LED1000002018-04-0515:18:42286946LED_313498NOOK
762313495LED1000002018-04-0514:47:25286946LED_313495NOOK
763313493LED1000002018-04-0514:42:41286946LED_313493NOOK
764313479LED1000002018-04-0514:22:39286946LED_313479NOOK
765313430LED2000313430LED_313430NOOK
766313375LED2000313375LED_313375NOOK
767313373LED2000313373LED_313373NOOK
768313371LED200002018-04-0416:15:49286946LED_313371NOOK
769313344LED2000313344LED_313344NOOK
770313340LED2000313340LED_313340NOOK
771313338LED2000313338LED_313338NOOK
772313335LED2000313335LED_313335NOOK
773313307LED2000313307LED_313307NOOK
774313264LED1000313264LED_313264NOOK
775313263LED1000313263LED_313263NOOK
776313260LED1000313260LED_313260NOOK
777313259LED1000313259LED_313259NOOK
778313232LED2000002018-04-0309:41:29286946LED_313232NOOK
779313194LED100002018-04-0209:14:34286946LED_313194NOOK
780313174LED100002018-04-0107:57:36286946LED_313174NOOK
781313158LED2000313158LED_313158NOOK
782313149LED100002018-03-3108:53:05286946LED_313149NOOK
783313090LED2000313090LED_313090NOOK
784313072LED1000313072LED_313072NOOK
785313067LED5000313067LED_313067NOOK
786313064LED1000313064LED_313064NOOK
787313051LED5000313051LED_313051NOOK
788313049LED1000313049LED_313049NOOK
789313009LED2000313009LED_313009NOOK
790312953LED2000312953LED_312953NOOK
791312889LED20002018-03-2712:16:39286946LED_312889NOOK
792312886LED2000312886LED_312886NOOK
793312884LED2000312884LED_312884NOOK
794312880LED2000312880LED_312880NOOK
795312879LED2000312879LED_312879NOOK
796312874LED2000312874LED_312874NOOK
797312872LED2000312872LED_312872NOOK
798312870LED2000312870LED_312870NOOK
799312778LED1000312778LED_312778NOOK
800312775LED2000312775LED_312775NOOK
801312757LED1000312757LED_312757NOOK
802312756LED2000312756LED_312756NOOK
803312717LED2000312717LED_312717NOOK
804312626LED1000312626LED_312626NOOK
805312622LED1000312622LED_312622NOOK
806312618LED1000312618LED_312618NOOK
807312579LED1000312579LED_312579NOOK
808312575LED1000312575LED_312575NOOK
809312571LED1000312571LED_312571NOOK
810312524LED1000312524LED_312524NOOK
811312489LED1000312489LED_312489NOOK
812312487LED1000312487LED_312487NOOK
813312486LED1000312486LED_312486NOOK
814312484LED1000312484LED_312484NOOK
815312483LED1000312483LED_312483NOOK
816312482LED1000312482LED_312482NOOK
817312472LED1000312472LED_312472NOOK
818312471LED1000312471LED_312471NOOK
819312470LED1000312470LED_312470NOOK
820312469LED1000312469LED_312469NOOK
821312467LED1000312467LED_312467NOOK
822312466LED1000312466LED_312466NOOK
823312462LED1000312462LED_312462NOOK
824312461LED1000312461LED_312461NOOK
825312458LED1000312458LED_312458NOOK
826312392LED2000312392LED_312392NOOK
827312386LED2000312386LED_312386NOOK
828312384LED1000312384LED_312384NOOK
829312379LED1000312379LED_312379NOOK
830312375LED1000312375LED_312375NOOK
831312374LED1000312374LED_312374NOOK
832312372LED1000312372LED_312372NOOK
833312341LED1000312341LED_312341NOOK
834312333LED1000312333LED_312333NOOK
835312320LED1000312320LED_312320NOOK
836312316LED1000312316LED_312316NOOK
837312314LED1000312314LED_312314NOOK
838312281LED1000312281LED_312281NOOK
839312253LED2000312253LED_312253NOOK
840312211LED1000312211LED_312211NOOK
841312204LED1000312204LED_312204NOOK
842312200LED1000312200LED_312200NOOK
843312189LED1000312189LED_312189NOOK
844312185LED1000312185LED_312185NOOK
845312160LED2000312160LED_312160NOOK
846312157LED2000312157LED_312157NOOK
847312156LED2000312156LED_312156NOOK
848312155LED2000312155LED_312155NOOK
849312153LED2000312153LED_312153NOOK
850312058LED2000312058LED_312058NOOK
851312057LED2000312057LED_312057NOOK
852312054LED1000312054LED_312054NOOK
853312052LED1000312052LED_312052NOOK
854312051LED1000312051LED_312051NOOK
855312040LED154002018-03-1611:09:44286946LED_312040NOOK
856312031LED1000312031LED_312031NOOK
857312029LED1000312029LED_312029NOOK
858312013LED1000312013LED_312013NOOK
859312011LED1000312011LED_312011NOOK
860312009LED1000312009LED_312009NOOK
861312004LED1000312004LED_312004NOOK
862311901LED1000311901LED_311901NOOK
863311858LED1000311858LED_311858NOOK
864311783LED5000311783LED_311783NOOK
865311767LED2000311767LED_311767NOOK
866311759LED154002018-03-1318:01:47286946LED_311759NOOK
867311754LED1000311754LED_311754NOOK
868311753LED1000311753LED_311753NOOK
869311573LED2000311573LED_311573NOOK
870311566LED2000311566LED_311566NOOK
871311551LED2000311551LED_311551NOOK
872311457LED1000311457LED_311457NOOK
873311456LED1000311456LED_311456NOOK
874311454LED1000311454LED_311454NOOK
875311413LED2000311413LED_311413NOOK
876311369LED1000311369LED_311369NOOK
877311367LED1000311367LED_311367NOOK
878311366LED1000311366LED_311366NOOK
879311364LED1000311364LED_311364NOOK
880311363LED1000311363LED_311363NOOK
881311362LED1000311362LED_311362NOOK
882311361LED1000311361LED_311361NOOK
883311360LED1000311360LED_311360NOOK
884311358LED1000311358LED_311358NOOK
885311355LED1000311355LED_311355NOOK
886311353LED1000311353LED_311353NOOK
887311349LED1000311349LED_311349NOOK
888311347LED1000311347LED_311347NOOK
889311344LED1000311344LED_311344NOOK
890311338LED1000311338LED_311338NOOK
891311335LED1000311335LED_311335NOOK
892311334LED1000311334LED_311334NOOK
893311327LED1000311327LED_311327NOOK
894310973LED1000310973LED_310973NOOK
895310968LED1000310968LED_310968NOOK
896310952LED2000310952LED_310952NOOK
897310949LED2000310949LED_310949NOOK
898310948LED2000310948LED_310948NOOK
899310947LED2000310947LED_310947NOOK
900310847LED2000310847LED_310847NOOK
901310807LED5000310807LED_310807NOOK
902310806LED5000310806LED_310806NOOK
903310604LED2000310604LED_310604NOOK
904310456LED1000310456LED_310456NOOK
905310454LED1000310454LED_310454NOOK
906310452LED1000310452LED_310452NOOK
907310427LED1000310427LED_310427NOOK
908310410LED1000310410LED_310410NOOK
909310403LED1000310403LED_310403NOOK
910310387LED5000310387LED_310387NOOK
911310382LED1000310382LED_310382NOOK
912310363LED1000310363LED_310363NOOK
913310349LED1000002018-02-2312:19:55286946LED_310349NOOK
914310348LED2000310348LED_310348NOOK
915310341LED1000002018-02-2311:34:05286946LED_310341NOOK
916310340LED1000002018-02-2310:55:48286946LED_310340NOOK
917310334LED1000310334LED_310334NOOK
918310285LED5000310285LED_310285NOOK
919310268LED1000310268LED_310268NOOK
920310262LED1000310262LED_310262NOOK
921310256LED1150002018-02-2217:34:51286946LED_310256NOOK
922310244LED1000310244LED_310244NOOK
923310229LED250002018-02-2215:57:45286946LED_310229NOOK
924310226LED250002018-02-2215:45:30286946LED_310226NOOK
925310223LED250002018-02-2215:32:37286946LED_310223NOOK
926310222LED250002018-02-2215:12:47286946LED_310222NOOK
927310204LED250002018-02-2214:57:03286946LED_310204NOOK
928310202LED250002018-02-2213:47:19286946LED_310202NOOK
929310201LED250002018-02-2213:31:48286946LED_310201NOOK
930310197LED250002018-02-2213:18:41286946LED_310197NOOK
931310192LED250002018-02-2213:06:24286946LED_310192NOOK
932310188LED500002018-02-2212:45:17286946LED_310188NOOK
933310185LED1150002018-02-2212:29:02286946LED_310185NOOK
934310183LED154002018-02-2212:15:29286946LED_310183NOOK
935310182LED1000310182LED_310182NOOK
936310181LED1000310181LED_310181NOOK
937310179LED1000310179LED_310179NOOK
938310108LED5000310108LED_310108NOOK
939310106LED1000310106LED_310106NOOK
940310052LED2688002018-02-2113:50:30286946LED_310052NOOK
941310043LED2000310043LED_310043NOOK
942310008LED6198002018-02-2019:05:35286946LED_310008NOOK
943309945LED6198002018-02-2010:15:57286946LED_309945NOOK
944309940LED1000309940LED_309940NOOK
945309939LED1000309939LED_309939NOOK
946309924LED1000309924LED_309924NOOK
947309923LED1000309923LED_309923NOOK
948309880LED5000309880LED_309880NOOK
949309878LED6198002018-02-1616:12:49286946LED_309878NOOK
950309877LED500002018-02-1615:01:02286946LED_309877NOOK
951309875LED2400002018-02-1614:28:26286946LED_309875NOOK
952309873LED154002018-02-1612:47:30286946LED_309873NOOK
953309870LED2000309870LED_309870NOOK
954309869LED1000309869LED_309869NOOK
955309850LED2000309850LED_309850NOOK
956309833LED1000309833LED_309833NOOK
957309829LED1000309829LED_309829NOOK
958309825LED1000309825LED_309825NOOK
959309824LED1000309824LED_309824NOOK
960309823LED1000309823LED_309823NOOK
961309821LED1000309821LED_309821NOOK
962309820LED1000309820LED_309820NOOK
963309819LED1000309819LED_309819NOOK
964309752LED100002018-02-1422:12:59286946LED_309752NOOK
965309727LED5000309727LED_309727NOOK
966309723LED5000309723LED_309723NOOK
967309714LED1000309714LED_309714NOOK
968309704LED1000309704LED_309704NOOK
969309678LED5000309678LED_309678NOOK
970309674LED5000309674LED_309674NOOK
971309672LED5000309672LED_309672NOOK
972309671LED5000309671LED_309671NOOK
973309670LED1000309670LED_309670NOOK
974309669LED5000309669LED_309669NOOK
975309646LED2000309646LED_309646NOOK
976309596LED5000309596LED_309596NOOK
977309592LED1000309592LED_309592NOOK
978309573LED1000309573LED_309573NOOK
979309565LED1000309565LED_309565NOOK
980309546LED5000309546LED_309546NOOK
981309545LED2000309545LED_309545NOOK
982309539LED1000309539LED_309539NOOK
983309538LED1000309538LED_309538NOOK
984309445LED2000309445LED_309445NOOK
985309444LED1000309444LED_309444NOOK
986309411LED5000309411LED_309411NOOK
987309373LED1000309373LED_309373NOOK
988309372LED5000309372LED_309372NOOK
989309370LED1000309370LED_309370NOOK
990309342LED1000309342LED_309342NOOK
991309322LED5000309322LED_309322NOOK
992309321LED1000309321LED_309321NOOK
993309318LED1000309318LED_309318NOOK
994309238LED1000309238LED_309238NOOK
995309237LED1000309237LED_309237NOOK
996309175LED2000309175LED_309175NOOK
997309162LED5000309162LED_309162NOOK
998309161LED1000309161LED_309161NOOK
999309156LED5000309156LED_309156NOOK
1000309154LED5000309154LED_309154NOOK
1001309152LED1000309152LED_309152NOOK
1002309145LED5000309145LED_309145NOOK
1003309144LED20002018-02-0710:51:32309144LED_309144NOOK
1004309141LED10002018-02-0709:56:14309141LED_309141NOOK
1005309134LED50002018-02-0709:23:06309134LED_309134NOOK
1006309133LED10002018-02-0709:17:15309133LED_309133NOOK
1007309123LED5000309123LED_309123NOOK
1008309122LED10002018-02-0617:55:33286946LED_309122NOOK
1009309069LED10002018-02-0614:55:28286946LED_309069NOOK
1012309037LED50002018-02-0609:55:30286946LED_309037NOOK
1013309036LED50002018-02-0609:23:15286946LED_309036NOOK
1014309024LED10002018-02-0600:21:50286946LED_309024NOOK
1015309010LED50002018-02-0521:13:04286946LED_309010NOOK
1016309009LED10002018-02-0520:51:56286946LED_309009NOOK
1017309008LED50002018-02-0520:24:55286946LED_309008NOOK
1018308995LED10002018-02-0517:35:01286946LED_308995NOOK
1019308960LED10002018-02-0515:15:19286946LED_308960NOOK
1020308959LED10002018-02-0514:26:11286946LED_308959NOOK
1021308937LED10002018-02-0218:38:04286946LED_308937NOOK
1022308882LED10002018-02-0116:21:04286946LED_308882NOOK
1023308881LED10002018-02-0116:16:21286946LED_308881NOOK
1024308870LED10002018-02-0115:54:48286946LED_308870NOOK
1025308851LED10002018-02-0114:01:29286946LED_308851NOOK
1026308839LED50002018-02-0111:51:39286946LED_308839NOOK
1027308821LED50002018-02-0110:19:06286946LED_308821NOOK
1028308792LED50002018-01-3117:32:23286946LED_308792NOOK
1029308788LED50002018-01-3117:20:15286946LED_308788NOOK
1030308786LED10002018-01-3117:09:36286946LED_308786NOOK
1031308784LED10002018-01-3117:04:47286946LED_308784NOOK
1032308765LED10002018-01-3116:02:51286946LED_308765NOOK
1033308761LED10002018-01-3115:49:44286946LED_308761NOOK
1034308754LED10002018-01-3115:14:48286946LED_308754NOOK
1035308751LED10002018-01-3115:01:44286946LED_308751NOOK
1036308746LED10002018-01-3114:49:47286946LED_308746NOOK
1037308744LED10002018-01-3114:44:19286946LED_308744NOOK
1039308736LED10002018-01-3114:26:20286946LED_308736NOOK
1040308704LED50002018-01-3110:41:36286946LED_308704NOOK
1041308701LED50002018-01-3109:33:14286946LED_308701NOOK
1042308700LED250002018-01-3109:30:34286946LED_308700NOOK
1043308699LED250002018-01-3109:00:34286946LED_308699NOOK
1044308543LED10002018-01-2914:17:27286946LED_308543NOOK
1045308522LED50002018-01-2913:14:58286946LED_308522NOOK
1046308521LED50002018-01-2913:07:34286946LED_308521NOOK
1047308514LED50002018-01-2911:32:27286946LED_308514NOOK
1048308509LED50002018-01-2911:19:59286946LED_308509NOOK
1049308508LED50002018-01-2911:02:02286946LED_308508NOOK
1050308507LED50002018-01-2910:38:43286946LED_308507NOOK
1051308501LED50002018-01-2910:24:39286946LED_308501NOOK
1052308401LED50002018-01-2617:49:37286946LED_308401NOOK
1053308384LED50002018-01-2616:32:37286946LED_308384NOOK
1054308383LED10002018-01-2616:15:46286946LED_308383NOOK
1055308367LED10002018-01-2614:22:12286946LED_308367NOOK
1056308351LED10002018-01-2612:15:28286946LED_308351NOOK
1057308339LED10002018-01-2609:28:51286946LED_308339NOOK
1058308330LED10002018-01-2520:34:05286946LED_308330NOOK
1059308329LED10002018-01-2520:25:10286946LED_308329NOOK
1061308267LED10002018-01-2516:35:55286946LED_308267NOOK
1062308262LED10002018-01-2516:11:51286946LED_308262NOOK
1063308257LED10002018-01-2516:03:49286946LED_308257NOOK
1064308254LED10002018-01-2515:55:54286946LED_308254NOOK
1065308250LED10002018-01-2514:39:29286946LED_308250NOOK
1066308236LED50002018-01-2311:53:38286946LED_308236NOOK
1067308235LED30002018-01-2311:38:56286946LED_308235NOOK
1068308234LED10002018-01-2311:28:59286946LED_308234NOOK
1069308175LED10002018-01-2216:15:09286946LED_308175NOOK
1070308158LED50002018-01-2212:37:01286946LED_308158NOOK
1071308157LED10002018-01-2211:00:15286946LED_308157NOOK
1073308151LED10002018-01-2210:18:21286946LED_308151NOOK
1074308144LED10002018-01-2209:48:13286946LED_308144NOOK
1075308141LED10002018-01-2209:22:18286946LED_308141NOOK
1076308016LED50002018-01-1920:53:31286946LED_308016NOOK
1077308015LED50002018-01-1920:01:18286946LED_308015NOOK
1078308014LED50002018-01-1919:40:43286946LED_308014NOOK
1080308011LED50002018-01-1919:09:42286946LED_308011NOOK
1081308010LED50002018-01-1919:02:47286946LED_308010NOOK
1082308009LED10002018-01-1918:58:13286946LED_308009NOOK
1083308007LED10002018-01-1918:41:58286946LED_308007NOOK
1084308005LED50002018-01-1918:33:22286946LED_308005NOOK
1085308004LED10002018-01-1917:47:35286946LED_308004NOOK
1086308001LED10002018-01-1914:39:38286946LED_308001NOOK
1087308000LED10002018-01-1914:25:02286946LED_308000NOOK
1088307999LED50002018-01-1914:17:58286946LED_307999NOOK
1089307997LED10002018-01-1914:08:46286946LED_307997NOOK
1090307973LED50002018-01-1913:18:58286946LED_307973NOOK
1091307971LED10002018-01-1819:28:49286946LED_307971NOOK
1093307968LED10002018-01-1817:31:44286946LED_307968NOOK
1094307967LED10002018-01-1817:08:34286946LED_307967NOOK
1095307966LED10002018-01-1816:57:52286946LED_307966NOOK
1096307965LED20002018-01-1816:35:21286946LED_307965NOOK
1097307964LED10002018-01-1816:28:02286946LED_307964NOOK
1098307963LED10002018-01-1816:12:06286946LED_307963NOOK
1099307958LED10002018-01-1813:32:14286946LED_307958NOOK
1100307934LED10002018-01-1718:50:14286946LED_307934NOOK
1102307920LED50002018-01-1713:29:27286946LED_307920NOOK
1104307917LED10002018-01-1712:04:48286946LED_307917NOOK
1105307892LED10002018-01-1615:14:11286946LED_307892NOOK
1106307891LED50002018-01-1615:00:19286946LED_307891NOOK
1107307888LED50002018-01-1614:17:23286946LED_307888NOOK
1108307885LED10002018-01-1613:44:01286946LED_307885NOOK
1109307884LED50002018-01-1612:49:39286946LED_307884NOOK
1110307883LED50002018-01-1612:42:09286946LED_307883NOOK
1111307882LED10002018-01-1612:35:46286946LED_307882NOOK
1112307878LED10002018-01-1611:08:11286946LED_307878NOOK
1113307877LED10002018-01-1610:57:11286946LED_307877NOOK
1114307874LED10002018-01-1610:15:49286946LED_307874NOOK
1115307873LED50002018-01-1610:10:54286946LED_307873NOOK
1116307872LED10002018-01-1610:06:01286946LED_307872NOOK
1117307871LED10002018-01-1609:59:47286946LED_307871NOOK
1118307856LED10002018-01-1519:43:21286946LED_307856NOOK
1119307855LED10002018-01-1518:21:05286946LED_307855NOOK
1120307853LED10002018-01-1518:06:46286946LED_307853NOOK
1121307852LED50002018-01-1517:48:59286946LED_307852NOOK
1122307847LED50002018-01-1515:09:34286946LED_307847NOOK
1123307845LED10002018-01-1514:46:07286946LED_307845NOOK
1124307844LED10002018-01-1514:36:59286946LED_307844NOOK
1125307843LED50002018-01-1514:33:48286946LED_307843NOOK
1126307842LED10002018-01-1514:08:48286946LED_307842NOOK
1127307841LED10002018-01-1514:01:56286946LED_307841NOOK
1128307828LED50002018-01-1217:53:22286946LED_307828NOOK
1129307826LED10002018-01-1216:51:14286946LED_307826NOOK
1130307825LED10002018-01-1216:43:11286946LED_307825NOOK
1131307824LED10002018-01-1216:14:27286946LED_307824NOOK
1132307823LED10002018-01-1216:06:36286946LED_307823NOOK
1133307822LED10002018-01-1215:55:13286946LED_307822NOOK
1134307820LED50002018-01-1215:07:01286946LED_307820NOOK
1135307819LED50002018-01-1214:53:12286946LED_307819NOOK
1136307816LED50002018-01-1214:04:40286946LED_307816NOOK
1137307815LED50002018-01-1214:00:54286946LED_307815NOOK
1138307814LED50002018-01-1213:51:48286946LED_307814NOOK
1139307813LED50002018-01-1213:43:11286946LED_307813NOOK
1140307811LED50002018-01-1213:34:04286946LED_307811NOOK
1141307810LED50002018-01-1213:28:32286946LED_307810NOOK
1142307807LED50002018-01-1212:58:51286946LED_307807NOOK
1143307806LED50002018-01-1212:16:32286946LED_307806NOOK
1144307805LED50002018-01-1212:00:57286946LED_307805NOOK
1145307803LED80002018-01-1211:33:26286946LED_307803NOOK
1146307797LED10002018-01-1209:58:10286946LED_307797NOOK
1147307796LED80002018-01-1209:48:03286946LED_307796NOOK
1148307794LED10002018-01-1118:49:01286946LED_307794NOOK
1149307793LED10002018-01-1118:41:09286946LED_307793NOOK
1150307790LED10002018-01-1117:30:08286946LED_307790NOOK
1151307789LED50002018-01-1117:24:33286946LED_307789NOOK
1152307788LED50002018-01-1117:01:48286946LED_307788NOOK
1153307785LED10002018-01-1115:46:46286946LED_307785NOOK
1154307783LED10002018-01-1113:43:49286946LED_307783NOOK
1155307782LED10002018-01-1113:02:17286946LED_307782NOOK
1156307772LED10002018-01-1014:33:28286946LED_307772NOOK
1157307771LED10002018-01-1014:21:10286946LED_307771NOOK
1158307769LED10002018-01-1014:11:11286946LED_307769NOOK
1159307768LED10002018-01-1014:07:00286946LED_307768NOOK
1160307767LED10002018-01-1013:53:47286946LED_307767NOOK
1161307765LED80002018-01-1013:41:08286946LED_307765NOOK
1162307584LED300002017-12-0511:03:38286946LED_307584NOOK
1163307500LED20002017-12-0210:59:34286946LED_307500NOOK
1164307385LED20002017-11-3010:15:29286946LED_307385NOOK
1165307247LED20002017-11-2815:52:23286946LED_307247NOOK
1166307238LED500002017-11-2815:11:39286946LED_307238NOOK
1167307229LED500002017-11-2814:46:04286946LED_307229NOOK
1168307210LED10002017-11-2812:56:52286946LED_307210NOOK
1169307208LED10002017-11-2812:36:25286946LED_307208NOOK
1170307207LED10002017-11-2812:04:33286946LED_307207NOOK
1171307194LED10002017-11-2811:38:16286946LED_307194NOOK
1172307192LED10002017-11-2810:52:13286946LED_307192NOOK
1173307191LED10002017-11-2810:26:11286946LED_307191NOOK
1174307183LED10002017-11-2810:17:33286946LED_307183NOOK
1175307180LED10002017-11-2809:35:58286946LED_307180NOOK
1176307179LED10002017-11-2809:16:29286946LED_307179NOOK
1177307159LED20002017-11-2715:15:44286946LED_307159NOOK
1178307139LED100002017-11-2710:40:19286946LED_307139NOOK
1179307130LED20002017-11-2709:30:24286946LED_307130NOOK
1180306971LED20002017-11-2212:01:31286946LED_306971NOOK
1181306970LED100002017-11-2211:56:31286946LED_306970NOOK
1182306845LED6198002017-11-2111:14:14286946LED_306845NOOK
1183306725LED300002017-11-1615:05:49286946LED_306725NOOK
1184306698LED80002017-11-1514:44:50286946LED_306698NOOK
1185306690LED20002017-11-1513:38:50286946LED_306690NOOK
1186306249LED20002017-11-0714:48:25286946LED_306249NOOK
1187306232LED100002017-11-0713:44:16286946LED_306232NOOK
1188306068LED100002017-11-0212:20:58286946LED_306068NOOK
1189305940LED100002017-10-3111:33:24286946LED_305940NOOK
1190305886LED20002017-10-3017:08:34286946LED_305886NOOK
1191305882LED100002017-10-3016:55:24286946LED_305882NOOK
1192305711LED20002017-10-2615:06:46286946LED_305711NOOK
1193305705LED80002017-10-2614:49:34286946LED_305705NOOK
1194305704LED80002017-10-2614:43:05286946LED_305704NOOK
1195305697LED50002017-10-2614:04:18286946LED_305697NOOK
1196305696LED50002017-10-2613:50:09286946LED_305696NOOK
1197305695LED1000002017-10-2613:46:15286946LED_305695NOOK
1198305691LED1000002017-10-2613:36:18286946LED_305691NOOK
1199305689LED1000002017-10-2613:19:33286946LED_305689NOOK
1200305684LED1000002017-10-2612:04:39286946LED_305684NOOK
1201305683LED1000002017-10-2612:00:08286946LED_305683NOOK
1202305682LED1000002017-10-2611:53:11286946LED_305682NOOK
1203305485LED20002017-10-2315:29:11286946LED_305485NOOK
1204305478LED100002017-10-2315:02:53286946LED_305478NOOK
1205305327LED100002017-10-2010:40:06286946LED_305327NOOK
1206305220LED100002017-10-1809:54:36286946LED_305220NOOK
1207305142LED20002017-10-1614:05:00286946LED_305142NOOK
1208305133LED100002017-10-1613:37:52286946LED_305133NOOK
1209305131LED100002017-10-1613:33:00286946LED_305131NOOK
1210305054LED100002017-10-1410:17:45286946LED_305054NOOK
1211304852LED100002017-10-1210:03:11286946LED_304852NOOK
1212304753LED100002017-10-1010:11:27286946LED_304753NOOK
1213304685LED100002017-10-0909:26:50286946LED_304685NOOK
1214304636LED300002017-10-0712:32:51286946LED_304636NOOK
1215304635LED100002017-10-0712:26:26286946LED_304635NOOK
1216304526LED100002017-10-0609:04:39286946LED_304526NOOK
1217304519LED100002017-10-0608:46:28286946LED_304519NOOK
1218304432LED20002017-10-0422:26:11286946LED_304432NOOK
1219304427LED100002017-10-0421:59:04286946LED_304427NOOK
1220304324LED100002017-10-0309:28:10286946LED_304324NOOK
1221304276LED20002017-10-0215:47:55286946LED_304276NOOK
1222304267LED10002017-10-0214:51:48286946LED_304267NOOK
1223304266LED10002017-10-0214:46:51286946LED_304266NOOK
1224304265LED10002017-10-0214:42:19286946LED_304265NOOK
1225304264LED10002017-10-0214:38:36286946LED_304264NOOK
1226304263LED10002017-10-0214:31:23286946LED_304263NOOK
1227304260LED10002017-10-0214:19:34286946LED_304260NOOK
1228304239LED20002017-10-0209:58:58286946LED_304239NOOK
1229304229LED100002017-10-0209:20:09286946LED_304229NOOK
1230304079LED100002017-09-2810:10:10286946LED_304079NOOK
1231303913LED10002017-09-2609:29:24286946LED_303913NOOK
1232303912LED10002017-09-2609:24:44286946LED_303912NOOK
1233303903LED100002017-09-2609:00:32286946LED_303903NOOK
1234303869LED10002017-09-2515:48:37286946LED_303869NOOK
1235303867LED10002017-09-2515:45:50286946LED_303867NOOK
1236303860LED100002017-09-2515:30:50286946LED_303860NOOK
1237303693LED10002017-09-2213:44:23286946LED_303693NOOK
1238303689LED10002017-09-2213:23:54286946LED_303689NOOK
1239303686LED300002017-09-2213:03:20286946LED_303686NOOK
1240303559LED20002017-09-2114:33:46286946LED_303559NOOK
1241303556LED20002017-09-2114:22:12286946LED_303556NOOK
1242303554LED20002017-09-2114:12:08286946LED_303554NOOK
1243303553LED20002017-09-2114:09:55286946LED_303553NOOK
1244303552LED20002017-09-2114:08:43286946LED_303552NOOK
1245303549LED20002017-09-2114:06:12286946LED_303549NOOK
1246303548LED20002017-09-2114:04:52286946LED_303548NOOK
1247303546LED20002017-09-2114:02:34286946LED_303546NOOK
1248303545LED20002017-09-2114:01:03286946LED_303545NOOK
1249303544LED20002017-09-2113:59:08286946LED_303544NOOK
1250303543LED20002017-09-2113:56:05286946LED_303543NOOK
1251303542LED20002017-09-2113:46:34286946LED_303542NOOK
1252303541LED20002017-09-2113:44:33286946LED_303541NOOK
1253303540LED20002017-09-2113:42:00286946LED_303540NOOK
1254303539LED20002017-09-2113:38:53286946LED_303539NOOK
1255303538LED20002017-09-2113:37:18286946LED_303538NOOK
1256303536LED20002017-09-2113:34:48286946LED_303536NOOK
1257303535LED20002017-09-2113:27:21286946LED_303535NOOK
1258303531LED20002017-09-2113:13:15286946LED_303531NOOK
1259303526LED20002017-09-2112:59:06286946LED_303526NOOK
1260303515LED20002017-09-2112:10:55286946LED_303515NOOK
1261303512LED100002017-09-2111:43:56286946LED_303512NOOK
1262303508LED300002017-09-2111:09:09286946LED_303508NOOK
1263303456LED20002017-09-2108:45:20286946LED_303456NOOK
1264303374LED100002017-09-2014:44:19286946LED_303374NOOK
1265303223LED20002017-09-1914:00:24286946LED_303223NOOK
1266303076LED20002017-09-1820:34:12286946LED_303076NOOK
1267303073LED100002017-09-1819:55:50286946LED_303073NOOK
1268302998LED20002017-09-1807:09:27286946LED_302998NOOK
1269302958LED20002017-09-1615:37:37286946LED_302958NOOK
1270302836LED20002017-09-1513:14:36286946LED_302836NOOK
1271302812LED10002017-09-1509:51:58286946LED_302812NOOK
1272302808LED10002017-09-1509:33:04286946LED_302808NOOK
1273302803LED10002017-09-1509:22:41286946LED_302803NOOK
1274302616LED100002017-09-1117:58:05286946LED_302616NOOK
1275302585LED20002017-09-1020:11:37286946LED_302585NOOK
1276302582LED100002017-09-1019:55:03286946LED_302582NOOK
1277302468LED100002017-09-0710:25:38286946LED_302468NOOK
1278302419LED100002017-09-0612:01:53286946LED_302419NOOK
1279302418LED100002017-09-0611:59:07286946LED_302418NOOK
1280302417LED200002017-09-0611:49:32286946LED_302417NOOK
1281302253LED100002017-09-0218:03:56286946LED_302253NOOK
1282302246LED20002017-09-0217:35:19286946LED_302246NOOK
1283302244LED20002017-09-0217:30:38286946LED_302244NOOK
1284302217LED20002017-09-0115:20:07286946LED_302217NOOK
1285302183LED20002017-09-0113:09:43286946LED_302183NOOK
1286302115LED100002017-08-3109:54:52286946LED_302115NOOK
1287301887LED1000002017-08-2600:05:36286946LED_301887NOOK
1288301735LED20002017-08-2410:30:13286946LED_301735NOOK
1289301724LED20002017-08-2409:33:20286946LED_301724NOOK
1290301715LED20002017-08-2409:13:12286946LED_301715NOOK
1291301509LED20002017-08-2108:51:56286946LED_301509NOOK
1292301504LED20002017-08-2108:44:22286946LED_301504NOOK
1293301378LED20002017-08-1713:59:06286946LED_301378NOOK
1294301205LED500002017-08-1511:59:30286946LED_301205NOOK
1295301203LED20002017-08-1511:42:41286946LED_301203NOOK
1296301196LED20002017-08-1511:19:02286946LED_301196NOOK
1297301002LED100002017-08-1111:55:22286946LED_301002NOOK
1298300995LED10002017-08-1110:45:49286946LED_300995NOOK
1299300994LED20002017-08-1110:41:15286946LED_300994NOOK
1300300829LED20002017-08-1008:50:37286946LED_300829NOOK
1301300607LED100002017-08-0713:24:57286946LED_300607NOOK
1302300427LED20002017-08-0409:23:57286946LED_300427NOOK
1303300423LED20002017-08-0409:12:25286946LED_300423NOOK
1304300299LED20002017-08-0216:38:12286946LED_300299NOOK
1305300185LED20002017-07-3112:54:43286946LED_300185NOOK
1306299978LED20002017-07-2709:42:28286946LED_299978NOOK
1307299975LED100002017-07-2709:31:34286946LED_299975NOOK
1308299468LED20002017-07-2009:39:50286946LED_299468NOOK
1309299465LED100002017-07-2009:24:23286946LED_299465NOOK
1310299457LED10002017-07-2008:24:27286946LED_299457NOOK
1311299357LED10002017-07-1813:02:02286946LED_299357NOOK
1312299229LED20002017-07-1712:59:55286946LED_299229NOOK
1313298888LED20002017-07-1210:50:14286946LED_298888NOOK
1314298863LED20002017-07-1208:29:54286946LED_298863NOOK
1315298806LED20002017-07-1108:13:51286946LED_298806NOOK
1316298722LED20002017-07-1009:31:06286946LED_298722NOOK
1317298475LED20002017-07-0717:22:49286946LED_298475NOOK
1318298469LED20002017-07-0716:47:41286946LED_298469NOOK
1319298428LED20002017-07-0712:41:58286946LED_298428NOOK
1320298413LED1000002017-07-0710:14:58286946LED_298413NOOK
1321298412LED20002017-07-0709:43:31286946LED_298412NOOK
1322298350LED20002017-07-0615:10:46286946LED_298350NOOK
1323298343LED20002017-07-0615:05:27286946LED_298343NOOK
1324298317LED20002017-07-0614:02:04286946LED_298317NOOK
1325298309LED20002017-07-0613:51:20286946LED_298309NOOK
1326298305LED100002017-07-0613:48:30286946LED_298305NOOK
1327298304LED20002017-07-0613:42:44286946LED_298304NOOK
1328298284LED10002017-07-0612:53:19286946LED_298284NOOK
1329298277LED100002017-07-0612:54:45286946LED_298277NOOK
1330298251LED20002017-07-0609:33:10286946LED_298251NOOK
1331298212LED20002017-07-0520:29:57286946LED_298212NOOK
1332298201LED100002017-07-0519:34:23286946LED_298201NOOK
1333298125LED10002017-07-0513:22:47286946LED_298125NOOK
1334298122LED20002017-07-0513:05:19286946LED_298122NOOK
1335298097LED20002017-07-0511:58:36286946LED_298097NOOK
1336298055LED20002017-07-0508:22:26286946LED_298055NOOK
1337298017LED10002017-07-0416:37:58286946LED_298017NOOK
1338298014LED20002017-07-0416:29:37286946LED_298014NOOK
1339297995LED20002017-07-0413:59:41286946LED_297995NOOK
1340297964LED20002017-07-0411:09:27286946LED_297964NOOK
1341297954LED20002017-07-0408:25:43286946LED_297954NOOK
1342297931LED20002017-07-0317:42:33286946LED_297931NOOK
1343297930LED20002017-07-0317:18:37286946LED_297930NOOK
1344297924LED20002017-07-0315:39:14286946LED_297924NOOK
1345297915LED10002017-07-0315:02:18286946LED_297915NOOK
1346297846LED20002017-07-0307:30:08286946LED_297846NOOK
1347297776LED2400002017-07-0216:03:00286946LED_297776NOOK
1348297767LED10002017-06-3015:45:02286946LED_297767NOOK
1349297765LED10002017-06-3015:26:02286946LED_297765NOOK
1350297764LED10002017-06-3015:02:23286946LED_297764NOOK
1351297763LED10002017-06-3014:51:26286946LED_297763NOOK
1352297757LED240002017-06-3014:37:09286946LED_297757NOOK
1353297755LED20002017-06-3014:10:29286946LED_297755NOOK
1354297753LED20002017-06-3014:07:18286946LED_297753NOOK
1355297751LED200002017-06-3014:04:28286946LED_297751NOOK
1356297750LED20002017-06-3013:53:57286946LED_297750NOOK
1357297748LED20002017-06-3013:50:38286946LED_297748NOOK
1358297746LED20002017-06-3013:46:52286946LED_297746NOOK
1359297732LED2400002017-06-3009:56:02286946LED_297732NOOK
1360297731LED2400002017-06-3009:00:05286946LED_297731NOOK
1361297687LED20002017-06-2912:22:27286946LED_297687NOOK
1362297645LED100002017-06-2814:26:32286946LED_297645NOOK
1363297630LED20002017-06-2812:56:38286946LED_297630NOOK
1364297571LED20002017-06-2711:23:58286946LED_297571NOOK
1365297522LED20002017-06-2612:56:37286946LED_297522NOOK
1366297459LED20002017-06-2413:59:25286946LED_297459NOOK
1367297441LED20002017-06-2411:47:25286946LED_297441NOOK
1368297241LED20002017-06-2112:28:38286946LED_297241NOOK
1369297238LED20002017-06-2112:18:19286946LED_297238NOOK
1370297087LED100002017-06-1716:21:38286946LED_297087NOOK
1371297082LED20002017-06-1715:44:14286946LED_297082NOOK
1372297028LED20002017-06-1617:05:10286946LED_297028NOOK
1373297027LED20002017-06-1617:00:41286946LED_297027NOOK
1374297026LED20002017-06-1616:54:59286946LED_297026NOOK
1375296911LED20002017-06-1513:08:31286946LED_296911NOOK
1376296909LED20002017-06-1512:56:29286946LED_296909NOOK
1377296906LED20002017-06-1512:53:29286946LED_296906NOOK
1378296808LED20002017-06-1414:46:31286946LED_296808NOOK
1379296744LED20002017-06-1310:37:38286946LED_296744NOOK
1380296743LED20002017-06-1310:32:40286946LED_296743NOOK
1381296742LED10002017-06-1310:30:33286946LED_296742NOOK
1382296627LED20002017-06-1207:19:29286946LED_296627NOOK
1383296582LED20002017-06-1010:43:57286946LED_296582NOOK
1384296550LED20002017-06-0916:10:50286946LED_296550NOOK
1385296547LED20002017-06-0915:34:14286946LED_296547NOOK
1386296542LED20002017-06-0916:07:55286946LED_296542NOOK
1387296515LED20002017-06-0914:07:44286946LED_296515NOOK
1388296493LED2400002017-06-0911:39:48286946LED_296493NOOK
1389296474LED2400002017-06-0910:58:07286946LED_296474NOOK
1390296473LED200002017-06-0910:02:57286946LED_296473NOOK
1391296458LED1000002017-06-0910:16:21286946LED_296458NOOK
1392296374LED20002017-06-0717:04:54286946LED_296374NOOK
1393296373LED20002017-06-0716:42:39286946LED_296373NOOK
1394296360LED20002017-06-0714:37:37286946LED_296360NOOK
1395296327LED20002017-06-0711:26:37286946LED_296327NOOK
1396296323LED20002017-06-0711:12:12286946LED_296323NOOK
1397296320LED20002017-06-0710:34:44286946LED_296320NOOK
1398296315LED10002017-06-0710:30:20286946LED_296315NOOK
1399296310LED10002017-06-0710:18:54286946LED_296310NOOK
1400296246LED100002017-06-0616:18:56286946LED_296246NOOK
1401296240LED10002017-06-0616:11:43286946LED_296240NOOK
1402296228LED10002017-06-0615:31:11286946LED_296228NOOK
1403296224LED10002017-06-0614:36:07286946LED_296224NOOK
1404296221LED10002017-06-0614:30:22286946LED_296221NOOK
1405296188LED20002017-06-0609:31:52286946LED_296188NOOK
1406296185LED20002017-06-0609:18:07286946LED_296185NOOK
1407296182LED20002017-06-0609:02:15286946LED_296182NOOK
1408295767LED20002017-05-3118:47:43286946LED_295767NOOK
1409295698LED100002017-05-3110:37:15286946LED_295698NOOK
1410295675LED20002017-05-3109:06:16286946LED_295675NOOK
1411295401LED20002017-05-2812:06:03286946LED_295401NOOK
1412295297LED100002017-05-2618:13:41286946LED_295297NOOK
1413295252LED20002017-05-2612:07:04286946LED_295252NOOK
1414295105LED10002017-05-2415:50:01286946LED_295105NOOK
1415295102LED10002017-05-2415:42:53286946LED_295102NOOK
1416295057LED10002017-05-2412:07:50286946LED_295057NOOK
1417295050LED10002017-05-2411:45:02286946LED_295050NOOK
1418295029LED200002017-05-2410:08:52286946LED_295029NOOK
1419295023LED200002017-05-2410:01:05286946LED_295023NOOK
1420295022LED200002017-05-2409:49:13286946LED_295022NOOK
1421295020LED200002017-05-2409:41:21286946LED_295020NOOK
1422294917LED10002017-05-2313:07:22286946LED_294917NOOK
1423294915LED10002017-05-2313:01:01286946LED_294915NOOK
1424294912LED10002017-05-2312:45:17286946LED_294912NOOK
1425294775LED10002017-05-2210:26:08286946LED_294775NOOK
1426294773LED10002017-05-2210:14:05286946LED_294773NOOK
1427294771LED10002017-05-2209:59:09286946LED_294771NOOK
1428294769LED10002017-05-2209:39:04286946LED_294769NOOK
1429294587LED1000002017-05-1914:11:21286946LED_294587NOOK
1430294575LED1000002017-05-1913:39:37286946LED_294575NOOK
1431294557LED20002017-05-1911:32:04286946LED_294557NOOK
1432294542LED10002017-05-1910:23:29286946LED_294542NOOK
1433294449LED20002017-05-1815:55:56286946LED_294449NOOK
1434294447LED10002017-05-1815:52:36286946LED_294447NOOK
1435294388LED20002017-05-1812:40:34286946LED_294388NOOK
1436294387LED20002017-05-1812:34:19286946LED_294387NOOK
1437294276LED20002017-05-1716:17:34286946LED_294276NOOK
1438294267LED20002017-05-1715:59:42286946LED_294267NOOK
1439294256LED20002017-05-1715:38:59286946LED_294256NOOK
1440294199LED10002017-05-1709:05:29286946LED_294199NOOK
1441294197LED10002017-05-1708:53:38286946LED_294197NOOK
1442294088LED20002017-05-1610:18:51286946LED_294088NOOK
1443294085LED20002017-05-1609:40:48286946LED_294085NOOK
1444294078LED20002017-05-1608:58:03286946LED_294078NOOK
1445294054LED20002017-05-1518:06:18286946LED_294054NOOK
1446294046LED20002017-05-1517:38:47286946LED_294046NOOK
1447294043LED20002017-05-1517:15:45286946LED_294043NOOK
1448294039LED20002017-05-1516:46:20286946LED_294039NOOK
1449293881LED20002017-05-1215:56:47286946LED_293881NOOK
1450293869LED20002017-05-1215:06:39286946LED_293869NOOK
1451293657LED20002017-05-0918:03:41286946LED_293657NOOK
1452293631LED20002017-05-0916:02:58286946LED_293631NOOK
1453293628LED20002017-05-0915:58:34286946LED_293628NOOK
1454293622LED20002017-05-0915:44:06286946LED_293622NOOK
1455293620LED20002017-05-0915:35:25286946LED_293620NOOK
1456293564LED20002017-05-0819:58:53286946LED_293564NOOK
1457293560LED20002017-05-0819:14:25286946LED_293560NOOK
1458293559LED20002017-05-0819:07:48286946LED_293559NOOK
1459293557LED20002017-05-0819:00:39286946LED_293557NOOK
1460293556LED20002017-05-0818:36:00286946LED_293556NOOK
1461293555LED20002017-05-0818:30:13286946LED_293555NOOK
1462293554LED20002017-05-0818:19:08286946LED_293554NOOK
1463293550LED20002017-05-0818:07:43286946LED_293550NOOK
1464293548LED20002017-05-0817:04:34286946LED_293548NOOK
1465293517LED20002017-05-0812:06:47286946LED_293517NOOK
1466293512LED20002017-05-0811:49:06286946LED_293512NOOK
1467293507LED20002017-05-0811:30:17286946LED_293507NOOK
1468293493LED20002017-05-0808:06:42286946LED_293493NOOK
1469293367LED20002017-05-0517:08:32286946LED_293367NOOK
1470293366LED20002017-05-0517:02:01286946LED_293366NOOK
1471293364LED20002017-05-0516:53:05286946LED_293364NOOK
1472293354LED20002017-05-0516:39:25286946LED_293354NOOK
1473293353LED20002017-05-0514:40:23286946LED_293353NOOK
1474293322LED20002017-05-0510:10:01286946LED_293322NOOK
1475293319LED20002017-05-0509:37:19286946LED_293319NOOK
1476293316LED20002017-05-0509:30:45286946LED_293316NOOK
1477293300LED20002017-05-0419:18:44286946LED_293300NOOK
1478293295LED20002017-05-0416:26:46286946LED_293295NOOK
1479293164LED20002017-05-0315:28:12286946LED_293164NOOK
1480292992LED20002017-05-0210:13:56286946LED_292992NOOK
1481292990LED20002017-05-0209:50:17286946LED_292990NOOK
1482292952LED20002017-05-0111:51:26286946LED_292952NOOK
1483292826LED20002017-04-2816:35:10286946LED_292826NOOK
1484292802LED20002017-04-2814:10:45286946LED_292802NOOK
1485292657LED20002017-04-2712:45:54286946LED_292657NOOK
1486292656LED20002017-04-2712:42:50286946LED_292656NOOK
1487292653LED20002017-04-2712:38:00286946LED_292653NOOK
1488292517LED20002017-04-2609:05:05286946LED_292517NOOK
1489292454LED20002017-04-2518:23:29286946LED_292454NOOK
1490292453LED20002017-04-2518:02:56286946LED_292453NOOK
1491292412LED20002017-04-2513:42:58286946LED_292412NOOK
1492292403LED20002017-04-2512:20:32286946LED_292403NOOK
1493292400LED20002017-04-2512:11:47286946LED_292400NOOK
1494292398LED20002017-04-2511:59:22286946LED_292398NOOK
1495292395LED20002017-04-2511:54:48286946LED_292395NOOK
1496292382LED20002017-04-2510:23:23286946LED_292382NOOK
1497292381LED20002017-04-2510:14:03286946LED_292381NOOK
1498292375LED20002017-04-2509:34:39286946LED_292375NOOK
1499292350LED20002017-04-2417:32:44286946LED_292350NOOK
1500292326LED20002017-04-2414:50:43286946LED_292326NOOK
1501292231LED20002017-04-2117:18:22286946LED_292231NOOK
1502292227LED20002017-04-2117:13:12286946LED_292227NOOK
1503292140LED200002017-04-2018:03:00286946LED_292140NOOK
1504292134LED20002017-04-2014:44:15286946LED_292134NOOK
1505291959LED20002017-04-1908:58:25286946LED_291959NOOK
1506291756LED20002017-04-1314:29:50286946LED_291756NOOK
1507291677LED20002017-04-1215:57:42286946LED_291677NOOK
1508291674LED20002017-04-1215:40:26286946LED_291674NOOK
1509291673LED20002017-04-1215:29:21286946LED_291673NOOK
1510291671LED20002017-04-1215:19:33286946LED_291671NOOK
1511291670LED20002017-04-1215:03:51286946LED_291670NOOK
1512291669LED20002017-04-1215:03:06286946LED_291669NOOK
1513291666LED20002017-04-1215:00:38286946LED_291666NOOK
1514291665LED20002017-04-1214:48:31286946LED_291665NOOK
1515291664LED20002017-04-1214:44:31286946LED_291664NOOK
1516291663LED20002017-04-1214:36:18286946LED_291663NOOK
1517291661LED20002017-04-1214:32:15286946LED_291661NOOK
1518291660LED20002017-04-1214:21:59286946LED_291660NOOK
1519291657LED20002017-04-1214:18:02286946LED_291657NOOK
1520291656LED20002017-04-1214:10:01286946LED_291656NOOK
1521291654LED20002017-04-1214:05:52286946LED_291654NOOK
1522291653LED20002017-04-1214:00:36286946LED_291653NOOK
1523291617LED20002017-04-1117:47:46286946LED_291617NOOK
1524291616LED20002017-04-1117:36:48286946LED_291616NOOK
1525291408LED20002017-04-1009:47:40286946LED_291408NOOK
1526291298LED20002017-04-0715:36:03286946LED_291298NOOK
1527291250LED500002017-04-0710:12:13286946LED_291250NOOK
1528291248LED20002017-04-0709:53:34286946LED_291248NOOK
1529291211LED20002017-04-0617:22:29286946LED_291211NOOK
1530291208LED20002017-04-0617:18:55286946LED_291208NOOK
1531291203LED20002017-04-0617:08:44286946LED_291203NOOK
1532291186LED20002017-04-0614:49:23286946LED_291186NOOK
1533291094LED154002017-04-0516:19:10286946LED_291094NOOK
1534291088LED20002017-04-0515:49:05286946LED_291088NOOK
1535291087LED20002017-04-0515:46:49286946LED_291087NOOK
1536291084LED20002017-04-0515:44:26286946LED_291084NOOK
1537291082LED20002017-04-0515:36:48286946LED_291082NOOK
1538291071LED20002017-04-0515:27:41286946LED_291071NOOK
1539291054LED20002017-04-0513:59:53286946LED_291054NOOK
1540290980LED20002017-04-0508:52:13286946LED_290980NOOK
1541290827LED20002017-04-0307:36:08286946LED_290827NOOK
1542290791LED300002017-04-0115:50:24286946LED_290791NOOK
1543290789LED300002017-04-0115:37:06286946LED_290789NOOK
1544290781LED20002017-04-0111:28:48286946LED_290781NOOK
1545290778LED20002017-04-0111:23:31286946LED_290778NOOK
1546290776LED20002017-04-0111:05:46286946LED_290776NOOK
1547290775LED20002017-04-0110:59:06286946LED_290775NOOK
1548290773LED20002017-04-0110:51:27286946LED_290773NOOK
1549290771LED20002017-04-0110:39:19286946LED_290771NOOK
1550290770LED20002017-04-0110:30:15286946LED_290770NOOK
1551290745LED2000002017-04-0105:55:41286946LED_290745NOOK
1552290731LED5002017-03-3118:02:07286946LED_290731NOOK
1553290730LED20002017-03-3117:31:51286946LED_290730NOOK
1554290728LED5002017-03-3117:27:02286946LED_290728NOOK
1555290715LED20002017-03-3116:29:56286946LED_290715NOOK
1556290709LED20002017-03-3116:18:56286946LED_290709NOOK
1557290707LED20002017-03-3116:02:14286946LED_290707NOOK
1558290706LED20002017-03-3115:49:37286946LED_290706NOOK
1559290705LED20002017-03-3115:48:47286946LED_290705NOOK
1560290701LED20002017-03-3115:45:42286946LED_290701NOOK
1561290688LED20002017-03-3115:05:00286946LED_290688NOOK
1562290680LED500002017-03-3114:27:11286946LED_290680NOOK
1563290679LED20002017-03-3114:04:21286946LED_290679NOOK
1564290604LED20002017-03-3017:15:18286946LED_290604NOOK
1565290518LED20002017-03-2923:40:00286946LED_290518NOOK
1566290415LED20002017-03-2911:48:16286946LED_290415NOOK
1567290380LED20002017-03-2909:47:57286946LED_290380NOOK
1568290293LED20002017-03-2814:51:35286946LED_290293NOOK
1569290283LED20002017-03-2814:40:02286946LED_290283NOOK
1570290279LED20002017-03-2813:57:59286946LED_290279NOOK
1571290268LED20002017-03-2813:10:20286946LED_290268NOOK
1572290245LED20002017-03-2811:19:50286946LED_290245NOOK
1573290224LED20002017-03-2810:10:55286946LED_290224NOOK
1574290217LED20002017-03-2809:58:15286946LED_290217NOOK
1575290148LED20002017-03-2715:40:04286946LED_290148NOOK
1576290147LED20002017-03-2715:13:52286946LED_290147NOOK
1577290142LED20002017-03-2714:56:57286946LED_290142NOOK
1578290140LED20002017-03-2714:38:32286946LED_290140NOOK
1579290134LED20002017-03-2713:35:41286946LED_290134NOOK
1580290132LED20002017-03-2713:06:08286946LED_290132NOOK
1581290105LED20002017-03-2708:51:24286946LED_290105NOOK
1582290099LED20002017-03-2708:26:22286946LED_290099NOOK
1583290042LED20002017-03-2513:01:35286946LED_290042NOOK
1584290036LED20002017-03-2511:54:18286946LED_290036NOOK
1585290034LED20002017-03-2511:48:41286946LED_290034NOOK
1586290010LED20002017-03-2418:29:57286946LED_290010NOOK
1587289966LED200002017-03-2416:47:26286946LED_289966NOOK
1588289958LED20002017-03-2413:46:35286946LED_289958NOOK
1589289904LED20002017-03-2410:07:02286946LED_289904NOOK
1590289889LED20002017-03-2315:39:36286946LED_289889NOOK
1591289887LED20002017-03-2315:42:02286946LED_289887NOOK
1592289870LED20002017-03-2313:15:15286946LED_289870NOOK
1593289869LED20002017-03-2312:57:44286946LED_289869NOOK
1594289857LED20002017-03-2310:56:17286946LED_289857NOOK
1595289711LED20002017-03-2015:57:00286946LED_289711NOOK
1596289669LED20002017-03-2002:52:21286946LED_289669NOOK
1597289668LED20002017-03-2002:45:02286946LED_289668NOOK
1598289611LED200002017-03-1715:19:06286946LED_289611NOOK
1599289609LED200002017-03-1715:10:37286946LED_289609NOOK
1600289606LED20002017-03-1811:23:12286946LED_289606NOOK
1601289585LED500002017-03-1712:50:24286946LED_289585NOOK
1602289580LED20002017-03-1712:01:13286946LED_289580NOOK
1603289551LED500002017-03-1709:46:18286946LED_289551NOOK
1604289550LED5002017-03-1709:39:33286946LED_289550NOOK
1605289502LED20002017-03-1618:50:42286946LED_289502NOOK
1606289495LED20002017-03-1616:57:35286946LED_289495NOOK
1607289451LED20002017-03-1616:30:44286946LED_289451NOOK
1608289445LED20002017-03-1611:27:50286946LED_289445NOOK
1609289442LED20002017-03-1611:55:14286946LED_289442NOOK
1610289429LED20002017-03-1610:01:05286946LED_289429NOOK
1611289422LED20002017-03-1609:22:20286946LED_289422NOOK
1612289399LED20002017-03-1520:01:55286946LED_289399NOOK
1613289299LED5002017-03-1422:06:15286946LED_289299NOOK
1614289297LED5002017-03-1421:32:32286946LED_289297NOOK
1615289287LED20002017-03-1417:09:06286946LED_289287NOOK
1616289286LED20002017-03-1416:52:01286946LED_289286NOOK
1617289278LED20002017-03-1416:21:22286946LED_289278NOOK
1618289268LED20002017-03-1415:51:50286946LED_289268NOOK
1619289247LED20002017-03-1414:38:42286946LED_289247NOOK
1620289245LED20002017-03-1413:06:44286946LED_289245NOOK
1621289244LED20002017-03-1413:04:04286946LED_289244NOOK
1622289243LED20002017-03-1413:00:13286946LED_289243NOOK
1623289240LED20002017-03-1412:32:13286946LED_289240NOOK
1624289234LED20002017-03-1411:24:04286946LED_289234NOOK
1625289226LED20002017-03-1406:49:07286946LED_289226NOOK
1626289215LED20002017-03-1318:22:58286946LED_289215NOOK
1627289214LED20002017-03-1318:13:20286946LED_289214NOOK
1628289197LED20002017-03-1315:22:51286946LED_289197NOOK
1629289167LED20002017-03-1309:30:45286946LED_289167NOOK
1630289157LED20002017-03-1304:10:14286946LED_289157NOOK
1631289140LED20002017-03-1207:34:18286946LED_289140NOOK
1632289137LED20002017-03-1121:44:06286946LED_289137NOOK
1633289116LED20002017-03-1023:39:31286946LED_289116NOOK
1634289106LED20002017-03-1019:34:03286946LED_289106NOOK
1635289104LED6198002017-03-1317:48:22286946LED_289104NOOK
1636289093LED154002017-03-1017:34:16286946LED_289093NOOK
1637289088LED300002017-03-1016:18:49286946LED_289088NOOK
1638289086LED300002017-03-1016:07:07286946LED_289086NOOK
1639289066LED20002017-03-1013:58:21286946LED_289066NOOK
1640289061LED20002017-03-1012:46:56286946LED_289061NOOK
1641289035LED20002017-03-1010:08:54286946LED_289035NOOK
1642289009LED100002017-03-0918:42:18286946LED_289009NOOK
1643288980LED20002017-03-0915:33:33286946LED_288980NOOK
1644288977LED20002017-03-0914:50:47286946LED_288977NOOK
1645288953LED20002017-03-0910:45:06286946LED_288953NOOK
1646288947LED6198002017-03-0910:28:47286946LED_288947NOOK
1647288921LED20002017-03-0818:07:36286946LED_288921NOOK
1648288914LED20002017-03-0817:07:16286946LED_288914NOOK
1649288906LED20002017-03-0815:58:24286946LED_288906NOOK
1650288902LED20002017-03-0815:36:43286946LED_288902NOOK
1651288890LED20002017-03-0812:25:44286946LED_288890NOOK
1652288867LED200002017-03-0809:38:28286946LED_288867NOOK
1653288863LED200002017-03-0809:10:43286946LED_288863NOOK
1654288826LED20002017-03-0715:50:18286946LED_288826NOOK
1655288820LED20002017-03-0715:47:32286946LED_288820NOOK
1656288818LED20002017-03-0714:18:24286946LED_288818NOOK
1657288816LED20002017-03-0712:36:43286946LED_288816NOOK
1658288815LED20002017-03-0711:36:25286946LED_288815NOOK
1659288809LED20002017-03-0709:54:02286946LED_288809NOOK
1660288791LED20002017-03-0621:40:21286946LED_288791NOOK
1661288789LED20002017-03-0621:34:00286946LED_288789NOOK
1662288782LED20002017-03-0620:16:28286946LED_288782NOOK
1663288775LED20002017-03-0617:54:57286946LED_288775NOOK
1664288773LED20002017-03-0617:06:58286946LED_288773NOOK
1665288770LED20002017-03-0616:49:35286946LED_288770NOOK
1666288753LED20002017-03-0612:53:42286946LED_288753NOOK
1667288732LED20002017-03-0609:39:18286946LED_288732NOOK
1668288727LED20002017-03-0609:31:02286946LED_288727NOOK
1669288714LED20002017-03-0520:50:09286946LED_288714NOOK
1670288694LED100002017-03-0506:10:57286946LED_288694NOOK
1671288676LED200002017-03-0417:14:31286946LED_288676NOOK
1672288675LED20002017-03-0416:43:34286946LED_288675NOOK
1673288673LED6198002017-03-0416:38:52286946LED_288673NOOK
1674288668LED6198002017-03-0411:09:55286946LED_288668NOOK
1675288648LED100002017-03-0318:32:04286946LED_288648NOOK
1676288633LED20002017-03-0315:55:46286946LED_288633NOOK
1677288631LED20002017-03-0315:41:18286946LED_288631NOOK
1678288630LED20002017-03-0315:32:22286946LED_288630NOOK
1679288613LED20002017-03-0313:51:26286946LED_288613NOOK
1680288599LED20002017-03-0311:42:00286946LED_288599NOOK
1681288598LED20002017-03-0311:39:07286946LED_288598NOOK
1682288596LED60002017-03-0311:12:58286946LED_288596NOOK
1683288594LED60002017-03-0311:03:43286946LED_288594NOOK
1684288589LED20002017-03-0310:51:21286946LED_288589NOOK
1685288581LED600002017-03-0310:05:25286946LED_288581NOOK
1686288580LED20002017-03-0310:10:58286946LED_288580NOOK
1687288562LED20002017-03-0216:34:09286946LED_288562NOOK
1688288560LED20002017-03-0216:31:05286946LED_288560NOOK
1689288542LED20002017-03-0214:15:54286946LED_288542NOOK
1690288535LED20002017-03-0214:04:50286946LED_288535NOOK
1691288534LED1518002017-03-0213:23:42286946LED_288534NOOK
1692288529LED20002017-03-0211:23:23286946LED_288529NOOK
1693288521LED20002017-03-0210:54:44286946LED_288521NOOK
1694288510LED20002017-03-0210:51:23286946LED_288510NOOK
1695288501LED20002017-03-0209:46:04286946LED_288501NOOK
1696288480LED20002017-03-0116:28:43286946LED_288480NOOK
1697288437LED20002017-03-0114:00:16286946LED_288437NOOK
1698288424LED20002017-03-0111:47:22286946LED_288424NOOK
1699288398LED20002017-03-0107:22:30286946LED_288398NOOK
1700288396LED20002017-03-0106:51:51286946LED_288396NOOK
1701288395LED20002017-03-0106:48:39286946LED_288395NOOK
1702288392LED154002017-02-2819:18:18286946LED_288392NOOK
1703288391LED154002017-02-2819:08:01286946LED_288391NOOK
1704288390LED20002017-02-2819:01:26286946LED_288390NOOK
1705288384LED20002017-02-2816:34:29286946LED_288384NOOK
1706288348LED20002017-02-2812:35:56286946LED_288348NOOK
1707288347LED20002017-02-2812:33:39286946LED_288347NOOK
1708288346LED20002017-02-2812:31:23286946LED_288346NOOK
1709288301LED20002017-02-2809:48:38286946LED_288301NOOK
1710288299LED20002017-02-2809:39:18286946LED_288299NOOK
1711288293LED20002017-02-2809:10:26286946LED_288293NOOK
1712288291LED20002017-02-2808:57:28286946LED_288291NOOK
1713288264LED20002017-02-2713:38:04286946LED_288264NOOK
1714288260LED20002017-02-2710:52:01286946LED_288260NOOK
1715288254LED20002017-02-2710:41:26286946LED_288254NOOK
1716288239LED20002017-02-2708:45:59286946LED_288239NOOK
1717288238LED20002017-02-2707:49:18286946LED_288238NOOK
1718288237LED20002017-02-2707:45:18286946LED_288237NOOK
1719288231LED100002017-02-2609:02:44286946LED_288231NOOK
1720288164LED20002017-02-2415:58:16286946LED_288164NOOK
1721288163LED20002017-02-2415:56:04286946LED_288163NOOK
1722288119LED20002017-02-2411:31:01286946LED_288119NOOK
1723288115LED20002017-02-2410:54:46286946LED_288115NOOK
1724288104LED20002017-02-2408:27:45286946LED_288104NOOK
1725288103LED20002017-02-2408:19:17286946LED_288103NOOK
1726288102LED100002017-02-2406:47:04286946LED_288102NOOK
1727288087LED100002017-02-2319:38:31286946LED_288087NOOK
1728288084LED100002017-02-2318:56:11286946LED_288084NOOK
1729288083LED100002017-02-2318:51:44286946LED_288083NOOK
1730288078LED20002017-02-2316:54:36286946LED_288078NOOK
1731288063LED100002017-02-2315:02:04286946LED_288063NOOK
1732288062LED20002017-02-2314:57:30286946LED_288062NOOK
1733288051LED100002017-02-2314:03:56286946LED_288051NOOK
1734288050LED20002017-02-2313:48:51286946LED_288050NOOK
1735288046LED20002017-02-2313:44:35286946LED_288046NOOK
1736288030LED20002017-02-2312:25:26286946LED_288030NOOK
1737288029LED20002017-02-2312:15:31286946LED_288029NOOK
1738288023LED20002017-02-2311:23:58286946LED_288023NOOK
1739287987LED20002017-02-2215:47:58286946LED_287987NOOK
1740287983LED20002017-02-2215:22:09286946LED_287983NOOK
1741287982LED20002017-02-2215:10:45286946LED_287982NOOK
1742287957LED200002017-02-2211:08:52286946LED_287957NOOK
1743287956LED20002017-02-2210:52:37286946LED_287956NOOK
1744287955LED20002017-02-2210:39:12286946LED_287955NOOK
1745287954LED20002017-02-2210:30:40286946LED_287954NOOK
1746287953LED20002017-02-2210:54:58286946LED_287953NOOK
1747287950LED20002017-02-2210:14:20286946LED_287950NOOK
1748287949LED20002017-02-2209:16:57286946LED_287949NOOK
1749287940LED20002017-02-2116:27:38286946LED_287940NOOK
1750287937LED20002017-02-2115:21:28286946LED_287937NOOK
1751287930LED20002017-02-2114:33:03286946LED_287930NOOK
1752287924LED20002017-02-2113:31:11286946LED_287924NOOK
1753287922LED2000002017-02-2113:03:57286946LED_287922NOOK
1754287920LED20002017-02-2112:40:56286946LED_287920NOOK
1755287918LED2000002017-02-2112:38:00286946LED_287918NOOK
1756287917LED20002017-02-2112:21:27286946LED_287917NOOK
1757287916LED20002017-02-2112:19:16286946LED_287916NOOK
1758287915LED20002017-02-2112:17:41286946LED_287915NOOK
1759287907LED20002017-02-2110:50:58286946LED_287907NOOK
1760287905LED20002017-02-2021:19:44286946LED_287905NOOK
1761287903LED20002017-02-2017:56:26286946LED_287903NOOK
1762287901LED20002017-02-2017:14:12286946LED_287901NOOK
1763287899LED200002017-02-2017:29:10286946LED_287899NOOK
1764287890LED200000002017-02-2015:17:20212965LED_287890NOOK
1765287888LED20002017-02-2014:54:29286946LED_287888NOOK
1766287887LED20002017-02-2013:17:54286946LED_287887NOOK
1767287886LED20002017-02-2013:09:30286946LED_287886NOOK
1768287885LED20002017-02-2011:35:12286946LED_287885NOOK
1769287883LED20002017-02-2011:23:30286946LED_287883NOOK
1770287880LED20002017-02-2011:04:42286946LED_287880NOOK
1771287878LED20002017-02-2010:45:57286946LED_287878NOOK
1772287874LED20002017-02-2010:09:59286946LED_287874NOOK
1773287872LED20002017-02-2009:40:04286946LED_287872NOOK
1774287860LED100002017-02-1920:14:49286946LED_287860NOOK
1775287851LED100002017-02-1904:51:18286946LED_287851NOOK
1776287800LED100002017-02-1801:07:19286946LED_287800NOOK
1777287775LED100002017-02-1717:48:45286946LED_287775NOOK
1778287774LED100002017-02-1717:36:42286946LED_287774NOOK
1779287773LED150002017-02-1717:31:03286946LED_287773NOOK
1780287768LED50002017-02-1716:09:08286946LED_287768NOOK
1781287763LED20002017-02-1715:51:51286946LED_287763NOOK
1782287751LED2000002017-02-1714:53:07286946LED_287751NOOK
1783287750LED20002017-02-1714:47:06286946LED_287750NOOK
1784287747LED2000002017-02-1714:44:25286946LED_287747NOOK
1785287746LED20002017-02-1714:37:17286946LED_287746NOOK
1786287744LED20002017-02-1714:35:06286946LED_287744NOOK
1787287726LED20002017-02-1617:11:21286946LED_287726NOOK
1788287721LED20002017-02-1615:58:06286946LED_287721NOOK
1789287678LED20002017-02-1517:46:33286946LED_287678NOOK
1790287616LED20002017-02-1509:41:35286946LED_287616NOOK
1791287588LED20002017-02-1421:28:03286946LED_287588NOOK
1792287584LED100002017-02-1418:51:12286946LED_287584NOOK
1793287539LED20002017-02-1412:06:10286946LED_287539NOOK
1794287531LED20002017-02-1410:27:01286946LED_287531NOOK
1795287530LED20002017-02-1410:20:35286946LED_287530NOOK
1796287527LED154002017-02-1409:31:42286946LED_287527NOOK
1797287526LED154002017-02-1409:27:03286946LED_287526NOOK
1798287516LED20002017-02-1408:35:18286946LED_287516NOOK
1799287509LED20002017-02-1320:14:35286946LED_287509NOOK
1800287508LED20002017-02-1320:05:52286946LED_287508NOOK
1801287499LED20002017-02-1318:50:45286946LED_287499NOOK
1802287472LED154002017-02-1312:11:18286946LED_287472NOOK
1803287461LED20002017-02-1311:25:17286946LED_287461NOOK
1804287458LED20002017-02-1310:53:36286946LED_287458NOOK
1805287457LED20002017-02-1310:23:56286946LED_287457NOOK
1806287454LED20002017-02-1310:11:17286946LED_287454NOOK
1807287453LED20002017-02-1310:08:08286946LED_287453NOOK
1808287450LED20002017-02-1309:56:15286946LED_287450NOOK
1809287449LED20002017-02-1309:37:05286946LED_287449NOOK
1810287448LED20002017-02-1309:27:29286946LED_287448NOOK
1811287433LED20002017-02-1020:12:28286946LED_287433NOOK
1812287428LED20002017-02-1019:50:56286946LED_287428NOOK
1813287427LED20002017-02-1019:45:12286946LED_287427NOOK
1814287412LED20002017-02-1017:09:46286946LED_287412NOOK
1815287391LED10000002017-02-1015:39:24212965LED_287391NOOK
1816287390LED10002017-02-1015:19:16286946LED_287390NOOK
1817287389LED20000002017-02-1015:18:28212965LED_287389NOOK
1818287388LED20002017-02-1015:05:21286946LED_287388NOOK
1819287387LED20002017-02-1015:04:01286946LED_287387NOOK
1820287101LED500002017-02-0810:30:30286946LED_287101NOOK
1821287089LED20002017-02-0721:10:38286946LED_287089NOOK
1822287088LED20002017-02-0721:08:33286946LED_287088NOOK
1823287078LED100002017-02-0717:47:37286946LED_287078NOOK
1824287036LED20002017-02-0622:21:40286946LED_287036NOOK
1825287035LED20002017-02-0622:15:45286946LED_287035NOOK
1826287004LED20002017-02-0520:41:14286946LED_287004NOOK
1827287003LED20002017-02-0520:38:26286946LED_287003NOOK
1828287002LED20002017-02-0520:34:47286946LED_287002NOOK
1829287001LED20002017-02-0520:31:51286946LED_287001NOOK
1830287000LED20002017-02-0520:28:28286946LED_287000NOOK
1831286999LED20002017-02-0520:24:40286946LED_286999NOOK
1832286998LED20002017-02-0520:20:54286946LED_286998NOOK
1833286996LED20002017-02-0520:13:42286946LED_286996NOOK
1834286994LED20002017-02-0513:54:01286946LED_286994NOOK
1835286991LED20002017-02-0512:45:11286946LED_286991NOOK
1836286988LED100002017-02-0403:26:57286946LED_286988NOOK
1837286986LED100002017-02-0402:46:45286946LED_286986NOOK
1838286984LED100002017-02-0402:05:26286946LED_286984NOOK
1839286982LED100002017-02-0401:22:50286946LED_286982NOOK
1840286980LED100002017-02-0400:42:46286946LED_286980NOOK
1841286978LED100002017-02-0323:56:25286946LED_286978NOOK
1842286976LED100002017-02-0323:12:46286946LED_286976NOOK
1843286968LED20002017-02-0321:20:27286946LED_286968NOOK
1844286961LED20002017-02-0320:46:53286946LED_286961NOOK
1845286957LED20002017-02-0318:20:37286946LED_286957NOOK
1846286954LED20002017-02-0318:05:57286946LED_286954NOOK
1847286953LED20002017-02-0317:26:10286946LED_286953NOOK
1848286952LED20002017-02-0317:20:23286946LED_286952NOOK
1849286951LED5002017-02-0317:11:47286946LED_286951NOOK
1850286950LED20002017-02-0317:02:49286946LED_286950NOOK
1851286949LED100002017-02-0316:54:55286946LED_286949NOOK
1852286947LED20002017-02-0316:41:55286946LED_286947NOOK
1853286946LED20002017-03-2909:47:57286947LED_286946NOOK
1854286764LED20002017-01-2715:03:19212965LED_286764NOOK
1855285842LED20002016-11-2511:06:11212965LED_285842NOOK
1856285697LED20002016-11-2211:00:13212965LED_285697NOOK
1857285553LED100002016-11-2023:43:59212965LED_285553NOOK
1858285356LED100002016-11-1517:43:45212965LED_285356NOOK
1859285349LED20002016-11-1517:09:50212965LED_285349NOOK
1860285224LED20002016-11-1319:38:24212965LED_285224NOOK
1861285101LED20002016-11-1016:26:57212965LED_285101NOOK
1862284878LED20002016-11-0809:28:49212965LED_284878NOOK
1863284832LED20002016-11-0718:40:52212965LED_284832NOOK
1864284829LED20002016-11-0718:26:23212965LED_284829NOOK
1865284339LED20002016-11-0112:31:28212965LED_284339NOOK
1866284324LED20002016-11-0110:16:02212965LED_284324NOOK
1867284321LED20002016-11-0110:05:13212965LED_284321NOOK
1868284320LED20002016-11-0109:56:03212965LED_284320NOOK
1869284307LED20002016-11-0108:56:25212965LED_284307NOOK
1870284250LED20002016-10-3111:54:25212965LED_284250NOOK
1871284188LED20002016-10-2908:21:56212965LED_284188NOOK
1872284184LED20002016-10-2908:00:17212965LED_284184NOOK
1873284124LED20002016-10-2808:34:15212965LED_284124NOOK
1874283536LED20002016-10-1915:09:04212965LED_283536NOOK
1875283442LED20002016-10-1817:10:13212965LED_283442NOOK
1876283440LED20002016-10-1817:04:49212965LED_283440NOOK
1877283398LED20002016-10-1719:59:29212965LED_283398NOOK
1878283370LED20002016-10-1711:43:37212965LED_283370NOOK
1879283296LED20002016-10-1518:33:25212965LED_283296NOOK
1880283111LED20002016-10-1316:20:55212965LED_283111NOOK
1881283104LED20002016-10-1315:38:39212965LED_283104NOOK
1882283103LED20002016-10-1315:25:41212965LED_283103NOOK
1883283102LED20002016-10-1315:16:27212965LED_283102NOOK
1884283101LED20002016-10-1315:14:52212965LED_283101NOOK
1885283099LED20002016-10-1315:00:25212965LED_283099NOOK
1886283098LED20002016-10-1314:59:30212965LED_283098NOOK
1887283013LED20002016-10-1214:56:45212965LED_283013NOOK
1888283010LED20002016-10-1214:40:31212965LED_283010NOOK
1889282847LED20002016-10-1111:28:18212965LED_282847NOOK
1890282776LED20002016-10-1010:32:59212965LED_282776NOOK
1891282775LED20002016-10-1010:29:41212965LED_282775NOOK
1892282726LED20002016-10-0910:58:22212965LED_282726NOOK
1893282462LED20002016-10-0618:40:52212965LED_282462NOOK
1894281735LED20002016-09-2805:43:32212965LED_281735NOOK
1895281645LED20002016-09-2612:12:23212965LED_281645NOOK
1896281458LED20002016-09-2312:33:17212965LED_281458NOOK
1897281362LED20002016-09-2216:05:18212965LED_281362NOOK
1898281059LED20002016-09-1806:44:52212965LED_281059NOOK
1899280379LED20002016-09-0907:15:00212965LED_280379NOOK
1900280262LED20002016-09-0708:10:23212965LED_280262NOOK
1901280200LED20002016-09-0607:54:34212965LED_280200NOOK
1902279908LED20002016-09-0207:00:38212965LED_279908NOOK
1903279800LED20002016-08-3107:17:14212965LED_279800NOOK
1904279785LED20002016-08-3017:34:46212965LED_279785NOOK
1905279723LED20002016-08-2913:30:05212965LED_279723NOOK
1906279700LED20002016-08-2818:57:01212965LED_279700NOOK
1907279607LED20002016-08-2607:09:12212965LED_279607NOOK
1908279096LED20002016-08-2011:04:26212965LED_279096NOOK
1909279058LED20002016-08-1910:18:14212965LED_279058NOOK
1910278897LED20002016-08-1609:24:05212965LED_278897NOOK
1911277511LED20002016-07-2717:12:35212965LED_277511NOOK
1912277336LED20002016-07-2509:11:41212965LED_277336NOOK
1913277172LED20002016-07-2311:19:06212965LED_277172NOOK
1914277132LED20002016-07-2208:00:03212965LED_277132NOOK
1915276678LED20002016-07-1213:38:32212965LED_276678NOOK
1916276600LED20002016-07-1112:19:08212965LED_276600NOOK
1917276554LED20002016-07-1007:12:01212965LED_276554NOOK
1918276531LED20002016-07-0913:00:14212965LED_276531NOOK
1919276520LED20002016-07-0812:35:06212965LED_276520NOOK
1920276476LED20002016-07-0708:30:46212965LED_276476NOOK
1921276463LED20002016-07-0706:23:54212965LED_276463NOOK
1922276462LED20002016-07-0706:21:08212965LED_276462NOOK
1923276461LED20002016-07-0706:13:32212965LED_276461NOOK
1924276416LED20002016-07-0522:18:52212965LED_276416NOOK
1925276402LED20002016-07-0521:50:01212965LED_276402NOOK
1926276081LED20002016-06-3022:24:25212965LED_276081NOOK
1927275864LED20002016-06-2806:13:51212965LED_275864NOOK
1928275807LED20002016-06-2610:39:06212965LED_275807NOOK
1929275697LED20002016-06-2417:52:37212965LED_275697NOOK
1930275457LED20002016-06-2114:21:01212965LED_275457NOOK
1931275430LED20002016-06-2112:28:36212965LED_275430NOOK
1932275265LED20002016-06-1618:59:58212965LED_275265NOOK
1933275013LED20002016-06-1408:25:57212965LED_275013NOOK
1934274890LED20002016-06-1008:53:28212965LED_274890NOOK
1935274752LED20002016-06-0818:21:36212965LED_274752NOOK
1936273894LED20002016-05-2414:04:44212965LED_273894NOOK
1937273770LED20002016-05-2310:10:47212965LED_273770NOOK
1938273763LED20002016-05-2309:43:58212965LED_273763NOOK
1939273757LED20002016-05-2308:32:14212965LED_273757NOOK
1940273648LED50002016-05-1913:16:51212965LED_273648NOOK
1941273616LED20002016-05-1910:29:45212965LED_273616NOOK
1942273604LED20002016-05-1909:14:39212965LED_273604NOOK
1943273557LED20002016-05-1809:22:07212965LED_273557NOOK
1944273455LED20002016-05-1509:00:23212965LED_273455NOOK
1945273316LED20002016-05-1308:50:48212965LED_273316NOOK
1946273234LED20002016-05-1214:15:25212965LED_273234NOOK
1947273117LED20002016-05-1113:58:26212965LED_273117NOOK
1948272947LED20002016-05-1009:01:32212965LED_272947NOOK
1949272946LED20002016-05-1008:59:45212965LED_272946NOOK
1950272847LED20002016-05-0909:48:29212965LED_272847NOOK
1951272581LED20002016-05-0513:32:31212965LED_272581NOOK
1952272533LED20002016-05-0418:03:39212965LED_272533NOOK
1953272513LED20002016-05-0416:09:08212965LED_272513NOOK
1954272312LED20002016-05-0313:40:12212965LED_272312NOOK
1955272303LED20002016-05-0312:59:02212965LED_272303NOOK
1956271961LED20002016-04-2816:49:59212965LED_271961NOOK
1957271842LED20002016-04-2808:38:48212965LED_271842NOOK
1958271753LED20002016-04-2716:44:58212965LED_271753DetDiag_271753OK
1959271711LED20002016-04-2714:26:26212965LED_271711DetDiag_271711OK
1960271625LED200000002016-04-2622:12:12212965LED_271625DetDiag_271625OK
1961271528LED20002016-04-2614:24:56212965LED_271528DetDiag_271528OK
1962271465LED20002016-04-2608:30:27212965LED_271465DetDiag_271465OK
1963270989LED20002016-04-2212:41:15212965LED_270989DetDiag_270989OK
1964270975LED20002016-04-2211:26:20212965LED_270975DetDiag_270975OK
1965270970LED20002016-04-2211:17:41212965LED_270970DetDiag_270970OK
1966270823LED20002016-04-2117:44:52212965LED_270823DetDiag_270823OK
1967270820LED20002016-04-2117:38:37212965LED_270820DetDiag_270820OK
1968270751LED20002016-04-2115:32:56212965LED_270751DetDiag_270751OK
1969270687LED20002016-04-2109:42:47212965LED_270687DetDiag_270687OK
1970270682LED20002016-04-2109:18:59212965LED_270682DetDiag_270682OK
1971270608LED20002016-04-2019:09:23212965LED_270608DetDiag_270608OK
1972270605LED20002016-04-2018:48:45212965LED_270605DetDiag_270605OK
1973270459LED20002016-04-2012:01:06212965LED_270459DetDiag_270459OK
1974270432LED20002016-04-2009:55:47212965LED_270432DetDiag_270432OK
1975270431LED20002016-04-2009:50:22212965LED_270431DetDiag_270431OK
1976270416LED20002016-04-2009:21:34212965LED_270416DetDiag_270416OK
1977269509LED20002016-04-1216:48:53212965LED_269509DetDiag_269509OK
1978269494LED50002016-04-1215:34:38212965LED_269494DetDiag_269494OK
1979269493LED50002016-04-1215:28:57212965LED_269493DetDiag_269493OK
1980269333LED5002016-04-1120:44:12212965LED_269333DetDiag_269333OK
1981269332LED20002016-04-1120:43:32212965LED_269332DetDiag_269332OK
1982269245LED50002016-04-1113:05:50212965LED_269245DetDiag_269245OK
1983268853LED200002016-04-0800:13:51212965LED_268853DetDiag_268853OK
1984268851LED20002016-04-0723:47:22212965LED_268851DetDiag_268851OK
1985268577LED10002016-04-0609:16:37212965LED_268577DetDiag_268577OK
1986268576LED10002016-04-0609:12:36212965LED_268576DetDiag_268576OK
1987268575LED10002016-04-0609:08:43212965LED_268575DetDiag_268575OK
1988268368LED20002016-04-0407:58:46212965LED_268368DetDiag_268368OK
1989268206LED200002016-03-3118:29:02212965LED_268206DetDiag_268206OK
1990268148LED50002016-03-3023:45:39212965LED_268148DetDiag_268148OK
1991268146LED50002016-03-3023:20:43212965LED_268146DetDiag_268146OK
1992268141LED50002016-03-3022:31:23212965LED_268141DetDiag_268141OK
1993268140LED5002016-03-3022:05:44212965LED_268140DetDiag_268140OK
1994268120LED20002016-03-3016:20:38212965LED_268120DetDiag_268120OK
1995268110LED200002016-03-3014:21:24212965LED_268110DetDiag_268110OK
1996268087LED5002016-03-3010:59:46212965LED_268087DetDiag_268087OK
1997268079LED20002016-03-3009:19:38212965LED_268079DetDiag_268079OK
1998268076LED20002016-03-3008:59:03212965LED_268076DetDiag_268076OK
1999268075LED20002016-03-3008:50:33212965LED_268075DetDiag_268075OK
2000268041LED20002016-03-2915:43:37212965LED_268041DetDiag_268041OK
2001268025LED20002016-03-2914:20:52212965LED_268025DetDiag_268025OK
2002268021LED20002016-03-2913:43:21212965LED_268021DetDiag_268021OK
2003268017LED20002016-03-2913:14:46212965LED_268017DetDiag_268017OK
2004267699LED100002016-03-2315:07:03212965LED_267699DetDiag_267699OK
2005267621LED20002016-03-2310:46:42212965LED_267621DetDiag_267621OK
2006267145LED20002016-03-1818:36:13212965LED_267145DetDiag_267145OK
2007267108LED10002016-03-1816:01:42212965LED_267108DetDiag_267108OK
2008267103LED10002016-03-1815:50:56212965LED_267103DetDiag_267103OK
2009267101LED10002016-03-1815:40:46212965LED_267101DetDiag_267101OK
2010267096LED10002016-03-1815:28:16212965LED_267096DetDiag_267096OK
2011267092LED10002016-03-1815:19:40212965LED_267092DetDiag_267092OK
2012267090LED10002016-03-1815:08:55212965LED_267090DetDiag_267090OK
2013267088LED10002016-03-1814:59:35212965LED_267088DetDiag_267088OK
2014267071LED10002016-03-1814:13:09212965LED_267071DetDiag_267071OK
2015267065LED10002016-03-1813:56:52212965LED_267065DetDiag_267065OK
2016267052LED10002016-03-1812:59:15212965LED_267052DetDiag_267052OK
2017266920LED10002016-03-1618:11:02212965LED_266920DetDiag_266920OK
2018266918LED10002016-03-1618:05:12212965LED_266918DetDiag_266918OK
2019266917LED10002016-03-1617:56:42212965LED_266917DetDiag_266917OK
2020266916LED10002016-03-1617:50:37212965LED_266916DetDiag_266916OK
2021266913LED10002016-03-1617:37:12212965LED_266913DetDiag_266913OK
2022266912LED10002016-03-1617:28:31212965LED_266912DetDiag_266912OK
2023266911LED10002016-03-1617:16:31212965LED_266911DetDiag_266911OK
2024266909LED10002016-03-1616:55:36212965LED_266909DetDiag_266909OK
2025266907LED10002016-03-1616:39:51212965LED_266907DetDiag_266907OK
2026266905LED10002016-03-1616:18:41212965LED_266905DetDiag_266905OK
2027266903LED10002016-03-1616:11:26212965LED_266903DetDiag_266903OK
2028266900LED10002016-03-1615:51:11212965LED_266900DetDiag_266900OK
2029266899LED10002016-03-1615:38:00212965LED_266899DetDiag_266899OK
2030266895LED10002016-03-1614:47:40212965LED_266895DetDiag_266895OK
2031266894LED10002016-03-1614:35:44212965LED_266894DetDiag_266894OK
2032266893LED10002016-03-1614:25:14212965LED_266893DetDiag_266893OK
2033266844LED200002016-03-1518:33:36212965LED_266844DetDiag_266844OK
2034266837LED10002016-03-1517:49:11212965LED_266837DetDiag_266837OK
2035266755LED20002016-03-1510:35:22212965LED_266755DetDiag_266755OK
2036266749LED20002016-03-1510:16:42212965LED_266749DetDiag_266749OK
2037266426LED20002016-03-1008:11:26212965LED_266426DetDiag_266426OK
2038266425LED10002016-03-1007:58:53212965LED_266425DetDiag_266425OK
2039266396LED20002016-03-0917:24:10212965LED_266396DetDiag_266396OK
2040266188LED20002016-03-0812:22:39212965LED_266188DetDiag_266188OK
2041266034LED20002016-03-0621:15:45212965LED_266034DetDiag_266034OK
2042266020LED2000002016-03-0419:41:25212965LED_266020DetDiag_266020OK
2043266019LED2000002016-03-0419:32:53212965LED_266019DetDiag_266019OK
2044266010LED1000002016-03-0419:01:05212965LED_266010DetDiag_266010OK
2045265905LED20002016-03-0410:38:23212965LED_265905DetDiag_265905OK
2046265817LED10002016-03-0310:35:05212965LED_265817DetDiag_265817OK
2047265806LED20002016-03-0308:30:52212965LED_265806DetDiag_265806OK
2048265728LED20002016-03-0109:25:48212965LED_265728DetDiag_265728OK
2049265701LED20002016-02-2910:41:34212965LED_265701DetDiag_265701OK
2050265699LED20002016-02-2910:19:29212965LED_265699DetDiag_265699OK
2051265690LED20002016-02-2819:36:07212965LED_265690DetDiag_265690OK
2052265687LED20002016-02-2816:45:43212965LED_265687DetDiag_265687OK
2053265622LED20002016-02-2615:59:02212965LED_265622DetDiag_265622OK
2054265613LED20002016-02-2615:34:22212965LED_265613DetDiag_265613OK
2055265611LED20002016-02-2615:23:59212965LED_265611DetDiag_265611OK
2056265598LED20002016-02-2614:39:16212965LED_265598DetDiag_265598OK
2057265583LED20002016-02-2613:51:14212965LED_265583DetDiag_265583OK
2058265533LED20002016-02-2610:38:10212965LED_265533DetDiag_265533OK
2059265467LED20002016-02-2516:01:58212965LED_265467DetDiag_265467OK
2060265346LED20002016-02-2416:40:17212965LED_265346DetDiag_265346OK
2061265335LED20002016-02-2415:29:22212965LED_265335DetDiag_265335OK
2062265242LED20002016-02-2400:10:18212965LED_265242DetDiag_265242OK
2063265224LED20002016-02-2321:36:25212965LED_265224DetDiag_265224OK
2064265223LED20002016-02-2321:28:25212965LED_265223DetDiag_265223OK
2065265174LED20002016-02-2315:45:00212965LED_265174DetDiag_265174OK
2066265171LED20002016-02-2315:27:57212965LED_265171DetDiag_265171OK
2067265129LED200002016-02-2310:56:00212965LED_265129DetDiag_265129OK
2068265114LED20002016-02-2309:08:36212965LED_265114DetDiag_265114OK
2069265111LED20002016-02-2309:04:47212965LED_265111DetDiag_265111OK
2070265109LED20002016-02-2308:22:08212965LED_265109DetDiag_265109OK
2071265103LED20002016-02-2217:54:37212965LED_265103DetDiag_265103OK
2072265060LED100002016-02-1920:43:36212965LED_265060DetDiag_265060OK
2073265040LED200002016-02-1916:29:57212965LED_265040DetDiag_265040OK
2074265019LED100002016-02-1915:24:57212965LED_265019DetDiag_265019OK
2075265015LED100002016-02-1914:54:56212965LED_265015DetDiag_265015OK
2076264863LED100002016-02-1717:20:56212965LED_264863DetDiag_264863OK
2077264786LED100002016-02-1616:18:41212965LED_264786DetDiag_264786OK
2078264737LED10002016-02-1610:10:24212965LED_264737DetDiag_264737OK
2079264548LED100002016-02-1215:19:26212965LED_264548DetDiag_264548OK
2080264509LED10002016-02-1211:17:34212965LED_264509DetDiag_264509OK
2081264428LED10002016-02-1113:49:41212965LED_264428DetDiag_264428OK
2082264260LED10002016-02-0916:14:03212965LED_264260DetDiag_264260OK
2083264199LED10002016-02-0812:57:42212965LED_264199DetDiag_264199OK
2084264198LED10002016-02-0812:44:19212965LED_264198DetDiag_264198OK
2085264194LED100002016-02-0811:09:23212965LED_264194DetDiag_264194OK
2086264192LED100002016-02-0811:02:50212965LED_264192DetDiag_264192OK
2087264154LED100002016-02-0510:43:49212965LED_264154DetDiag_264154OK
2088264071LED10002016-02-0312:05:34212965LED_264071DetDiag_264071OK
2089264069LED10002016-02-0311:48:51212965LED_264069DetDiag_264069OK
2090264060LED10002016-02-0309:46:24212965LED_264060DetDiag_264060OK
2091263766LED20002015-12-1315:35:30212965LED_263766DetDiag_263766OK
2092263732LED20002015-12-1216:10:54212965LED_263732DetDiag_263732OK
2093263678LED20002015-12-1020:08:40212965LED_263678DetDiag_263678OK
2094263677LED20002015-12-1020:04:36212965LED_263677DetDiag_263677OK
2095263638LED20002015-12-1012:30:04212965LED_263638DetDiag_263638OK
2096263622LED20002015-12-1010:20:56212965LED_263622DetDiag_263622OK
2097263596LED20002015-12-0915:21:43212965LED_263596DetDiag_263596OK
2098263428LED20002015-12-0713:05:46212965LED_263428DetDiag_263428OK
2099263278LED10002015-12-0411:10:12212965LED_263278DetDiag_263278OK
2100263178LED20002015-12-0221:03:50212965LED_263178DetDiag_263178OK
2101263148LED10002015-12-0214:56:30212965LED_263148DetDiag_263148OK
2102262389LED20002015-11-2315:03:17212965LED_262389DetDiag_262389OK
2103262378LED10002015-11-2314:22:54212965LED_262378DetDiag_262378OK
2104262065LED10002015-11-1911:16:52212965LED_262065DetDiag_262065OK
2105262050LED10002015-11-1909:50:15212965LED_262050DetDiag_262050OK
2106262043LED20002015-11-1909:19:55212965LED_262043DetDiag_262043OK
2107262040LED20002015-11-1908:59:33212965LED_262040DetDiag_262040OK
2108261351LED20002015-11-1414:58:18212965LED_261351DetDiag_261351OK
2109261349LED20002015-11-1413:31:25212965LED_261349DetDiag_261349OK
2110261182LED20002015-11-1221:46:49212965LED_261182DetDiag_261182OK
2111261118LED10002015-11-1118:51:57212965LED_261118DetDiag_261118OK
2112260930LED20002015-11-0909:31:13212965LED_260930DetDiag_260930OK
2113260784LED100002015-11-0508:13:42135077LED_260784DetDiag_260784OK
2114260783LED100002015-11-0508:07:49135077LED_260783DetDiag_260783OK
2115260777LED100002015-11-0506:59:58135077LED_260777DetDiag_260777OK
2116260710LED20002015-11-0322:12:08135077LED_260710DetDiag_260710OK
2117260655LED20002015-11-0308:40:20135077LED_260655DetDiag_260655OK
2118260314LED20002015-10-2916:04:19135077LED_260314DetDiag_260314OK
2119260297LED20002015-10-2914:05:59135077LED_260297DetDiag_260297OK
2120260283LED20002015-10-2913:22:03135077LED_260283DetDiag_260283OK
2121260084LED20002015-10-2719:58:09135077LED_260084DetDiag_260084OK
2122260014LED10002015-10-2616:02:36135077LED_260014DetDiag_260014OK
2123259917LED20002015-10-2514:00:49135077LED_259917DetDiag_259917OK
2124259419LED20002015-10-1800:43:55135077LED_259419DetDiag_259419OK
2125259136LED20002015-10-1418:59:46135077LED_259136DetDiag_259136OK
2126258893LED20002015-10-1311:06:25135077LED_258893DetDiag_258893OK
2127258809LED20002015-10-1215:51:48135077LED_258809DetDiag_258809OK
2128258539LED20002015-10-0813:00:06135077LED_258539DetDiag_258539OK
2129258352LED20002015-10-0609:29:22135077LED_258352DetDiag_258352OK
2130258182LED20002015-10-0410:33:33135077LED_258182DetDiag_258182OK
2131258031LED20002015-10-0111:53:18135077LED_258031DetDiag_258031OK
2132257785LED20002015-09-2910:38:54135077LED_257785DetDiag_257785OK
2133257570LED20002015-09-2616:51:01135077LED_257570DetDiag_257570OK
2134257241LED10002015-09-2309:45:59135077LED_257241DetDiag_257241OK
2135256893LED10002015-09-2010:35:53135077LED_256893DetDiag_256893OK
2136256888LED10002015-09-2010:25:09135077LED_256888DetDiag_256888OK
2137256689LED20002015-09-1714:24:50135077LED_256689DetDiag_256689OK
2138256290LED20002015-09-1108:10:42135077LED_256290DetDiag_256290OK
2139256010LED20002015-09-0707:31:57135077LED_256010DetDiag_256010OK
2140255815LED20002015-09-0414:40:13135077LED_255815DetDiag_255815OK
2141255812LED20002015-09-0414:29:04135077LED_255812DetDiag_255812OK
2142255809LED20002015-09-0414:24:36135077LED_255809DetDiag_255809OK
2143255807LED20002015-09-0414:16:45135077LED_255807DetDiag_255807OK
2144255805LED20002015-09-0414:05:53135077LED_255805DetDiag_255805OK
2145255755LED20002015-09-0411:25:16135077LED_255755DetDiag_255755OK
2146255422LED10002015-09-0115:34:58135077LED_255422DetDiag_255422OK
2147255420LED10002015-09-0115:17:29135077LED_255420DetDiag_255420OK
2148255419LED10002015-09-0115:13:51135077LED_255419DetDiag_255419OK
2149255418LED10002015-09-0115:11:26135077LED_255418DetDiag_255418OK
2150255409LED10002015-09-0114:45:35135077LED_255409DetDiag_255409OK
2151255201LED20002015-08-2909:05:21135077LED_255201DetDiag_255201OK
2152255097LED20002015-08-2717:57:52135077LED_255097DetDiag_255097OK
2153255085LED20002015-08-2707:38:18135077LED_255085DetDiag_255085OK
2154254743LED1000002015-08-2014:43:57135077LED_254743DetDiag_254743OK
2155254730LED1000002015-08-2013:33:57135077LED_254730DetDiag_254730OK
2156254729LED10002015-08-2013:11:48135077LED_254729DetDiag_254729OK
2157254715LED20002015-08-2011:39:21135077LED_254715DetDiag_254715OK
2158254708LED1000002015-08-2011:27:20135077LED_254708DetDiag_254708OK
2159254700LED10002015-08-2010:38:08135077LED_254700DetDiag_254700OK
2160254694LED10002015-08-2009:32:27135077LED_254694DetDiag_254694OK
2161254631LED10002015-08-1912:46:49135077LED_254631DetDiag_254631OK
2162254630LED10002015-08-1912:45:29135077LED_254630DetDiag_254630OK
2163254612LED10002015-08-1909:47:10135077LED_254612DetDiag_254612OK
2164254544LED20002015-08-1810:58:43135077LED_254544DetDiag_254544OK
2165254463LED20002015-08-1709:18:41135077LED_254463DetDiag_254463OK
2166254353LED100002015-08-1516:53:32135077LED_254353DetDiag_254353OK
2167254324LED1000002015-08-1415:23:31135077LED_254324DetDiag_254324OK
2168254322LED1000002015-08-1415:01:25135077LED_254322DetDiag_254322OK
2169254041LED100002015-08-1113:24:05135077LED_254041DetDiag_254041OK
2170254040LED100002015-08-1113:20:34135077LED_254040DetDiag_254040OK
2171254039LED10002015-08-1113:17:42135077LED_254039DetDiag_254039OK
2172254031LED10002015-08-1112:21:48135077LED_254031DetDiag_254031OK
2173254030LED10002015-08-1112:17:52135077LED_254030DetDiag_254030OK
2174254028LED10002015-08-1112:01:51135077LED_254028DetDiag_254028OK
2175254027LED10002015-08-1111:55:08135077LED_254027DetDiag_254027OK
2176254021LED10002015-08-1111:38:55135077LED_254021DetDiag_254021OK
2177254016LED10002015-08-1111:15:59135077LED_254016DetDiag_254016OK
2178254013LED10002015-08-1110:56:49135077LED_254013DetDiag_254013OK
2179254006LED200002015-08-1110:31:59135077LED_254006DetDiag_254006OK
2180254004LED10002015-08-1110:30:07135077LED_254004DetDiag_254004OK
2181253683LED20002015-08-0713:25:20135077LED_253683DetDiag_253683OK
2182253656LED20002015-08-0711:43:42135077LED_253656DetDiag_253656OK
2183253655LED20002015-08-0711:40:27135077LED_253655DetDiag_253655OK
2184253653LED20002015-08-0711:36:59135077LED_253653DetDiag_253653OK
2185253650LED20002015-08-0711:31:53135077LED_253650DetDiag_253650OK
2186253649LED20002015-08-0711:26:16135077LED_253649DetDiag_253649OK
2187253555LED20002015-08-0616:04:30135077LED_253555DetDiag_253555OK
2188253520LED20002015-08-0612:52:51135077LED_253520DetDiag_253520OK
2189253279LED20002015-08-0314:50:29135077LED_253279DetDiag_253279OK
2190253100LED10002015-07-3119:08:00135077LED_253100DetDiag_253100OK
2191253098LED10002015-07-3118:53:52135077LED_253098DetDiag_253098OK
2192253067LED10002015-07-3113:12:20135077LED_253067DetDiag_253067OK
2193253054LED20002015-07-3111:40:11135077LED_253054DetDiag_253054OK
2194252914LED10002015-07-3010:30:36135077LED_252914DetDiag_252914OK
2195252908LED10002015-07-3010:20:46135077LED_252908DetDiag_252908OK
2196252673LED20002015-07-2810:24:28135077LED_252673DetDiag_252673OK
2197252651LED20002015-07-2808:35:57135077LED_252651DetDiag_252651OK
2198252643LED20002015-07-2808:01:41135077LED_252643DetDiag_252643OK
2199252475LED10002015-07-2418:34:05135077LED_252475DetDiag_252475OK
2200252451LED20002015-07-2413:13:02135077LED_252451DetDiag_252451OK
2201252442LED20002015-07-2410:45:28135077LED_252442DetDiag_252442OK
2202252386LED10002015-07-2315:37:07135077LED_252386DetDiag_252386OK
2203252374LED10002015-07-2314:11:24135077LED_252374DetDiag_252374OK
2204252254LED20002015-07-2115:37:37135077LED_252254DetDiag_252254OK
2205252250LED20002015-07-2115:22:45135077LED_252250DetDiag_252250OK
2206252243LED20002015-07-2114:44:49135077LED_252243DetDiag_252243OK
2207252242LED20002015-07-2114:36:21135077LED_252242DetDiag_252242OK
2208252145LED10002015-07-2010:26:05135077LED_252145DetDiag_252145OK
2209252143LED10002015-07-2010:22:26135077LED_252143DetDiag_252143OK
2210252063LED20002015-07-1817:42:04135077LED_252063DetDiag_252063OK
2211252005LED10002015-07-1713:46:18135077LED_252005DetDiag_252005OK
2212251998LED20002015-07-1713:05:40135077LED_251998DetDiag_251998OK
2213251940LED20002015-07-1618:21:28135077LED_251940DetDiag_251940OK
2214251775LED20002015-07-1500:38:23135077LED_251775DetDiag_251775OK
2215251668LED20002015-07-1314:48:47135077LED_251668DetDiag_251668OK
2216251471LED10002015-07-1012:26:39135077LED_251471DetDiag_251471OK
2217250952LED20002015-07-0610:45:58135077LED_250952DetDiag_250952OK
2218250739LED20002015-07-0316:17:43135077LED_250739DetDiag_250739OK
2219250736LED20002015-07-0316:11:59135077LED_250736DetDiag_250736OK
2220250734LED20002015-07-0316:07:54135077LED_250734DetDiag_250734OK
2221250621LED20002015-07-0215:46:36135077LED_250621DetDiag_250621OK
2222249528LED10002015-06-2617:18:11135077LED_249528DetDiag_249528OK
2223249525LED20002015-06-2617:10:28135077LED_249525DetDiag_249525OK
2224248363LED20002015-06-1809:04:13135077LED_248363DetDiag_248363OK
2225248256LED10002015-06-1710:45:28135077LED_248256DetDiag_248256OK
2226248240LED10002015-06-1709:39:40135077LED_248240DetDiag_248240OK
2227248162LED10002015-06-1519:53:22135077LED_248162DetDiag_248162OK
2228248155LED10002015-06-1519:10:40135077LED_248155DetDiag_248155OK
2229248150LED10002015-06-1518:51:46135077LED_248150DetDiag_248150OK
2230248128LED10002015-06-1517:30:36135077LED_248128DetDiag_248128OK
2231248124LED10002015-06-1517:20:34135077LED_248124DetDiag_248124OK
2232248122LED10002015-06-1517:13:43135077LED_248122DetDiag_248122OK
2233247726LED10002015-06-1114:31:58135077LED_247726DetDiag_247726OK
2234247721LED10002015-06-1114:24:24135077LED_247721DetDiag_247721OK
2235247655LED10002015-06-1014:28:42135077LED_247655DetDiag_247655OK
2236247654LED10002015-06-1014:25:35135077LED_247654DetDiag_247654OK
2237247653LED10002015-06-1014:23:17135077LED_247653DetDiag_247653OK
2238246600LED10002015-06-0207:21:31135077LED_246600DetDiag_246600OK
2239246239LED10002015-05-2917:45:42135077LED_246239DetDiag_246239OK
2240246217LED10002015-05-2915:33:06135077LED_246217DetDiag_246217OK
2241246206LED10002029-05-1515:22:37135077LED_246206DetDiag_246206OK
2242246155LED10002015-05-2910:06:12135077LED_246155DetDiag_246155OK
2243245632LED10002015-05-2512:37:43135077LED_245632DetDiag_245632OK
2244245629LED10002015-05-2512:25:22135077LED_245629DetDiag_245629OK
2245245626LED10002015-05-2512:17:08135077LED_245626DetDiag_245626OK
2246245622LED10002015-05-2512:06:56135077LED_245622DetDiag_245622OK
2247245599LED10002015-05-2510:31:53135077LED_245599DetDiag_245599OK
2248245595LED10002015-05-2510:27:07135077LED_245595DetDiag_245595OK
2249245594LED10002015-05-2510:19:40135077LED_245594DetDiag_245594OK
2250245589LED10002015-05-2510:17:29135077LED_245589DetDiag_245589OK
2251245585LED10002015-05-2510:03:26135077LED_245585DetDiag_245585OK
2252245578LED10002025-05-1509:57:26135077LED_245578DetDiag_245578OK
2253245535LED10002015-05-2418:14:05135077LED_245535DetDiag_245535OK
2254245480LED10002015-05-2413:42:22135077LED_245480DetDiag_245480OK
2255245478LED10002015-05-2413:10:50135077LED_245478DetDiag_245478OK
2256245374LED10002015-05-2219:43:59135077LED_245374DetDiag_245374OK
2257245372LED10002015-05-2219:08:20135077LED_245372DetDiag_245372OK
2258245335LED10002015-05-2215:36:02135077LED_245335DetDiag_245335OK
2259245292LED10002015-05-2211:44:56135077LED_245292DetDiag_245292OK
2260245265LED10002015-05-2209:28:45135077LED_245265DetDiag_245265OK
2261245262LED10002015-05-2209:10:07135077LED_245262DetDiag_245262OK
2262245261LED10002015-05-2209:07:28135077LED_245261DetDiag_245261OK
2263245260LED10002015-05-2209:05:16135077LED_245260DetDiag_245260OK
2264245241LED10002015-05-2117:48:48135077LED_245241DetDiag_245241OK
2265245240LED10002015-05-2117:43:16135077LED_245240DetDiag_245240OK
2266245229LED10002021-05-1516:37:30135077LED_245229DetDiag_245229OK
2267245216LED10002021-05-1513:52:14135077LED_245216DetDiag_245216OK
2268245212LED10002015-05-2113:07:05135077LED_245212DetDiag_245212OK
2269245210LED10002015-05-2112:57:51135077LED_245210DetDiag_245210OK
2270245209LED10002015-05-2112:44:57135077LED_245209DetDiag_245209OK
2271245208LED10002015-05-2112:33:10135077LED_245208DetDiag_245208OK
2272245133LED10002015-05-2016:03:05135077LED_245133DetDiag_245133OK
2273245130LED10002020-05-1515:53:34135077LED_245130DetDiag_245130OK
2274245128LED10002015-05-2015:37:26135077LED_245128DetDiag_245128OK
2275245118LED10002020-05-1515:26:05135077LED_245118DetDiag_245118OK
2276245113LED10002020-05-1514:47:20135077LED_245113DetDiag_245113OK
2277245112LED10002015-05-2013:42:12135077LED_245112DetDiag_245112OK
2278245111LED10002015-05-2013:40:13135077LED_245111DetDiag_245111OK
2279245110LED10002015-05-2013:32:23135077LED_245110DetDiag_245110OK
2280245076LED10002015-05-2011:12:29135077LED_245076DetDiag_245076OK
2281245074LED10002015-05-2011:05:08135077LED_245074DetDiag_245074OK
2282245060LED10002015-05-2010:47:37135077LED_245060DetDiag_245060OK
2283245058LED10002015-05-2009:36:48135077LED_245058DetDiag_245058OK
2284245050LED10002020-05-1509:34:51135077LED_245050DetDiag_245050OK
2285245049LED10002015-05-2008:53:32135077LED_245049DetDiag_245049OK
2286245048LED10002015-05-2008:52:42135077LED_245048DetDiag_245048OK
2287245047LED10002015-05-2008:52:09135077LED_245047DetDiag_245047OK
2288245045LED10002015-05-2008:49:44135077LED_245045DetDiag_245045OK
2289245039LED10002015-05-2008:32:33135077LED_245039DetDiag_245039OK
2290244962LED10002015-05-1913:27:05135077LED_244962DetDiag_244962OK
2291244961LED10002015-05-1913:22:33135077LED_244961DetDiag_244961OK
2292244958LED10002015-05-1913:19:39135077LED_244958DetDiag_244958OK
2293244955LED10002015-05-1913:18:06135077LED_244955DetDiag_244955OK
2294244954LED10002015-05-1913:11:07135077LED_244954DetDiag_244954OK
2295244952LED10002015-05-1913:08:53135077LED_244952DetDiag_244952OK
2296244949LED10002019-05-1512:59:40135077LED_244949DetDiag_244949OK
2297244946LED10002015-05-1912:43:20135077LED_244946DetDiag_244946OK
2298244893LED10002015-05-1908:15:16135077LED_244893DetDiag_244893OK
2299244890LED10002015-05-1908:03:29135077LED_244890DetDiag_244890OK
2300244887LED10002015-05-1908:01:47135077LED_244887DetDiag_244887OK
2301244822LED10002015-05-1815:36:50135077LED_244822DetDiag_244822OK
2302244821LED10002015-05-1815:28:46135077LED_244821DetDiag_244821OK
2303244782LED10002015-05-1811:18:20135077LED_244782DetDiag_244782OK
2304244781LED10002015-05-1810:56:26135077LED_244781DetDiag_244781OK
2305244780LED10002015-05-1810:44:57135077LED_244780DetDiag_244780OK
2306244776LED10002015-05-1810:24:14135077LED_244776DetDiag_244776OK
2307244775LED10002015-05-1810:21:10135077LED_244775DetDiag_244775OK
2308244446LED100022.05.201514:43:20135077LED_244446DetDiag_244446OK
2309244346LED100013.05.201516:08:22135077LED_244346DetDiag_244346OK
2310244336LED100013.05.201515:26:22135077LED_244336DetDiag_244336OK
2311244325LED100013.05.201514:19:27135077LED_244325DetDiag_244325OK
2312244324LED100013.05.201514:19:17135077LED_244324DetDiag_244324OK
2313244319LED100013.05.201514:06:20135077LED_244319DetDiag_244319OK
2314244318LED100013.05.201514:05:21135077LED_244318DetDiag_244318OK
2315244314LED100013.05.201513:55:15135077LED_244314DetDiag_244314OK
2316244308LED100013.05.201513:39:19135077LED_244308DetDiag_244308OK
2317244297LED100013.05.201512:13:24135077LED_244297DetDiag_244297OK
2318244296LED100013.05.201512:05:30135077LED_244296DetDiag_244296OK
2319244294LED100013.05.201512:04:18135077LED_244294DetDiag_244294OK
2320244293LED100013.05.201511:57:17135077LED_244293DetDiag_244293OK
2321244290LED100013.05.201511:46:14135077LED_244290DetDiag_244290OK
2322244289LED100013.05.201511:45:18135077LED_244289DetDiag_244289OK
2323244276LED200013.05.201510:38:18135077LED_244276DetDiag_244276OK
2324244184LED200012.05.201516:23:21135077LED_244184DetDiag_244184OK
2325244095LED100011.05.201520:17:26135077LED_244095DetDiag_244095OK
2326244094LED100011.05.201520:16:32135077LED_244094DetDiag_244094OK
2327244092LED100011.05.201520:02:43135077LED_244092DetDiag_244092OK
2328244086LED100011.05.201519:12:21135077LED_244086DetDiag_244086OK
2329244058LED200011.05.201513:56:13135077LED_244058DetDiag_244058OK
2330243815LED100008.05.201511:31:25135077LED_243815DetDiag_243815OK
2331243803LED100008.05.201509:36:14135077LED_243803DetDiag_243803OK
2332243788LED200007.05.201522:44:18135077LED_243788DetDiag_243788OK
2333243543LED100005.05.201518:07:18135077LED_243543DetDiag_243543OK
2334243533LED200005.05.201517:29:18135077LED_243533DetDiag_243533OK
2335243392LED100004.05.201519:01:15135077LED_243392DetDiag_243392OK
2336243386LED100004.05.201518:43:15135077LED_243386DetDiag_243386OK
2337243321LED200004.05.201511:32:16135077LED_243321DetDiag_243321OK
2338243314LED100004.05.201511:02:15135077LED_243314DetDiag_243314OK
2339243311LED100004.05.201510:54:20135077LED_243311DetDiag_243311OK
2340243217LED100002.05.201516:43:22135077LED_243217DetDiag_243217OK
2341243216LED100002.05.201516:31:16135077LED_243216DetDiag_243216OK
2342243215LED100002.05.201516:25:21135077LED_243215DetDiag_243215OK
2343243214LED100002.05.201516:19:24135077LED_243214DetDiag_243214OK
2344243212LED100002.05.201516:16:23135077LED_243212DetDiag_243212OK
2345242981LED2550030.04.201511:52:38135077LED_242981DetDiag_242981OK
2346242859LED100029.04.201515:39:16135077LED_242859DetDiag_242859OK
2347242854LED100029.04.201514:51:13135077LED_242854DetDiag_242854OK
2348242852LED2550029.04.201514:40:12135077LED_242852DetDiag_242852OK
2349242851LED100029.04.201514:28:13135077LED_242851DetDiag_242851OK
2350242831LED200029.04.201511:23:13135077LED_242831DetDiag_242831OK
2351242773LED200028.04.201519:53:13135077LED_242773DetDiag_242773OK
2352242772LED200028.04.201519:50:13135077LED_242772DetDiag_242772OK
2353241681LED200027.04.201518:56:15135077LED_241681DetDiag_241681OK
2354241513LED1030027.04.201515:35:15135077LED_241513DetDiag_241513OK
2355241511LED1230027.04.201515:32:12135077LED_241511DetDiag_241511OK
2356241505LED1390027.04.201515:27:38135077LED_241505DetDiag_241505OK
2357241482LED100027.04.201511:55:17135077LED_241482DetDiag_241482OK
2358241476LED100027.04.201510:54:13135077LED_241476DetDiag_241476OK
2359241465LED100027.04.201510:11:14135077LED_241465DetDiag_241465OK
2360241384LED1000024.04.201520:56:15135077LED_241384DetDiag_241384OK
2361241380LED1000024.04.201520:41:14135077LED_241380DetDiag_241380OK
2362241371LED1000024.04.201520:00:21135077LED_241371DetDiag_241371OK
2363241369LED1000024.04.201519:55:25135077LED_241369DetDiag_241369OK
2364241321LED100024.04.201514:41:13135077LED_241321DetDiag_241321OK
2365241318LED100024.04.201514:23:16135077LED_241318DetDiag_241318OK
2366241271LED1000023.04.201520:29:15135077LED_241271DetDiag_241271OK
2367241269LED1000023.04.201520:19:17135077LED_241269DetDiag_241269OK
2368241244LED1000023.04.201518:17:14135077LED_241244DetDiag_241244OK
2369241237LED1000023.04.201517:45:13135077LED_241237DetDiag_241237OK
2370241089LED200022.04.201513:59:14135077LED_241089DetDiag_241089OK
2371241085LED1000022.04.201513:26:14135077LED_241085DetDiag_241085OK
2372241083LED1000022.04.201513:07:10135077LED_241083DetDiag_241083OK
2373241072LED1000022.04.201512:30:25135077LED_241072DetDiag_241072OK
2374241068LED1000022.04.201512:19:18135077LED_241068DetDiag_241068OK
2375241048LED1000021.04.201519:50:20135077LED_241048DetDiag_241048OK
2376241034LED100021.04.201519:18:14135077LED_241034DetDiag_241034OK
2377241029LED100021.04.201518:58:12135077LED_241029DetDiag_241029OK
2378241025LED100021.04.201518:19:15135077LED_241025DetDiag_241025OK
2379241001LED1000021.04.201517:20:11135077LED_241001DetDiag_241001OK
2380240979LED1000021.04.201516:45:14135077LED_240979DetDiag_240979OK
2381240906LED100020.04.201518:54:12135077LED_240906DetDiag_240906OK
2382240894LED100020.04.201518:18:12135077LED_240894DetDiag_240894OK
2383240519LED100015.04.201511:39:14135077LED_240519DetDiag_240519OK
2384239953LED100008.04.201517:41:13135077LED_239953DetDiag_239953OK
2385239952LED100008.04.201517:39:12135077LED_239952DetDiag_239952OK
2386239724LED200004.04.201512:23:15135077LED_239724DetDiag_239724OK
2387239704LED200003.04.201515:37:09135077LED_239704DetDiag_239704OK
2388239703LED200003.04.201515:32:10135077LED_239703DetDiag_239703OK
2389239702LED1000003.04.201515:20:10135077LED_239702DetDiag_239702OK
2390235396LED200023.02.201512:09:09135077LED_235396DetDiag_235396OK
2391235380LED100023.02.201511:43:07135077LED_235380DetDiag_235380OK
2392233888LED200011.02.201507:44:09135077LED_233888DetDiag_233888OK
2393233862LED13305611.02.201504:54:08135077LED_233862DetDiag_233862OK
2394233774LED2000010.02.201512:27:07135077LED_233774DetDiag_233774OK
2395233771LED100010.02.201511:52:07135077LED_233771DetDiag_233771OK
2396233655LED1000005.02.201517:36:05135077LED_233655DetDiag_233655OK
2397233027LED200029.01.201515:03:06135077LED_233027DetDiag_233027OK
2398232154LED100013.01.201522:39:05135077LED_232154DetDiag_232154OK
2399232149LED100013.01.201522:25:05135077LED_232149DetDiag_232149OK
2400232138LED200013.01.201520:45:07135077LED_232138DetDiag_232138OK
2401231939LED100009.01.201511:53:06135077LED_231939DetDiag_231939OK
2402231923LED100008.01.201518:41:05135077LED_231923DetDiag_231923OK
2403231922LED100008.01.201518:26:05135077LED_231922DetDiag_231922OK
2404231770LED200017.12.201415:15:05135077LED_231770DetDiag_231770OK
2405231761LED200017.12.201414:32:05135077LED_231761DetDiag_231761OK
2406231746LED100017.12.201412:47:06135077LED_231746DetDiag_231746OK
2407231681LED100016.12.201416:16:05135077LED_231681DetDiag_231681OK
2408231679LED100016.12.201416:17:09135077LED_231679DetDiag_231679OK
2409231677LED100016.12.201416:17:05135077LED_231677DetDiag_231677OK
2410231671LED100016.12.201416:15:17135077LED_231671DetDiag_231671OK
2411231667LED200015.12.201417:01:08135077LED_231667DetDiag_231667OK
2412230822LED200003.12.201415:27:04135077LED_230822DetDiag_230822OK
2413230717LED100001.12.201415:16:11135077LED_230717DetDiag_230717OK
2414230706LED240001.12.201401:30:05135077LED_230706DetDiag_230706OK
2415230705LED100001.12.201401:26:05135077LED_230705DetDiag_230705OK
2416230698LED100001.12.201401:04:06135077LED_230698DetDiag_230698OK
2417230680LED100029.11.201418:40:06135077LED_230680DetDiag_230680OK
2418230668LED100028.11.201418:27:05135077LED_230668DetDiag_230668OK
2419230570LED100025.11.201416:45:05135077LED_230570DetDiag_230570OK
2420230541LED100025.11.201409:27:05135077LED_230541DetDiag_230541OK
2421229976LED500015.11.201414:55:03135077LED_229976DetDiag_229976OK
2422229975LED2500015.11.201414:30:07135077LED_229975DetDiag_229975OK
2423229974LED500015.11.201414:02:03135077LED_229974DetDiag_229974OK
2424229757LED500012.11.201413:03:08135077LED_229757DetDiag_229757OK
2425229751LED500012.11.201412:35:05135077LED_229751DetDiag_229751OK
2426229742LED500012.11.201411:36:03135077LED_229742DetDiag_229742OK
2427229739LED500012.11.201410:59:04135077LED_229739DetDiag_229739OK
2428229736LED500012.11.201410:47:03135077LED_229736DetDiag_229736OK
2429229735LED500012.11.201410:40:03135077LED_229735DetDiag_229735OK
2430229732LED500012.11.201410:28:03135077LED_229732DetDiag_229732OK
2431229730LED500012.11.201410:12:04135077LED_229730DetDiag_229730OK
2432229725LED100012.11.201409:40:04135077LED_229725DetDiag_229725OK
2433229723LED100012.11.201409:28:04135077LED_229723DetDiag_229723OK
2434229720LED500012.11.201409:07:03135077LED_229720DetDiag_229720OK
2435229719LED500012.11.201407:08:04135077LED_229719DetDiag_229719OK
2436229716LED500012.11.201405:41:04135077LED_229716DetDiag_229716OK
2437229605LED500010.11.201418:46:03135077LED_229605DetDiag_229605OK
2438229598LED500010.11.201418:23:02135077LED_229598DetDiag_229598OK
2439229591LED500010.11.201418:03:04135077LED_229591DetDiag_229591OK
2440229582LED500010.11.201417:47:04135077LED_229582DetDiag_229582OK
2441229577LED500010.11.201417:32:04135077LED_229577DetDiag_229577OK
2442229574LED500010.11.201417:21:04135077LED_229574DetDiag_229574OK
2443229570LED500010.11.201417:13:03135077LED_229570DetDiag_229570OK
2444229564LED500010.11.201417:03:03135077LED_229564DetDiag_229564OK
2445229561LED500010.11.201416:47:04135077LED_229561DetDiag_229561OK
2446229555LED500010.11.201416:30:04135077LED_229555DetDiag_229555OK
2447229552LED500010.11.201416:19:04135077LED_229552DetDiag_229552OK
2448229543LED500010.11.201415:22:03135077LED_229543DetDiag_229543OK
2449229542LED500010.11.201415:15:04135077LED_229542DetDiag_229542OK
2450229541LED500010.11.201415:10:06135077LED_229541DetDiag_229541OK
2451229540LED500010.11.201415:04:04135077LED_229540DetDiag_229540OK
2452229539LED500010.11.201415:03:03135077LED_229539DetDiag_229539OK
2453229538LED500010.11.201414:49:04135077LED_229538DetDiag_229538OK
2454229537LED500010.11.201414:44:03135077LED_229537DetDiag_229537OK
2455229534LED500010.11.201414:40:02135077LED_229534DetDiag_229534OK
2456229533LED500010.11.201414:37:03135077LED_229533DetDiag_229533OK
2457229532LED500010.11.201414:34:03135077LED_229532DetDiag_229532OK
2458229531LED500010.11.201414:33:03135077LED_229531DetDiag_229531OK
2459229509LED1000010.11.201411:43:03135077LED_229509DetDiag_229509OK
2460229507LED500010.11.201411:37:04135077LED_229507DetDiag_229507OK
2461229506LED500010.11.201411:30:03135077LED_229506DetDiag_229506OK
2462229505LED500010.11.201411:27:04135077LED_229505DetDiag_229505OK
2463229502LED500010.11.201411:24:03135077LED_229502DetDiag_229502OK
2464229501LED500010.11.201411:20:04135077LED_229501DetDiag_229501OK
2465229500LED500010.11.201411:18:04135077LED_229500DetDiag_229500OK
2466229499LED500010.11.201411:15:03135077LED_229499DetDiag_229499OK
2467229496LED1000010.11.201411:13:03135077LED_229496DetDiag_229496OK
2468229495LED500010.11.201411:06:03135077LED_229495DetDiag_229495OK
2469229494LED500010.11.201411:02:04135077LED_229494DetDiag_229494OK
2470229491LED1000010.11.201410:59:03135077LED_229491DetDiag_229491OK
2471229490LED500010.11.201410:53:03135077LED_229490DetDiag_229490OK
2472229488LED500010.11.201410:51:04135077LED_229488DetDiag_229488OK
2473229487LED500010.11.201410:48:03135077LED_229487DetDiag_229487OK
2474229486LED500010.11.201410:46:03135077LED_229486DetDiag_229486OK
2475229485LED500010.11.201410:43:03135077LED_229485DetDiag_229485OK
2476229484LED500010.11.201410:40:08135077LED_229484DetDiag_229484OK
2477229482LED1000010.11.201410:34:03135077LED_229482DetDiag_229482OK
2478229478LED500010.11.201410:14:02135077LED_229478DetDiag_229478OK
2479229476LED500010.11.201410:06:03135077LED_229476DetDiag_229476OK
2480229475LED100010.11.201410:02:04135077LED_229475DetDiag_229475OK
2481229474LED100010.11.201409:58:06135077LED_229474DetDiag_229474OK
2482229473LED100010.11.201409:55:03135077LED_229473DetDiag_229473OK
2483229472LED100010.11.201409:54:02135077LED_229472DetDiag_229472OK
2484229470LED100010.11.201409:51:04135077LED_229470DetDiag_229470OK
2485229469LED100010.11.201409:49:04135077LED_229469DetDiag_229469OK
2486229468LED100010.11.201409:49:03135077LED_229468DetDiag_229468OK
2487229467LED100010.11.201409:47:05135077LED_229467DetDiag_229467OK
2488229466LED100010.11.201409:47:03135077LED_229466DetDiag_229466OK
2489229465LED100010.11.201409:46:03135077LED_229465DetDiag_229465OK
2490229362LED100007.11.201416:28:12135077LED_229362DetDiag_229362OK
2491229354LED100007.11.201416:04:12135077LED_229354DetDiag_229354OK
2492229352LED100007.11.201415:55:13135077LED_229352DetDiag_229352OK
2493229350LED100007.11.201415:49:12135077LED_229350DetDiag_229350OK
2494228608LED100029.10.201411:25:13135077LED_228608DetDiag_228608OK
2495228604LED200029.10.201411:10:12135077LED_228604DetDiag_228604OK
2496228602LED100029.10.201411:01:16135077LED_228602DetDiag_228602OK
2497228372LED100025.10.201415:40:12135077LED_228372DetDiag_228372OK
2498228371LED100025.10.201415:13:12135077LED_228371DetDiag_228371OK
2499228228LED100024.10.201409:49:13135077LED_228228DetDiag_228228OK
2500228173LED200023.10.201415:46:12135077LED_228173DetDiag_228173OK
2501228163LED100023.10.201414:32:16135077LED_228163DetDiag_228163OK
2502228119LED100022.10.201416:19:14135077LED_228119DetDiag_228119OK
2503228110LED100022.10.201415:46:12135077LED_228110DetDiag_228110OK
2504228087LED100022.10.201413:04:12135077LED_228087DetDiag_228087OK
2505228086LED100022.10.201412:59:16135077LED_228086DetDiag_228086OK
2506227969LED100020.10.201422:37:13135077LED_227969DetDiag_227969OK
2507227871LED100018.10.201413:29:24135077LED_227871DetDiag_227871OK
2508227870LED100018.10.201413:28:13135077LED_227870DetDiag_227870OK
2509227869LED100018.10.201413:19:13135077LED_227869DetDiag_227869OK
2510227868LED100018.10.201413:08:20135077LED_227868DetDiag_227868OK
2511227867LED100018.10.201412:56:13135077LED_227867DetDiag_227867OK
2512227863LED100017.10.201422:05:13135077LED_227863DetDiag_227863OK
2513227862LED100017.10.201421:16:13135077LED_227862DetDiag_227862OK
2514227850LED100017.10.201419:02:12135077LED_227850DetDiag_227850OK
2515227830LED100017.10.201414:52:13135077LED_227830DetDiag_227830OK
2516227828LED100017.10.201414:09:13135077LED_227828DetDiag_227828OK
2517227826LED100017.10.201413:35:13135077LED_227826DetDiag_227826OK
2518227806LED100017.10.201409:49:14135077LED_227806DetDiag_227806OK
2519227794LED100016.10.201418:25:12135077LED_227794DetDiag_227794OK
2520227792LED100016.10.201418:05:12135077LED_227792DetDiag_227792OK
2521227786LED100016.10.201417:28:13135077LED_227786DetDiag_227786OK
2522227785LED100016.10.201417:22:13135077LED_227785DetDiag_227785OK
2523227727LED500015.10.201421:08:12135077LED_227727DetDiag_227727OK
2524227717LED100015.10.201420:16:18135077LED_227717DetDiag_227717OK
2525227399LED100009.10.201417:08:38135077LED_227399DetDiag_227399OK
2526227397LED100009.10.201416:49:13135077LED_227397DetDiag_227397OK
2527227394LED100009.10.201416:40:26135077LED_227394DetDiag_227394OK
2528227315LED318320009.10.201408:10:31135077LED_227315DetDiag_227315OK
2529227247LED100008.10.201413:09:21135077LED_227247DetDiag_227247OK
2530227184LED100007.10.201415:05:13135077LED_227184DetDiag_227184OK
2531227177LED100007.10.201414:42:33135077LED_227177DetDiag_227177OK
2532227176LED100007.10.201414:41:23135077LED_227176DetDiag_227176OK
2533227175LED100007.10.201414:40:12135077LED_227175DetDiag_227175OK
2534227100LED1000030.09.201413:52:13135077LED_227100DetDiag_227100OK
2535227086LED1000030.09.201412:35:14135077LED_227086DetDiag_227086OK
2536227077LED1000030.09.201412:02:13135077LED_227077DetDiag_227077OK
2537227072LED1000030.09.201411:37:13135077LED_227072DetDiag_227072OK
2538227070LED1000030.09.201411:28:12135077LED_227070DetDiag_227070OK
2539227025LED90028.09.201418:17:28135077LED_227025DetDiag_227025OK
2540227024LED500028.09.201418:16:12135077LED_227024DetDiag_227024OK
2541227023LED500028.09.201418:13:13135077LED_227023DetDiag_227023OK
2542227014LED1000027.09.201416:35:12135077LED_227014DetDiag_227014OK
2543227012LED1000027.09.201416:25:19135077LED_227012DetDiag_227012OK
2544226986LED2000026.09.201418:17:12135077LED_226986DetDiag_226986OK
2545226943LED1000026.09.201415:02:18135077LED_226943DetDiag_226943OK
2546226821LED100025.09.201417:10:18135077LED_226821DetDiag_226821OK
2547226810LED1000025.09.201416:20:26135077LED_226810DetDiag_226810OK
2548226794LED100025.09.201414:01:17135077LED_226794DetDiag_226794OK
2549226628LED100023.09.201416:55:13135077LED_226628DetDiag_226628OK
2550226620LED100023.09.201415:58:12135077LED_226620DetDiag_226620OK
2551225538LED1000002.09.201408:19:13135077LED_225538DetDiag_225538OK
2552224716LED100008.08.201418:55:13135077LED_224716DetDiag_224716OK
2553216600LED5000020.11.201315:43:16212965LED_216600DetDiag_216600OK
2554216591LED24000020.11.201312:26:19212965LED_216591DetDiag_216591OK
2555216589LED5000019.11.201314:52:14212965LED_216589DetDiag_216589OK
2556216578LED5000019.11.201314:51:15212965LED_216578DetDiag_216578OK
2557216568LED46000018.11.201316:28:15212965LED_216568DetDiag_216568OK
2558216558LED5000018.11.201310:46:15212965LED_216558DetDiag_216558OK
2559216552LED48000017.11.201319:48:15212965LED_216552DetDiag_216552OK
2560216551LED46000015.11.201322:28:14212965LED_216551DetDiag_216551OK
2561216516LED7120014.11.201313:28:14212965LED_216516DetDiag_216516OK
2562216510LED35510013.11.201316:45:15212965LED_216510DetDiag_216510OK
2563216507LED5000013.11.201310:55:14212965LED_216507DetDiag_216507OK
2564216503LED5000012.11.201323:52:13212965LED_216503DetDiag_216503OK
2565216500LED5000012.11.201317:49:13212965LED_216500DetDiag_216500OK
2566216481LED46000011.11.201320:08:16212965LED_216481DetDiag_216481OK
2567216478LED5000011.11.201311:58:16212965LED_216478DetDiag_216478OK
2568216477LED73260011.11.201312:46:17212965LED_216477DetDiag_216477OK
2569216247LED5000006.11.201312:13:16212965LED_216247DetDiag_216247OK
2570216190LED5000005.11.201317:07:15212965LED_216190DetDiag_216190OK
2571215994LED1000031.10.201320:21:17213224LED_215994DetDiag_215994OK
2572215991LED1000031.10.201320:03:21213224LED_215991DetDiag_215991OK
2573215558LED5000022.10.201320:12:15212965LED_215558DetDiag_215558OK
2574215557LED1000022.10.201320:01:35213224LED_215557DetDiag_215557OK
2575215429LED5000021.10.201319:21:14212965LED_215429DetDiag_215429OK
2576215427LED5000021.10.201319:03:37212965LED_215427DetDiag_215427OK
2577215386LED1000021.10.201315:07:14213224LED_215386DetDiag_215386OK
2578215372LED2000021.10.201312:16:14212965LED_215372DetDiag_215372OK
2579215370LED10000021.10.201312:12:14212965LED_215370DetDiag_215370OK
2580215367LED7530021.10.201311:51:15212965LED_215367DetDiag_215367OK
2581215366LED2000021.10.201311:34:13212965LED_215366DetDiag_215366OK
2582215347LED13830021.10.201307:53:15212965LED_215347DetDiag_215347OK
2583215332LED46000020.10.201321:04:17212965LED_215332DetDiag_215332OK
2584215317LED5000019.10.201321:34:17212965LED_215317DetDiag_215317OK
2585215298LED46000019.10.201303:55:16212965LED_215298DetDiag_215298OK
2586215289LED5000018.10.201322:07:14212965LED_215289DetDiag_215289OK
2587215236LED46000018.10.201314:36:16212965LED_215236DetDiag_215236OK
2588215177LED40000017.10.201321:33:15212965LED_215177DetDiag_215177OK
2589215167LED1000017.10.201311:52:13213224LED_215167DetDiag_215167OK
2590215152LED15500017.10.201307:28:15212965LED_215152DetDiag_215152OK
2591215151LED5000017.10.201304:07:13212965LED_215151DetDiag_215151OK
2592215135LED5000016.10.201320:44:14212965LED_215135DetDiag_215135OK
2593215066LED46000015.10.201323:14:15212965LED_215066DetDiag_215066OK
2594215061LED5000015.10.201317:58:13212965LED_215061DetDiag_215061OK
2595215029LED1000015.10.201311:37:15213224LED_215029DetDiag_215029OK
2596215010LED1000014.10.201323:42:18213224LED_215010DetDiag_215010OK
2597214999LED5000014.10.201320:39:19212965LED_214999DetDiag_214999OK
2598214995LED1000014.10.201319:53:14213224LED_214995DetDiag_214995OK
2599214973LED5000014.10.201316:40:14212965LED_214973DetDiag_214973OK
2600214966LED1000014.10.201315:11:15213224LED_214966DetDiag_214966OK
2601214960LED1000014.10.201314:41:25213224LED_214960DetDiag_214960OK
2602214926LED5000014.10.201311:25:13212965LED_214926DetDiag_214926OK
2603214915LED52400014.10.201311:38:14212965LED_214915DetDiag_214915OK
2604214904LED46000013.10.201320:33:15212965LED_214904DetDiag_214904OK
2605214903LED5000013.10.201316:20:29212965LED_214903DetDiag_214903OK
2606214901LED48000013.10.201310:44:16212965LED_214901DetDiag_214901OK
2607214883LED1000011.10.201320:48:14213224LED_214883DetDiag_214883OK
2608214862LED1000011.10.201313:41:14213224LED_214862DetDiag_214862OK
2609214860LED3880011.10.201312:40:14212965LED_214860DetDiag_214860OK
2610214826LED46000011.10.201300:59:24212965LED_214826DetDiag_214826OK
2611214824LED1000010.10.201320:14:17213224LED_214824DetDiag_214824OK
2612214817LED1000010.10.201317:26:14213224LED_214817DetDiag_214817OK
2613214813LED1000010.10.201316:41:15213224LED_214813DetDiag_214813OK
2614214801LED40000010.10.201315:09:14212965LED_214801DetDiag_214801OK
2615214791LED46000009.10.201322:37:18212965LED_214791DetDiag_214791OK
2616214787LED5000009.10.201320:12:15212965LED_214787DetDiag_214787OK
2617214785LED5000009.10.201317:33:18212965LED_214785DetDiag_214785OK
2618214777LED44000009.10.201310:11:15212965LED_214777DetDiag_214777OK
2619214768LED5000008.10.201319:43:15212965LED_214768DetDiag_214768OK
2620214747LED1000008.10.201313:20:14213224LED_214747DetDiag_214747OK
2621214733LED5000007.10.201322:00:13212965LED_214733DetDiag_214733OK
2622214728LED1000007.10.201320:17:25213224LED_214728DetDiag_214728OK
2623214712LED46000007.10.201315:20:14212965LED_214712DetDiag_214712OK
2624214709LED4000007.10.201312:08:16212965LED_214709DetDiag_214709OK
2625214702LED5000007.10.201300:46:15212965LED_214702DetDiag_214702OK
2626214696LED5000005.10.201316:57:13212965LED_214696DetDiag_214696OK
2627214694LED05.10.201314:05:13213224LED_214694DetDiag_214694OK
2628214693LED1000005.10.201313:14:14213224LED_214693DetDiag_214693OK
2629214692LED1000004.10.201319:32:14213224LED_214692DetDiag_214692OK
2630214686LED2160004.10.201313:35:15212965LED_214686DetDiag_214686OK
2631214685LED5000004.10.201312:28:14212965LED_214685DetDiag_214685OK
2632214684LED5000004.10.201311:48:15212965LED_214684DetDiag_214684OK
2633214683LED5000004.10.201311:36:15212965LED_214683DetDiag_214683OK
2634214616LED64210003.10.201311:45:13212965LED_214616DetDiag_214616OK
2635214614LED46000002.10.201322:29:14212965LED_214614DetDiag_214614OK
2636214598LED26000002.10.201310:59:16212965LED_214598DetDiag_214598OK
2637214583LED1000001.10.201314:49:13213224LED_214583DetDiag_214583OK
2638214582LED1000001.10.201314:44:25213224LED_214582DetDiag_214582OK
2639214581LED1000001.10.201314:43:13213224LED_214581DetDiag_214581OK
2640214568LED1000001.10.201313:04:13213224LED_214568DetDiag_214568OK
2641214567LED1000001.10.201313:01:24213224LED_214567DetDiag_214567OK
2642214566LED1000001.10.201312:58:19213224LED_214566DetDiag_214566OK
2643214560LED5000001.10.201312:06:18212965LED_214560DetDiag_214560OK
2644214528LED46000025.09.201314:13:14212965LED_214528DetDiag_214528OK
2645214522LED5000025.09.201311:09:14212965LED_214522DetDiag_214522OK
2646214515LED26000025.09.201310:41:14212965LED_214515DetDiag_214515OK
2647214513LED1000024.09.201320:33:15213224LED_214513DetDiag_214513OK
2648214512LED1000024.09.201320:30:14213224LED_214512DetDiag_214512OK
2649214507LED5000024.09.201318:39:13212965LED_214507DetDiag_214507OK
2650214505LED8230024.09.201318:32:15212965LED_214505DetDiag_214505OK
2651214459LED46000023.09.201312:44:14212965LED_214459DetDiag_214459OK
2652214458LED5000023.09.201310:03:13212965LED_214458DetDiag_214458OK
2653214456LED26000022.09.201309:57:18212965LED_214456DetDiag_214456OK
2654214455LED76000021.09.201314:26:16212965LED_214455DetDiag_214455OK
2655214434LED26000019.09.201308:04:16212965LED_214434DetDiag_214434OK
2656214433LED5000018.09.201319:25:16212965LED_214433DetDiag_214433OK
2657214432LED5000018.09.201318:21:14212965LED_214432DetDiag_214432OK
2658214430LED5000018.09.201317:01:16212965LED_214430DetDiag_214430OK
2659214429LED5000018.09.201316:10:16212965LED_214429DetDiag_214429OK
2660214428LED5000018.09.201315:30:13212965LED_214428DetDiag_214428OK
2661214427LED5000018.09.201314:46:14212965LED_214427DetDiag_214427OK
2662214426LED5000018.09.201313:57:15212965LED_214426DetDiag_214426OK
2663214425LED5000018.09.201313:45:13212965LED_214425DetDiag_214425OK
2664214423LED5000018.09.201313:31:14212965LED_214423DetDiag_214423OK
2665214421LED18500018.09.201312:09:17212965LED_214421DetDiag_214421OK
2666214418LED5000018.09.201310:27:15212965LED_214418DetDiag_214418OK
2667214415LED76000018.09.201309:03:16212965LED_214415DetDiag_214415OK
2668214414LED5000017.09.201315:06:13212965LED_214414DetDiag_214414OK
2669214413LED5000017.09.201314:51:13212965LED_214413DetDiag_214413OK
2670214412LED5000017.09.201314:40:13212965LED_214412DetDiag_214412OK
2671214405LED12270017.09.201313:52:14212965LED_214405DetDiag_214405OK
2672214387LED48000017.09.201305:36:18212965LED_214387DetDiag_214387OK
2673214374LED46000016.09.201313:44:14212965LED_214374DetDiag_214374OK
2674214371LED5000016.09.201310:30:13212965LED_214371DetDiag_214371OK
2675214367LED76000016.09.201310:10:18212965LED_214367DetDiag_214367OK
2676214366LED100000015.09.201316:56:21212965LED_214366DetDiag_214366OK
2677214354LED46000013.09.201317:05:13212965LED_214354DetDiag_214354OK
2678214351LED5000013.09.201311:26:21211659LED_214351DetDiag_214351OK
2679214325LED76000013.09.201308:25:16211659LED_214325DetDiag_214325OK
2680214287LED1000012.09.201308:27:13213224LED_214287DetDiag_214287OK
2681214285LED20000012.09.201306:22:17211659LED_214285DetDiag_214285OK
2682214279LED2070011.09.201318:44:15211659LED_214279DetDiag_214279OK
2683214245LED1000011.09.201314:39:13213224LED_214245DetDiag_214245OK
2684214212LED1000011.09.201310:42:15213224LED_214212DetDiag_214212OK
2685214205LED5000011.09.201310:24:14211659LED_214205DetDiag_214205OK
2686214198LED26000011.09.201305:52:19211659LED_214198DetDiag_214198OK
2687214181LED48000010.09.201304:14:13211659LED_214181DetDiag_214181OK
2688214160LED46000009.09.201314:57:27211659LED_214160DetDiag_214160OK
2689214157LED5000009.09.201311:39:13211659LED_214157DetDiag_214157OK
2690214153LED5000006.09.201314:14:16211659LED_214153DetDiag_214153OK
2691214147LED18780006.09.201311:49:14211659LED_214147DetDiag_214147OK
2692214146LED46000006.09.201303:21:14211659LED_214146DetDiag_214146OK
2693214104LED68420005.09.201312:08:15211659LED_214104DetDiag_214104OK
2694214011LED35500003.09.201317:48:19211659LED_214011DetDiag_214011OK
2695213975LED40000002.09.201319:57:32211659LED_213975DetDiag_213975OK
2696213974LED46000002.09.201314:42:14211659LED_213974DetDiag_213974OK
2697213971LED5000002.09.201311:15:13211659LED_213971DetDiag_213971OK
2698213967LED94000002.09.201308:41:15211659LED_213967DetDiag_213967OK
2699213966LED76000031.08.201308:56:14211659LED_213966DetDiag_213966OK
2700213947LED7500030.08.201313:20:14211659LED_213947DetDiag_213947OK
2701213939LED60570030.08.201310:55:14211659LED_213939DetDiag_213939OK
2702213926LED60310029.08.201310:41:15211659LED_213926DetDiag_213926OK
2703213925LED46000028.08.201323:33:14211659LED_213925DetDiag_213925OK
2704213924LED5000028.08.201320:53:14211659LED_213924DetDiag_213924OK
2705213917LED46000028.08.201317:50:24211659LED_213917DetDiag_213917OK
2706213868LED64720028.08.201310:02:18211659LED_213868DetDiag_213868OK
2707213866LED5000027.08.201320:03:35211659LED_213866DetDiag_213866OK
2708213863LED5000027.08.201318:18:13211659LED_213863DetDiag_213863OK
2709213842LED18770027.08.201310:13:14211659LED_213842DetDiag_213842OK
2710213822LED40420026.08.201318:39:14211659LED_213822DetDiag_213822OK
2711213815LED1000026.08.201311:45:13213224LED_213815DetDiag_213815OK
2712213803LED32000026.08.201307:46:17211659LED_213803DetDiag_213803OK
2713213802LED46000025.08.201314:09:14211659LED_213802DetDiag_213802OK
2714213797LED76000025.08.201309:43:16211659LED_213797DetDiag_213797OK
2715213794LED5000024.08.201317:33:14211659LED_213794DetDiag_213794OK
2716213792LED46000024.08.201316:58:15211659LED_213792DetDiag_213792OK
2717213791LED1000024.08.201314:41:36213224LED_213791DetDiag_213791OK
2718213789LED5900024.08.201314:39:13211659LED_213789DetDiag_213789OK
2719213787LED5000024.08.201314:03:17211659LED_213787DetDiag_213787OK
2720213783LED5000024.08.201310:42:13211659LED_213783DetDiag_213783OK
2721213780LED5000024.08.201309:39:14211659LED_213780DetDiag_213780OK
2722213779LED2340024.08.201309:11:15211659LED_213779DetDiag_213779OK
2723213778LED72390024.08.201309:08:18211659LED_213778DetDiag_213778OK
2724213776LED46000023.08.201320:04:31211659LED_213776DetDiag_213776OK
2725213769LED5000023.08.201316:43:17211659LED_213769DetDiag_213769OK
2726213768LED5000023.08.201316:23:14211659LED_213768DetDiag_213768OK
2727213767LED5000023.08.201315:28:13211659LED_213767DetDiag_213767OK
2728213751LED5000022.08.201316:36:13211659LED_213751DetDiag_213751OK
2729213735LED5000022.08.201310:45:12211659LED_213735DetDiag_213735OK
2730213732LED5000022.08.201310:37:13211659LED_213732DetDiag_213732OK
2731213727LED52750022.08.201307:18:14211659LED_213727DetDiag_213727OK
2732213726LED46000021.08.201322:06:14211659LED_213726DetDiag_213726OK
2733213724LED5000021.08.201319:36:13211659LED_213724DetDiag_213724OK
2734213714LED5000021.08.201316:09:14211659LED_213714DetDiag_213714OK
2735213706LED46000021.08.201315:32:13211659LED_213706DetDiag_213706OK
2736213665LED20220020.08.201315:52:13211659LED_213665DetDiag_213665OK
2737213638LED33139019.08.201315:34:13211659LED_213638DetDiag_213638OK
2738213635LED1000019.08.201311:35:14213224LED_213635DetDiag_213635OK
2739213452LED46000009.08.201316:07:16211659LED_213452DetDiag_213452OK
2740213417LED40000008.08.201311:59:13211659LED_213417DetDiag_213417OK
2741213409LED44000007.08.201323:49:17211659LED_213409DetDiag_213409OK
2742213322LED4332806.08.201309:53:15211659LED_213322DetDiag_213322OK
2743213315LED4393605.08.201320:00:15211659LED_213315DetDiag_213315OK
2744213312LED5000005.08.201317:57:13211659LED_213312DetDiag_213312OK
2745213236LED1000030.07.201319:04:13213224LED_213236DetDiag_213236OK
2746213235LED1000030.07.201318:58:13213224LED_213235DetDiag_213235OK
2747213233LED4319430.07.201318:01:14211659LED_213233DetDiag_213233OK
2748213230LED4300529.07.201321:20:16211659LED_213230DetDiag_213230OK
2749213228LED17172229.07.201323:35:14211659LED_213228DetDiag_213228OK
2750213226LED21448429.07.201322:57:15211659LED_213226DetDiag_213226OK
2751213224LED1000028.07.201312:39:13211659LED_213224DetDiag_213224OK
2752213223LED4351628.07.201307:52:14211659LED_213223DetDiag_213223OK
2753213222LED1000027.07.201313:12:12211659LED_213222DetDiag_213222OK
2754213221LED1000027.07.201312:27:13211659LED_213221DetDiag_213221OK
2755213167LED6500023.07.201322:48:13211659LED_213167DetDiag_213167OK
2756213143LED1000023.07.201301:08:14211659LED_213143DetDiag_213143OK
2757213133LED22445022.07.201322:22:14211659LED_213133DetDiag_213133OK
2758213132LED5000022.07.201320:33:13211659LED_213132DetDiag_213132OK
2759213118LED1000020.07.201314:14:16211659LED_213118DetDiag_213118OK
2760213089LED14248019.07.201317:46:14211659LED_213089DetDiag_213089OK
2761213068LED14430718.07.201314:30:15211659LED_213068DetDiag_213068OK
2762213067LED1230018.07.201312:35:14211659LED_213067DetDiag_213067OK
2763213064LED18464018.07.201312:03:15211659LED_213064DetDiag_213064OK
2764213063LED18199218.07.201301:43:14211659LED_213063DetDiag_213063OK
2765212990LED12390017.07.201300:38:15211659LED_212990DetDiag_212990OK
2766212985LED18973616.07.201319:16:25211659LED_212985DetDiag_212985OK
2767212965LED1000012.07.201316:58:14211659LED_212965DetDiag_212965OK
2768212152LED1000018.02.201319:33:14211659LED_212152DetDiag_212152OK
2769211877LED2231714.02.201316:04:13211659LED_211877DetDiag_211877OK
2770211851LED2231714.02.201311:49:13211659LED_211851DetDiag_211851OK
2771211721LED1000011.02.201313:36:13211659LED_211721DetDiag_211721OK
2772211659LED1000010.02.201311:24:13211006LED_211659DetDiag_211659OK
2773211424LED1000005.02.201316:28:13211006LED_211424DetDiag_211424OK
2774211316LED1000002.02.201322:40:15211006LED_211316DetDiag_211316OK
2775211137LED1000030.01.201317:39:13211006LED_211137DetDiag_211137OK
2776211124LED1000030.01.201316:07:19211006LED_211124DetDiag_211124OK
2777211006LED1000029.01.201316:38:14210378LED_211006DetDiag_211006OK
2778210862LED1000026.01.201322:54:14210378LED_210862DetDiag_210862OK
2779210711LED1000024.01.201311:55:14210378LED_210711DetDiag_210711OK
2780210556LED1000021.01.201310:27:13210378LED_210556DetDiag_210556OK
2781210378LED1000018.01.201314:27:14209997LED_210378DetDiag_210378OK
2782210187LED1000016.01.201310:15:13209997LED_210187DetDiag_210187OK
2783209997LED1000014.01.201309:31:15209311LED_209997DetDiag_209997OK
2784209726LED1000010.01.201315:22:14209311LED_209726DetDiag_209726OK
2785209653LED1000009.01.201314:55:17209311LED_209653DetDiag_209653OK
2786209585LED1000008.01.201318:11:15209311LED_209585DetDiag_209585OK
2787209311LED1000018.12.201216:59:15208565LED_209311DetDiag_209311OK
2788209289LED1000018.12.201211:37:14208565LED_209289DetDiag_209289OK
2789208959LED1000013.12.201213:49:13208565LED_208959DetDiag_208959OK
2790208565LED1000005.12.201211:36:12208361LED_208565DetDiag_208565OK
2791208361LED1000001.12.201216:57:13207914LED_208361DetDiag_208361OK
2792208228LED1000029.11.201212:57:13207914LED_208228DetDiag_208228OK
2793208130LED1000028.11.201217:45:19207914LED_208130DetDiag_208130OK
2794208001LED1000027.11.201210:45:12207914LED_208001DetDiag_208001OK
2795207914LED1000025.11.201217:33:18207545LED_207914DetDiag_207914OK
2796207825LED1000023.11.201211:57:14207545LED_207825DetDiag_207825OK
2797207698LED1000021.11.201220:36:15207545LED_207698DetDiag_207698OK
2798207545LED1000019.11.201218:00:13207406LED_207545DetDiag_207545OK
2799207544LED1000019.11.201217:52:21207406LED_207544DetDiag_207544OK
2800207406LED1000016.11.201213:33:14207167LED_207406DetDiag_207406OK
2801207345LED1000015.11.201221:00:14207167LED_207345DetDiag_207345OK
2802207167LED1000012.11.201218:48:13206456LED_207167DetDiag_207167OK
2803207143LED1000012.11.201216:27:13206456LED_207143DetDiag_207143OK
2804207053LED1000010.11.201211:03:14206456LED_207053DetDiag_207053OK
2805206915LED1000008.11.201217:51:13206456LED_206915DetDiag_206915OK
2806206636LED1000005.11.201217:03:12206456LED_206636DetDiag_206636OK
2807206456LED1000001.11.201213:57:15205928LED_206456DetDiag_206456OK
2808206372LED1000030.10.201215:00:14205928LED_206372DetDiag_206372OK
2809205928LED1000029.10.201214:52:08205355LED_205928DetDiag_205928OK
2810205845LED1000029.10.201214:44:58205355LED_205845DetDiag_205845OK
2811205803LED1000029.10.201214:34:14205355LED_205803DetDiag_205803OK
2812205637LED1000020.10.201211:54:14205355LED_205637DetDiag_205637OK
2813205630LED1000020.10.201211:42:13205355LED_205630DetDiag_205630OK
2814205546LED1000019.10.201221:55:14205355LED_205546DetDiag_205546OK
2815205441LED1000018.10.201212:06:13205355LED_205441DetDiag_205441OK
2816205355LED1000018.10.201209:39:14204172LED_205355DetDiag_205355OK
2817205268LED1000016.10.201217:51:25204172LED_205268DetDiag_205268OK
2818205225LED1000015.10.201222:03:16204172LED_205225DetDiag_205225OK
2819205224LED1000015.10.201221:44:13204172LED_205224DetDiag_205224OK
2820205223LED1000015.10.201221:34:13204172LED_205223DetDiag_205223OK
2821205222LED1000015.10.201221:15:14204172LED_205222DetDiag_205222OK
2822205117LED1000014.10.201211:06:14204172LED_205117DetDiag_205117OK
2823205115LED1000014.10.201210:57:13204172LED_205115DetDiag_205115OK
2824205058LED1000013.10.201213:42:12204172LED_205058DetDiag_205058OK
2825205056LED1000013.10.201213:21:13204172LED_205056DetDiag_205056OK
2826204918LED1000012.10.201210:21:14204172LED_204918DetDiag_204918OK
2827204584LED1000007.10.201209:45:12204172LED_204584DetDiag_204584OK
2828204335LED1000004.10.201216:51:13204172LED_204335DetDiag_204335OK
2829204172LED1000003.10.201213:21:13203536LED_204172DetDiag_204172OK
2830203902LED1000030.09.201214:25:13203536LED_203902DetDiag_203902OK
2831203874LED1000029.09.201212:03:14203536LED_203874DetDiag_203874OK
2832203842LED1000029.09.201200:06:14203536LED_203842DetDiag_203842OK
2833203536LED1000025.09.201211:16:13203339LED_203536DetDiag_203536OK
2834203434LED1000022.09.201213:49:13203339LED_203434DetDiag_203434OK
2835203342LED1000021.09.201220:47:15203339LED_203342DetDiag_203342OK
2836203339LED1000021.09.201220:24:12203056LED_203339DetDiag_203339OK
2837203063LED1000017.09.201216:03:21203056LED_203063DetDiag_203063OK
2838203061LED1000017.09.201215:54:12203056LED_203061DetDiag_203061OK
2839203060LED1000017.09.201215:45:12203056LED_203060DetDiag_203060OK
2840203059LED1000017.09.201215:36:13203056LED_203059DetDiag_203059OK
2841203058LED1000017.09.201215:30:12203056LED_203058DetDiag_203058OK
2842203056LED1000017.09.201215:24:21202341LED_203056DetDiag_203056OK
2843203054LED1000017.09.201215:15:13202341LED_203054DetDiag_203054OK
2844203052LED1000017.09.201215:09:14202341LED_203052DetDiag_203052OK
2845203051LED1000017.09.201215:06:13202341LED_203051DetDiag_203051OK
2846203048LED1000017.09.201214:57:13202341LED_203048DetDiag_203048OK
2847203047LED1000017.09.201214:51:14202341LED_203047DetDiag_203047OK
2848203046LED1000017.09.201214:45:13202341LED_203046DetDiag_203046OK
2849203044LED1000017.09.201214:33:12202341LED_203044DetDiag_203044OK
2850203041LED1000017.09.201214:15:14202341LED_203041DetDiag_203041OK
2851203040LED1000017.09.201214:00:13202341LED_203040DetDiag_203040OK
2852203038LED1000017.09.201213:51:13202341LED_203038DetDiag_203038OK
2853203037LED1000017.09.201213:39:14202341LED_203037DetDiag_203037OK
2854203022LED1000017.09.201210:48:13202341LED_203022DetDiag_203022OK
2855202916LED1000014.09.201214:45:14202341LED_202916DetDiag_202916OK
2856202633LED1000012.09.201210:00:13202341LED_202633DetDiag_202633OK
2857202490LED1000009.09.201212:36:13202341LED_202490DetDiag_202490OK
2858202341LED1000007.09.201212:21:12202066LED_202341DetDiag_202341OK
2859202216LED1000004.09.201216:09:14202066LED_202216DetDiag_202216OK
2860202193LED1000004.09.201211:51:14202066LED_202193DetDiag_202193OK
2861202127LED1000003.09.201210:33:14202066LED_202127DetDiag_202127OK
2862202066LED1000001.09.201217:51:13201571LED_202066DetDiag_202066OK
2863202022LED1000031.08.201210:00:13201571LED_202022DetDiag_202022OK
2864201896LED1000029.08.201211:09:13201571LED_201896DetDiag_201896OK
2865201737LED1000027.08.201210:09:13201571LED_201737DetDiag_201737OK
2866201571LED1000023.08.201210:21:13201305LED_201571DetDiag_201571OK
2867201305LED1000021.08.201210:42:12200707LED_201305DetDiag_201305OK
2868201182LED1000018.08.201208:27:13200707LED_201182DetDiag_201182OK
2869201017LED1000016.08.201211:15:13200707LED_201017DetDiag_201017OK
2870200968LED1000015.08.201212:18:12200707LED_200968DetDiag_200968OK
2871200870LED1000014.08.201215:24:12200707LED_200870DetDiag_200870OK
2872200808LED1000013.08.201211:00:13200707LED_200808DetDiag_200808OK
2873200707LED1000011.08.201210:36:12200281LED_200707DetDiag_200707OK
2874200648LED1000010.08.201217:00:13200281LED_200648DetDiag_200648OK
2875200618LED1000010.08.201212:03:14200281LED_200618DetDiag_200618OK
2876200615LED1000010.08.201211:51:13200281LED_200615DetDiag_200615OK
2877200612LED1000010.08.201211:33:13200281LED_200612DetDiag_200612OK
2878200610LED1000010.08.201211:27:13200281LED_200610DetDiag_200610OK
2879200609LED1000010.08.201211:18:13200281LED_200609DetDiag_200609OK
2880200552LED1000009.08.201213:57:13200281LED_200552DetDiag_200552OK
2881200503LED1000008.08.201216:12:17200281LED_200503DetDiag_200503OK
2882200395LED1000007.08.201210:15:12200281LED_200395DetDiag_200395OK
2883200336LED1000006.08.201210:51:13200281LED_200336DetDiag_200336OK
2884200333LED1000006.08.201210:27:12200281LED_200333DetDiag_200333OK
2885200281LED1000005.08.201210:57:12199392LED_200281DetDiag_200281OK
2886200062LED1000001.08.201212:33:13199392LED_200062DetDiag_200062OK
2887199932LED1000030.07.201217:54:13199392LED_199932DetDiag_199932OK
2888199822LED1000028.07.201211:09:12199392LED_199822DetDiag_199822OK
2889199778LED1000027.07.201215:21:13199392LED_199778DetDiag_199778OK
2890199724LED1000026.07.201215:33:13199392LED_199724DetDiag_199724OK
2891199668LED1000025.07.201218:30:12199392LED_199668DetDiag_199668OK
2892199446LED1000023.07.201211:06:13199392LED_199446DetDiag_199446OK
2893199419LED1000022.07.201209:51:13199392LED_199419DetDiag_199419OK
2894199392LED1000021.07.201215:30:13198084LED_199392DetDiag_199392OK
2895199124LED1000017.07.201211:45:12198084LED_199124DetDiag_199124OK
2896199121LED1000017.07.201211:27:12198084LED_199121DetDiag_199121OK
2897199065LED1000016.07.201216:42:13198084LED_199065DetDiag_199065OK
2898198964LED1000014.07.201219:39:13198084LED_198964DetDiag_198964OK
2899198866LED1000012.07.201211:06:12198084LED_198866DetDiag_198866OK
2900198806LED1000011.07.201219:48:14198084LED_198806DetDiag_198806OK
2901198633LED1000010.07.201212:16:13198084LED_198633DetDiag_198633OK
2902198552LED1000009.07.201215:18:14198084LED_198552DetDiag_198552OK
2903198436LED1000006.07.201221:30:13198084LED_198436DetDiag_198436OK
2904198430LED1000006.07.201219:10:14198084LED_198430DetDiag_198430OK
2905198223LED1000004.07.201208:13:14198084LED_198223DetDiag_198223OK
2906198091LED1000002.07.201215:39:13198084LED_198091DetDiag_198091OK
2907198084LED1000002.07.201215:24:12196870LED_198084DetDiag_198084OK
2908198075LED1000002.07.201214:28:14196870LED_198075DetDiag_198075OK
2909197965LED1000001.07.201214:49:15196870LED_197965DetDiag_197965OK
2910197900LED1000030.06.201212:18:14196870LED_197900DetDiag_197900OK
2911197517LED1000027.06.201217:04:02196870LED_197517DetDiag_197517OK
2912197135LED1000024.06.201210:36:13196870LED_197135DetDiag_197135OK
2913196870LED1000020.06.201221:12:14195682LED_196870DetDiag_196870OK
2914196558LED1000018.06.201219:43:15195682LED_196558DetDiag_196558OK
2915196557LED1000018.06.201218:50:18195682LED_196557DetDiag_196557OK
2916196555LED1000018.06.201217:39:13195682LED_196555DetDiag_196555OK
2917196472LED1000017.06.201215:28:13195682LED_196472DetDiag_196472OK
2918196467LED1000017.06.201215:10:15195682LED_196467DetDiag_196467OK
2919196401LED1000015.06.201217:58:13195682LED_196401DetDiag_196401OK
2920196385LED1000015.06.201216:49:15195682LED_196385DetDiag_196385OK
2921196338LED1000014.06.201223:21:13195682LED_196338DetDiag_196338OK
2922196271LED1000014.06.201209:42:13195682LED_196271DetDiag_196271OK
2923196150LED1000012.06.201217:51:23195682LED_196150DetDiag_196150OK
2924196146LED1000012.06.201217:45:13195682LED_196146DetDiag_196146OK
2925196038LED1000011.06.201218:06:16195682LED_196038DetDiag_196038OK
2926196035LED1000011.06.201217:43:13195682LED_196035DetDiag_196035OK
2927195978LED1000011.06.201208:43:13195682LED_195978DetDiag_195978OK
2928195778LED1000008.06.201210:30:13195682LED_195778DetDiag_195778OK
2929195682LED1000007.06.201211:54:14195172LED_195682DetDiag_195682OK
2930195668LED1000007.06.201210:58:14195172LED_195668DetDiag_195668OK
2931195470LED1000004.06.201210:07:13195172LED_195470DetDiag_195470OK
2932195413LED1000003.06.201207:54:14195172LED_195413DetDiag_195413OK
2933195328LED1000031.05.201218:09:12195172LED_195328DetDiag_195328OK
2934195289LED1000031.05.201201:28:13195172LED_195289DetDiag_195289OK
2935195284LED1000031.05.201200:42:13195172LED_195284DetDiag_195284OK
2936195226LED1000030.05.201210:06:12195172LED_195226DetDiag_195226OK
2937195172LED1000029.05.201211:36:12194807LED_195172DetDiag_195172OK
2938195063LED1000027.05.201210:42:12194807LED_195063DetDiag_195063OK
2939195036LED1000026.05.201216:51:14194807LED_195036DetDiag_195036OK
2940195025LED1000026.05.201215:52:14194807LED_195025DetDiag_195025OK
2941194938LED1000025.05.201216:07:13194807LED_194938DetDiag_194938OK
2942194934LED1000025.05.201215:49:16194807LED_194934DetDiag_194934OK
2943194857LED1000024.05.201210:00:12194807LED_194857DetDiag_194857OK
2944194807LED1000024.05.201201:51:12194334LED_194807DetDiag_194807OK
2945194739LED1000023.05.201210:24:13194334LED_194739DetDiag_194739OK
2946194552LED1000021.05.201210:30:12194334LED_194552DetDiag_194552OK
2947194449LED1000019.05.201211:57:12194334LED_194449DetDiag_194449OK
2948194444LED1000019.05.201211:27:13194334LED_194444DetDiag_194444OK
2949194443LED1000019.05.201211:18:13194334LED_194443DetDiag_194443OK
2950194442LED1000019.05.201211:12:12194334LED_194442DetDiag_194442OK
2951194334LED1000017.05.201212:57:12194165LED_194334DetDiag_194334OK
2952194237LED1000016.05.201210:03:13194165LED_194237DetDiag_194237OK
2953194218LED1000015.05.201221:09:12194165LED_194218DetDiag_194218OK
2954194165LED1000015.05.201210:00:13194124LED_194165DetDiag_194165OK
2955194124LED1000014.05.201214:25:17194057LED_194124DetDiag_194124OK
2956194057LED1000012.05.201222:51:13194057LED_194057DetDiag_194057OK
2957183315LED500008.12.201109:58:12135074LED_183315DetDiag_183315OK
2958183314LED500008.12.201109:43:12133128LED_183314DetDiag_183314OK
2959183313LED500008.12.201109:37:11133128LED_183313DetDiag_183313OK
2960183312LED500008.12.201109:31:12133128LED_183312DetDiag_183312OK
2961183311LED500008.12.201109:25:12133128LED_183311DetDiag_183311OK
2962183310LED500008.12.201109:19:12133128LED_183310DetDiag_183310OK
2963183309LED500008.12.201109:13:12133128LED_183309DetDiag_183309OK
2964183308LED500008.12.201109:07:12133128LED_183308DetDiag_183308OK
2965183307LED500008.12.201109:04:12133128LED_183307DetDiag_183307OK
2966183306LED500008.12.201108:58:11133128LED_183306DetDiag_183306OK
2967183305LED500008.12.201108:52:12133128LED_183305DetDiag_183305OK
2968183304LED500008.12.201108:47:12133128LED_183304DetDiag_183304OK
2969183303LED500008.12.201108:40:12133128LED_183303DetDiag_183303OK
2970183302LED500008.12.201108:30:23133128LED_183302DetDiag_183302OK
2971183301LED500008.12.201108:29:12133128LED_183301DetDiag_183301OK
2972183300LED500008.12.201108:22:12133128LED_183300DetDiag_183300OK
2973183299LED500008.12.201108:16:12133128LED_183299DetDiag_183299OK
2974183298LED500008.12.201108:10:12133128LED_183298DetDiag_183298OK
2975183297LED500008.12.201108:04:11133128LED_183297DetDiag_183297OK
2976183296LED500008.12.201107:58:12133128LED_183296DetDiag_183296OK
2977183295LED500008.12.201107:55:12133128LED_183295DetDiag_183295OK
2978183294LED500008.12.201107:49:12133128LED_183294DetDiag_183294OK
2979183293LED500008.12.201107:43:12133128LED_183293DetDiag_183293OK
2980183292LED500008.12.201107:40:13133128LED_183292DetDiag_183292OK
2981183291LED500008.12.201107:34:11133128LED_183291DetDiag_183291OK
2982183290LED500008.12.201107:31:11133128LED_183290DetDiag_183290OK
2983183289LED500008.12.201107:28:11133128LED_183289DetDiag_183289OK
2984183288LED500008.12.201107:24:33133128LED_183288DetDiag_183288OK
2985183287LED500008.12.201107:23:22133128LED_183287DetDiag_183287OK
2986183286LED500008.12.201107:22:12133128LED_183286DetDiag_183286OK
2987183285LED500008.12.201107:17:25133128LED_183285DetDiag_183285OK
2988183284LED500008.12.201107:16:12133128LED_183284DetDiag_183284OK
2989183283LED500008.12.201107:11:22133128LED_183283DetDiag_183283OK
2990183282LED500008.12.201107:10:11133128LED_183282DetDiag_183282OK
2991183281LED500008.12.201107:04:12133128LED_183281DetDiag_183281OK
2992183280LED500008.12.201106:59:22133128LED_183280DetDiag_183280OK
2993183279LED500008.12.201106:58:11133128LED_183279DetDiag_183279OK
2994183278LED500008.12.201106:52:12133128LED_183278DetDiag_183278OK
2995183277LED500008.12.201106:47:22133128LED_183277DetDiag_183277OK
2996183276LED500008.12.201106:46:12133128LED_183276DetDiag_183276OK
2997183275LED500008.12.201106:40:12133128LED_183275DetDiag_183275OK
2998183274LED500008.12.201106:37:13133128LED_183274DetDiag_183274OK
2999183273LED500008.12.201106:31:13133128LED_183273DetDiag_183273OK
3000183272LED500008.12.201106:26:22133128LED_183272DetDiag_183272OK
3001183271LED500008.12.201106:25:11133128LED_183271DetDiag_183271OK
3002183270LED500008.12.201106:19:12133128LED_183270DetDiag_183270OK
3003183269LED500008.12.201106:15:34133128LED_183269DetDiag_183269OK
3004183268LED500008.12.201106:14:23133128LED_183268DetDiag_183268OK
3005183267LED500008.12.201106:13:12133128LED_183267DetDiag_183267OK
3006183266LED500008.12.201106:08:23133128LED_183266DetDiag_183266OK
3007183265LED500008.12.201106:07:12133128LED_183265DetDiag_183265OK
3008183186LED200007.12.201116:10:12133128LED_183186DetDiag_183186OK
3009182859LED200002.12.201118:01:12133128LED_182859DetDiag_182859OK
3010182692LED200029.11.201114:58:12133128LED_182692DetDiag_182692OK
3011182480LED500025.11.201113:14:11133128LED_182480DetDiag_182480OK
3012182357LED200023.11.201119:13:12133128LED_182357DetDiag_182357OK
3013182266LED500022.11.201112:20:12133128LED_182266DetDiag_182266OK
3014182101LED500020.11.201109:56:12133128LED_182101DetDiag_182101OK
3015182072LED500019.11.201114:57:12133128LED_182072DetDiag_182072OK
3016181919LED500017.11.201109:26:11133128LED_181919DetDiag_181919OK
3017181870LED200016.11.201118:01:12133128LED_181870DetDiag_181870OK
3018181700LED500015.11.201109:02:12133128LED_181700DetDiag_181700OK
3019181586LED500013.11.201110:20:12133128LED_181586DetDiag_181586OK
3020181578LED200013.11.201101:28:12133128LED_181578DetDiag_181578OK
3021181473LED500011.11.201122:16:12133128LED_181473DetDiag_181473OK
3022181472LED500011.11.201122:04:11133128LED_181472DetDiag_181472OK
3023181470LED500011.11.201121:55:11133128LED_181470DetDiag_181470OK
3024181468LED500011.11.201121:47:22133128LED_181468DetDiag_181468OK
3025181466LED500011.11.201121:46:12133128LED_181466DetDiag_181466OK
3026181465LED500011.11.201121:37:11133128LED_181465DetDiag_181465OK
3027181464LED500011.11.201121:25:11133128LED_181464DetDiag_181464OK
3028181463LED500011.11.201121:16:12133128LED_181463DetDiag_181463OK
3029181462LED500011.11.201121:02:23133128LED_181462DetDiag_181462OK
3030181461LED500011.11.201121:01:12133128LED_181461DetDiag_181461OK
3031181460LED500011.11.201120:49:12133128LED_181460DetDiag_181460OK
3032181459LED500011.11.201120:34:12133128LED_181459DetDiag_181459OK
3033181458LED500011.11.201120:25:12133128LED_181458DetDiag_181458OK
3034181457LED500011.11.201120:13:12133128LED_181457DetDiag_181457OK
3035181455LED500011.11.201119:52:12133128LED_181455DetDiag_181455OK
3036181454LED500011.11.201119:43:12133128LED_181454DetDiag_181454OK
3037181453LED500011.11.201119:34:12133128LED_181453DetDiag_181453OK
3038181452LED500011.11.201119:25:11133128LED_181452DetDiag_181452OK
3039181451LED500011.11.201119:16:12133128LED_181451DetDiag_181451OK
3040181450LED500011.11.201119:10:12133128LED_181450DetDiag_181450OK
3041181449LED500011.11.201119:01:15133128LED_181449DetDiag_181449OK
3042181448LED500011.11.201118:52:11133128LED_181448DetDiag_181448OK
3043181447LED500011.11.201118:43:12133128LED_181447DetDiag_181447OK
3044181446LED500011.11.201118:37:12133128LED_181446DetDiag_181446OK
3045181445LED500011.11.201118:31:12133128LED_181445DetDiag_181445OK
3046181442LED500011.11.201118:25:11133128LED_181442DetDiag_181442OK
3047181439LED500011.11.201118:19:12133128LED_181439DetDiag_181439OK
3048181436LED500011.11.201118:16:12133128LED_181436DetDiag_181436OK
3049181035LED500007.11.201120:23:13133128LED_181035DetDiag_181035OK
3050181006LED500007.11.201120:11:01133128LED_181006DetDiag_181006OK
3051180863LED500007.11.201105:13:10133128LED_180863DetDiag_180863OK
3052180860LED500009.11.201118:55:24133128LED_180860DetDiag_180860OK
3053180844LED500009.11.201117:44:44133128LED_180844DetDiag_180844OK
3054180782LED500009.11.201118:53:13133128LED_180782DetDiag_180782OK
3055180727LED500003.11.201120:59:14133128LED_180727DetDiag_180727OK
3056180723LED500003.11.201120:15:15133128LED_180723DetDiag_180723OK
3057180630LED500003.11.201110:19:14133128LED_180630DetDiag_180630OK
3058180616LED500002.11.201120:38:14133128LED_180616DetDiag_180616OK
3059180556LED500002.11.201114:05:15133128LED_180556DetDiag_180556OK
3060180545LED200002.11.201113:31:16133128LED_180545DetDiag_180545OK
3061180541LED200002.11.201113:02:17133128LED_180541DetDiag_180541OK
3062180538LED200002.11.201112:22:16133128LED_180538DetDiag_180538OK
3063180534LED200002.11.201111:59:15133128LED_180534DetDiag_180534OK
3064180532LED200002.11.201111:40:14133128LED_180532DetDiag_180532OK
3065180528LED200002.11.201111:08:13133128LED_180528DetDiag_180528OK
3066180484LED500001.11.201121:23:14133128LED_180484DetDiag_180484OK
3067180479LED500001.11.201120:32:14133128LED_180479DetDiag_180479OK
3068180474LED500001.11.201120:01:17133128LED_180474DetDiag_180474OK
3069180473LED500001.11.201119:52:15133128LED_180473DetDiag_180473OK
3070180471LED500001.11.201119:40:13133128LED_180471DetDiag_180471OK
3071180470LED500001.11.201119:37:14133128LED_180470DetDiag_180470OK
3072180467LED500001.11.201119:31:14133128LED_180467DetDiag_180467OK
3073180466LED500001.11.201119:25:13133128LED_180466DetDiag_180466OK
3074180462LED500001.11.201119:07:14133128LED_180462DetDiag_180462OK
3075180461LED500001.11.201118:55:15133128LED_180461DetDiag_180461OK
3076180460LED500001.11.201118:52:15133128LED_180460DetDiag_180460OK
3077180459LED500001.11.201118:49:14133128LED_180459DetDiag_180459OK
3078180455LED500001.11.201118:43:15133128LED_180455DetDiag_180455OK
3079180451LED500001.11.201118:37:16133128LED_180451DetDiag_180451OK
3080180448LED500001.11.201118:31:33133128LED_180448DetDiag_180448OK
3081180446LED500001.11.201118:25:13133128LED_180446DetDiag_180446OK
3082180445LED500001.11.201118:20:13133128LED_180445DetDiag_180445OK
3083180439LED500001.11.201118:10:16133128LED_180439DetDiag_180439OK
3084180437LED500001.11.201118:01:18133128LED_180437DetDiag_180437OK
3085180436LED500001.11.201117:34:15133128LED_180436DetDiag_180436OK
3086180435LED500001.11.201117:29:26133128LED_180435DetDiag_180435OK
3087180433LED500001.11.201117:28:14133128LED_180433DetDiag_180433OK
3088180431LED500001.11.201117:22:13133128LED_180431DetDiag_180431OK
3089180430LED500001.11.201117:17:16133128LED_180430DetDiag_180430OK
3090180429LED500001.11.201117:10:15133128LED_180429DetDiag_180429OK
3091180428LED500001.11.201117:07:13133128LED_180428DetDiag_180428OK
3092180427LED500001.11.201117:01:16133128LED_180427DetDiag_180427OK
3093180426LED500001.11.201116:59:13133128LED_180426DetDiag_180426OK
3094180425LED500001.11.201116:52:15133128LED_180425DetDiag_180425OK
3095180424LED500001.11.201116:49:13133128LED_180424DetDiag_180424OK
3096180423LED500001.11.201116:43:15133128LED_180423DetDiag_180423OK
3097180422LED500001.11.201116:37:13133128LED_180422DetDiag_180422OK
3098180421LED500001.11.201116:31:15133128LED_180421DetDiag_180421OK
3099180420LED500001.11.201116:28:13133128LED_180420DetDiag_180420OK
3100180419LED500001.11.201116:25:13133128LED_180419DetDiag_180419OK
3101180418LED500001.11.201116:22:13133128LED_180418DetDiag_180418OK
3102180417LED500001.11.201116:19:14133128LED_180417DetDiag_180417OK
3103180415LED500001.11.201116:10:13133128LED_180415DetDiag_180415OK
3104180414LED500001.11.201116:04:15133128LED_180414DetDiag_180414OK
3105180413LED500001.11.201116:01:13133128LED_180413DetDiag_180413OK
3106180412LED500001.11.201115:58:14133128LED_180412DetDiag_180412OK
3107180411LED500001.11.201115:55:13133128LED_180411DetDiag_180411OK
3108180410LED500001.11.201115:52:14133128LED_180410DetDiag_180410OK
3109180409LED500001.11.201115:46:16133128LED_180409DetDiag_180409OK
3110180408LED500001.11.201115:43:14133128LED_180408DetDiag_180408OK
3111180407LED500001.11.201115:40:14133128LED_180407DetDiag_180407OK
3112180406LED500001.11.201115:35:26133128LED_180406DetDiag_180406OK
3113180405LED500001.11.201115:34:13133128LED_180405DetDiag_180405OK
3114180404LED500001.11.201115:29:26133128LED_180404DetDiag_180404OK
3115180403LED500001.11.201115:28:13133128LED_180403DetDiag_180403OK
3116180402LED500001.11.201115:25:15133128LED_180402DetDiag_180402OK
3117180401LED500001.11.201115:23:26133128LED_180401DetDiag_180401OK
3118180400LED500001.11.201115:22:14133128LED_180400DetDiag_180400OK
3119180397LED500001.11.201115:01:13133128LED_180397DetDiag_180397OK
3120180368LED500001.11.201112:54:14133128LED_180368DetDiag_180368OK
3121180272LED200030.10.201122:08:14133128LED_180272DetDiag_180272OK
3122180269LED200030.10.201121:34:15133128LED_180269DetDiag_180269OK
3123180267LED200030.10.201120:38:14133128LED_180267DetDiag_180267OK
3124180265LED200030.10.201119:46:13133128LED_180265DetDiag_180265OK
3125180260LED200030.10.201118:43:14133128LED_180260DetDiag_180260OK
3126180215LED200029.10.201113:52:14133128LED_180215DetDiag_180215OK
3127180204LED200029.10.201112:26:13133128LED_180204DetDiag_180204OK
3128180187LED200028.10.201121:38:13133128LED_180187DetDiag_180187OK
3129180168LED200028.10.201118:28:14133128LED_180168DetDiag_180168OK
3130180017LED200027.10.201114:20:16133128LED_180017DetDiag_180017OK
3131179614LED200024.10.201116:56:25133128LED_179614DetDiag_179614OK
3132178935LED200017.10.201116:11:14133128LED_178935DetDiag_178935OK
3133178752LED200015.10.201121:19:14133128LED_178752DetDiag_178752OK
3134178561LED200014.10.201116:19:13133128LED_178561DetDiag_178561OK
3135178457LED200013.10.201117:43:13133128LED_178457DetDiag_178457OK
3136178453LED200013.10.201117:13:13133128LED_178453DetDiag_178453OK
3137178393LED200012.10.201118:04:15133128LED_178393DetDiag_178393OK
3138178235LED200011.10.201110:26:16133128LED_178235DetDiag_178235OK
3139178164LED200010.10.201110:10:15133128LED_178164DetDiag_178164OK
3140178126LED200009.10.201118:51:28133128LED_178126DetDiag_178126OK
3141178125LED200009.10.201118:50:15133128LED_178125DetDiag_178125OK
3142178089LED200008.10.201110:47:19133128LED_178089DetDiag_178089OK
3143177682LED200001.10.201113:13:14133128LED_177682DetDiag_177682OK
3144177324LED200010.10.201116:23:20133128LED_177324DetDiag_177324OK
3145177113LED200025.09.201110:14:16133128LED_177113DetDiag_177113OK
3146177027LED200023.09.201114:13:14133128LED_177027DetDiag_177027OK
3147176872LED200021.09.201122:34:15133128LED_176872DetDiag_176872OK
3148176719LED200019.09.201113:01:13133128LED_176719DetDiag_176719OK
3149176706LED200019.09.201112:01:15133128LED_176706DetDiag_176706OK
3150176620LED200017.09.201114:28:15133128LED_176620DetDiag_176620OK
3151176582LED200010.10.201116:21:09133128LED_176582DetDiag_176582OK
3152176383LED200014.09.201120:52:15133128LED_176383DetDiag_176383OK
3153176183LED200012.09.201117:52:15133128LED_176183DetDiag_176183OK
3154176078LED200011.09.201111:58:14133128LED_176078DetDiag_176078OK
3155175922LED200009.09.201114:52:13133128LED_175922DetDiag_175922OK
3156175582LED200005.09.201110:28:14133128LED_175582DetDiag_175582OK
3157175336LED200002.09.201113:40:21133128LED_175336DetDiag_175336OK
3158175325LED200002.09.201112:38:15133128LED_175325DetDiag_175325OK
3159174853LED200029.08.201121:25:14133128LED_174853DetDiag_174853OK
3160173558LED200019.08.201112:11:26133128LED_173558DetDiag_173558OK
3161173556LED200019.08.201112:10:13133128LED_173556DetDiag_173556OK
3162173502LED200019.08.201109:47:14133128LED_173502DetDiag_173502OK
3163173469LED200018.08.201118:55:13133128LED_173469DetDiag_173469OK
3164173350LED200016.08.201112:53:13133128LED_173350DetDiag_173350OK
3165173065LED200011.08.201112:20:15133128LED_173065DetDiag_173065OK
3166172929LED200008.08.201120:31:13133128LED_172929DetDiag_172929OK
3167172702LED200004.08.201114:38:15133128LED_172702DetDiag_172702OK
3168172607LED200004.08.201101:02:14133128LED_172607DetDiag_172607OK
3169172377LED200001.08.201118:32:16133128LED_172377DetDiag_172377OK
3170171672LED200026.07.201110:56:15133128LED_171672DetDiag_171672OK
3171170943LED200021.07.201119:27:15133128LED_170943DetDiag_170943OK
3172170072LED200015.07.201112:08:14133128LED_170072DetDiag_170072OK
3173169949LED200014.07.201113:14:15133128LED_169949DetDiag_169949OK
3174169698LED200011.07.201122:28:13133128LED_169698DetDiag_169698OK
3175169697LED200011.07.201122:25:16133128LED_169697DetDiag_169697OK
3176169695LED200011.07.201122:20:25133128LED_169695DetDiag_169695OK
3177169694LED200011.07.201122:19:13133128LED_169694DetDiag_169694OK
3178169693LED200011.07.201122:10:14133128LED_169693DetDiag_169693OK
3179169692LED200011.07.201122:08:29133128LED_169692DetDiag_169692OK
3180169691LED200011.07.201122:07:15133128LED_169691DetDiag_169691OK
3181169207LED200007.07.201113:58:13133128LED_169207DetDiag_169207OK
3182168704LED500005.07.201110:29:13133128LED_168704DetDiag_168704OK
3183168703LED500005.07.201110:20:13133128LED_168703DetDiag_168703OK
3184168701LED500005.07.201110:11:13133128LED_168701DetDiag_168701OK
3185168698LED500005.07.201110:05:13133128LED_168698DetDiag_168698OK
3186168696LED500005.07.201109:56:13133128LED_168696DetDiag_168696OK
3187168692LED500005.07.201109:38:14133128LED_168692DetDiag_168692OK
3188168611LED200004.07.201118:01:17133128LED_168611DetDiag_168611OK
3189168553LED200004.07.201109:16:14133128LED_168553DetDiag_168553OK
3190168214LED200030.06.201115:01:13133128LED_168214DetDiag_168214OK
3191167449LED200023.06.201112:40:13133128LED_167449DetDiag_167449OK
3192167448LED200023.06.201112:37:15133128LED_167448DetDiag_167448OK
3193167377LED200022.06.201112:25:13133128LED_167377DetDiag_167377OK
3194167226LED200020.06.201110:28:15133128LED_167226DetDiag_167226OK
3195166796LED200010.06.201109:02:14133128LED_166796DetDiag_166796OK
3196166772LED200009.06.201108:37:13133128LED_166772DetDiag_166772OK
3197166626LED200007.06.201111:40:13133128LED_166626DetDiag_166626OK
3198166599LED200007.06.201110:34:12133128LED_166599DetDiag_166599OK
3199166583LED200007.06.201110:07:13133128LED_166583DetDiag_166583OK
3200166271LED200001.06.201110:52:15133128LED_166271DetDiag_166271OK
3201166107LED200030.05.201118:43:13133128LED_166107DetDiag_166107OK
3202165685LED200025.05.201116:49:13133128LED_165685DetDiag_165685OK
3203165671LED200025.05.201115:58:13133128LED_165671DetDiag_165671OK
3204164654LED200012.05.201110:53:15133128LED_164654DetDiag_164654OK
3205163836LED200002.05.201116:04:15133128LED_163836DetDiag_163836OK
3206163825LED200002.05.201113:37:13133128LED_163825DetDiag_163825OK
3207162728LED200015.04.201109:16:12133128LED_162728DetDiag_162728OK
3208162719LED200015.04.201108:43:14133128LED_162719DetDiag_162719OK
3209162086LED200006.04.201112:10:14133128LED_162086DetDiag_162086OK
3210162084LED200006.04.201112:05:15133128LED_162084DetDiag_162084OK
3211161521LED200029.03.201111:25:13133128LED_161521DetDiag_161521OK
3212161510LED200029.03.201110:46:14133128LED_161510DetDiag_161510OK
3213160661LED200017.03.201110:19:13133128LED_160661DetDiag_160661OK
3214160534LED200015.03.201113:49:14133128LED_160534DetDiag_160534OK
3215160371LED200013.03.201111:38:15133128LED_160371DetDiag_160371OK
3216159854LED200007.03.201117:22:14133128LED_159854DetDiag_159854OK
3217159834LED200007.03.201112:07:14133128LED_159834DetDiag_159834OK
3218159666LED200003.03.201122:37:13133128LED_159666DetDiag_159666OK
3219159428LED200002.03.201113:01:16133128LED_159428DetDiag_159428OK
3220158995LED200025.02.201114:58:14133128LED_158995DetDiag_158995OK
3221158978LED200025.02.201113:16:14133128LED_158978DetDiag_158978OK
3222158965LED200025.02.201112:37:14133128LED_158965DetDiag_158965OK
3223158749LED200023.02.201119:28:13133128LED_158749DetDiag_158749OK
3224158539LED200021.02.201119:01:15133128LED_158539DetDiag_158539OK
3225158529LED200021.02.201118:13:13133128LED_158529DetDiag_158529OK
3226158515LED200021.02.201116:36:03133128LED_158515DetDiag_158515OK
3227158514LED200021.02.201116:28:14133128LED_158514DetDiag_158514OK
3228158476LED200021.02.201113:40:13133128LED_158476DetDiag_158476OK
3229158474LED200021.02.201113:25:14133128LED_158474DetDiag_158474OK
3230158461LED200021.02.201111:13:13133128LED_158461DetDiag_158461OK
3231158455LED200021.02.201109:58:13133128LED_158455DetDiag_158455OK
3232158228LED200018.02.201113:22:14133128LED_158228DetDiag_158228OK
3233158192LED200017.02.201120:16:13133128LED_158192DetDiag_158192OK
3234158110LED200017.02.201111:16:13133128LED_158110DetDiag_158110OK
3235158109LED200017.02.201111:10:13133128LED_158109DetDiag_158109OK
3236158108LED200017.02.201111:04:12133128LED_158108DetDiag_158108OK
3237158106LED200017.02.201110:58:13133128LED_158106DetDiag_158106OK
3238158104LED200017.02.201110:43:13133128LED_158104DetDiag_158104OK
3239158101LED200017.02.201110:37:13133128LED_158101DetDiag_158101OK
3240157910LED200015.02.201113:01:16133128LED_157910DetDiag_157910OK
3241157903LED200015.02.201112:37:12133128LED_157903DetDiag_157903OK
3242157900LED200015.02.201112:25:13133128LED_157900DetDiag_157900OK
3243157888LED200015.02.201110:46:12133128LED_157888DetDiag_157888OK
3244157799LED200014.02.201113:22:14133128LED_157799DetDiag_157799OK
3245157792LED200014.02.201112:13:13133128LED_157792DetDiag_157792OK
3246157791LED200014.02.201112:04:13133128LED_157791DetDiag_157791OK
3247157789LED200014.02.201111:52:13133128LED_157789DetDiag_157789OK
3248157782LED200014.02.201110:43:12133128LED_157782DetDiag_157782OK
3249157780LED200014.02.201110:31:13133128LED_157780DetDiag_157780OK
3250157779LED200014.02.201110:10:14133128LED_157779DetDiag_157779OK
3251157778LED200014.02.201109:55:12133128LED_157778DetDiag_157778OK
3252157527LED200011.02.201113:13:14133128LED_157527DetDiag_157527OK
3253157525LED200011.02.201113:04:14133128LED_157525DetDiag_157525OK
3254157519LED200011.02.201112:55:13133128LED_157519DetDiag_157519OK
3255157490LED200011.02.201111:01:13133128LED_157490DetDiag_157490OK
3256157477LED200011.02.201109:28:13133128LED_157477DetDiag_157477OK
3257157125LED200009.02.201111:37:13133128LED_157125DetDiag_157125OK
3258157122LED200009.02.201111:29:13133128LED_157122DetDiag_157122OK
3259157118LED200009.02.201111:22:13133128LED_157118DetDiag_157118OK
3260156640LED500003.02.201119:08:16133128LED_156640DetDiag_156640OK
3261153528LED200007.12.201011:45:13133128LED_153528DetDiag_153528OK
3262152912LED500003.12.201011:13:13133128LED_152912DetDiag_152912OK
3263152890LED200003.12.201008:21:13133128LED_152890DetDiag_152890OK
3264152806LED200002.12.201010:30:13133128LED_152806DetDiag_152806OK
3265152687LED200029.11.201009:54:13133128LED_152687DetDiag_152687OK
3266152686LED200029.11.201009:42:13133128LED_152686DetDiag_152686OK
3267151621LED200019.11.201012:09:15133128LED_151621DetDiag_151621OK
3268151253LED200016.11.201011:09:12133128LED_151253DetDiag_151253OK
3269151245LED200016.11.201009:39:13133128LED_151245DetDiag_151245OK
3270151243LED200016.11.201009:27:14133128LED_151243DetDiag_151243OK
3271151222LED200015.11.201022:25:17133128LED_151222DetDiag_151222OK
3272150719LED200010.11.201016:03:12133128LED_150719DetDiag_150719OK
3273150512LED200009.11.201014:48:12133128LED_150512DetDiag_150512OK
3274149169LED200027.10.201020:36:12133128LED_149169DetDiag_149169OK
3275149123LED500027.10.201016:11:14133128LED_149123DetDiag_149123OK
3276149121LED500027.10.201016:02:13133128LED_149121DetDiag_149121OK
3277149118LED500027.10.201015:41:13133128LED_149118DetDiag_149118OK
3278149117LED500027.10.201015:32:13133128LED_149117DetDiag_149117OK
3279149116LED500027.10.201015:23:13133128LED_149116DetDiag_149116OK
3280149107LED500027.10.201014:54:13133128LED_149107DetDiag_149107OK
3281149103LED500027.10.201014:37:15133128LED_149103DetDiag_149103OK
3282149096LED500027.10.201013:49:18133128LED_149096DetDiag_149096OK
3283149086LED200027.10.201011:09:13133128LED_149086DetDiag_149086OK
3284148788LED200024.10.201000:39:13133128LED_148788DetDiag_148788OK
3285148771LED200023.10.201021:45:13133128LED_148771DetDiag_148771OK
3286148770LED200023.10.201021:33:13133128LED_148770DetDiag_148770OK
3287148769LED200023.10.201021:15:12133128LED_148769DetDiag_148769OK
3288148768LED200023.10.201021:03:14133128LED_148768DetDiag_148768OK
3289148767LED200023.10.201020:48:13133128LED_148767DetDiag_148767OK
3290148766LED200023.10.201020:30:13133128LED_148766DetDiag_148766OK
3291148759LED200023.10.201020:06:15133128LED_148759DetDiag_148759OK
3292148746LED200023.10.201019:51:14133128LED_148746DetDiag_148746OK
3293148732LED200023.10.201019:36:13133128LED_148732DetDiag_148732OK
3294148722LED200023.10.201019:21:13133128LED_148722DetDiag_148722OK
3295148716LED200023.10.201018:36:12133128LED_148716DetDiag_148716OK
3296148522LED200021.10.201021:45:14133128LED_148522DetDiag_148522OK
3297148521LED200021.10.201021:39:14133128LED_148521DetDiag_148521OK
3298148393LED200021.10.201012:33:14133128LED_148393DetDiag_148393OK
3299148387LED200021.10.201011:54:13133128LED_148387DetDiag_148387OK
3300148259LED200020.10.201010:15:14133128LED_148259DetDiag_148259OK
3301148246LED200020.10.201008:31:13133128LED_148246DetDiag_148246OK
3302148245LED200020.10.201008:21:17133128LED_148245DetDiag_148245OK
3303148133LED500019.10.201008:36:14133128LED_148133DetDiag_148133OK
3304146920LED200029.09.201013:45:12133128LED_146920DetDiag_146920OK
3305145618LED200013.09.201013:25:13133128LED_145618DetDiag_145618OK
3306145613LED200013.09.201012:07:13133128LED_145613DetDiag_145613OK
3307145612LED200013.09.201012:04:12133128LED_145612DetDiag_145612OK
3308145611LED200013.09.201011:57:12133128LED_145611DetDiag_145611OK
3309145609LED200013.09.201011:46:14133128LED_145609DetDiag_145609OK
3310145608LED200013.09.201011:36:13133128LED_145608DetDiag_145608OK
3311145607LED200013.09.201011:30:14133128LED_145607DetDiag_145607OK
3312145605LED200013.09.201011:24:12133128LED_145605DetDiag_145605OK
3313145604LED200013.09.201011:21:13133128LED_145604DetDiag_145604OK
3314145595LED200013.09.201010:57:13133128LED_145595DetDiag_145595OK
3315145594LED200013.09.201010:54:13133128LED_145594DetDiag_145594OK
3316145593LED200013.09.201010:52:12133128LED_145593DetDiag_145593OK
3317145592LED200013.09.201010:48:13133128LED_145592DetDiag_145592OK
3318145591LED200013.09.201010:42:13133128LED_145591DetDiag_145591OK
3319145589LED200013.09.201010:39:12133128LED_145589DetDiag_145589OK
3320145588LED200013.09.201010:33:14133128LED_145588DetDiag_145588OK
3321145587LED200013.09.201010:27:12133128LED_145587DetDiag_145587OK
3322145420LED400010.09.201016:24:13133128LED_145420DetDiag_145420OK
3323145314LED400009.09.201011:24:13133128LED_145314DetDiag_145314OK
3324145309LED400009.09.201011:12:12133128LED_145309DetDiag_145309OK
3325145305LED400009.09.201011:00:13133128LED_145305DetDiag_145305OK
3326145302LED400009.09.201010:06:13133128LED_145302DetDiag_145302OK
3327145294LED400009.09.201009:18:14133128LED_145294DetDiag_145294OK
3328144934LED200005.09.201010:30:12133128LED_144934DetDiag_144934OK
3329144933LED200005.09.201010:27:12133128LED_144933DetDiag_144933OK
3330144868LED200004.09.201010:40:12133128LED_144868DetDiag_144868OK
3331144867LED200004.09.201010:36:12133128LED_144867DetDiag_144867OK
3332144864LED200004.09.201010:30:13133128LED_144864DetDiag_144864OK
3333144847LED200003.09.201021:25:13133128LED_144847DetDiag_144847OK
3334144844LED200003.09.201020:48:12133128LED_144844DetDiag_144844OK
3335144725LED200002.09.201023:06:12133128LED_144725DetDiag_144725OK
3336144429LED200001.09.201014:54:12133128LED_144429DetDiag_144429OK
3337144421LED200001.09.201014:39:12133128LED_144421DetDiag_144421OK
3338144319LED200001.09.201008:22:13133128LED_144319DetDiag_144319OK
3339144204LED200030.08.201022:12:12133128LED_144204DetDiag_144204OK
3340144200LED200030.08.201021:57:12133128LED_144200DetDiag_144200OK
3341144199LED200030.08.201021:54:13133128LED_144199DetDiag_144199OK
3342144194LED200030.08.201021:18:13133128LED_144194DetDiag_144194OK
3343143881LED400025.08.201011:33:15133128LED_143881DetDiag_143881OK
3344143879LED400025.08.201011:30:12133128LED_143879DetDiag_143879OK
3345143878LED400025.08.201011:24:14133128LED_143878DetDiag_143878OK
3346143877LED400025.08.201011:21:13133128LED_143877DetDiag_143877OK
3347143876LED400025.08.201011:15:12133128LED_143876DetDiag_143876OK
3348143874LED400025.08.201011:12:13133128LED_143874DetDiag_143874OK
3349143870LED400025.08.201011:00:13133128LED_143870DetDiag_143870OK
3350143869LED400025.08.201010:57:13133128LED_143869DetDiag_143869OK
3351143864LED400025.08.201010:24:12133128LED_143864DetDiag_143864OK
3352143843LED200025.08.201009:49:13133128LED_143843DetDiag_143843OK
3353143617LED200022.08.201012:12:13133128LED_143617DetDiag_143617OK
3354143528LED200021.08.201013:42:12133128LED_143528DetDiag_143528OK
3355143494LED200021.08.201009:21:13133128LED_143494DetDiag_143494OK
3356143467LED200020.08.201020:21:13133128LED_143467DetDiag_143467OK
3357143265LED400019.08.201012:54:13133128LED_143265DetDiag_143265OK
3358143257LED400019.08.201012:30:14133128LED_143257DetDiag_143257OK
3359143250LED400019.08.201012:18:13133128LED_143250DetDiag_143250OK
3360143248LED400019.08.201012:03:12133128LED_143248DetDiag_143248OK
3361143247LED400019.08.201011:48:12133128LED_143247DetDiag_143247OK
3362143237LED200019.08.201010:42:12133128LED_143237DetDiag_143237OK
3363143236LED200019.08.201010:39:13133128LED_143236DetDiag_143236OK
3364143235LED200019.08.201010:24:13133128LED_143235DetDiag_143235OK
3365143233LED200019.08.201009:40:13133128LED_143233DetDiag_143233OK
3366143138LED400017.08.201014:45:13133128LED_143138DetDiag_143138OK
3367143094LED200017.08.201000:51:12133128LED_143094DetDiag_143094OK
3368143026LED500016.08.201013:34:12133128LED_143026DetDiag_143026OK
3369143025LED500016.08.201013:10:13133128LED_143025DetDiag_143025OK
3370142978LED200015.08.201014:34:13133128LED_142978DetDiag_142978OK
3371142565LED200009.08.201010:51:13133128LED_142565DetDiag_142565OK
3372142357LED200005.08.201016:49:13133128LED_142357DetDiag_142357OK
3373142092LED200001.08.201012:25:13133128LED_142092DetDiag_142092OK
3374141895LED200029.07.201013:01:13133128LED_141895DetDiag_141895OK
3375141674LED200026.07.201012:37:13133128LED_141674DetDiag_141674OK
3376141588LED200024.07.201023:51:13133128LED_141588DetDiag_141588OK
3377141476LED200023.07.201016:13:13133128LED_141476DetDiag_141476OK
3378141434LED200023.07.201013:58:14133128LED_141434DetDiag_141434OK
3379141431LED200023.07.201013:55:24133128LED_141431DetDiag_141431OK
3380141422LED200023.07.201013:55:12133128LED_141422DetDiag_141422OK
3381141419LED200023.07.201013:51:13133128LED_141419DetDiag_141419OK
3382141391LED200022.07.201020:39:13133128LED_141391DetDiag_141391OK
3383140711LED200020.07.201019:57:12133128LED_140711DetDiag_140711OK
3384140408LED200019.07.201010:19:14133128LED_140408DetDiag_140408OK
3385139799LED200009.07.201013:00:12133128LED_139799DetDiag_139799OK
3386139716LED200008.07.201012:00:13133128LED_139716DetDiag_139716OK
3387139713LED200008.07.201011:52:16133128LED_139713DetDiag_139713OK
3388139597LED200007.07.201011:33:12133128LED_139597DetDiag_139597OK
3389139553LED200006.07.201021:03:13133128LED_139553DetDiag_139553OK
3390139516LED200006.07.201014:33:13133128LED_139516DetDiag_139516OK
3391139509LED200006.07.201013:48:13133128LED_139509DetDiag_139509OK
3392139504LED200006.07.201013:25:13133128LED_139504DetDiag_139504OK
3393139478LED200006.07.201010:21:12133128LED_139478DetDiag_139478OK
3394139477LED200006.07.201010:09:12133128LED_139477DetDiag_139477OK
3395139476LED200006.07.201010:03:13133128LED_139476DetDiag_139476OK
3396139311LED200003.07.201014:21:12133128LED_139311DetDiag_139311OK
3397139310LED200003.07.201014:18:13133128LED_139310DetDiag_139310OK
3398139309LED200003.07.201014:10:14133128LED_139309DetDiag_139309OK
3399139306LED200003.07.201013:43:12133128LED_139306DetDiag_139306OK
3400138024LED200017.06.201018:21:12133128LED_138024DetDiag_138024OK
3401137862LED200016.06.201018:30:13133128LED_137862DetDiag_137862OK
3402137763LED200015.06.201020:07:17133128LED_137763DetDiag_137763OK
3403137638LED200014.06.201010:06:12133128LED_137638DetDiag_137638OK
3404136952LED200003.06.201013:54:12133128LED_136952DetDiag_136952OK
3405136816LED200002.06.201015:42:12133128LED_136816DetDiag_136816OK
3406136651LED200031.05.201021:24:11133128LED_136651DetDiag_136651OK
3407136531LED200030.05.201012:46:12133128LED_136531DetDiag_136531OK
3408136175LED200025.05.201019:57:13133128LED_136175DetDiag_136175OK
3409135539LED200016.05.201015:37:14133128LED_135539DetDiag_135539OK
3410135253LED200011.05.201010:36:12133128LED_135253DetDiag_135253OK
3411135077LED500007.05.201013:28:13133128LED_135077DetDiag_135077OK
3412135014LED200006.05.201017:46:12133128LED_135014DetDiag_135014OK
3413134911LED200004.05.201018:37:16133128LED_134911DetDiag_134911OK
3414134909LED200004.05.201018:28:13133128LED_134909DetDiag_134909OK
3415134783LED200004.05.201001:58:13133128LED_134783DetDiag_134783OK
3416134568LED200030.04.201014:28:14133128LED_134568DetDiag_134568OK
3417133128LED200015.04.201016:13:24133128LED_133128DetDiag_133128OK
1327681LASER100002018-12-0517:25:18327681LASER_327681NOOK
2327680LASER10002018-12-0517:14:43327680LASER_327680NOOK
3327678LASER100002018-12-0517:00:14327678LASER_327678NOOK
4327672LASER100002018-12-0516:45:38327672LASER_327672NOOK
5326448LASER100002018-11-0914:57:17326448LASER_326448NOOK
6326447LASER100002018-11-0914:47:47326447LASER_326447NOOK
7326445LASER100002018-11-0914:39:09326445LASER_326445NOOK
8326444LASER100002018-11-0914:16:55326444LASER_326444NOOK
9325638LASER100002018-11-0111:20:43325638LASER_325638NOOK
10325636LASER100002018-11-0111:09:42325636LASER_325636NOOK
11325635LASER100002018-11-0111:00:43325635LASER_325635NOOK
12325634LASER100002018-11-0110:50:44325634LASER_325634NOOK
13325452LASER100002018-10-2920:17:27325452LASER_325452NOOK
14325451LASER100002018-10-2920:08:58325451LASER_325451NOOK
15325266LASER100002018-10-2511:28:35325266LASER_325266NOOK
16325265LASER100002018-10-2511:19:52325265LASER_325265NOOK
17324927LASER100002018-10-1909:39:28324927LASER_324927NOOK
18324922LASER100002018-10-1909:26:17324922LASER_324922NOOK
19324704LASER100002018-10-1519:20:51324704LASER_324704NOOK
20324703LASER100002018-10-1519:11:34324703LASER_324703NOOK
21324677LASER100002018-10-1514:26:11324677LASER_324677NOOK
22324676LASER100002018-10-1514:18:41324676LASER_324676NOOK
23324589LASER100002018-10-1420:04:59324589LASER_324589NOOK
24324230LASER20002018-10-0718:57:26324230LASER_324230NOOK
25324229LASER20002018-10-0718:52:12324229LASER_324229NOOK
26324228LASER20002018-10-0718:46:02324228LASER_324228NOOK
27324227LASER100002018-10-0718:40:34324227LASER_324227NOOK
28324226LASER100002018-10-0718:31:49324226LASER_324226NOOK
29324217LASER100002018-10-0717:38:34324217LASER_324217NOOK
30324216LASER100002018-10-0717:29:53324216LASER_324216NOOK
31324144LASER20002018-10-0518:01:26324144LASER_324144NOOK
32324143LASER20002018-10-0517:54:21324143LASER_324143NOOK
33324142LASER20002018-10-0517:48:35324142LASER_324142NOOK
34324141LASER100002018-10-0517:42:59324141LASER_324141NOOK
35324140LASER100002018-10-0517:33:50324140LASER_324140NOOK
36324139LASER100002018-10-0517:29:30324139LASER_324139NOOK
37324109LASER100002018-10-0511:25:59324109LASER_324109NOOK
38324106LASER100002018-10-0511:17:16324106LASER_324106NOOK
39324097LASER700002018-10-0509:57:45324097LASER_324097NOOK
40324096LASER700002018-10-0509:56:43324096LASER_324096NOOK
41324095LASER700002018-10-0509:53:40324095LASER_324095NOOK
42324092LASER700002018-10-0509:52:36324092LASER_324092NOOK
43324085LASER700002018-10-0509:46:19324085LASER_324085NOOK
44324082LASER700002018-10-0509:16:45324082LASER_324082NOOK
45324081LASER700002018-10-0508:56:15324081LASER_324081NOOK
46324080LASER700002018-10-0508:51:35324080LASER_324080NOOK
47323748LASER20002018-09-3006:57:42323748LASER_323748NOOK
48323747LASER20002018-09-3006:50:26323747LASER_323747NOOK
49323746LASER20002018-09-3006:43:59323746LASER_323746NOOK
50323745LASER100002018-09-3006:37:10323745LASER_323745NOOK
51323743LASER100002018-09-3006:27:09323743LASER_323743NOOK
52323736LASER100002018-09-3005:39:29323736LASER_323736NOOK
53323735LASER100002018-09-3005:29:53323735LASER_323735NOOK
54323584LASER20002018-09-2620:14:52323584LASER_323584NOOK
55323582LASER20002018-09-2619:59:50323582LASER_323582NOOK
56323581LASER100002018-09-2619:52:56323581LASER_323581NOOK
57323506LASER100002018-09-2515:34:57323506LASER_323506NOOK
58323505LASER100002018-09-2514:56:40323505LASER_323505NOOK
59322861LASER100002018-09-1711:07:46322861LASER_322861NOOK
60322859LASER100002018-09-1710:57:13322859LASER_322859NOOK
61322834LASER100002018-09-1708:19:35322834LASER_322834NOOK
62322832LASER100002018-09-1708:09:07322832LASER_322832NOOK
63322421LASER100002018-09-0722:59:30322421LASER_322421NOOK
64322420LASER100002018-09-0722:50:10322420LASER_322420NOOK
65322412LASER100002018-09-0721:58:49322412LASER_322412NOOK
66322411LASER100002018-09-0721:49:29322411LASER_322411NOOK
67322273LASER20002018-09-0508:10:39322273LASER_322273NOOK
68322270LASER20002018-09-0508:02:06322270LASER_322270NOOK
69322268LASER20002018-09-0507:55:36322268LASER_322268NOOK
70322266LASER100002018-09-0507:48:52322266LASER_322266NOOK
71322265LASER100002018-09-0507:39:58322265LASER_322265NOOK
72322242LASER100002018-09-0419:16:50322242LASER_322242NOOK
73322241LASER100002018-09-0419:08:12322241LASER_322241NOOK
74322162LASER100002018-09-0314:02:06322162LASER_322162NOOK
75322161LASER100002018-09-0314:00:54322161LASER_322161NOOK
76321890LASER100002018-08-2808:42:27321890LASER_321890NOOK
77321876LASER10002018-08-2717:33:18321876LASER_321876NOOK
78321873LASER10002018-08-2717:07:19321873LASER_321873NOOK
79321863LASER10002018-08-2715:48:21321863LASER_321863NOOK
80321860LASER10002018-08-2715:22:45321860LASER_321860NOOK
81321858LASER10002018-08-2715:05:25321858LASER_321858NOOK
82321854LASER10002018-08-2714:34:16321854LASER_321854NOOK
83321812LASER100002018-08-2609:01:36321812LASER_321812NOOK
84321811LASER100002018-08-2608:59:40321811LASER_321811NOOK
85321809LASER20002018-08-2608:45:29321809LASER_321809NOOK
86321808LASER100002018-08-2608:16:33321808LASER_321808NOOK
87321805LASER100002018-08-2606:35:10321805LASER_321805NOOK
88321703LASER20002018-08-2309:30:31321703LASER_321703NOOK
89321700LASER20002018-08-2309:24:46321700LASER_321700NOOK
90321697LASER20002018-08-2309:18:59321697LASER_321697NOOK
91321591LASER100002018-08-2116:10:13321591LASER_321591NOOK
92321590LASER100002018-08-2116:01:16321590LASER_321590NOOK
93321575LASER100002018-08-2115:04:37321575LASER_321575NOOK
94321571LASER100002018-08-2114:53:42321571LASER_321571NOOK
95321454LASER20002018-08-1906:31:36321454LASER_321454NOOK
96321453LASER20002018-08-1906:25:28321453LASER_321453NOOK
97321452LASER20002018-08-1906:17:04321452LASER_321452NOOK
98321450LASER100002018-08-1906:11:15321450LASER_321450NOOK
99321449LASER100002018-08-1906:01:16321449LASER_321449NOOK
100321448LASER10002018-08-1905:50:56321448LASER_321448NOOK
101321444LASER100002018-08-1905:11:49321444LASER_321444NOOK
102321422LASER100002018-08-1812:24:29321422LASER_321422NOOK
103321418LASER100002018-08-1812:16:40321418LASER_321418NOOK
104321368LASER20002018-08-1613:55:44321368LASER_321368NOOK
105321367LASER20002018-08-1613:47:08321367LASER_321367NOOK
106321366LASER20002018-08-1613:38:31321366LASER_321366NOOK
107321363LASER100002018-08-1613:29:33321363LASER_321363NOOK
108321362LASER100002018-08-1613:08:24321362LASER_321362NOOK
109321355LASER100002018-08-1611:55:49321355LASER_321355NOOK
110321353LASER100002018-08-1611:38:15321353LASER_321353NOOK
111321326LASER100002018-08-1606:43:25321326LASER_321326NOOK
112321325LASER100002018-08-1606:19:27321325LASER_321325NOOK
113321324LASER100002018-08-1606:10:35321324LASER_321324NOOK
114321195LASER100002018-08-1308:59:18321195LASER_321195NOOK
115321193LASER100002018-08-1308:47:50321193LASER_321193NOOK
116321044LASER20002018-08-0818:01:12321044LASER_321044NOOK
117321042LASER20002018-08-0817:55:28321042LASER_321042NOOK
118321041LASER20002018-08-0817:49:36321041LASER_321041NOOK
119321040LASER100002018-08-0817:43:33321040LASER_321040NOOK
120321039LASER10002018-08-0817:36:55321039LASER_321039NOOK
121321037LASER100002018-08-0817:30:33321037LASER_321037NOOK
122321031LASER100002018-08-0816:49:59321031LASER_321031NOOK
123321030LASER100002018-08-0816:41:07321030LASER_321030NOOK
124320878LASER20002018-08-0520:29:05320878LASER_320878NOOK
125320876LASER100002018-08-0520:17:43320876LASER_320876NOOK
126320874LASER100002018-08-0520:08:44320874LASER_320874NOOK
127320870LASER100002018-08-0519:22:09320870LASER_320870NOOK
128320868LASER100002018-08-0519:06:53320868LASER_320868NOOK
129320584LASER20002018-07-3110:29:43320584LASER_320584NOOK
130320583LASER20002018-07-3110:21:37320583LASER_320583NOOK
131320582LASER10002018-07-3110:14:35320582LASER_320582NOOK
132320581LASER100002018-07-3110:08:01320581LASER_320581NOOK
133320580LASER100002018-07-3109:56:28320580LASER_320580NOOK
134320576LASER100002018-07-3109:14:40320576LASER_320576NOOK
135320575LASER100002018-07-3109:04:54320575LASER_320575NOOK
136320367LASER20002018-07-2612:01:15320367LASER_320367NOOK
137320365LASER20002018-07-2611:49:53320365LASER_320365NOOK
138320364LASER20002018-07-2611:41:37320364LASER_320364NOOK
139320363LASER100002018-07-2611:33:17320363LASER_320363NOOK
140320362LASER100002018-07-2611:24:39320362LASER_320362NOOK
141320356LASER100002018-07-2610:47:16320356LASER_320356NOOK
142320355LASER100002018-07-2610:34:13320355LASER_320355NOOK
143320226LASER100002018-07-2510:02:18320226LASER_320226NOOK
144320224LASER100002018-07-2509:51:03320224LASER_320224NOOK
145320126LASER100002018-07-2315:11:57320126LASER_320126NOOK
146320124LASER20002018-07-2314:52:47320124LASER_320124NOOK
147320123LASER20002018-07-2314:45:24320123LASER_320123NOOK
148320121LASER20002018-07-2314:33:15320121LASER_320121NOOK
149320119LASER100002018-07-2314:26:25320119LASER_320119NOOK
150320118LASER10002018-07-2314:16:34320118LASER_320118NOOK
151320107LASER100002018-07-2313:33:31320107LASER_320107NOOK
152320106LASER100002018-07-2313:24:19320106LASER_320106NOOK
153319963LASER100002018-07-2008:28:56319963LASER_319963NOOK
154319614LASER100002018-07-1409:57:50319614LASER_319614NOOK
155319613LASER100002018-07-1409:45:18319613LASER_319613NOOK
156319608LASER100002018-07-1409:08:39319608LASER_319608NOOK
157319607LASER100002018-07-1408:59:42319607LASER_319607NOOK
158319522LASER20002018-07-1121:46:08319522LASER_319522NOOK
159319210LASER100002018-07-0416:17:15319210LASER_319210NOOK
160319208LASER20002018-07-0416:03:08319208LASER_319208NOOK
161319201LASER20002018-07-0414:05:13319201LASER_319201NOOK
162319200LASER100002018-07-0413:59:43319200LASER_319200NOOK
163319199LASER100002018-07-0413:51:17319199LASER_319199NOOK
164318764LASER20002018-06-2710:04:03318764LASER_318764NOOK
165318763LASER20002018-06-2709:57:03318763LASER_318763NOOK
166318761LASER20002018-06-2709:49:50318761LASER_318761NOOK
167318760LASER100002018-06-2709:44:00318760LASER_318760NOOK
168318759LASER100002018-06-2709:34:51318759LASER_318759NOOK
169318754LASER100002018-06-2708:50:31318754LASER_318754NOOK
170318753LASER100002018-06-2708:41:34318753LASER_318753NOOK
171318694LASER100002018-06-2613:28:49318694LASER_318694NOOK
172318692LASER100002018-06-2613:17:18318692LASER_318692NOOK
173318599LASER100002018-06-2515:49:03318599LASER_318599NOOK
174318597LASER100002018-06-2515:40:56318597LASER_318597NOOK
175318596LASER100002018-06-2515:32:08318596LASER_318596NOOK
176318595LASER100002018-06-2515:22:10318595LASER_318595NOOK
177318594LASER100002018-06-2515:11:24318594LASER_318594NOOK
178318593LASER100002018-06-2515:04:15318593LASER_318593NOOK
179318592LASER100002018-06-2514:58:34318592LASER_318592NOOK
180318591LASER100002018-06-2514:50:25318591LASER_318591NOOK
181318190LASER100002018-06-2109:03:01318190LASER_318190NOOK
182318188LASER100002018-06-2108:51:20318188LASER_318188NOOK
183317997LASER20002018-06-1820:51:53317997LASER_317997NOOK
184317996LASER20002018-06-1820:45:04317996LASER_317996NOOK
185317995LASER10002018-06-1820:37:52317995LASER_317995NOOK
186317994LASER10002018-06-1820:36:14317994LASER_317994NOOK
187317993LASER10002018-06-1820:35:29317993LASER_317993NOOK
188317992LASER100002018-06-1820:28:01317992LASER_317992NOOK
189317991LASER100002018-06-1820:15:54317991LASER_317991NOOK
190317990LASER100002018-06-1820:10:31317990LASER_317990NOOK
191317975LASER100002018-06-1810:23:30317975LASER_317975NOOK
192317967LASER100002018-06-1809:34:34317967LASER_317967NOOK
193317783LASER100002018-06-1408:38:08317783LASER_317783NOOK
194317782LASER100002018-06-1408:25:59317782LASER_317782NOOK
195317733LASER20002018-06-1214:38:02317733LASER_317733NOOK
196317732LASER100002018-06-1214:22:50317732LASER_317732NOOK
197317731LASER100002018-06-1213:37:56317731LASER_317731NOOK
198317724LASER100002018-06-1211:35:21317724LASER_317724NOOK
199317723LASER100002018-06-1211:17:42317723LASER_317723NOOK
200317679LASER100002018-06-1113:27:39317679LASER_317679NOOK
201317676LASER100002018-06-1113:15:16317676LASER_317676NOOK
202317597LASER100002018-06-0809:38:59317597LASER_317597NOOK
203317427LASER100002018-06-0420:22:44317427LASER_317427NOOK
204317426LASER100002018-06-0420:11:26317426LASER_317426NOOK
205317424LASER100002018-06-0419:16:24317424LASER_317424NOOK
206317423LASER100002018-06-0419:05:50317423LASER_317423NOOK
207317370LASER100002018-06-0310:07:22317370LASER_317370NOOK
208317369LASER100002018-06-0309:57:20317369LASER_317369NOOK
209317366LASER20002018-06-0309:20:29317366LASER_317366NOOK
210317365LASER20002018-06-0309:13:37317365LASER_317365NOOK
211317364LASER20002018-06-0309:06:23317364LASER_317364NOOK
212317361LASER100002018-06-0308:52:00317361LASER_317361NOOK
213317360LASER100002018-06-0308:41:13317360LASER_317360NOOK
214317359LASER100002018-06-0308:29:24317359LASER_317359NOOK
215317356LASER100002018-06-0308:18:52317356LASER_317356NOOK
216317332LASER100002018-06-0209:45:55317332LASER_317332NOOK
217317324LASER100002018-06-0209:01:27317324LASER_317324NOOK
218317311LASER100002018-06-0117:55:42317311LASER_317311NOOK
219317310LASER100002018-06-0117:46:12317310LASER_317310NOOK
220317307LASER100002018-06-0117:32:47317307LASER_317307NOOK
221317238LASER100002018-05-3110:17:03317238LASER_317238NOOK
222317237LASER100002018-05-3110:06:38317237LASER_317237NOOK
223317199LASER100002018-05-3019:47:27317199LASER_317199NOOK
224317198LASER100002018-05-3019:34:58317198LASER_317198NOOK
225317197LASER100002018-05-3019:24:34317197LASER_317197NOOK
226317195LASER100002018-05-3019:13:08317195LASER_317195NOOK
227317147LASER20002018-05-2914:20:56317147LASER_317147NOOK
228317145LASER20002018-05-2914:14:20317145LASER_317145NOOK
229317142LASER20002018-05-2914:07:12317142LASER_317142NOOK
230317137LASER100002018-05-2914:00:07317137LASER_317137NOOK
231317135LASER100002018-05-2913:49:13317135LASER_317135NOOK
232317123LASER100002018-05-2913:13:32317123LASER_317123NOOK
233317113LASER100002018-05-2912:49:51317113LASER_317113NOOK
234317109LASER100002018-05-2912:38:27317109LASER_317109NOOK
235317048LASER100002018-05-2813:22:36317048LASER_317048NOOK
236317044LASER200002018-05-2813:11:16317044LASER_317044NOOK
237317012LASER100002018-05-2810:17:10317012LASER_317012NOOK
238317009LASER100002018-05-2810:06:52317009LASER_317009NOOK
239317005LASER100002018-05-2809:52:38317005LASER_317005NOOK
240317003LASER100002018-05-2809:42:19317003LASER_317003NOOK
241317000LASER100002018-05-2809:26:18317000LASER_317000NOOK
242316970LASER100002018-05-2712:19:42316970LASER_316970NOOK
243316969LASER100002018-05-2712:06:02316969LASER_316969NOOK
244316967LASER100002018-05-2711:02:03316967LASER_316967NOOK
245316966LASER100002018-05-2710:47:30316966LASER_316966NOOK
246316888LASER100002018-05-2509:26:23316888LASER_316888NOOK
247316887LASER100002018-05-2509:16:43316887LASER_316887NOOK
248316885LASER100002018-05-2509:06:18316885LASER_316885NOOK
249316884LASER100002018-05-2508:50:18316884LASER_316884NOOK
250316838LASER20002018-05-2412:05:29316838LASER_316838NOOK
251316837LASER20002018-05-2411:59:03316837LASER_316837NOOK
252316836LASER20002018-05-2411:52:39316836LASER_316836NOOK
253316834LASER100002018-05-2411:45:44316834LASER_316834NOOK
254316832LASER100002018-05-2411:35:02316832LASER_316832NOOK
255316822LASER100002018-05-2410:28:24316822LASER_316822NOOK
256316819LASER100002018-05-2410:19:37316819LASER_316819NOOK
257316818LASER100002018-05-2410:09:43316818LASER_316818NOOK
258316814LASER100002018-05-2409:42:02316814LASER_316814NOOK
259316812LASER100002018-05-2409:30:42316812LASER_316812NOOK
260316777LASER100002018-05-2320:51:00316777LASER_316777NOOK
261316776LASER100002018-05-2320:41:33316776LASER_316776NOOK
262316774LASER100002018-05-2320:32:16316774LASER_316774NOOK
263316772LASER100002018-05-2320:21:52316772LASER_316772NOOK
264316771LASER100002018-05-2320:11:46316771LASER_316771NOOK
265316748LASER100002018-05-2215:23:22316748LASER_316748NOOK
266316744LASER100002018-05-2215:12:49316744LASER_316744NOOK
267316673LASER100002018-05-2107:45:31316673LASER_316673NOOK
268316672LASER100002018-05-2107:34:50316672LASER_316672NOOK
269316671LASER100002018-05-2107:32:36316671LASER_316671NOOK
270316670LASER100002018-05-2107:14:30316670LASER_316670NOOK
271316669LASER100002018-05-2106:49:02316669LASER_316669NOOK
272316628LASER100002018-05-2012:22:29316628LASER_316628NOOK
273316625LASER100002018-05-2012:09:51316625LASER_316625NOOK
274316623LASER100002018-05-2011:56:39316623LASER_316623NOOK
275316622LASER100002018-05-2011:44:30316622LASER_316622NOOK
276316574LASER100002018-05-1916:01:54316574LASER_316574NOOK
277316573LASER100002018-05-1915:52:02316573LASER_316573NOOK
278316572LASER100002018-05-1915:38:47316572LASER_316572NOOK
279316570LASER100002018-05-1915:19:02316570LASER_316570NOOK
280316528LASER100002018-05-1810:47:53316528LASER_316528NOOK
281316527LASER10002018-05-1810:40:35316527LASER_316527NOOK
282316526LASER10002018-05-1810:39:42316526LASER_316526NOOK
283316523LASER100002018-05-1810:33:21316523LASER_316523NOOK
284316521LASER100002018-05-1810:23:41316521LASER_316521NOOK
285316520LASER100002018-05-1810:12:13316520LASER_316520NOOK
286316488LASER100002018-05-1718:29:23316488LASER_316488NOOK
287316484LASER10002018-05-1718:10:06316484LASER_316484NOOK
288316481LASER100002018-05-1717:56:43316481LASER_316481NOOK
289316479LASER100002018-05-1717:47:33316479LASER_316479NOOK
290316476LASER100002018-05-1717:38:22316476LASER_316476NOOK
291316402LASER100002018-05-1611:30:03316402LASER_316402NOOK
292316401LASER10002018-05-1611:25:05316401LASER_316401NOOK
293316397LASER100002018-05-1611:19:11316397LASER_316397NOOK
294316396LASER10002018-05-1611:14:10316396LASER_316396NOOK
295316392LASER100002018-05-1611:08:51316392LASER_316392NOOK
296316384LASER100002018-05-1610:56:30316384LASER_316384NOOK
297316309LASER100002018-05-1508:09:20316309LASER_316309NOOK
298316304LASER100002018-05-1508:00:03316304LASER_316304NOOK
299316303LASER10002018-05-1507:55:46316303LASER_316303NOOK
300316300LASER100002018-05-1507:49:14316300LASER_316300NOOK
301316298LASER100002018-05-1507:40:17316298LASER_316298NOOK
302316257LASER100002018-05-1420:57:45316257LASER_316257NOOK
303316253LASER100002018-05-1420:45:18316253LASER_316253NOOK
304316250LASER10002018-05-1420:34:29316250LASER_316250NOOK
305316248LASER100002018-05-1420:26:47316248LASER_316248NOOK
306316244LASER100002018-05-1420:13:03316244LASER_316244NOOK
307316194LASER200002018-05-1218:02:37316194LASER_316194NOOK
308316193LASER100002018-05-1217:45:39316193LASER_316193NOOK
309316192LASER200002018-05-1217:35:20316192LASER_316192NOOK
310316191LASER20002018-05-1217:17:16316191LASER_316191NOOK
311316190LASER10002018-05-1217:14:36316190LASER_316190NOOK
312316118LASER200002018-05-1111:22:16316118LASER_316118NOOK
313316117LASER200002018-05-1110:59:52316117LASER_316117NOOK
314316074LASER200002018-05-1011:27:51316074LASER_316074NOOK
315316071LASER200002018-05-1011:12:04316071LASER_316071NOOK
316315997LASER20002018-05-0910:32:25315997LASER_315997NOOK
317315994LASER20002018-05-0910:01:10315994LASER_315994NOOK
318315988LASER100002018-05-0909:33:45315988LASER_315988NOOK
319315979LASER200002018-05-0908:31:09315979LASER_315979NOOK
320315809LASER100002018-05-0714:10:42315809LASER_315809NOOK
321315808LASER100002018-05-0714:00:23315808LASER_315808NOOK
322315612LASER20002018-05-0215:41:15315612LASER_315612NOOK
323315609LASER20002018-05-0215:33:59315609LASER_315609NOOK
324315606LASER20002018-05-0215:26:29315606LASER_315606NOOK
325315604LASER100002018-05-0215:18:07315604LASER_315604NOOK
326315600LASER100002018-05-0215:07:22315600LASER_315600NOOK
327315591LASER100002018-05-0214:28:34315591LASER_315591NOOK
328315586LASER100002018-05-0214:17:35315586LASER_315586NOOK
329315442LASER20002018-04-3012:18:01315442LASER_315442NOOK
330315435LASER100002018-04-3011:52:53315435LASER_315435NOOK
331315276LASER100002018-04-2711:44:37315276LASER_315276NOOK
332315082LASER100002018-04-2416:16:59315082LASER_315082NOOK
333315064LASER100002018-04-2415:44:15315064LASER_315064NOOK
334315059LASER100002018-04-2415:20:43315059LASER_315059NOOK
335315056LASER100002018-04-2415:09:20315056LASER_315056NOOK
336314831LASER20002018-04-2110:46:55314831LASER_314831NOOK
337314818LASER700002018-04-2109:53:08314818LASER_314818NOOK
338314680LASER700002018-04-1910:15:56314680LASER_314680NOOK
339314677LASER20002018-04-1909:28:56314677LASER_314677NOOK
340314673LASER20002018-04-1909:19:51314673LASER_314673NOOK
341314605LASER20002018-04-1810:37:17314605LASER_314605NOOK
342314604LASER20002018-04-1810:28:26314604LASER_314604NOOK
343314603LASER20002018-04-1810:20:18314603LASER_314603NOOK
344314602LASER100002018-04-1810:10:13314602LASER_314602NOOK
345314601LASER10002018-04-1809:59:30314601LASER_314601NOOK
346314599LASER100002018-04-1809:50:15314599LASER_314599NOOK
347314592LASER100002018-04-1808:57:06314592LASER_314592NOOK
348314590LASER100002018-04-1808:43:57314590LASER_314590NOOK
349314320LASER20002018-04-1411:40:52314320LASER_314320NOOK
350314319LASER20002018-04-1411:34:10314319LASER_314319NOOK
351314317LASER20002018-04-1411:27:32314317LASER_314317NOOK
352314316LASER100002018-04-1411:21:00314316LASER_314316NOOK
353314314LASER100002018-04-1411:10:30314314LASER_314314NOOK
354314305LASER100002018-04-1410:27:09314305LASER_314305NOOK
355314302LASER100002018-04-1410:07:34314302LASER_314302NOOK
356314119LASER10002018-04-1216:40:20314119LASER_314119NOOK
357314049LASER20002018-04-1115:14:59314049LASER_314049NOOK
358314040LASER20002018-04-1111:03:44314040LASER_314040NOOK
359313909LASER700002018-04-1011:35:33313909LASER_313909NOOK
360313877LASER20002018-04-0918:06:09313877LASER_313877NOOK
361313875LASER20002018-04-0917:32:28313875LASER_313875NOOK
362313868LASER20002018-04-0916:59:56313868LASER_313868NOOK
363313867LASER20002018-04-0916:39:15313867LASER_313867NOOK
364313864LASER20002018-04-0916:34:24313864LASER_313864NOOK
365313749LASER10002018-04-0714:02:43313749LASER_313749NOOK
366313723LASER20002018-04-0709:52:38313723LASER_313723NOOK
367313642LASER100002018-04-0614:29:16313642LASER_313642NOOK
368313638LASER100002018-04-0614:17:35313638LASER_313638NOOK
369313634LASER20002018-04-0614:04:23313634LASER_313634NOOK
370313602LASER20002018-04-0612:05:22313602LASER_313602NOOK
371313597LASER20002018-04-0611:43:49313597LASER_313597NOOK
372313450LASER100002018-04-0511:22:14313450LASER_313450NOOK
373313447LASER100002018-04-0510:54:19313447LASER_313447NOOK
374313440LASER100002018-04-0510:24:57313440LASER_313440NOOK
375313268LASER700002018-04-0316:55:37313268LASER_313268NOOK
376313191LASER700002018-04-0209:06:18313191LASER_313191NOOK
377313187LASER10002018-04-0119:10:08313187LASER_313187NOOK
378313172LASER700002018-04-0107:48:45313172LASER_313172NOOK
379313146LASER700002018-03-3108:43:56313146LASER_313146NOOK
380313145LASER100002018-03-3108:00:34313145LASER_313145NOOK
381313144LASER100002018-03-3107:50:40313144LASER_313144NOOK
382313104LASER20002018-03-2818:05:44313104LASER_313104NOOK
383313103LASER20002018-03-2817:58:02313103LASER_313103NOOK
384313102LASER100002018-03-2817:51:15313102LASER_313102NOOK
385313101LASER100002018-03-2817:39:18313101LASER_313101NOOK
386313100LASER100002018-03-2817:28:16313100LASER_313100NOOK
387313099LASER100002018-03-2817:18:21313099LASER_313099NOOK
388313095LASER20002018-03-2816:43:37313095LASER_313095NOOK
389313023LASER100002018-03-2811:28:42313023LASER_313023NOOK
390313022LASER100002018-03-2811:22:09313022LASER_313022NOOK
391313017LASER100002018-03-2811:02:28313017LASER_313017NOOK
392312998LASER100002018-03-2808:35:01312998LASER_312998NOOK
393312967LASER10002018-03-2717:37:20312967LASER_312967NOOK
394312918LASER100002018-03-2714:16:43312918LASER_312918NOOK
395312912LASER100002018-03-2713:59:51312912LASER_312912NOOK
396312859LASER100002018-03-2707:59:33312859LASER_312859NOOK
397312858LASER100002018-03-2707:53:29312858LASER_312858NOOK
398312723LASER100002018-03-2510:41:56312723LASER_312723NOOK
399312722LASER100002018-03-2510:29:08312722LASER_312722NOOK
400312721LASER100002018-03-2510:18:08312721LASER_312721NOOK
401312720LASER100002018-03-2510:06:55312720LASER_312720NOOK
402312719LASER100002018-03-2509:54:36312719LASER_312719NOOK
403312716LASER100002018-03-2509:19:40312716LASER_312716NOOK
404312715LASER100002018-03-2509:07:11312715LASER_312715NOOK
405312581LASER10002018-03-2312:48:58312581LASER_312581NOOK
406312410LASER100002018-03-2117:38:01312410LASER_312410NOOK
407312408LASER100002018-03-2117:19:47312408LASER_312408NOOK
408312405LASER100002018-03-2117:10:59312405LASER_312405NOOK
409312304LASER100002018-03-2109:35:41312304LASER_312304NOOK
410312303LASER100002018-03-2109:11:14312303LASER_312303NOOK
411311901LASER10002018-03-1511:03:43311901LASER_311901NOOK
412311861LASER10002018-03-1416:27:39311861LASER_311861NOOK
413311859LASER10002018-03-1416:24:34311859LASER_311859NOOK
414311812LASER10002018-03-1411:21:47311812LASER_311812NOOK
415311788LASER100002018-03-1321:07:28311788LASER_311788NOOK
416311782LASER100002018-03-1320:21:23311782LASER_311782NOOK
417311776LASER100002018-03-1319:27:25311776LASER_311776NOOK
418311775LASER100002018-03-1319:13:32311775LASER_311775NOOK
419311739LASER100002018-03-1316:22:18311739LASER_311739NOOK
420311736LASER100002018-03-1316:03:09311736LASER_311736NOOK
421311716LASER100002018-03-1315:41:27311716LASER_311716NOOK
422311714LASER100002018-03-1314:08:23311714LASER_311714NOOK
423311703LASER100002018-03-1313:20:34311703LASER_311703NOOK
424311694LASER100002018-03-1313:12:40311694LASER_311694NOOK
425311692LASER100002018-03-1312:27:30311692LASER_311692NOOK
426311465LASER10002018-03-1010:04:27311465LASER_311465NOOK
427311427LASER10002018-03-0916:39:55311427LASER_311427NOOK
428311425LASER10002018-03-0916:25:32311425LASER_311425NOOK
429311424LASER10002018-03-0916:19:15311424LASER_311424NOOK
430311423LASER20002018-03-0916:12:05311423LASER_311423NOOK
431311422LASER20002018-03-0916:06:36311422LASER_311422NOOK
432311421LASER20002018-03-0915:53:52311421LASER_311421NOOK
433311420LASER20002018-03-0915:52:06311420LASER_311420NOOK
434311418LASER20002018-03-0915:47:47311418LASER_311418NOOK
435311414LASER20002018-03-0915:41:28311414LASER_311414NOOK
436311328LASER100002018-03-0816:38:30311328LASER_311328NOOK
437311003LASER700002018-03-0519:37:23311003LASER_311003NOOK
438310860LASER100002018-03-0417:18:46310860LASER_310860NOOK
439310856LASER100002018-03-0318:51:58310856LASER_310856NOOK
440310855LASER100002018-03-0318:24:13310855LASER_310855NOOK
441310853LASER100002018-03-0312:20:52310853LASER_310853NOOK
442310852LASER100002018-03-0312:14:46310852LASER_310852NOOK
443310851LASER10002018-03-0312:01:01310851LASER_310851NOOK
444310842LASER100002018-03-0216:48:13310842LASER_310842NOOK
445310840LASER100002018-03-0214:30:26310840LASER_310840NOOK
446310839LASER100002018-03-0214:20:07310839LASER_310839NOOK
447310766LASER100002018-03-0111:19:44310766LASER_310766NOOK
448310763LASER10002018-03-0110:29:05310763LASER_310763NOOK
449310647LASER100002018-02-2809:12:12310647LASER_310647NOOK
450310646LASER100002018-02-2809:03:01310646LASER_310646NOOK
451310644LASER50002018-02-2808:46:56310644LASER_310644NOOK
452310643LASER50002018-02-2808:38:08310643LASER_310643NOOK
453310603LASER20002018-02-2715:24:01310603LASER_310603NOOK
454310602LASER20002018-02-2715:20:28310602LASER_310602NOOK
455310601LASER100002018-02-2715:14:48310601LASER_310601NOOK
456310600LASER50002018-02-2715:05:07310600LASER_310600NOOK
457310599LASER20002018-02-2715:02:20310599LASER_310599NOOK
458310565LASER10002018-02-2712:41:29310565LASER_310565NOOK
459310564LASER10002018-02-2712:25:13310564LASER_310564NOOK
460310563LASER100002018-02-2712:18:43310563LASER_310563NOOK
461310557LASER100002018-02-2712:07:40310557LASER_310557NOOK
462310555LASER100002018-02-2710:57:56310555LASER_310555NOOK
463310554LASER20002018-02-2710:49:05310554LASER_310554NOOK
464310553LASER20002018-02-2710:36:01310553LASER_310553NOOK
465310547LASER20002018-02-2710:24:07310547LASER_310547NOOK
466310542LASER50002018-02-2709:58:20310542LASER_310542NOOK
467310541LASER50002018-02-2709:55:54310541LASER_310541NOOK
468310539LASER10002018-02-2709:51:00310539LASER_310539NOOK
469310190LASER20002018-02-2212:51:07310190LASER_310190NOOK
470310090LASER10002018-02-2116:16:03310090LASER_310090NOOK
471310082LASER10002018-02-2115:46:00310082LASER_310082NOOK
472310081LASER10002018-02-2115:33:00310081LASER_310081NOOK
473310080LASER10002018-02-2115:28:40310080LASER_310080NOOK
474310044LASER120002018-02-2111:19:29310044LASER_310044NOOK
475310038LASER300002018-02-2110:38:10310038LASER_310038NOOK
476310037LASER20002018-02-2110:28:53310037LASER_310037NOOK
477310032LASER10002018-02-2110:22:42310032LASER_310032NOOK
478310029LASER10002018-02-2109:54:16310029LASER_310029NOOK
479310026LASER10002018-02-2109:38:05310026LASER_310026NOOK
480310012LASER300002018-02-2109:01:23310012LASER_310012NOOK
481309944LASER50002018-02-1923:48:06309944LASER_309944NOOK
482309943LASER40002018-02-1923:25:07309943LASER_309943NOOK
483309942LASER500002018-02-1923:15:17309942LASER_309942NOOK
484309941LASER30002018-02-1922:42:25309941LASER_309941NOOK
485309938LASER100002018-02-1918:54:12309938LASER_309938NOOK
486309937LASER100002018-02-1918:32:06309937LASER_309937NOOK
487309936LASER100002018-02-1918:19:50309936LASER_309936NOOK
488309935LASER10002018-02-1917:49:25309935LASER_309935NOOK
489309872LASER10002018-02-1612:04:41309872LASER_309872NOOK
490309867LASER100002018-02-1611:29:01309867LASER_309867NOOK
491309860LASER100002018-02-1610:53:48309860LASER_309860NOOK
492309848LASER10002018-02-1518:05:21309848LASER_309848NOOK
493309847LASER10002018-02-1518:02:03309847LASER_309847NOOK
494309846LASER10002018-02-1517:59:19309846LASER_309846NOOK
495309844LASER10002018-02-1517:55:06309844LASER_309844NOOK
496309816LASER10002018-02-1511:26:56309816LASER_309816NOOK
497309811LASER100002018-02-1511:04:01309811LASER_309811NOOK
498309742LASER10002018-02-1414:03:49309742LASER_309742NOOK
499309740LASER100002018-02-1412:43:16309740LASER_309740NOOK
500309739LASER100002018-02-1412:28:18309739LASER_309739NOOK
501309738LASER10002018-02-1412:14:15309738LASER_309738NOOK
502309736LASER10002018-02-1411:47:10309736LASER_309736NOOK
503309735LASER10002018-02-1411:38:47309735LASER_309735NOOK
504309734LASER10002018-02-1411:26:46309734LASER_309734NOOK
505309733LASER10002018-02-1411:10:03309733LASER_309733NOOK
506309732LASER10002018-02-1410:46:34309732LASER_309732NOOK
507309642LASER10002018-02-1311:59:51309642LASER_309642NOOK
508309640LASER10002018-02-1311:42:22309640LASER_309640NOOK
509309639LASER10002018-02-1311:39:55309639LASER_309639NOOK
510309638LASER10002018-02-1311:33:54309638LASER_309638NOOK
511309636LASER10002018-02-1311:31:51309636LASER_309636NOOK
512309632LASER100002018-02-1311:26:31309632LASER_309632NOOK
513309628LASER100002018-02-1311:09:46309628LASER_309628NOOK
514309627LASER10002018-02-1311:04:30309627LASER_309627NOOK
516309165LASER100002018-02-0711:02:28309165LASER_309165NOOK
518308992LASER10002018-02-0517:21:26308992LASER_308992NOOK
519308987LASER100002018-02-0516:56:56308987LASER_308987NOOK
520308984LASER10002018-02-0516:35:38308984LASER_308984NOOK
521308845LASER10002018-02-0111:58:05308845LASER_308845NOOK
523308354LASER100002018-01-2612:31:22308354LASER_308354NOOK
525308352LASER10002018-01-2612:18:58308352LASER_308352NOOK
526308350LASER100002018-01-2612:05:13308350LASER_308350NOOK
527308349LASER10002018-01-2611:04:19308349LASER_308349NOOK
528307508LASER10002017-12-0317:54:54307508LASER_307508NOOK
529307507LASER10002017-12-0317:49:47307507LASER_307507NOOK
530307324LASER100002017-11-2915:48:48307324LASER_307324NOOK
531307323LASER100002017-11-2915:43:56307323LASER_307323NOOK
532307246LASER10002017-11-2815:39:42307246LASER_307246NOOK
533307166LASER100002017-11-2715:55:38307166LASER_307166NOOK
534307165LASER100002017-11-2715:47:12307165LASER_307165NOOK
535307163LASER100002017-11-2715:39:49307163LASER_307163NOOK
536307162LASER100002017-11-2715:31:56307162LASER_307162NOOK
537307160LASER100002017-11-2715:23:37307160LASER_307160NOOK
538307157LASER100002017-11-2715:10:50307157LASER_307157NOOK
539307155LASER100002017-11-2715:02:44307155LASER_307155NOOK
540307143LASER300002017-11-2711:13:45307143LASER_307143NOOK
541307137LASER100002017-11-2710:30:16307137LASER_307137NOOK
542306976LASER100002017-11-2212:43:29306976LASER_306976NOOK
543306975LASER100002017-11-2212:34:44306975LASER_306975NOOK
544306974LASER100002017-11-2212:26:44306974LASER_306974NOOK
545306973LASER100002017-11-2212:18:20306973LASER_306973NOOK
546306972LASER100002017-11-2212:10:33306972LASER_306972NOOK
547306969LASER100002017-11-2211:51:16306969LASER_306969NOOK
548306968LASER300002017-11-2211:45:47306968LASER_306968NOOK
549306967LASER100002017-11-2211:34:13306967LASER_306967NOOK
550306966LASER100002017-11-2211:13:07306966LASER_306966NOOK
551306729LASER300002017-11-1615:28:39306729LASER_306729NOOK
552306723LASER300002017-11-1614:56:25306723LASER_306723NOOK
553306718LASER100002017-11-1614:45:16306718LASER_306718NOOK
554306717LASER100002017-11-1614:37:49306717LASER_306717NOOK
555306697LASER100002017-11-1514:40:34306697LASER_306697NOOK
556306695LASER100002017-11-1514:34:44306695LASER_306695NOOK
557306694LASER100002017-11-1514:24:01306694LASER_306694NOOK
558306693LASER100002017-11-1514:09:52306693LASER_306693NOOK
559306692LASER100002017-11-1513:58:50306692LASER_306692NOOK
560306691LASER100002017-11-1513:47:52306691LASER_306691NOOK
561306688LASER100002017-11-1513:30:52306688LASER_306688NOOK
562306686LASER100002017-11-1513:21:07306686LASER_306686NOOK
563306262LASER100002017-11-0716:18:20306262LASER_306262NOOK
564306261LASER100002017-11-0716:10:23306261LASER_306261NOOK
565306260LASER100002017-11-0716:03:08306260LASER_306260NOOK
566306255LASER100002017-11-0715:46:44306255LASER_306255NOOK
567306250LASER100002017-11-0714:56:16306250LASER_306250NOOK
568306235LASER300002017-11-0714:42:12306235LASER_306235NOOK
569306230LASER100002017-11-0713:38:08306230LASER_306230NOOK
570306227LASER100002017-11-0713:31:52306227LASER_306227NOOK
571306225LASER100002017-11-0713:23:24306225LASER_306225NOOK
572306073LASER100002017-11-0212:42:55306073LASER_306073NOOK
573306071LASER100002017-11-0212:26:37306071LASER_306071NOOK
574306065LASER300002017-11-0212:14:29306065LASER_306065NOOK
575306061LASER100002017-11-0211:47:52306061LASER_306061NOOK
576306058LASER100002017-11-0211:37:01306058LASER_306058NOOK
577305942LASER100002017-10-3111:38:29305942LASER_305942NOOK
578305938LASER300002017-10-3111:28:18305938LASER_305938NOOK
579305892LASER100002017-10-3017:39:54305892LASER_305892NOOK
580305890LASER100002017-10-3017:24:27305890LASER_305890NOOK
581305888LASER100002017-10-3017:15:42305888LASER_305888NOOK
582305884LASER100002017-10-3017:02:06305884LASER_305884NOOK
583305878LASER300002017-10-3016:47:10305878LASER_305878NOOK
584305874LASER100002017-10-3016:24:51305874LASER_305874NOOK
585305871LASER100002017-10-3016:17:01305871LASER_305871NOOK
586305722LASER20002017-10-2615:48:14305722LASER_305722NOOK
587305719LASER20002017-10-2615:34:56305719LASER_305719NOOK
588305718LASER20002017-10-2615:28:57305718LASER_305718NOOK
589305716LASER100002017-10-2615:23:02305716LASER_305716NOOK
590305713LASER100002017-10-2615:14:21305713LASER_305713NOOK
591305709LASER100002017-10-2615:01:52305709LASER_305709NOOK
592305703LASER100002017-10-2614:35:33305703LASER_305703NOOK
593305702LASER100002017-10-2614:27:21305702LASER_305702NOOK
594305701LASER100002017-10-2614:19:11305701LASER_305701NOOK
595305492LASER20002017-10-2315:55:26305492LASER_305492NOOK
596305491LASER20002017-10-2315:51:15305491LASER_305491NOOK
597305489LASER20002017-10-2315:46:56305489LASER_305489NOOK
598305487LASER100002017-10-2315:42:35305487LASER_305487NOOK
599305484LASER300002017-10-2315:22:51305484LASER_305484NOOK
600305476LASER100002017-10-2314:56:59305476LASER_305476NOOK
601305472LASER100002017-10-2314:50:54305472LASER_305472NOOK
602305468LASER100002017-10-2314:42:25305468LASER_305468NOOK
603305459LASER100002017-10-2314:32:38305459LASER_305459NOOK
604305321LASER300002017-10-2009:57:36305321LASER_305321NOOK
605305318LASER100002017-10-2009:47:17305318LASER_305318NOOK
606305228LASER300002017-10-1810:13:40305228LASER_305228NOOK
607305218LASER100002017-10-1809:39:19305218LASER_305218NOOK
608305217LASER100002017-10-1809:32:52305217LASER_305217NOOK
609305214LASER100002017-10-1809:24:34305214LASER_305214NOOK
610305153LASER100002017-10-1614:42:28305153LASER_305153NOOK
611305150LASER20002017-10-1614:34:11305150LASER_305150NOOK
612305149LASER20002017-10-1614:29:51305149LASER_305149NOOK
613305148LASER20002017-10-1614:25:17305148LASER_305148NOOK
614305146LASER100002017-10-1614:21:09305146LASER_305146NOOK
615305145LASER100002017-10-1614:13:26305145LASER_305145NOOK
616305138LASER300002017-10-1613:58:44305138LASER_305138NOOK
617305129LASER10002017-10-1613:25:04305129LASER_305129NOOK
618305128LASER10002017-10-1613:22:02305128LASER_305128NOOK
619305127LASER100002017-10-1613:17:46305127LASER_305127NOOK
620305125LASER100002017-10-1613:07:44305125LASER_305125NOOK
621305056LASER100002017-10-1410:23:52305056LASER_305056NOOK
622305048LASER300002017-10-1409:44:10305048LASER_305048NOOK
623304948LASER20002017-10-1311:14:24304948LASER_304948NOOK
624304860LASER100002017-10-1211:39:14304860LASER_304860NOOK
625304858LASER100002017-10-1210:36:54304858LASER_304858NOOK
626304857LASER300002017-10-1210:29:50304857LASER_304857NOOK
627304855LASER100002017-10-1210:20:14304855LASER_304855NOOK
628304764LASER300002017-10-1010:31:46304764LASER_304764NOOK
629304752LASER100002017-10-1010:06:43304752LASER_304752NOOK
630304748LASER100002017-10-1010:01:24304748LASER_304748NOOK
631304746LASER100002017-10-1009:53:34304746LASER_304746NOOK
632304726LASER100002017-10-0916:26:20304726LASER_304726NOOK
633304689LASER300002017-10-0909:49:28304689LASER_304689NOOK
634304683LASER100002017-10-0909:20:59304683LASER_304683NOOK
635304682LASER100002017-10-0909:14:42304682LASER_304682NOOK
636304678LASER100002017-10-0909:03:04304678LASER_304678NOOK
637304640LASER300002017-10-0713:01:04304640LASER_304640NOOK
638304634LASER100002017-10-0712:16:30304634LASER_304634NOOK
639304633LASER100002017-10-0712:07:36304633LASER_304633NOOK
640304631LASER100002017-10-0711:59:29304631LASER_304631NOOK
641304609LASER20002017-10-0619:17:59304609LASER_304609NOOK
642304608LASER20002017-10-0619:08:40304608LASER_304608NOOK
643304607LASER20002017-10-0619:02:16304607LASER_304607NOOK
644304606LASER100002017-10-0618:57:06304606LASER_304606NOOK
645304605LASER100002017-10-0618:47:47304605LASER_304605NOOK
646304604LASER100002017-10-0618:37:19304604LASER_304604NOOK
647304603LASER100002017-10-0618:31:23304603LASER_304603NOOK
648304601LASER100002017-10-0618:24:24304601LASER_304601NOOK
649304553LASER100002017-10-0610:22:32304553LASER_304553NOOK
650304440LASER20002017-10-0422:56:36304440LASER_304440NOOK
651304439LASER20002017-10-0422:51:05304439LASER_304439NOOK
652304438LASER20002017-10-0422:46:28304438LASER_304438NOOK
653304436LASER100002017-10-0422:42:12304436LASER_304436NOOK
654304433LASER100002017-10-0422:34:06304433LASER_304433NOOK
655304430LASER300002017-10-0422:20:24304430LASER_304430NOOK
656304426LASER100002017-10-0421:53:23304426LASER_304426NOOK
657304425LASER100002017-10-0421:46:25304425LASER_304425NOOK
658304424LASER100002017-10-0421:38:18304424LASER_304424NOOK
659304321LASER300002017-10-0309:21:32304321LASER_304321NOOK
660304238LASER20002017-10-0209:53:22304238LASER_304238NOOK
661304236LASER20002017-10-0209:47:36304236LASER_304236NOOK
662304235LASER100002017-10-0209:42:43304235LASER_304235NOOK
663304232LASER100002017-10-0209:34:09304232LASER_304232NOOK
664304230LASER100002017-10-0209:26:10304230LASER_304230NOOK
665304227LASER300002017-10-0209:14:57304227LASER_304227NOOK
666304163LASER300002017-09-3020:35:14304163LASER_304163NOOK
667304089LASER100002017-09-2810:25:55304089LASER_304089NOOK
668304083LASER100002017-09-2810:17:32304083LASER_304083NOOK
669304077LASER100002017-09-2810:05:12304077LASER_304077NOOK
670304068LASER300002017-09-2810:00:20304068LASER_304068NOOK
671304014LASER300002017-09-2715:09:23304014LASER_304014NOOK
672303928LASER100002017-09-2610:03:48303928LASER_303928NOOK
673303923LASER100002017-09-2609:53:57303923LASER_303923NOOK
674303908LASER300002017-09-2609:20:08303908LASER_303908NOOK
675303906LASER100002017-09-2609:07:25303906LASER_303906NOOK
676303865LASER100002017-09-2515:42:15303865LASER_303865NOOK
677303857LASER100002017-09-2515:25:12303857LASER_303857NOOK
678303856LASER10002017-09-2515:21:39303856LASER_303856NOOK
679303853LASER100002017-09-2515:18:01303853LASER_303853NOOK
680303849LASER100002017-09-2515:10:09303849LASER_303849NOOK
681303691LASER100002017-09-2213:31:22303691LASER_303691NOOK
682303688LASER300002017-09-2213:17:05303688LASER_303688NOOK
683303679LASER300002017-09-2212:44:31303679LASER_303679NOOK
684303530LASER20002017-09-2113:10:52303530LASER_303530NOOK
685303528LASER20002017-09-2113:05:32303528LASER_303528NOOK
686303521LASER20002017-09-2112:42:11303521LASER_303521NOOK
687303518LASER100002017-09-2112:31:49303518LASER_303518NOOK
688303516LASER100002017-09-2112:18:44303516LASER_303516NOOK
689303511LASER100002017-09-2111:36:30303511LASER_303511NOOK
690303510LASER100002017-09-2111:35:36303510LASER_303510NOOK
691303509LASER300002017-09-2111:22:16303509LASER_303509NOOK
692303506LASER300002017-09-2110:53:25303506LASER_303506NOOK
693303495LASER100002017-09-2110:26:24303495LASER_303495NOOK
694303492LASER100002017-09-2110:01:14303492LASER_303492NOOK
695303482LASER100002017-09-2109:42:24303482LASER_303482NOOK
696303371LASER10002017-09-2014:37:31303371LASER_303371NOOK
697303354LASER10002017-09-2011:32:35303354LASER_303354NOOK
698303353LASER10002017-09-2011:24:28303353LASER_303353NOOK
699303352LASER10002017-09-2011:15:08303352LASER_303352NOOK
700303350LASER10002017-09-2011:05:32303350LASER_303350NOOK
701303342LASER10002017-09-2011:00:24303342LASER_303342NOOK
702303340LASER10002017-09-2010:29:31303340LASER_303340NOOK
703303339LASER10002017-09-2010:24:31303339LASER_303339NOOK
704303337LASER10002017-09-2010:20:28303337LASER_303337NOOK
705303334LASER10002017-09-2010:15:41303334LASER_303334NOOK
706303322LASER10002017-09-2009:44:53303322LASER_303322NOOK
707303320LASER10002017-09-2009:32:26303320LASER_303320NOOK
708303318LASER10002017-09-2009:21:27303318LASER_303318NOOK
709303313LASER10002017-09-2009:03:42303313LASER_303313NOOK
710303252LASER10002017-09-1916:54:31303252LASER_303252NOOK
711303249LASER100002017-09-1916:23:27303249LASER_303249NOOK
712303242LASER10002017-09-1916:17:36303242LASER_303242NOOK
713303224LASER10002017-09-1915:01:35303224LASER_303224NOOK
714303217LASER100002017-09-1913:39:07303217LASER_303217NOOK
715303214LASER10002017-09-1913:26:39303214LASER_303214NOOK
716303211LASER10002017-09-1913:09:31303211LASER_303211NOOK
717303200LASER10002017-09-1912:52:07303200LASER_303200NOOK
718303199LASER20002017-09-1912:40:06303199LASER_303199NOOK
719303197LASER20002017-09-1912:34:55303197LASER_303197NOOK
720303104LASER10002017-09-1823:11:09303104LASER_303104NOOK
721303103LASER10002017-09-1822:59:52303103LASER_303103NOOK
722303102LASER10002017-09-1822:54:27303102LASER_303102NOOK
723303101LASER40002017-09-1822:49:42303101LASER_303101NOOK
724303100LASER40002017-09-1822:43:32303100LASER_303100NOOK
725303098LASER10002017-09-1822:39:03303098LASER_303098NOOK
726303097LASER40002017-09-1822:34:36303097LASER_303097NOOK
727303096LASER100002017-09-1822:25:21303096LASER_303096NOOK
728303095LASER10002017-09-1822:08:12303095LASER_303095NOOK
729303094LASER10002017-09-1822:03:41303094LASER_303094NOOK
730303092LASER10002017-09-1821:53:11303092LASER_303092NOOK
731303091LASER20002017-09-1821:48:55303091LASER_303091NOOK
732303088LASER20002017-09-1821:43:56303088LASER_303088NOOK
733303086LASER10002017-09-1821:34:25303086LASER_303086NOOK
734303084LASER100002017-09-1821:05:25303084LASER_303084NOOK
735303082LASER100002017-09-1820:55:40303082LASER_303082NOOK
736303078LASER100002017-09-1820:39:11303078LASER_303078NOOK
737303075LASER100002017-09-1820:28:04303075LASER_303075NOOK
738303072LASER10002017-09-1819:46:05303072LASER_303072NOOK
739303071LASER100002017-09-1819:37:46303071LASER_303071NOOK
740303070LASER10002017-09-1819:30:35303070LASER_303070NOOK
741303045LASER10002017-09-1817:11:24303045LASER_303045NOOK
742303044LASER10002017-09-1817:00:56303044LASER_303044NOOK
743303041LASER10002017-09-1816:48:52303041LASER_303041NOOK
744303039LASER10002017-09-1816:42:22303039LASER_303039NOOK
745303038LASER20002017-09-1816:33:03303038LASER_303038NOOK
746303037LASER20002017-09-1816:28:17303037LASER_303037NOOK
747303033LASER10002017-09-1815:56:39303033LASER_303033NOOK
748302948LASER20002017-09-1611:32:11302948LASER_302948NOOK
749302947LASER20002017-09-1610:51:28302947LASER_302947NOOK
750302946LASER20002017-09-1610:41:22302946LASER_302946NOOK
751302945LASER20002017-09-1610:28:09302945LASER_302945NOOK
752302944LASER20002017-09-1610:22:08302944LASER_302944NOOK
753302943LASER20002017-09-1610:14:57302943LASER_302943NOOK
754302942LASER20002017-09-1610:08:46302942LASER_302942NOOK
755302941LASER20002017-09-1610:02:31302941LASER_302941NOOK
756302940LASER20002017-09-1609:56:47302940LASER_302940NOOK
757302939LASER20002017-09-1609:47:49302939LASER_302939NOOK
758302938LASER20002017-09-1609:35:11302938LASER_302938NOOK
759302937LASER20002017-09-1609:29:13302937LASER_302937NOOK
760302935LASER20002017-09-1609:14:15302935LASER_302935NOOK
761302931LASER20002017-09-1608:55:20302931LASER_302931NOOK
762302930LASER20002017-09-1608:43:54302930LASER_302930NOOK
763302847LASER20002017-09-1514:20:04302847LASER_302847NOOK
764302846LASER20002017-09-1513:59:21302846LASER_302846NOOK
765302844LASER20002017-09-1513:54:37302844LASER_302844NOOK
766302842LASER20002017-09-1513:34:08302842LASER_302842NOOK
767302841LASER20002017-09-1513:32:38302841LASER_302841NOOK
768302711LASER20002017-09-1409:28:46302711LASER_302711NOOK
769302615LASER10002017-09-1117:53:11302615LASER_302615NOOK
770302614LASER100002017-09-1117:48:59302614LASER_302614NOOK
771302607LASER100002017-09-1117:07:25302607LASER_302607NOOK
772302591LASER10002017-09-1020:47:26302591LASER_302591NOOK
773302590LASER20002017-09-1020:40:08302590LASER_302590NOOK
774302589LASER20002017-09-1020:35:18302589LASER_302589NOOK
775302588LASER20002017-09-1020:31:14302588LASER_302588NOOK
776302587LASER100002017-09-1020:27:01302587LASER_302587NOOK
777302586LASER100002017-09-1020:19:35302586LASER_302586NOOK
778302581LASER10002017-09-1019:50:02302581LASER_302581NOOK
779302579LASER100002017-09-1019:44:51302579LASER_302579NOOK
780302578LASER100002017-09-1019:36:39302578LASER_302578NOOK
781302577LASER100002017-09-1019:36:10302577LASER_302577NOOK
782302467LASER10002017-09-0710:19:56302467LASER_302467NOOK
783302465LASER100002017-09-0710:16:29302465LASER_302465NOOK
784302464LASER100002017-09-0710:08:16302464LASER_302464NOOK
785302461LASER100002017-09-0710:02:57302461LASER_302461NOOK
786302434LASER100002017-09-0616:21:02302434LASER_302434NOOK
787302433LASER100002017-09-0616:12:18302433LASER_302433NOOK
788302432LASER100002017-09-0616:04:34302432LASER_302432NOOK
789302431LASER100002017-09-0615:56:57302431LASER_302431NOOK
790302416LASER10002017-09-0611:39:23302416LASER_302416NOOK
791302414LASER100002017-09-0611:22:26302414LASER_302414NOOK
792302412LASER100002017-09-0611:14:22302412LASER_302412NOOK
793302411LASER100002017-09-0611:13:00302411LASER_302411NOOK
794302409LASER100002017-09-0611:08:40302409LASER_302409NOOK
795302259LASER10002017-09-0218:39:46302259LASER_302259NOOK
796302258LASER100002017-09-0218:35:36302258LASER_302258NOOK
797302257LASER100002017-09-0218:28:36302257LASER_302257NOOK
798302256LASER100002017-09-0218:17:19302256LASER_302256NOOK
799302255LASER100002017-09-0218:10:16302255LASER_302255NOOK
800302254LASER10002017-09-0218:06:57302254LASER_302254NOOK
801302250LASER100002017-09-0217:52:01302250LASER_302250NOOK
802302248LASER20002017-09-0217:44:41302248LASER_302248NOOK
803302247LASER20002017-09-0217:39:56302247LASER_302247NOOK
804302243LASER20002017-09-0217:25:52302243LASER_302243NOOK
805302207LASER20002017-09-0113:53:41302207LASER_302207NOOK
806302205LASER20002017-09-0113:46:42302205LASER_302205NOOK
807302203LASER20002017-09-0113:41:16302203LASER_302203NOOK
808302197LASER100002017-09-0113:35:21302197LASER_302197NOOK
809302192LASER100002017-09-0113:24:05302192LASER_302192NOOK
810302189LASER100002017-09-0113:19:20302189LASER_302189NOOK
811302113LASER100002017-08-3109:41:41302113LASER_302113NOOK
812302110LASER10002017-08-3109:33:31302110LASER_302110NOOK
813302109LASER100002017-08-3109:29:17302109LASER_302109NOOK
814302105LASER100002017-08-3109:22:05302105LASER_302105NOOK
815301852LASER5002017-08-2514:11:27301852LASER_301852NOOK
816301851LASER5002017-08-2513:58:44301851LASER_301851NOOK
817301850LASER5002017-08-2513:54:58301850LASER_301850NOOK
818301849LASER20002017-08-2513:48:13301849LASER_301849NOOK
819301846LASER20002017-08-2513:42:27301846LASER_301846NOOK
820301844LASER5002017-08-2513:33:21301844LASER_301844NOOK
821301842LASER5002017-08-2513:27:56301842LASER_301842NOOK
822301840LASER5002017-08-2513:19:21301840LASER_301840NOOK
823301837LASER30002017-08-2513:10:59301837LASER_301837NOOK
824301836LASER20002017-08-2512:32:39301836LASER_301836NOOK
825301834LASER10002017-08-2512:21:23301834LASER_301834NOOK
826301830LASER100002017-08-2512:00:57301830LASER_301830NOOK
827301828LASER100002017-08-2511:39:40301828LASER_301828NOOK
828301825LASER10002017-08-2511:35:57301825LASER_301825NOOK
829301822LASER10002017-08-2511:27:08301822LASER_301822NOOK
830301821LASER100002017-08-2511:07:27301821LASER_301821NOOK
831301820LASER20002017-08-2511:03:08301820LASER_301820NOOK
832301810LASER20002017-08-2510:11:42301810LASER_301810NOOK
833301740LASER100002017-08-2410:42:54301740LASER_301740NOOK
834301733LASER10002017-08-2410:27:15301733LASER_301733NOOK
835301732LASER10002017-08-2410:25:38301732LASER_301732NOOK
836301730LASER100002017-08-2410:21:43301730LASER_301730NOOK
837301729LASER100002017-08-2410:13:10301729LASER_301729NOOK
838301502LASER10002017-08-2108:41:33301502LASER_301502NOOK
839301500LASER100002017-08-2108:38:04301500LASER_301500NOOK
840301498LASER100002017-08-2108:30:48301498LASER_301498NOOK
841301372LASER10002017-08-1713:48:17301372LASER_301372NOOK
842301371LASER10002017-08-1713:47:21301371LASER_301371NOOK
843301368LASER100002017-08-1713:43:26301368LASER_301368NOOK
844301366LASER100002017-08-1713:35:10301366LASER_301366NOOK
845301305LASER100002017-08-1616:02:36301305LASER_301305NOOK
846301304LASER100002017-08-1615:52:08301304LASER_301304NOOK
847301231LASER20002017-08-1513:02:10301231LASER_301231NOOK
848301229LASER20002017-08-1512:57:27301229LASER_301229NOOK
849301225LASER20002017-08-1512:52:20301225LASER_301225NOOK
850301221LASER100002017-08-1512:47:41301221LASER_301221NOOK
851301218LASER100002017-08-1512:39:22301218LASER_301218NOOK
852301201LASER10002017-08-1511:39:54301201LASER_301201NOOK
853301200LASER100002017-08-1511:36:02301200LASER_301200NOOK
854301198LASER100002017-08-1511:27:27301198LASER_301198NOOK
855301034LASER20002017-08-1115:58:56301034LASER_301034NOOK
856301030LASER20002017-08-1115:53:27301030LASER_301030NOOK
857301013LASER20002017-08-1113:36:15301013LASER_301013NOOK
858301011LASER10002017-08-1112:58:14301011LASER_301011NOOK
859301010LASER20002017-08-1112:55:04301010LASER_301010NOOK
860301009LASER20002017-08-1112:49:54301009LASER_301009NOOK
861301007LASER100002017-08-1112:44:50301007LASER_301007NOOK
862301006LASER100002017-08-1112:26:26301006LASER_301006NOOK
863301005LASER100002017-08-1112:18:10301005LASER_301005NOOK
864301004LASER100002017-08-1112:10:06301004LASER_301004NOOK
865301003LASER100002017-08-1112:02:07301003LASER_301003NOOK
866301000LASER100002017-08-1111:35:01301000LASER_301000NOOK
867300998LASER100002017-08-1111:17:59300998LASER_300998NOOK
868300997LASER100002017-08-1111:09:37300997LASER_300997NOOK
869300992LASER20002017-08-1110:26:39300992LASER_300992NOOK
870300991LASER1000002017-08-1110:19:16300991LASER_300991NOOK
871300990LASER1000002017-08-1110:04:26300990LASER_300990NOOK
872300987LASER100002017-08-1109:52:47300987LASER_300987NOOK
873300986LASER100002017-08-1109:44:46300986LASER_300986NOOK
874300985LASER20002017-08-1109:36:45300985LASER_300985NOOK
875300981LASER2000002017-08-1109:17:16300981LASER_300981NOOK
876300980LASER20002017-08-1109:10:04300980LASER_300980NOOK
877300979LASER20002017-08-1109:04:26300979LASER_300979NOOK
878300893LASER100002017-08-1011:29:57300893LASER_300893NOOK
879300892LASER100002017-08-1010:57:16300892LASER_300892NOOK
880300890LASER100002017-08-1010:52:45300890LASER_300890NOOK
881300884LASER100002017-08-1010:48:48300884LASER_300884NOOK
882300883LASER100002017-08-1010:46:53300883LASER_300883NOOK
883300881LASER100002017-08-1010:43:11300881LASER_300881NOOK
884300880LASER100002017-08-1010:38:36300880LASER_300880NOOK
885300760LASER10002017-08-0822:22:37300760LASER_300760NOOK
886300758LASER100002017-08-0822:17:45300758LASER_300758NOOK
887300756LASER20002017-08-0821:43:26300756LASER_300756NOOK
888300755LASER10002017-08-0821:21:19300755LASER_300755NOOK
889300753LASER100002017-08-0821:15:40300753LASER_300753NOOK
890300751LASER20002017-08-0821:10:26300751LASER_300751NOOK
891300750LASER10002017-08-0821:05:21300750LASER_300750NOOK
892300731LASER10002017-08-0814:44:24300731LASER_300731NOOK
893300728LASER100002017-08-0814:34:50300728LASER_300728NOOK
894300726LASER20002017-08-0814:26:08300726LASER_300726NOOK
895300724LASER20002017-08-0814:20:17300724LASER_300724NOOK
896300722LASER100002017-08-0814:14:56300722LASER_300722NOOK
897300719LASER100002017-08-0814:06:25300719LASER_300719NOOK
898300716LASER100002017-08-0813:58:26300716LASER_300716NOOK
899300715LASER20002017-08-0813:50:55300715LASER_300715NOOK
900300710LASER20002017-08-0813:46:16300710LASER_300710NOOK
901300707LASER20002017-08-0813:37:17300707LASER_300707NOOK
902300705LASER10002017-08-0813:32:41300705LASER_300705NOOK
903300695LASER20002017-08-0812:42:24300695LASER_300695NOOK
904300649LASER20002017-08-0808:37:09300649LASER_300649NOOK
905300648LASER20002017-08-0808:27:02300648LASER_300648NOOK
906300611LASER100002017-08-0713:36:03300611LASER_300611NOOK
907300600LASER100002017-08-0713:14:49300600LASER_300600NOOK
908300595LASER100002017-08-0713:04:41300595LASER_300595NOOK
909300436LASER20002017-08-0409:51:12300436LASER_300436NOOK
910300434LASER20002017-08-0409:48:51300434LASER_300434NOOK
911300433LASER20002017-08-0409:44:40300433LASER_300433NOOK
912300432LASER20002017-08-0409:39:03300432LASER_300432NOOK
913300431LASER20002017-08-0409:36:37300431LASER_300431NOOK
914300428LASER100002017-08-0409:31:44300428LASER_300428NOOK
915300426LASER10002017-08-0409:18:32300426LASER_300426NOOK
916300420LASER10002017-08-0409:09:20300420LASER_300420NOOK
917300418LASER100002017-08-0409:05:54300418LASER_300418NOOK
918300417LASER100002017-08-0408:58:01300417LASER_300417NOOK
919300298LASER10002017-08-0216:35:35300298LASER_300298NOOK
920300297LASER100002017-08-0216:30:46300297LASER_300297NOOK
921300296LASER100002017-08-0216:23:03300296LASER_300296NOOK
922300184LASER10002017-07-3112:51:58300184LASER_300184NOOK
923300183LASER100002017-07-3112:47:24300183LASER_300183NOOK
924300181LASER100002017-07-3112:32:32300181LASER_300181NOOK
925300179LASER20002017-07-3112:21:58300179LASER_300179NOOK
926300176LASER100002017-07-3112:08:03300176LASER_300176NOOK
927299989LASER10002017-07-2710:15:15299989LASER_299989NOOK
928299987LASER20002017-07-2710:12:14299987LASER_299987NOOK
929299985LASER20002017-07-2710:07:51299985LASER_299985NOOK
930299983LASER20002017-07-2710:02:47299983LASER_299983NOOK
931299981LASER100002017-07-2709:58:12299981LASER_299981NOOK
932299980LASER100002017-07-2709:50:31299980LASER_299980NOOK
933299974LASER100002017-07-2709:25:39299974LASER_299974NOOK
934299971LASER100002017-07-2709:19:48299971LASER_299971NOOK
935299965LASER100002017-07-2709:09:46299965LASER_299965NOOK
936299832LASER20002017-07-2513:20:59299832LASER_299832NOOK
937299823LASER20002017-07-2512:02:17299823LASER_299823NOOK
938299794LASER1000002017-07-2509:12:11299794LASER_299794NOOK
939299793LASER100002017-07-2509:04:32299793LASER_299793NOOK
940299575LASER100002017-07-2114:05:02299575LASER_299575NOOK
941299559LASER20002017-07-2111:24:11299559LASER_299559NOOK
942299531LASER1000002017-07-2109:54:51299531LASER_299531NOOK
943299529LASER200002017-07-2109:19:32299529LASER_299529NOOK
944299528LASER20002017-07-2109:16:10299528LASER_299528NOOK
945299524LASER20002017-07-2109:08:19299524LASER_299524NOOK
946299520LASER20002017-07-2108:58:28299520LASER_299520NOOK
947299518LASER20002017-07-2108:55:01299518LASER_299518NOOK
948299515LASER20002017-07-2108:53:38299515LASER_299515NOOK
949299513LASER20002017-07-2108:51:03299513LASER_299513NOOK
950299512LASER20002017-07-2108:49:22299512LASER_299512NOOK
951299471LASER100002017-07-2009:55:05299471LASER_299471NOOK
952299469LASER100002017-07-2009:47:40299469LASER_299469NOOK
953299467LASER100002017-07-2009:34:47299467LASER_299467NOOK
954299464LASER100002017-07-2009:19:18299464LASER_299464NOOK
955299461LASER100002017-07-2009:07:17299461LASER_299461NOOK
956299459LASER100002017-07-2008:59:50299459LASER_299459NOOK
957299407LASER100002017-07-1910:29:00299407LASER_299407NOOK
958299405LASER100002017-07-1910:21:40299405LASER_299405NOOK
959299271LASER20002017-07-1715:59:16299271LASER_299271NOOK
960299270LASER20002017-07-1715:58:24299270LASER_299270NOOK
961299263LASER20002017-07-1715:44:58299263LASER_299263NOOK
962299261LASER20002017-07-1715:41:09299261LASER_299261NOOK
963299260LASER20002017-07-1715:40:07299260LASER_299260NOOK
964299257LASER20002017-07-1715:38:59299257LASER_299257NOOK
965299253LASER20002017-07-1715:35:46299253LASER_299253NOOK
966299250LASER20002017-07-1715:33:53299250LASER_299250NOOK
967299247LASER20002017-07-1715:31:10299247LASER_299247NOOK
968299244LASER20002017-07-1715:29:59299244LASER_299244NOOK
969299241LASER20002017-07-1715:11:14299241LASER_299241NOOK
970299240LASER20002017-07-1715:07:19299240LASER_299240NOOK
971299239LASER20002017-07-1715:06:24299239LASER_299239NOOK
972299232LASER20002017-07-1713:57:36299232LASER_299232NOOK
973298929LASER100002017-07-1308:47:51298929LASER_298929NOOK
974298889LASER10002017-07-1210:54:48298889LASER_298889NOOK
975298887LASER10002017-07-1210:47:06298887LASER_298887NOOK
976298885LASER20002017-07-1210:43:53298885LASER_298885NOOK
977298883LASER20002017-07-1210:33:53298883LASER_298883NOOK
978298882LASER100002017-07-1210:29:14298882LASER_298882NOOK
979298880LASER100002017-07-1210:21:19298880LASER_298880NOOK
980298871LASER100002017-07-1210:12:24298871LASER_298871NOOK
981298869LASER100002017-07-1209:08:28298869LASER_298869NOOK
982298864LASER100002017-07-1208:39:33298864LASER_298864NOOK
983298804LASER10002017-07-1108:10:54298804LASER_298804NOOK
984298803LASER10002017-07-1108:08:45298803LASER_298803NOOK
985298802LASER100002017-07-1108:05:48298802LASER_298802NOOK
986298798LASER100002017-07-1107:54:49298798LASER_298798NOOK
987298794LASER100002017-07-1107:33:02298794LASER_298794NOOK
988298720LASER10002017-07-1009:22:14298720LASER_298720NOOK
989298717LASER100002017-07-1009:13:36298717LASER_298717NOOK
990298703LASER100002017-07-1009:02:00298703LASER_298703NOOK
991298701LASER100002017-07-1008:22:10298701LASER_298701NOOK
992298355LASER100002017-07-0615:20:09298355LASER_298355NOOK
993298354LASER20002017-07-0615:14:05298354LASER_298354NOOK
994298302LASER10002017-07-0613:39:41298302LASER_298302NOOK
995298301LASER10002017-07-0613:37:06298301LASER_298301NOOK
996298299LASER20002017-07-0613:34:14298299LASER_298299NOOK
997298298LASER20002017-07-0613:29:39298298LASER_298298NOOK
998298295LASER100002017-07-0613:24:50298295LASER_298295NOOK
999298294LASER100002017-07-0613:17:20298294LASER_298294NOOK
1000298292LASER100002017-07-0613:10:23298292LASER_298292NOOK
1001298287LASER100002017-07-0613:03:09298287LASER_298287NOOK
1002298256LASER10002017-07-0610:18:49298256LASER_298256NOOK
1003298249LASER10002017-07-0609:22:15298249LASER_298249NOOK
1004298244LASER10002017-07-0609:17:14298244LASER_298244NOOK
1005298243LASER10002017-07-0608:50:25298243LASER_298243NOOK
1006298240LASER10002017-07-0608:39:31298240LASER_298240NOOK
1007298236LASER10002017-07-0608:33:37298236LASER_298236NOOK
1008298235LASER10002017-07-0608:20:33298235LASER_298235NOOK
1009298232LASER10002017-07-0608:16:49298232LASER_298232NOOK
1010298231LASER10002017-07-0608:09:25298231LASER_298231NOOK
1011298203LASER20002017-07-0519:27:11298203LASER_298203NOOK
1012298127LASER10002017-07-0513:32:29298127LASER_298127NOOK
1013298108LASER10002017-07-0512:36:33298108LASER_298108NOOK
1014298104LASER100002017-07-0512:18:05298104LASER_298104NOOK
1015298101LASER100002017-07-0512:09:34298101LASER_298101NOOK
1016298011LASER20002017-07-0416:09:26298011LASER_298011NOOK
1017297850LASER100002017-07-0307:47:04297850LASER_297850NOOK
1018297848LASER100002017-07-0307:38:47297848LASER_297848NOOK
1019297696LASER100002017-06-2912:47:58297696LASER_297696NOOK
1020297692LASER100002017-06-2912:42:02297692LASER_297692NOOK
1021297690LASER100002017-06-2912:31:45297690LASER_297690NOOK
1022297644LASER10002017-06-2814:18:41297644LASER_297644NOOK
1023297641LASER20002017-06-2814:05:35297641LASER_297641NOOK
1024297640LASER20002017-06-2814:00:51297640LASER_297640NOOK
1025297639LASER20002017-06-2813:55:08297639LASER_297639NOOK
1026297637LASER100002017-06-2813:47:34297637LASER_297637NOOK
1027297636LASER100002017-06-2813:38:02297636LASER_297636NOOK
1028297635LASER100002017-06-2813:28:37297635LASER_297635NOOK
1029297632LASER100002017-06-2813:19:08297632LASER_297632NOOK
1030297631LASER100002017-06-2813:05:21297631LASER_297631NOOK
1031297574LASER100002017-06-2711:47:03297574LASER_297574NOOK
1032297573LASER100002017-06-2711:40:35297573LASER_297573NOOK
1033297572LASER100002017-06-2711:31:50297572LASER_297572NOOK
1034297528LASER100002017-06-2613:24:04297528LASER_297528NOOK
1035297526LASER100002017-06-2613:17:09297526LASER_297526NOOK
1036297524LASER100002017-06-2613:09:04297524LASER_297524NOOK
1037297455LASER10002017-06-2413:53:23297455LASER_297455NOOK
1038297453LASER10002017-06-2413:46:54297453LASER_297453NOOK
1039297451LASER20002017-06-2413:07:54297451LASER_297451NOOK
1040297450LASER20002017-06-2412:56:51297450LASER_297450NOOK
1041297448LASER100002017-06-2412:50:22297448LASER_297448NOOK
1042297447LASER100002017-06-2412:39:46297447LASER_297447NOOK
1043297445LASER100002017-06-2412:28:26297445LASER_297445NOOK
1044297444LASER100002017-06-2412:12:42297444LASER_297444NOOK
1045297442LASER20002017-06-2412:03:39297442LASER_297442NOOK
1046297335LASER100002017-06-2216:11:18297335LASER_297335NOOK
1047297334LASER100002017-06-2216:07:13297334LASER_297334NOOK
1048297333LASER100002017-06-2216:01:09297333LASER_297333NOOK
1049297332LASER100002017-06-2215:50:41297332LASER_297332NOOK
1050297257LASER20002017-06-2113:14:15297257LASER_297257NOOK
1051297255LASER20002017-06-2113:09:19297255LASER_297255NOOK
1052297254LASER20002017-06-2113:04:08297254LASER_297254NOOK
1053297251LASER100002017-06-2112:59:26297251LASER_297251NOOK
1054297249LASER100002017-06-2112:52:08297249LASER_297249NOOK
1055297244LASER100002017-06-2112:44:36297244LASER_297244NOOK
1056297242LASER100002017-06-2112:36:10297242LASER_297242NOOK
1057297237LASER10002017-06-2112:15:13297237LASER_297237NOOK
1058297235LASER10002017-06-2112:10:59297235LASER_297235NOOK
1059297092LASER20002017-06-1716:54:18297092LASER_297092NOOK
1060297091LASER20002017-06-1716:49:10297091LASER_297091NOOK
1061297090LASER20002017-06-1716:44:34297090LASER_297090NOOK
1062297089LASER100002017-06-1716:39:21297089LASER_297089NOOK
1063297088LASER100002017-06-1716:31:02297088LASER_297088NOOK
1064297086LASER10002017-06-1716:16:28297086LASER_297086NOOK
1065297085LASER100002017-06-1716:12:06297085LASER_297085NOOK
1066297084LASER100002017-06-1716:06:28297084LASER_297084NOOK
1067297083LASER100002017-06-1715:52:47297083LASER_297083NOOK
1068296846LASER10002017-06-1417:23:49296846LASER_296846NOOK
1069296812LASER100002017-06-1415:10:39296812LASER_296812NOOK
1070296810LASER100002017-06-1415:03:46296810LASER_296810NOOK
1071296809LASER100002017-06-1414:55:04296809LASER_296809NOOK
1072296583LASER100002017-06-1013:00:18296583LASER_296583NOOK
1073296546LASER10002017-06-0915:30:38296546LASER_296546NOOK
1074296544LASER10002017-06-0915:27:12296544LASER_296544NOOK
1075296543LASER20002017-06-0915:21:25296543LASER_296543NOOK
1076296541LASER100002017-06-0915:16:10296541LASER_296541NOOK
1077296538LASER100002017-06-0915:08:27296538LASER_296538NOOK
1078296536LASER20002017-06-0915:01:08296536LASER_296536NOOK
1079296534LASER20002017-06-0914:57:18296534LASER_296534NOOK
1080296528LASER100002017-06-0914:42:51296528LASER_296528NOOK
1081296524LASER100002017-06-0914:34:52296524LASER_296524NOOK
1082296196LASER20002017-06-0610:21:13296196LASER_296196NOOK
1083296195LASER20002017-06-0610:16:34296195LASER_296195NOOK
1084296194LASER20002017-06-0610:10:42296194LASER_296194NOOK
1085296193LASER100002017-06-0610:04:45296193LASER_296193NOOK
1086296192LASER100002017-06-0609:56:31296192LASER_296192NOOK
1087296191LASER100002017-06-0609:48:41296191LASER_296191NOOK
1088296189LASER100002017-06-0609:40:33296189LASER_296189NOOK
1089296187LASER10002017-06-0609:28:03296187LASER_296187NOOK
1090296186LASER10002017-06-0609:22:01296186LASER_296186NOOK
1091295989LASER100002017-06-0314:32:11295989LASER_295989NOOK
1092295987LASER100002017-06-0314:25:34295987LASER_295987NOOK
1093295986LASER100002017-06-0314:17:39295986LASER_295986NOOK
1094295985LASER100002017-06-0314:06:33295985LASER_295985NOOK
1095295984LASER100002017-06-0313:55:12295984LASER_295984NOOK
1096295932LASER100002017-06-0217:29:42295932LASER_295932NOOK
1097295931LASER100002017-06-0217:19:19295931LASER_295931NOOK
1098295930LASER100002017-06-0217:13:43295930LASER_295930NOOK
1099295929LASER100002017-06-0217:04:46295929LASER_295929NOOK
1100295925LASER100002017-06-0216:56:17295925LASER_295925NOOK
1101295924LASER10002017-06-0216:24:05295924LASER_295924NOOK
1102295923LASER100002017-06-0216:21:04295923LASER_295923NOOK
1103295922LASER10002017-06-0216:17:42295922LASER_295922NOOK
1104295921LASER10002017-06-0216:17:15295921LASER_295921NOOK
1105295920LASER100002017-06-0216:14:22295920LASER_295920NOOK
1106295919LASER100002017-06-0215:52:12295919LASER_295919NOOK
1107295917LASER100002017-06-0215:43:05295917LASER_295917NOOK
1108295916LASER100002017-06-0215:35:32295916LASER_295916NOOK
1109295768LASER1000002017-05-3119:33:21295768LASER_295768NOOK
1110295712LASER100002017-05-3114:03:10295712LASER_295712NOOK
1111295706LASER20002017-05-3111:46:52295706LASER_295706NOOK
1112295705LASER20002017-05-3111:42:22295705LASER_295705NOOK
1113295704LASER20002017-05-3111:35:26295704LASER_295704NOOK
1114295703LASER20002017-05-3111:23:51295703LASER_295703NOOK
1115295702LASER20002017-05-3111:22:41295702LASER_295702NOOK
1116295697LASER100002017-05-3110:32:18295697LASER_295697NOOK
1117295694LASER10002017-05-3110:25:31295694LASER_295694NOOK
1118295693LASER10002017-05-3110:24:14295693LASER_295693NOOK
1119295691LASER20002017-05-3110:20:14295691LASER_295691NOOK
1120295688LASER20002017-05-3110:14:10295688LASER_295688NOOK
1121295685LASER100002017-05-3110:06:55295685LASER_295685NOOK
1122295683LASER100002017-05-3109:58:44295683LASER_295683NOOK
1123295681LASER100002017-05-3109:49:36295681LASER_295681NOOK
1124295680LASER100002017-05-3109:38:26295680LASER_295680NOOK
1125295678LASER100002017-05-3109:27:52295678LASER_295678NOOK
1126295677LASER100002017-05-3109:19:17295677LASER_295677NOOK
1127295406LASER100002017-05-2812:33:47295406LASER_295406NOOK
1128295405LASER20002017-05-2812:17:15295405LASER_295405NOOK
1129295295LASER100002017-05-2618:08:32295295LASER_295295NOOK
1130295294LASER10002017-05-2618:02:06295294LASER_295294NOOK
1131295270LASER100002017-05-2613:50:49295270LASER_295270NOOK
1132295268LASER20002017-05-2613:20:58295268LASER_295268NOOK
1133295264LASER100002017-05-2613:06:38295264LASER_295264NOOK
1134295262LASER100002017-05-2612:52:16295262LASER_295262NOOK
1135295258LASER100002017-05-2612:40:35295258LASER_295258NOOK
1136295111LASER10002017-05-2416:08:54295111LASER_295111NOOK
1137295077LASER100002017-05-2414:29:19295077LASER_295077NOOK
1138295075LASER100002017-05-2414:14:48295075LASER_295075NOOK
1139294461LASER10002017-05-1816:12:15294461LASER_294461NOOK
1140294459LASER10002017-05-1816:07:15294459LASER_294459NOOK
1141294289LASER20002017-05-1717:44:40294289LASER_294289NOOK
1142294288LASER20002017-05-1717:20:55294288LASER_294288NOOK
1143294283LASER100002017-05-1717:12:52294283LASER_294283NOOK
1144294282LASER100002017-05-1716:57:19294282LASER_294282NOOK
1145294281LASER100002017-05-1716:47:14294281LASER_294281NOOK
1146294280LASER100002017-05-1716:46:07294280LASER_294280NOOK
1147294279LASER100002017-05-1716:37:34294279LASER_294279NOOK
1148294277LASER100002017-05-1716:25:31294277LASER_294277NOOK
1149294214LASER10002017-05-1709:47:16294214LASER_294214NOOK
1150294210LASER10002017-05-1709:44:32294210LASER_294210NOOK
1151293781LASER100002017-05-1117:51:20293781LASER_293781NOOK
1152293779LASER100002017-05-1117:35:19293779LASER_293779NOOK
1153293570LASER20002017-05-0820:44:24293570LASER_293570NOOK
1154293569LASER20002017-05-0820:39:25293569LASER_293569NOOK
1155293568LASER100002017-05-0820:34:03293568LASER_293568NOOK
1156293567LASER100002017-05-0820:25:34293567LASER_293567NOOK
1157293566LASER100002017-05-0820:16:45293566LASER_293566NOOK
1158293565LASER100002017-05-0820:08:41293565LASER_293565NOOK
1159293334LASER20002017-05-0512:01:07293334LASER_293334NOOK
1160293333LASER20002017-05-0511:47:59293333LASER_293333NOOK
1161293332LASER20002017-05-0511:36:13293332LASER_293332NOOK
1162293304LASER100002017-05-0420:06:49293304LASER_293304NOOK
1163293303LASER20002017-05-0419:59:53293303LASER_293303NOOK
1164293302LASER20002017-05-0419:56:01293302LASER_293302NOOK
1165293301LASER20002017-05-0419:47:46293301LASER_293301NOOK
1166292845LASER10002017-04-2817:34:21292845LASER_292845NOOK
1167292842LASER10002017-04-2817:30:41292842LASER_292842NOOK
1168292839LASER10002017-04-2817:14:31292839LASER_292839NOOK
1169292836LASER10002017-04-2817:03:41292836LASER_292836NOOK
1170292828LASER20002017-04-2816:40:59292828LASER_292828NOOK
1171292809LASER20002017-04-2815:17:14292809LASER_292809NOOK
1172292705LASER20002017-04-2808:02:21292705LASER_292705NOOK
1173292704LASER20002017-04-2716:47:00292704LASER_292704NOOK
1174292703LASER2000002017-04-2716:43:02292703LASER_292703NOOK
1175292700LASER20002017-04-2716:25:50292700LASER_292700NOOK
1176292693LASER20002017-04-2716:10:24292693LASER_292693NOOK
1177292692LASER20002017-04-2716:06:36292692LASER_292692NOOK
1178292691LASER20002017-04-2716:05:33292691LASER_292691NOOK
1179292690LASER20002017-04-2716:04:23292690LASER_292690NOOK
1180292689LASER20002017-04-2716:03:32292689LASER_292689NOOK
1181292672LASER20002017-04-2714:29:12292672LASER_292672NOOK
1182292649LASER20002017-04-2712:20:37292649LASER_292649NOOK
1183292647LASER20002017-04-2712:05:56292647LASER_292647NOOK
1184292576LASER200002017-04-2616:26:59292576LASER_292576NOOK
1185292572LASER100002017-04-2616:17:58292572LASER_292572NOOK
1186292569LASER100002017-04-2615:56:09292569LASER_292569NOOK
1187292561LASER200002017-04-2615:53:06292561LASER_292561NOOK
1188292547LASER100002017-04-2613:27:14292547LASER_292547NOOK
1189291750LASER20002017-04-1314:19:38291750LASER_291750NOOK
1190291652LASER10002017-04-1213:51:59291652LASER_291652NOOK
1191291541LASER5002017-04-1112:13:49291541LASER_291541NOOK
1192291534LASER5002017-04-1111:24:17291534LASER_291534NOOK
1193291521LASER5002017-04-1110:01:06291521LASER_291521NOOK
1194291518LASER5002017-04-1109:55:16291518LASER_291518NOOK
1195291424LASER20002017-04-1011:33:12291424LASER_291424NOOK
1196291422LASER20002017-04-1011:27:06291422LASER_291422NOOK
1197291418LASER20002017-04-1011:21:54291418LASER_291418NOOK
1198291416LASER100002017-04-1011:15:22291416LASER_291416NOOK
1199291415LASER100002017-04-1011:07:01291415LASER_291415NOOK
1200291412LASER100002017-04-1010:25:03291412LASER_291412NOOK
1201291411LASER100002017-04-1010:16:28291411LASER_291411NOOK
1202291409LASER100002017-04-1010:06:12291409LASER_291409NOOK
1203291171LASER20002017-04-0613:01:53291171LASER_291171NOOK
1204291125LASER100002017-04-0611:30:07291125LASER_291125NOOK
1205291092LASER10002017-04-0516:12:47291092LASER_291092NOOK
1206290850LASER100002017-04-0310:35:27290850LASER_290850NOOK
1207290837LASER100002017-04-0308:50:42290837LASER_290837NOOK
1208290836LASER100002017-04-0308:31:23290836LASER_290836NOOK
1209290835LASER100002017-04-0308:22:12290835LASER_290835NOOK
1210290828LASER100002017-04-0307:45:41290828LASER_290828NOOK
1211290782LASER10002017-04-0111:49:54290782LASER_290782NOOK
1212290703LASER1000002017-03-3116:04:33290703LASER_290703NOOK
1213290700LASER1000002017-03-3115:41:09290700LASER_290700NOOK
1214290698LASER1000002017-03-3115:38:03290698LASER_290698NOOK
1215290697LASER1000002017-03-3115:34:26290697LASER_290697NOOK
1216290696LASER1000002017-03-3115:30:28290696LASER_290696NOOK
1217290695LASER1000002017-03-3115:27:24290695LASER_290695NOOK
1218290694LASER1000002017-03-3115:24:43290694LASER_290694NOOK
1219290684LASER20000002017-03-3115:11:50290684LASER_290684NOOK
1220290681LASER20002017-03-3114:40:31290681LASER_290681NOOK
1221290646LASER20002017-03-3110:48:35290646LASER_290646NOOK
1222290638LASER20002017-03-3110:02:15290638LASER_290638NOOK
1223290625LASER20002017-03-3109:43:18290625LASER_290625NOOK
1224290392LASER10002017-03-2910:06:37290392LASER_290392NOOK
1225290304LASER10002017-03-2815:28:37290304LASER_290304NOOK
1226290297LASER10002017-03-2815:08:30290297LASER_290297NOOK
1227290296LASER10002017-03-2815:03:39290296LASER_290296NOOK
1228290295LASER10002017-03-2814:57:39290295LASER_290295NOOK
1229290273LASER10002017-03-2813:29:24290273LASER_290273NOOK
1230290269LASER10002017-03-2813:20:34290269LASER_290269NOOK
1231290265LASER10002017-03-2813:07:03290265LASER_290265NOOK
1232290255LASER10002017-03-2812:54:52290255LASER_290255NOOK
1233290236LASER10002017-03-2811:45:38290236LASER_290236NOOK
1234290040LASER20002017-03-2512:32:45290040LASER_290040NOOK
1235290039LASER2000002017-03-2512:27:21290039LASER_290039NOOK
1236290002LASER20002017-03-2417:30:29290002LASER_290002NOOK
1237289992LASER20002017-03-2415:23:29289992LASER_289992NOOK
1238289991LASER20002017-03-2415:22:28289991LASER_289991NOOK
1239289990LASER20002017-03-2415:21:33289990LASER_289990NOOK
1240289984LASER100002017-03-2415:11:28289984LASER_289984NOOK
1241289982LASER100002017-03-2415:08:07289982LASER_289982NOOK
1242289979LASER100002017-03-2415:04:34289979LASER_289979NOOK
1243289978LASER20002017-03-2414:58:09289978LASER_289978NOOK
1244289721LASER20002017-03-2016:47:02289721LASER_289721NOOK
1245289720LASER20002017-03-2016:40:54289720LASER_289720NOOK
1246289719LASER100002017-03-2016:34:03289719LASER_289719NOOK
1247289718LASER100002017-03-2016:33:26289718LASER_289718NOOK
1248289717LASER100002017-03-2016:24:12289717LASER_289717NOOK
1249289716LASER100002017-03-2016:15:13289716LASER_289716NOOK
1250289713LASER100002017-03-2016:07:10289713LASER_289713NOOK
1251289379LASER5002017-03-1518:04:51289379LASER_289379NOOK
1252289378LASER5002017-03-1517:54:19289378LASER_289378NOOK
1253289375LASER10002017-03-1517:14:22289375LASER_289375NOOK
1254289374LASER1000002017-03-1517:11:48289374LASER_289374NOOK
1255289370LASER1000002017-03-1517:02:26289370LASER_289370NOOK
1256289348LASER5002017-03-1515:32:20289348LASER_289348NOOK
1257289340LASER5002017-03-1514:35:40289340LASER_289340NOOK
1258289334LASER5002017-03-1513:53:08289334LASER_289334NOOK
1259289332LASER10002017-03-1513:42:04289332LASER_289332NOOK
1260289330LASER5002017-03-1513:37:16289330LASER_289330NOOK
1261289324LASER10002017-03-1513:28:47289324LASER_289324NOOK
1262289321LASER5002017-03-1512:00:03289321LASER_289321NOOK
1263289301LASER5002017-03-1423:04:43289301LASER_289301NOOK
1264288993LASER100002017-03-0916:41:15288993LASER_288993NOOK
1265288988LASER100002017-03-0916:25:01288988LASER_288988NOOK
1266288987LASER100002017-03-0916:18:20288987LASER_288987NOOK
1267288985LASER20002017-03-0916:11:07288985LASER_288985NOOK
1268288978LASER20002017-03-0915:01:58288978LASER_288978NOOK
1269288871LASER20002017-03-0809:52:03288871LASER_288871NOOK
1270288834LASER20002017-03-0717:48:44288834LASER_288834NOOK
1271288564LASER20002017-03-0216:39:46288564LASER_288564NOOK
1272288504LASER20002017-03-0209:56:39288504LASER_288504NOOK
1273288473LASER20002017-03-0115:55:10288473LASER_288473NOOK
1274288373LASER20002017-02-2814:45:30288373LASER_288373NOOK
1275288372LASER20002017-02-2814:41:12288372LASER_288372NOOK
1276288355LASER10002017-02-2813:31:15288355LASER_288355NOOK
1277288353LASER20002017-02-2813:09:10288353LASER_288353NOOK
1278288350LASER20002017-02-2813:05:07288350LASER_288350NOOK
1279288349LASER20002017-02-2812:48:43288349LASER_288349NOOK
1280288345LASER20002017-02-2812:33:08288345LASER_288345NOOK
1281288336LASER20002017-02-2812:19:51288336LASER_288336NOOK
1282288335LASER10002017-02-2811:44:50288335LASER_288335NOOK
1283288333LASER10002017-02-2811:34:01288333LASER_288333NOOK
1284288331LASER10002017-02-2811:23:55288331LASER_288331NOOK
1285288325LASER10002017-02-2811:17:17288325LASER_288325NOOK
1286288322LASER10002017-02-2811:00:07288322LASER_288322NOOK
1287288321LASER10002017-02-2810:44:04288321LASER_288321NOOK
1288288314LASER10002017-02-2810:34:19288314LASER_288314NOOK
1289288311LASER10002017-02-2810:26:47288311LASER_288311NOOK
1290288309LASER10002017-02-2810:16:42288309LASER_288309NOOK
1291288265LASER20002017-02-2713:19:30288265LASER_288265NOOK
1292288263LASER20002017-02-2711:45:56288263LASER_288263NOOK
1293288262LASER20002017-02-2711:13:50288262LASER_288262NOOK
1294288261LASER20002017-02-2710:55:19288261LASER_288261NOOK
1295288190LASER100002017-02-2419:20:32288190LASER_288190NOOK
1296288189LASER100002017-02-2419:17:15288189LASER_288189NOOK
1297288188LASER100002017-02-2419:14:03288188LASER_288188NOOK
1298288187LASER100002017-02-2419:10:46288187LASER_288187NOOK
1299288186LASER100002017-02-2419:05:49288186LASER_288186NOOK
1300288185LASER100002017-02-2419:02:22288185LASER_288185NOOK
1301288184LASER100002017-02-2418:58:50288184LASER_288184NOOK
1302288182LASER100002017-02-2418:35:26288182LASER_288182NOOK
1303288181LASER100002017-02-2418:31:44288181LASER_288181NOOK
1304288180LASER100002017-02-2418:26:43288180LASER_288180NOOK
1305288176LASER10002017-02-2417:35:50288176LASER_288176NOOK
1306288174LASER100002017-02-2417:27:38288174LASER_288174NOOK
1307288173LASER10002017-02-2417:16:56288173LASER_288173NOOK
1308288172LASER10002017-02-2417:14:03288172LASER_288172NOOK
1309288165LASER20002017-02-2416:50:16288165LASER_288165NOOK
1310288148LASER20002017-02-2414:58:39288148LASER_288148NOOK
1311288144LASER20002017-02-2414:36:58288144LASER_288144NOOK
1312288141LASER20002017-02-2414:21:25288141LASER_288141NOOK
1313288138LASER20002017-02-2414:11:07288138LASER_288138NOOK
1314288135LASER20002017-02-2414:04:25288135LASER_288135NOOK
1315288134LASER20002017-02-2414:02:57288134LASER_288134NOOK
1316288123LASER10002017-02-2413:02:16288123LASER_288123NOOK
1317288120LASER10002017-02-2412:09:00288120LASER_288120NOOK
1318288116LASER10002017-02-2411:05:41288116LASER_288116NOOK
1319288109LASER20002017-02-2410:45:59288109LASER_288109NOOK
1320288106LASER10002017-02-2409:47:40288106LASER_288106NOOK
1321288075LASER20002017-02-2316:48:51288075LASER_288075NOOK
1322288074LASER20002017-02-2316:36:59288074LASER_288074NOOK
1323288028LASER10002017-02-2312:07:07288028LASER_288028NOOK
1324288027LASER10002017-02-2312:02:42288027LASER_288027NOOK
1325288025LASER100002017-02-2311:27:49224708LASER_288025NOOK
1326288005LASER5002017-02-2217:57:34288005LASER_288005NOOK
1327288003LASER5002017-02-2216:50:41288003LASER_288003NOOK
1328288000LASER5002017-02-2216:45:39288000LASER_288000NOOK
1329287998LASER1000002017-02-2216:41:32287998LASER_287998NOOK
1330287990LASER2000002017-02-2216:13:49287990LASER_287990NOOK
1331287884LASER100002017-02-2011:26:32287884LASER_287884NOOK
1332287882LASER20002017-02-2011:09:55287882LASER_287882NOOK
1333287870LASER100002017-02-2009:28:19287870LASER_287870NOOK
1334287869LASER100002017-02-2009:22:08287869LASER_287869NOOK
1335287868LASER100002017-02-2009:15:41287868LASER_287868NOOK
1336287867LASER100002017-02-2009:09:02287867LASER_287867NOOK
1337287866LASER100002017-02-2009:03:21287866LASER_287866NOOK
1338287766LASER100002017-02-1716:00:36287766LASER_287766NOOK
1339287765LASER100002017-02-1715:52:43287765LASER_287765NOOK
1340287740LASER100002017-02-1700:47:05287740LASER_287740NOOK
1341287739LASER100002017-02-1700:40:57287739LASER_287739NOOK
1342287511LASER100002017-02-1320:27:21287511LASER_287511NOOK
1343287400LASER20000002017-02-1017:04:07287400LASER_287400NOOK
1344287398LASER20002017-02-1015:54:48287398LASER_287398NOOK
1345287397LASER10002017-02-1015:49:12287397LASER_287397NOOK
1346287385LASER10000002017-02-1014:58:55287385LASER_287385NOOK
1347287382LASER100002017-02-1014:15:51287382LASER_287382NOOK
1348287377LASER20002017-02-1013:56:18287377LASER_287377NOOK
1349287375LASER100002017-02-1013:45:43287375LASER_287375NOOK
1350287318LASER100002017-02-0919:21:54287318LASER_287318NOOK
1351287295LASER100002017-02-0917:38:41287295LASER_287295NOOK
1352287291LASER5002017-02-0917:32:03287291LASER_287291NOOK
1353287290LASER20002017-02-0917:21:40287290LASER_287290NOOK
1354287274LASER100002017-02-0916:31:04224708LASER_287274NOOK
1355287267LASER20002017-02-0916:23:23287267LASER_287267NOOK
1356287264LASER100002017-02-0916:00:07224708LASER_287264NOOK
1357287142LASER1000002017-02-0815:57:14287142LASER_287142NOOK
1358287139LASER1000002017-02-0815:35:25224708LASER_287139NOOK
1359287043LASER20002017-02-0622:56:57287043LASER_287043NOOK
1360287042LASER100002017-02-0622:53:10287042LASER_287042NOOK
1361287041LASER100002017-02-0622:47:29287041LASER_287041NOOK
1362287040LASER100002017-02-0622:42:14287040LASER_287040NOOK
1363287039LASER100002017-02-0622:36:51287039LASER_287039NOOK
1364287038LASER20002017-02-0622:31:40287038LASER_287038NOOK
1365287037LASER100002017-02-0622:28:00287037LASER_287037NOOK
1366287022LASER100002017-02-0611:38:16287022LASER_287022NOOK
1367287017LASER100002017-02-0611:23:22287017LASER_287017NOOK
1368287012LASER100002017-02-0610:37:48287012LASER_287012NOOK
1369286769LASER20002017-01-2715:40:21286769LASER_286769NOOK
1370286768LASER20002017-01-2715:36:18286768LASER_286768NOOK
1371286767LASER100002017-01-2715:26:36224708LASER_286767NOOK
1372286766LASER100002017-01-2715:20:11224708LASER_286766NOOK
1373286688LASER100002017-01-1916:55:59224708LASER_286688NOOK
1374286680LASER10002017-01-1913:21:50224708LASER_286680NOOK
1375286679LASER100002017-01-1913:17:19224708LASER_286679NOOK
1376286678LASER100002017-01-1912:45:32224708LASER_286678NOOK
1377286590LASER20002016-12-0517:32:04224708LASER_286590NOOK
1378286410LASER20002016-12-0211:06:08224708LASER_286410NOOK
1379286409LASER20002016-12-0211:03:20224708LASER_286409NOOK
1380286408LASER20002016-12-0210:59:59224708LASER_286408NOOK
1381286405LASER100002016-12-0210:57:11224708LASER_286405NOOK
1382286403LASER100002016-12-0210:51:12224708LASER_286403NOOK
1383286399LASER100002016-12-0210:34:02224708LASER_286399NOOK
1384286395LASER100002016-12-0210:24:33224708LASER_286395NOOK
1385286391LASER5002016-12-0210:10:17224708LASER_286391NOOK
1386286390LASER20002016-12-0210:06:47224708LASER_286390NOOK
1387286383LASER20002016-12-0209:44:18224708LASER_286383NOOK
1388285879LASER100002016-11-2517:29:38224708LASER_285879NOOK
1389285878LASER100002016-11-2517:23:14224708LASER_285878NOOK
1390285850LASER100002016-11-2511:34:15224708LASER_285850NOOK
1391285849LASER100002016-11-2511:27:54224708LASER_285849NOOK
1392285843LASER100002016-11-2511:12:48224708LASER_285843NOOK
1393285701LASER100002016-11-2211:13:55224708LASER_285701NOOK
1394285699LASER100002016-11-2211:06:28224708LASER_285699NOOK
1395285667LASER40002016-11-2118:24:11224708LASER_285667NOOK
1396285666LASER40002016-11-2118:14:09224708LASER_285666NOOK
1397285663LASER40002016-11-2117:58:38224708LASER_285663NOOK
1398285552LASER100002016-11-2023:33:44224708LASER_285552NOOK
1399285356LASER100002016-11-1517:43:45224708LASER_285356NOOK
1400285355LASER100002016-11-1517:36:15224708LASER_285355NOOK
1401285353LASER100002016-11-1517:29:55224708LASER_285353NOOK
1402285230LASER100002016-11-1320:13:37224708LASER_285230NOOK
1403285229LASER100002016-11-1320:07:45224708LASER_285229NOOK
1404285227LASER100002016-11-1320:01:27224708LASER_285227NOOK
1405285097LASER100002016-11-1016:22:54224708LASER_285097NOOK
1406285011LASER100002016-11-0914:20:57224708LASER_285011NOOK
1407284987LASER100002016-11-0911:47:11224708LASER_284987NOOK
1408284912LASER100002016-11-0811:21:57224708LASER_284912NOOK
1409284902LASER20002016-11-0810:39:16224708LASER_284902NOOK
1410284901LASER20002016-11-0810:35:12224708LASER_284901NOOK
1411284900LASER100002016-11-0810:30:32224708LASER_284900NOOK
1412284898LASER100002016-11-0810:24:39224708LASER_284898NOOK
1413284890LASER100002016-11-0809:50:40224708LASER_284890NOOK
1414284885LASER100002016-11-0809:44:06224708LASER_284885NOOK
1415284764LASER20002016-11-0710:28:59224708LASER_284764NOOK
1416284738LASER100002016-11-0617:07:53224708LASER_284738NOOK
1417284737LASER100002016-11-0617:02:22224708LASER_284737NOOK
1418284735LASER100002016-11-0616:55:43224708LASER_284735NOOK
1419284501LASER100002016-11-0318:06:28224708LASER_284501NOOK
1420284499LASER20002016-11-0318:00:56224708LASER_284499NOOK
1421284498LASER20002016-11-0317:57:59224708LASER_284498NOOK
1422284496LASER20002016-11-0317:55:14224708LASER_284496NOOK
1423284495LASER100002016-11-0317:52:06224708LASER_284495NOOK
1424284494LASER100002016-11-0317:46:44224708LASER_284494NOOK
1425284493LASER100002016-11-0317:40:44224708LASER_284493NOOK
1426284489LASER100002016-11-0317:28:54224708LASER_284489NOOK
1427284472LASER20002016-11-0316:03:08224708LASER_284472NOOK
1428284470LASER20002016-11-0315:56:49224708LASER_284470NOOK
1429284352LASER20002016-11-0113:12:04224708LASER_284352NOOK
1430284349LASER20002016-11-0113:08:31224708LASER_284349NOOK
1431284348LASER20002016-11-0113:05:30224708LASER_284348NOOK
1432284345LASER100002016-11-0113:01:58224708LASER_284345NOOK
1433284344LASER100002016-11-0112:56:04224708LASER_284344NOOK
1434284341LASER100002016-11-0112:43:32224708LASER_284341NOOK
1435284340LASER100002016-11-0112:37:18224708LASER_284340NOOK
1436284314LASER100002016-11-0109:14:07224708LASER_284314NOOK
1437284311LASER100002016-11-0109:08:18224708LASER_284311NOOK
1438284309LASER100002016-11-0109:02:38224708LASER_284309NOOK
1439284284LASER100002016-10-3118:31:54224708LASER_284284NOOK
1440284251LASER100002016-10-3112:00:45224708LASER_284251NOOK
1441284248LASER100002016-10-3111:47:50224708LASER_284248NOOK
1442284247LASER100002016-10-3111:36:52224708LASER_284247NOOK
1443284245LASER100002016-10-3111:30:27224708LASER_284245NOOK
1444284189LASER100002016-10-2908:30:28224708LASER_284189NOOK
1445284186LASER100002016-10-2908:14:32224708LASER_284186NOOK
1446284185LASER100002016-10-2908:07:15224708LASER_284185NOOK
1447284132LASER20002016-10-2809:24:04224708LASER_284132NOOK
1448284131LASER20002016-10-2809:18:57224708LASER_284131NOOK
1449284129LASER100002016-10-2809:09:23224708LASER_284129NOOK
1450284128LASER100002016-10-2809:02:22224708LASER_284128NOOK
1451284127LASER100002016-10-2808:52:30224708LASER_284127NOOK
1452284126LASER100002016-10-2808:45:50224708LASER_284126NOOK
1453283997LASER20002016-10-2520:41:33224708LASER_283997NOOK
1454283995LASER20002016-10-2520:37:06224708LASER_283995NOOK
1455283991LASER100002016-10-2520:02:34224708LASER_283991NOOK
1456283988LASER100002016-10-2519:57:02224708LASER_283988NOOK
1457283983LASER100002016-10-2519:50:56224708LASER_283983NOOK
1458283982LASER100002016-10-2519:45:30224708LASER_283982NOOK
1459283973LASER100002016-10-2519:27:22224708LASER_283973NOOK
1460283918LASER100002016-10-2416:18:51224708LASER_283918NOOK
1461283855LASER20002016-10-2213:36:09224708LASER_283855NOOK
1462283854LASER20002016-10-2213:32:59224708LASER_283854NOOK
1463283853LASER20002016-10-2213:29:33224708LASER_283853NOOK
1464283852LASER100002016-10-2213:26:07224708LASER_283852NOOK
1465283849LASER100002016-10-2213:13:55224708LASER_283849NOOK
1466283842LASER100002016-10-2212:57:50224708LASER_283842NOOK
1467283840LASER100002016-10-2212:51:42224708LASER_283840NOOK
1468283837LASER100002016-10-2212:44:33224708LASER_283837NOOK
1469283803LASER100002016-10-2117:09:24224708LASER_283803NOOK
1470283800LASER100002016-10-2117:02:53224708LASER_283800NOOK
1471283799LASER100002016-10-2116:56:40224708LASER_283799NOOK
1472283660LASER100002016-10-2020:09:02224708LASER_283660NOOK
1473283659LASER100002016-10-2020:03:00224708LASER_283659NOOK
1474283658LASER100002016-10-2019:57:22224708LASER_283658NOOK
1475283539LASER20002016-10-1915:38:07224708LASER_283539NOOK
1476283511LASER20002016-10-1913:16:27224708LASER_283511NOOK
1477283447LASER100002016-10-1817:28:38224708LASER_283447NOOK
1478283445LASER100002016-10-1817:22:59224708LASER_283445NOOK
1479283443LASER100002016-10-1817:16:41224708LASER_283443NOOK
1480283401LASER100002016-10-1720:14:40224708LASER_283401NOOK
1481283400LASER100002016-10-1720:08:02224708LASER_283400NOOK
1482283369LASER5002016-10-1711:31:14224708LASER_283369NOOK
1483283366LASER100002016-10-1711:12:47224708LASER_283366NOOK
1484283365LASER100002016-10-1711:06:46224708LASER_283365NOOK
1485283364LASER100002016-10-1711:00:48224708LASER_283364NOOK
1486283362LASER20002016-10-1710:54:50224708LASER_283362NOOK
1487283329LASER100002016-10-1613:07:43224708LASER_283329NOOK
1488283328LASER100002016-10-1613:02:15224708LASER_283328NOOK
1489283325LASER100002016-10-1612:55:51224708LASER_283325NOOK
1490283302LASER100002016-10-1518:52:53224708LASER_283302NOOK
1491283300LASER100002016-10-1518:47:12224708LASER_283300NOOK
1492283298LASER100002016-10-1518:39:47224708LASER_283298NOOK
1493283217LASER20002016-10-1413:59:54224708LASER_283217NOOK
1494283214LASER20002016-10-1413:46:43224708LASER_283214NOOK
1495283201LASER100002016-10-1412:33:24224708LASER_283201NOOK
1496283192LASER100002016-10-1412:06:45224708LASER_283192NOOK
1497283127LASER20002016-10-1317:21:46224708LASER_283127NOOK
1498283125LASER20002016-10-1317:17:21224708LASER_283125NOOK
1499283124LASER20002016-10-1317:13:05224708LASER_283124NOOK
1500283123LASER100002016-10-1317:09:05224708LASER_283123NOOK
1501283121LASER100002016-10-1317:02:14224708LASER_283121NOOK
1502283117LASER100002016-10-1316:34:23224708LASER_283117NOOK
1503283114LASER100002016-10-1316:27:35224708LASER_283114NOOK
1504282945LASER20002016-10-1209:11:27224708LASER_282945NOOK
1505282938LASER100002016-10-1208:58:05224708LASER_282938NOOK
1506282937LASER100002016-10-1208:51:35224708LASER_282937NOOK
1507282936LASER100002016-10-1208:42:19224708LASER_282936NOOK
1508282933LASER100002016-10-1208:35:14224708LASER_282933NOOK
1509282931LASER100002016-10-1208:28:03224708LASER_282931NOOK
1510282929LASER100002016-10-1208:20:47224708LASER_282929NOOK
1511282898LASER20002016-10-1114:48:30224708LASER_282898NOOK
1512282896LASER20002016-10-1114:45:05224708LASER_282896NOOK
1513282895LASER20002016-10-1114:41:56224708LASER_282895NOOK
1514282894LASER20002016-10-1114:38:09224708LASER_282894NOOK
1515282893LASER20002016-10-1114:34:51224708LASER_282893NOOK
1516282891LASER20002016-10-1114:33:45224708LASER_282891NOOK
1517282890LASER20002016-10-1114:32:54224708LASER_282890NOOK
1518282889LASER20002016-10-1114:32:04224708LASER_282889NOOK
1519282888LASER20002016-10-1114:31:04224708LASER_282888NOOK
1520282862LASER20002016-10-1112:16:16224708LASER_282862NOOK
1521282859LASER20002016-10-1112:11:03224708LASER_282859NOOK
1522282857LASER20002016-10-1112:05:34224708LASER_282857NOOK
1523282856LASER100002016-10-1112:01:16224708LASER_282856NOOK
1524282854LASER100002016-10-1111:54:51224708LASER_282854NOOK
1525282850LASER100002016-10-1111:40:49224708LASER_282850NOOK
1526282844LASER100002016-10-1111:21:07224708LASER_282844NOOK
1527282784LASER100002016-10-1011:27:08224708LASER_282784NOOK
1528282783LASER100002016-10-1011:17:45224708LASER_282783NOOK
1529282779LASER100002016-10-1011:03:49224708LASER_282779NOOK
1530282777LASER100002016-10-1010:50:45224708LASER_282777NOOK
1531282727LASER20002016-10-0911:03:37224708LASER_282727NOOK
1532282669LASER20002016-10-0900:12:05224708LASER_282669NOOK
1533282668LASER20002016-10-0900:05:57224708LASER_282668NOOK
1534282667LASER20002016-10-0900:01:25224708LASER_282667NOOK
1535282666LASER20002016-10-0823:56:19224708LASER_282666NOOK
1536282369LASER20002016-10-0517:33:46224708LASER_282369NOOK
1537282368LASER20002016-10-0517:26:11224708LASER_282368NOOK
1538282362LASER20002016-10-0516:36:40224708LASER_282362NOOK
1539282320LASER20002016-10-0512:44:50224708LASER_282320NOOK
1540282295LASER20002016-10-0509:58:15224708LASER_282295NOOK
1541282288LASER20002016-10-0509:25:12224708LASER_282288NOOK
1542282287LASER20002016-10-0509:16:16224708LASER_282287NOOK
1543282286LASER20002016-10-0509:03:19224708LASER_282286NOOK
1544282285LASER100002016-10-0508:59:54224708LASER_282285NOOK
1545282243LASER20002016-10-0414:37:12224708LASER_282243NOOK
1546282242LASER20002016-10-0414:33:44224708LASER_282242NOOK
1547282241LASER100002016-10-0414:30:34224708LASER_282241NOOK
1548282234LASER100002016-10-0414:06:33224708LASER_282234NOOK
1549282171LASER100002016-10-0318:50:40224708LASER_282171NOOK
1550282063LASER20002016-10-0113:19:05224708LASER_282063NOOK
1551282062LASER20002016-10-0113:14:30224708LASER_282062NOOK
1552282061LASER20002016-10-0113:10:14224708LASER_282061NOOK
1553282059LASER100002016-10-0113:04:16224708LASER_282059NOOK
1554282058LASER100002016-10-0112:57:15224708LASER_282058NOOK
1555282057LASER100002016-10-0112:49:58224708LASER_282057NOOK
1556282046LASER100002016-10-0111:28:26224708LASER_282046NOOK
1557282043LASER100002016-10-0111:21:50224708LASER_282043NOOK
1558282042LASER100002016-10-0111:15:12224708LASER_282042NOOK
1559281886LASER5002016-09-2911:12:40224708LASER_281886NOOK
1560281883LASER5002016-09-2911:04:42224708LASER_281883NOOK
1561281882LASER100002016-09-2911:03:05224708LASER_281882NOOK
1562281878LASER10002016-09-2910:54:01224708LASER_281878NOOK
1563281876LASER10002016-09-2910:49:26224708LASER_281876NOOK
1564281872LASER100002016-09-2910:43:59224708LASER_281872NOOK
1565281857LASER10002016-09-2910:02:02224708LASER_281857NOOK
1566281853LASER10002016-09-2909:53:03224708LASER_281853NOOK
1567281849LASER20002016-09-2909:46:20224708LASER_281849NOOK
1568281846LASER10002016-09-2909:39:55224708LASER_281846NOOK
1569281827LASER20002016-09-2908:15:29224708LASER_281827NOOK
1570281761LASER20002016-09-2806:52:01224708LASER_281761NOOK
1571281759LASER20002016-09-2806:48:15224708LASER_281759NOOK
1572281758LASER20002016-09-2806:44:15224708LASER_281758NOOK
1573281755LASER100002016-09-2806:40:18224708LASER_281755NOOK
1574281746LASER100002016-09-2806:22:17224708LASER_281746NOOK
1575281743LASER100002016-09-2806:15:31224708LASER_281743NOOK
1576281740LASER100002016-09-2806:05:17224708LASER_281740NOOK
1577281737LASER100002016-09-2805:58:38224708LASER_281737NOOK
1578281736LASER100002016-09-2805:51:46224708LASER_281736NOOK
1579281649LASER100002016-09-2612:32:31224708LASER_281649NOOK
1580281647LASER100002016-09-2612:25:31224708LASER_281647NOOK
1581281646LASER100002016-09-2612:18:53224708LASER_281646NOOK
1582281468LASER100002016-09-2313:24:28224708LASER_281468NOOK
1583281464LASER100002016-09-2313:09:52224708LASER_281464NOOK
1584281375LASER100002016-09-2217:33:02224708LASER_281375NOOK
1585281373LASER100002016-09-2217:15:19224708LASER_281373NOOK
1586281372LASER100002016-09-2217:11:22224708LASER_281372NOOK
1587281371LASER100002016-09-2217:06:15224708LASER_281371NOOK
1588281370LASER100002016-09-2216:58:13224708LASER_281370NOOK
1589281369LASER100002016-09-2216:52:21224708LASER_281369NOOK
1590281366LASER100002016-09-2216:23:12224708LASER_281366NOOK
1591281364LASER100002016-09-2216:12:31224708LASER_281364NOOK
1592281246LASER20002016-09-2112:00:52224708LASER_281246NOOK
1593281162LASER100002016-09-2013:39:11224708LASER_281162NOOK
1594280662LASER100002016-09-1414:30:36224708LASER_280662NOOK
1595280654LASER100002016-09-1413:17:40224708LASER_280654NOOK
1596280378LASER100002016-09-0907:11:13224708LASER_280378NOOK
1597280376LASER100002016-09-0907:03:38224708LASER_280376NOOK
1598280266LASER100002016-09-0708:25:31224708LASER_280266NOOK
1599280264LASER100002016-09-0708:18:02224708LASER_280264NOOK
1600280208LASER100002016-09-0608:36:25224708LASER_280208NOOK
1601280207LASER100002016-09-0608:24:29224708LASER_280207NOOK
1602280204LASER100002016-09-0608:12:10224708LASER_280204NOOK
1603280202LASER100002016-09-0608:02:34224708LASER_280202NOOK
1604280155LASER20002016-09-0515:56:40224708LASER_280155NOOK
1605280148LASER100002016-09-0515:43:13224708LASER_280148NOOK
1606280146LASER100002016-09-0515:34:17224708LASER_280146NOOK
1607280143LASER100002016-09-0515:26:37224708LASER_280143NOOK
1608280141LASER100002016-09-0515:15:50224708LASER_280141NOOK
1609280138LASER100002016-09-0515:06:39224708LASER_280138NOOK
1610280134LASER100002016-09-0514:51:02224708LASER_280134NOOK
1611279913LASER100002016-09-0207:23:34224708LASER_279913NOOK
1612279909LASER100002016-09-0207:08:45224708LASER_279909NOOK
1613279816LASER100002016-08-3108:23:40224708LASER_279816NOOK
1614279804LASER100002016-08-3107:32:12224708LASER_279804NOOK
1615279802LASER100002016-08-3107:24:58224708LASER_279802NOOK
1616279745LASER20002016-08-2915:08:53224708LASER_279745NOOK
1617279744LASER20002016-08-2915:03:24224708LASER_279744NOOK
1618279742LASER20002016-08-2914:59:04224708LASER_279742NOOK
1619279740LASER100002016-08-2914:54:34224708LASER_279740NOOK
1620279739LASER100002016-08-2914:47:14224708LASER_279739NOOK
1621279737LASER100002016-08-2914:39:57224708LASER_279737NOOK
1622279736LASER100002016-08-2914:32:04224708LASER_279736NOOK
1623279734LASER100002016-08-2914:23:26224708LASER_279734NOOK
1624279711LASER20002016-08-2819:54:31224708LASER_279711NOOK
1625279709LASER20002016-08-2819:50:17224708LASER_279709NOOK
1626279708LASER100002016-08-2819:45:15224708LASER_279708NOOK
1627279707LASER100002016-08-2819:37:06224708LASER_279707NOOK
1628279701LASER100002016-08-2819:04:16224708LASER_279701NOOK
1629279633LASER100002016-08-2608:37:14224708LASER_279633NOOK
1630279631LASER20002016-08-2608:25:07224708LASER_279631NOOK
1631279628LASER20002016-08-2608:20:47224708LASER_279628NOOK
1632279627LASER20002016-08-2608:16:37224708LASER_279627NOOK
1633279621LASER100002016-08-2608:11:43224708LASER_279621NOOK
1634279615LASER100002016-08-2607:54:41224708LASER_279615NOOK
1635279614LASER100002016-08-2607:45:39224708LASER_279614NOOK
1636279610LASER100002016-08-2607:27:34224708LASER_279610NOOK
1637279608LASER100002016-08-2607:17:13224708LASER_279608NOOK
1638279260LASER100002016-08-2311:36:07224708LASER_279260NOOK
1639279259LASER100002016-08-2311:33:10224708LASER_279259NOOK
1640279258LASER100002016-08-2311:24:03224708LASER_279258NOOK
1641279257LASER100002016-08-2311:14:20224708LASER_279257NOOK
1642279251LASER100002016-08-2310:46:01224708LASER_279251NOOK
1643279236LASER100002016-08-2301:03:12224708LASER_279236NOOK
1644279235LASER100002016-08-2301:02:25224708LASER_279235NOOK
1645279234LASER100002016-08-2300:40:47224708LASER_279234NOOK
1646279233LASER100002016-08-2300:38:49224708LASER_279233NOOK
1647279232LASER100002016-08-2300:27:41224708LASER_279232NOOK
1648279231LASER100002016-08-2300:22:30224708LASER_279231NOOK
1649279230LASER100002016-08-2300:10:42224708LASER_279230NOOK
1650279229LASER100002016-08-2223:53:19224708LASER_279229NOOK
1651279228LASER5002016-08-2223:25:29224708LASER_279228NOOK
1652279227LASER20002016-08-2223:04:23224708LASER_279227NOOK
1653279226LASER100002016-08-2222:43:30224708LASER_279226NOOK
1654279225LASER100002016-08-2222:28:15224708LASER_279225NOOK
1655279224LASER150002016-08-2222:16:36224708LASER_279224NOOK
1656279223LASER100002016-08-2221:31:59224708LASER_279223NOOK
1657279222LASER5002016-08-2221:22:38224708LASER_279222NOOK
1658279221LASER150002016-08-2220:54:09224708LASER_279221NOOK
1659279139LASER20002016-08-2115:12:47224708LASER_279139NOOK
1660279138LASER100002016-08-2114:58:24224708LASER_279138NOOK
1661279137LASER20002016-08-2114:13:32224708LASER_279137NOOK
1662279106LASER20002016-08-2012:35:37224708LASER_279106NOOK
1663279105LASER20002016-08-2012:31:48224708LASER_279105NOOK
1664279102LASER100002016-08-2012:13:40224708LASER_279102NOOK
1665279101LASER100002016-08-2011:48:31224708LASER_279101NOOK
1666279099LASER100002016-08-2011:36:29224708LASER_279099NOOK
1667279098LASER100002016-08-2011:28:03224708LASER_279098NOOK
1668279097LASER100002016-08-2011:13:23224708LASER_279097NOOK
1669278935LASER100002016-08-1615:47:25224708LASER_278935NOOK
1670278915LASER20002016-08-1610:46:23224708LASER_278915NOOK
1671278913LASER20002016-08-1610:41:28224708LASER_278913NOOK
1672278912LASER20002016-08-1610:36:31224708LASER_278912NOOK
1673278910LASER100002016-08-1610:25:33224708LASER_278910NOOK
1674278909LASER100002016-08-1610:17:36224708LASER_278909NOOK
1675278907LASER100002016-08-1610:09:46224708LASER_278907NOOK
1676278903LASER100002016-08-1609:48:49224708LASER_278903NOOK
1677278901LASER100002016-08-1609:40:53224708LASER_278901NOOK
1678278898LASER100002016-08-1609:32:45224708LASER_278898NOOK
1679278685LASER100002016-08-1114:49:28224708LASER_278685NOOK
1680278609LASER20002016-08-1022:48:36224708LASER_278609NOOK
1681278608LASER20002016-08-1022:43:57224708LASER_278608NOOK
1682278607LASER20002016-08-1022:38:52224708LASER_278607NOOK
1683278606LASER20002016-08-1022:34:13224708LASER_278606NOOK
1684278605LASER20002016-08-1022:32:42224708LASER_278605NOOK
1685278602LASER100002016-08-1022:13:08224708LASER_278602NOOK
1686278600LASER100002016-08-1022:05:06224708LASER_278600NOOK
1687278598LASER100002016-08-1021:57:18224708LASER_278598NOOK
1688278594LASER100002016-08-1021:45:09224708LASER_278594NOOK
1689278592LASER100002016-08-1021:40:06224708LASER_278592NOOK
1690278590LASER100002016-08-1021:32:26224708LASER_278590NOOK
1691278584LASER20002016-08-1021:11:01224708LASER_278584NOOK
1692278527LASER100002016-08-1009:42:01224708LASER_278527NOOK
1693278526LASER100002016-08-1009:34:08224708LASER_278526NOOK
1694278522LASER100002016-08-1009:26:26224708LASER_278522NOOK
1695278520LASER100002016-08-1009:19:13224708LASER_278520NOOK
1696278517LASER100002016-08-1009:09:21224708LASER_278517NOOK
1697278515LASER100002016-08-1009:01:50224708LASER_278515NOOK
1698278514LASER100002016-08-1008:53:18224708LASER_278514NOOK
1699278443LASER100002016-08-0909:51:27224708LASER_278443NOOK
1700278442LASER100002016-08-0909:46:40224708LASER_278442NOOK
1701278441LASER100002016-08-0909:42:07224708LASER_278441NOOK
1702278439LASER100002016-08-0909:37:39224708LASER_278439NOOK
1703278438LASER100002016-08-0909:33:16224708LASER_278438NOOK
1704278437LASER100002016-08-0909:28:08224708LASER_278437NOOK
1705278436LASER100002016-08-0909:20:03224708LASER_278436NOOK
1706278334LASER20002016-08-0718:30:16224708LASER_278334NOOK
1707278333LASER20002016-08-0718:26:20224708LASER_278333NOOK
1708278331LASER20002016-08-0717:51:47224708LASER_278331NOOK
1709278330LASER100002016-08-0717:47:26224708LASER_278330NOOK
1710278329LASER100002016-08-0717:39:48224708LASER_278329NOOK
1711278328LASER100002016-08-0717:31:30224708LASER_278328NOOK
1712278327LASER100002016-08-0717:23:01224708LASER_278327NOOK
1713278326LASER100002016-08-0717:15:23224708LASER_278326NOOK
1714278325LASER100002016-08-0717:07:00224708LASER_278325NOOK
1715278232LASER20002016-08-0418:38:56224708LASER_278232NOOK
1716278231LASER20002016-08-0418:34:43224708LASER_278231NOOK
1717278230LASER20002016-08-0418:30:30224708LASER_278230NOOK
1718278229LASER100002016-08-0418:26:23224708LASER_278229NOOK
1719278227LASER100002016-08-0418:17:15224708LASER_278227NOOK
1720278226LASER100002016-08-0418:09:37224708LASER_278226NOOK
1721278225LASER100002016-08-0418:02:00224708LASER_278225NOOK
1722278223LASER100002016-08-0417:18:54224708LASER_278223NOOK
1723278221LASER100002016-08-0417:10:24224708LASER_278221NOOK
1724278078LASER100002016-08-0216:32:41224708LASER_278078NOOK
1725278075LASER100002016-08-0216:13:26224708LASER_278075NOOK
1726278074LASER100002016-08-0216:03:11224708LASER_278074NOOK
1727278071LASER100002016-08-0215:47:22224708LASER_278071NOOK
1728278004LASER100002016-08-0119:22:51224708LASER_278004NOOK
1729278002LASER20002016-08-0119:15:09224708LASER_278002NOOK
1730277887LASER20002016-07-3122:14:06224708LASER_277887NOOK
1731277884LASER20002016-07-3122:08:34224708LASER_277884NOOK
1732277882LASER20002016-07-3122:03:41224708LASER_277882NOOK
1733277880LASER100002016-07-3121:58:55224708LASER_277880NOOK
1734277877LASER100002016-07-3121:41:42224708LASER_277877NOOK
1735277874LASER100002016-07-3121:32:54224708LASER_277874NOOK
1736277869LASER100002016-07-3121:14:51224708LASER_277869NOOK
1737277702LASER20002016-07-2909:52:12224708LASER_277702NOOK
1738277697LASER200002016-07-2909:40:31224708LASER_277697NOOK
1739277623LASER20002016-07-2816:28:41224708LASER_277623NOOK
1740277612LASER200002016-07-2815:20:19224708LASER_277612NOOK
1741277606LASER200002016-07-2814:39:52224708LASER_277606NOOK
1742277601LASER200002016-07-2814:17:34224708LASER_277601NOOK
1743277585LASER20002016-07-2812:44:09224708LASER_277585NOOK
1744277563LASER200002016-07-2811:51:25224708LASER_277563NOOK
1745277356LASER100002016-07-2510:52:12224708LASER_277356NOOK
1746277355LASER100002016-07-2510:43:11224708LASER_277355NOOK
1747277352LASER20002016-07-2510:34:02224708LASER_277352NOOK
1748277351LASER20002016-07-2510:28:34224708LASER_277351NOOK
1749277344LASER100002016-07-2509:38:25224708LASER_277344NOOK
1750277340LASER100002016-07-2509:28:04224708LASER_277340NOOK
1751277176LASER100002016-07-2311:56:29224708LASER_277176NOOK
1752277174LASER100002016-07-2311:41:38224708LASER_277174NOOK
1753277136LASER100002016-07-2208:25:11224708LASER_277136NOOK
1754277134LASER100002016-07-2208:17:44224708LASER_277134NOOK
1755277133LASER100002016-07-2208:08:30224708LASER_277133NOOK
1756276983LASER20002016-07-1907:01:58224708LASER_276983NOOK
1757276982LASER20002016-07-1906:58:00224708LASER_276982NOOK
1758276981LASER20002016-07-1906:56:39224708LASER_276981NOOK
1759276976LASER100002016-07-1906:47:42224708LASER_276976NOOK
1760276974LASER100002016-07-1906:31:35224708LASER_276974NOOK
1761276970LASER100002016-07-1906:22:46224708LASER_276970NOOK
1762276966LASER100002016-07-1906:14:19224708LASER_276966NOOK
1763276918LASER100002016-07-1714:41:11224708LASER_276918NOOK
1764276914LASER100002016-07-1714:10:08224708LASER_276914NOOK
1765276913LASER100002016-07-1713:54:10224708LASER_276913NOOK
1766276909LASER100002016-07-1713:18:42224708LASER_276909NOOK
1767276908LASER100002016-07-1713:13:24224708LASER_276908NOOK
1768276906LASER100002016-07-1713:08:10224708LASER_276906NOOK
1769276905LASER100002016-07-1713:02:31224708LASER_276905NOOK
1770276902LASER100002016-07-1712:51:29224708LASER_276902NOOK
1771276901LASER100002016-07-1712:47:01224708LASER_276901NOOK
1772276900LASER100002016-07-1712:42:28224708LASER_276900NOOK
1773276899LASER100002016-07-1712:38:05224708LASER_276899NOOK
1774276897LASER100002016-07-1712:33:27224708LASER_276897NOOK
1775276877LASER100002016-07-1709:51:35224708LASER_276877NOOK
1776276873LASER100002016-07-1709:40:14224708LASER_276873NOOK
1777276862LASER100002016-07-1609:03:42224708LASER_276862NOOK
1778276860LASER100002016-07-1608:56:37224708LASER_276860NOOK
1779276852LASER100002016-07-1608:22:08224708LASER_276852NOOK
1780276851LASER100002016-07-1608:17:35224708LASER_276851NOOK
1781276846LASER100002016-07-1608:05:35224708LASER_276846NOOK
1782276843LASER100002016-07-1607:48:56224708LASER_276843NOOK
1783276842LASER100002016-07-1607:44:03224708LASER_276842NOOK
1784276839LASER100002016-07-1607:34:43224708LASER_276839NOOK
1785276823LASER100002016-07-1505:37:27224708LASER_276823NOOK
1786276768LASER100002016-07-1218:43:10224708LASER_276768NOOK
1787276766LASER100002016-07-1218:35:05224708LASER_276766NOOK
1788276763LASER20002016-07-1218:15:26224708LASER_276763NOOK
1789276761LASER20002016-07-1218:10:44224708LASER_276761NOOK
1790276760LASER20002016-07-1218:04:57224708LASER_276760NOOK
1791276757LASER20002016-07-1217:54:02224708LASER_276757NOOK
1792276688LASER100002016-07-1214:06:45224708LASER_276688NOOK
1793276683LASER100002016-07-1213:56:37224708LASER_276683NOOK
1794276679LASER100002016-07-1213:49:09224708LASER_276679NOOK
1795276638LASER20002016-07-1116:02:10224708LASER_276638NOOK
1796276634LASER100002016-07-1115:57:50224708LASER_276634NOOK
1797276629LASER100002016-07-1115:48:37224708LASER_276629NOOK
1798276628LASER100002016-07-1115:40:55224708LASER_276628NOOK
1799276626LASER100002016-07-1115:30:51224708LASER_276626NOOK
1800276622LASER20002016-07-1115:13:23224708LASER_276622NOOK
1801276617LASER100002016-07-1114:16:06224708LASER_276617NOOK
1802276616LASER100002016-07-1114:07:24224708LASER_276616NOOK
1803276614LASER100002016-07-1113:41:51224708LASER_276614NOOK
1804276612LASER20002016-07-1113:10:33224708LASER_276612NOOK
1805276611LASER20002016-07-1113:00:58224708LASER_276611NOOK
1806276610LASER20002016-07-1112:53:43224708LASER_276610NOOK
1807276576LASER20002016-07-1009:09:47224708LASER_276576NOOK
1808276575LASER20002016-07-1009:05:22224708LASER_276575NOOK
1809276574LASER20002016-07-1008:58:38224708LASER_276574NOOK
1810276571LASER100002016-07-1008:46:52224708LASER_276571NOOK
1811276569LASER100002016-07-1008:38:56224708LASER_276569NOOK
1812276564LASER100002016-07-1007:45:32224708LASER_276564NOOK
1813276556LASER100002016-07-1007:29:35224708LASER_276556NOOK
1814276532LASER100002016-07-0913:10:36224708LASER_276532NOOK
1815276523LASER100002016-07-0813:03:04224708LASER_276523NOOK
1816276522LASER100002016-07-0812:53:30224708LASER_276522NOOK
1817276486LASER20002016-07-0709:27:18224708LASER_276486NOOK
1818276485LASER20002016-07-0709:22:54224708LASER_276485NOOK
1819276484LASER100002016-07-0709:18:25224708LASER_276484NOOK
1820276481LASER100002016-07-0709:10:14224708LASER_276481NOOK
1821276480LASER100002016-07-0709:02:21224708LASER_276480NOOK
1822276479LASER100002016-07-0708:49:04224708LASER_276479NOOK
1823276478LASER100002016-07-0708:40:05224708LASER_276478NOOK
1824276470LASER100002016-07-0707:27:24224708LASER_276470NOOK
1825276465LASER100002016-07-0706:43:31224708LASER_276465NOOK
1826276464LASER100002016-07-0706:33:35224708LASER_276464NOOK
1827276424LASER100002016-07-0522:36:53224708LASER_276424NOOK
1828276420LASER100002016-07-0522:28:09224708LASER_276420NOOK
1829276267LASER20002016-07-0314:34:51224708LASER_276267NOOK
1830276265LASER20002016-07-0314:27:10224708LASER_276265NOOK
1831276264LASER20002016-07-0314:22:26224708LASER_276264NOOK
1832276262LASER20002016-07-0314:02:38224708LASER_276262NOOK
1833276261LASER100002016-07-0313:58:22224708LASER_276261NOOK
1834276260LASER100002016-07-0313:49:32224708LASER_276260NOOK
1835276256LASER100002016-07-0313:33:39224708LASER_276256NOOK
1836276252LASER100002016-07-0313:25:54224708LASER_276252NOOK
1837276089LASER20002016-06-3023:26:16224708LASER_276089NOOK
1838276088LASER20002016-06-3023:21:41224708LASER_276088NOOK
1839276087LASER20002016-06-3023:16:47224708LASER_276087NOOK
1840276085LASER100002016-06-3023:02:57224708LASER_276085NOOK
1841276084LASER100002016-06-3022:55:00224708LASER_276084NOOK
1842276083LASER100002016-06-3022:42:18224708LASER_276083NOOK
1843275877LASER100002016-06-2807:27:59224708LASER_275877NOOK
1844275874LASER100002016-06-2807:20:15224708LASER_275874NOOK
1845275868LASER100002016-06-2806:35:28224708LASER_275868NOOK
1846275867LASER80002016-06-2806:27:31224708LASER_275867NOOK
1847275866LASER20002016-06-2806:19:16224708LASER_275866NOOK
1848275814LASER100002016-06-2611:23:54224708LASER_275814NOOK
1849275810LASER20002016-06-2610:45:03224708LASER_275810NOOK
1850275802LASER100002016-06-2609:43:08224708LASER_275802NOOK
1851275800LASER20002016-06-2609:24:21224708LASER_275800NOOK
1852275799LASER20002016-06-2609:19:10224708LASER_275799NOOK
1853275798LASER20002016-06-2609:10:38224708LASER_275798NOOK
1854275796LASER100002016-06-2609:05:48224708LASER_275796NOOK
1855275729LASER20002016-06-2419:09:04224708LASER_275729NOOK
1856275726LASER20002016-06-2419:04:30224708LASER_275726NOOK
1857275724LASER20002016-06-2419:00:38224708LASER_275724NOOK
1858275721LASER20002016-06-2418:56:46224708LASER_275721NOOK
1859275715LASER100002016-06-2418:48:14224708LASER_275715NOOK
1860275712LASER100002016-06-2418:40:37224708LASER_275712NOOK
1861275711LASER100002016-06-2418:32:30224708LASER_275711NOOK
1862275707LASER100002016-06-2418:24:39224708LASER_275707NOOK
1863275706LASER100002016-06-2418:16:59224708LASER_275706NOOK
1864275700LASER100002016-06-2418:04:01224708LASER_275700NOOK
1865275698LASER20002016-06-2417:56:30224708LASER_275698NOOK
1866275532LASER100002016-06-2212:17:43224708LASER_275532NOOK
1867275487LASER100002016-06-2208:12:07224708LASER_275487NOOK
1868275470LASER20002016-06-2116:01:44224708LASER_275470NOOK
1869275469LASER20002016-06-2115:58:24224708LASER_275469NOOK
1870275468LASER20002016-06-2115:42:05224708LASER_275468NOOK
1871275453LASER100002016-06-2114:13:09224708LASER_275453NOOK
1872275446LASER20002016-06-2113:41:53224708LASER_275446NOOK
1873275445LASER100002016-06-2113:36:38224708LASER_275445NOOK
1874275444LASER20002016-06-2113:25:38224708LASER_275444NOOK
1875275443LASER20002016-06-2113:19:26224708LASER_275443NOOK
1876275441LASER20002016-06-2113:09:25224708LASER_275441NOOK
1877275392LASER100002016-06-2108:48:29224708LASER_275392NOOK
1878275383LASER100002016-06-2108:25:55224708LASER_275383NOOK
1879275365LASER20002016-06-1914:19:49224708LASER_275365NOOK
1880275364LASER20002016-06-1914:14:15224708LASER_275364NOOK
1881275363LASER20002016-06-1914:10:09224708LASER_275363NOOK
1882275357LASER100002016-06-1913:43:41224708LASER_275357NOOK
1883275356LASER100002016-06-1913:36:29224708LASER_275356NOOK
1884275353LASER100002016-06-1913:27:57224708LASER_275353NOOK
1885275352LASER20002016-06-1913:15:44224708LASER_275352NOOK
1886275277LASER20002016-06-1620:16:39224708LASER_275277NOOK
1887275276LASER20002016-06-1620:12:52224708LASER_275276NOOK
1888275275LASER20002016-06-1620:08:50224708LASER_275275NOOK
1889275273LASER100002016-06-1619:58:16224708LASER_275273NOOK
1890275272LASER100002016-06-1619:51:00224708LASER_275272NOOK
1891275271LASER100002016-06-1619:43:11224708LASER_275271NOOK
1892275270LASER100002016-06-1619:35:30224708LASER_275270NOOK
1893275269LASER20002016-06-1619:27:23224708LASER_275269NOOK
1894275266LASER100002016-06-1619:13:02224708LASER_275266NOOK
1895275218LASER10000000002016-06-1614:34:07224708LASER_275218NOOK
1896275204LASER10000000002016-06-1614:25:08224708LASER_275204NOOK
1897275027LASER20002016-06-1409:22:29224708LASER_275027NOOK
1898275026LASER20002016-06-1409:18:25224708LASER_275026NOOK
1899275025LASER20002016-06-1409:14:45224708LASER_275025NOOK
1900275023LASER20002016-06-1409:11:05224708LASER_275023NOOK
1901275022LASER20002016-06-1409:09:15224708LASER_275022NOOK
1902275020LASER20002016-06-1409:04:21224708LASER_275020NOOK
1903275017LASER100002016-06-1408:49:43224708LASER_275017NOOK
1904275016LASER100002016-06-1408:41:55224708LASER_275016NOOK
1905275015LASER100002016-06-1408:33:43224708LASER_275015NOOK
1906274809LASER20002016-06-0911:08:56224708LASER_274809NOOK
1907274800LASER2000002016-06-0910:56:47224708LASER_274800NOOK
1908274770LASER20002016-06-0818:59:51224708LASER_274770NOOK
1909274769LASER20002016-06-0818:54:11224708LASER_274769NOOK
1910274768LASER20002016-06-0818:49:39224708LASER_274768NOOK
1911274767LASER20002016-06-0818:45:23224708LASER_274767NOOK
1912274765LASER20002016-06-0818:41:43224708LASER_274765NOOK
1913274759LASER20002016-06-0818:33:47224708LASER_274759NOOK
1914274747LASER20002016-06-0817:46:04224708LASER_274747NOOK
1915274467LASER20002016-06-0609:55:54224708LASER_274467NOOK
1916274466LASER20002016-06-0609:51:44224708LASER_274466NOOK
1917274462LASER20002016-06-0609:38:57224708LASER_274462NOOK
1918274458LASER20002016-06-0609:28:30224708LASER_274458NOOK
1919274457LASER20002016-06-0609:08:56224708LASER_274457NOOK
1920274413LASER20002016-06-0414:27:14224708LASER_274413NOOK
1921274412LASER20002016-06-0414:22:10224708LASER_274412NOOK
1922274411LASER20002016-06-0414:18:10224708LASER_274411NOOK
1923274410LASER20002016-06-0414:11:58224708LASER_274410NOOK
1924274409LASER20002016-06-0414:07:09224708LASER_274409NOOK
1925274408LASER20002016-06-0414:02:46224708LASER_274408NOOK
1926274360LASER20002016-06-0307:57:32224708LASER_274360NOOK
1927274359LASER20002016-06-0307:53:37224708LASER_274359NOOK
1928274357LASER20002016-06-0307:43:27224708LASER_274357NOOK
1929274355LASER20002016-06-0307:39:37224708LASER_274355NOOK
1930274354LASER20002016-06-0307:34:07224708LASER_274354NOOK
1931274353LASER20002016-06-0307:26:11224708LASER_274353NOOK
1932274352LASER20002016-06-0307:20:45224708LASER_274352NOOK
1933274348LASER20002016-06-0306:06:40224708LASER_274348NOOK
1934274267LASER20002016-05-3115:53:37224708LASER_274267NOOK
1935274265LASER20002016-05-3115:49:45224708LASER_274265NOOK
1936274262LASER20002016-05-3115:35:47224708LASER_274262NOOK
1937274261LASER20002016-05-3115:30:12224708LASER_274261NOOK
1938274260LASER20002016-05-3115:26:16224708LASER_274260NOOK
1939274259LASER20002016-05-3115:22:00224708LASER_274259NOOK
1940274258LASER20002016-05-3115:16:59224708LASER_274258NOOK
1941274257LASER20002016-05-3115:13:12224708LASER_274257NOOK
1942274190LASER20002016-05-2909:59:04224708LASER_274190NOOK
1943274189LASER20002016-05-2909:54:17224708LASER_274189NOOK
1944274188LASER20002016-05-2909:48:47224708LASER_274188NOOK
1945274186LASER20002016-05-2909:40:45224708LASER_274186NOOK
1946274185LASER20002016-05-2909:36:59224708LASER_274185NOOK
1947274184LASER20002016-05-2909:33:22224708LASER_274184NOOK
1948274183LASER20002016-05-2909:24:54224708LASER_274183NOOK
1949274182LASER20002016-05-2909:23:09224708LASER_274182NOOK
1950274181LASER20002016-05-2909:19:22224708LASER_274181NOOK
1951274033LASER200002016-05-2610:17:01224708LASER_274033NOOK
1952274031LASER20002016-05-2609:51:48224708LASER_274031NOOK
1953274030LASER20002016-05-2609:34:42224708LASER_274030NOOK
1954274028LASER20002016-05-2609:30:44224708LASER_274028NOOK
1955274026LASER20002016-05-2609:23:23224708LASER_274026NOOK
1956274024LASER20002016-05-2609:18:44224708LASER_274024NOOK
1957273903LASER20002016-05-2414:39:13224708LASER_273903NOOK
1958273902LASER20002016-05-2414:35:23224708LASER_273902NOOK
1959273901LASER20002016-05-2414:31:21224708LASER_273901NOOK
1960273899LASER20002016-05-2414:24:05224708LASER_273899NOOK
1961273897LASER20002016-05-2414:18:57224708LASER_273897NOOK
1962273896LASER20002016-05-2414:13:54224708LASER_273896NOOK
1963273895LASER20002016-05-2414:09:40224708LASER_273895NOOK
1964273613LASER100002016-05-1910:18:17224708LASER_273613NOOK
1965273611LASER100002016-05-1910:05:38224708LASER_273611NOOK
1966273610LASER100002016-05-1909:57:48224708LASER_273610NOOK
1967273607LASER100002016-05-1909:48:49224708LASER_273607NOOK
1968273605LASER20002016-05-1909:31:26224708LASER_273605NOOK
1969273568LASER20002016-05-1810:07:08224708LASER_273568NOOK
1970273566LASER20002016-05-1810:03:22224708LASER_273566NOOK
1971273565LASER20002016-05-1809:59:36224708LASER_273565NOOK
1972273563LASER20002016-05-1809:55:47224708LASER_273563NOOK
1973273562LASER20002016-05-1809:50:48224708LASER_273562NOOK
1974273561LASER20002016-05-1809:47:13224708LASER_273561NOOK
1975273560LASER20002016-05-1809:43:05224708LASER_273560NOOK
1976273559LASER20002016-05-1809:39:00224708LASER_273559NOOK
1977273466LASER20002016-05-1510:13:27224708LASER_273466NOOK
1978273465LASER20002016-05-1510:09:41224708LASER_273465NOOK
1979273462LASER20002016-05-1509:30:12224708LASER_273462NOOK
1980273460LASER20002016-05-1509:14:56224708LASER_273460NOOK
1981273459LASER20002016-05-1509:10:57224708LASER_273459NOOK
1982273457LASER20002016-05-1509:07:27224708LASER_273457NOOK
1983273456LASER20002016-05-1509:03:46224708LASER_273456NOOK
1984273360LASER320002016-05-1313:09:41224708LASER_273360NOOK
1985273354LASER300002016-05-1312:19:23224708LASER_273354NOOK
1986273348LASER360002016-05-1311:39:00224708LASER_273348NOOK
1987273342LASER360002016-05-1311:15:22224708LASER_273342NOOK
1988273340LASER360002016-05-1310:51:35224708LASER_273340NOOK
1989273335LASER360002016-05-1310:08:09224708LASER_273335NOOK
1990273329LASER300002016-05-1309:34:45224708LASER_273329NOOK
1991273325LASER160002016-05-1309:10:48224708LASER_273325NOOK
1992273240LASER100002016-05-1214:27:34224708LASER_273240NOOK
1993273232LASER20002016-05-1214:10:22224708LASER_273232NOOK
1994273228LASER20002016-05-1214:05:20224708LASER_273228NOOK
1995273223LASER20002016-05-1213:55:00224708LASER_273223NOOK
1996273211LASER20002016-05-1213:05:05224708LASER_273211NOOK
1997273209LASER20002016-05-1213:00:00224708LASER_273209NOOK
1998273204LASER20002016-05-1212:45:39224708LASER_273204NOOK
1999273196LASER20002016-05-1212:23:59224708LASER_273196NOOK
2000273192LASER20002016-05-1212:16:49224708LASER_273192NOOK
2001273121LASER100002016-05-1114:18:11224708LASER_273121NOOK
2002273119LASER100002016-05-1114:07:03224708LASER_273119NOOK
2003272978LASER100002016-05-1011:59:28224708LASER_272978NOOK
2004272977LASER20002016-05-1011:49:26224708LASER_272977NOOK
2005272976LASER20002016-05-1011:46:41224708LASER_272976NOOK
2006272973LASER20002016-05-1011:33:20224708LASER_272973NOOK
2007272972LASER20002016-05-1011:29:14224708LASER_272972NOOK
2008272967LASER20002016-05-1010:09:07224708LASER_272967NOOK
2009272964LASER20002016-05-1010:04:15224708LASER_272964NOOK
2010272962LASER20002016-05-1009:58:48224708LASER_272962NOOK
2011272961LASER20002016-05-1009:55:17224708LASER_272961NOOK
2012272957LASER20002016-05-1009:28:41224708LASER_272957NOOK
2013272954LASER20002016-05-1009:16:49224708LASER_272954NOOK
2014272953LASER20002016-05-1009:11:13224708LASER_272953NOOK
2015272949LASER20002016-05-1009:05:55224708LASER_272949NOOK
2016272841LASER20002016-05-0909:09:43224708LASER_272841NOOK
2017272840LASER20002016-05-0908:56:07224708LASER_272840NOOK
2018272536LASER20002016-05-0418:14:08224708LASER_272536NOOK
2019272534LASER20002016-05-0418:09:16224708LASER_272534NOOK
2020272525LASER20002016-05-0417:25:47224708LASER_272525NOOK
2021272519LASER20002016-05-0416:58:30224708LASER_272519NOOK
2022272517LASER20002016-05-0416:44:07224708LASER_272517NOOK
2023272515LASER20002016-05-0416:39:54224708LASER_272515NOOK
2024272365LASER20002016-05-0318:14:50224708LASER_272365NOOK
2025272364LASER20002016-05-0318:09:14224708LASER_272364NOOK
2026272363LASER50002016-05-0317:59:24224708LASER_272363NOOK
2027272361LASER20002016-05-0317:34:50224708LASER_272361NOOK
2028272360LASER20002016-05-0317:25:58224708LASER_272360NOOK
2029272355LASER20002016-05-0317:14:18224708LASER_272355NOOK
2030272290LASER20002016-05-0312:28:36224708LASER_272290NOOK
2031272289LASER20002016-05-0312:25:21224708LASER_272289NOOK
2032272279LASER50002016-05-0312:02:02224708LASER_272279NOOK
2033272277LASER200002016-05-0311:37:41224708LASER_272277NOOK
2034272275LASER20002016-05-0311:16:24224708LASER_272275NOOK
2035272265LASER20002016-05-0310:21:32224708LASER_272265NOOK
2036272263LASER200002016-05-0310:05:58224708LASER_272263NOOK
2037272262LASER20002016-05-0309:35:39224708LASER_272262NOOK
2038272261LASER20002016-05-0309:28:26224708LASER_272261NOOK
2039272260LASER20002016-05-0309:12:38224708LASER_272260NOOK
2040272259LASER20002016-05-0309:04:26224708LASER_272259NOOK
2041272255LASER20002016-05-0308:35:21224708LASER_272255NOOK
2042272102LASER20002016-04-3019:38:41224708LASER_272102NOOK
2043272101LASER20002016-04-3019:33:51224708LASER_272101NOOK
2044272099LASER20002016-04-3019:26:38224708LASER_272099NOOK
2045272097LASER20002016-04-3019:18:56224708LASER_272097NOOK
2046272095LASER20002016-04-3019:12:15224708LASER_272095NOOK
2047272091LASER20002016-04-3018:59:20224708LASER_272091NOOK
2048271947LASER100002016-04-2814:34:46224708LASER_271947NOOK
2049271942LASER100002016-04-2814:26:28224708LASER_271942NOOK
2050271928LASER200002016-04-2814:06:56224708LASER_271928NOOK
2051271923LASER20002016-04-2813:51:11224708LASER_271923NOOK
2052271922LASER20002016-04-2813:47:02224708LASER_271922NOOK
2053271918LASER20002016-04-2813:24:59224708LASER_271918NOOK
2054271912LASER20002016-04-2813:11:32224708LASER_271912NOOK
2055271910LASER100002016-04-2813:00:02224708LASER_271910NOOK
2056271844LASER20002016-04-2808:59:43224708LASER_271844NOOK
2057271498LASER20002016-04-2610:41:52224708LASER_271498NOOK
2058271497LASER20002016-04-2610:34:54224708LASER_271497NOOK
2059271493LASER20002016-04-2609:54:39224708LASER_271493NOOK
2060271480LASER20002016-04-2608:58:42224708LASER_271480NOOK
2061271479LASER20002016-04-2608:51:27224708LASER_271479NOOK
2062271475LASER20002016-04-2608:46:47224708LASER_271475NOOK
2063271128LASER20002016-04-2311:35:01224708LASER_271128NOOK
2064271126LASER20002016-04-2311:26:44224708LASER_271126NOOK
2065271125LASER20002016-04-2311:21:58224708LASER_271125NOOK
2066271122LASER20002016-04-2311:16:19224708LASER_271122NOOK
2067271120LASER20002016-04-2311:08:33224708LASER_271120NOOK
2068271118LASER20002016-04-2311:00:53224708LASER_271118NOOK
2069271115LASER20002016-04-2310:54:46224708LASER_271115NOOK
2070271110LASER20002016-04-2310:49:28224708LASER_271110DetDiag_271110OK
2071270961LASER20002016-04-2210:51:32224708LASER_270961DetDiag_270961OK
2072270957LASER20002016-04-2210:45:31224708LASER_270957DetDiag_270957OK
2073270956LASER20002016-04-2210:41:59224708LASER_270956DetDiag_270956OK
2074270954LASER20002016-04-2210:34:55224708LASER_270954DetDiag_270954OK
2075270951LASER20002016-04-2210:30:54224708LASER_270951DetDiag_270951OK
2076270937LASER20002016-04-2210:19:54224708LASER_270937DetDiag_270937OK
2077270933LASER20002016-04-2210:10:22224708LASER_270933DetDiag_270933OK
2078270927LASER20002016-04-2209:50:40224708LASER_270927DetDiag_270927OK
2079270923LASER20002016-04-2209:43:01224708LASER_270923DetDiag_270923OK
2080270922LASER20002016-04-2209:39:05224708LASER_270922DetDiag_270922OK
2081270920LASER20002016-04-2209:32:32224708LASER_270920DetDiag_270920OK
2082270915LASER20002016-04-2209:21:02224708LASER_270915DetDiag_270915OK
2083270610LASER20002016-04-2019:41:18224708LASER_270610DetDiag_270610OK
2084269880LASER20002016-04-1414:10:43224708LASER_269880DetDiag_269880OK
2085269866LASER20002016-04-1413:01:13224708LASER_269866DetDiag_269866OK
2086269865LASER20002016-04-1412:38:23224708LASER_269865DetDiag_269865OK
2087269863LASER20002016-04-1412:29:47224708LASER_269863DetDiag_269863OK
2088269860LASER20002016-04-1412:10:40224708LASER_269860DetDiag_269860OK
2089269859LASER20002016-04-1411:58:07224708LASER_269859DetDiag_269859OK
2090269855LASER20002016-04-1410:17:38224708LASER_269855DetDiag_269855OK
2091269660LASER20002016-04-1311:17:56224708LASER_269660DetDiag_269660OK
2092269653LASER20002016-04-1310:24:15224708LASER_269653DetDiag_269653OK
2093269650LASER20002016-04-1310:20:00224708LASER_269650DetDiag_269650OK
2094269648LASER20002016-04-1310:11:16224708LASER_269648DetDiag_269648OK
2095269643LASER20002016-04-1310:00:04224708LASER_269643DetDiag_269643OK
2096268859LASER200002016-04-0800:51:32224708LASER_268859DetDiag_268859OK
2097268858LASER20002016-04-0800:46:37224708LASER_268858DetDiag_268858OK
2098268857LASER50002016-04-0800:36:00224708LASER_268857DetDiag_268857OK
2099268852LASER200002016-04-0800:00:03224708LASER_268852DetDiag_268852OK
2100265697LASER100002016-02-2901:26:24224708LASER_265697DetDiag_265697OK
2101265696LASER100002016-02-2901:19:28224708LASER_265696DetDiag_265696OK
2102265693LASER100002016-02-2900:54:37224708LASER_265693DetDiag_265693OK
2103265691LASER100002016-02-2822:46:28224708LASER_265691DetDiag_265691OK
2104264990LASER100002016-02-1911:13:48224708LASER_264990DetDiag_264990OK
2105264980LASER100002016-02-1910:44:54224708LASER_264980DetDiag_264980OK
2106264978LASER100002016-02-1910:34:59224708LASER_264978DetDiag_264978OK
2107264974LASER100002016-02-1910:24:41224708LASER_264974DetDiag_264974OK
2108264871LASER100002016-02-1717:56:09224708LASER_264871DetDiag_264871OK
2109264780LASER10002016-02-1615:13:21224708LASER_264780DetDiag_264780OK
2110264773LASER10002016-02-1614:59:20224708LASER_264773DetDiag_264773OK
2111264770LASER10002016-02-1614:41:49224708LASER_264770DetDiag_264770OK
2112264649LASER20002016-02-1510:01:30224708LASER_264649DetDiag_264649OK
2113264519LASER100002016-02-1212:07:35224708LASER_264519DetDiag_264519OK
2114264505LASER100002016-02-1211:05:00224708LASER_264505DetDiag_264505OK
2115264501LASER100002016-02-1210:56:41224708LASER_264501DetDiag_264501OK
2116264498LASER100002016-02-1210:39:53224708LASER_264498DetDiag_264498OK
2117264495LASER100002016-02-1210:31:42224708LASER_264495DetDiag_264495OK
2118264493LASER100002016-02-1210:15:08224708LASER_264493DetDiag_264493OK
2119263769LASER100002015-12-1315:48:49224708LASER_263769DetDiag_263769OK
2120263763LASER100002015-12-1313:00:10224708LASER_263763DetDiag_263763OK
2121263762LASER100002015-12-1312:43:58224708LASER_263762DetDiag_263762OK
2122263761LASER100002015-12-1312:37:04224708LASER_263761DetDiag_263761OK
2123263760LASER100002015-12-1312:30:14224708LASER_263760DetDiag_263760OK
2124263645LASER100002015-12-1013:36:56224708LASER_263645DetDiag_263645OK
2125263644LASER100002015-12-1013:28:34224708LASER_263644DetDiag_263644OK
2126263643LASER100002015-12-1013:22:39224708LASER_263643DetDiag_263643OK
2127263641LASER100002015-12-1013:11:04224708LASER_263641DetDiag_263641OK
2128263640LASER100002015-12-1013:02:15224708LASER_263640DetDiag_263640OK
2129263639LASER100002015-12-1012:52:24224708LASER_263639DetDiag_263639OK
2130263600LASER100002015-12-0915:41:49224708LASER_263600DetDiag_263600OK
2131263589LASER100002015-12-0914:51:17224708LASER_263589DetDiag_263589OK
2132263180LASER100002015-12-0221:16:40224708LASER_263180DetDiag_263180OK
2133262673LASER100002015-11-2611:26:18224708LASER_262673DetDiag_262673OK
2134262670LASER100002015-11-2611:10:57224708LASER_262670DetDiag_262670OK
2135262594LASER100002015-11-2516:16:32224708LASER_262594DetDiag_262594OK
2136262592LASER100002015-11-2516:10:47224708LASER_262592DetDiag_262592OK
2137262588LASER100002015-11-2516:07:00224708LASER_262588DetDiag_262588OK
2138262584LASER100002015-11-2515:52:20224708LASER_262584DetDiag_262584OK
2139262581LASER100002015-11-2515:43:05224708LASER_262581DetDiag_262581OK
2140262403LASER100002015-11-2318:36:20224708LASER_262403DetDiag_262403OK
2141262402LASER100002015-11-2318:29:34224708LASER_262402DetDiag_262402OK
2142262401LASER100002015-11-2318:25:40224708LASER_262401DetDiag_262401OK
2143262399LASER100002015-11-2318:10:51224708LASER_262399DetDiag_262399OK
2144262048LASER100002015-11-1909:35:13224708LASER_262048DetDiag_262048OK
2145262045LASER100002015-11-1909:29:58224708LASER_262045DetDiag_262045OK
2146262039LASER100002015-11-1908:50:26224708LASER_262039DetDiag_262039OK
2147262032LASER100002015-11-1908:19:16224708LASER_262032DetDiag_262032OK
2148262031LASER100002015-11-1908:06:53224708LASER_262031DetDiag_262031OK
2149261481LASER100002015-11-1609:32:33224708LASER_261481DetDiag_261481OK
2150261479LASER100002015-11-1609:21:23224708LASER_261479DetDiag_261479OK
2151261356LASER100002015-11-1415:21:03224708LASER_261356DetDiag_261356OK
2152261347LASER100002015-11-1413:17:00224708LASER_261347DetDiag_261347OK
2153261121LASER100002015-11-1120:38:00224708LASER_261121DetDiag_261121OK
2154261060LASER100002015-11-1019:04:47224708LASER_261060DetDiag_261060OK
2155261059LASER100002015-11-1018:58:37224708LASER_261059DetDiag_261059OK
2156261054LASER100002015-11-1018:44:03224708LASER_261054DetDiag_261054OK
2157261053LASER100002015-11-1018:37:32224708LASER_261053DetDiag_261053OK
2158260932LASER100002015-11-0909:42:41224708LASER_260932DetDiag_260932OK
2159260931LASER100002015-11-0909:37:42224708LASER_260931DetDiag_260931OK
2160260926LASER100002015-11-0909:16:47224708LASER_260926DetDiag_260926OK
2161260921LASER100002015-11-0908:25:14224708LASER_260921DetDiag_260921OK
2162260918LASER100002015-11-0908:08:57224708LASER_260918DetDiag_260918OK
2163260832LASER100002015-11-0608:13:28224708LASER_260832DetDiag_260832OK
2164260831LASER100002015-11-0608:07:02224708LASER_260831DetDiag_260831OK
2165260783LASER100002015-11-0508:07:49224708LASER_260783DetDiag_260783OK
2166260780LASER100002015-11-0507:21:32224708LASER_260780DetDiag_260780OK
2167260778LASER100002015-11-0507:05:44224708LASER_260778DetDiag_260778OK
2168260777LASER100002015-11-0506:59:58224708LASER_260777DetDiag_260777OK
2169260776LASER100002015-11-0506:52:04224708LASER_260776DetDiag_260776OK
2170260765LASER100002015-11-0416:26:49224708LASER_260765DetDiag_260765OK
2171260764LASER100002015-11-0416:21:47224708LASER_260764DetDiag_260764OK
2172260757LASER100002015-11-0415:43:29224708LASER_260757DetDiag_260757OK
2173260709LASER100002015-11-0322:04:57224708LASER_260709DetDiag_260709OK
2174260707LASER100002015-11-0321:44:19224708LASER_260707DetDiag_260707OK
2175260704LASER100002015-11-0321:22:29224708LASER_260704DetDiag_260704OK
2176260660LASER100002015-11-0309:04:37224708LASER_260660DetDiag_260660OK
2177260658LASER100002015-11-0308:52:31224708LASER_260658DetDiag_260658OK
2178260653LASER100002015-11-0308:16:14224708LASER_260653DetDiag_260653OK
2179260652LASER100002015-11-0308:06:45224708LASER_260652DetDiag_260652OK
2180260651LASER100002015-11-0308:00:44224708LASER_260651DetDiag_260651OK
2181260649LASER100002015-11-0307:51:32224708LASER_260649DetDiag_260649OK
2182260623LASER100002015-11-0216:36:44224708LASER_260623DetDiag_260623OK
2183260292LASER100002015-10-2913:58:05224708LASER_260292DetDiag_260292OK
2184260291LASER100002015-10-2913:52:06224708LASER_260291DetDiag_260291OK
2185260287LASER100002015-10-2913:46:32224708LASER_260287DetDiag_260287OK
2186260286LASER100002015-10-2913:40:49224708LASER_260286DetDiag_260286OK
2187260285LASER100002015-10-2913:34:57224708LASER_260285DetDiag_260285OK
2188260080LASER100002015-10-2719:45:23224708LASER_260080DetDiag_260080OK
2189260079LASER100002015-10-2719:39:38224708LASER_260079DetDiag_260079OK
2190260077LASER100002015-10-2719:28:10224708LASER_260077DetDiag_260077OK
2191260071LASER100002015-10-2718:56:14224708LASER_260071DetDiag_260071OK
2192260070LASER100002015-10-2718:50:05224708LASER_260070DetDiag_260070OK
2193259984LASER100002015-10-2612:36:54224708LASER_259984DetDiag_259984OK
2194259983LASER100002015-10-2612:31:33224708LASER_259983DetDiag_259983OK
2195259982LASER100002015-10-2612:25:54224708LASER_259982DetDiag_259982OK
2196259981LASER100002015-10-2611:47:35224708LASER_259981DetDiag_259981OK
2197259978LASER100002015-10-2611:41:13224708LASER_259978DetDiag_259978OK
2198259915LASER100002015-10-2513:50:27224708LASER_259915DetDiag_259915OK
2199259908LASER100002015-10-2513:26:36224708LASER_259908DetDiag_259908OK
2200259906LASER100002015-10-2513:20:58224708LASER_259906DetDiag_259906OK
2201259905LASER100002015-10-2513:13:39224708LASER_259905DetDiag_259905OK
2202259904LASER100002015-10-2513:07:58224708LASER_259904DetDiag_259904OK
2203259701LASER100002015-10-2110:58:43224708LASER_259701DetDiag_259701OK
2204259700LASER100002015-10-2110:53:20224708LASER_259700DetDiag_259700OK
2205259699LASER100002015-10-2110:47:53224708LASER_259699DetDiag_259699OK
2206259698LASER100002015-10-2110:42:20224708LASER_259698DetDiag_259698OK
2207259424LASER100002015-10-1803:14:26224708LASER_259424DetDiag_259424OK
2208259422LASER100002015-10-1801:05:59224708LASER_259422DetDiag_259422OK
2209259420LASER100002015-10-1800:52:55224708LASER_259420DetDiag_259420OK
2210259143LASER100002015-10-1419:41:11224708LASER_259143DetDiag_259143OK
2211259142LASER100002015-10-1419:36:06224708LASER_259142DetDiag_259142OK
2212259141LASER100002015-10-1419:31:10224708LASER_259141DetDiag_259141OK
2213259140LASER100002015-10-1419:25:42224708LASER_259140DetDiag_259140OK
2214259139LASER100002015-10-1419:20:09224708LASER_259139DetDiag_259139OK
2215259138LASER100002015-10-1419:10:11224708LASER_259138DetDiag_259138OK
2216258557LASER100002015-10-0814:00:51224708LASER_258557DetDiag_258557OK
2217258552LASER100002015-10-0813:55:37224708LASER_258552DetDiag_258552OK
2218258549LASER100002015-10-0813:50:17224708LASER_258549DetDiag_258549OK
2219258546LASER100002015-10-0813:36:14224708LASER_258546DetDiag_258546OK
2220258544LASER100002015-10-0813:28:29224708LASER_258544DetDiag_258544OK
2221258360LASER100002015-10-0609:53:33224708LASER_258360DetDiag_258360OK
2222258358LASER100002015-10-0609:47:49224708LASER_258358DetDiag_258358OK
2223258356LASER100002015-10-0609:42:13224708LASER_258356DetDiag_258356OK
2224258354LASER100002015-10-0609:36:36224708LASER_258354DetDiag_258354OK
2225258190LASER100002015-10-0411:10:42224708LASER_258190DetDiag_258190OK
2226258189LASER100002015-10-0411:06:27224708LASER_258189DetDiag_258189OK
2227258185LASER100002015-10-0410:53:34224708LASER_258185DetDiag_258185OK
2228258184LASER100002015-10-0410:47:46224708LASER_258184DetDiag_258184OK
2229258183LASER100002015-10-0410:42:11224708LASER_258183DetDiag_258183OK
2230258029LASER100002015-10-0111:49:30224708LASER_258029DetDiag_258029OK
2231258022LASER100002015-10-0111:33:03224708LASER_258022DetDiag_258022OK
2232258019LASER100002015-10-0111:22:38224708LASER_258019DetDiag_258019OK
2233258017LASER100002015-10-0111:16:13224708LASER_258017DetDiag_258017OK
2234258016LASER100002015-10-0111:06:42224708LASER_258016DetDiag_258016OK
2235257787LASER100002015-09-2910:50:01224708LASER_257787DetDiag_257787OK
2236257786LASER100002015-09-2910:44:30224708LASER_257786DetDiag_257786OK
2237257576LASER100002015-09-2617:28:55224708LASER_257576DetDiag_257576OK
2238257575LASER100002015-09-2617:23:13224708LASER_257575DetDiag_257575OK
2239257573LASER100002015-09-2617:10:36224708LASER_257573DetDiag_257573OK
2240257572LASER100002015-09-2617:03:31224708LASER_257572DetDiag_257572OK
2241257571LASER100002015-09-2616:57:22224708LASER_257571DetDiag_257571OK
2242257304LASER100002015-09-2314:48:08224708LASER_257304DetDiag_257304OK
2243257094LASER100002015-09-2209:36:22224708LASER_257094DetDiag_257094OK
2244256755LASER100002015-09-1811:25:59224708LASER_256755DetDiag_256755OK
2245256751LASER100002015-09-1811:15:16224708LASER_256751DetDiag_256751OK
2246256750LASER100002015-09-1811:06:55224708LASER_256750DetDiag_256750OK
2247256748LASER100002015-09-1810:58:57224708LASER_256748DetDiag_256748OK
2248256743LASER100002015-09-1810:30:16224708LASER_256743DetDiag_256743OK
2249256739LASER100002015-09-1810:15:36224708LASER_256739DetDiag_256739OK
2250256737LASER100002015-09-1810:10:22224708LASER_256737DetDiag_256737OK
2251256715LASER10002015-09-1716:13:31224708LASER_256715DetDiag_256715OK
2252256687LASER100002015-09-1714:14:19224708LASER_256687DetDiag_256687OK
2253256685LASER100002015-09-1714:03:30224708LASER_256685DetDiag_256685OK
2254256683LASER100002015-09-1713:57:17224708LASER_256683DetDiag_256683OK
2255256682LASER100002015-09-1713:50:18224708LASER_256682DetDiag_256682OK
2256256016LASER1000007-09-1508:02:44135077LASER_256016DetDiag_256016OK
2257256013LASER1000007-09-1507:57:02135077LASER_256013DetDiag_256013OK
2258256012LASER1000007-09-1507:51:10135077LASER_256012DetDiag_256012OK
2259256011LASER1000007-09-1507:40:10135077LASER_256011DetDiag_256011OK
2260255769LASER1000004-09-1512:06:48135077LASER_255769DetDiag_255769OK
2261255767LASER1000004-09-1511:54:42135077LASER_255767DetDiag_255767OK
2262255765LASER1000004-09-1511:45:28135077LASER_255765DetDiag_255765OK
2263255761LASER1000004-09-1511:38:56135077LASER_255761DetDiag_255761OK
2264255070LASER1000026-08-1516:24:43135077LASER_255070DetDiag_255070OK
2265255066LASER1000026-08-1515:48:13135077LASER_255066DetDiag_255066OK
2266255060LASER1000026-08-1515:21:25135077LASER_255060DetDiag_255060OK
2267255051LASER1000026-08-1514:45:10135077LASER_255051DetDiag_255051OK
2268254973LASER1000024-08-1516:35:35135077LASER_254973DetDiag_254973OK
2269254972LASER1000024-08-1516:30:11135077LASER_254972DetDiag_254972OK
2270254971LASER1000024-08-1516:24:57135077LASER_254971DetDiag_254971OK
2271254970LASER1000024-08-1516:19:46135077LASER_254970DetDiag_254970OK
2272254707LASER1000020-08-1511:07:50135077LASER_254707DetDiag_254707OK
2273254706LASER1000020-08-1511:02:00135077LASER_254706DetDiag_254706OK
2274254704LASER1000020-08-1510:54:50135077LASER_254704DetDiag_254704OK
2275254702LASER1000020-08-1510:48:00135077LASER_254702DetDiag_254702OK
2276254571LASER1000018-08-1512:37:05135077LASER_254571DetDiag_254571OK
2277254566LASER1000018-08-1512:20:03135077LASER_254566DetDiag_254566OK
2278254563LASER1000018-08-1512:13:44135077LASER_254563DetDiag_254563OK
2279254562LASER1000018-08-1512:08:02135077LASER_254562DetDiag_254562OK
2280254560LASER1000018-08-1512:01:42135077LASER_254560DetDiag_254560OK
2281254541LASER1000018-08-1510:30:04135077LASER_254541DetDiag_254541OK
2282254471LASER1000017-08-1509:58:38135077LASER_254471DetDiag_254471OK
2283254470LASER1000017-08-1509:52:02135077LASER_254470DetDiag_254470OK
2284254468LASER1000017-08-1509:45:47135077LASER_254468DetDiag_254468OK
2285254466LASER1000017-08-1509:39:33135077LASER_254466DetDiag_254466OK
2286254012LASER1000011-08-1510:58:14135077LASER_254012DetDiag_254012OK
2287254009LASER1000011-08-1510:49:27135077LASER_254009DetDiag_254009OK
2288254007LASER1000011-08-1510:41:14135077LASER_254007DetDiag_254007OK
2289254002LASER1000011-08-1510:30:43135077LASER_254002DetDiag_254002OK
2290254000LASER1000011-08-1510:26:11135077LASER_254000DetDiag_254000OK
2291253553LASER1000006-08-1515:50:53135077LASER_253553DetDiag_253553OK
2292253551LASER1000006-08-1515:45:04135077LASER_253551DetDiag_253551OK
2293253550LASER1000006-08-1515:39:29135077LASER_253550DetDiag_253550OK
2294253521LASER1000006-08-1512:56:26135077LASER_253521DetDiag_253521OK
2295253284LASER1000003-08-1515:14:58135077LASER_253284DetDiag_253284OK
2296253283LASER1000003-08-1515:10:50135077LASER_253283DetDiag_253283OK
2297253282LASER1000003-08-1515:03:30135077LASER_253282DetDiag_253282OK
2298253281LASER1000003-08-1514:54:08135077LASER_253281DetDiag_253281OK
2299252679LASER1000028-07-1510:48:54135077LASER_252679DetDiag_252679OK
2300252678LASER1000028-07-1510:42:57135077LASER_252678DetDiag_252678OK
2301252676LASER1000028-07-1510:39:11135077LASER_252676DetDiag_252676OK
2302252675LASER1000028-07-1510:30:10135077LASER_252675DetDiag_252675OK
2303252653LASER1000028-07-1508:40:05135077LASER_252653DetDiag_252653OK
2304252455LASER1000024-07-1513:36:29135077LASER_252455DetDiag_252455OK
2305252454LASER1000024-07-1513:32:03135077LASER_252454DetDiag_252454OK
2306252453LASER1000024-07-1513:23:09135077LASER_252453DetDiag_252453OK
2307252452LASER1000024-07-1513:19:34135077LASER_252452DetDiag_252452OK
2308252262LASER1000021-07-1516:13:01135077LASER_252262DetDiag_252262OK
2309252260LASER1000021-07-1516:06:18135077LASER_252260DetDiag_252260OK
2310252259LASER1000021-07-1516:02:46135077LASER_252259DetDiag_252259OK
2311252258LASER1000021-07-1515:56:12135077LASER_252258DetDiag_252258OK
2312252003LASER1000017-07-1513:38:35135077LASER_252003DetDiag_252003OK
2313252002LASER1000017-07-1513:33:59135077LASER_252002DetDiag_252002OK
2314252001LASER1000017-07-1513:27:07135077LASER_252001DetDiag_252001OK
2315252000LASER1000017-07-1513:19:02135077LASER_252000DetDiag_252000OK
2316251999LASER1000017-07-1513:09:17135077LASER_251999DetDiag_251999OK
2317251838LASER1000015-07-1513:50:51135077LASER_251838DetDiag_251838OK
2318251673LASER1000013-07-1515:17:21135077LASER_251673DetDiag_251673OK
2319251672LASER1000013-07-1515:11:27135077LASER_251672DetDiag_251672OK
2320251670LASER1000013-07-1515:05:04135077LASER_251670DetDiag_251670OK
2321251669LASER1000013-07-1514:55:42135077LASER_251669DetDiag_251669OK
2322251042LASER1000007-07-1507:06:16135077LASER_251042DetDiag_251042OK
2323251041LASER1000007-07-1506:58:46135077LASER_251041DetDiag_251041OK
2324251040LASER1000007-07-1506:52:37135077LASER_251040DetDiag_251040OK
2325251039LASER1000007-07-1506:46:10135077LASER_251039DetDiag_251039OK
2326250956LASER1000006-07-1511:01:56135077LASER_250956DetDiag_250956OK
2327250955LASER1000006-07-1510:55:57135077LASER_250955DetDiag_250955OK
2328249529LASER1000026-06-1517:25:11135077LASER_249529DetDiag_249529OK
2329248774LASER1000023-06-1512:21:12135077LASER_248774DetDiag_248774OK
2330248773LASER1000023-06-1510:15:06135077LASER_248773DetDiag_248773OK
2331248771LASER1000023-06-1509:43:56135077LASER_248771DetDiag_248771OK
2332248770LASER1000023-06-1509:37:44135077LASER_248770DetDiag_248770OK
2333248769LASER1000023-06-1509:32:48135077LASER_248769DetDiag_248769OK
2334248766LASER1000023-06-1508:55:50135077LASER_248766DetDiag_248766OK
2335247948LASER1000013-06-1511:18:01135077LASER_247948DetDiag_247948OK
2336247947LASER1000013-06-1511:10:49135077LASER_247947DetDiag_247947OK
2337247942LASER1000013-06-1510:52:14135077LASER_247942DetDiag_247942OK
2338247940LASER1000013-06-1510:46:34135077LASER_247940DetDiag_247940OK
2339247938LASER1000013-06-1510:41:17135077LASER_247938DetDiag_247938OK
2340247936LASER1000013-06-1510:36:02135077LASER_247936DetDiag_247936OK
2341247658LASER1000010-06-1514:56:19135077LASER_247658DetDiag_247658OK
2342247657LASER1000010-06-1514:50:45135077LASER_247657DetDiag_247657OK
2343246617LASER1000002-06-1508:52:54135077LASER_246617DetDiag_246617OK
2344245921LASER1000027-05-1513:21:08135077LASER_245921DetDiag_245921OK
2345245907LASER1000027-05-1512:58:00135077LASER_245907DetDiag_245907OK
2346245904LASER1000027-05-1512:52:11135077LASER_245904DetDiag_245904OK
2347245901LASER1000027-05-1512:46:58135077LASER_245901DetDiag_245901OK
2348245897LASER1000027-05-1512:35:15135077LASER_245897DetDiag_245897OK
2349245895LASER1000027-05-1512:28:37135077LASER_245895DetDiag_245895OK
2350245731LASER1000026-05-1510:43:35135077LASER_245731DetDiag_245731OK
2351245730LASER1000026-05-1510:38:22135077LASER_245730DetDiag_245730OK
2352245728LASER1000026-05-1510:33:20135077LASER_245728DetDiag_245728OK
2353245726LASER1000026-05-1510:27:59135077LASER_245726DetDiag_245726OK
2354245725LASER1000026-05-1510:19:52135077LASER_245725DetDiag_245725OK
2355245723LASER1000026-05-1510:14:17135077LASER_245723DetDiag_245723OK
2356245280LASER1000022-05-1510:46:29135077LASER_245280DetDiag_245280OK
2357245279LASER1000022-05-1510:40:57135077LASER_245279DetDiag_245279OK
2358245278LASER1000022-05-1510:33:27135077LASER_245278DetDiag_245278OK
2359245275LASER1000022-05-1510:23:17135077LASER_245275DetDiag_245275OK
2360245273LASER1000022-05-1510:16:25135077LASER_245273DetDiag_245273OK
2361244933LASER1000019-05-1511:17:21135077LASER_244933DetDiag_244933OK
2362244932LASER1000019-05-1511:12:25135077LASER_244932DetDiag_244932OK
2363244930LASER1000019-05-1511:06:29135077LASER_244930DetDiag_244930OK
2364244926LASER1000019-05-1510:53:22135077LASER_244926DetDiag_244926OK
2365244913LASER1000019-05-1510:47:43135077LASER_244913DetDiag_244913OK
2366244858LASER1000018-05-1523:12:22135077LASER_244858DetDiag_244858OK
2367244856LASER1000018-05-1523:06:06135077LASER_244856DetDiag_244856OK
2368244854LASER1000018-05-1523:00:53135077LASER_244854DetDiag_244854OK
2369244853LASER1000018-05-1522:55:26135077LASER_244853DetDiag_244853OK
2370244851LASER1000018-05-1522:38:05135077LASER_244851DetDiag_244851OK
2371241073LASER1000022.04.201512:39:18224708LASER_241073DetDiag_241073OK
2372241000LASER1000021.04.201517:14:16224708LASER_241000DetDiag_241000OK
2373240996LASER1000021.04.201517:09:13224708LASER_240996DetDiag_240996OK
2374240991LASER1000021.04.201517:03:13224708LASER_240991DetDiag_240991OK
2375240987LASER1000021.04.201516:57:14224708LASER_240987DetDiag_240987OK
2376240985LASER1000021.04.201516:51:15224708LASER_240985DetDiag_240985OK
2377240975LASER1000021.04.201516:39:21224708LASER_240975DetDiag_240975OK
2378240747LASER1000017.04.201511:32:14224708LASER_240747DetDiag_240747OK
2379240746LASER1000017.04.201511:27:14224708LASER_240746DetDiag_240746OK
2380240745LASER1000017.04.201511:18:12224708LASER_240745DetDiag_240745OK
2381240744LASER1000017.04.201511:09:13224708LASER_240744DetDiag_240744OK
2382240743LASER1000017.04.201511:06:13224708LASER_240743DetDiag_240743OK
2383240742LASER1000017.04.201511:00:20224708LASER_240742DetDiag_240742OK
2384240638LASER1000015.04.201522:20:11224708LASER_240638DetDiag_240638OK
2385240631LASER1000015.04.201521:45:13224708LASER_240631DetDiag_240631OK
2386240630LASER1000015.04.201521:39:17224708LASER_240630DetDiag_240630OK
2387240624LASER1000015.04.201520:45:17224708LASER_240624DetDiag_240624OK
2388240623LASER1000015.04.201520:39:16224708LASER_240623DetDiag_240623OK
2389240618LASER1000015.04.201519:51:13224708LASER_240618DetDiag_240618OK
2390240397LASER1000014.04.201511:32:11224708LASER_240397DetDiag_240397OK
2391240396LASER1000014.04.201511:30:13224708LASER_240396DetDiag_240396OK
2392240395LASER1000014.04.201511:21:11224708LASER_240395DetDiag_240395OK
2393240394LASER1000014.04.201511:15:11224708LASER_240394DetDiag_240394OK
2394240393LASER1000014.04.201511:09:12224708LASER_240393DetDiag_240393OK
2395240389LASER1000014.04.201510:57:11224708LASER_240389DetDiag_240389OK
2396240295LASER1000013.04.201511:42:12224708LASER_240295DetDiag_240295OK
2397240293LASER1000013.04.201511:36:11224708LASER_240293DetDiag_240293OK
2398240292LASER1000013.04.201511:30:16224708LASER_240292DetDiag_240292OK
2399240291LASER1000013.04.201511:24:12224708LASER_240291DetDiag_240291OK
2400240290LASER1000013.04.201511:18:16224708LASER_240290DetDiag_240290OK
2401239991LASER1000009.04.201514:09:16224708LASER_239991DetDiag_239991OK
2402239990LASER1000009.04.201514:03:12224708LASER_239990DetDiag_239990OK
2403239989LASER1000009.04.201513:57:11224708LASER_239989DetDiag_239989OK
2404239988LASER1000009.04.201513:54:11224708LASER_239988DetDiag_239988OK
2405239986LASER1000009.04.201513:35:11224708LASER_239986DetDiag_239986OK
2406239985LASER1000009.04.201513:30:14224708LASER_239985DetDiag_239985OK
2407239981LASER1000009.04.201513:06:11224708LASER_239981DetDiag_239981OK
2408239369LASER1000031.03.201512:08:18224708LASER_239369DetDiag_239369OK
2409238776LASER1000023.03.201511:39:08224708LASER_238776DetDiag_238776OK
2410238772LASER1000023.03.201511:33:11224708LASER_238772DetDiag_238772OK
2411238770LASER1000023.03.201511:27:08224708LASER_238770DetDiag_238770OK
2412238768LASER1000023.03.201511:21:13224708LASER_238768DetDiag_238768OK
2413238766LASER1000023.03.201511:15:10224708LASER_238766DetDiag_238766OK
1327783PEDESTAL20002018-12-0713:44:32327783PEDESTAL_327783NOOK
2327578PEDESTAL20002018-12-0220:00:16327578PEDESTAL_327578NOOK
3327551PEDESTAL20002018-12-0119:15:18327551PEDESTAL_327551NOOK
4327437PEDESTAL20002018-11-2818:55:01327437PEDESTAL_327437NOOK
5327286PEDESTAL20002018-11-2609:57:39327286PEDESTAL_327286NOOK
6326929PEDESTAL20002018-11-1918:46:06326929PEDESTAL_326929NOOK
7326869PEDESTAL20002018-11-1821:14:41326869PEDESTAL_326869NOOK
8326826PEDESTAL20002018-11-1711:36:17326826PEDESTAL_326826NOOK
9326799PEDESTAL20002018-11-1615:37:33326799PEDESTAL_326799NOOK
10326794PEDESTAL20002018-11-1615:19:01326794PEDESTAL_326794NOOK
11326748PEDESTAL10002018-11-1513:54:39326748PEDESTAL_326748NOOK
12326693PEDESTAL20002018-11-1409:47:06326693PEDESTAL_326693NOOK
13326435PEDESTAL20002018-11-0912:46:38326435PEDESTAL_326435NOOK
14326341PEDESTAL20002018-11-0811:10:52326341PEDESTAL_326341NOOK
15326229PEDESTAL10002018-11-0618:52:10326229PEDESTAL_326229NOOK
16325935PEDESTAL20002018-11-0315:06:25325935PEDESTAL_325935NOOK
17325921PEDESTAL200002018-11-0314:01:44325921PEDESTAL_325921NOOK
18325920PEDESTAL200002018-11-0313:33:36325920PEDESTAL_325920NOOK
19325915PEDESTAL200002018-11-0313:04:17325915PEDESTAL_325915NOOK
20325906PEDESTAL200002018-11-0311:46:42325906PEDESTAL_325906NOOK
21325905PEDESTAL1000002018-11-0311:41:19325905PEDESTAL_325905NOOK
22325897PEDESTAL100002018-11-0311:04:58325897PEDESTAL_325897NOOK
23325792PEDESTAL1000002018-11-0217:22:35325792PEDESTAL_325792NOOK
24325774PEDESTAL1000002018-11-0216:35:58325774PEDESTAL_325774NOOK
25325769PEDESTAL1000002018-11-0215:56:44325769PEDESTAL_325769NOOK
26325767PEDESTAL20002018-11-0215:27:42325767PEDESTAL_325767NOOK
27325711PEDESTAL1000002018-11-0210:57:01325711PEDESTAL_325711NOOK
28325705PEDESTAL1000002018-11-0210:38:41325705PEDESTAL_325705NOOK
29325703PEDESTAL100002018-11-0209:44:40325703PEDESTAL_325703NOOK
30325450PEDESTAL20002018-10-2919:59:16325450PEDESTAL_325450NOOK
31325215PEDESTAL20002018-10-2415:01:09325215PEDESTAL_325215NOOK
32325138PEDESTAL20002018-10-2311:30:21325138PEDESTAL_325138NOOK
33324920PEDESTAL20002018-10-1909:17:10324920PEDESTAL_324920NOOK
34324702PEDESTAL20002018-10-1519:01:49324702PEDESTAL_324702NOOK
35324586PEDESTAL20002018-10-1419:47:21324586PEDESTAL_324586NOOK
36324215PEDESTAL20002018-10-0717:20:13324215PEDESTAL_324215NOOK
37324105PEDESTAL20002018-10-0511:04:28324105PEDESTAL_324105NOOK
38323734PEDESTAL20002018-09-3005:20:12323734PEDESTAL_323734NOOK
39323611PEDESTAL20002018-09-2711:34:35323611PEDESTAL_323611NOOK
40323583PEDESTAL20002018-09-2620:07:58323583PEDESTAL_323583NOOK
41323566PEDESTAL100002018-09-2617:25:43323566PEDESTAL_323566NOOK
42323564PEDESTAL100002018-09-2617:11:19323564PEDESTAL_323564NOOK
43323562PEDESTAL20002018-09-2616:56:46323562PEDESTAL_323562NOOK
44323160PEDESTAL20002018-09-2015:43:43323160PEDESTAL_323160NOOK
45322831PEDESTAL20002018-09-1707:59:25322831PEDESTAL_322831NOOK
46322726PEDESTAL20002018-09-1210:22:59322726PEDESTAL_322726NOOK
47322409PEDESTAL20002018-09-0721:36:18322409PEDESTAL_322409NOOK
48322239PEDESTAL20002018-09-0418:58:10322239PEDESTAL_322239NOOK
49321804PEDESTAL20002018-08-2606:23:44321804PEDESTAL_321804NOOK
50321737PEDESTAL20002018-08-2409:54:03321737PEDESTAL_321737NOOK
52321584PEDESTAL100002018-08-2115:34:07321584PEDESTAL_321584NOOK
55321550PEDESTAL10002018-08-2112:09:32321550PEDESTAL_321550NOOK
57321547PEDESTAL20002018-08-2111:46:36321547PEDESTAL_321547NOOK
58321417PEDESTAL20002018-08-1811:44:01321417PEDESTAL_321417NOOK
59321322PEDESTAL20002018-08-1606:00:03321322PEDESTAL_321322NOOK
60321245PEDESTAL20002018-08-1410:04:48321245PEDESTAL_321245NOOK
61321192PEDESTAL20002018-08-1308:37:41321192PEDESTAL_321192NOOK
62321028PEDESTAL20002018-08-0816:30:49321028PEDESTAL_321028NOOK
63320864PEDESTAL20002018-08-0518:56:06320864PEDESTAL_320864NOOK
64320574PEDESTAL20002018-07-3108:52:59320574PEDESTAL_320574NOOK
65320357PEDESTAL10002018-07-2610:53:29320357PEDESTAL_320357NOOK
66320352PEDESTAL20002018-07-2610:23:17320352PEDESTAL_320352NOOK
67320349PEDESTAL20002018-07-2610:17:53320349PEDESTAL_320349NOOK
68320219PEDESTAL20002018-07-2509:21:13320219PEDESTAL_320219NOOK
69320105PEDESTAL20002018-07-2313:13:56320105PEDESTAL_320105NOOK
70319962PEDESTAL20002018-07-2008:16:32319962PEDESTAL_319962NOOK
71319791PEDESTAL300002018-07-1709:49:37319791PEDESTAL_319791NOOK
72319773PEDESTAL10002018-07-1708:20:46319773PEDESTAL_319773NOOK
73319602PEDESTAL20002018-07-1408:26:39319602PEDESTAL_319602NOOK
74319601PEDESTAL20002018-07-1408:22:04319601PEDESTAL_319601NOOK
75319510PEDESTAL20002018-07-1120:43:26319510PEDESTAL_319510NOOK
76319261PEDESTAL20002018-07-0519:54:16319261PEDESTAL_319261NOOK
77319209PEDESTAL20002018-07-0416:08:05319209PEDESTAL_319209NOOK
78318748PEDESTAL20002018-06-2708:31:27318748PEDESTAL_318748NOOK
79318183PEDESTAL20002018-06-2108:36:48318183PEDESTAL_318183NOOK
80318180PEDESTAL20002018-06-2108:29:31318180PEDESTAL_318180NOOK
81317966PEDESTAL20002018-06-1809:21:48317966PEDESTAL_317966NOOK
82317899PEDESTAL20002018-06-1514:43:43317899PEDESTAL_317899NOOK
83317780PEDESTAL20002018-06-1408:02:48317780PEDESTAL_317780NOOK
84317754PEDESTAL10002018-06-1308:59:28317754PEDESTAL_317754NOOK
85317753PEDESTAL10002018-06-1308:49:46317753PEDESTAL_317753NOOK
86317751PEDESTAL10002018-06-1307:59:18317751PEDESTAL_317751NOOK
87317729PEDESTAL10002018-06-1212:30:43317729PEDESTAL_317729NOOK
88317728PEDESTAL10002018-06-1212:27:57317728PEDESTAL_317728NOOK
89317727PEDESTAL20002018-06-1212:09:07317727PEDESTAL_317727NOOK
90317722PEDESTAL20002018-06-1211:04:52317722PEDESTAL_317722NOOK
91317672PEDESTAL20002018-06-1112:59:37317672PEDESTAL_317672NOOK
92317633PEDESTAL20002018-06-0910:52:57317633PEDESTAL_317633NOOK
93317614PEDESTAL20002018-06-0814:33:05317614PEDESTAL_317614NOOK
94317608PEDESTAL20002018-06-0812:20:52317608PEDESTAL_317608NOOK
95317596PEDESTAL20002018-06-0809:25:16317596PEDESTAL_317596NOOK
96317441PEDESTAL20002018-06-0511:51:53317441PEDESTAL_317441NOOK
97317425PEDESTAL20002018-06-0419:34:09317425PEDESTAL_317425NOOK
98317304PEDESTAL20002018-06-0117:21:27317304PEDESTAL_317304NOOK
99317226PEDESTAL20002018-05-3109:18:17317226PEDESTAL_317226NOOK
100317200PEDESTAL20002018-05-3019:55:14317200PEDESTAL_317200NOOK
101317104PEDESTAL20002018-05-2912:13:51317104PEDESTAL_317104NOOK
102317099PEDESTAL20002018-05-2911:58:21317099PEDESTAL_317099NOOK
103316809PEDESTAL20002018-05-2409:19:44316809PEDESTAL_316809NOOK
104316189PEDESTAL20002018-05-1217:07:53316189PEDESTAL_316189NOOK
105316121PEDESTAL20002018-05-1111:29:38316121PEDESTAL_316121NOOK
106315992PEDESTAL20002018-05-0909:41:13315992PEDESTAL_315992NOOK
107315807PEDESTAL20002018-05-0713:48:20315807PEDESTAL_315807NOOK
108315632PEDESTAL20002018-05-0219:22:10315632PEDESTAL_315632NOOK
109315576PEDESTAL20002018-05-0213:39:04315576PEDESTAL_315576NOOK
110315431PEDESTAL20002018-04-3011:30:06315431PEDESTAL_315431NOOK
111315415PEDESTAL20002018-04-2921:02:49315415PEDESTAL_315415NOOK
112315208PEDESTAL20002018-04-2609:30:11315208PEDESTAL_315208NOOK
113315068PEDESTAL20002018-04-2415:55:09315068PEDESTAL_315068NOOK
114315067PEDESTAL20002018-04-2415:53:22315067PEDESTAL_315067NOOK
115314825PEDESTAL20002018-04-2110:03:36314825PEDESTAL_314825NOOK
116314692PEDESTAL20002018-04-1910:24:25314692PEDESTAL_314692NOOK
117314588PEDESTAL20002018-04-1808:31:17314588PEDESTAL_314588NOOK
118314300PEDESTAL20002018-04-1409:57:17314300PEDESTAL_314300NOOK
119313907PEDESTAL20002018-04-1010:56:51313907PEDESTAL_313907NOOK
120313855PEDESTAL20002018-04-0914:45:57313855PEDESTAL_313855NOOK
121313818PEDESTAL100002018-04-0909:39:31313818PEDESTAL_313818NOOK
122313462PEDESTAL50002018-04-0513:14:34313462PEDESTAL_313462NOOK
123313461PEDESTAL50002018-04-0513:04:32313461PEDESTAL_313461NOOK
124313436PEDESTAL20002018-04-0509:46:31313436PEDESTAL_313436NOOK
125313323PEDESTAL20002018-04-0413:26:57313323PEDESTAL_313323NOOK
126313190PEDESTAL20002018-04-0208:26:30313190PEDESTAL_313190NOOK
127313171PEDESTAL20002018-04-0107:09:48313171PEDESTAL_313171NOOK
128313143PEDESTAL20002018-03-3107:39:08313143PEDESTAL_313143NOOK
129313092PEDESTAL20002018-03-2816:29:25313092PEDESTAL_313092NOOK
130313037PEDESTAL20002018-03-2813:09:29313037PEDESTAL_313037NOOK
131313008PEDESTAL20002018-03-2809:56:57313008PEDESTAL_313008NOOK
132312894PEDESTAL20002018-03-2712:58:46312894PEDESTAL_312894NOOK
133312890PEDESTAL20002018-03-2712:24:46312890PEDESTAL_312890NOOK
134312798PEDESTAL20002018-03-2616:36:53312798PEDESTAL_312798NOOK
135312791PEDESTAL20002018-03-2616:12:30312791PEDESTAL_312791NOOK
136312777PEDESTAL20002018-03-2613:57:41312777PEDESTAL_312777NOOK
137312771PEDESTAL20002018-03-2613:36:53312771PEDESTAL_312771NOOK
138312770PEDESTAL20002018-03-2613:20:39312770PEDESTAL_312770NOOK
139312767PEDESTAL20002018-03-2613:15:18312767PEDESTAL_312767NOOK
140312765PEDESTAL20002018-03-2613:05:24312765PEDESTAL_312765NOOK
141312714PEDESTAL20002018-03-2508:54:10312714PEDESTAL_312714NOOK
142311959PEDESTAL20002018-03-1517:22:08311959PEDESTAL_311959NOOK
143311915PEDESTAL10002018-03-1513:55:14311915PEDESTAL_311915NOOK
144311913PEDESTAL80002018-03-1513:41:27311913PEDESTAL_311913NOOK
145311786PEDESTAL100002018-03-1320:54:56311786PEDESTAL_311786NOOK
146311769PEDESTAL20002018-03-1319:00:51311769PEDESTAL_311769NOOK
147311619PEDESTAL80002018-03-1216:01:12311619PEDESTAL_311619NOOK
148311615PEDESTAL10002018-03-1215:47:45311615PEDESTAL_311615NOOK
149311412PEDESTAL20002018-03-0914:36:54311412PEDESTAL_311412NOOK
150311410PEDESTAL20002018-03-0914:04:36311410PEDESTAL_311410NOOK
151311193PEDESTAL20002018-03-0717:42:20311193PEDESTAL_311193NOOK
152311043PEDESTAL10002018-03-0615:14:41311043PEDESTAL_311043NOOK
153310905PEDESTAL20002018-03-0511:13:19310905PEDESTAL_310905NOOK
154310904PEDESTAL10002018-03-0510:49:01310904PEDESTAL_310904NOOK
155310791PEDESTAL80002018-03-0115:57:21310791PEDESTAL_310791NOOK
156310788PEDESTAL80002018-03-0115:44:55310788PEDESTAL_310788NOOK
157310782PEDESTAL80002018-03-0113:42:38310782PEDESTAL_310782NOOK
158310722PEDESTAL80002018-02-2816:59:21310722PEDESTAL_310722NOOK
159310683PEDESTAL10002018-02-2814:54:16310683PEDESTAL_310683NOOK
160310666PEDESTAL10002018-02-2810:48:01310666PEDESTAL_310666NOOK
161310665PEDESTAL10002018-02-2810:36:17310665PEDESTAL_310665NOOK
162310650PEDESTAL80002018-02-2809:29:48310650PEDESTAL_310650NOOK
163310649PEDESTAL80002018-02-2809:21:18310649PEDESTAL_310649NOOK
164310587PEDESTAL10002018-02-2713:51:04310587PEDESTAL_310587NOOK
165310040PEDESTAL20002018-02-2110:40:52310040PEDESTAL_310040NOOK
166310025PEDESTAL10002018-02-2109:32:15310025PEDESTAL_310025NOOK
167309922PEDESTAL10002018-02-1910:06:16309922PEDESTAL_309922NOOK
168309921PEDESTAL80002018-02-1909:52:37309921PEDESTAL_309921NOOK
169309871PEDESTAL20002018-02-1611:55:58309871PEDESTAL_309871NOOK
170309849PEDESTAL20002018-02-1518:15:05309849PEDESTAL_309849NOOK
171309839PEDESTAL20002018-02-1517:42:18309839PEDESTAL_309839NOOK
172309818PEDESTAL10002018-02-1511:39:16309818PEDESTAL_309818NOOK
173309817PEDESTAL10002018-02-1511:34:05309817PEDESTAL_309817NOOK
174309814PEDESTAL80002018-02-1511:11:43309814PEDESTAL_309814NOOK
175309796PEDESTAL10002018-02-1510:15:05309796PEDESTAL_309796NOOK
176309792PEDESTAL10002018-02-1500:34:10309792PEDESTAL_309792NOOK
177309791PEDESTAL10002018-02-1500:15:19309791PEDESTAL_309791NOOK
178309790PEDESTAL10002018-02-1500:03:33309790PEDESTAL_309790NOOK
179309789PEDESTAL10002018-02-1423:45:53309789PEDESTAL_309789NOOK
180309788PEDESTAL10002018-02-1423:17:18309788PEDESTAL_309788NOOK
181309787PEDESTAL10002018-02-1422:40:56309787PEDESTAL_309787NOOK
182309726PEDESTAL80002018-02-1409:57:20309726PEDESTAL_309726NOOK
183309721PEDESTAL10002018-02-1409:23:18309721PEDESTAL_309721NOOK
184309709PEDESTAL10002018-02-1323:46:21309709PEDESTAL_309709NOOK
185309707PEDESTAL10002018-02-1322:22:18309707PEDESTAL_309707NOOK
186309706PEDESTAL10002018-02-1322:14:13309706PEDESTAL_309706NOOK
187309676PEDESTAL50002018-02-1315:40:53309676PEDESTAL_309676NOOK
188309614PEDESTAL10002018-02-1309:50:06309614PEDESTAL_309614NOOK
189309605PEDESTAL10002018-02-1222:36:45309605PEDESTAL_309605NOOK
190309603PEDESTAL16002018-02-1220:30:57309603PEDESTAL_309603NOOK
191309566PEDESTAL80002018-02-1217:17:36309566PEDESTAL_309566NOOK
192309551PEDESTAL80002018-02-1216:28:03309551PEDESTAL_309551NOOK
193309439PEDESTAL10002018-02-0916:36:20309439PEDESTAL_309439NOOK
194309432PEDESTAL10002018-02-0916:14:27309432PEDESTAL_309432NOOK
196309424PEDESTAL10002018-02-0915:50:56309424PEDESTAL_309424NOOK
197309415PEDESTAL10002018-02-0915:22:42309415PEDESTAL_309415NOOK
198309394PEDESTAL10002018-02-0914:14:22309394PEDESTAL_309394NOOK
199309062PEDESTAL20002018-02-0614:39:12309062PEDESTAL_309062NOOK
200308546PEDESTAL20002018-01-3113:04:36308546PEDESTAL_308546NOOK
201308545PEDESTAL20002018-01-2914:19:41308545PEDESTAL_308545NOOK
202308538PEDESTAL20002018-01-2914:08:10308538PEDESTAL_308538NOOK
203308537PEDESTAL20002018-01-2914:07:20308537PEDESTAL_308537NOOK
204308536PEDESTAL20002018-01-2914:06:22308536PEDESTAL_308536NOOK
206308534PEDESTAL20002018-01-2914:05:09308534PEDESTAL_308534NOOK
207308533PEDESTAL20002018-01-2914:04:36308533PEDESTAL_308533NOOK
208308532PEDESTAL20002018-01-2914:04:07308532PEDESTAL_308532NOOK
210308530PEDESTAL20002018-01-2914:02:53308530PEDESTAL_308530NOOK
211308529PEDESTAL20002018-01-2914:02:01308529PEDESTAL_308529NOOK
212308528PEDESTAL20002018-01-2914:01:29308528PEDESTAL_308528NOOK
213308527PEDESTAL20002018-01-2914:00:52308527PEDESTAL_308527NOOK
214308526PEDESTAL20002018-01-2913:56:57308526PEDESTAL_308526NOOK
215307851PEDESTAL20002018-01-1517:44:26307851PEDESTAL_307851NOOK
216307796PEDESTAL80002018-01-1209:48:03307796PEDESTAL_307796NOOK
217307793PEDESTAL10002018-01-1118:41:09307793PEDESTAL_307793NOOK
218307790PEDESTAL10002018-01-1117:30:08307790PEDESTAL_307790NOOK
219307789PEDESTAL50002018-01-1117:24:33307789PEDESTAL_307789NOOK
220307785PEDESTAL10002018-01-1115:46:46307785PEDESTAL_307785NOOK
221307783PEDESTAL10002018-01-1113:43:49307783PEDESTAL_307783NOOK
222307763PEDESTAL20002018-01-1012:13:19307763PEDESTAL_307763NOOK
223307611PEDESTAL20002017-12-0516:27:22307611PEDESTAL_307611NOOK
224307551PEDESTAL20002017-12-0413:36:45307551PEDESTAL_307551NOOK
225307550PEDESTAL20002017-12-0413:25:38307550PEDESTAL_307550NOOK
226307549PEDESTAL20002017-12-0413:23:03307549PEDESTAL_307549NOOK
227307548PEDESTAL20002017-12-0413:19:19307548PEDESTAL_307548NOOK
228307546PEDESTAL20002017-12-0413:11:08307546PEDESTAL_307546NOOK
229307545PEDESTAL20002017-12-0413:07:06307545PEDESTAL_307545NOOK
230307544PEDESTAL20002017-12-0413:03:10307544PEDESTAL_307544NOOK
231307543PEDESTAL20002017-12-0412:59:56307543PEDESTAL_307543NOOK
232307499PEDESTAL20002017-12-0210:52:45307499PEDESTAL_307499NOOK
233307334PEDESTAL20002017-11-2917:21:38307334PEDESTAL_307334NOOK
234307332PEDESTAL10002017-11-2917:17:07307332PEDESTAL_307332NOOK
235307243PEDESTAL20002017-11-2815:24:53307243PEDESTAL_307243NOOK
236307166PEDESTAL100002017-11-2715:55:38307166PEDESTAL_307166NOOK
237307165PEDESTAL100002017-11-2715:47:12307165PEDESTAL_307165NOOK
238307160PEDESTAL100002017-11-2715:23:37307160PEDESTAL_307160NOOK
239307154PEDESTAL20002017-11-2714:50:31307154PEDESTAL_307154NOOK
240307143PEDESTAL300002017-11-2711:13:45307143PEDESTAL_307143NOOK
241306975PEDESTAL100002017-11-2212:34:44306975PEDESTAL_306975NOOK
242306973PEDESTAL100002017-11-2212:18:20306973PEDESTAL_306973NOOK
243306972PEDESTAL100002017-11-2212:10:33306972PEDESTAL_306972NOOK
244306965PEDESTAL20002017-11-2211:04:41306965PEDESTAL_306965NOOK
245306729PEDESTAL300002017-11-1615:28:39306729PEDESTAL_306729NOOK
246306717PEDESTAL100002017-11-1614:37:49306717PEDESTAL_306717NOOK
247306715PEDESTAL20002017-11-1614:30:06306715PEDESTAL_306715NOOK
248306695PEDESTAL100002017-11-1514:34:44306695PEDESTAL_306695NOOK
249306693PEDESTAL100002017-11-1514:09:52306693PEDESTAL_306693NOOK
250306692PEDESTAL100002017-11-1513:58:50306692PEDESTAL_306692NOOK
251306688PEDESTAL100002017-11-1513:30:52306688PEDESTAL_306688NOOK
252306672PEDESTAL20002017-11-1512:42:16306672PEDESTAL_306672NOOK
253306468PEDESTAL20002017-11-1015:16:21306468PEDESTAL_306468NOOK
254306465PEDESTAL20002017-11-1014:37:51306465PEDESTAL_306465NOOK
255306224PEDESTAL20002017-11-0713:15:25306224PEDESTAL_306224NOOK
256306054PEDESTAL20002017-11-0211:28:00306054PEDESTAL_306054NOOK
257305928PEDESTAL10002017-10-3110:20:06305928PEDESTAL_305928NOOK
258305916PEDESTAL20002017-10-3109:30:29305916PEDESTAL_305916NOOK
259305914PEDESTAL20002017-10-3109:24:35305914PEDESTAL_305914NOOK
260305869PEDESTAL20002017-10-3016:08:48305869PEDESTAL_305869NOOK
261305700PEDESTAL20002017-10-2614:11:53305700PEDESTAL_305700NOOK
262305558PEDESTAL20002017-10-2415:22:05305558PEDESTAL_305558NOOK
263305547PEDESTAL20002017-10-2414:47:17305547PEDESTAL_305547NOOK
264305457PEDESTAL20002017-10-2314:24:01305457PEDESTAL_305457NOOK
265305316PEDESTAL20002017-10-2009:43:22305316PEDESTAL_305316NOOK
266305213PEDESTAL20002017-10-1809:11:40305213PEDESTAL_305213NOOK
267305122PEDESTAL20002017-10-1612:59:59305122PEDESTAL_305122NOOK
268305005PEDESTAL20002017-10-1314:56:22305005PEDESTAL_305005NOOK
269304920PEDESTAL2000002017-10-1308:42:34304920PEDESTAL_304920NOOK
270304851PEDESTAL20002017-10-1209:55:45304851PEDESTAL_304851NOOK
271304829PEDESTAL20002017-10-1207:27:04304829PEDESTAL_304829NOOK
272304827PEDESTAL20002017-10-1207:22:23304827PEDESTAL_304827NOOK
273304745PEDESTAL20002017-10-1009:45:09304745PEDESTAL_304745NOOK
274304676PEDESTAL20002017-10-0908:54:39304676PEDESTAL_304676NOOK
275304630PEDESTAL20002017-10-0711:42:54304630PEDESTAL_304630NOOK
276304547PEDESTAL20002017-10-0610:03:08304547PEDESTAL_304547NOOK
277304546PEDESTAL20002017-10-0609:58:43304546PEDESTAL_304546NOOK
278304538PEDESTAL20002017-10-0609:50:14304538PEDESTAL_304538NOOK
279304516PEDESTAL20002017-10-0608:38:06304516PEDESTAL_304516NOOK
280304442PEDESTAL50002017-10-0423:12:51304442PEDESTAL_304442NOOK
281304423PEDESTAL20002017-10-0421:30:27304423PEDESTAL_304423NOOK
282304278PEDESTAL20002017-10-0215:58:33304278PEDESTAL_304278NOOK
283304220PEDESTAL20002017-10-0208:53:40304220PEDESTAL_304220NOOK
284304161PEDESTAL20002017-09-3020:12:15304161PEDESTAL_304161NOOK
285304064PEDESTAL20002017-09-2809:30:25304064PEDESTAL_304064NOOK
286304008PEDESTAL20002017-09-2714:44:57304008PEDESTAL_304008NOOK
287303898PEDESTAL20002017-09-2608:47:55303898PEDESTAL_303898NOOK
288303875PEDESTAL20002017-09-2516:05:46303875PEDESTAL_303875NOOK
289303847PEDESTAL20002017-09-2514:56:48303847PEDESTAL_303847NOOK
290303476PEDESTAL20002017-09-2109:33:14303476PEDESTAL_303476NOOK
291303453PEDESTAL20002017-09-2108:36:20303453PEDESTAL_303453NOOK
292303362PEDESTAL20002017-09-2013:02:27303362PEDESTAL_303362NOOK
293303356PEDESTAL20002017-09-2012:11:08303356PEDESTAL_303356NOOK
294303221PEDESTAL20002017-09-1913:51:38303221PEDESTAL_303221NOOK
295303085PEDESTAL20002017-09-1821:21:29303085PEDESTAL_303085NOOK
296303043PEDESTAL20002017-09-1816:54:43303043PEDESTAL_303043NOOK
297303024PEDESTAL20002017-09-1815:24:32303024PEDESTAL_303024NOOK
298303022PEDESTAL20002017-09-1815:11:52303022PEDESTAL_303022NOOK
299303018PEDESTAL20002017-09-1815:00:39303018PEDESTAL_303018NOOK
300303002PEDESTAL20002017-09-1808:54:29303002PEDESTAL_303002NOOK
301303001PEDESTAL20002017-09-1808:49:47303001PEDESTAL_303001NOOK
302303000PEDESTAL200002017-09-1808:23:47303000PEDESTAL_303000NOOK
303302862PEDESTAL20002017-09-1517:45:05302862PEDESTAL_302862NOOK
304302611PEDESTAL20002017-09-1117:21:03302611PEDESTAL_302611NOOK
305302576PEDESTAL20002017-09-1019:28:04302576PEDESTAL_302576NOOK
306302457PEDESTAL20002017-09-0709:54:54302457PEDESTAL_302457NOOK
307302407PEDESTAL20002017-09-0610:58:24302407PEDESTAL_302407NOOK
308302366PEDESTAL20002017-09-0516:32:42302366PEDESTAL_302366NOOK
309302244PEDESTAL20002017-09-0217:30:38302244PEDESTAL_302244NOOK
310302217PEDESTAL20002017-09-0115:20:07302217PEDESTAL_302217NOOK
311302179PEDESTAL20002017-09-0112:53:27302179PEDESTAL_302179NOOK
312302177PEDESTAL20002017-09-0112:45:46302177PEDESTAL_302177NOOK
313302101PEDESTAL20002017-08-3109:13:49302101PEDESTAL_302101NOOK
314302100PEDESTAL20002017-08-3109:02:11302100PEDESTAL_302100NOOK
315302093PEDESTAL20002017-08-3108:43:16302093PEDESTAL_302093NOOK
316302078PEDESTAL20002017-08-3107:54:50302078PEDESTAL_302078NOOK
317302069PEDESTAL20002017-08-3106:52:00302069PEDESTAL_302069NOOK
318301884PEDESTAL200002017-08-2523:12:38301884PEDESTAL_301884NOOK
319301883PEDESTAL20002017-08-2523:06:23301883PEDESTAL_301883NOOK
320301881PEDESTAL20002017-08-2522:28:00301881PEDESTAL_301881NOOK
321301880PEDESTAL20002017-08-2522:21:58301880PEDESTAL_301880NOOK
322301877PEDESTAL20002017-08-2521:39:19301877PEDESTAL_301877NOOK
323301728PEDESTAL20002017-08-2410:06:04301728PEDESTAL_301728NOOK
324301680PEDESTAL20002017-08-2321:02:52301680PEDESTAL_301680NOOK
325301608PEDESTAL20002017-08-2216:04:37301608PEDESTAL_301608NOOK
326301603PEDESTAL20002017-08-2215:51:45301603PEDESTAL_301603NOOK
327301600PEDESTAL20002017-08-2215:31:54301600PEDESTAL_301600NOOK
328301594PEDESTAL20002017-08-2215:02:37301594PEDESTAL_301594NOOK
329301591PEDESTAL20002017-08-2214:46:07301591PEDESTAL_301591NOOK
330301496PEDESTAL20002017-08-2108:23:21301496PEDESTAL_301496NOOK
331301374PEDESTAL20002017-08-1713:53:09301374PEDESTAL_301374NOOK
332301302PEDESTAL20002017-08-1615:42:49301302PEDESTAL_301302NOOK
333301211PEDESTAL20002017-08-1512:26:31301211PEDESTAL_301211NOOK
334301207PEDESTAL20002017-08-1512:18:58301207PEDESTAL_301207NOOK
335301194PEDESTAL20002017-08-1511:13:14301194PEDESTAL_301194NOOK
336300993PEDESTAL20002017-08-1110:34:54300993PEDESTAL_300993NOOK
337300590PEDESTAL20002017-08-0712:55:56300590PEDESTAL_300590NOOK
338300415PEDESTAL20002017-08-0408:48:44300415PEDESTAL_300415NOOK
339300294PEDESTAL20002017-08-0216:15:54300294PEDESTAL_300294NOOK
340300172PEDESTAL20002017-07-3111:59:16300172PEDESTAL_300172NOOK
341299978PEDESTAL20002017-07-2709:42:28299978PEDESTAL_299978NOOK
342299961PEDESTAL20002017-07-2708:58:16299961PEDESTAL_299961NOOK
343299869PEDESTAL20002017-07-2516:21:03299869PEDESTAL_299869NOOK
344299749PEDESTAL20002017-07-2416:59:46299749PEDESTAL_299749NOOK
345299748PEDESTAL20002017-07-2416:52:51299748PEDESTAL_299748NOOK
346299737PEDESTAL20002017-07-2415:38:51299737PEDESTAL_299737NOOK
347299734PEDESTAL20002017-07-2415:30:35299734PEDESTAL_299734NOOK
348299580PEDESTAL20002017-07-2114:29:32299580PEDESTAL_299580NOOK
349299463PEDESTAL20002017-07-2009:12:45299463PEDESTAL_299463NOOK
350299401PEDESTAL20002017-07-1910:09:13299401PEDESTAL_299401NOOK
351299273PEDESTAL20002017-07-1716:02:41299273PEDESTAL_299273NOOK
352299271PEDESTAL20002017-07-1715:59:16299271PEDESTAL_299271NOOK
353299270PEDESTAL20002017-07-1715:58:24299270PEDESTAL_299270NOOK
354299268PEDESTAL20002017-07-1715:57:29299268PEDESTAL_299268NOOK
355299266PEDESTAL20002017-07-1715:52:17299266PEDESTAL_299266NOOK
356299263PEDESTAL20002017-07-1715:44:58299263PEDESTAL_299263NOOK
357299261PEDESTAL20002017-07-1715:41:09299261PEDESTAL_299261NOOK
358299260PEDESTAL20002017-07-1715:40:07299260PEDESTAL_299260NOOK
359299257PEDESTAL20002017-07-1715:38:59299257PEDESTAL_299257NOOK
360299256PEDESTAL20002017-07-1715:38:02299256PEDESTAL_299256NOOK
361299254PEDESTAL20002017-07-1715:36:43299254PEDESTAL_299254NOOK
362299253PEDESTAL20002017-07-1715:35:46299253PEDESTAL_299253NOOK
363299252PEDESTAL20002017-07-1715:34:53299252PEDESTAL_299252NOOK
364299250PEDESTAL20002017-07-1715:33:53299250PEDESTAL_299250NOOK
365299249PEDESTAL20002017-07-1715:32:57299249PEDESTAL_299249NOOK
366299248PEDESTAL20002017-07-1715:32:03299248PEDESTAL_299248NOOK
367299247PEDESTAL20002017-07-1715:31:10299247PEDESTAL_299247NOOK
368299244PEDESTAL20002017-07-1715:29:59299244PEDESTAL_299244NOOK
369299241PEDESTAL20002017-07-1715:11:14299241PEDESTAL_299241NOOK
370299240PEDESTAL20002017-07-1715:07:19299240PEDESTAL_299240NOOK
371299239PEDESTAL20002017-07-1715:06:24299239PEDESTAL_299239NOOK
372299233PEDESTAL20002017-07-1715:01:51299233PEDESTAL_299233NOOK
373299232PEDESTAL20002017-07-1713:57:36299232PEDESTAL_299232NOOK
374299007PEDESTAL20002017-07-1410:30:56299007PEDESTAL_299007NOOK
375299004PEDESTAL20002017-07-1410:21:46299004PEDESTAL_299004NOOK
376298924PEDESTAL20002017-07-1308:30:51298924PEDESTAL_298924NOOK
377298868PEDESTAL20002017-07-1208:55:54298868PEDESTAL_298868NOOK
378298791PEDESTAL20002017-07-1107:22:47298791PEDESTAL_298791NOOK
379298699PEDESTAL20002017-07-1008:13:45298699PEDESTAL_298699NOOK
380298467PEDESTAL20002017-07-0716:44:00298467PEDESTAL_298467NOOK
381298443PEDESTAL20002017-07-0714:00:14298443PEDESTAL_298443NOOK
382298410PEDESTAL20002017-07-0709:40:34298410PEDESTAL_298410NOOK
383298346PEDESTAL20002017-07-0615:07:55298346PEDESTAL_298346NOOK
384298319PEDESTAL20002017-07-0614:05:17298319PEDESTAL_298319NOOK
385298306PEDESTAL20002017-07-0613:46:55298306PEDESTAL_298306NOOK
386298300PEDESTAL100002017-07-0613:38:57298300PEDESTAL_298300NOOK
387298272PEDESTAL100002017-07-0612:00:44298272PEDESTAL_298272NOOK
388298250PEDESTAL20002017-07-0609:29:12298250PEDESTAL_298250NOOK
389298213PEDESTAL20002017-07-0520:33:44298213PEDESTAL_298213NOOK
390298210PEDESTAL100002017-07-0520:01:54298210PEDESTAL_298210NOOK
391298209PEDESTAL20002017-07-0519:49:08298209PEDESTAL_298209NOOK
392298194PEDESTAL20002017-07-0519:14:59298194PEDESTAL_298194NOOK
393298096PEDESTAL20002017-07-0511:52:28298096PEDESTAL_298096NOOK
394298052PEDESTAL20002017-07-0508:19:04298052PEDESTAL_298052NOOK
395297899PEDESTAL40002017-07-0313:14:59297899PEDESTAL_297899NOOK
396297898PEDESTAL50002017-07-0313:08:30297898PEDESTAL_297898NOOK
397297897PEDESTAL50002017-07-0313:03:55297897PEDESTAL_297897NOOK
398297896PEDESTAL50002017-07-0312:58:31297896PEDESTAL_297896NOOK
399297895PEDESTAL50002017-07-0312:49:22297895PEDESTAL_297895NOOK
400297894PEDESTAL30002017-07-0312:42:45297894PEDESTAL_297894NOOK
401297893PEDESTAL30002017-07-0312:41:01297893PEDESTAL_297893NOOK
402297892PEDESTAL20002017-07-0312:35:18297892PEDESTAL_297892NOOK
403297891PEDESTAL20002017-07-0312:33:01297891PEDESTAL_297891NOOK
404297890PEDESTAL20002017-07-0312:32:17297890PEDESTAL_297890NOOK
405297889PEDESTAL20002017-07-0312:31:28297889PEDESTAL_297889NOOK
406297888PEDESTAL20002017-07-0312:30:45297888PEDESTAL_297888NOOK
407297887PEDESTAL20002017-07-0312:30:03297887PEDESTAL_297887NOOK
408297886PEDESTAL20002017-07-0312:15:22297886PEDESTAL_297886NOOK
409297844PEDESTAL20002017-07-0307:21:35297844PEDESTAL_297844NOOK
410297684PEDESTAL20002017-06-2912:16:31297684PEDESTAL_297684NOOK
411297628PEDESTAL20002017-06-2812:50:35297628PEDESTAL_297628NOOK
412297570PEDESTAL20002017-06-2711:16:10297570PEDESTAL_297570NOOK
413297521PEDESTAL20002017-06-2612:50:38297521PEDESTAL_297521NOOK
414297440PEDESTAL20002017-06-2411:38:57297440PEDESTAL_297440NOOK
415297239PEDESTAL20002017-06-2112:22:43297239PEDESTAL_297239NOOK
416297081PEDESTAL20002017-06-1715:38:59297081PEDESTAL_297081NOOK
417296928PEDESTAL20002017-06-1514:57:26296928PEDESTAL_296928NOOK
418296927PEDESTAL20002017-06-1514:51:21296927PEDESTAL_296927NOOK
419296926PEDESTAL20002017-06-1514:46:24296926PEDESTAL_296926NOOK
420296921PEDESTAL20002017-06-1514:31:29296921PEDESTAL_296921NOOK
421296919PEDESTAL20002017-06-1514:24:56296919PEDESTAL_296919NOOK
422296918PEDESTAL20002017-06-1514:17:05296918PEDESTAL_296918NOOK
423296849PEDESTAL20002017-06-1417:45:30296849PEDESTAL_296849NOOK
424296848PEDESTAL20002017-06-1417:40:12296848PEDESTAL_296848NOOK
425296842PEDESTAL20002017-06-1416:52:08296842PEDESTAL_296842NOOK
426296841PEDESTAL20002017-06-1416:50:05296841PEDESTAL_296841NOOK
427296840PEDESTAL20002017-06-1416:49:04296840PEDESTAL_296840NOOK
428296839PEDESTAL20002017-06-1416:48:02296839PEDESTAL_296839NOOK
429296838PEDESTAL20002017-06-1416:47:03296838PEDESTAL_296838NOOK
430296837PEDESTAL20002017-06-1416:45:55296837PEDESTAL_296837NOOK
431296831PEDESTAL20002017-06-1416:40:19296831PEDESTAL_296831NOOK
432296830PEDESTAL20002017-06-1416:31:08296830PEDESTAL_296830NOOK
433296806PEDESTAL20002017-06-1414:41:49296806PEDESTAL_296806NOOK
434296554PEDESTAL20002017-06-0917:03:42296554PEDESTAL_296554NOOK
435296553PEDESTAL20002017-06-0916:56:56296553PEDESTAL_296553NOOK
436296512PEDESTAL20002017-06-0914:00:34296512PEDESTAL_296512NOOK
437296441PEDESTAL20002017-06-0818:52:34296441PEDESTAL_296441NOOK
438296433PEDESTAL20002017-06-0817:54:03296433PEDESTAL_296433NOOK
439296431PEDESTAL20002017-06-0817:39:53296431PEDESTAL_296431NOOK
440296425PEDESTAL20002017-06-0817:16:36296425PEDESTAL_296425NOOK
441296333PEDESTAL20002017-06-0711:51:45296333PEDESTAL_296333NOOK
442296332PEDESTAL20002017-06-0711:49:53296332PEDESTAL_296332NOOK
443296330PEDESTAL20002017-06-0711:46:06296330PEDESTAL_296330NOOK
444296329PEDESTAL20002017-06-0711:44:11296329PEDESTAL_296329NOOK
445296254PEDESTAL20002017-06-0617:34:09296254PEDESTAL_296254NOOK
446296181PEDESTAL20002017-06-0608:52:26296181PEDESTAL_296181NOOK
447296158PEDESTAL20002017-06-0516:32:35296158PEDESTAL_296158NOOK
448296128PEDESTAL20002017-06-0513:36:24296128PEDESTAL_296128NOOK
449296127PEDESTAL20002017-06-0513:26:03296127PEDESTAL_296127NOOK
450296125PEDESTAL20002017-06-0513:19:10296125PEDESTAL_296125NOOK
451295673PEDESTAL20002017-05-3109:00:24295673PEDESTAL_295673NOOK
452295480PEDESTAL20002017-05-2909:07:39295480PEDESTAL_295480NOOK
453295428PEDESTAL20002017-05-2814:44:20295428PEDESTAL_295428NOOK
454295399PEDESTAL20002017-05-2811:59:33295399PEDESTAL_295399NOOK
455295251PEDESTAL20002017-05-2611:50:35295251PEDESTAL_295251NOOK
456295041PEDESTAL20002017-05-2410:54:02295041PEDESTAL_295041NOOK
457294619PEDESTAL20002017-05-1917:16:27294619PEDESTAL_294619NOOK
458294589PEDESTAL20002017-05-1914:20:04294589PEDESTAL_294589NOOK
459294588PEDESTAL20002017-05-1914:11:29294588PEDESTAL_294588NOOK
460294484PEDESTAL20002017-05-1818:40:38294484PEDESTAL_294484NOOK
461294274PEDESTAL20002017-05-1716:12:33294274PEDESTAL_294274NOOK
462293948PEDESTAL20002017-05-1415:35:51293948PEDESTAL_293948NOOK
463293777PEDESTAL20002017-05-1117:27:19293777PEDESTAL_293777NOOK
464293775PEDESTAL20002017-05-1117:19:32293775PEDESTAL_293775NOOK
465293611PEDESTAL20002017-05-0913:13:11293611PEDESTAL_293611NOOK
466293610PEDESTAL20002017-05-0913:00:27293610PEDESTAL_293610NOOK
467293571PEDESTAL20002017-05-0820:53:18293571PEDESTAL_293571NOOK
468293563PEDESTAL20002017-05-0819:52:35293563PEDESTAL_293563NOOK
469293299PEDESTAL20002017-05-0419:09:28293299PEDESTAL_293299NOOK
470293090PEDESTAL20002017-05-0308:50:07293090PEDESTAL_293090NOOK
471293028PEDESTAL20002017-05-0213:42:42293028PEDESTAL_293028NOOK
472292951PEDESTAL20002017-05-0111:47:17292951PEDESTAL_292951NOOK
473292886PEDESTAL20002017-04-2909:17:48292886PEDESTAL_292886NOOK
474292877PEDESTAL20002017-04-2823:38:17292877PEDESTAL_292877NOOK
475292801PEDESTAL20002017-04-2813:51:44292801PEDESTAL_292801NOOK
476292515PEDESTAL20002017-04-2608:58:37292515PEDESTAL_292515NOOK
477292374PEDESTAL20002017-04-2509:27:26292374PEDESTAL_292374NOOK
478292372PEDESTAL20002017-04-2509:20:33292372PEDESTAL_292372NOOK
479292368PEDESTAL20002017-04-2508:53:46292368PEDESTAL_292368NOOK
480292323PEDESTAL20002017-04-2414:19:33292323PEDESTAL_292323NOOK
481292261PEDESTAL20002017-04-2219:52:15292261PEDESTAL_292261NOOK
482292233PEDESTAL20002017-04-2117:52:39292233PEDESTAL_292233NOOK
483292226PEDESTAL20002017-04-2117:06:42292226PEDESTAL_292226NOOK
484292207PEDESTAL5002017-04-2113:16:55292207PEDESTAL_292207NOOK
485291957PEDESTAL20002017-04-1908:53:34291957PEDESTAL_291957NOOK
486291406PEDESTAL20002017-04-1009:40:57291406PEDESTAL_291406NOOK
487291372PEDESTAL20002017-04-0917:03:12291372PEDESTAL_291372NOOK
488291295PEDESTAL20002017-04-0715:25:30291295PEDESTAL_291295NOOK
489291273PEDESTAL20002017-04-0713:35:12291273PEDESTAL_291273NOOK
490291185PEDESTAL20002017-04-0614:18:26291185PEDESTAL_291185NOOK
491291165PEDESTAL20002017-04-0612:41:31291165PEDESTAL_291165NOOK
492291003PEDESTAL5002017-04-0510:34:47291003PEDESTAL_291003NOOK
493290897PEDESTAL20002017-04-0317:33:01290897PEDESTAL_290897NOOK
494290896PEDESTAL20002017-04-0317:14:32290896PEDESTAL_290896NOOK
495290826PEDESTAL20002017-04-0307:29:47290826PEDESTAL_290826NOOK
496290699PEDESTAL20002017-03-3115:37:55290699PEDESTAL_290699NOOK
497290677PEDESTAL20002017-03-3113:56:36290677PEDESTAL_290677NOOK
498290603PEDESTAL20002017-03-3017:06:48290603PEDESTAL_290603NOOK
499290590PEDESTAL20002017-03-3016:12:49290590PEDESTAL_290590NOOK
500290517PEDESTAL20002017-03-2923:32:00290517PEDESTAL_290517NOOK
501290514PEDESTAL20002017-03-2923:15:39290514PEDESTAL_290514NOOK
502290379PEDESTAL20002017-03-2909:43:52290379PEDESTAL_290379NOOK
503290241PEDESTAL20002017-03-2810:59:32290241PEDESTAL_290241NOOK
504290234PEDESTAL20002017-03-2810:24:42290234PEDESTAL_290234NOOK
505290098PEDESTAL20002017-03-2708:21:25290098PEDESTAL_290098NOOK
506290009PEDESTAL20002017-03-2418:25:24290009PEDESTAL_290009NOOK
507289880PEDESTAL20002017-03-2314:31:53289880PEDESTAL_289880NOOK
508289851PEDESTAL20002017-03-2310:21:45289851PEDESTAL_289851NOOK
509289756PEDESTAL20002017-03-2212:34:23289756PEDESTAL_289756NOOK
510289753PEDESTAL20002017-03-2211:25:34289753PEDESTAL_289753NOOK
511289708PEDESTAL20002017-03-2015:50:11289708PEDESTAL_289708NOOK
512289672PEDESTAL20002017-03-2009:16:42289672PEDESTAL_289672NOOK
513289655PEDESTAL20002017-03-1812:21:44289655PEDESTAL_289655NOOK
514289650PEDESTAL20002017-03-1812:05:49289650PEDESTAL_289650NOOK
515289624PEDESTAL20002017-03-1719:20:08289624PEDESTAL_289624NOOK
516289605PEDESTAL20002017-03-1714:45:27289605PEDESTAL_289605NOOK
517289578PEDESTAL20002017-03-1711:57:51289578PEDESTAL_289578NOOK
518289555PEDESTAL20002017-03-1711:52:37289555PEDESTAL_289555NOOK
519289494PEDESTAL20002017-03-1616:51:57289494PEDESTAL_289494NOOK
520289492PEDESTAL20002017-03-1616:44:51289492PEDESTAL_289492NOOK
521289454PEDESTAL20002017-03-1612:03:51289454PEDESTAL_289454NOOK
522289440PEDESTAL20002017-03-1610:48:48289440PEDESTAL_289440NOOK
523289438PEDESTAL20002017-03-1610:46:20289438PEDESTAL_289438NOOK
524289435PEDESTAL20002017-03-1610:30:25289435PEDESTAL_289435NOOK
525289426PEDESTAL20002017-03-1609:34:05289426PEDESTAL_289426NOOK
526289424PEDESTAL20002017-03-1609:26:17289424PEDESTAL_289424NOOK
527289420PEDESTAL20002017-03-1609:19:35289420PEDESTAL_289420NOOK
528289398PEDESTAL20002017-03-1519:58:46289398PEDESTAL_289398NOOK
529289390PEDESTAL20002017-03-1518:44:38289390PEDESTAL_289390NOOK
530289355PEDESTAL5002017-03-1516:44:49289355PEDESTAL_289355NOOK
531289238PEDESTAL20002017-03-1412:17:41289238PEDESTAL_289238NOOK
532289236PEDESTAL20002017-03-1411:58:37289236PEDESTAL_289236NOOK
533289233PEDESTAL20002017-03-1411:09:10289233PEDESTAL_289233NOOK
534289232PEDESTAL20002017-03-1411:04:05289232PEDESTAL_289232NOOK
535289230PEDESTAL20002017-03-1410:20:54289230PEDESTAL_289230NOOK
536289225PEDESTAL20002017-03-1406:34:56289225PEDESTAL_289225NOOK
537289165PEDESTAL20002017-03-1309:25:53289165PEDESTAL_289165NOOK
538289156PEDESTAL20002017-03-1303:56:03289156PEDESTAL_289156NOOK
539289155PEDESTAL20002017-03-1303:49:46289155PEDESTAL_289155NOOK
540289139PEDESTAL20002017-03-1207:19:35289139PEDESTAL_289139NOOK
541289115PEDESTAL20002017-03-1023:31:55289115PEDESTAL_289115NOOK
542289105PEDESTAL20002017-03-1019:05:20289105PEDESTAL_289105NOOK
543289089PEDESTAL20002017-03-1016:14:20289089PEDESTAL_289089NOOK
544289065PEDESTAL20002017-03-1013:44:56289065PEDESTAL_289065NOOK
545289060PEDESTAL20002017-03-1012:23:39289060PEDESTAL_289060NOOK
546289034PEDESTAL20002017-03-1009:55:35289034PEDESTAL_289034NOOK
547289008PEDESTAL100002017-03-0918:33:23289008PEDESTAL_289008NOOK
548288975PEDESTAL20002017-03-0914:41:38288975PEDESTAL_288975NOOK
549288918PEDESTAL100002017-03-0817:57:50288918PEDESTAL_288918NOOK
550288913PEDESTAL20002017-03-0817:04:36288913PEDESTAL_288913NOOK
551288905PEDESTAL20002017-03-0815:51:32288905PEDESTAL_288905NOOK
552288900PEDESTAL20002017-03-0814:34:24288900PEDESTAL_288900NOOK
553288839PEDESTAL20002017-03-0718:31:17288839PEDESTAL_288839NOOK
554288837PEDESTAL20002017-03-0718:20:19288837PEDESTAL_288837NOOK
555288832PEDESTAL20002017-03-0716:43:33288832PEDESTAL_288832NOOK
556288812PEDESTAL20002017-03-0711:17:34288812PEDESTAL_288812NOOK
557288780PEDESTAL20002017-03-0618:47:57288780PEDESTAL_288780NOOK
558288769PEDESTAL20002017-03-0616:54:04288769PEDESTAL_288769NOOK
559288723PEDESTAL20002017-03-0609:26:40288723PEDESTAL_288723NOOK
560288717PEDESTAL20002017-03-0608:33:00288717PEDESTAL_288717NOOK
561288711PEDESTAL20002017-03-0520:38:44288711PEDESTAL_288711NOOK
562288710PEDESTAL20002017-03-0520:29:20288710PEDESTAL_288710NOOK
563288693PEDESTAL100002017-03-0506:06:42288693PEDESTAL_288693NOOK
564288647PEDESTAL100002017-03-0318:22:50288647PEDESTAL_288647NOOK
565288640PEDESTAL20002017-03-0317:10:20288640PEDESTAL_288640NOOK
566288607PEDESTAL20002017-03-0312:25:24288607PEDESTAL_288607NOOK
567288587PEDESTAL20002017-03-0310:34:17288587PEDESTAL_288587NOOK
568288585PEDESTAL20002017-03-0310:16:52288585PEDESTAL_288585NOOK
569288579PEDESTAL20002017-03-0309:46:02288579PEDESTAL_288579NOOK
570288559PEDESTAL20002017-03-0216:27:57288559PEDESTAL_288559NOOK
571288523PEDESTAL20002017-03-0211:23:46288523PEDESTAL_288523NOOK
572288481PEDESTAL20002017-03-0116:31:36288481PEDESTAL_288481NOOK
573288478PEDESTAL20002017-03-0116:24:43288478PEDESTAL_288478NOOK
574288470PEDESTAL20002017-03-0115:44:13288470PEDESTAL_288470NOOK
575288466PEDESTAL20002017-03-0115:42:01288466PEDESTAL_288466NOOK
576288459PEDESTAL20002017-03-0115:05:13288459PEDESTAL_288459NOOK
577288456PEDESTAL20002017-03-0115:02:27288456PEDESTAL_288456NOOK
578288442PEDESTAL20002017-03-0114:03:32288442PEDESTAL_288442NOOK
579288436PEDESTAL20002017-03-0113:25:36288436PEDESTAL_288436NOOK
580288430PEDESTAL20002017-03-0113:23:14288430PEDESTAL_288430NOOK
581288423PEDESTAL20002017-03-0111:43:32288423PEDESTAL_288423NOOK
582288410PEDESTAL20002017-03-0110:19:53288410PEDESTAL_288410NOOK
583288409PEDESTAL20002017-03-0110:19:23288409PEDESTAL_288409NOOK
584288405PEDESTAL20002017-03-0110:17:11288405PEDESTAL_288405NOOK
585288402PEDESTAL20002017-03-0109:55:54288402PEDESTAL_288402NOOK
586288385PEDESTAL20002017-02-2816:40:26288385PEDESTAL_288385NOOK
587288281PEDESTAL20002017-02-2718:53:06288281PEDESTAL_288281NOOK
588288192PEDESTAL20002017-02-2419:36:14288192PEDESTAL_288192NOOK
589288175PEDESTAL20002017-02-2417:32:21288175PEDESTAL_288175NOOK
590288117PEDESTAL20002017-02-2410:59:20288117PEDESTAL_288117NOOK
591288101PEDESTAL100002017-02-2406:37:15288101PEDESTAL_288101NOOK
592288086PEDESTAL100002017-02-2319:32:42288086PEDESTAL_288086NOOK
593288085PEDESTAL100002017-02-2319:03:44288085PEDESTAL_288085NOOK
594288082PEDESTAL100002017-02-2318:42:06288082PEDESTAL_288082NOOK
595288065PEDESTAL20002017-02-2315:06:07288065PEDESTAL_288065NOOK
596288022PEDESTAL1000002017-02-2311:55:31288022PEDESTAL_288022NOOK
597288015PEDESTAL20002017-02-2310:13:59288015PEDESTAL_288015NOOK
598287969PEDESTAL20002017-02-2213:48:00287969PEDESTAL_287969NOOK
599287938PEDESTAL20002017-02-2115:37:26287938PEDESTAL_287938NOOK
600287859PEDESTAL100002017-02-1920:06:11287859PEDESTAL_287859NOOK
601287850PEDESTAL20002017-02-1904:43:21287850PEDESTAL_287850NOOK
602287824PEDESTAL5002017-02-1816:03:19287824PEDESTAL_287824NOOK
603287823PEDESTAL5002017-02-1815:58:06287823PEDESTAL_287823NOOK
604287761PEDESTAL20002017-02-1715:17:54287761PEDESTAL_287761NOOK
605287737PEDESTAL20002017-02-1700:28:35287737PEDESTAL_287737NOOK
606287725PEDESTAL20002017-02-1617:06:00287725PEDESTAL_287725NOOK
607287723PEDESTAL20002017-02-1616:11:02287723PEDESTAL_287723NOOK
608287703PEDESTAL20002017-02-1610:15:55287703PEDESTAL_287703NOOK
609287687PEDESTAL20002017-02-1518:13:06287687PEDESTAL_287687NOOK
610287684PEDESTAL20002017-02-1518:07:29287684PEDESTAL_287684NOOK
611287680PEDESTAL20002017-02-1517:55:25287680PEDESTAL_287680NOOK
612287677PEDESTAL20002017-02-1517:35:07287677PEDESTAL_287677NOOK
613287660PEDESTAL20002017-02-1516:17:11287660PEDESTAL_287660NOOK
614287657PEDESTAL20002017-02-1516:14:27287657PEDESTAL_287657NOOK
615287612PEDESTAL20002017-02-1509:36:07287612PEDESTAL_287612NOOK
616287598PEDESTAL20002017-02-1500:10:27287598PEDESTAL_287598NOOK
617287587PEDESTAL20002017-02-1421:06:17287587PEDESTAL_287587NOOK
618287583PEDESTAL100002017-02-1418:43:06287583PEDESTAL_287583NOOK
619287504PEDESTAL20002017-02-1319:25:41287504PEDESTAL_287504NOOK
620287501PEDESTAL20002017-02-1319:01:55287501PEDESTAL_287501NOOK
621287373PEDESTAL20002017-02-1013:35:29287373PEDESTAL_287373NOOK
622287358PEDESTAL20002017-02-1011:47:01287358PEDESTAL_287358NOOK
623287350PEDESTAL20002017-02-1011:06:10287350PEDESTAL_287350NOOK
624287338PEDESTAL20002017-02-1010:28:30287338PEDESTAL_287338NOOK
625287316PEDESTAL20002017-02-0919:14:36287316PEDESTAL_287316NOOK
626287305PEDESTAL20002017-02-0918:07:46287305PEDESTAL_287305NOOK
627287265PEDESTAL20002017-02-0916:08:49287265PEDESTAL_287265NOOK
628287262PEDESTAL20002017-02-0915:22:02287262PEDESTAL_287262NOOK
629287260PEDESTAL20002017-02-0915:16:32287260PEDESTAL_287260NOOK
630287254PEDESTAL20002017-02-0914:26:52287254PEDESTAL_287254NOOK
631287238PEDESTAL20002017-02-0913:36:39287238PEDESTAL_287238NOOK
632287237PEDESTAL20002017-02-0913:30:42287237PEDESTAL_287237NOOK
633287166PEDESTAL20002017-02-0819:48:29287166PEDESTAL_287166NOOK
634287165PEDESTAL20002017-02-0819:32:52287165PEDESTAL_287165NOOK
635287131PEDESTAL20002017-02-0814:49:42287131PEDESTAL_287131NOOK
636287129PEDESTAL20002017-02-0812:25:51287129PEDESTAL_287129NOOK
637287121PEDESTAL20002017-02-0811:45:07287121PEDESTAL_287121NOOK
638287120PEDESTAL20002017-02-0811:01:41287120PEDESTAL_287120NOOK
639287090PEDESTAL100002017-02-0721:15:37287090PEDESTAL_287090NOOK
640287080PEDESTAL100002017-02-0717:53:56287080PEDESTAL_287080NOOK
641287079PEDESTAL20002017-02-0717:51:14287079PEDESTAL_287079NOOK
642287045PEDESTAL20002017-02-0623:10:40287045PEDESTAL_287045NOOK
643287044PEDESTAL20002017-02-0623:00:02287044PEDESTAL_287044NOOK
644287032PEDESTAL20002017-02-0621:54:27287032PEDESTAL_287032NOOK
645286992PEDESTAL20002017-02-0513:25:31286992PEDESTAL_286992NOOK
646286990PEDESTAL20002017-02-0512:07:48286990PEDESTAL_286990NOOK
647286928PEDESTAL20002017-02-0311:53:40286928PEDESTAL_286928NOOK
648286927PEDESTAL50002017-02-0309:55:46286927PEDESTAL_286927NOOK
649286763PEDESTAL20002017-01-2714:57:42225529PEDESTAL_286763NOOK
650286762PEDESTAL20002017-01-2714:14:05225529PEDESTAL_286762NOOK
651286761PEDESTAL20002017-01-2712:57:08225529PEDESTAL_286761NOOK
652286752PEDESTAL20002017-01-2709:06:18225529PEDESTAL_286752NOOK
653286735PEDESTAL20002017-01-2616:00:53225529PEDESTAL_286735NOOK
654286693PEDESTAL20002017-01-2010:50:19225529PEDESTAL_286693NOOK
655286692PEDESTAL20002017-01-2010:36:19225529PEDESTAL_286692NOOK
656286681PEDESTAL20002017-01-1913:31:31225529PEDESTAL_286681NOOK
657286672PEDESTAL20002017-01-1814:53:59225529PEDESTAL_286672NOOK
658286665PEDESTAL20002017-01-1809:30:27225529PEDESTAL_286665NOOK
659286394PEDESTAL20002016-12-0210:18:41225529PEDESTAL_286394NOOK
660286184PEDESTAL20002016-11-3008:24:23225529PEDESTAL_286184NOOK
661285434PEDESTAL20002016-11-1714:38:33225529PEDESTAL_285434NOOK
662285421PEDESTAL20002016-11-1713:20:29225529PEDESTAL_285421NOOK
663285347PEDESTAL20002016-11-1517:04:49225529PEDESTAL_285347NOOK
664285222PEDESTAL20002016-11-1319:35:42225529PEDESTAL_285222NOOK
665285191PEDESTAL20002016-11-1116:51:23225529PEDESTAL_285191NOOK
666285094PEDESTAL20002016-11-1015:57:55225529PEDESTAL_285094NOOK
667285031PEDESTAL20002016-11-0918:31:19225529PEDESTAL_285031NOOK
668285028PEDESTAL20002016-11-0917:59:48225529PEDESTAL_285028NOOK
669285027PEDESTAL20002016-11-0917:43:02225529PEDESTAL_285027NOOK
670285017PEDESTAL20002016-11-0915:50:22225529PEDESTAL_285017NOOK
671285014PEDESTAL20002016-11-0915:13:14225529PEDESTAL_285014NOOK
672284876PEDESTAL20002016-11-0809:23:26225529PEDESTAL_284876NOOK
673284828PEDESTAL20002016-11-0717:29:06225529PEDESTAL_284828NOOK
674284566PEDESTAL20002016-11-0413:41:46225529PEDESTAL_284566NOOK
675284361PEDESTAL20002016-11-0113:33:22225529PEDESTAL_284361NOOK
676284337PEDESTAL20002016-11-0112:28:20225529PEDESTAL_284337NOOK
677284327PEDESTAL20002016-11-0110:33:35225529PEDESTAL_284327NOOK
678284318PEDESTAL20002016-11-0109:48:20225529PEDESTAL_284318NOOK
679284283PEDESTAL20002016-10-3118:26:15225529PEDESTAL_284283NOOK
680284264PEDESTAL20002016-10-3114:07:19225529PEDESTAL_284264NOOK
681284263PEDESTAL20002016-10-3114:00:29225529PEDESTAL_284263NOOK
682284249PEDESTAL20002016-10-3111:51:30225529PEDESTAL_284249NOOK
683284187PEDESTAL20002016-10-2908:18:42225529PEDESTAL_284187NOOK
684284183PEDESTAL20002016-10-2907:54:34225529PEDESTAL_284183NOOK
685284171PEDESTAL20002016-10-2817:01:12225529PEDESTAL_284171NOOK
686284123PEDESTAL20002016-10-2808:30:43225529PEDESTAL_284123NOOK
687283925PEDESTAL20002016-10-2416:55:33225529PEDESTAL_283925NOOK
688283848PEDESTAL20002016-10-2213:07:35225529PEDESTAL_283848NOOK
689283846PEDESTAL20002016-10-2213:06:15225529PEDESTAL_283846NOOK
690283807PEDESTAL20002016-10-2117:16:10225529PEDESTAL_283807NOOK
691283798PEDESTAL20002016-10-2116:50:43225529PEDESTAL_283798NOOK
692283540PEDESTAL20002016-10-1915:41:34225529PEDESTAL_283540NOOK
693283439PEDESTAL20002016-10-1817:01:28225529PEDESTAL_283439NOOK
694283397PEDESTAL20002016-10-1719:55:56225529PEDESTAL_283397NOOK
695283361PEDESTAL20002016-10-1710:51:33225529PEDESTAL_283361NOOK
696283321PEDESTAL20002016-10-1612:44:58225529PEDESTAL_283321NOOK
697283295PEDESTAL20002016-10-1518:29:57225529PEDESTAL_283295NOOK
698283134PEDESTAL20002016-10-1317:55:02225529PEDESTAL_283134NOOK
699283109PEDESTAL20002016-10-1316:16:26225529PEDESTAL_283109NOOK
700283029PEDESTAL20002016-10-1217:33:39225529PEDESTAL_283029NOOK
701283009PEDESTAL20002016-10-1214:17:53225529PEDESTAL_283009NOOK
702282927PEDESTAL20002016-10-1208:09:32225529PEDESTAL_282927NOOK
703282846PEDESTAL20002016-10-1111:25:10225529PEDESTAL_282846NOOK
704282772PEDESTAL20002016-10-1010:19:51225529PEDESTAL_282772NOOK
705282550PEDESTAL20002016-10-0715:15:41225529PEDESTAL_282550NOOK
706282359PEDESTAL20002016-10-0516:31:52225529PEDESTAL_282359NOOK
707282354PEDESTAL20002016-10-0516:01:00225529PEDESTAL_282354NOOK
708282314PEDESTAL20002016-10-0512:30:17225529PEDESTAL_282314NOOK
709282240PEDESTAL20002016-10-0414:18:17225529PEDESTAL_282240NOOK
710282160PEDESTAL20002016-10-0317:30:07225529PEDESTAL_282160NOOK
711282040PEDESTAL20002016-10-0111:00:46225529PEDESTAL_282040NOOK
712281961PEDESTAL20002016-09-2917:24:12225529PEDESTAL_281961NOOK
713281953PEDESTAL20002016-09-2916:40:43225529PEDESTAL_281953NOOK
714281945PEDESTAL20002016-09-2916:13:58225529PEDESTAL_281945NOOK
715281934PEDESTAL20002016-09-2915:50:49225529PEDESTAL_281934NOOK
716281909PEDESTAL20002016-09-2913:42:03225529PEDESTAL_281909NOOK
717281901PEDESTAL20002016-09-2913:05:20225529PEDESTAL_281901NOOK
718280673PEDESTAL20002016-09-1416:02:15225529PEDESTAL_280673NOOK
719280670PEDESTAL20002016-09-1415:50:44225529PEDESTAL_280670NOOK
720277811PEDESTAL20002016-07-3010:25:54225529PEDESTAL_277811NOOK
721277744PEDESTAL20002016-07-2912:49:53225529PEDESTAL_277744NOOK
722277663PEDESTAL20002016-07-2908:06:06225529PEDESTAL_277663NOOK
723277558PEDESTAL20002016-07-2811:09:05225529PEDESTAL_277558NOOK
724277497PEDESTAL20002016-07-2715:36:48225529PEDESTAL_277497NOOK
725277485PEDESTAL20002016-07-2715:10:14225529PEDESTAL_277485NOOK
726277324PEDESTAL20002016-07-2508:30:09225529PEDESTAL_277324NOOK
727277171PEDESTAL20002016-07-2311:15:05225529PEDESTAL_277171NOOK
728277131PEDESTAL20002016-07-2207:55:16225529PEDESTAL_277131NOOK
729277043PEDESTAL20002016-07-1911:59:08225529PEDESTAL_277043NOOK
730276854PEDESTAL20002016-07-1608:34:14225529PEDESTAL_276854NOOK
731276759PEDESTAL20002016-07-1218:00:07225529PEDESTAL_276759NOOK
732276677PEDESTAL20002016-07-1213:32:25225529PEDESTAL_276677NOOK
733276599PEDESTAL20002016-07-1112:13:33225529PEDESTAL_276599NOOK
734276553PEDESTAL20002016-07-1007:06:54225529PEDESTAL_276553NOOK
735276534PEDESTAL20002016-07-0913:25:15225529PEDESTAL_276534NOOK
736276530PEDESTAL20002016-07-0912:53:13225529PEDESTAL_276530NOOK
737276517PEDESTAL20002016-07-0812:23:42225529PEDESTAL_276517NOOK
738276475PEDESTAL20002016-07-0708:23:31225529PEDESTAL_276475NOOK
739276466PEDESTAL20002016-07-0707:11:56225529PEDESTAL_276466NOOK
740276460PEDESTAL20002016-07-0706:05:59225529PEDESTAL_276460NOOK
741276414PEDESTAL20002016-07-0522:04:03225529PEDESTAL_276414NOOK
742276411PEDESTAL20002016-07-0522:02:13225529PEDESTAL_276411NOOK
743276408PEDESTAL20002016-07-0522:00:12225529PEDESTAL_276408NOOK
744276340PEDESTAL20002016-07-0419:26:49225529PEDESTAL_276340NOOK
745276304PEDESTAL20002016-07-0409:36:41225529PEDESTAL_276304NOOK
746276080PEDESTAL20002016-06-3022:20:21225529PEDESTAL_276080NOOK
747276029PEDESTAL20002016-06-3013:20:08225529PEDESTAL_276029NOOK
748275856PEDESTAL20002016-06-2805:53:43225529PEDESTAL_275856NOOK
749275806PEDESTAL20002016-06-2610:34:13225529PEDESTAL_275806NOOK
750275696PEDESTAL20002016-06-2417:48:09225529PEDESTAL_275696NOOK
751275638PEDESTAL20002016-06-2315:45:41225529PEDESTAL_275638NOOK
752275530PEDESTAL20002016-06-2212:09:01225529PEDESTAL_275530NOOK
753275513PEDESTAL20002016-06-2210:28:16225529PEDESTAL_275513NOOK
754275508PEDESTAL20002016-06-2210:04:01225529PEDESTAL_275508NOOK
755275455PEDESTAL20002016-06-2114:17:00225529PEDESTAL_275455NOOK
756275350PEDESTAL20002016-06-1912:54:36225529PEDESTAL_275350NOOK
757275264PEDESTAL20002016-06-1618:55:01225529PEDESTAL_275264NOOK
758275249PEDESTAL20002016-06-1617:08:57225529PEDESTAL_275249NOOK
759275193PEDESTAL20002016-06-1612:50:21225529PEDESTAL_275193NOOK
760275160PEDESTAL20002016-06-1609:17:02225529PEDESTAL_275160NOOK
761275012PEDESTAL20002016-06-1408:20:47225529PEDESTAL_275012NOOK
762274750PEDESTAL20002016-06-0818:17:04225529PEDESTAL_274750NOOK
763274127PEDESTAL20002016-05-2715:58:17225529PEDESTAL_274127NOOK
764273958PEDESTAL20002016-05-2512:26:16225529PEDESTAL_273958NOOK
765273957PEDESTAL20002016-05-2512:24:41225529PEDESTAL_273957NOOK
766273954PEDESTAL20002016-05-2511:45:31225529PEDESTAL_273954NOOK
767273893PEDESTAL20002016-05-2414:00:07225529PEDESTAL_273893NOOK
768273892PEDESTAL20002016-05-2413:44:28225529PEDESTAL_273892NOOK
769273818PEDESTAL20002016-05-2316:41:53225529PEDESTAL_273818NOOK
770273801PEDESTAL100002016-05-2315:12:16225529PEDESTAL_273801NOOK
771273795PEDESTAL5002016-05-2314:40:02225529PEDESTAL_273795NOOK
772273793PEDESTAL5002016-05-2314:33:07225529PEDESTAL_273793NOOK
773273761PEDESTAL20002016-05-2309:39:41225529PEDESTAL_273761NOOK
774273685PEDESTAL20002016-05-1916:58:57225529PEDESTAL_273685NOOK
775273683PEDESTAL20002016-05-1916:46:18225529PEDESTAL_273683NOOK
776273682PEDESTAL20002016-05-1916:35:17225529PEDESTAL_273682NOOK
777273679PEDESTAL20002016-05-1916:08:13225529PEDESTAL_273679NOOK
778273676PEDESTAL20002016-05-1915:50:34225529PEDESTAL_273676NOOK
779273675PEDESTAL20002016-05-1915:44:23225529PEDESTAL_273675NOOK
780273673PEDESTAL20002016-05-1915:34:20225529PEDESTAL_273673NOOK
781273662PEDESTAL20002016-05-1914:40:02225529PEDESTAL_273662NOOK
782273646PEDESTAL50002016-05-1913:12:10225529PEDESTAL_273646NOOK
783273619PEDESTAL20002016-05-1911:08:51225529PEDESTAL_273619NOOK
784273603PEDESTAL20002016-05-1909:09:48225529PEDESTAL_273603NOOK
785273557PEDESTAL20002016-05-1809:22:07225529PEDESTAL_273557NOOK
786273470PEDESTAL20002016-05-1510:48:20225529PEDESTAL_273470NOOK
787273454PEDESTAL20002016-05-1508:56:17225529PEDESTAL_273454NOOK
788273378PEDESTAL20002016-05-1315:10:07225529PEDESTAL_273378NOOK
789273237PEDESTAL20002016-05-1214:20:29225529PEDESTAL_273237NOOK
790272999PEDESTAL20002016-05-1015:10:45225529PEDESTAL_272999NOOK
791272998PEDESTAL20002016-05-1015:09:25225529PEDESTAL_272998NOOK
792272944PEDESTAL20002016-05-1008:54:25225529PEDESTAL_272944NOOK
793272859PEDESTAL20002016-05-0912:29:14225529PEDESTAL_272859NOOK
794272857PEDESTAL20002016-05-0912:06:32225529PEDESTAL_272857NOOK
795272846PEDESTAL20002016-05-0909:43:40225529PEDESTAL_272846DetDiag_272846OK
796272582PEDESTAL20002016-05-0513:33:27225529PEDESTAL_272582NOOK
797272581PEDESTAL20002016-05-0513:32:21225529PEDESTAL_272581NOOK
798272541PEDESTAL20002016-05-0418:30:32225529PEDESTAL_272541NOOK
799272508PEDESTAL20002016-05-0415:24:55225529PEDESTAL_272508NOOK
800272482PEDESTAL20002016-05-0412:35:56225529PEDESTAL_272482NOOK
801272252PEDESTAL20002016-05-0308:23:53225529PEDESTAL_272252NOOK
802272157PEDESTAL20002016-05-0208:07:48225529PEDESTAL_272157NOOK
803272084PEDESTAL20002016-04-3017:53:43225529PEDESTAL_272084NOOK
804272083PEDESTAL20002016-04-3017:11:54225529PEDESTAL_272083NOOK
805272075PEDESTAL20002016-04-3015:40:31225529PEDESTAL_272075NOOK
806272064PEDESTAL20002016-04-2920:30:21225529PEDESTAL_272064NOOK
807272063PEDESTAL20002016-04-2919:56:02225529PEDESTAL_272063NOOK
808272050PEDESTAL20002016-04-2913:21:13225529PEDESTAL_272050NOOK
809272046PEDESTAL20002016-04-2911:03:01225529PEDESTAL_272046NOOK
810271989PEDESTAL20002016-04-2818:09:02225529PEDESTAL_271989NOOK
811271892PEDESTAL100002016-04-2812:12:36225529PEDESTAL_271892NOOK
812271883PEDESTAL200002016-04-2811:55:03225529PEDESTAL_271883NOOK
813271864PEDESTAL50002016-04-2811:04:19225529PEDESTAL_271864NOOK
814271862PEDESTAL50002016-04-2810:47:57225529PEDESTAL_271862NOOK
815271841PEDESTAL20002016-04-2808:34:50225529PEDESTAL_271841NOOK
816271769PEDESTAL20002016-04-2718:00:43225529PEDESTAL_271769NOOK
817271750PEDESTAL20002016-04-2716:40:43225529PEDESTAL_271750DetDiag_271750OK
818271744PEDESTAL20002016-04-2716:30:26225529PEDESTAL_271744DetDiag_271744OK
819271740PEDESTAL20002016-04-2716:18:21225529PEDESTAL_271740DetDiag_271740OK
820271733PEDESTAL20002016-04-2716:14:14225529PEDESTAL_271733DetDiag_271733OK
821271710PEDESTAL20002016-04-2714:20:19225529PEDESTAL_271710DetDiag_271710OK
822271702PEDESTAL20002016-04-2713:53:30225529PEDESTAL_271702DetDiag_271702OK
823271527PEDESTAL20002016-04-2614:21:48225529PEDESTAL_271527DetDiag_271527OK
824271463PEDESTAL20002016-04-2608:25:49225529PEDESTAL_271463DetDiag_271463OK
825271292PEDESTAL20002016-04-2419:09:48225529PEDESTAL_271292DetDiag_271292OK
826271246PEDESTAL20000002016-04-2413:54:08225529PEDESTAL_271246DetDiag_271246OK
827271237PEDESTAL20002016-04-2413:06:32225529PEDESTAL_271237DetDiag_271237OK
828271164PEDESTAL20002016-04-2318:48:00225529PEDESTAL_271164DetDiag_271164OK
829271162PEDESTAL20002016-04-2318:41:21225529PEDESTAL_271162DetDiag_271162OK
830271137PEDESTAL20002016-04-2312:04:41225529PEDESTAL_271137DetDiag_271137OK
831270966PEDESTAL20002016-04-2211:01:41225529PEDESTAL_270966DetDiag_270966OK
832270819PEDESTAL20002016-04-2117:33:36225529PEDESTAL_270819DetDiag_270819OK
833270760PEDESTAL20002016-04-2116:20:35225529PEDESTAL_270760DetDiag_270760OK
834270640PEDESTAL20002016-04-2022:21:29225529PEDESTAL_270640DetDiag_270640OK
835270620PEDESTAL20002016-04-2021:00:46225529PEDESTAL_270620DetDiag_270620OK
836270463PEDESTAL20002016-04-2012:11:38225529PEDESTAL_270463DetDiag_270463OK
837270330PEDESTAL10002016-04-1915:15:49225529PEDESTAL_270330DetDiag_270330OK
838270329PEDESTAL10002016-04-1915:09:02225529PEDESTAL_270329DetDiag_270329OK
839270327PEDESTAL20002016-04-1915:04:01225529PEDESTAL_270327DetDiag_270327OK
840270325PEDESTAL20002016-04-1914:58:22225529PEDESTAL_270325DetDiag_270325OK
841270264PEDESTAL20002016-04-1909:35:17225529PEDESTAL_270264DetDiag_270264OK
842270263PEDESTAL20002016-04-1909:34:01225529PEDESTAL_270263DetDiag_270263OK
843270213PEDESTAL20002016-04-1822:21:43225529PEDESTAL_270213DetDiag_270213OK
844270212PEDESTAL20002016-04-1822:20:42225529PEDESTAL_270212DetDiag_270212OK
845270211PEDESTAL20002016-04-1822:11:58225529PEDESTAL_270211DetDiag_270211OK
846270124PEDESTAL20002016-04-1813:00:32225529PEDESTAL_270124DetDiag_270124OK
847270123PEDESTAL20002016-04-1812:59:21225529PEDESTAL_270123DetDiag_270123OK
848270116PEDESTAL20002016-04-1812:46:03225529PEDESTAL_270116DetDiag_270116OK
849270100PEDESTAL20002016-04-1810:43:21225529PEDESTAL_270100DetDiag_270100OK
850270089PEDESTAL20002016-04-1809:55:08225529PEDESTAL_270089DetDiag_270089OK
851269953PEDESTAL20002016-04-1421:43:43225529PEDESTAL_269953DetDiag_269953OK
852269952PEDESTAL20002016-04-1421:41:13225529PEDESTAL_269952DetDiag_269952OK
853269945PEDESTAL20002016-04-1420:51:05225529PEDESTAL_269945DetDiag_269945OK
854269944PEDESTAL20002016-04-1420:49:39225529PEDESTAL_269944DetDiag_269944OK
855269912PEDESTAL5002016-04-1416:54:45225529PEDESTAL_269912DetDiag_269912OK
856269890PEDESTAL20002016-04-1415:26:50225529PEDESTAL_269890DetDiag_269890OK
857269836PEDESTAL20002016-04-1408:58:30225529PEDESTAL_269836DetDiag_269836OK
858269831PEDESTAL20002016-04-1408:49:09225529PEDESTAL_269831DetDiag_269831OK
859269776PEDESTAL5002016-04-1318:02:31225529PEDESTAL_269776DetDiag_269776OK
860269775PEDESTAL5002016-04-1318:02:06225529PEDESTAL_269775DetDiag_269775OK
861269760PEDESTAL5002016-04-1316:05:06225529PEDESTAL_269760DetDiag_269760OK
862269759PEDESTAL5002016-04-1316:04:41225529PEDESTAL_269759DetDiag_269759OK
863269754PEDESTAL5002016-04-1315:52:08225529PEDESTAL_269754DetDiag_269754OK
864269705PEDESTAL20002016-04-1314:34:10225529PEDESTAL_269705DetDiag_269705OK
865269698PEDESTAL20002016-04-1314:08:20225529PEDESTAL_269698DetDiag_269698OK
866269693PEDESTAL20002016-04-1313:42:26225529PEDESTAL_269693DetDiag_269693OK
867269636PEDESTAL20002016-04-1309:40:55225529PEDESTAL_269636DetDiag_269636OK
868269602PEDESTAL5002016-04-1302:46:22225529PEDESTAL_269602DetDiag_269602OK
869269601PEDESTAL20002016-04-1302:45:44225529PEDESTAL_269601DetDiag_269601OK
870269528PEDESTAL20002016-04-1218:05:19225529PEDESTAL_269528DetDiag_269528OK
871269525PEDESTAL20002016-04-1217:59:42225529PEDESTAL_269525DetDiag_269525OK
872269524PEDESTAL20002016-04-1217:57:28225529PEDESTAL_269524DetDiag_269524OK
873269491PEDESTAL50002016-04-1215:24:14225529PEDESTAL_269491DetDiag_269491OK
874269488PEDESTAL50002016-04-1215:19:26225529PEDESTAL_269488DetDiag_269488OK
875269487PEDESTAL5002016-04-1215:17:10225529PEDESTAL_269487DetDiag_269487OK
876269486PEDESTAL5002016-04-1215:16:15225529PEDESTAL_269486DetDiag_269486OK
877269485PEDESTAL5002016-04-1215:15:40225529PEDESTAL_269485DetDiag_269485OK
878269313PEDESTAL5002016-04-1118:45:02225529PEDESTAL_269313DetDiag_269313OK
879269312PEDESTAL5002016-04-1118:43:27225529PEDESTAL_269312DetDiag_269312OK
880269311PEDESTAL5002016-04-1118:41:42225529PEDESTAL_269311DetDiag_269311OK
881269246PEDESTAL50002016-04-1113:15:00225529PEDESTAL_269246DetDiag_269246OK
882269241PEDESTAL50002016-04-1112:47:50225529PEDESTAL_269241DetDiag_269241OK
883269240PEDESTAL20002016-04-1112:40:41225529PEDESTAL_269240DetDiag_269240OK
884269238PEDESTAL20002016-04-1112:36:55225529PEDESTAL_269238DetDiag_269238OK
885269235PEDESTAL20002016-04-1112:20:35225529PEDESTAL_269235DetDiag_269235OK
886269153PEDESTAL20002016-04-1021:34:18225529PEDESTAL_269153DetDiag_269153OK
887269151PEDESTAL20002016-04-1021:21:31225529PEDESTAL_269151DetDiag_269151OK
888269123PEDESTAL20002016-04-1019:28:25225529PEDESTAL_269123DetDiag_269123OK
889269110PEDESTAL20002016-04-1018:43:47225529PEDESTAL_269110DetDiag_269110OK
890268916PEDESTAL5002016-04-0812:21:41225529PEDESTAL_268916DetDiag_268916OK
891268915PEDESTAL5002016-04-0812:20:20225529PEDESTAL_268915DetDiag_268915OK
892268914PEDESTAL5002016-04-0812:19:50225529PEDESTAL_268914DetDiag_268914OK
893268902PEDESTAL5002016-04-0810:32:47225529PEDESTAL_268902DetDiag_268902OK
894268901PEDESTAL5002016-04-0810:28:27225529PEDESTAL_268901DetDiag_268901OK
895268900PEDESTAL5002016-04-0810:27:27225529PEDESTAL_268900DetDiag_268900OK
896268896PEDESTAL50002016-04-0810:16:36225529PEDESTAL_268896DetDiag_268896OK
897268888PEDESTAL20002016-04-0809:29:18225529PEDESTAL_268888DetDiag_268888OK
898268887PEDESTAL20002016-04-0809:28:12225529PEDESTAL_268887DetDiag_268887OK
899268860PEDESTAL20002016-04-0801:00:01225529PEDESTAL_268860DetDiag_268860OK
900268846PEDESTAL20002016-04-0721:51:09225529PEDESTAL_268846DetDiag_268846OK
901268840PEDESTAL20002016-04-0721:34:31225529PEDESTAL_268840DetDiag_268840OK
902268662PEDESTAL20002016-04-0619:56:05225529PEDESTAL_268662DetDiag_268662OK
903268661PEDESTAL20002016-04-0619:53:19225529PEDESTAL_268661DetDiag_268661OK
904268658PEDESTAL20002016-04-0619:47:14225529PEDESTAL_268658DetDiag_268658OK
905268657PEDESTAL20002016-04-0619:40:38225529PEDESTAL_268657DetDiag_268657OK
906268653PEDESTAL20002016-04-0619:07:59225529PEDESTAL_268653DetDiag_268653OK
907268587PEDESTAL20002016-04-0611:14:32225529PEDESTAL_268587DetDiag_268587OK
908268566PEDESTAL20002016-04-0608:34:46225529PEDESTAL_268566DetDiag_268566OK
909268553PEDESTAL20002016-04-0522:00:10225529PEDESTAL_268553DetDiag_268553OK
910268552PEDESTAL20002016-04-0521:58:49225529PEDESTAL_268552DetDiag_268552OK
911268544PEDESTAL20002016-04-0521:20:10225529PEDESTAL_268544DetDiag_268544OK
912268534PEDESTAL20002016-04-0517:50:38225529PEDESTAL_268534DetDiag_268534OK
913268507PEDESTAL20002016-04-0514:14:52225529PEDESTAL_268507DetDiag_268507OK
914268506PEDESTAL20002016-04-0514:09:01225529PEDESTAL_268506DetDiag_268506OK
915268505PEDESTAL20002016-04-0513:08:19225529PEDESTAL_268505DetDiag_268505OK
916268467PEDESTAL20002016-04-0508:19:23225529PEDESTAL_268467DetDiag_268467OK
917268441PEDESTAL20002016-04-0418:46:09225529PEDESTAL_268441DetDiag_268441OK
918268437PEDESTAL20002016-04-0417:06:32225529PEDESTAL_268437DetDiag_268437OK
919268425PEDESTAL20002016-04-0416:20:07225529PEDESTAL_268425DetDiag_268425OK
920268418PEDESTAL20002016-04-0415:34:16225529PEDESTAL_268418DetDiag_268418OK
921268416PEDESTAL20002016-04-0414:57:50225529PEDESTAL_268416DetDiag_268416OK
922268384PEDESTAL20002016-04-0409:51:52225529PEDESTAL_268384DetDiag_268384OK
923268381PEDESTAL20002016-04-0409:34:45225529PEDESTAL_268381DetDiag_268381OK
924268367PEDESTAL20002016-04-0407:54:32225529PEDESTAL_268367DetDiag_268367OK
925268337PEDESTAL20002016-04-0218:15:44225529PEDESTAL_268337DetDiag_268337OK
926268336PEDESTAL20002016-04-0217:58:57225529PEDESTAL_268336DetDiag_268336OK
927268333PEDESTAL20002016-04-0213:18:18225529PEDESTAL_268333DetDiag_268333OK
928268327PEDESTAL20002016-04-0210:13:36225529PEDESTAL_268327DetDiag_268327OK
929268324PEDESTAL20002016-04-0123:53:37225529PEDESTAL_268324DetDiag_268324OK
930268317PEDESTAL20002016-04-0120:42:41225529PEDESTAL_268317DetDiag_268317OK
931268269PEDESTAL20002016-04-0113:28:06225529PEDESTAL_268269DetDiag_268269OK
932268248PEDESTAL20002016-04-0110:42:01225529PEDESTAL_268248DetDiag_268248OK
933268241PEDESTAL20002016-04-0109:53:02225529PEDESTAL_268241DetDiag_268241OK
934268238PEDESTAL20002016-04-0109:32:16225529PEDESTAL_268238DetDiag_268238OK
935268237PEDESTAL20002016-04-0108:50:42225529PEDESTAL_268237DetDiag_268237OK
936268233PEDESTAL20002016-03-3123:59:43225529PEDESTAL_268233DetDiag_268233OK
937268232PEDESTAL20002016-03-3123:57:52225529PEDESTAL_268232DetDiag_268232OK
938268168PEDESTAL20002016-03-3112:19:44225529PEDESTAL_268168DetDiag_268168OK
939268167PEDESTAL20002016-03-3112:17:58225529PEDESTAL_268167DetDiag_268167OK
940268163PEDESTAL20002016-03-3111:35:20225529PEDESTAL_268163DetDiag_268163OK
941268161PEDESTAL20002016-03-3111:22:46225529PEDESTAL_268161DetDiag_268161OK
942268155PEDESTAL20002016-03-3110:46:53225529PEDESTAL_268155DetDiag_268155OK
943268150PEDESTAL20002016-03-3108:41:15225529PEDESTAL_268150DetDiag_268150OK
944268147PEDESTAL50002016-03-3023:25:15225529PEDESTAL_268147DetDiag_268147OK
945268139PEDESTAL5002016-03-3021:42:53225529PEDESTAL_268139DetDiag_268139OK
946268129PEDESTAL20002016-03-3017:33:07225529PEDESTAL_268129DetDiag_268129OK
947268121PEDESTAL20002016-03-3016:26:26225529PEDESTAL_268121DetDiag_268121OK
948268119PEDESTAL20002016-03-3016:14:52225529PEDESTAL_268119DetDiag_268119OK
949268117PEDESTAL10002016-03-3015:58:06225529PEDESTAL_268117DetDiag_268117OK
950267893PEDESTAL20002016-03-2417:21:29225529PEDESTAL_267893DetDiag_267893OK
951267883PEDESTAL20002016-03-2416:48:20225529PEDESTAL_267883DetDiag_267883OK
952267880PEDESTAL20002016-03-2416:27:56225529PEDESTAL_267880DetDiag_267880OK
953267875PEDESTAL20002016-03-2416:17:10225529PEDESTAL_267875DetDiag_267875OK
954267864PEDESTAL20002016-03-2416:00:01225529PEDESTAL_267864DetDiag_267864OK
955267863PEDESTAL20002016-03-2415:59:06225529PEDESTAL_267863DetDiag_267863OK
956267861PEDESTAL20002016-03-2415:44:19225529PEDESTAL_267861DetDiag_267861OK
957267856PEDESTAL20002016-03-2415:35:36225529PEDESTAL_267856DetDiag_267856OK
958267854PEDESTAL20002016-03-2415:31:44225529PEDESTAL_267854DetDiag_267854OK
959267852PEDESTAL20002016-03-2415:28:58225529PEDESTAL_267852DetDiag_267852OK
960267693PEDESTAL5002016-03-2314:40:13225529PEDESTAL_267693DetDiag_267693OK
961267691PEDESTAL20002016-03-2314:38:53225529PEDESTAL_267691DetDiag_267691OK
962267675PEDESTAL10002016-03-2313:15:09225529PEDESTAL_267675DetDiag_267675OK
963267674PEDESTAL10002016-03-2313:14:14225529PEDESTAL_267674DetDiag_267674OK
964267668PEDESTAL10002016-03-2312:53:58225529PEDESTAL_267668DetDiag_267668OK
965267395PEDESTAL20002016-03-2210:27:09225529PEDESTAL_267395DetDiag_267395OK
966263891PEDESTAL20002016-01-2609:46:45225529PEDESTAL_263891DetDiag_263891OK
967263812PEDESTAL20002015-12-1518:13:16225529PEDESTAL_263812DetDiag_263812OK
968263798PEDESTAL20002015-12-1409:33:22225529PEDESTAL_263798DetDiag_263798OK
969263790PEDESTAL20002015-12-1409:01:32225529PEDESTAL_263790DetDiag_263790OK
970263767PEDESTAL20002015-12-1315:39:44225529PEDESTAL_263767DetDiag_263767OK
971263731PEDESTAL20002015-12-1216:05:51225529PEDESTAL_263731DetDiag_263731OK
972263637PEDESTAL20002015-12-1012:25:43225529PEDESTAL_263637DetDiag_263637OK
973263595PEDESTAL20002015-12-0915:16:45225529PEDESTAL_263595DetDiag_263595OK
974263465PEDESTAL20002015-12-0717:14:35225529PEDESTAL_263465DetDiag_263465OK
975263462PEDESTAL20002015-12-0716:44:53225529PEDESTAL_263462DetDiag_263462OK
976263452PEDESTAL10002015-12-0716:00:09225529PEDESTAL_263452DetDiag_263452OK
977263245PEDESTAL10002015-12-0318:49:16225529PEDESTAL_263245DetDiag_263245OK
978263183PEDESTAL20002015-12-0221:25:56225529PEDESTAL_263183DetDiag_263183OK
979263179PEDESTAL20002015-12-0221:09:23225529PEDESTAL_263179DetDiag_263179OK
980263128PEDESTAL20002015-12-0212:46:08225529PEDESTAL_263128DetDiag_263128OK
981262665PEDESTAL20002015-11-2610:51:33225529PEDESTAL_262665DetDiag_262665OK
982262384PEDESTAL20002015-11-2314:47:01225529PEDESTAL_262384DetDiag_262384OK
983262042PEDESTAL20002015-11-1909:15:04225529PEDESTAL_262042DetDiag_262042OK
984261715PEDESTAL20002015-11-1714:21:01225529PEDESTAL_261715DetDiag_261715OK
985261359PEDESTAL20002015-11-1416:09:41225529PEDESTAL_261359DetDiag_261359OK
986261357PEDESTAL20002015-11-1415:57:26225529PEDESTAL_261357DetDiag_261357OK
987261350PEDESTAL10002015-11-1413:57:58225529PEDESTAL_261350DetDiag_261350OK
988261346PEDESTAL20002015-11-1413:12:14225529PEDESTAL_261346DetDiag_261346OK
989261345PEDESTAL10002015-11-1412:31:53225529PEDESTAL_261345DetDiag_261345OK
990261120PEDESTAL20002015-11-1119:30:30225529PEDESTAL_261120DetDiag_261120OK
991261077PEDESTAL20002015-11-1111:13:08225529PEDESTAL_261077DetDiag_261077OK
992261048PEDESTAL20002015-11-1018:19:40225529PEDESTAL_261048DetDiag_261048OK
993260997PEDESTAL20002015-11-1010:26:32225529PEDESTAL_260997DetDiag_260997OK
994260928PEDESTAL20002015-11-0909:21:43225529PEDESTAL_260928DetDiag_260928OK
995260913PEDESTAL20002015-11-0816:23:18225529PEDESTAL_260913DetDiag_260913OK
996260911PEDESTAL20002015-11-0815:34:00225529PEDESTAL_260911DetDiag_260911OK
997260836PEDESTAL20002015-11-0608:26:50225529PEDESTAL_260836DetDiag_260836OK
998260781PEDESTAL20002015-11-0507:56:19225529PEDESTAL_260781DetDiag_260781OK
999260762PEDESTAL20002015-11-0416:04:40225529PEDESTAL_260762DetDiag_260762OK
1000260751PEDESTAL20002015-11-0414:25:38225529PEDESTAL_260751DetDiag_260751OK
1001260741PEDESTAL20002015-11-0412:16:08225529PEDESTAL_260741DetDiag_260741OK
1002260739PEDESTAL20002015-11-0410:50:26225529PEDESTAL_260739DetDiag_260739OK
1003260738PEDESTAL20002015-11-0410:03:34225529PEDESTAL_260738DetDiag_260738OK
1004260706PEDESTAL20002015-11-0321:36:07225529PEDESTAL_260706DetDiag_260706OK
1005260654PEDESTAL20002015-11-0308:33:05225529PEDESTAL_260654DetDiag_260654OK
1006260282PEDESTAL20002015-10-2913:18:25225529PEDESTAL_260282DetDiag_260282OK
1007260086PEDESTAL20002015-10-2720:01:51225529PEDESTAL_260086DetDiag_260086OK
1008259934PEDESTAL20002015-10-2517:25:41225529PEDESTAL_259934DetDiag_259934OK
1009259916PEDESTAL20002015-10-2513:55:07225529PEDESTAL_259916DetDiag_259916OK
1010259778PEDESTAL20002015-10-2214:42:17225529PEDESTAL_259778DetDiag_259778OK
1011259608PEDESTAL20002015-10-1919:51:07225529PEDESTAL_259608DetDiag_259608OK
1012259606PEDESTAL20002015-10-1919:34:18225529PEDESTAL_259606DetDiag_259606OK
1013259603PEDESTAL20002015-10-1919:01:14225529PEDESTAL_259603DetDiag_259603OK
1014259598PEDESTAL20002015-10-1918:39:40225529PEDESTAL_259598DetDiag_259598OK
1015259595PEDESTAL20002015-10-1917:55:21225529PEDESTAL_259595DetDiag_259595OK
1016259418PEDESTAL20002015-10-1800:40:09225529PEDESTAL_259418DetDiag_259418OK
1017259135PEDESTAL20002015-10-1418:56:36225529PEDESTAL_259135DetDiag_259135OK
1018259099PEDESTAL20002015-10-1414:59:16225529PEDESTAL_259099DetDiag_259099OK
1019258911PEDESTAL20002015-10-1313:39:04225529PEDESTAL_258911DetDiag_258911OK
1020258890PEDESTAL20002015-10-1310:49:43225529PEDESTAL_258890DetDiag_258890OK
1021258887PEDESTAL20002015-10-1310:31:38225529PEDESTAL_258887DetDiag_258887OK
1022258803PEDESTAL20002015-10-1215:39:24225529PEDESTAL_258803DetDiag_258803OK
1023258676PEDESTAL10002015-10-0914:25:43225529PEDESTAL_258676DetDiag_258676OK
1024258674PEDESTAL10002015-10-0914:22:42225529PEDESTAL_258674DetDiag_258674OK
1025258598PEDESTAL10002015-10-0817:14:05225529PEDESTAL_258598DetDiag_258598OK
1026258578PEDESTAL10002015-10-0815:36:19225529PEDESTAL_258578DetDiag_258578OK
1027258571PEDESTAL10002015-10-0815:19:03225529PEDESTAL_258571DetDiag_258571OK
1028258531PEDESTAL20002015-10-0812:34:59225529PEDESTAL_258531DetDiag_258531OK
1029258351PEDESTAL20002015-10-0609:24:59225529PEDESTAL_258351DetDiag_258351OK
1030258350PEDESTAL20002015-10-0609:21:41225529PEDESTAL_258350DetDiag_258350OK
1031258095PEDESTAL20002015-10-0119:14:47225529PEDESTAL_258095DetDiag_258095OK
1032258072PEDESTAL20002015-10-0116:01:04225529PEDESTAL_258072DetDiag_258072OK
1033258070PEDESTAL20002015-10-0115:55:42225529PEDESTAL_258070DetDiag_258070OK
1034258067PEDESTAL20002015-10-0115:54:02225529PEDESTAL_258067DetDiag_258067OK
1035258065PEDESTAL20002015-10-0115:43:23225529PEDESTAL_258065DetDiag_258065OK
1036258060PEDESTAL20002015-10-0115:25:21225529PEDESTAL_258060DetDiag_258060OK
1037258015PEDESTAL20002015-10-0110:56:47225529PEDESTAL_258015DetDiag_258015OK
1038257783PEDESTAL20002015-09-2910:34:22225529PEDESTAL_257783DetDiag_257783OK
1039257781PEDESTAL20002015-09-2910:29:58225529PEDESTAL_257781DetDiag_257781OK
1040257637PEDESTAL10002015-09-2717:58:37225529PEDESTAL_257637DetDiag_257637OK
1041257622PEDESTAL10002015-09-2714:17:24225529PEDESTAL_257622DetDiag_257622OK
1042257419PEDESTAL5002015-09-2417:33:10225529PEDESTAL_257419DetDiag_257419OK
1043257189PEDESTAL10002015-09-2216:42:20225529PEDESTAL_257189DetDiag_257189OK
1044257181PEDESTAL10002015-09-2216:12:35225529PEDESTAL_257181DetDiag_257181OK
1045257111PEDESTAL20002015-09-2210:20:54225529PEDESTAL_257111DetDiag_257111OK
1046256898PEDESTAL10002015-09-2011:02:44225529PEDESTAL_256898DetDiag_256898OK
1047256710PEDESTAL20002015-09-1715:44:46225529PEDESTAL_256710DetDiag_256710OK
1048256704PEDESTAL20002015-09-1715:24:16225529PEDESTAL_256704DetDiag_256704OK
1049256680PEDESTAL20002015-09-1713:33:33225529PEDESTAL_256680DetDiag_256680OK
1050256288PEDESTAL200011-09-1507:45:17225529PEDESTAL_256288DetDiag_256288OK
1051255802PEDESTAL200004-09-1513:57:13225529PEDESTAL_255802DetDiag_255802OK
1052255794PEDESTAL200004-09-1513:21:23225529PEDESTAL_255794DetDiag_255794OK
1053255786PEDESTAL200004-09-1512:49:59225529PEDESTAL_255786DetDiag_255786OK
1054255736PEDESTAL100004-09-1510:28:27225529PEDESTAL_255736DetDiag_255736OK
1055255417PEDESTAL100001-09-1515:06:51225529PEDESTAL_255417DetDiag_255417OK
1056254988PEDESTAL50024-08-1522:43:21225529PEDESTAL_254988DetDiag_254988OK
1057254975PEDESTAL200024-08-1516:41:57225529PEDESTAL_254975DetDiag_254975OK
1058254963PEDESTAL200024-08-1515:57:12225529PEDESTAL_254963DetDiag_254963OK
1059254961PEDESTAL200024-08-1515:37:25225529PEDESTAL_254961DetDiag_254961OK
1060254960PEDESTAL200024-08-1515:09:26225529PEDESTAL_254960DetDiag_254960OK
1061254713PEDESTAL200020-08-1511:32:36225529PEDESTAL_254713DetDiag_254713OK
1062254549PEDESTAL200018-08-1511:18:26225529PEDESTAL_254549DetDiag_254549OK
1063254462PEDESTAL200017-08-1509:07:49225529PEDESTAL_254462DetDiag_254462OK
1064253991PEDESTAL200011-08-1509:54:06225529PEDESTAL_253991DetDiag_253991OK
1065253681PEDESTAL200007-08-1513:19:31225529PEDESTAL_253681DetDiag_253681OK
1066253672PEDESTAL200007-08-1512:47:34225529PEDESTAL_253672DetDiag_253672OK
1067253664PEDESTAL100007-08-1512:29:19225529PEDESTAL_253664DetDiag_253664OK
1068253519PEDESTAL200006-08-1512:48:58225529PEDESTAL_253519DetDiag_253519OK
1069253335PEDESTAL100004-08-1513:15:53225529PEDESTAL_253335DetDiag_253335OK
1070253277PEDESTAL200003-08-1514:45:52225529PEDESTAL_253277DetDiag_253277OK
1071253065PEDESTAL100031-07-1512:51:05225529PEDESTAL_253065DetDiag_253065OK
1072253057PEDESTAL200031-07-1512:11:47225529PEDESTAL_253057DetDiag_253057OK
1073253056PEDESTAL50031-07-1512:05:43225529PEDESTAL_253056DetDiag_253056OK
1074252669PEDESTAL200028-07-1510:03:37225529PEDESTAL_252669DetDiag_252669OK
1075252649PEDESTAL200028-07-1508:31:48225529PEDESTAL_252649DetDiag_252649OK
1076252450PEDESTAL200024-07-1513:09:23225529PEDESTAL_252450DetDiag_252450OK
1077252241PEDESTAL200021-07-1514:31:21225529PEDESTAL_252241DetDiag_252241OK
1078252240PEDESTAL200021-07-1514:27:58225529PEDESTAL_252240DetDiag_252240OK
1079252009PEDESTAL100017-07-1514:15:19225529PEDESTAL_252009DetDiag_252009OK
1080252004PEDESTAL100017-07-1513:40:15225529PEDESTAL_252004DetDiag_252004OK
1081251979PEDESTAL200017-07-1510:45:44225529PEDESTAL_251979DetDiag_251979OK
1082251977PEDESTAL200017-07-1509:58:03225529PEDESTAL_251977DetDiag_251977OK
1083251955PEDESTAL100016-07-1522:57:22225529PEDESTAL_251955DetDiag_251955OK
1084251892PEDESTAL200016-07-1508:41:52225529PEDESTAL_251892DetDiag_251892OK
1085251740PEDESTAL200014-07-1513:19:03225529PEDESTAL_251740DetDiag_251740OK
1086251666PEDESTAL200013-07-1514:43:47225529PEDESTAL_251666DetDiag_251666OK
1087251575PEDESTAL200012-07-1511:50:40225529PEDESTAL_251575DetDiag_251575OK
1088251443PEDESTAL100010-07-1508:42:39225529PEDESTAL_251443DetDiag_251443OK
1089251440PEDESTAL100010-07-1508:37:16225529PEDESTAL_251440DetDiag_251440OK
1090251436PEDESTAL200010-07-1508:25:11225529PEDESTAL_251436DetDiag_251436OK
1091251434PEDESTAL200010-07-1508:14:09225529PEDESTAL_251434DetDiag_251434OK
1092251433PEDESTAL200010-07-1508:05:58225529PEDESTAL_251433DetDiag_251433OK
1093251432PEDESTAL200010-07-1508:01:18225529PEDESTAL_251432DetDiag_251432OK
1094251056PEDESTAL100007-07-1510:03:47225529PEDESTAL_251056DetDiag_251056OK
1095251050PEDESTAL100007-07-1508:58:16225529PEDESTAL_251050DetDiag_251050OK
1096251048PEDESTAL100007-07-1508:20:19225529PEDESTAL_251048DetDiag_251048OK
1097251047PEDESTAL100007-07-1508:15:38225529PEDESTAL_251047DetDiag_251047OK
1098251046PEDESTAL100007-07-1507:56:56225529PEDESTAL_251046DetDiag_251046OK
1099250977PEDESTAL200006-07-1516:56:54225529PEDESTAL_250977DetDiag_250977OK
1100250976PEDESTAL200006-07-1516:53:49225529PEDESTAL_250976DetDiag_250976OK
1101250954PEDESTAL200006-07-1510:49:49225529PEDESTAL_250954DetDiag_250954OK
1102250620PEDESTAL100002-07-1515:39:28225529PEDESTAL_250620DetDiag_250620OK
1103250616PEDESTAL100002-07-1515:18:26225529PEDESTAL_250616DetDiag_250616OK
1104250614PEDESTAL100002-07-1515:18:20225529PEDESTAL_250614DetDiag_250614OK
1105250612PEDESTAL100002-07-1514:55:22225529PEDESTAL_250612DetDiag_250612OK
1106250611PEDESTAL100002-07-1514:39:46225529PEDESTAL_250611DetDiag_250611OK
1107250284PEDESTAL100030-06-1512:38:33225529PEDESTAL_250284DetDiag_250284OK
1108250283PEDESTAL100030-06-1512:33:36225529PEDESTAL_250283DetDiag_250283OK
1109250280PEDESTAL100030-06-1512:29:57225529PEDESTAL_250280DetDiag_250280OK
1110250269PEDESTAL100030-06-1510:13:36225529PEDESTAL_250269DetDiag_250269OK
1111250268PEDESTAL100030-06-1510:08:08225529PEDESTAL_250268DetDiag_250268OK
1112249523PEDESTAL100026-06-1517:06:00225529PEDESTAL_249523DetDiag_249523OK
1113249521PEDESTAL100026-06-1516:50:50225529PEDESTAL_249521DetDiag_249521OK
1114249206PEDESTAL200025-06-1516:05:52225529PEDESTAL_249206DetDiag_249206OK
1115248948PEDESTAL100024-06-1514:24:32225529PEDESTAL_248948DetDiag_248948OK
1116248937PEDESTAL100024-06-1513:59:56225529PEDESTAL_248937DetDiag_248937OK
1117248662PEDESTAL200022-06-1514:27:19225529PEDESTAL_248662DetDiag_248662OK
1118248660PEDESTAL200022-06-1514:02:10225529PEDESTAL_248660DetDiag_248660OK
1119248474PEDESTAL200019-06-1513:31:24225529PEDESTAL_248474DetDiag_248474OK
1120248303PEDESTAL100017-06-1515:33:56225529PEDESTAL_248303DetDiag_248303OK
1121248301PEDESTAL100017-06-1515:28:51225529PEDESTAL_248301DetDiag_248301OK
1122248146PEDESTAL200015-06-1518:48:17225529PEDESTAL_248146DetDiag_248146OK
1123248141PEDESTAL200015-06-1518:41:43225529PEDESTAL_248141DetDiag_248141OK
1124246547PEDESTAL100001-06-1519:11:00225529PEDESTAL_246547DetDiag_246547OK
1125246546PEDESTAL100001-06-1518:56:06225529PEDESTAL_246546DetDiag_246546OK
1126246542PEDESTAL100001-06-1518:29:14225529PEDESTAL_246542DetDiag_246542OK
1127246202PEDESTAL100029-05-1514:31:33225529PEDESTAL_246202DetDiag_246202OK
1128245610PEDESTAL100025-05-1511:48:39225529PEDESTAL_245610DetDiag_245610OK
1129245605PEDESTAL100025-05-1510:55:59225529PEDESTAL_245605DetDiag_245605OK
1130245601PEDESTAL100025-05-1510:42:36225529PEDESTAL_245601DetDiag_245601OK
1131245537PEDESTAL100025-05-1509:17:17225529PEDESTAL_245537DetDiag_245537OK
1132245338PEDESTAL100022-05-1515:40:19225529PEDESTAL_245338DetDiag_245338OK
1133244445PEDESTAL100014-05-1510:00:18225529PEDESTAL_244445DetDiag_244445OK
1134244444PEDESTAL100014-05-1509:57:26225529PEDESTAL_244444DetDiag_244444OK
diff --git a/DPGAnalysis/HcalTools/scripts/rmt/interactive_job.csh b/DPGAnalysis/HcalTools/scripts/rmt/interactive_job.csh new file mode 100755 index 0000000000000..30f9b923a9940 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/interactive_job.csh @@ -0,0 +1,51 @@ +#!/bin/csh + +###set DAT="TEST" +###set DAT="2015-10-07_14_50_47" + +cmsenv + +set DAT=TEST + +set ERA=${2} +set RELEASE=${CMSSW_VERSION} + +### Get list of done from RDM webpage ### +set TYPE=${1} +echo ${TYPE} +if( ${TYPE} != "LED" && ${TYPE} != "LASER" && ${TYPE} != "PEDESTAL" ) then +echo "Please check type " ${TYPE} "should be LED or LASER or PEDESTAL" +exit +endif + +set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript" +set SCRIPT=`pwd` +set PYTHON=${CMSSW_BASE}/src/DPGAnalysis/HcalTools/python +echo ${WD} + +#${CMSSW_BASE}/src/DPGAnalysis/HcalTools/scripts/rmt/parce_newsql_aleko.csh ${TYPE} ${DAT} ${ERA} + +#exit +ls ${WD}/${TYPE}_LIST/runlist.tmp.${DAT} +rm ${WD}/${TYPE}_LIST/RUNS_TMP +cat ${WD}/${TYPE}_LIST/runlist.tmp.${DAT} > ${WD}/${TYPE}_LIST/RUNS_TMP + +set jold=194165 +foreach i (`cat ${WD}/${TYPE}_LIST/RUNS_TMP`) +echo "Run" ${i} + +set iold=`echo ${i} | awk -F _ '{print $1}'` +set jold=`echo ${i} | awk -F _ '{print $2}'` +set year=`echo ${i} | awk -F _ '{print $3}' | awk -F - '{print $1}'` +set nevent=`echo ${i} | awk -F _ '{print $5}'` +echo ${iold} ${jold} ${year} ${nevent} +if( ${nevent} != "None" ) then +if( ${nevent} >= "500" && ${nevent} <= "11000") then +echo "Start job " + +${SCRIPT}/HcalRemoteMonitoringNewNewTestInt.csh ${iold} ${DAT} ${jold} ${nevent} ${TYPE} ${ERA} ${RELEASE} ${SCRAM_ARCH} ${PYTHON} + +sleep 1 +endif +endif +end diff --git a/DPGAnalysis/HcalTools/scripts/rmt/move.csh b/DPGAnalysis/HcalTools/scripts/rmt/move.csh new file mode 100755 index 0000000000000..bbd71833e30d7 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/move.csh @@ -0,0 +1,11 @@ +#!/bin/tcsh +foreach i (`cat tmp.list.LED`) +set j=`echo ${i} | awk -F _ '{print $1}'` +foreach jj (`ls /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT/LED_${j} | grep html`) +set k=`basename ${jj} .n` +echo ${k}_${jj} +xrdcp /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT/LED_${j}/${jj} . +mv ${jj} ${k} +xrdcp ${k} /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT/LED_${j} +end +end diff --git a/DPGAnalysis/HcalTools/scripts/rmt/parce_newsql_aleko.csh b/DPGAnalysis/HcalTools/scripts/rmt/parce_newsql_aleko.csh new file mode 100755 index 0000000000000..ec977c647e6dc --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/parce_newsql_aleko.csh @@ -0,0 +1,81 @@ +#!/bin/tcsh + +### Make list of files: LED, pedestal, laser +#set DAT=`date '+%Y-%m-%d_%H_%M_%S'` +if( ${1} != "LED" && ${1} != "LASER" && ${1} != "PEDESTAL" ) then +echo " Please select run type ./parce_newsql_aleko.csh LED `date '+%Y-%m-%d_%H_%M_%S'` era2019" +exit +endif + +set runorigped=286893 +set runorigled=286946 +set runoriglas=286766 + +if( ${3} == "era2019" ) then +set runorigled=328157 +endif + +# ATTENTION: +# for laser and pedestal we put runorig = run current +# + +set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript" +set SCRIPT=`pwd` + +set LAST=0 +set OUTLAST="" +set runref=0 +set outfile="" + +echo "Here" ${1} +setenv HCALDQM_DBCONNECT cms_hcl_runinfo/Donald_2_Duck@cms_omds_adg + +if( ${1} == "LED" ) then +set LAST=`cat ${WD}/LED_LIST/LASTRUN` +set OUTLAST=${WD}/LED_LIST/LASTRUN +echo ${LAST} +python ${CMSSW_BASE}/src/DPGAnalysis/HcalTools/python/getInfo.py --runmin=${LAST} | grep LED | awk '{print $1"_"$3"_"$4"_"$7"_"$11}' > tmp.list.${1} +set runref=${runorigled} +touch ${WD}/LED_LIST/runlist.tmp.${2} +set outfile=${WD}/LED_LIST/runlist.tmp.${2} +endif + +if( ${1} == "LASER" ) then +echo "Laser" +set runref=${runoriglas} +set LAST=`cat ${WD}/LASER_LIST/LASTRUN` +set OUTLAST=${WD}/LASER_LIST/LASTRUN +python ${CMSSW_BASE}/src/DPGAnalysis/HcalTools/python/getInfo.py --runmin=${LAST} | grep Laser | awk '{print $1"_"$3"_"$4"_"$7"_"$11}' > tmp.list.${1} +touch ${WD}/LASER_LIST/runlist.tmp.${2} +set outfile=${WD}/LASER_LIST/runlist.tmp.${2} +endif + +if( ${1} == "PEDESTAL" ) then +set runref=${runorigped} +set LAST=`cat ${WD}/PEDESTAL_LIST/LASTRUN` +set OUTLAST=${WD}/PEDESTAL_LIST/LASTRUN +python ${CMSSW_BASE}/src/DPGAnalysis/HcalTools/python/getInfo.py --runmin=${LAST} | grep Pedestal | awk '{print $1"_"$3"_"$4"_"$7"_"$11}' > tmp.list.${1} +touch ${WD}/PEDESTAL_LIST/runlist.tmp.${2} +set outfile=${WD}/PEDESTAL_LIST/runlist.tmp.${2} +endif + +echo "Here 1" +foreach i (`cat tmp.list.${1}`) +set run=`echo ${i} | awk -F_ '{print $1}'` +set mydate=`echo ${i} | awk -F_ '{print $2}'` +set mytime=`echo ${i} | awk -F_ '{print $3}'` +set nevent=`echo ${i} | awk -F_ '{print $4}'` +echo ${run}"_"${run}"_"${mydate}"_"${mytime}"_"${nevent} >> ${outfile} +rm ${OUTLAST} +echo ${run} > ${OUTLAST} +end +if( ${1} == "LED" ) then +eos ls /eos/cms/store/group/dpg_hcal/comm_hcal/USC > ${WD}/LED_LIST/fullSrc0_list_${2} +endif +if( ${1} == "LASER" ) then +eos ls /eos/cms/store/group/dpg_hcal/comm_hcal/USC > ${WD}/LASER_LIST/fullSrc0_list_${2} +endif +if( ${1} == "PEDESTAL" ) then +eos ls /eos/cms/store/group/dpg_hcal/comm_hcal/USC > ${WD}/PEDESTAL_LIST/fullSrc0_list_${2} +endif + diff --git a/DPGAnalysis/HcalTools/scripts/rmt/readme b/DPGAnalysis/HcalTools/scripts/rmt/readme new file mode 100644 index 0000000000000..4bb0d88e3c161 --- /dev/null +++ b/DPGAnalysis/HcalTools/scripts/rmt/readme @@ -0,0 +1,24 @@ +##### start of project from GitHub; +### PR preparation; +0) +cd /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript +setenv SCRAM_ARCH slc7_amd64_gcc820 +scram p -s CMSSW CMSSW_11_1_7 +cd CMSSW_11_1_7/src +cmsenv +git cms-addpkg DPGAnalysis/HcalTools +git branch +git checkout -b CMSSW_11_1_7_RMTNEW +git branch +git status +....changes.... + + + +1) use of scripts for run set treatment: + + + +2) use of crontab for current local runs: + + diff --git a/DPGAnalysis/HcalTools/scripts/rmt/update_rdmpage_new.csh b/DPGAnalysis/HcalTools/scripts/rmt/update_rdmpage_new.csh index bb6be875e347c..fb6ea65ef748f 100755 --- a/DPGAnalysis/HcalTools/scripts/rmt/update_rdmpage_new.csh +++ b/DPGAnalysis/HcalTools/scripts/rmt/update_rdmpage_new.csh @@ -1,12 +1,20 @@ #!/bin/csh +set DAT=`date '+%Y-%m-%d_%H_%M_%S'` +set RELEASE=${CMSSW_VERSION} +echo ${CMSSW_VERSION} ${RELEASE} +set WebDir='/eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT' +set WD="/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/${RELEASE}/src/DPGAnalysis/HcalTools/scripts/rmt" -set WebDir='/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMweb' -set WD='/afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/CMSSW_10_4_0/src/RecoHcal/HcalPromptAnalysis/test/RDM' - +rm ${WD}/index_test.html touch ${WD}/index_test.html -cat ${WD}/header_led.txt >> ${WD}/index_test.html +xrdcp ${WebDir}/index.html index.html.orig.${DAT} + +set NHEAD=`grep -n 'LED Runs' index.html.orig.${DAT} | awk -F : '{print $1}'` +@ NHEAD = ${NHEAD} + "13" +head -n ${NHEAD} ${WD}/index.html.orig.${DAT} >> ${WD}/index_test.html ls ${WebDir} | grep LED_ | sort -r > ${WD}/currentlist +cp ${WD}/currentlist ${WD}/currentlist.LED set j=0 foreach i (`cat ${WD}/currentlist`) ls ${WebDir}/${i}/*.png > /dev/null @@ -19,9 +27,7 @@ endif end rm ${WD}/currentlist -cat ${WD}/header_laser.txt >> ${WD}/index_test.html ls ${WebDir} | grep LASER_ | sort -r > ${WD}/currentlist - set j=0 foreach i (`cat ${WD}/currentlist`) ls ${WebDir}/${i}/*.png > /dev/null @@ -34,9 +40,7 @@ endif end rm ${WD}/currentlist -cat ${WD}/header_pedestal.txt >> ${WD}/index_test.html ls ${WebDir} | grep PEDESTAL_ | sort -r > ${WD}/currentlist - set j=0 foreach i (`cat ${WD}/currentlist`) ls ${WebDir}/${i}/*.png > /dev/null @@ -47,12 +51,12 @@ cat tmp.txt | sed s/ktemp/${j}/ >> ${WD}/index_test.html rm tmp.txt endif end -set DAT=`date '+%Y-%m-%d_%H_%M_%S'` -cat ${WD}/footer.txt >> ${WD}/index_test.html -mv ${WebDir}/index.html ${WebDir}/index.html.orig.${DAT} -mv ${WD}/index_test.html ${WebDir}/index.html rm ${WD}/currentlist -cat ${WebDir}/index.html | sed 's#cms-cpt-software.web.cern.ch\/cms-cpt-software\/General\/Validation\/SVSuite#cms-conddb-prod.cern.ch\/eosweb\/hcal#g'> tmp.html -xrdcp -f tmp.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT/index.html -rm tmp.html +cat ${WD}/footer.txt >> ${WD}/index_test.html + +#mv ${WD}/index_test.html ${WebDir}/index.html +#rm ${WD}/currentlist +#cat ${WebDir}/index.html | sed 's#cms-cpt-software.web.cern.ch\/cms-cpt-software\/General\/Validation\/SVSuite#cms-conddb-prod.cern.ch\/eosweb\/hcal#g'> tmp.html +#xrdcp -f tmp.html /eos/cms/store/group/dpg_hcal/comm_hcal/www/HcalRemoteMonitoring/RMT/index.html +#rm tmp.html diff --git a/DPGAnalysis/HcalTools/test/ZZZALCARECOHcalCalPedestalLocal_cff.py b/DPGAnalysis/HcalTools/test/ZZZALCARECOHcalCalPedestalLocal_cff.py new file mode 100644 index 0000000000000..ab59b81798337 --- /dev/null +++ b/DPGAnalysis/HcalTools/test/ZZZALCARECOHcalCalPedestalLocal_cff.py @@ -0,0 +1,135 @@ +import FWCore.ParameterSet.Config as cms + +#------------------------------------------------ +#AlCaReco filtering for HCAL minbias: +#------------------------------------------------ + +from Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalMinBiasNoise_cff import * +hcalDigiAlCaMB.InputLabel = 'source' + +import HLTrigger.HLTfilters.hltHighLevel_cfi +hcalminbiasHLT = HLTrigger.HLTfilters.hltHighLevel_cfi.hltHighLevel.clone( +# HLTPaths = ['HLT_HcalPhiSym'], + eventSetupPathsKey='HcalCalMinBias', + throw = False #dont throw except on unknown path name +) + +import RecoLocalCalo.HcalRecProducers.HBHEPhase1Reconstructor_cfi +hbherecoMBNZS = RecoLocalCalo.HcalRecProducers.HBHEPhase1Reconstructor_cfi.hbheprereco.clone( + digiLabelQIE8 = cms.InputTag("hcalDigiAlCaMB"), + digiLabelQIE11 = cms.InputTag("hcalDigiAlCaMB"), +### tsFromDB = cms.bool(False), + dropZSmarkedPassed = cms.bool(False), + algorithm = dict( + useMahi = cms.bool(False), + useM2 = cms.bool(False), + useM3 = cms.bool(False) + ), + processQIE11 = cms.bool(False), + setNegativeFlagsQIE8 = cms.bool(False), + setNegativeFlagsQIE11 = cms.bool(False), + setNoiseFlagsQIE8 = cms.bool(True), + setNoiseFlagsQIE11 = cms.bool(False), + setPulseShapeFlagsQIE8 = cms.bool(False), + setPulseShapeFlagsQIE11 = cms.bool(False), + setLegacyFlagsQIE8 = cms.bool(False), + setLegacyFlagsQIE11 = cms.bool(False), +) + +hbherecoMBNZS.algorithm.firstSampleShift = 0 # explicitly repeating the default + +import RecoLocalCalo.HcalRecProducers.hosimplereco_cfi +horecoMBNZS = RecoLocalCalo.HcalRecProducers.hosimplereco_cfi.hosimplereco.clone() + +horecoMBNZS.firstSample = 4 +horecoMBNZS.samplesToAdd = 4 +horecoMBNZS.digiLabel = 'hcalDigiAlCaMB' +horecoMBNZS.tsFromDB = cms.bool(False) +horecoMBNZS.dropZSmarkedPassed = cms.bool(False) + +import RecoLocalCalo.HcalRecProducers.hfsimplereco_cfi +hfrecoMBNZS = RecoLocalCalo.HcalRecProducers.hfsimplereco_cfi.hfsimplereco.clone() + +hfrecoMBNZS.firstSample = 2 # Run 2 default before 2017 +hfrecoMBNZS.samplesToAdd = 2 +hfrecoMBNZS.digiLabel = 'hcalDigiAlCaMB' +hfrecoMBNZS.tsFromDB = cms.bool(False) +hfrecoMBNZS.dropZSmarkedPassed = cms.bool(False) + +seqALCARECOHcalCalMinBiasDigi = cms.Sequence(hcalminbiasHLT*hcalDigiAlCaMB*gtDigisAlCaMB) +seqALCARECOHcalCalMinBiasDigiNoHLT = cms.Sequence(hcalDigiAlCaMB*gtDigisAlCaMB) + +seqALCARECOHcalCalMinBias = cms.Sequence(hbherecoMBNZS*horecoMBNZS*hbherecoNoise*hfrecoNoise*hfrecoMBNZS*horecoNoise) + +import RecoLocalCalo.HcalRecProducers.hfprereco_cfi +hfprerecoNoise = RecoLocalCalo.HcalRecProducers.hfprereco_cfi.hfprereco.clone( + digiLabel = cms.InputTag("hcalDigiAlCaMB"), + dropZSmarkedPassed = cms.bool(False), + tsFromDB = cms.bool(False), + sumAllTimeSlices = cms.bool(False), + forceSOI = cms.int32(0) +) +hfprerecoMBNZS = RecoLocalCalo.HcalRecProducers.hfprereco_cfi.hfprereco.clone( + digiLabel = cms.InputTag("hcalDigiAlCaMB"), + dropZSmarkedPassed = cms.bool(False), + tsFromDB = cms.bool(False), + sumAllTimeSlices = cms.bool(True), + forceSOI = cms.int32(1) +) + +import RecoLocalCalo.HcalRecProducers.HFPhase1Reconstructor_cfi +_phase1_hfrecoNoise = RecoLocalCalo.HcalRecProducers.HFPhase1Reconstructor_cfi.hfreco.clone( + inputLabel = cms.InputTag("hfprerecoNoise"), + setNoiseFlags = cms.bool(False), + algorithm = dict( + Class = cms.string("HFSimpleTimeCheck"), + rejectAllFailures = cms.bool(False) + ), +) +_phase1_hfrecoMBNZS = RecoLocalCalo.HcalRecProducers.HFPhase1Reconstructor_cfi.hfreco.clone( + inputLabel = cms.InputTag("hfprerecoMBNZS"), + setNoiseFlags = cms.bool(False), + algorithm = dict( + Class = cms.string("HFSimpleTimeCheck"), + rejectAllFailures = cms.bool(False) + ), +) + +_phase1_seqALCARECOHcalCalMinBias = seqALCARECOHcalCalMinBias.copy() +_phase1_seqALCARECOHcalCalMinBias.insert(0,hfprerecoMBNZS) +_phase1_seqALCARECOHcalCalMinBias.insert(0,hfprerecoNoise) + +from Configuration.Eras.Modifier_run2_HF_2017_cff import run2_HF_2017 +run2_HF_2017.toReplaceWith( seqALCARECOHcalCalMinBias, _phase1_seqALCARECOHcalCalMinBias ) +run2_HF_2017.toReplaceWith( hfrecoNoise, _phase1_hfrecoNoise ) +run2_HF_2017.toReplaceWith( hfrecoMBNZS, _phase1_hfrecoMBNZS ) + +import RecoLocalCalo.HcalRecProducers.hbheplan1_cfi +hbheplan1MBNZS = RecoLocalCalo.HcalRecProducers.hbheplan1_cfi.hbheplan1.clone( + hbheInput = cms.InputTag("hbheprerecoMBNZS") +) +hbheplan1Noise = RecoLocalCalo.HcalRecProducers.hbheplan1_cfi.hbheplan1.clone( + hbheInput = cms.InputTag("hbheprerecoNoise") +) + +from Configuration.Eras.Modifier_run2_HCAL_2017_cff import run2_HCAL_2017 +run2_HCAL_2017.toModify( hbherecoMBNZS, + processQIE11 = cms.bool(True), +# temporarily disabled until RecoLocalCalo/HcalRecProducers/python/HBHEPhase1Reconstructor_cfi.py:flagParametersQIE11 is filled +# setNoiseFlagsQIE11 = cms.bool(True), +) +run2_HCAL_2017.toModify( hbherecoNoise, + processQIE11 = cms.bool(True), +# temporarily disabled until RecoLocalCalo/HcalRecProducers/python/HBHEPhase1Reconstructor_cfi.py:flagParametersQIE11 is filled +# setNoiseFlagsQIE11 = cms.bool(True), +) + +_plan1_seqALCARECOHcalCalMinBias = _phase1_seqALCARECOHcalCalMinBias.copy() +hbheprerecoMBNZS = hbherecoMBNZS.clone() +hbheprerecoNoise = hbherecoNoise.clone() +_plan1_seqALCARECOHcalCalMinBias.insert(0,hbheprerecoNoise) +_plan1_seqALCARECOHcalCalMinBias.insert(0,hbheprerecoMBNZS) +from Configuration.Eras.Modifier_run2_HEPlan1_2017_cff import run2_HEPlan1_2017 +run2_HEPlan1_2017.toReplaceWith(hbherecoMBNZS, hbheplan1MBNZS) +run2_HEPlan1_2017.toReplaceWith(hbherecoNoise, hbheplan1Noise) +run2_HEPlan1_2017.toReplaceWith(seqALCARECOHcalCalMinBias, _plan1_seqALCARECOHcalCalMinBias) diff --git a/DPGAnalysis/HcalTools/test/readme b/DPGAnalysis/HcalTools/test/readme new file mode 100644 index 0000000000000..fe337bb8015cd --- /dev/null +++ b/DPGAnalysis/HcalTools/test/readme @@ -0,0 +1,17 @@ +# +# eoscms ls -l /eos/cms/store/group/dpg_hcal/comm_hcal/USC/ +# choose run in /store/group/dpg_hcal/comm_hcal/USC/ +# +# for Run2: +# with GT: 104X_dataRun2_v1 +# how to run: cmsRun remoteMonitoring_LED_eraTEST2019_cfg.py 320117 /store/group/dpg_hcal/comm_hcal/USC/ /your_working_dir +# cmsRun remoteMonitoring_LED_eraTEST2019_cfg.py 320117 /store/group/dpg_hcal/comm_hcal/USC//afs/cern.ch/work/z/zhokin/public/ & +# +# with GT: 106X_dataRun3_HLT_v3 +#how to run: cmsRun remoteMonitoring_LED_eraTEST2019_cfg.py 331370 /store/group/dpg_hcal/comm_hcal/USC/ /your_working_dir +# +# for Run3: +# for next py-file use Calibration dir. once we use RecoCollections: +# cmsRun remoteMonitoring_LED_eraTEST2021_cfg.py 339246 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/work/z/zhokin/public/ & + + diff --git a/DPGAnalysis/HcalTools/test/remoteMonitoring_LED_eraTEST2019_cfg.py b/DPGAnalysis/HcalTools/test/remoteMonitoring_LED_eraTEST2019_cfg.py index e9f12c0043c6d..0e9f8855a3615 100644 --- a/DPGAnalysis/HcalTools/test/remoteMonitoring_LED_eraTEST2019_cfg.py +++ b/DPGAnalysis/HcalTools/test/remoteMonitoring_LED_eraTEST2019_cfg.py @@ -44,6 +44,26 @@ input = cms.untracked.int32(-1) ) +# process.TFileService = cms.Service("TFileService", +# fileName = cms.string('histoTFileService.root'), +# closeFileFast = cms.untracked.bool(False) +# ) +#process.TFileService = cms.Service('TFileService', +# fileName=cms.string("testhisto.root"), +# closeFileFast = cms.untracked.bool(True) +#) +#process.TFileService = cms.Service("TFileService", +# fileName = cms.string("analysis_minbias_Full.root"), +# closeFileFast = cms.untracked.bool(True) +# ) +process.TFileService = cms.Service("TFileService", + fileName = cms.string(histodir+'/LED_'+runnumber+'.root') +# ,closeFileFast = cms.untracked.bool(True) + ) + + +# process.TFileService = cms.Service("TFileService", fileName = cms.string("plotting%03d.root" % jobnumber)) + #process.source = cms.Source("PoolSource", process.source = cms.Source("HcalTBSource", skipBadFiles=cms.untracked.bool(True), @@ -338,24 +358,24 @@ splashesUpperLimit = cms.int32(10000), # # - # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) - flagIterativeMethodCalibrationGroup = cms.int32(0), + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) This flag name is only present in early version of main cc-code & visualiz.script + #flagIterativeMethodCalibrationGroup = cms.int32(0), # # # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) - #flagIterativeMethodCalibrationGroupDigi = cms.int32(1), + flagIterativeMethodCalibrationGroupDigi = cms.int32(0), # # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) - #flagIterativeMethodCalibrationGroupReco = cms.int32(1), + flagIterativeMethodCalibrationGroupReco = cms.int32(0), # - #hbheInputSignalTag = cms.InputTag('hbherecoMBNZS'), - #hbheInputNoiseTag = cms.InputTag('hbherecoNoise'), - #hfInputSignalTag = cms.InputTag('hfrecoMBNZS'), - # hfInputNoiseTag = cms.InputTag('hfrecoNoise'), + hbheInputSignalTag = cms.InputTag('hbherecoMBNZS'), + hbheInputNoiseTag = cms.InputTag('hbherecoNoise'), + hfInputSignalTag = cms.InputTag('hfrecoMBNZS'), + hfInputNoiseTag = cms.InputTag('hfrecoNoise'), # #HistOutFile = cms.untracked.string('LED_331370.root'), - HistOutFile = cms.untracked.string(histodir+'/LED_'+runnumber+'.root'), - MAPOutFile = cms.untracked.string('LogEleMapdb.h') + #HistOutFile = cms.untracked.string(histodir+'/LED_'+runnumber+'.root'), + #MAPOutFile = cms.untracked.string('LogEleMapdb.h') # ##OutputFilePath = cms.string('/tmp/zhokin/'), ##OutputFileExt = cms.string(''), @@ -379,10 +399,6 @@ 'RespCorrs') ) -process.TFileService = cms.Service("TFileService", - fileName = cms.string(histodir+'/LED_'+runnumber+'.root') - ) - process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") from Configuration.AlCa.autoCond import autoCond # 2018: diff --git a/DPGAnalysis/HcalTools/test/remoteMonitoring_LED_eraTEST2021_cfg.py b/DPGAnalysis/HcalTools/test/remoteMonitoring_LED_eraTEST2021_cfg.py new file mode 100644 index 0000000000000..4e38ec50ac6f4 --- /dev/null +++ b/DPGAnalysis/HcalTools/test/remoteMonitoring_LED_eraTEST2021_cfg.py @@ -0,0 +1,595 @@ +#eoscms ls -l /eos/cms/store/group/dpg_hcal/comm_hcal/USC/run327785/USC_327785.root +# choose run in /store/group/dpg_hcal/comm_hcal/USC/ +#how to run: cmsRun remoteMonitoring_LED_eraTEST2019_cfg.py 331370 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/CMSSW_10_6_5/src/WORK +#how to run: cmsRun remoteMonitoring_LED_eraTEST2019_cfg.py 331370 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/work/z/zhokin/hcal/voc1/CMSSW_11_1_X_2020-02-12-2300/src/DPGAnalysis/HcalTools/scripts/rmt +#cmsRun remoteMonitoring_LED_eraTEST2019_cfg.py 339246 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/cms/CAF/CMSALCA/ALCA_HCALCALIB/HCALMONITORING/RDMScript/CMSSW_11_3_4/src/DPGAnalysis/HcalTools/scripts/rmt/ & + +# cmsRun remoteMonitoring_LED_eraTEST2021_cfg.py 339246 /store/group/dpg_hcal/comm_hcal/USC/ /afs/cern.ch/work/z/zhokin/hcal/qq4/CMSSW_12_0_3/src/DPGAnalysis/HcalTools/test & + +import sys +import FWCore.ParameterSet.Config as cms +from Configuration.StandardSequences.Eras import eras +#process = cms.Process("TEST", eras.Run2_2018) +process = cms.Process("TEST", eras.Run3) +process.load("Configuration.StandardSequences.GeometryDB_cff") +process.load("CondCore.CondDB.CondDB_cfi") +process.load("EventFilter.L1GlobalTriggerRawToDigi.l1GtUnpack_cfi") +process.l1GtUnpack.DaqGtInputTag = 'source' +# from RelValAlCaPedestal_cfg_2018.py +process.load('Configuration.StandardSequences.Services_cff') +process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') +process.load('FWCore.MessageService.MessageLogger_cfi') +process.load('Configuration.EventContent.EventContent_cff') +process.load('Configuration.StandardSequences.MagneticField_AutoFromDBCurrent_cff') +process.load('Configuration.StandardSequences.Reconstruction_Data_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') +#process.load('RecoLocalCalo.Configuration.hcalLocalReco_cff') +process.load('Configuration.StandardSequences.GeometryRecoDB_cff') +process.load('Configuration.StandardSequences.EndOfProcess_cff') + +##runnumber = sys.argv[2][4:-5] +runnumber = sys.argv[2] +rundir = sys.argv[3] +histodir = sys.argv[4] + +#print 'RUN = '+runnumber +#print 'Input file = '+rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +##print 'Input file = '+rundir+'/USC_'+runnumber+'.root' +#print 'Output file = '+histodir+'/LED_'+runnumber+'.root' + +process.maxEvents = cms.untracked.PSet( +# input = cms.untracked.int32(100) + input = cms.untracked.int32(-1) + ) + +process.TFileService = cms.Service("TFileService", + fileName = cms.string(histodir+'/LED_'+runnumber+'.root') +# ,closeFileFast = cms.untracked.bool(True) + ) + +#process.source = cms.Source("PoolSource", +process.source = cms.Source("HcalTBSource", + skipBadFiles=cms.untracked.bool(True), + firstLuminosityBlockForEachRun = cms.untracked.VLuminosityBlockID([]), + firstRun = cms.untracked.uint32(331370), +# firstRun = cms.untracked.uint32(330153), +# firstRun = cms.untracked.uint32(329416), + fileNames = cms.untracked.vstring( +rundir+'/run'+runnumber+'/USC_'+runnumber+'.root' +#rundir+'/USC_'+runnumber+'.root' +# '/store/group/dpg_hcal/comm_hcal/USC/run331370/USC_331370.root' + +), + secondaryFileNames = cms.untracked.vstring() + ) + +process.Analyzer = cms.EDAnalyzer("CMTRawAnalyzer", + # + Verbosity = cms.untracked.int32(0), + #Verbosity = cms.untracked.int32(-9062), + #Verbosity = cms.untracked.int32(-9063), + #Verbosity = cms.untracked.int32(-9064), + #Verbosity = cms.untracked.int32(-9065), + #Verbosity = cms.untracked.int32(-84), + #Verbosity = cms.untracked.int32(-91), + #Verbosity = cms.untracked.int32(-92), + # + MapCreation = cms.untracked.int32(1), + # + recordNtuples = cms.untracked.bool(False), + #recordNtuples = cms.untracked.bool(True), + maxNeventsInNtuple = cms.int32(1), + # + #recordHistoes = cms.untracked.bool(False), + recordHistoes = cms.untracked.bool(True), + # + ##scripts: zRunRatio34.C, zRunNbadchan.C + studyRunDependenceHist = cms.untracked.bool(True), + #studyRunDependenceHist = cms.untracked.bool(False), + # + ##scripts: zerrors.C + studyCapIDErrorsHist = cms.untracked.bool(True), + #studyCapIDErrorsHist = cms.untracked.bool(False), + # + ##scripts: zrms.C + studyRMSshapeHist = cms.untracked.bool(True), + #studyRMSshapeHist = cms.untracked.bool(False), + # + ##scripts: zratio34.C + studyRatioShapeHist = cms.untracked.bool(True), + #studyRatioShapeHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyADCAmplHist = cms.untracked.bool(True), + #studyADCAmplHist = cms.untracked.bool(False), + # + ##scripts: ztsmean.C + studyTSmeanShapeHist = cms.untracked.bool(True), + #studyTSmeanShapeHist = cms.untracked.bool(False), + # + ##scripts: ztsmaxa.C + studyTSmaxShapeHist = cms.untracked.bool(True), + #studyTSmaxShapeHist = cms.untracked.bool(False), + # + ##scripts: zcalib....C + studyCalibCellsHist = cms.untracked.bool(True), + #studyCalibCellsHist = cms.untracked.bool(False), + # + ##scripts: zdifampl.C + studyDiffAmplHist = cms.untracked.bool(True), + #studyDiffAmplHist = cms.untracked.bool(False), + # + ##scripts: zadcamplitude.C + studyPedestalsHist = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + ##scripts: zamplpedcorr.C + studyPedestalCorrelations = cms.untracked.bool(True), + #studyPedestalsHist = cms.untracked.bool(False), + # + # + ##DigiCollectionLabel = cms.untracked.InputTag("hcalDigis"), + #Verbosity = cms.untracked.int32(-54), + #Verbosity = cms.untracked.int32(-22), + #Verbosity = cms.untracked.int32(-11), + #Verbosity = cms.untracked.int32(-12), + #Verbosity = cms.untracked.int32(-13), + #Verbosity = cms.untracked.int32(-51), + #Verbosity = cms.untracked.int32(-24), + #Verbosity = cms.untracked.int32(-244), + #Verbosity = cms.untracked.int32(-233), + # + # + # Normal channels: + # + # -53 for BAD HBHEHF channels from study on shape Ratio + #Verbosity = cms.untracked.int32(-53), + ratioHBMin = cms.double(0.70), + ratioHBMax = cms.double(0.94), + ratioHEMin = cms.double(0.60), + ratioHEMax = cms.double(0.95), + ratioHFMin = cms.double(0.45), + ratioHFMax = cms.double(1.02), + ratioHOMin = cms.double(0.40), + ratioHOMax = cms.double(1.04), + # -54 for BAD HBHEHF channels from study on RMS of shapes + #Verbosity = cms.untracked.int32(-54), + rmsHBMin = cms.double(0.7), + rmsHBMax = cms.double(2.5), + rmsHEMin = cms.double(0.7), + rmsHEMax = cms.double(2.2), + rmsHFMin = cms.double(0.1), + rmsHFMax = cms.double(2.6), + rmsHOMin = cms.double(0.1), + rmsHOMax = cms.double(2.8), + # -55 for BAD HBHEHF channels from study on TSmean of shapes + #Verbosity = cms.untracked.int32(-55), + TSmeanHBMin = cms.double(2.5), + TSmeanHBMax = cms.double(5.5), + TSmeanHEMin = cms.double(1.0), + TSmeanHEMax = cms.double(5.2), + TSmeanHFMin = cms.double(1.0), + TSmeanHFMax = cms.double(4.2), + TSmeanHOMin = cms.double(1.0), + TSmeanHOMax = cms.double(4.8), + # -55 for BAD HBHEHF channels from study on TSmax of shapes + #Verbosity = cms.untracked.int32(-55), + TSpeakHBMin = cms.double(2.2), + TSpeakHBMax = cms.double(5.5), + TSpeakHEMin = cms.double(1.5), + TSpeakHEMax = cms.double(6.5), + TSpeakHFMin = cms.double(0.5), + TSpeakHFMax = cms.double(4.5), + TSpeakHOMin = cms.double(0.5), + TSpeakHOMax = cms.double(7.5), + # -56 for BAD HBHEHOHF channels from study on ADC Amplitude + #Verbosity = cms.untracked.int32(-56), + ADCAmplHBMin = cms.double(10000.), + ADCAmplHBMax = cms.double(300000.), + ADCAmplHEMin = cms.double(20000.), + ADCAmplHEMax = cms.double(300000.), + ADCAmplHFMin = cms.double(50.), + ADCAmplHFMax = cms.double(9000.), + ADCAmplHOMin = cms.double(50.), + ADCAmplHOMax = cms.double(9000.), + # + # to see channels w/ PedestalSigma < cut + #Verbosity = cms.untracked.int32(-57), + pedestalwHBMax = cms.double(0.1), + pedestalwHEMax = cms.double(0.1), + pedestalwHFMax = cms.double(0.4), + pedestalwHOMax = cms.double(0.1), + # + # to see channels for pedestal < cut + pedestalHBMax = cms.double(0.1), + pedestalHEMax = cms.double(0.6), + pedestalHFMax = cms.double(0.8), + pedestalHOMax = cms.double(0.1), + # + # + # CALIBRATION channels: + # + # for BAD HBHEHOHF CALIBRATION channels from study on ADC amplitude + # cuts for Laser runs: + #calibrADCHBMin = cms.double(15.0), + #calibrADCHEMin = cms.double(15.0), + #calibrADCHOMin = cms.double(15.0), + #calibrADCHFMin = cms.double(15.0), + # cuts for LED runs: + calibrADCHBMin = cms.double(1000.), + calibrADCHBMax = cms.double(100000000.), + calibrADCHEMin = cms.double(1000.), + calibrADCHEMax = cms.double(100000000.), + calibrADCHOMin = cms.double(1000.), + calibrADCHOMax = cms.double(100000000.), + calibrADCHFMin = cms.double(100.), + calibrADCHFMax = cms.double(100000000.), + + # for BAD HBHEHOHF CALIBRATION channels from study on shape Ratio + calibrRatioHBMin = cms.double(0.76), + calibrRatioHBMax = cms.double(0.94), + calibrRatioHEMin = cms.double(0.76), + calibrRatioHEMax = cms.double(0.94), + calibrRatioHOMin = cms.double(0.85), + calibrRatioHOMax = cms.double(0.99), + calibrRatioHFMin = cms.double(0.5), + calibrRatioHFMax = cms.double(0.8), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmax + calibrTSmaxHBMin = cms.double(1.50), + calibrTSmaxHBMax = cms.double(2.50), + calibrTSmaxHEMin = cms.double(1.50), + calibrTSmaxHEMax = cms.double(2.50), + calibrTSmaxHOMin = cms.double(1.50), + calibrTSmaxHOMax = cms.double(2.50), + calibrTSmaxHFMin = cms.double(3.50), + calibrTSmaxHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on TSmean + calibrTSmeanHBMin = cms.double(2.40), + calibrTSmeanHBMax = cms.double(3.70), + calibrTSmeanHEMin = cms.double(2.40), + calibrTSmeanHEMax = cms.double(3.70), + calibrTSmeanHOMin = cms.double(1.50), + calibrTSmeanHOMax = cms.double(2.70), + calibrTSmeanHFMin = cms.double(3.50), + calibrTSmeanHFMax = cms.double(4.50), + # for BAD HBHEHOHF CALIBRATION channels from study on Width + calibrWidthHBMin = cms.double(1.30), + calibrWidthHBMax = cms.double(1.90), + calibrWidthHEMin = cms.double(1.30), + calibrWidthHEMax = cms.double(1.90), + calibrWidthHOMin = cms.double(0.70), + calibrWidthHOMax = cms.double(1.65), + calibrWidthHFMin = cms.double(0.30), + calibrWidthHFMax = cms.double(1.50), + # + # Special task of run or LS quality: + # + # flag for ask runs of LSs for RMT & CMT accordingly: + #=0-runs, =1-LSs + # keep for LED runs this flags =0 always + flagtoaskrunsorls = cms.int32(0), + # + # flag for choice of criterion of bad channels: + #=0-CapIdErr, =1-Ratio, =2-Width, =3-TSmax, =4-TSmean, =5-adcAmplitud + # keep for CMT (global runs) this flags =0 always + flagtodefinebadchannel = cms.int32(0), + #how many bins you want on the plots:better to choice (#LS+1) + howmanybinsonplots = cms.int32(25), + # + # ls - range for RBX study (and ??? perhaps for gain stability via abort gap): + lsmin = cms.int32(1), + #lsmax = cms.int32(620), + lsmax = cms.int32(2600), + # + flagabortgaprejected = cms.int32(1), + bcnrejectedlow = cms.int32(3446), + bcnrejectedhigh= cms.int32(3564), + # + # flag cpu time reducing + #=0-all plots, =1-optimized number of plots (for Global runs) + flagcpuoptimization = cms.int32(0), + # + # flag for ask type of Normalization for CMT estimators: + #=0-normalizationOn#evOfLS; =1-averageVariable-normalizationOn#entriesInLS; + flagestimatornormalization = cms.int32(1), + # + # + # cuts on Nbadchannels to see LS dependences: + # Verbosity = cms.untracked.int32(-77), + # to select abnormal events,for which Nbcs > this limits + lsdep_cut1_peak_HBdepth1 = cms.int32(20), + lsdep_cut1_peak_HBdepth2 = cms.int32(7), + lsdep_cut1_peak_HEdepth1 = cms.int32(16), + lsdep_cut1_peak_HEdepth2 = cms.int32(13), + lsdep_cut1_peak_HEdepth3 = cms.int32(4), + lsdep_cut1_peak_HFdepth1 = cms.int32(10), + lsdep_cut1_peak_HFdepth2 = cms.int32(5), + lsdep_cut1_peak_HOdepth4 = cms.int32(45), + # to select events with Nbcs > this limits + lsdep_cut3_max_HBdepth1 = cms.int32(19), + lsdep_cut3_max_HBdepth2 = cms.int32(6), + lsdep_cut3_max_HEdepth1 = cms.int32(15), + lsdep_cut3_max_HEdepth2 = cms.int32(12), + lsdep_cut3_max_HEdepth3 = cms.int32(3), + lsdep_cut3_max_HFdepth1 = cms.int32(9), + lsdep_cut3_max_HFdepth2 = cms.int32(4), + lsdep_cut3_max_HOdepth4 = cms.int32(40), + # + # + #old was for runs: + # nbadchannels1 = cms.int32(7), + # nbadchannels2 = cms.int32(12), + # nbadchannels3 = cms.int32(50), + # + #Verbosity = cms.untracked.int32(-79), + # cuts on Estimator1 to see LS dependences: + lsdep_estimator1_HBdepth1 = cms.double(2500.), + lsdep_estimator1_HBdepth2 = cms.double(2500.), + lsdep_estimator1_HBdepth3 = cms.double(2500.), + lsdep_estimator1_HBdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth1 = cms.double(2500.), + lsdep_estimator1_HEdepth2 = cms.double(2500.), + lsdep_estimator1_HEdepth3 = cms.double(2500.), + lsdep_estimator1_HEdepth4 = cms.double(2500.), + lsdep_estimator1_HEdepth5 = cms.double(2500.), + lsdep_estimator1_HEdepth6 = cms.double(2500.), + lsdep_estimator1_HEdepth7 = cms.double(2500.), + lsdep_estimator1_HFdepth1 = cms.double(2500.), + lsdep_estimator1_HFdepth2 = cms.double(2500.), + lsdep_estimator1_HFdepth3 = cms.double(2500.), + lsdep_estimator1_HFdepth4 = cms.double(2500.), + lsdep_estimator1_HOdepth4 = cms.double(2500.), + # cuts on Estimator2 to see LS dependences: + lsdep_estimator2_HBdepth1 = cms.double(7.), + lsdep_estimator2_HBdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth1 = cms.double(7.), + lsdep_estimator2_HEdepth2 = cms.double(7.), + lsdep_estimator2_HEdepth3 = cms.double(7.), + lsdep_estimator2_HFdepth1 = cms.double(7.), + lsdep_estimator2_HFdepth2 = cms.double(7.), + lsdep_estimator2_HOdepth4 = cms.double(7.), + # cuts on Estimator3 to see LS dependences: + lsdep_estimator3_HBdepth1 = cms.double(7.), + lsdep_estimator3_HBdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth1 = cms.double(7.), + lsdep_estimator3_HEdepth2 = cms.double(7.), + lsdep_estimator3_HEdepth3 = cms.double(7.), + lsdep_estimator3_HFdepth1 = cms.double(7.), + lsdep_estimator3_HFdepth2 = cms.double(7.), + lsdep_estimator3_HOdepth4 = cms.double(7.), + # cuts on Estimator4 to see LS dependences: + lsdep_estimator4_HBdepth1 = cms.double(5.), + lsdep_estimator4_HBdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth1 = cms.double(5.), + lsdep_estimator4_HEdepth2 = cms.double(5.), + lsdep_estimator4_HEdepth3 = cms.double(5.), + lsdep_estimator4_HFdepth1 = cms.double(5.), + lsdep_estimator4_HFdepth2 = cms.double(5.), + lsdep_estimator4_HOdepth4 = cms.double(5.), + # cuts on Estimator5 to see LS dependences: + lsdep_estimator5_HBdepth1 = cms.double(1.8), + lsdep_estimator5_HBdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth1 = cms.double(1.8), + lsdep_estimator5_HEdepth2 = cms.double(1.8), + lsdep_estimator5_HEdepth3 = cms.double(1.8), + lsdep_estimator5_HFdepth1 = cms.double(1.8), + lsdep_estimator5_HFdepth2 = cms.double(1.8), + lsdep_estimator5_HOdepth4 = cms.double(1.8), + # + # + #Verbosity = cms.untracked.int32(-81), + #Verbosity = cms.untracked.int32(-82), + #Verbosity = cms.untracked.int32(-83), + # + # use ADC amplitude: + useADCmassive = cms.untracked.bool(True), + useADCfC = cms.untracked.bool(False), + useADCcounts = cms.untracked.bool(False), + # + # Pedestals in fC + #usePedestalSubtraction = cms.untracked.bool(True), + usePedestalSubtraction = cms.untracked.bool(False), + # + # for possible ignoring of channels w/o signal, apply same cut for + # HBHEHFHO on Amplitude, usable for all Estimators 1,2,3,4,5: + # forallestimators_amplitude_bigger = cms.double(10.), + forallestimators_amplitude_bigger = cms.double(-100.), + # + # + # + #usecontinuousnumbering = cms.untracked.bool(False), + usecontinuousnumbering = cms.untracked.bool(True), + # + # + # + hcalCalibDigiCollectionTag = cms.InputTag('hcalDigis'), + hbheDigiCollectionTag = cms.InputTag('hcalDigis'), + hoDigiCollectionTag = cms.InputTag('hcalDigis'), + hfDigiCollectionTag = cms.InputTag('hcalDigis'), + # + # + # + # + #for upgrade: --------------------------------------------------------- + hbheQIE11DigiCollectionTag = cms.InputTag('hcalDigis'), + hbheQIE10DigiCollectionTag = cms.InputTag('hcalDigis'), + # flag to use either only old QIE8 digiCollections or only new QIE10,11 digiCollections + #=0-all digiCollections(default for normal running), =1-only old QIE8 digiCollections, + #=2-only new QIE1011 digiCollections, =3-only new QIE1011 digiCollections w/o new high depthes + #=4-2016fall, =5-2016fall w/o new high depthes, =6-2017bebin, =7-2017bebin w/o new high depthes in HEonly + #=8--2017bebin w/o new high depthes, =9-all digiCollections w/o new high depthes + # flag HBHE8 HBHE11 HF8 HF10 comments: + # 0 + + + + all + # 1 + - + - old + # 2 - + - + new + # 3 - + - + new w/o high depthes + # 4 + - + + 2016fall + # 5 + - + + 2016fall w/o high depthes + # 6 + + - + 2017 && 2018 && Run3: 2021,... !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + # 7 + + - + 2017begin w/o high depthes in HEonly + # 8 + + - + 2017begin w/o high depthes + # 9 + + + + all w/o high depthes + # 10 + - - + 2017 w/o HEP17 + # + flagupgradeqie1011 = cms.int32(6), + # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # + # flaguseshunt = 1 or 6 (6 is default for global runs) + flaguseshunt = cms.int32(6), + # flagsipmcorrection: != 0 yes,apply; = 0 do not use; + flagsipmcorrection = cms.int32(1), + #end upgrade: --------------------------------------------------------- end upgrade + # + # + # for local LASER runs ONLY!!! to be > 0 (,else = 0) + flagLaserRaddam = cms.int32(0), + # for gaussian fit for local shunt1 (Gsel0) led low-intensity or ped ONLY!!! to be > 0 (,else = 0) + flagfitshunt1pedorledlowintensity = cms.int32(0), + # + splashesUpperLimit = cms.int32(10000), + # + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupDigi = cms.int32(0), + # + # for use in IterativeMethod of CalibrationGroup!!! to be > 1 (,else = 0) + flagIterativeMethodCalibrationGroupReco = cms.int32(0), + # + hbheInputSignalTag = cms.InputTag('hbherecoMBNZS'), + hbheInputNoiseTag = cms.InputTag('hbherecoNoise'), + hfInputSignalTag = cms.InputTag('hfrecoMBNZS'), + hfInputNoiseTag = cms.InputTag('hfrecoNoise'), + # + # + # + # + # + # + #HistOutFile = cms.untracked.string('LED_331370.root'), + #HistOutFile = cms.untracked.string(histodir+'/LED_'+runnumber+'.root'), + #MAPOutFile = cms.untracked.string('LogEleMapdb.h') + # + ##OutputFilePath = cms.string('/tmp/zhokin/'), + ##OutputFileExt = cms.string(''), + # + ) + +process.hcal_db_producer = cms.ESProducer("HcalDbProducer", + dump = cms.untracked.vstring(''), + file = cms.untracked.string('') +) +process.es_hardcode = cms.ESSource("HcalHardcodeCalibrations", + toGet = cms.untracked.vstring('QIEShape', + 'QIEData', + 'ChannelQuality', + 'HcalQIEData', + 'Pedestals', + 'PedestalWidths', + 'Gains', + 'GainWidths', + 'ZSThresholds', + 'RespCorrs') +) + +## Jula's recipe for too many files +#process.options = cms.untracked.PSet( +# wantSummary = cms.untracked.bool(False), +# Rethrow = cms.untracked.vstring("ProductNotFound"), # make this exception fatal +# fileMode = cms.untracked.string('NOMERGE') # no ordering needed, but calls endRun/beginRun etc. at file boundaries +#) + +######################################################################################## Global Tags for 2018 data taking : +# use twiki site to specify HLT reconstruction Global tags: +# https://twiki.cern.ch/twiki/bin/view/CMSPublic/SWGuideFrontierConditions +# +# 100X_dataRun2_HLT_v2 for CMSSW_10_0_3 onwards CRUZET 2018 update of 0T templates for SiPixels +# 100X_dataRun2_HLT_v1 for CMSSW_10_0_0 onwards MWGRs 2018 first HLT GT for 2018 +# +# +############################################################################ GlobalTag :1+ good as 5 +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '100X_dataRun2_HLT_v2', '') + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, 'auto:run2_data_FULL', '') + + +#from Configuration.AlCa.GlobalTag_condDBv2 import GlobalTag +#process.GlobalTag = GlobalTag(process.GlobalTag, '101X_dataRun2_HLT_v7', '') + +# 2019 Ultra Legacy 2017 +#process.GlobalTag.globaltag = '106X_dataRun2_trackerAlignment2017_v1' +# 2019 Ultra Legacy 2018 test TkAl +#process.GlobalTag.globaltag = '106X_dataRun2_v17' +# 2019 Ultra Legacy 2018 +#process.GlobalTag.globaltag = '106X_dataRun2_newTkAl_v18' +# 2019 Ultra Legacy 2016 +#process.GlobalTag.globaltag = '106X_dataRun2_UL2016TkAl_v24' +#process.GlobalTag.globaltag = '105X_dataRun2_v8' + +process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +from Configuration.AlCa.autoCond import autoCond +#process.GlobalTag.globaltag = '104X_dataRun2_v1' +#process.GlobalTag.globaltag = '105X_postLS2_design_v4' +#process.GlobalTag.globaltag = '106X_dataRun3_HLT_v3' +process.GlobalTag.globaltag = '113X_dataRun3_HLT_v3' + +############################################################################ +# V.EPSHTEIN: +#process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff") +#process.GlobalTag.globaltag = '100X_dataRun2_Prompt_Candidate_2018_01_31_16_01_36' +### +#process.hcal_db_producer = cms.ESProducer("HcalDbProducer", +# dump = cms.untracked.vstring(''), +# file = cms.untracked.string('') +#) +# +#process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), +# HcalFirstFED = cms.untracked.int32(700), +# InputLabel = cms.InputTag("source"), +# UnpackCalib = cms.untracked.bool(True), +# FEDs = cms.untracked.vint32(1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117), +#) +### +############################################################################ +process.load('Configuration.StandardSequences.RawToDigi_Data_cff') +process.hcalDigis.FilterDataQuality = cms.bool(False) +process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ +process.hcalDigis= cms.EDProducer("HcalRawToDigi", +# FilterDataQuality = cms.bool(True), + FilterDataQuality = cms.bool(False), + HcalFirstFED = cms.untracked.int32(700), + InputLabel = cms.InputTag("source"), + #InputLabel = cms.InputTag("rawDataCollector"), +) +#process.hcalDigis.FilterDataQuality = cms.bool(False) +#process.hcalDigis.InputLabel = cms.InputTag("source") +############################################################################ do not forget LOAD cff needed: !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestal_cff") +#process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalPedestalLocal_cff") +##process.load("Calibration.HcalAlCaRecoProducers.ALCARECOHcalCalMinBias_cff") +#process.load("ALCARECOHcalCalPedestalLocal_cff") +############################################################################ +# +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.minbiasana) +#process.p = cms.Path(process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) + +#process.p = cms.Path(process.hcalDigis*process.seqALCARECOHcalCalMinBiasDigiNoHLT*process.seqALCARECOHcalCalMinBias*process.Analyzer) +process.p = cms.Path(process.hcalDigis*process.Analyzer) + +# see /afs/cern.ch/work/z/zhokin/public/CMSSW_10_4_0_patch1/src/Calibration/HcalAlCaRecoProducers/python/ALCARECOHcalCalMinBias_cff.py +############################################################################ +process.MessageLogger = cms.Service("MessageLogger", + categories = cms.untracked.vstring(''), + destinations = cms.untracked.vstring('cout'), + debugModules = cms.untracked.vstring('*'), + cout = cms.untracked.PSet( + threshold = cms.untracked.string('WARNING'), + WARNING = cms.untracked.PSet(limit = cms.untracked.int32(0)) + ) + ) +############################################################################ + + +