Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-10-08 08:36:29

0001 #include "TFile.h"
0002 #include "TH2F.h"
0003 #include "TH1F.h"
0004 #include "TCanvas.h"
0005 #include "TLegend.h"
0006 #include "TEllipse.h"
0007 #include "PlottingHeader.h"
0008 
0009 //********************************************************************************************************
0010 //********************************************************************************************************
0011 //********************************** MAIN FUNCTION *******************************************************
0012 //********************************************************************************************************
0013 //********************************************************************************************************
0014 void plotRadiationDose2024() {
0015     StyleSettingsBasics();
0016     SetPlotStyle();
0017     
0018     //*****************************************************************************************************
0019     // 1. Open the ROOT file
0020     //https://wiki.bnl.gov/EPIC/index.php?title=Radiation_Doses 
0021     //*****************************************************************************************************
0022     TFile* fileDIS = TFile::Open("3D_map_full_detector_and_IR__1_MEQ_NEUTRON__canyonLake_SiPMOnTile_pipes_vacuum__pythia_crossing_angle_10x275_2_28_2024.root");
0023     if (!fileDIS || fileDIS->IsZombie()) {
0024         printf("Error: Could not open file.\n");
0025         return;
0026     }
0027     TFile* filePBeamGas = TFile::Open("3D_map_full_detector_and_IR__1_MEQ_NEUTRON__canyonLake_SiPMOnTile_pipes_vacuum__hadronBeamGas_crossing_angle_2752_29_2024.root");
0028     if (!filePBeamGas || filePBeamGas->IsZombie()) {
0029         printf("Error: Could not open file.\n");
0030         return;
0031     }
0032 
0033     // Get 3D hists
0034     TH3F* h3DIS = (TH3F*)fileDIS->Get("Norm3D_MEQ_fluence_neutron");
0035     if (!h3DIS) {
0036         printf("Error: Could not find the 2D histogram.\n");
0037         fileDIS->Close();
0038         return;
0039     }    
0040     h3DIS->Sumw2();
0041     TH3F* h3PBeamGas = (TH3F*)filePBeamGas->Get("Norm3D_MEQ_fluence_neutron");
0042     if (!h3PBeamGas) {
0043         printf("Error: Could not find the 2D histogram.\n");
0044         filePBeamGas->Close();
0045         return;
0046     }
0047     h3PBeamGas->Sumw2();
0048     
0049     
0050     //*****************************************************************************************************
0051     // Projections for LFHCal region
0052     //*****************************************************************************************************
0053     Double_t rangeZLFHCal[9] = {368, 378, 398, 418, 438, 458, 478, 488, 500 };
0054     Double_t minY = -30;
0055     Double_t maxY = 30;
0056     Double_t minX = -30;
0057     Double_t maxX = 30;
0058     TH1F* hLFHCalDIS_X[8];
0059     TH1F* hLFHCalPBeamGas_X[8];
0060     TH1F* hLFHCalAll_X[8];    
0061     TH1F* hLFHCalDIS_Y[8];
0062     TH1F* hLFHCalPBeamGas_Y[8];
0063     TH1F* hLFHCalAll_Y[8];    
0064 
0065     TH2F* hLFHCalDIS_XY[8];
0066     TH2F* hLFHCalPBeamGas_XY[8];
0067     TH2F* hLFHCalAll_XY[8];   
0068     
0069     TH1F* hLFHCalAllFirst5years_X[8];
0070     TH1F* hLFHCalAllFirst15years_X[8];
0071     TH1F* hLFHCalAllFirst5years_Y[8];
0072     TH1F* hLFHCalAllFirst15years_Y[8];
0073 
0074     TString outputDir = "RadPlots2024/";
0075     gSystem->Exec("mkdir -p "+outputDir);
0076    
0077     Double_t binWidthX = h3DIS->GetXaxis()->GetBinWidth(10);
0078     Double_t binWidthY = h3DIS->GetYaxis()->GetBinWidth(10);
0079     Double_t binWidthZ = h3DIS->GetZaxis()->GetBinWidth(10);
0080     std::cout << "X:" << binWidthX << "\tY:" << binWidthY << "\tZ:" << binWidthZ << std::endl;
0081 
0082     Double_t lumi5years   = 40; 
0083     Double_t lumi15years  = 150; 
0084     // Projections in various ranges
0085     Double_t max= 0;
0086     Int_t binXMin = h3DIS->GetXaxis()->FindBin(minX);
0087     Int_t binXMax = h3DIS->GetXaxis()->FindBin(maxX);
0088     Int_t binYMin = h3DIS->GetYaxis()->FindBin(minY);
0089     Int_t binYMax = h3DIS->GetYaxis()->FindBin(maxY);
0090     Double_t nBinsPrX = binXMax-binXMin;
0091     Double_t nBinsPrY = binYMax-binYMin;
0092 
0093     for (Int_t b = 0; b< 8; b++){
0094       // Projections to X direction
0095       Int_t binZMin = h3DIS->GetZaxis()->FindBin(rangeZLFHCal[b]);
0096       Int_t binZMax = h3DIS->GetZaxis()->FindBin(rangeZLFHCal[b+1]);
0097       
0098       Double_t nBinsPrZ = binZMax-binZMin;
0099       
0100       std::cout << "LFHCal segment: " << b << "\n" 
0101                 << Form("--> X: %d - %d, delta %f", binXMin, binXMax, nBinsPrX) << "\n" 
0102                 << Form("--> Y: %d - %d, delta %f", binYMin, binYMax, nBinsPrY) << "\n" 
0103                 << Form("--> Z: %d - %d, delta %f", binZMin, binZMax, nBinsPrZ) << std::endl;
0104       hLFHCalDIS_X[b]        = (TH1F*)h3DIS->ProjectionX(Form("hLFHCalDIS_X_%i", b), binYMin, binYMax, binZMin, binZMax, "e");
0105       hLFHCalDIS_X[b]->Scale(1./(nBinsPrY*nBinsPrZ));
0106       for (Int_t i = 1; i < hLFHCalDIS_X[b]->GetNbinsX()+1; i++)
0107         hLFHCalDIS_X[b]->SetBinError(i,0.);
0108       hLFHCalPBeamGas_X[b]   = (TH1F*)h3PBeamGas->ProjectionX(Form("hLFHCalPBeamGas_X_%i", b), binYMin, binYMax, binZMin, binZMax, "e");
0109       hLFHCalPBeamGas_X[b]->Scale(1./(nBinsPrY*nBinsPrZ));
0110       for (Int_t i = 1; i < hLFHCalPBeamGas_X[b]->GetNbinsX()+1; i++)
0111         hLFHCalPBeamGas_X[b]->SetBinError(i,0.);
0112       hLFHCalAll_X[b]        = (TH1F*)hLFHCalDIS_X[b]->Clone(Form("hLFHCalAll_X_%i", b));
0113       hLFHCalAll_X[b]->Sumw2();
0114       hLFHCalAll_X[b]->Add(hLFHCalPBeamGas_X[b]);
0115       if (max < hLFHCalAll_X[b]->GetMaximum()) max= hLFHCalAll_X[b]->GetMaximum();
0116       
0117       hLFHCalAllFirst5years_X[b]        = (TH1F*)hLFHCalAll_X[b]->Clone(Form("hLFHCalAllFirst5_X_%i", b));
0118       hLFHCalAllFirst5years_X[b]->Scale(lumi5years);
0119       hLFHCalAllFirst15years_X[b]       = (TH1F*)hLFHCalAll_X[b]->Clone(Form("hLFHCalAllFirst15_X_%i", b));
0120       hLFHCalAllFirst15years_X[b]->Scale(lumi15years);
0121 
0122       // Projections to Y direction
0123       hLFHCalDIS_Y[b]        = (TH1F*)h3DIS->ProjectionY(Form("hLFHCalDIS_Y_%i", b), binXMin, binXMax, binZMin, binZMax, "e");
0124       hLFHCalDIS_Y[b]->Scale(1./(nBinsPrX*nBinsPrZ));
0125       for (Int_t i = 1; i < hLFHCalDIS_Y[b]->GetNbinsX()+1; i++)
0126         hLFHCalDIS_Y[b]->SetBinError(i,0.);
0127       hLFHCalPBeamGas_Y[b]   = (TH1F*)h3PBeamGas->ProjectionY(Form("hLFHCalPBeamGas_Y_%i", b), binXMin, binXMax, binZMin, binZMax, "e");
0128       hLFHCalPBeamGas_Y[b]->Scale(1./(nBinsPrX*nBinsPrZ));
0129       for (Int_t i = 1; i < hLFHCalPBeamGas_Y[b]->GetNbinsX()+1; i++)
0130         hLFHCalPBeamGas_Y[b]->SetBinError(i,0.);
0131       hLFHCalAll_Y[b]        = (TH1F*)hLFHCalDIS_Y[b]->Clone(Form("hLFHCalAll_Y_%i", b));
0132       hLFHCalAll_Y[b]->Sumw2();
0133       hLFHCalAll_Y[b]->Add(hLFHCalPBeamGas_Y[b]);
0134       
0135       hLFHCalAllFirst5years_Y[b]        = (TH1F*)hLFHCalAll_Y[b]->Clone(Form("hLFHCalAllFirst5_Y_%i", b));
0136       hLFHCalAllFirst5years_Y[b]->Scale(lumi5years);
0137       hLFHCalAllFirst15years_Y[b]       = (TH1F*)hLFHCalAll_Y[b]->Clone(Form("hLFHCalAllFirst15_Y_%i", b));
0138       hLFHCalAllFirst15years_Y[b]->Scale(lumi15years);
0139       
0140       // Projections to XY direction
0141       h3DIS->GetZaxis()->SetRange(h3DIS->GetZaxis()->FindBin(rangeZLFHCal[b]), h3DIS->GetZaxis()->FindBin(rangeZLFHCal[b+1]));
0142       hLFHCalDIS_XY[b]        = (TH2F*)h3DIS->Project3D("yxe");
0143       hLFHCalDIS_XY[b]->SetName(Form("hLFHCalDIS_XY%i", b));
0144       // hLFHCalDIS_XY[b]->Sumw2();
0145       hLFHCalDIS_XY[b]->Scale(1./(nBinsPrZ));
0146 
0147       h3PBeamGas->GetZaxis()->SetRange(h3PBeamGas->GetZaxis()->FindBin(rangeZLFHCal[b]), h3PBeamGas->GetZaxis()->FindBin(rangeZLFHCal[b+1]));
0148       hLFHCalPBeamGas_XY[b]        = (TH2F*)h3PBeamGas->Project3D("yxe");
0149       hLFHCalPBeamGas_XY[b]->SetName(Form("hLFHCalPBeamGas_XY%i", b));
0150       // hLFHCalPBeamGas_XY[b]->Sumw2();
0151       hLFHCalPBeamGas_XY[b]->Scale(1./(nBinsPrZ));
0152       
0153       hLFHCalAll_XY[b]        = (TH2F*)hLFHCalDIS_XY[b]->Clone(Form("hLFHCalAll_XY_%i", b));
0154       hLFHCalAll_XY[b]->Sumw2();
0155       hLFHCalAll_XY[b]->Add(hLFHCalPBeamGas_XY[b]);
0156     }
0157     
0158     // Projections to ZX direction
0159     h3DIS->GetZaxis()->SetRange(h3DIS->GetZaxis()->FindBin(rangeZLFHCal[0]-15), h3DIS->GetZaxis()->FindBin(rangeZLFHCal[7]+15));
0160     h3DIS->GetYaxis()->SetRange(h3DIS->GetYaxis()->FindBin(-1.5),h3DIS->GetYaxis()->FindBin(1.5));
0161     TH2F* hLFHCalDIS_ZX        = (TH2F*)h3DIS->Project3D("xze");
0162     hLFHCalDIS_ZX->SetName("hLFHCalDIS_ZX");
0163     hLFHCalDIS_ZX->Scale(1./2);
0164     
0165 
0166     h3PBeamGas->GetZaxis()->SetRange(h3PBeamGas->GetZaxis()->FindBin(rangeZLFHCal[0]-15), h3PBeamGas->GetZaxis()->FindBin(rangeZLFHCal[8]+15));
0167     h3PBeamGas->GetYaxis()->SetRange(h3PBeamGas->GetYaxis()->FindBin(-1.5),h3PBeamGas->GetYaxis()->FindBin(1.5));
0168     TH2F* hLFHCalPBeamGas_ZX        = (TH2F*)h3PBeamGas->Project3D("xze");
0169     hLFHCalPBeamGas_ZX->SetName("hLFHCalPBeamGas_ZX");
0170     hLFHCalPBeamGas_ZX->Scale(1./2);
0171     
0172     TH2F* hLFHCalAll_ZX        = (TH2F*)hLFHCalDIS_ZX->Clone("hLFHCalAll_ZX");
0173     hLFHCalAll_ZX->Sumw2();
0174     hLFHCalAll_ZX->Add(hLFHCalPBeamGas_ZX);
0175 
0176     // Unzoom again in Y
0177     h3DIS->GetYaxis()->SetRange(1,h3DIS->GetNbinsY());
0178     h3PBeamGas->GetYaxis()->SetRange(1,h3PBeamGas->GetNbinsY());
0179     
0180     // Unzoom again in Z
0181     h3DIS->GetZaxis()->SetRange(1, h3PBeamGas->GetNbinsZ());
0182     h3PBeamGas->GetZaxis()->SetRange(1, h3PBeamGas->GetNbinsZ());
0183     
0184     Double_t textSizeRel = 0.035;
0185     Double_t min = hLFHCalPBeamGas_X[0]->GetMinimum()/3;
0186     
0187     hLFHCalDIS_X[0]->GetYaxis()->SetRangeUser(min, max*2);
0188     hLFHCalPBeamGas_X[0]->GetYaxis()->SetRangeUser(min, max*2);
0189     hLFHCalAll_X[0]->GetYaxis()->SetRangeUser(min, max*2);
0190     hLFHCalAllFirst5years_X[0]->GetYaxis()->SetRangeUser(min*lumi5years, max*2*lumi5years);
0191     hLFHCalAllFirst15years_X[0]->GetYaxis()->SetRangeUser(min*lumi15years, max*2*lumi15years);
0192 
0193     hLFHCalDIS_Y[0]->GetYaxis()->SetRangeUser(min, max*2);
0194     hLFHCalPBeamGas_Y[0]->GetYaxis()->SetRangeUser(min, max*2);
0195     hLFHCalAll_Y[0]->GetYaxis()->SetRangeUser(min, max*2);
0196     hLFHCalAllFirst5years_Y[0]->GetYaxis()->SetRangeUser(min*lumi5years, max*2*lumi5years);
0197     hLFHCalAllFirst15years_Y[0]->GetYaxis()->SetRangeUser(min*lumi15years, max*2*lumi15years);
0198     
0199 
0200     //*****************************************************************************************************
0201     // Draw projections for LFHCal region
0202     //*****************************************************************************************************
0203     TCanvas* c1 = new TCanvas("c1", "Projection Canvas", 800, 600);
0204     DrawCanvasSettings(c1, 0.07, 0.02, 0.01, 0.07);
0205     
0206     TLegend* legend = GetAndSetLegend2( 0.72, 0.8, 0.95, 0.96,textSizeRel*0.85, 2, "", 42,0.2);
0207     
0208     Style_t markerStyle[10] = { 20, 21, 24, 25, 27, 28, 29, 33, 34, 43};
0209     Color_t color[10]       = { kBlack, kViolet+4, kBlue-3, kCyan+1, kGreen+1, 
0210                                 kYellow-4, kOrange, kRed-4, kPink-5, kMagenta+2 };
0211     TString labelLayer[8]   = {"seg. 1", "seg. 2", "seg. 3", "seg. 4", "seg. 5", "seg. 6", "seg. 7", "electronics" };
0212      
0213     //==============================================================================
0214     // Projections X
0215     //==============================================================================
0216     for (Int_t b = 0; b< 8; b++){
0217       SetMarkerDefaults(hLFHCalDIS_X[b], "X (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0218       hLFHCalDIS_X[b]->GetXaxis()->SetRangeUser(-260,260);
0219       SetMarkerDefaults(hLFHCalPBeamGas_X[b], "X (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0220       hLFHCalPBeamGas_X[b]->GetXaxis()->SetRangeUser(-260,260);
0221       SetMarkerDefaults(hLFHCalAll_X[b], "X (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0222       hLFHCalAll_X[b]->GetXaxis()->SetRangeUser(-260,260);
0223 
0224       SetMarkerDefaults(hLFHCalAllFirst5years_X[b], "X (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0225       hLFHCalAllFirst5years_X[b]->GetXaxis()->SetRangeUser(-260,260);
0226 
0227       SetMarkerDefaults(hLFHCalAllFirst15years_X[b], "X (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0228       hLFHCalAllFirst15years_X[b]->GetXaxis()->SetRangeUser(-260,260);
0229       
0230       legend->AddEntry(hLFHCalDIS_X[b],labelLayer[b].Data(), "p");
0231     }
0232 
0233     // DIS radiation load alone
0234     c1->SetLogy();
0235     c1->cd();
0236       for (Int_t b = 0; b< 8; b++){
0237         if (b == 0) hLFHCalDIS_X[b]->Draw("p");
0238         else hLFHCalDIS_X[b]->Draw("same,p");
0239       }
0240       DrawLabelsAndLinesLFHCal1D(min, max*2, textSizeRel, 1,(rangeZLFHCal[0]+rangeZLFHCal[8])/2);
0241       legend->SetHeader("DIS e-p");
0242       legend->Draw();
0243     c1->SaveAs(Form("%sLFHCal_X_DIS.pdf",outputDir.Data()));
0244     
0245     // p-Had gas radiation load alone
0246     c1->cd();
0247       for (Int_t b = 0; b< 8; b++){
0248         if (b == 0) hLFHCalPBeamGas_X[b]->Draw("p");
0249         else hLFHCalPBeamGas_X[b]->Draw("same,p");
0250       }
0251       DrawLabelsAndLinesLFHCal1D(min, max*2, textSizeRel, 1,(rangeZLFHCal[0]+rangeZLFHCal[8])/2);
0252       legend->SetHeader("p beam gas");
0253       legend->Draw();
0254     c1->SaveAs(Form("%sLFHCal_X_PBeamGas.pdf",outputDir.Data()));
0255     
0256     // DIS radiation + p-Had gas radiation load
0257     c1->cd();
0258       for (Int_t b = 0; b< 8; b++){// Projections to XY direction
0259         if (b == 0) hLFHCalAll_X[b]->Draw("p");
0260         else hLFHCalAll_X[b]->Draw("same,p");
0261       }
0262       DrawLabelsAndLinesLFHCal1D(min, max*2, textSizeRel,  1,(rangeZLFHCal[0]+rangeZLFHCal[8])/2);
0263       legend->SetHeader("DIS e-p + p beam gas");
0264       legend->Draw();
0265     c1->SaveAs(Form("%sLFHCal_X_All.pdf",outputDir.Data()));
0266     
0267     // DIS radiation + p-Had gas radiation load 5 years
0268     c1->cd();
0269       for (Int_t b = 0; b< 8; b++){
0270         if (b == 0) hLFHCalAllFirst5years_X[b]->Draw("p");
0271         else hLFHCalAllFirst5years_X[b]->Draw("same,p");
0272       }
0273       DrawLabelsAndLinesLFHCal1D(min*lumi5years, max*lumi5years*2, textSizeRel, lumi5years,(rangeZLFHCal[0]+rangeZLFHCal[8])/2);
0274       legend->SetHeader("DIS e-p + p beam gas");
0275       legend->Draw();
0276     c1->SaveAs(Form("%sLFHCal_X_All_5Years.pdf",outputDir.Data()));
0277     
0278     // DIS radiation + p-Had gas radiation load 15 years
0279     c1->cd();
0280       for (Int_t b = 0; b< 8; b++){
0281         if (b == 0) hLFHCalAllFirst15years_X[b]->Draw("p");
0282         else hLFHCalAllFirst15years_X[b]->Draw("same,p");
0283       }
0284       DrawLabelsAndLinesLFHCal1D(min*lumi15years, max*lumi15years*2, textSizeRel, lumi15years,(rangeZLFHCal[0]+rangeZLFHCal[8])/2);
0285       legend->SetHeader("DIS e-p + p beam gas");
0286       legend->Draw();
0287     c1->SaveAs(Form("%sLFHCal_X_All_15Years.pdf",outputDir.Data()));
0288 
0289     //==============================================================================
0290     // Projections Y
0291     //==============================================================================
0292     for (Int_t b = 0; b< 8; b++){
0293       SetMarkerDefaults(hLFHCalDIS_Y[b], "Y (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0294       hLFHCalDIS_Y[b]->GetXaxis()->SetRangeUser(-260,260);
0295       SetMarkerDefaults(hLFHCalPBeamGas_Y[b], "Y (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0296       hLFHCalPBeamGas_Y[b]->GetXaxis()->SetRangeUser(-260,260);
0297       SetMarkerDefaults(hLFHCalAll_Y[b], "Y (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0298       hLFHCalAll_Y[b]->GetXaxis()->SetRangeUser(-260,260);
0299 
0300       SetMarkerDefaults(hLFHCalAllFirst5years_Y[b], "Y (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0301       hLFHCalAllFirst5years_Y[b]->GetXaxis()->SetRangeUser(-260,260);
0302 
0303       SetMarkerDefaults(hLFHCalAllFirst15years_Y[b], "Y (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0304       hLFHCalAllFirst15years_Y[b]->GetXaxis()->SetRangeUser(-260,260);
0305     }
0306 
0307     // DIS radiation load alone
0308     c1->SetLogy();
0309     c1->cd();
0310       for (Int_t b = 0; b< 8; b++){
0311         if (b == 0) hLFHCalDIS_Y[b]->Draw("p");
0312         else hLFHCalDIS_Y[b]->Draw("same,p");
0313       }
0314       DrawLabelsAndLinesLFHCal1D(min, max, textSizeRel, 1, (rangeZLFHCal[0]+rangeZLFHCal[8])/2, 2);
0315       legend->SetHeader("DIS e-p");
0316       legend->Draw();
0317     c1->SaveAs(Form("%sLFHCal_Y_DIS.pdf",outputDir.Data()));
0318     
0319     // p-Had gas radiation load alone
0320     c1->cd();
0321       for (Int_t b = 0; b< 8; b++){
0322         if (b == 0) hLFHCalPBeamGas_Y[b]->Draw("p");
0323         else hLFHCalPBeamGas_Y[b]->Draw("same,p");
0324       }
0325       DrawLabelsAndLinesLFHCal1D(min, max, textSizeRel, 1, (rangeZLFHCal[0]+rangeZLFHCal[8])/2, 2);
0326       legend->SetHeader("p beam gas");
0327       legend->Draw();
0328     c1->SaveAs(Form("%sLFHCal_Y_PBeamGas.pdf",outputDir.Data()));
0329     
0330     // DIS radiation + p-Had gas radiation load
0331     c1->cd();
0332       for (Int_t b = 0; b< 8; b++){
0333         if (b == 0) hLFHCalAll_Y[b]->Draw("p");
0334         else hLFHCalAll_Y[b]->Draw("same,p");
0335       }
0336       DrawLabelsAndLinesLFHCal1D(min, max, textSizeRel, 1, (rangeZLFHCal[0]+rangeZLFHCal[8])/2, 2);
0337       legend->SetHeader("DIS e-p + p beam gas");
0338       legend->Draw();
0339     c1->SaveAs(Form("%sLFHCal_Y_All.pdf",outputDir.Data()));
0340     
0341     // DIS radiation + p-Had gas radiation load 5 years
0342     c1->cd();
0343       for (Int_t b = 0; b< 8; b++){
0344         if (b == 0) hLFHCalAllFirst5years_Y[b]->Draw("p");
0345         else hLFHCalAllFirst5years_Y[b]->Draw("same,p");
0346       }
0347       DrawLabelsAndLinesLFHCal1D(min*lumi5years, max*lumi5years, textSizeRel, lumi5years, (rangeZLFHCal[0]+rangeZLFHCal[8])/2, 2);
0348       legend->SetHeader("DIS e-p + p beam gas");
0349       legend->Draw();
0350     c1->SaveAs(Form("%sLFHCal_Y_All_5Years.pdf",outputDir.Data()));
0351     
0352     // DIS radiation + p-Had gas radiation load 15 years
0353     c1->cd();
0354       for (Int_t b = 0; b< 8; b++){
0355         if (b == 0) hLFHCalAllFirst15years_Y[b]->Draw("p");
0356         else hLFHCalAllFirst15years_Y[b]->Draw("same,p");
0357       }
0358       DrawLabelsAndLinesLFHCal1D(min*lumi15years, max*lumi15years, textSizeRel, lumi15years, (rangeZLFHCal[0]+rangeZLFHCal[8])/2, 2);
0359       legend->SetHeader("DIS e-p + p beam gas");
0360       legend->Draw();
0361     c1->SaveAs(Form("%sLFHCal_Y_All_15Years.pdf",outputDir.Data()));
0362     
0363 
0364     //==============================================================================
0365     // Projections X-Y
0366     //==============================================================================
0367     TCanvas* c2 = new TCanvas("c2", "Projection Canvas", 700, 600);
0368     DrawCanvasSettings(c2, 0.07, 0.12, 0.01, 0.07);
0369     
0370     for (Int_t b = 0; b< 8; b++){
0371       // DIS radiation radiation load alone
0372       c2->cd();
0373       c2->SetLogz();
0374         hLFHCalDIS_XY[b]->GetZaxis()->SetRangeUser(min,max);
0375         SetStyleHistoTH3ForGraphs( hLFHCalDIS_XY[b], "X (cm)", "Y(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0376         hLFHCalDIS_XY[b]->Draw("colz");       
0377         DrawLatex(0.1, 0.88, Form("DIS e-p, %.0f fb^{-1}",1.), false,0.85*textSizeRel, 62,0.05, 1);
0378         DrawLatex(0.1, 0.92,Form("#it{LFHCal} region, %s",labelLayer[b].Data()), false,textSizeRel, 62,0.05, 1);
0379       c2->SaveAs(Form("%sLFHCal_XY_DIS_%i.pdf",outputDir.Data(),b));
0380       
0381       // p-Had gas radiation load alone
0382         hLFHCalPBeamGas_XY[b]->GetZaxis()->SetRangeUser(min,max);
0383         SetStyleHistoTH3ForGraphs( hLFHCalPBeamGas_XY[b], "X (cm)", "Y(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0384         hLFHCalPBeamGas_XY[b]->Draw("colz");       
0385         DrawLatex(0.1, 0.88, Form("p beam gas e-p, %.0f fb^{-1}",1.), false,0.85*textSizeRel, 62,0.05, 1);
0386         DrawLatex(0.1, 0.92,Form("#it{LFHCal} region, %s",labelLayer[b].Data()), false,textSizeRel, 62,0.05, 1);
0387       c2->SaveAs(Form("%sLFHCal_XY_PBeamGas_%i.pdf",outputDir.Data(),b));
0388 
0389       // DIS radiation + p-Had gas radiation load
0390         hLFHCalAll_XY[b]->GetZaxis()->SetRangeUser(min,max);
0391         SetStyleHistoTH3ForGraphs( hLFHCalAll_XY[b], "X (cm)", "Y(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0392         hLFHCalAll_XY[b]->Draw("colz");       
0393         DrawLatex(0.1, 0.88, Form("DIS e-p + p beam gas e-p, %.0f fb^{-1}",1.), false,0.85*textSizeRel, 62,0.05, 1);
0394         DrawLatex(0.1, 0.92,Form("#it{LFHCal} region, %s",labelLayer[b].Data()), false,textSizeRel, 62,0.05, 1);
0395       c2->SaveAs(Form("%sLFHCal_XY_All_%i.pdf",outputDir.Data(),b));
0396     }
0397     
0398     // DIS radiation radiation load alone
0399     c2->cd();
0400     c2->SetLogz();
0401       hLFHCalDIS_ZX->GetZaxis()->SetRangeUser(min,max);
0402       SetStyleHistoTH3ForGraphs( hLFHCalDIS_ZX, "Z (cm)", "X(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0403       hLFHCalDIS_ZX->Draw("colz");       
0404       DrawLatex(0.77, 0.90, Form("DIS e-p, %.0f fb^{-1}",1.), true,0.85*textSizeRel, 62,0.05, 1);
0405       DrawLatex(0.77, 0.94,Form("#it{LFHCal} region, %.1f < y < %.1f",-1.5,1.5), true,textSizeRel, 62,0.05, 1);
0406       DrawLabelsAndLinesLFHCal2D(rangeZLFHCal,labelLayer, textSizeRel );
0407     c2->SaveAs(Form("%sLFHCal_ZX_DIS.pdf",outputDir.Data()));  
0408     
0409     // p-Had gas radiation load alone
0410     c2->cd();
0411     c2->SetLogz();
0412       hLFHCalPBeamGas_ZX->GetZaxis()->SetRangeUser(min,max);
0413       SetStyleHistoTH3ForGraphs( hLFHCalPBeamGas_ZX, "Z (cm)", "X(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0414       hLFHCalPBeamGas_ZX->Draw("colz");       
0415       DrawLatex(0.77, 0.90, Form("p beam gas e-p, %.0f fb^{-1}",1.), true,0.85*textSizeRel, 62,0.05, 1);
0416       DrawLatex(0.77, 0.94,Form("#it{LFHCal} region, %.1f < y < %.1f",-1.5,1.5), true,textSizeRel, 62,0.05, 1);
0417       DrawLabelsAndLinesLFHCal2D(rangeZLFHCal,labelLayer, textSizeRel );
0418     c2->SaveAs(Form("%sLFHCal_ZX_PBeamGas.pdf",outputDir.Data()));  
0419     
0420     // DIS radiation + p-Had gas radiation load
0421     c2->cd();
0422     c2->SetLogz();
0423       hLFHCalAll_ZX->GetZaxis()->SetRangeUser(min,max);
0424       SetStyleHistoTH3ForGraphs( hLFHCalAll_ZX, "Z (cm)", "X(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0425       hLFHCalAll_ZX->Draw("colz");       
0426       DrawLatex(0.77, 0.90, Form("DIS e-p + p beam gas e-p, %.0f fb^{-1}",1.), true,0.85*textSizeRel, 62,0.05, 1);
0427       DrawLatex(0.77, 0.94,Form("#it{LFHCal} region, %.1f < y (cm) < %.1f",-1.5,1.5), true,textSizeRel, 62,0.05, 1);
0428       DrawLabelsAndLinesLFHCal2D(rangeZLFHCal,labelLayer, textSizeRel );
0429     c2->SaveAs(Form("%sLFHCal_ZX_All.pdf",outputDir.Data()));  
0430     
0431     
0432     //*****************************************************************************************************
0433     // Projections for LFHCal region
0434     //*****************************************************************************************************
0435     
0436     Double_t rangeRBHCal[5] = {180, 220, 240, 245, 250  };
0437     TH1F* hBHCalDIS[4];
0438     TH1F* hBHCalPBeamGas[4];
0439     TH1F* hBHCalAll[4];
0440     TH1F* hBHCalAllFirst5years[4];
0441     TH1F* hBHCalAllFirst15years[4];
0442 
0443     // Projections in various ranges
0444     Double_t maxBHcal= max/10.;
0445     for (Int_t b = 0; b< 4; b++){
0446       Int_t binRMin = h3DIS->GetXaxis()->FindBin(rangeRBHCal[b]);
0447       Int_t binRMax = h3DIS->GetXaxis()->FindBin(rangeRBHCal[b+1]);      
0448       Double_t nBinsPrR = binRMax-binRMin;
0449       
0450       hBHCalDIS[b]        = (TH1F*)h3DIS->ProjectionZ(Form("hLFHCalDIS_%i", b),binRMin, binRMax, h3DIS->GetYaxis()->FindBin(-1.5), h3DIS->GetYaxis()->FindBin(1.5), "e");
0451       hBHCalDIS[b]->Scale(1./nBinsPrR);
0452       for (Int_t i = 1; i < hBHCalDIS[b]->GetNbinsX()+1; i++)
0453         hBHCalDIS[b]->SetBinError(i,0.);
0454       hBHCalPBeamGas[b]   = (TH1F*)h3PBeamGas->ProjectionZ(Form("hBHCalPBeamGas_%i", b),binRMin, binRMax, h3DIS->GetYaxis()->FindBin(-1.5), h3DIS->GetYaxis()->FindBin(1.5), "e");
0455       hBHCalPBeamGas[b]->Scale(1./nBinsPrR);
0456       for (Int_t i = 1; i < hBHCalPBeamGas[b]->GetNbinsX()+1; i++)
0457         hBHCalPBeamGas[b]->SetBinError(i,0.);
0458       hBHCalAll[b]        = (TH1F*)hBHCalDIS[b]->Clone(Form("hBHCalAll_%i", b));
0459       hBHCalAll[b]->Sumw2();
0460       hBHCalAll[b]->Add(hBHCalPBeamGas[b]);
0461       if (maxBHcal < hBHCalAll[b]->GetMaximum()) maxBHcal= hBHCalAll[b]->GetMaximum();
0462       
0463       hBHCalAllFirst5years[b]        = (TH1F*)hBHCalAll[b]->Clone(Form("hBHCalAllFirst5_%i", b));
0464       hBHCalAllFirst5years[b]->Scale(lumi5years);
0465       hBHCalAllFirst15years[b]       = (TH1F*)hBHCalAll[b]->Clone(Form("hBHCalAllFirst15_%i", b));
0466       hBHCalAllFirst15years[b]->Scale(lumi15years);
0467     }
0468     
0469     // Projections to XY direction    
0470     Int_t binsMinZBHCal = h3DIS->GetZaxis()->FindBin(-327.825);
0471     Int_t binsMaxZBHCal = h3DIS->GetZaxis()->FindBin(327.825);
0472     Double_t nBinsBHCal = binsMaxZBHCal-binsMinZBHCal;
0473     
0474     h3DIS->GetZaxis()->SetRange(h3DIS->GetZaxis()->FindBin(-327.825), h3DIS->GetZaxis()->FindBin(327.825));
0475     TH2F* hBHCalDIS_XY        = (TH2F*)h3DIS->Project3D("yxe");
0476     hBHCalDIS_XY->SetName(Form("hBHCalDIS_XY"));
0477     hBHCalDIS_XY->Scale(1./nBinsBHCal);
0478     
0479     h3PBeamGas->GetZaxis()->SetRange(h3PBeamGas->GetZaxis()->FindBin(-327.825), h3PBeamGas->GetZaxis()->FindBin(327.825));
0480     TH2F* hBHCalPBeamGas_XY        = (TH2F*)h3PBeamGas->Project3D("yxe");
0481     hBHCalPBeamGas_XY->SetName(Form("hBHCalDIS_XY"));
0482     hBHCalPBeamGas_XY->Scale(1./nBinsBHCal);
0483     
0484     for (Int_t zb = hBHCalDIS_XY->GetXaxis()->FindBin(-rangeRBHCal[0])+1; zb < hBHCalDIS_XY->GetXaxis()->FindBin(rangeRBHCal[0])-1; zb++  ){
0485       for (Int_t xb = hBHCalDIS_XY->GetYaxis()->FindBin(-rangeRBHCal[0])+1; xb < hBHCalDIS_XY->GetYaxis()->FindBin(rangeRBHCal[0])-1; xb++  ){
0486         Double_t r = TMath::Sqrt(TMath::Power(hBHCalDIS_XY->GetXaxis()->GetBinCenter(zb),2)+TMath::Power(hBHCalDIS_XY->GetYaxis()->GetBinCenter(xb),2));
0487         if (r < rangeRBHCal[0]){
0488           hBHCalDIS_XY->SetBinContent(zb,xb,0);
0489           hBHCalPBeamGas_XY->SetBinContent(zb,xb,0);
0490         }
0491       }
0492     }
0493     TH2F* hBHCalAll_XY        = (TH2F*)hBHCalDIS_XY->Clone("hBHCalAll_XY");
0494     hBHCalAll_XY->Sumw2();
0495     hBHCalAll_XY->Add(hBHCalPBeamGas_XY);
0496     
0497 
0498     // Projections to ZX direction
0499     h3DIS->GetZaxis()->SetRange(h3DIS->GetZaxis()->FindBin(-327.825-40), h3DIS->GetZaxis()->FindBin(327.825+40));
0500     h3DIS->GetYaxis()->SetRange(h3DIS->GetYaxis()->FindBin(-1.5),h3DIS->GetYaxis()->FindBin(1.5));
0501     TH2F* hBHCalDIS_ZX        = (TH2F*)h3DIS->Project3D("xze");
0502     hBHCalDIS_ZX->SetName("hBHCalDIS_ZX");
0503     hBHCalDIS_ZX->Scale(1./2);
0504     for (Int_t zb = hBHCalDIS_ZX->GetXaxis()->FindBin(-327.825-40)-1; zb < hBHCalDIS_ZX->GetXaxis()->FindBin(327.825+40)+1; zb++  ){
0505       for (Int_t xb = hBHCalDIS_ZX->GetYaxis()->FindBin(-rangeRBHCal[0])+1; xb < hBHCalDIS_ZX->GetYaxis()->FindBin(rangeRBHCal[0]); xb++  ){
0506           hBHCalDIS_ZX->SetBinContent(zb,xb,0);
0507       }
0508     }
0509 
0510     h3PBeamGas->GetZaxis()->SetRange(h3PBeamGas->GetZaxis()->FindBin(-327.825-40), h3PBeamGas->GetZaxis()->FindBin(327.825+40));
0511     h3PBeamGas->GetYaxis()->SetRange(h3PBeamGas->GetYaxis()->FindBin(-1.5),h3PBeamGas->GetYaxis()->FindBin(1.5));
0512     TH2F* hBHCalPBeamGas_ZX        = (TH2F*)h3PBeamGas->Project3D("xze");
0513     hBHCalPBeamGas_ZX->SetName("hBHCalPBeamGas_ZX");
0514     hBHCalPBeamGas_ZX->Scale(1./2);
0515     for (Int_t zb = hBHCalPBeamGas_ZX->GetXaxis()->FindBin(-327.825-40)-1; zb < hBHCalPBeamGas_ZX->GetXaxis()->FindBin(327.825+40)+1; zb++  ){
0516       for (Int_t xb = hBHCalPBeamGas_ZX->GetYaxis()->FindBin(-rangeRBHCal[0])+1; xb < hBHCalPBeamGas_ZX->GetYaxis()->FindBin(rangeRBHCal[0]); xb++  ){
0517           hBHCalPBeamGas_ZX->SetBinContent(zb,xb,0);
0518       }
0519     }
0520     
0521     TH2F* hBHCalAll_ZX        = (TH2F*)hBHCalDIS_ZX->Clone("hBHCalAll_ZX");
0522     hBHCalAll_ZX->Sumw2();
0523     hBHCalAll_ZX->Add(hBHCalPBeamGas_ZX);
0524 
0525     // Unzoom again in Y
0526     h3DIS->GetYaxis()->SetRange(1,h3DIS->GetNbinsY());
0527     h3PBeamGas->GetYaxis()->SetRange(1,h3PBeamGas->GetNbinsY());
0528     
0529     // Unzoom again in Z
0530     h3DIS->GetZaxis()->SetRange(1, h3PBeamGas->GetNbinsZ());
0531     h3PBeamGas->GetZaxis()->SetRange(1, h3PBeamGas->GetNbinsZ());
0532     
0533     Double_t minBHCal = hBHCalPBeamGas[4]->GetMinimum();
0534     hBHCalDIS[0]->GetYaxis()->SetRangeUser(minBHCal, maxBHcal*2);
0535     hBHCalPBeamGas[0]->GetYaxis()->SetRangeUser(minBHCal, maxBHcal*2);
0536     hBHCalAll[0]->GetYaxis()->SetRangeUser(minBHCal, maxBHcal*2);
0537     hBHCalAllFirst5years[0]->GetYaxis()->SetRangeUser(minBHCal*lumi5years, maxBHcal*2*lumi5years);
0538     hBHCalAllFirst15years[0]->GetYaxis()->SetRangeUser(minBHCal*lumi15years, maxBHcal*2*lumi15years);
0539     
0540     TLegend* legendBHCal = GetAndSetLegend2( 0.72, 0.80, 0.95, 0.96,textSizeRel*0.85, 1, "", 42,0.2);
0541     
0542     for (Int_t b = 0; b< 4; b++){
0543       SetMarkerDefaults(hBHCalDIS[b], "Z (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0544       hBHCalDIS[b]->GetXaxis()->SetRangeUser(-350,350);
0545       SetMarkerDefaults(hBHCalPBeamGas[b], "Z (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0546       hBHCalPBeamGas[b]->GetXaxis()->SetRangeUser(-350,350);
0547       SetMarkerDefaults(hBHCalAll[b], "Z (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0548       hBHCalAll[b]->GetXaxis()->SetRangeUser(-350,350);
0549 
0550       SetMarkerDefaults(hBHCalAllFirst5years[b], "Z (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0551       hBHCalAllFirst5years[b]->GetXaxis()->SetRangeUser(-350,350);
0552 
0553       SetMarkerDefaults(hBHCalAllFirst15years[b], "Z (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0554       hBHCalAllFirst15years[b]->GetXaxis()->SetRangeUser(-350,350);
0555       
0556       legendBHCal->AddEntry(hBHCalDIS[b],Form("%.0f< R (cm) < %.0f", rangeRBHCal[b], rangeRBHCal[b+1]), "p");
0557     }
0558 
0559     c1->SetLogy();
0560     c1->cd();
0561     for (Int_t b = 0; b< 4; b++){
0562       if (b == 0) hBHCalDIS[b]->Draw("pe");
0563       else hBHCalDIS[b]->Draw("same,pe");
0564       
0565     }
0566     legendBHCal->SetHeader("DIS e-p");
0567     legendBHCal->Draw();
0568     DrawLines(-328, -328, minBHCal,  minBHCal*4, 2, kGray+1, 7);
0569     DrawLines(328, 328, minBHCal,  minBHCal*4, 2, kGray+1, 7);
0570     DrawLatex(0.12, 0.92, "#it{BHCal} region, 1 fb^{-1}", false,textSizeRel, 62,0.05, 1);
0571     c1->SaveAs(Form("%sBHCal_MEQ_DIS.pdf",outputDir.Data()));
0572     
0573     c1->cd();
0574     for (Int_t b = 0; b< 4; b++){
0575       if (b == 0) hBHCalPBeamGas[b]->Draw("pe");
0576       else hBHCalPBeamGas[b]->Draw("same,pe");
0577     }
0578     legendBHCal->SetHeader("p beam gas");
0579     legendBHCal->Draw();
0580     DrawLines(-328, -328, minBHCal,  minBHCal*4, 2, kGray+1, 7);
0581     DrawLines(328, 328, minBHCal,  minBHCal*4, 2, kGray+1, 7);
0582     DrawLatex(0.12, 0.92, "#it{BHCal} region, 1 fb^{-1}", false,textSizeRel, 62,0.05, 1);
0583     
0584     c1->SaveAs(Form("%sBHCal_MEQ_PBeamGas.pdf",outputDir.Data()));
0585     
0586     
0587     c1->cd();
0588     for (Int_t b = 0; b< 4; b++){
0589       if (b == 0) hBHCalAll[b]->Draw("pe");
0590       else hBHCalAll[b]->Draw("same,pe");
0591     }
0592     legendBHCal->SetHeader("DIS e-p + p beam gas");
0593     legendBHCal->Draw();
0594     DrawLatex(0.12, 0.92, "#it{BHCal} region, 1 fb^{-1}", false,textSizeRel, 62,0.05, 1);
0595     DrawLines(-328, -328, minBHCal,  minBHCal*4, 2, kGray+1, 7);
0596     DrawLines(328, 328, minBHCal,  minBHCal*4, 2, kGray+1, 7);
0597     
0598     c1->SaveAs(Form("%sBHCal_MEQ_All.pdf",outputDir.Data()));
0599     
0600     
0601     c1->cd();
0602     for (Int_t b = 0; b< 4; b++){
0603       if (b == 0) hBHCalAllFirst5years[b]->Draw("pe");
0604       else hBHCalAllFirst5years[b]->Draw("same,pe");
0605     }
0606     legendBHCal->SetHeader("DIS e-p + p beam gas");
0607     legendBHCal->Draw();
0608     DrawLines(-328, -328, minBHCal*lumi5years,  minBHCal*4*lumi5years, 2, kGray+1, 7);
0609     DrawLines(328, 328, minBHCal*lumi5years,  minBHCal*4*lumi5years, 2, kGray+1, 7);
0610     DrawLatex(0.12, 0.92, Form("#it{BHCal} region, %.0f fb^{-1}", lumi5years), false,textSizeRel, 62,0.05, 1);
0611     
0612     c1->SaveAs(Form("%sBHCal_MEQ_All_5Years.pdf",outputDir.Data()));
0613     
0614     c1->cd();
0615     for (Int_t b = 0; b< 4; b++){
0616       if (b == 0) hBHCalAllFirst15years[b]->Draw("pe");
0617       else hBHCalAllFirst15years[b]->Draw("same,pe");
0618     }
0619     legendBHCal->SetHeader("DIS e-p + p beam gas");
0620     legendBHCal->Draw();    
0621     DrawLines(-328, -328, minBHCal*lumi15years,  minBHCal*4*lumi15years, 2, kGray+1, 7);
0622     DrawLines(328, 328, minBHCal*lumi15years,  minBHCal*4*lumi15years, 2, kGray+1, 7);
0623     DrawLatex(0.12, 0.92, Form("#it{BHCal} region, %.0f fb^{-1}", lumi15years), false,textSizeRel, 62,0.05, 1);
0624     
0625     c1->SaveAs(Form("%sBHCal_MEQ_All_15Years.pdf",outputDir.Data()));
0626     
0627     
0628         //==============================================================================
0629     // Projections X-Y
0630     //==============================================================================    
0631     // DIS radiation radiation load alone
0632     c2->cd();
0633     c2->SetLogz();
0634       hBHCalDIS_XY->GetZaxis()->SetRangeUser(minBHCal,maxBHcal);
0635       SetStyleHistoTH3ForGraphs( hBHCalDIS_XY, "X (cm)", "Y(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0636       hBHCalDIS_XY->Draw("colz");       
0637       DrawLatex(0.1, 0.88, Form("DIS e-p, %.0f fb^{-1}",1.), false,0.85*textSizeRel, 62,0.05, 1);
0638       DrawLatex(0.1, 0.92,Form("#it{BHCal} region"), false,textSizeRel, 62,0.05, 1);
0639     c2->SaveAs(Form("%sBHCal_XY_DIS.pdf",outputDir.Data()));
0640     
0641     // p-Had gas radiation load alone
0642       hBHCalPBeamGas_XY->GetZaxis()->SetRangeUser(minBHCal,maxBHcal);
0643       SetStyleHistoTH3ForGraphs( hBHCalPBeamGas_XY, "X (cm)", "Y(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0644       hBHCalPBeamGas_XY->Draw("colz");       
0645       DrawLatex(0.1, 0.88, Form("p beam gas e-p, %.0f fb^{-1}",1.), false,0.85*textSizeRel, 62,0.05, 1);
0646       DrawLatex(0.1, 0.92,Form("#it{BHCal} region"), false,textSizeRel, 62,0.05, 1);
0647     c2->SaveAs(Form("%sBHCal_XY_PBeamGas.pdf",outputDir.Data()));
0648 
0649     // DIS radiation + p-Had gas radiation load
0650       hBHCalAll_XY->GetZaxis()->SetRangeUser(minBHCal,maxBHcal);
0651       SetStyleHistoTH3ForGraphs( hBHCalAll_XY, "X (cm)", "Y(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0652       hBHCalAll_XY->Draw("colz");       
0653       DrawLatex(0.1, 0.88, Form("DIS e-p + p beam gas e-p, %.0f fb^{-1}",1.), false,0.85*textSizeRel, 62,0.05, 1);
0654       DrawLatex(0.1, 0.92,Form("#it{BHCal} region"), false,textSizeRel, 62,0.05, 1);
0655       
0656       TEllipse* el1 = new TEllipse(0,0,rangeRBHCal[0],rangeRBHCal[0]);
0657       el1->SetFillStyle(0);
0658       el1->SetFillColor(0);
0659       el1->SetLineStyle(7);
0660       el1->SetLineWidth(2);
0661       el1->Draw("same");
0662       TEllipse* el2 = new TEllipse(0,0,rangeRBHCal[4],rangeRBHCal[4]);
0663       el2->SetFillStyle(0);
0664       el2->SetFillColor(0);
0665       el2->SetLineStyle(7);
0666       el2->SetLineWidth(2);
0667       el2->Draw("same");
0668     c2->SaveAs(Form("%sBHCal_XY_All.pdf",outputDir.Data()));
0669     
0670     // DIS radiation radiation load alone
0671     c2->cd();
0672     c2->SetLogz();
0673       hBHCalDIS_ZX->GetZaxis()->SetRangeUser(minBHCal,maxBHcal);
0674       SetStyleHistoTH3ForGraphs( hBHCalDIS_ZX, "Z (cm)", "X(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0675       hBHCalDIS_ZX->Draw("colz");       
0676       DrawLatex(0.82, 0.76, Form("DIS e-p, %.0f fb^{-1}",1.), true,0.85*textSizeRel, 62,0.05, 1);
0677       DrawLatex(0.82, 0.80,Form("#it{BHCal} region, %.1f < y < %.1f",-1.5,1.5), true,textSizeRel, 62,0.05, 1);
0678       DrawLabelsAndLinesBHCal2D(rangeRBHCal, textSizeRel );
0679     c2->SaveAs(Form("%sBHCal_ZX_DIS.pdf",outputDir.Data()));  
0680     
0681     // p-Had gas radiation load alone
0682     c2->cd();
0683     c2->SetLogz();
0684       hBHCalPBeamGas_ZX->GetZaxis()->SetRangeUser(minBHCal,maxBHcal);
0685       SetStyleHistoTH3ForGraphs( hBHCalPBeamGas_ZX, "Z (cm)", "X(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0686       hBHCalPBeamGas_ZX->Draw("colz");       
0687       DrawLatex(0.82, 0.76, Form("p beam gas e-p, %.0f fb^{-1}",1.), true,0.85*textSizeRel, 62,0.05, 1);
0688       DrawLatex(0.82, 0.80,Form("#it{BHCal} region, %.1f < y < %.1f",-1.5,1.5), true,textSizeRel, 62,0.05, 1);
0689       DrawLabelsAndLinesBHCal2D(rangeRBHCal, textSizeRel );
0690     c2->SaveAs(Form("%sBHCal_ZX_PBeamGas.pdf",outputDir.Data()));  
0691     
0692     // DIS radiation + p-Had gas radiation load
0693     c2->cd();
0694     c2->SetLogz();
0695       hBHCalAll_ZX->GetZaxis()->SetRangeUser(minBHCal,maxBHcal);
0696       SetStyleHistoTH3ForGraphs( hBHCalAll_ZX, "Z (cm)", "X(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0697       hBHCalAll_ZX->Draw("colz");       
0698       DrawLatex(0.82, 0.76, Form("DIS e-p + p beam gas e-p, %.0f fb^{-1}",1.), true,0.85*textSizeRel, 62,0.05, 1);
0699       DrawLatex(0.82, 0.80,Form("#it{BHCal} region, %.1f < y (cm) < %.1f",-1.5,1.5), true,textSizeRel, 62,0.05, 1);
0700       DrawLabelsAndLinesBHCal2D(rangeRBHCal, textSizeRel );
0701     c2->SaveAs(Form("%sBHCal_ZX_All.pdf",outputDir.Data()));  
0702 
0703 
0704     // *****************************************************************************************************
0705     // Projections for NHCal region
0706     // *****************************************************************************************************
0707     Double_t rangeZNHCal[7] = { 385, 400, 410, 420, 430, 440, 450 };
0708     TH1F* hNHCalDIS_X[8];
0709     TH1F* hNHCalPBeamGas_X[8];
0710     TH1F* hNHCalAll_X[8];
0711     TH1F* hNHCalDIS_Y[8];
0712     TH1F* hNHCalPBeamGas_Y[8];
0713     TH1F* hNHCalAll_Y[8];
0714     TH1F* hNHCalAllFirst5years_X[8];
0715     TH1F* hNHCalAllFirst15years_X[8];
0716     TH1F* hNHCalAllFirst5years_Y[8];
0717     TH1F* hNHCalAllFirst15years_Y[8];
0718 
0719     TH2F* hNHCalDIS_XY[8];
0720     TH2F* hNHCalPBeamGas_XY[8];
0721     TH2F* hNHCalAll_XY[8];   
0722 
0723     // Projections in various ranges
0724     Double_t maxNHCal= 0;
0725     for (Int_t b = 0; b< 6; b++){
0726       Int_t binZMin = h3DIS->GetZaxis()->FindBin(-rangeZNHCal[b+1]);
0727       Int_t binZMax = h3DIS->GetZaxis()->FindBin(-rangeZNHCal[b]);
0728       Double_t nBinsPrZ = TMath::Abs(binZMax-binZMin);
0729       
0730       std::cout << "NHCal segment: " << b << "\n" 
0731           << Form("--> X: %d - %d, delta %f", binXMin, binXMax, nBinsPrX) << "\n" 
0732           << Form("--> Y: %d - %d, delta %f", binYMin, binYMax, nBinsPrY) << "\n" 
0733           << Form("--> Z: %d - %d, delta %f", binZMin, binZMax, nBinsPrZ) << "\n" 
0734           << Form("--> Z cm: %f - %f", -rangeZNHCal[b], -rangeZNHCal[b+1])<< "\n" 
0735           << std::endl;
0736       
0737       hNHCalDIS_X[b]        = (TH1F*)h3DIS->ProjectionX(Form("hNHCalDIS_X_%i", b), binYMin, binYMax, binZMin, binZMax, "e");
0738       hNHCalDIS_X[b]->Scale(1./(nBinsPrY*nBinsPrZ));
0739       for (Int_t i = 1; i < hNHCalDIS_X[b]->GetNbinsX()+1; i++)
0740         hNHCalDIS_X[b]->SetBinError(i,0.);
0741       hNHCalPBeamGas_X[b]   = (TH1F*)h3PBeamGas->ProjectionX(Form("hNHCalPBeamGas_X_%i", b), binYMin, binYMax, binZMin, binZMax, "e");
0742       hNHCalPBeamGas_X[b]->Scale(1./(nBinsPrY*nBinsPrZ));
0743       for (Int_t i = 1; i < hNHCalPBeamGas_X[b]->GetNbinsX()+1; i++)
0744         hNHCalPBeamGas_X[b]->SetBinError(i,0.);
0745       hNHCalAll_X[b]        = (TH1F*)hNHCalDIS_X[b]->Clone(Form("hNHCalAll_X_%i", b));
0746       hNHCalAll_X[b]->Sumw2();
0747       hNHCalAll_X[b]->Add(hNHCalPBeamGas_X[b]);
0748       if (maxNHCal < hNHCalAll_X[b]->GetMaximum()) maxNHCal= hNHCalAll_X[b]->GetMaximum();
0749       
0750       hNHCalAllFirst5years_X[b]        = (TH1F*)hNHCalAll_X[b]->Clone(Form("hNHCalAllFirst5_X_%i", b));
0751       hNHCalAllFirst5years_X[b]->Scale(lumi5years);
0752       hNHCalAllFirst15years_X[b]       = (TH1F*)hNHCalAll_X[b]->Clone(Form("hNHCalAllFirst15_X_%i", b));
0753       hNHCalAllFirst15years_X[b]->Scale(lumi15years);
0754 
0755       // Projections to Y direction
0756       hNHCalDIS_Y[b]        = (TH1F*)h3DIS->ProjectionY(Form("hNHCalDIS_Y_%i", b), binXMin, binXMax, binZMin, binZMax, "e");
0757       hNHCalDIS_Y[b]->Scale(1./(nBinsPrX*nBinsPrZ));
0758       for (Int_t i = 1; i < hNHCalDIS_Y[b]->GetNbinsX()+1; i++)
0759         hNHCalDIS_Y[b]->SetBinError(i,0.);
0760       hNHCalPBeamGas_Y[b]   = (TH1F*)h3PBeamGas->ProjectionY(Form("hNHCalPBeamGas_Y_%i", b), binXMin, binXMax, binZMin, binZMax, "e");
0761       hNHCalPBeamGas_Y[b]->Scale(1./(nBinsPrX*nBinsPrZ));
0762       for (Int_t i = 1; i < hNHCalPBeamGas_Y[b]->GetNbinsX()+1; i++)
0763         hNHCalPBeamGas_Y[b]->SetBinError(i,0.);
0764       hNHCalAll_Y[b]        = (TH1F*)hNHCalDIS_Y[b]->Clone(Form("hNHCalAll_Y_%i", b));
0765       hNHCalAll_Y[b]->Sumw2();
0766       hNHCalAll_Y[b]->Add(hNHCalPBeamGas_Y[b]);
0767       
0768       hNHCalAllFirst5years_Y[b]        = (TH1F*)hNHCalAll_Y[b]->Clone(Form("hNHCalAllFirst5_Y_%i", b));
0769       hNHCalAllFirst5years_Y[b]->Scale(lumi5years);
0770       hNHCalAllFirst15years_Y[b]       = (TH1F*)hNHCalAll_Y[b]->Clone(Form("hNHCalAllFirst15_Y_%i", b));
0771       hNHCalAllFirst15years_Y[b]->Scale(lumi15years);
0772       
0773       // Projections to XY direction
0774       h3DIS->GetZaxis()->SetRange(h3DIS->GetZaxis()->FindBin(rangeZNHCal[b]), h3DIS->GetZaxis()->FindBin(rangeZNHCal[b+1]));
0775       hNHCalDIS_XY[b]        = (TH2F*)h3DIS->Project3D("yxe");
0776       hNHCalDIS_XY[b]->SetName(Form("hNHCalDIS_XY%i", b));
0777       // hNHCalDIS_XY[b]->Sumw2();
0778       hNHCalDIS_XY[b]->Scale(1./(nBinsPrZ));
0779 
0780       h3PBeamGas->GetZaxis()->SetRange(h3PBeamGas->GetZaxis()->FindBin(rangeZNHCal[b]), h3PBeamGas->GetZaxis()->FindBin(rangeZNHCal[b+1]));
0781       hNHCalPBeamGas_XY[b]        = (TH2F*)h3PBeamGas->Project3D("yxe");
0782       hNHCalPBeamGas_XY[b]->SetName(Form("hNHCalPBeamGas_XY%i", b));
0783       // hNHCalPBeamGas_XY[b]->Sumw2();
0784       hNHCalPBeamGas_XY[b]->Scale(1./(nBinsPrZ));
0785       
0786       hNHCalAll_XY[b]        = (TH2F*)hNHCalDIS_XY[b]->Clone(Form("hNHCalAll_XY_%i", b));
0787       hNHCalAll_XY[b]->Sumw2();
0788       hNHCalAll_XY[b]->Add(hNHCalPBeamGas_XY[b]);
0789    
0790     }
0791     
0792     Double_t minNHCal = hNHCalPBeamGas_X[0]->GetMinimum()/3;
0793    
0794     // Projections to ZX direction
0795     h3DIS->GetZaxis()->SetRange(h3DIS->GetZaxis()->FindBin(-rangeZNHCal[6]-10), h3DIS->GetZaxis()->FindBin(-rangeZNHCal[0]+10));
0796     h3DIS->GetYaxis()->SetRange(h3DIS->GetYaxis()->FindBin(-1.5),h3DIS->GetYaxis()->FindBin(1.5));
0797     TH2F* hNHCalDIS_ZX        = (TH2F*)h3DIS->Project3D("xze");
0798     hNHCalDIS_ZX->SetName("hNHCalDIS_ZX");
0799     hNHCalDIS_ZX->Scale(1./2);
0800     
0801     h3PBeamGas->GetZaxis()->SetRange(h3PBeamGas->GetZaxis()->FindBin(-rangeZNHCal[6]-10), h3DIS->GetZaxis()->FindBin(-rangeZNHCal[0]+10));
0802     h3PBeamGas->GetYaxis()->SetRange(h3PBeamGas->GetYaxis()->FindBin(-1.5),h3PBeamGas->GetYaxis()->FindBin(1.5));
0803     TH2F* hNHCalPBeamGas_ZX        = (TH2F*)h3PBeamGas->Project3D("xze");
0804     hNHCalPBeamGas_ZX->SetName("hNHCalPBeamGas_ZX");
0805     hNHCalPBeamGas_ZX->Scale(1./2);
0806     
0807     TH2F* hNHCalAll_ZX        = (TH2F*)hNHCalDIS_ZX->Clone("hNHCalAll_ZX");
0808     hNHCalAll_ZX->Sumw2();
0809     hNHCalAll_ZX->Add(hNHCalPBeamGas_ZX);
0810 
0811     // Unzoom again in Y
0812     h3DIS->GetYaxis()->SetRange(1,h3DIS->GetNbinsY());
0813     h3PBeamGas->GetYaxis()->SetRange(1,h3PBeamGas->GetNbinsY());
0814     
0815     // Unzoom again in Z
0816     h3DIS->GetZaxis()->SetRange(1, h3PBeamGas->GetNbinsZ());
0817     h3PBeamGas->GetZaxis()->SetRange(1, h3PBeamGas->GetNbinsZ());
0818     
0819     
0820     hNHCalDIS_X[0]->GetYaxis()->SetRangeUser(minNHCal, maxNHCal*4);
0821     hNHCalPBeamGas_X[0]->GetYaxis()->SetRangeUser(minNHCal, maxNHCal*4);
0822     hNHCalAll_X[0]->GetYaxis()->SetRangeUser(minNHCal, maxNHCal*4);
0823     hNHCalAllFirst5years_X[0]->GetYaxis()->SetRangeUser(minNHCal*lumi5years, maxNHCal*4*lumi5years);
0824     hNHCalAllFirst15years_X[0]->GetYaxis()->SetRangeUser(minNHCal*lumi15years, maxNHCal*4*lumi15years);
0825 
0826     hNHCalDIS_Y[0]->GetYaxis()->SetRangeUser(minNHCal, maxNHCal*4);
0827     hNHCalPBeamGas_Y[0]->GetYaxis()->SetRangeUser(minNHCal, maxNHCal*4);
0828     hNHCalAll_Y[0]->GetYaxis()->SetRangeUser(minNHCal, maxNHCal*4);
0829     hNHCalAllFirst5years_Y[0]->GetYaxis()->SetRangeUser(minNHCal*lumi5years, maxNHCal*4*lumi5years);
0830     hNHCalAllFirst15years_Y[0]->GetYaxis()->SetRangeUser(minNHCal*lumi15years, maxNHCal*4*lumi15years);
0831     
0832     
0833     //*****************************************************************************************************
0834     // Draw projections for LFHCal region
0835     //*****************************************************************************************************
0836     TString labelLayerNHCal[8]   = {"electronics", "seg. 1", "seg. 2", "seg. 3", "seg. 4", "seg. 5", "seg. 6", "seg. 7"};
0837     TLegend* legendNHCal = GetAndSetLegend2( 0.72, 0.84, 0.95, 0.96,textSizeRel*0.85, 2, "", 42,0.2);
0838                             
0839     //==============================================================================
0840     // Projections X
0841     //==============================================================================
0842     for (Int_t b = 0; b< 6; b++){
0843       SetMarkerDefaults(hNHCalDIS_X[b], "X (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0844       hNHCalDIS_X[b]->GetXaxis()->SetRangeUser(-260,260);
0845       SetMarkerDefaults(hNHCalPBeamGas_X[b], "X (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0846       hNHCalPBeamGas_X[b]->GetXaxis()->SetRangeUser(-260,260);
0847       SetMarkerDefaults(hNHCalAll_X[b], "X (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0848       hNHCalAll_X[b]->GetXaxis()->SetRangeUser(-260,260);
0849       SetMarkerDefaults(hNHCalAllFirst5years_X[b], "X (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0850       hNHCalAllFirst5years_X[b]->GetXaxis()->SetRangeUser(-260,260);
0851       SetMarkerDefaults(hNHCalAllFirst15years_X[b], "X (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0852       hNHCalAllFirst15years_X[b]->GetXaxis()->SetRangeUser(-260,260);
0853       
0854       legendNHCal->AddEntry(hNHCalDIS_X[b],labelLayerNHCal[b].Data(), "p");
0855     }
0856     
0857     // DIS radiation radiation load alone
0858     c1->SetLogy();
0859     c1->cd();
0860       for (Int_t b = 0; b< 6; b++){
0861         if (b == 0) hNHCalDIS_X[b]->Draw("pe");
0862         else hNHCalDIS_X[b]->Draw("same,pe");
0863       }
0864       legendNHCal->SetHeader("DIS e-p");
0865       legendNHCal->Draw();
0866       DrawLabelsAndLinesNHCal1D(minNHCal, minNHCal*4, textSizeRel, 1.);
0867     c1->SaveAs(Form("%sNHCal_X_DIS.pdf",outputDir.Data()));
0868     
0869     // p-Had gas radiation load alone
0870     c1->cd();
0871       for (Int_t b = 0; b< 6; b++){
0872         if (b == 0) hNHCalPBeamGas_X[b]->Draw("pe");
0873         else hNHCalPBeamGas_X[b]->Draw("same,pe");
0874       }
0875       legendNHCal->SetHeader("p beam gas");
0876       legendNHCal->Draw();
0877       DrawLabelsAndLinesNHCal1D(minNHCal, minNHCal*4, textSizeRel, 1.);
0878     c1->SaveAs(Form("%sNHCal_X_PBeamGas.pdf",outputDir.Data()));
0879     
0880     // DIS radiation + p-Had gas radiation load
0881     c1->cd();
0882       for (Int_t b = 0; b< 6; b++){
0883         if (b == 0) hNHCalAll_X[b]->Draw("pe");
0884         else hNHCalAll_X[b]->Draw("same,pe");
0885       }
0886       legendNHCal->SetHeader("DIS e-p + p beam gas");
0887       legendNHCal->Draw();
0888       DrawLabelsAndLinesNHCal1D(minNHCal, minNHCal*4, textSizeRel, 1.);    
0889     c1->SaveAs(Form("%sNHCal_X_All.pdf",outputDir.Data()));
0890     
0891     // DIS radiation + p-Had gas radiation load 5 years
0892     c1->cd();
0893       for (Int_t b = 0; b< 6; b++){
0894         if (b == 0) hNHCalAllFirst5years_X[b]->Draw("pe");
0895         else hNHCalAllFirst5years_X[b]->Draw("same,pe");
0896       }
0897       legendNHCal->SetHeader("DIS e-p + p beam gas");
0898       legendNHCal->Draw();
0899       DrawLabelsAndLinesNHCal1D(minNHCal*lumi5years, minNHCal*4*lumi5years, textSizeRel, lumi5years);
0900     c1->SaveAs(Form("%sNHCal_X_All_5Years.pdf",outputDir.Data()));
0901     
0902     // DIS radiation + p-Had gas radiation load 15 years
0903     c1->cd();
0904       for (Int_t b = 0; b< 6; b++){
0905         if (b == 0) hNHCalAllFirst15years_X[b]->Draw("pe");
0906         else hNHCalAllFirst15years_X[b]->Draw("same,pe");
0907       }
0908       legendNHCal->SetHeader("DIS e-p + p beam gas");
0909       legendNHCal->Draw();
0910       DrawLabelsAndLinesNHCal1D(minNHCal*lumi15years, minNHCal*4*lumi15years, textSizeRel, lumi5years);
0911     c1->SaveAs(Form("%sNHCal_X_All_15Years.pdf",outputDir.Data()));
0912     
0913     //==============================================================================
0914     // Projections Y
0915     //==============================================================================
0916     for (Int_t b = 0; b< 6; b++){
0917       SetMarkerDefaults(hNHCalDIS_Y[b], "Y (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0918       hNHCalDIS_Y[b]->GetXaxis()->SetRangeUser(-260,260);
0919       SetMarkerDefaults(hNHCalPBeamGas_Y[b], "Y (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0920       hNHCalPBeamGas_Y[b]->GetXaxis()->SetRangeUser(-260,260);
0921       SetMarkerDefaults(hNHCalAll_Y[b], "Y (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0922       hNHCalAll_Y[b]->GetXaxis()->SetRangeUser(-260,260);
0923       SetMarkerDefaults(hNHCalAllFirst5years_Y[b], "Y (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0924       hNHCalAllFirst5years_Y[b]->GetXaxis()->SetRangeUser(-260,260);
0925       SetMarkerDefaults(hNHCalAllFirst15years_Y[b], "Y (cm)", "1 MEQ Neutron Fluence (cm^{-2})", markerStyle[b], 1, color[b], color[b], textSizeRel, 0.85*textSizeRel, 1., 1.);
0926       hNHCalAllFirst15years_Y[b]->GetXaxis()->SetRangeUser(-260,260);
0927     }
0928     
0929     // DIS radiation radiation load alone
0930     c1->SetLogy();
0931     c1->cd();
0932       for (Int_t b = 0; b< 6; b++){
0933         if (b == 0) hNHCalDIS_Y[b]->Draw("pe");
0934         else hNHCalDIS_Y[b]->Draw("same,pe");
0935       }
0936       legendNHCal->SetHeader("DIS e-p");
0937       legendNHCal->Draw();
0938       DrawLabelsAndLinesNHCal1D(minNHCal, minNHCal*4, textSizeRel, 1.);
0939     c1->SaveAs(Form("%sNHCal_Y_DIS.pdf",outputDir.Data()));
0940     
0941     // p-Had gas radiation load alone
0942     c1->cd();
0943       for (Int_t b = 0; b< 6; b++){
0944         if (b == 0) hNHCalPBeamGas_Y[b]->Draw("pe");
0945         else hNHCalPBeamGas_Y[b]->Draw("same,pe");
0946       }
0947       legendNHCal->SetHeader("p beam gas");
0948       legendNHCal->Draw();
0949       DrawLabelsAndLinesNHCal1D(minNHCal, minNHCal*4, textSizeRel, 1.);
0950     c1->SaveAs(Form("%sNHCal_Y_PBeamGas.pdf",outputDir.Data()));
0951     
0952     // DIS radiation + p-Had gas radiation load
0953     c1->cd();
0954       for (Int_t b = 0; b< 6; b++){
0955         if (b == 0) hNHCalAll_Y[b]->Draw("pe");
0956         else hNHCalAll_Y[b]->Draw("same,pe");
0957       }
0958       legendNHCal->SetHeader("DIS e-p + p beam gas");
0959       legendNHCal->Draw();
0960       DrawLabelsAndLinesNHCal1D(minNHCal, minNHCal*4, textSizeRel, 1.);    
0961     c1->SaveAs(Form("%sNHCal_Y_All.pdf",outputDir.Data()));
0962     
0963     // DIS radiation + p-Had gas radiation load 5 years
0964     c1->cd();
0965       for (Int_t b = 0; b< 6; b++){
0966         if (b == 0) hNHCalAllFirst5years_Y[b]->Draw("pe");
0967         else hNHCalAllFirst5years_Y[b]->Draw("same,pe");
0968       }
0969       legendNHCal->SetHeader("DIS e-p + p beam gas");
0970       legendNHCal->Draw();
0971       DrawLabelsAndLinesNHCal1D(minNHCal*lumi5years, minNHCal*4*lumi5years, textSizeRel, lumi5years);
0972     c1->SaveAs(Form("%sNHCal_Y_All_5Years.pdf",outputDir.Data()));
0973     
0974     // DIS radiation + p-Had gas radiation load 15 years
0975     c1->cd();
0976       for (Int_t b = 0; b< 6; b++){
0977         if (b == 0) hNHCalAllFirst15years_Y[b]->Draw("pe");
0978         else hNHCalAllFirst15years_Y[b]->Draw("same,pe");
0979       }
0980       legendNHCal->SetHeader("DIS e-p + p beam gas");
0981       legendNHCal->Draw();
0982       DrawLabelsAndLinesNHCal1D(minNHCal*lumi15years, minNHCal*4*lumi15years, textSizeRel, lumi5years);
0983     c1->SaveAs(Form("%sNHCal_Y_All_15Years.pdf",outputDir.Data()));
0984     
0985     //==============================================================================
0986     // Projections X-Y
0987     //==============================================================================    
0988     for (Int_t b = 0; b< 6; b++){
0989       // DIS radiation radiation load alone
0990       c2->cd();
0991       c2->SetLogz();
0992         hNHCalDIS_XY[b]->GetZaxis()->SetRangeUser(minNHCal,maxNHCal);
0993         SetStyleHistoTH3ForGraphs( hNHCalDIS_XY[b], "X (cm)", "Y(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
0994         hNHCalDIS_XY[b]->Draw("colz");       
0995         DrawLatex(0.1, 0.88, Form("DIS e-p, %.0f fb^{-1}",1.), false,0.85*textSizeRel, 62,0.05, 1);
0996         DrawLatex(0.1, 0.92,Form("#it{NHCal} region, %s",labelLayerNHCal[b].Data()), false,textSizeRel, 62,0.05, 1);
0997       c2->SaveAs(Form("%sNHCal_XY_DIS_%i.pdf",outputDir.Data(),b));
0998       
0999       // p-Had gas radiation load alone
1000         hNHCalPBeamGas_XY[b]->GetZaxis()->SetRangeUser(minNHCal,maxNHCal);
1001         SetStyleHistoTH3ForGraphs( hNHCalPBeamGas_XY[b], "X (cm)", "Y(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
1002         hNHCalPBeamGas_XY[b]->Draw("colz");       
1003         DrawLatex(0.1, 0.88, Form("p beam gas e-p, %.0f fb^{-1}",1.), false,0.85*textSizeRel, 62,0.05, 1);
1004         DrawLatex(0.1, 0.92,Form("#it{NHCal} region, %s",labelLayerNHCal[b].Data()), false,textSizeRel, 62,0.05, 1);
1005       c2->SaveAs(Form("%sNHCal_XY_PBeamGas_%i.pdf",outputDir.Data(),b));
1006 
1007       // DIS radiation + p-Had gas radiation load
1008         hNHCalAll_XY[b]->GetZaxis()->SetRangeUser(minNHCal,maxNHCal);
1009         SetStyleHistoTH3ForGraphs( hNHCalAll_XY[b], "X (cm)", "Y(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
1010         hNHCalAll_XY[b]->Draw("colz");       
1011         DrawLatex(0.1, 0.88, Form("DIS e-p + p beam gas e-p, %.0f fb^{-1}",1.), false,0.85*textSizeRel, 62,0.05, 1);
1012         DrawLatex(0.1, 0.92,Form("#it{NHCal} region, %s",labelLayerNHCal[b].Data()), false,textSizeRel, 62,0.05, 1);
1013       c2->SaveAs(Form("%sNHCal_XY_All_%i.pdf",outputDir.Data(),b));
1014     }
1015     
1016     // DIS radiation radiation load alone
1017     c2->cd();
1018     c2->SetLogz();
1019       hNHCalDIS_ZX->GetZaxis()->SetRangeUser(minNHCal,maxNHCal);
1020       SetStyleHistoTH3ForGraphs( hNHCalDIS_ZX, "Z (cm)", "X(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
1021       hNHCalDIS_ZX->Draw("colz");       
1022       DrawLatex(0.72, 0.90, Form("DIS e-p, %.0f fb^{-1}",1.), true,0.85*textSizeRel, 62,0.05, 1);
1023       DrawLatex(0.72, 0.94,Form("#it{NHCal} region, %.1f < y < %.1f",-1.5,1.5), true,textSizeRel, 62,0.05, 1);
1024       DrawLabelsAndLinesNHCal2D(rangeZNHCal,labelLayerNHCal, textSizeRel );
1025     c2->SaveAs(Form("%sNHCal_ZX_DIS.pdf",outputDir.Data()));  
1026     
1027     // p-Had gas radiation load alone
1028     c2->cd();
1029     c2->SetLogz();
1030       hNHCalPBeamGas_ZX->GetZaxis()->SetRangeUser(minNHCal,maxNHCal);
1031       SetStyleHistoTH3ForGraphs( hNHCalPBeamGas_ZX, "Z (cm)", "X(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
1032       hNHCalPBeamGas_ZX->Draw("colz");       
1033       DrawLatex(0.72, 0.90, Form("p beam gas e-p, %.0f fb^{-1}",1.), true,0.85*textSizeRel, 62,0.05, 1);
1034       DrawLatex(0.72, 0.94,Form("#it{NHCal} region, %.1f < y < %.1f",-1.5,1.5), true,textSizeRel, 62,0.05, 1);
1035       DrawLabelsAndLinesNHCal2D(rangeZNHCal,labelLayerNHCal, textSizeRel );
1036     c2->SaveAs(Form("%sNHCal_ZX_PBeamGas.pdf",outputDir.Data()));  
1037     
1038     // DIS radiation + p-Had gas radiation load
1039     c2->cd();
1040     c2->SetLogz();
1041       hNHCalAll_ZX->GetZaxis()->SetRangeUser(minNHCal,maxNHCal);
1042       SetStyleHistoTH3ForGraphs( hNHCalAll_ZX, "Z (cm)", "X(cm)", "1 MEQ Neutron Fluence (cm^{-2})", 0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,0.85*textSizeRel, textSizeRel,  1., 1., 1);
1043       hNHCalAll_ZX->Draw("colz");       
1044       DrawLatex(0.72, 0.90, Form("DIS e-p + p beam gas e-p, %.0f fb^{-1}",1.), true,0.85*textSizeRel, 62,0.05, 1);
1045       DrawLatex(0.72, 0.94,Form("#it{NHCal} region, %.1f < y (cm) < %.1f",-1.5,1.5), true,textSizeRel, 62,0.05, 1);
1046       DrawLabelsAndLinesNHCal2D(rangeZNHCal,labelLayerNHCal, textSizeRel );
1047     c2->SaveAs(Form("%sNHCal_ZX_All.pdf",outputDir.Data()));  
1048     
1049 // 
1050 //     delete c1;
1051 }