ROOT logo
void ScaleByBinWidth(TH1 *histo);
void ScaleByBinWidth(TH2 *histo);
void SetStyles(TH1 *histo,int marker, int color,char *xtitle, char *ytitle, Bool_t scale = kFALSE);
void PlotKaonDeposits(TString filename="rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal.LHC11a10a_bis.Run137366.root"){

  gStyle->SetOptTitle(0);
  gStyle->SetOptStat(0);
  gStyle->SetOptFit(0);

  TFile *f = TFile::Open(filename, "READ");
  TList *l = (TList*)f->Get("out1");
  TH1F *fHistSimKaonsInAcceptance = l->FindObject("fHistSimKaonsInAcceptance");
  TH1F *fHistSimK0SInAcceptance = l->FindObject("fHistSimK0SInAcceptance");
  TH1F *fHistSimK0LInAcceptance = l->FindObject("fHistSimK0LInAcceptance");
  TH1F *fHistSimKPlusInAcceptance = l->FindObject("fHistSimKPlusInAcceptance");
  TH1F *fHistSimKMinusInAcceptance = l->FindObject("fHistSimKMinusInAcceptance");
  TH1F *fHistSimKaonsOutOfAcceptance = l->FindObject("fHistSimKaonsOutOfAcceptance");
  TH1F *fHistSimKaonsInAcceptanceWithDepositsPrimaries = l->FindObject("fHistSimKaonsInAcceptanceWithDepositsPrimaries");
  TH1F *fHistSimKaonsOutOfAcceptanceWithDepositsPrimaries = l->FindObject("fHistSimKaonsOutOfAcceptanceWithDepositsPrimaries");
  TH1F *fHistSimKaonsOutOfAcceptanceWithDepositsSecondaries = l->FindObject("fHistSimKaonsOutOfAcceptanceWithDepositsSecondaries");
  
  SetStyles(fHistSimKaonsInAcceptance,20,2,"p_{T}","Number of kaons",kTRUE);
  SetStyles(fHistSimK0SInAcceptance,20,3,"p_{T}","Number of kaons",kTRUE);
  SetStyles(fHistSimK0LInAcceptance,20,4,"p_{T}","Number of kaons",kTRUE);
  SetStyles(fHistSimKMinusInAcceptance,20,5,"p_{T}","Number of kaons",kTRUE);
  SetStyles(fHistSimKPlusInAcceptance,20,6,"p_{T}","Number of kaons",kTRUE);
  SetStyles(fHistSimKaonsOutOfAcceptance,20,7,"p_{T}","Number of kaons",kTRUE);
  SetStyles(fHistSimKaonsInAcceptanceWithDepositsPrimaries,20,2,"p_{T}","Number of kaons",kTRUE);
  SetStyles(fHistSimKaonsOutOfAcceptanceWithDepositsPrimaries,21,4,"p_{T}","Number of kaons",kTRUE);
  SetStyles(fHistSimKaonsOutOfAcceptanceWithDepositsSecondaries,22,3,"p_{T}","Number of kaons",kTRUE);


  TCanvas *c1 = new TCanvas("c1","c1",600,400);
  c1->SetTopMargin(0.02);
  c1->SetRightMargin(0.02);
  c1->SetBorderSize(0);
  c1->SetFillColor(0);
  c1->SetFillColor(0);
  c1->SetBorderMode(0);
  c1->SetFrameFillColor(0);
  c1->SetFrameBorderMode(0);
  c1->SetLogy();
  fHistSimKaonsInAcceptance->Draw();
  fHistSimKaonsInAcceptance->GetXaxis()->SetRange(1,fHistSimKaonsInAcceptance->FindBin(3.0));
  fHistSimK0SInAcceptance->Draw("same");
  fHistSimK0LInAcceptance->Draw("same");
  fHistSimKMinusInAcceptance->Draw("same");
  fHistSimKPlusInAcceptance->Draw("same");

  TCanvas *c2 = new TCanvas("c2","c2",600,400);
  c2->SetTopMargin(0.02);
  c2->SetRightMargin(0.02);
  c2->SetBorderSize(0);
  c2->SetFillColor(0);
  c2->SetFillColor(0);
  c2->SetBorderMode(0);
  c2->SetFrameFillColor(0);
  c2->SetFrameBorderMode(0);
  c2->SetLogy();
  fHistSimKaonsInAcceptanceWithDepositsPrimaries->Draw();
  fHistSimKaonsOutOfAcceptanceWithDepositsPrimaries->Draw("same");
  fHistSimKaonsOutOfAcceptanceWithDepositsSecondaries->Draw("same");
  TLegend *leg1 = new TLegend(0.223154,0.685484,0.387584,0.965054);
  leg1->SetFillStyle(0);
  leg1->SetFillColor(0);
  leg1->SetBorderSize(0);
  leg1->SetTextSize(0.03);
  leg1->AddEntry(fHistSimKaonsInAcceptanceWithDepositsPrimaries,"Primary kaons with |y|<0.5 which deposited energy");
  leg1->AddEntry(fHistSimKaonsOutOfAcceptanceWithDepositsPrimaries,"Primary kaons with |y|>0.5 which deposited energy");
  leg1->AddEntry(fHistSimKaonsOutOfAcceptanceWithDepositsSecondaries,"Secondary kaons with |y|<0.5 which deposited energy");
  leg1->SetTextSize(0.0456989);
  leg1->Draw();


  TCanvas *c3 = new TCanvas("c3","c3",600,400);
  c3->SetTopMargin(0.02);
  c3->SetRightMargin(0.02);
  c3->SetBorderSize(0);
  c3->SetFillColor(0);
  c3->SetFillColor(0);
  c3->SetBorderMode(0);
  c3->SetFrameFillColor(0);
  c3->SetFrameBorderMode(0);
  TH1F *hTotal = fHistSimKaonsInAcceptanceWithDepositsPrimaries->Clone("hTotal");
  hTotal->Add(fHistSimKaonsOutOfAcceptanceWithDepositsPrimaries);
  hTotal->Add(fHistSimKaonsOutOfAcceptanceWithDepositsSecondaries);
  TH1F *hKaonsInAccPrimaries = fHistSimKaonsInAcceptanceWithDepositsPrimaries->Clone("hKaonsInAccPrimaries");
  TH1F *hKaonsOutAccPrimaries = fHistSimKaonsOutOfAcceptanceWithDepositsPrimaries->Clone("hKaonsOutAccPrimaries");
  TH1F *hKaonsOutAccSecondary = fHistSimKaonsOutOfAcceptanceWithDepositsSecondaries->Clone("hKaonsOutAccSecondaries");
  hKaonsInAccPrimaries->Divide(hTotal);
  hKaonsOutAccPrimaries->Divide(hTotal);
  hKaonsOutAccSecondaries->Divide(hTotal);
  hKaonsInAccPrimaries->SetMaximum(1.0);
  hKaonsInAccPrimaries->SetMinimum(0.0);
  hKaonsInAccPrimaries->GetXaxis()->SetRange(1,fHistSimKaonsInAcceptance->FindBin(3.0));
  hKaonsInAccPrimaries->Draw();
  hKaonsOutAccPrimaries->Draw("same");
  hKaonsOutAccSecondaries->Draw("same");
  TLegend *leg2 = new TLegend(0.223154,0.685484,0.387584,0.965054);
  leg2->SetFillStyle(0);
  leg2->SetFillColor(0);
  leg2->SetBorderSize(0);
  leg2->SetTextSize(0.03);
  leg2->AddEntry(hKaonsInAccPrimaries,"Primary kaons with |y|<0.5 which deposited energy");
  leg2->AddEntry(hKaonsOutAccPrimaries,"Primary kaons with |y|>0.5 which deposited energy");
  leg2->AddEntry(hKaonsOutAccSecondaries,"Secondary kaons with |y|<0.5 which deposited energy");
  leg2->SetTextSize(0.0456989);
  leg2->Draw();

  TCanvas *c4 = new TCanvas("c4","c4",600,400);
  c4->SetTopMargin(0.02);
  c4->SetRightMargin(0.02);
  c4->SetBorderSize(0);
  c4->SetFillColor(0);
  c4->SetFillColor(0);
  c4->SetBorderMode(0);
  c4->SetFrameFillColor(0);
  c4->SetFrameBorderMode(0);
  TH1F *hInAcc = fHistSimKaonsInAcceptance->Clone("hInAcc");
  TH1F *hOutAcc = fHistSimKaonsOutOfAcceptance->Clone("hOutAcc");
  TH1F *hTotal2 = fHistSimKaonsInAcceptance->Clone("hTotal2");
  hTotal2->Add(hOutAcc);
  hInAcc->Divide(hTotal2);
  hOutAcc->Divide(hTotal2);
  hInAcc->SetMaximum(0.13);
  hInAcc->SetMinimum(0.0);
  hOutAcc->Scale(0.1);
  hInAcc->GetXaxis()->SetRange(1,hInAcc->FindBin(3.0));
  hInAcc->Draw();
  hOutAcc->Draw("same");
  TLegend *leg3 = new TLegend(0.223154,0.685484,0.387584,0.965054);
  leg3->SetFillStyle(0);
  leg3->SetFillColor(0);
  leg3->SetBorderSize(0);
  leg3->SetTextSize(0.03);
  leg3->AddEntry(hInAcc,"Kaons with |y|<0.5");
  leg3->AddEntry(hOutAcc,"0.1*Kaons with |y|>0.5");
  leg3->SetTextSize(0.0456989);
  leg3->Draw();

  TH3F *fHistK0EDepositsVsPtInAcceptance = l->FindObject("fHistK0EDepositsVsPtInAcceptance");
  TH3F *fHistK0EGammaVsPtInAcceptance = l->FindObject("fHistK0EGammaVsPtInAcceptance");
  TH3F *fHistK0EDepositsVsPtOutOfAcceptance = l->FindObject("fHistK0EDepositsVsPtOutOfAcceptance");
  TH3F *fHistK0EGammaVsPtOutOfAcceptance = l->FindObject("fHistK0EGammaVsPtOutOfAcceptance");
  TObjArray hKaonDepositsInAcceptance(11);
  TObjArray hKaonGammaInAcceptance(11);
  TObjArray hKaonDepositsOutOfAcceptance(11);
  TObjArray hKaonGammaOutOfAcceptance(11);
  TObjArray hKaonDepositsInAcceptanceAvg(11);
  TObjArray hKaonGammaInAcceptanceAvg(11);
  TObjArray hKaonDepositsOutOfAcceptanceAvg(11);
  TObjArray hKaonGammaOutOfAcceptanceAvg(11);
  TObjArray hKaonDepositsInAcceptanceLimAvg(11);
  TObjArray hKaonGammaInAcceptanceLimAvg(11);
  TObjArray hKaonDepositsOutOfAcceptanceLimAvg(11);
  TObjArray hKaonGammaOutOfAcceptanceLimAvg(11);
  for(int bin=1;bin<=11;bin++){
    fHistK0EDepositsVsPtInAcceptance->GetZaxis()->SetRange(bin,bin);
    hKaonDepositsInAcceptance[bin-1] = (TH2D*) fHistK0EDepositsVsPtInAcceptance->Project3D("yx");
    ((TH2D*)hKaonDepositsInAcceptance[bin-1])->SetName(Form("hKaonDepositsInAcceptance%i",bin));
    hKaonDepositsInAcceptanceAvg[bin-1]  = (TProfile *) ((TH2D*)hKaonDepositsInAcceptance[bin-1])->ProfileX(Form("hKaonDepositsInAcceptanceAvg%i",bin));
    ((TH2D*)hKaonDepositsInAcceptance[bin-1])->GetYaxis()->SetRange(2,((TH2D*)hKaonDepositsInAcceptance[bin-1])->GetNbinsY());
    hKaonDepositsInAcceptanceLimAvg[bin-1]  = (TProfile *) ((TH2D*)hKaonDepositsInAcceptance[bin-1])->ProfileX(Form("hKaonDepositsInAcceptanceLimAvg%i",bin));

    fHistK0EGammaVsPtInAcceptance->GetZaxis()->SetRange(bin,bin);
    hKaonGammaInAcceptance[bin-1] = (TH2D*) fHistK0EGammaVsPtInAcceptance->Project3D("yx");
    ((TH2D*)hKaonGammaInAcceptance[bin-1])->SetName(Form("hKaonGammaInAcceptance%i",bin));
    hKaonGammaInAcceptanceAvg[bin-1]  = (TProfile *) ((TH2D*)hKaonGammaInAcceptance[bin-1])->ProfileX(Form("hKaonGammaInAcceptanceAvg%i",bin));
    ((TH2D*)hKaonGammaInAcceptance[bin-1])->GetYaxis()->SetRange(2,((TH2D*)hKaonGammaInAcceptance[bin-1])->GetNbinsY());
    hKaonGammaInAcceptanceLimAvg[bin-1]  = (TProfile *) ((TH2D*)hKaonGammaInAcceptance[bin-1])->ProfileX(Form("hKaonGammaInAcceptanceLimAvg%i",bin));


    fHistK0EDepositsVsPtOutOfAcceptance->GetZaxis()->SetRange(bin,bin);
    hKaonDepositsOutOfAcceptance[bin-1] = (TH2D*) fHistK0EDepositsVsPtOutOfAcceptance->Project3D("yx");
    ((TH2D*)hKaonDepositsOutOfAcceptance[bin-1])->SetName(Form("hKaonDepositsOutOfAcceptance%i",bin));
    hKaonDepositsOutOfAcceptanceAvg[bin-1]  = (TProfile *) ((TH2D*)hKaonDepositsOutOfAcceptance[bin-1])->ProfileX(Form("hKaonDepositsOutOfAcceptanceAvg%i",bin));
    ((TH2D*)hKaonDepositsOutOfAcceptance[bin-1])->GetYaxis()->SetRange(2,((TH2D*)hKaonDepositsOutOfAcceptance[bin-1])->GetNbinsY());
    hKaonDepositsOutOfAcceptanceLimAvg[bin-1]  = (TProfile *) ((TH2D*)hKaonDepositsOutOfAcceptance[bin-1])->ProfileX(Form("hKaonDepositsOutOfAcceptanceLimAvg%i",bin));

    fHistK0EGammaVsPtOutOfAcceptance->GetZaxis()->SetRange(bin,bin);
    hKaonGammaOutOfAcceptance[bin-1] = (TH2D*) fHistK0EGammaVsPtOutOfAcceptance->Project3D("yx");
    ((TH2D*)hKaonGammaOutOfAcceptance[bin-1])->SetName(Form("hKaonGammaOutOfAcceptance%i",bin));
    hKaonGammaOutOfAcceptanceAvg[bin-1]  = (TProfile *) ((TH2D*)hKaonGammaOutOfAcceptance[bin-1])->ProfileX(Form("hKaonGammaOutOfAcceptanceAvg%i",bin));
    ((TH2D*)hKaonGammaOutOfAcceptance[bin-1])->GetYaxis()->SetRange(2,((TH2D*)hKaonGammaOutOfAcceptance[bin-1])->GetNbinsY());
    hKaonGammaOutOfAcceptanceLimAvg[bin-1]  = (TProfile *) ((TH2D*)hKaonGammaOutOfAcceptance[bin-1])->ProfileX(Form("hKaonGammaOutOfAcceptanceLimAvg%i",bin));

  }
  int markers[] = {20,24,21,25,22, 26,23,32,33,27, 29};
  int colors[] = {TColor::kRed,TColor::kRed, TColor::kOrange-3, TColor::kOrange-3, TColor::kGreen+3,
		  TColor::kGreen+3, TColor::kBlue, TColor::kBlue, TColor::kViolet, TColor::kViolet,
		  TColor::kMagenta+3};
  for(int bin=0;bin<11;bin++){
    SetStyles((TH1*)hKaonDepositsInAcceptanceAvg[bin],markers[bin],colors[bin],"p_{T}","E");
    SetStyles((TH1*)hKaonDepositsInAcceptanceLimAvg[bin],markers[bin],colors[bin],"p_{T}","E");
    SetStyles((TH1*)hKaonGammaInAcceptanceAvg[bin],markers[bin],colors[bin],"p_{T}","E");
    SetStyles((TH1*)hKaonGammaInAcceptanceLimAvg[bin],markers[bin],colors[bin],"p_{T}","E");
    SetStyles((TH1*)hKaonDepositsOutOfAcceptanceAvg[bin],markers[bin],colors[bin],"p_{T}","E");
    SetStyles((TH1*)hKaonDepositsOutOfAcceptanceLimAvg[bin],markers[bin],colors[bin],"p_{T}","E");
    SetStyles((TH1*)hKaonGammaOutOfAcceptanceAvg[bin],markers[bin],colors[bin],"p_{T}","E");
    SetStyles((TH1*)hKaonGammaOutOfAcceptanceLimAvg[bin],markers[bin],colors[bin],"p_{T}","E");
  }
  float cuts[] = {0.00,0.05,0.10,0.15,0.20, 0.25,0.30,0.35,0.40,0.45, 0.50};
  TLegend *leg3 = new TLegend(0.454698,0.145161,0.620805,0.427419);
  leg3->SetFillStyle(0);
  leg3->SetFillColor(0);
  leg3->SetBorderSize(0);
  leg3->SetTextSize(0.03);
  leg3->SetTextSize(0.0456989);
  for(int bin=0;bin<6;bin++){
    leg3->AddEntry((TH1*)hKaonGammaInAcceptanceAvg[bin],Form("E_{cluster}>%1.2f",cuts[bin]));
  }
  TLegend *leg4 = new TLegend(0.696309,0.153226,0.862416,0.435484);
  leg4->SetFillStyle(0);
  leg4->SetFillColor(0);
  leg4->SetBorderSize(0);
  leg4->SetTextSize(0.03);
  leg4->SetTextSize(0.0456989);
  for(int bin=6;bin<11;bin++){
    leg4->AddEntry((TH1*)hKaonGammaInAcceptanceAvg[bin],Form("E_{cluster}>%1.2f",cuts[bin]));
  }
  TH1F *frame = new TH1F("frame","frame",1,0,3);
  frame->SetMaximum(0.055);
  frame->SetMinimum(0.0);
  frame->GetXaxis()->SetTitle("p_{T}");
  frame->GetYaxis()->SetTitle("E");
  TH1F *frameClone = frame->Clone("frameClone");
  frameClone->SetMaximum(1.5);
 TCanvas *c5 = new TCanvas("c5","c5",600,400);
  c5->SetTopMargin(0.02);
  c5->SetRightMargin(0.02);
  c5->SetBorderSize(0);
  c5->SetFillColor(0);
  c5->SetFillColor(0);
  c5->SetBorderMode(0);
  c5->SetFrameFillColor(0);
  c5->SetFrameBorderMode(0);
  frame->Draw();
  for(int bin=0;bin<11;bin++){
      ((TH1*)hKaonGammaInAcceptanceAvg[bin])->Draw("same");
  }
  leg3->Draw();
  leg4->Draw();
  c5->SaveAs("/tmp/AvgEnergyDepositedInAcc.png");
 TCanvas *c6 = new TCanvas("c6","c6",600,400);
  c6->SetTopMargin(0.02);
  c6->SetRightMargin(0.02);
  c6->SetBorderSize(0);
  c6->SetFillColor(0);
  c6->SetFillColor(0);
  c6->SetBorderMode(0);
  c6->SetFrameFillColor(0);
  c6->SetFrameBorderMode(0);
  frameClone->Draw();
  for(int bin=0;bin<11;bin++){
      ((TH1*)hKaonGammaInAcceptanceLimAvg[bin])->Draw("same");
  }
  leg3->Draw();
  leg4->Draw();
  c6->SaveAs("/tmp/LimAvgEnergyDepositedInAcc.png");
 TCanvas *c7 = new TCanvas("c7","c7",600,400);
  c7->SetTopMargin(0.02);
  c7->SetRightMargin(0.02);
  c7->SetBorderSize(0);
  c7->SetFillColor(0);
  c7->SetFillColor(0);
  c7->SetBorderMode(0);
  c7->SetFrameFillColor(0);
  c7->SetFrameBorderMode(0);
  TH1F *frameclone4 = frame->Clone("frameclone4");
  frameclone4->SetMaximum(0.008);
  frameclone4->Draw();
  for(int bin=0;bin<11;bin++){
      ((TH1*)hKaonGammaOutOfAcceptanceAvg[bin])->Draw("same");
  }
  leg3->Draw();
  leg4->Draw();
  c7->SaveAs("/tmp/AvgEnergyDepositedOutAcc.png");
 TCanvas *c8 = new TCanvas("c8","c8",600,400);
  c8->SetTopMargin(0.02);
  c8->SetRightMargin(0.02);
  c8->SetBorderSize(0);
  c8->SetFillColor(0);
  c8->SetFillColor(0);
  c8->SetBorderMode(0);
  c8->SetFrameFillColor(0);
  c8->SetFrameBorderMode(0);
  frameClone->Draw();
  for(int bin=0;bin<11;bin++){
      ((TH1*)hKaonGammaOutOfAcceptanceLimAvg[bin])->Draw("same");
  }
  leg3->Draw();
  leg4->Draw();
  c8->SaveAs("/tmp/LimAvgEnergyDepositedOutAcc.png");

 TCanvas *c10 = new TCanvas("c10","c10",600,400);
  c10->SetTopMargin(0.02);
  c10->SetRightMargin(0.02);
  c10->SetBorderSize(0);
  c10->SetFillColor(0);
  c10->SetFillColor(0);
  c10->SetBorderMode(0);
  c10->SetFrameFillColor(0);
  c10->SetFrameBorderMode(0);
  TH1F *frameclone2 = (TH1F *)frame->Clone("frameclone2");
  frameclone2->SetMaximum(0.13);
  frameclone2->Draw();
  for(int bin=0;bin<11;bin++){
      ((TH1*)hKaonDepositsInAcceptanceAvg[bin])->Draw("same");
  }
  leg3->Draw();
  leg4->Draw();
  c10->SaveAs("/tmp/AvgEnergyDepositedCorrInAcc.png");
 TCanvas *c11 = new TCanvas("c11","c11",600,400);
  c11->SetTopMargin(0.02);
  c11->SetRightMargin(0.02);
  c11->SetBorderSize(0);
  c11->SetFillColor(0);
  c11->SetFillColor(0);
  c11->SetBorderMode(0);
  c11->SetFrameFillColor(0);
  c11->SetFrameBorderMode(0);
  TH1F *frameclone3 = (TH1F *)frame->Clone("frameclone2");
  frameclone3->SetMaximum(4);
  frameclone3->Draw();
  for(int bin=0;bin<11;bin++){
      ((TH1*)hKaonDepositsInAcceptanceLimAvg[bin])->Draw("same");
  }
  leg3->Draw();
  leg4->Draw();
  c11->SaveAs("/tmp/LimAvgEnergyDepositedCorrInAcc.png");
 TCanvas *c12 = new TCanvas("c12","c12",600,400);
  c12->SetTopMargin(0.02);
  c12->SetRightMargin(0.02);
  c12->SetBorderSize(0);
  c12->SetFillColor(0);
  c12->SetFillColor(0);
  c12->SetBorderMode(0);
  c12->SetFrameFillColor(0);
  c12->SetFrameBorderMode(0);
  TH1F *frameclone5 = frame->Clone("frameclone5");
  frameclone5->SetMaximum(0.013);
  frameclone5->Draw();
  for(int bin=0;bin<11;bin++){
      ((TH1*)hKaonDepositsOutOfAcceptanceAvg[bin])->Draw("same");
  }
  leg3->Draw();
  leg4->Draw();
  c12->SaveAs("/tmp/AvgEnergyDepositedCorrOutAcc.png");
 TCanvas *c13 = new TCanvas("c13","c13",600,400);
  c13->SetTopMargin(0.02);
  c13->SetRightMargin(0.02);
  c13->SetBorderSize(0);
  c13->SetFillColor(0);
  c13->SetFillColor(0);
  c13->SetBorderMode(0);
  c13->SetFrameFillColor(0);
  c13->SetFrameBorderMode(0);
  frameclone3->Draw();
  for(int bin=0;bin<11;bin++){
      ((TH1*)hKaonDepositsOutOfAcceptanceLimAvg[bin])->Draw("same");
  }
  leg3->Draw();
  leg4->Draw();
  c13->SaveAs("/tmp/LimAvgEnergyDepositedCorrOutAcc.png");

 TCanvas *c9 = new TCanvas("c9","c9",600,400);
  c9->SetTopMargin(0.02);
  c9->SetRightMargin(0.02);
  c9->SetBorderSize(0);
  c9->SetFillColor(0);
  c9->SetFillColor(0);
  c9->SetBorderMode(0);
  c9->SetFrameFillColor(0);
  c9->SetFrameBorderMode(0);
  ScaleByBinWidth((TH2D*) hKaonGammaInAcceptance[bin-1]);
  bin = 11;
  ((TH2D*) hKaonGammaInAcceptance[bin-1])->GetYaxis()->SetRange(2,((TH2D*) hKaonGammaInAcceptance[bin-1])->GetYaxis()->FindBin(3.0));
  ((TH2D*) hKaonGammaInAcceptance[bin-1])->GetXaxis()->SetRange(1,((TH2D*) hKaonGammaInAcceptance[bin-1])->GetXaxis()->FindBin(3.0));
  ((TH2D*) hKaonGammaInAcceptance[bin-1])->Draw("colz");


 TCanvas *c14 = new TCanvas("c14","c14",600,400);
  c14->SetTopMargin(0.02);
  c14->SetRightMargin(0.02);
  c14->SetBorderSize(0);
  c14->SetFillColor(0);
  c14->SetFillColor(0);
  c14->SetBorderMode(0);
  c14->SetFrameFillColor(0);
  c14->SetFrameBorderMode(0);
  ((TH2D*) hKaonGammaOutOfAcceptance[bin-1])->Draw("colz");

  bin = 7;
 TCanvas *c15 = new TCanvas("c15","c15",600,400);
  c15->SetTopMargin(0.02);
  c15->SetRightMargin(0.02);
  c15->SetBorderSize(0);
  c15->SetFillColor(0);
  c15->SetFillColor(0);
  c15->SetBorderMode(0);
  c15->SetFrameFillColor(0);
  c15->SetFrameBorderMode(0);
  ScaleByBinWidth((TH2D*) hKaonDepositsInAcceptance[bin-1]);

  ((TH2D*) hKaonDepositsInAcceptance[bin-1])->GetXaxis()->SetRange(1,((TH2D*) hKaonDepositsInAcceptance[bin-1])->GetXaxis()->FindBin(3.0));
  ((TH2D*) hKaonDepositsInAcceptance[bin-1])->GetYaxis()->SetRange(2,((TH2D*) hKaonDepositsInAcceptance[bin-1])->GetYaxis()->FindBin(3.0));
  ((TH2D*) hKaonDepositsInAcceptance[bin-1])->Draw("colz");

}
void ScaleByBinWidth(TH1 *histo){
  int nbins = histo->GetNbinsX();
  for(int i=1;i<=nbins;i++){
    float content = histo->GetBinContent(i);
    float scale = 1/histo->GetBinWidth(i);
    histo->SetBinContent(i,content*scale);
  }
}
void ScaleByBinWidth(TH2 *histo){
  int nbinsx = histo->GetNbinsX();
  int nbinsy = histo->GetNbinsY();
  for(int i=1;i<=nbinsx;i++){
    float scaleX = 1/histo->GetXaxis()->GetBinWidth(i);
    for(int j=1;j<=nbinsx;j++){
      float scaleY = 1/histo->GetXaxis()->GetBinWidth(j);
      float content = histo->GetBinContent(i,j);
      histo->SetBinContent(i,content*scaleX*scaleY);
    }
  }
}
void SetStyles(TH1 *histo,int marker, int color,char *xtitle, char *ytitle, Bool_t scale){
  histo->Sumw2();
  histo->SetMarkerStyle(marker);
  histo->SetMarkerColor(color);
  histo->SetLineColor(color);
  histo->GetXaxis()->SetTitle(xtitle);
  histo->GetYaxis()->SetTitle(ytitle);
  if(scale) ScaleByBinWidth(histo);
}
 PlotKaonDeposits.C:1
 PlotKaonDeposits.C:2
 PlotKaonDeposits.C:3
 PlotKaonDeposits.C:4
 PlotKaonDeposits.C:5
 PlotKaonDeposits.C:6
 PlotKaonDeposits.C:7
 PlotKaonDeposits.C:8
 PlotKaonDeposits.C:9
 PlotKaonDeposits.C:10
 PlotKaonDeposits.C:11
 PlotKaonDeposits.C:12
 PlotKaonDeposits.C:13
 PlotKaonDeposits.C:14
 PlotKaonDeposits.C:15
 PlotKaonDeposits.C:16
 PlotKaonDeposits.C:17
 PlotKaonDeposits.C:18
 PlotKaonDeposits.C:19
 PlotKaonDeposits.C:20
 PlotKaonDeposits.C:21
 PlotKaonDeposits.C:22
 PlotKaonDeposits.C:23
 PlotKaonDeposits.C:24
 PlotKaonDeposits.C:25
 PlotKaonDeposits.C:26
 PlotKaonDeposits.C:27
 PlotKaonDeposits.C:28
 PlotKaonDeposits.C:29
 PlotKaonDeposits.C:30
 PlotKaonDeposits.C:31
 PlotKaonDeposits.C:32
 PlotKaonDeposits.C:33
 PlotKaonDeposits.C:34
 PlotKaonDeposits.C:35
 PlotKaonDeposits.C:36
 PlotKaonDeposits.C:37
 PlotKaonDeposits.C:38
 PlotKaonDeposits.C:39
 PlotKaonDeposits.C:40
 PlotKaonDeposits.C:41
 PlotKaonDeposits.C:42
 PlotKaonDeposits.C:43
 PlotKaonDeposits.C:44
 PlotKaonDeposits.C:45
 PlotKaonDeposits.C:46
 PlotKaonDeposits.C:47
 PlotKaonDeposits.C:48
 PlotKaonDeposits.C:49
 PlotKaonDeposits.C:50
 PlotKaonDeposits.C:51
 PlotKaonDeposits.C:52
 PlotKaonDeposits.C:53
 PlotKaonDeposits.C:54
 PlotKaonDeposits.C:55
 PlotKaonDeposits.C:56
 PlotKaonDeposits.C:57
 PlotKaonDeposits.C:58
 PlotKaonDeposits.C:59
 PlotKaonDeposits.C:60
 PlotKaonDeposits.C:61
 PlotKaonDeposits.C:62
 PlotKaonDeposits.C:63
 PlotKaonDeposits.C:64
 PlotKaonDeposits.C:65
 PlotKaonDeposits.C:66
 PlotKaonDeposits.C:67
 PlotKaonDeposits.C:68
 PlotKaonDeposits.C:69
 PlotKaonDeposits.C:70
 PlotKaonDeposits.C:71
 PlotKaonDeposits.C:72
 PlotKaonDeposits.C:73
 PlotKaonDeposits.C:74
 PlotKaonDeposits.C:75
 PlotKaonDeposits.C:76
 PlotKaonDeposits.C:77
 PlotKaonDeposits.C:78
 PlotKaonDeposits.C:79
 PlotKaonDeposits.C:80
 PlotKaonDeposits.C:81
 PlotKaonDeposits.C:82
 PlotKaonDeposits.C:83
 PlotKaonDeposits.C:84
 PlotKaonDeposits.C:85
 PlotKaonDeposits.C:86
 PlotKaonDeposits.C:87
 PlotKaonDeposits.C:88
 PlotKaonDeposits.C:89
 PlotKaonDeposits.C:90
 PlotKaonDeposits.C:91
 PlotKaonDeposits.C:92
 PlotKaonDeposits.C:93
 PlotKaonDeposits.C:94
 PlotKaonDeposits.C:95
 PlotKaonDeposits.C:96
 PlotKaonDeposits.C:97
 PlotKaonDeposits.C:98
 PlotKaonDeposits.C:99
 PlotKaonDeposits.C:100
 PlotKaonDeposits.C:101
 PlotKaonDeposits.C:102
 PlotKaonDeposits.C:103
 PlotKaonDeposits.C:104
 PlotKaonDeposits.C:105
 PlotKaonDeposits.C:106
 PlotKaonDeposits.C:107
 PlotKaonDeposits.C:108
 PlotKaonDeposits.C:109
 PlotKaonDeposits.C:110
 PlotKaonDeposits.C:111
 PlotKaonDeposits.C:112
 PlotKaonDeposits.C:113
 PlotKaonDeposits.C:114
 PlotKaonDeposits.C:115
 PlotKaonDeposits.C:116
 PlotKaonDeposits.C:117
 PlotKaonDeposits.C:118
 PlotKaonDeposits.C:119
 PlotKaonDeposits.C:120
 PlotKaonDeposits.C:121
 PlotKaonDeposits.C:122
 PlotKaonDeposits.C:123
 PlotKaonDeposits.C:124
 PlotKaonDeposits.C:125
 PlotKaonDeposits.C:126
 PlotKaonDeposits.C:127
 PlotKaonDeposits.C:128
 PlotKaonDeposits.C:129
 PlotKaonDeposits.C:130
 PlotKaonDeposits.C:131
 PlotKaonDeposits.C:132
 PlotKaonDeposits.C:133
 PlotKaonDeposits.C:134
 PlotKaonDeposits.C:135
 PlotKaonDeposits.C:136
 PlotKaonDeposits.C:137
 PlotKaonDeposits.C:138
 PlotKaonDeposits.C:139
 PlotKaonDeposits.C:140
 PlotKaonDeposits.C:141
 PlotKaonDeposits.C:142
 PlotKaonDeposits.C:143
 PlotKaonDeposits.C:144
 PlotKaonDeposits.C:145
 PlotKaonDeposits.C:146
 PlotKaonDeposits.C:147
 PlotKaonDeposits.C:148
 PlotKaonDeposits.C:149
 PlotKaonDeposits.C:150
 PlotKaonDeposits.C:151
 PlotKaonDeposits.C:152
 PlotKaonDeposits.C:153
 PlotKaonDeposits.C:154
 PlotKaonDeposits.C:155
 PlotKaonDeposits.C:156
 PlotKaonDeposits.C:157
 PlotKaonDeposits.C:158
 PlotKaonDeposits.C:159
 PlotKaonDeposits.C:160
 PlotKaonDeposits.C:161
 PlotKaonDeposits.C:162
 PlotKaonDeposits.C:163
 PlotKaonDeposits.C:164
 PlotKaonDeposits.C:165
 PlotKaonDeposits.C:166
 PlotKaonDeposits.C:167
 PlotKaonDeposits.C:168
 PlotKaonDeposits.C:169
 PlotKaonDeposits.C:170
 PlotKaonDeposits.C:171
 PlotKaonDeposits.C:172
 PlotKaonDeposits.C:173
 PlotKaonDeposits.C:174
 PlotKaonDeposits.C:175
 PlotKaonDeposits.C:176
 PlotKaonDeposits.C:177
 PlotKaonDeposits.C:178
 PlotKaonDeposits.C:179
 PlotKaonDeposits.C:180
 PlotKaonDeposits.C:181
 PlotKaonDeposits.C:182
 PlotKaonDeposits.C:183
 PlotKaonDeposits.C:184
 PlotKaonDeposits.C:185
 PlotKaonDeposits.C:186
 PlotKaonDeposits.C:187
 PlotKaonDeposits.C:188
 PlotKaonDeposits.C:189
 PlotKaonDeposits.C:190
 PlotKaonDeposits.C:191
 PlotKaonDeposits.C:192
 PlotKaonDeposits.C:193
 PlotKaonDeposits.C:194
 PlotKaonDeposits.C:195
 PlotKaonDeposits.C:196
 PlotKaonDeposits.C:197
 PlotKaonDeposits.C:198
 PlotKaonDeposits.C:199
 PlotKaonDeposits.C:200
 PlotKaonDeposits.C:201
 PlotKaonDeposits.C:202
 PlotKaonDeposits.C:203
 PlotKaonDeposits.C:204
 PlotKaonDeposits.C:205
 PlotKaonDeposits.C:206
 PlotKaonDeposits.C:207
 PlotKaonDeposits.C:208
 PlotKaonDeposits.C:209
 PlotKaonDeposits.C:210
 PlotKaonDeposits.C:211
 PlotKaonDeposits.C:212
 PlotKaonDeposits.C:213
 PlotKaonDeposits.C:214
 PlotKaonDeposits.C:215
 PlotKaonDeposits.C:216
 PlotKaonDeposits.C:217
 PlotKaonDeposits.C:218
 PlotKaonDeposits.C:219
 PlotKaonDeposits.C:220
 PlotKaonDeposits.C:221
 PlotKaonDeposits.C:222
 PlotKaonDeposits.C:223
 PlotKaonDeposits.C:224
 PlotKaonDeposits.C:225
 PlotKaonDeposits.C:226
 PlotKaonDeposits.C:227
 PlotKaonDeposits.C:228
 PlotKaonDeposits.C:229
 PlotKaonDeposits.C:230
 PlotKaonDeposits.C:231
 PlotKaonDeposits.C:232
 PlotKaonDeposits.C:233
 PlotKaonDeposits.C:234
 PlotKaonDeposits.C:235
 PlotKaonDeposits.C:236
 PlotKaonDeposits.C:237
 PlotKaonDeposits.C:238
 PlotKaonDeposits.C:239
 PlotKaonDeposits.C:240
 PlotKaonDeposits.C:241
 PlotKaonDeposits.C:242
 PlotKaonDeposits.C:243
 PlotKaonDeposits.C:244
 PlotKaonDeposits.C:245
 PlotKaonDeposits.C:246
 PlotKaonDeposits.C:247
 PlotKaonDeposits.C:248
 PlotKaonDeposits.C:249
 PlotKaonDeposits.C:250
 PlotKaonDeposits.C:251
 PlotKaonDeposits.C:252
 PlotKaonDeposits.C:253
 PlotKaonDeposits.C:254
 PlotKaonDeposits.C:255
 PlotKaonDeposits.C:256
 PlotKaonDeposits.C:257
 PlotKaonDeposits.C:258
 PlotKaonDeposits.C:259
 PlotKaonDeposits.C:260
 PlotKaonDeposits.C:261
 PlotKaonDeposits.C:262
 PlotKaonDeposits.C:263
 PlotKaonDeposits.C:264
 PlotKaonDeposits.C:265
 PlotKaonDeposits.C:266
 PlotKaonDeposits.C:267
 PlotKaonDeposits.C:268
 PlotKaonDeposits.C:269
 PlotKaonDeposits.C:270
 PlotKaonDeposits.C:271
 PlotKaonDeposits.C:272
 PlotKaonDeposits.C:273
 PlotKaonDeposits.C:274
 PlotKaonDeposits.C:275
 PlotKaonDeposits.C:276
 PlotKaonDeposits.C:277
 PlotKaonDeposits.C:278
 PlotKaonDeposits.C:279
 PlotKaonDeposits.C:280
 PlotKaonDeposits.C:281
 PlotKaonDeposits.C:282
 PlotKaonDeposits.C:283
 PlotKaonDeposits.C:284
 PlotKaonDeposits.C:285
 PlotKaonDeposits.C:286
 PlotKaonDeposits.C:287
 PlotKaonDeposits.C:288
 PlotKaonDeposits.C:289
 PlotKaonDeposits.C:290
 PlotKaonDeposits.C:291
 PlotKaonDeposits.C:292
 PlotKaonDeposits.C:293
 PlotKaonDeposits.C:294
 PlotKaonDeposits.C:295
 PlotKaonDeposits.C:296
 PlotKaonDeposits.C:297
 PlotKaonDeposits.C:298
 PlotKaonDeposits.C:299
 PlotKaonDeposits.C:300
 PlotKaonDeposits.C:301
 PlotKaonDeposits.C:302
 PlotKaonDeposits.C:303
 PlotKaonDeposits.C:304
 PlotKaonDeposits.C:305
 PlotKaonDeposits.C:306
 PlotKaonDeposits.C:307
 PlotKaonDeposits.C:308
 PlotKaonDeposits.C:309
 PlotKaonDeposits.C:310
 PlotKaonDeposits.C:311
 PlotKaonDeposits.C:312
 PlotKaonDeposits.C:313
 PlotKaonDeposits.C:314
 PlotKaonDeposits.C:315
 PlotKaonDeposits.C:316
 PlotKaonDeposits.C:317
 PlotKaonDeposits.C:318
 PlotKaonDeposits.C:319
 PlotKaonDeposits.C:320
 PlotKaonDeposits.C:321
 PlotKaonDeposits.C:322
 PlotKaonDeposits.C:323
 PlotKaonDeposits.C:324
 PlotKaonDeposits.C:325
 PlotKaonDeposits.C:326
 PlotKaonDeposits.C:327
 PlotKaonDeposits.C:328
 PlotKaonDeposits.C:329
 PlotKaonDeposits.C:330
 PlotKaonDeposits.C:331
 PlotKaonDeposits.C:332
 PlotKaonDeposits.C:333
 PlotKaonDeposits.C:334
 PlotKaonDeposits.C:335
 PlotKaonDeposits.C:336
 PlotKaonDeposits.C:337
 PlotKaonDeposits.C:338
 PlotKaonDeposits.C:339
 PlotKaonDeposits.C:340
 PlotKaonDeposits.C:341
 PlotKaonDeposits.C:342
 PlotKaonDeposits.C:343
 PlotKaonDeposits.C:344
 PlotKaonDeposits.C:345
 PlotKaonDeposits.C:346
 PlotKaonDeposits.C:347
 PlotKaonDeposits.C:348
 PlotKaonDeposits.C:349
 PlotKaonDeposits.C:350
 PlotKaonDeposits.C:351
 PlotKaonDeposits.C:352
 PlotKaonDeposits.C:353
 PlotKaonDeposits.C:354
 PlotKaonDeposits.C:355
 PlotKaonDeposits.C:356
 PlotKaonDeposits.C:357
 PlotKaonDeposits.C:358
 PlotKaonDeposits.C:359
 PlotKaonDeposits.C:360
 PlotKaonDeposits.C:361
 PlotKaonDeposits.C:362
 PlotKaonDeposits.C:363
 PlotKaonDeposits.C:364
 PlotKaonDeposits.C:365
 PlotKaonDeposits.C:366
 PlotKaonDeposits.C:367
 PlotKaonDeposits.C:368
 PlotKaonDeposits.C:369
 PlotKaonDeposits.C:370
 PlotKaonDeposits.C:371
 PlotKaonDeposits.C:372
 PlotKaonDeposits.C:373
 PlotKaonDeposits.C:374
 PlotKaonDeposits.C:375
 PlotKaonDeposits.C:376
 PlotKaonDeposits.C:377
 PlotKaonDeposits.C:378
 PlotKaonDeposits.C:379
 PlotKaonDeposits.C:380
 PlotKaonDeposits.C:381
 PlotKaonDeposits.C:382
 PlotKaonDeposits.C:383
 PlotKaonDeposits.C:384
 PlotKaonDeposits.C:385
 PlotKaonDeposits.C:386
 PlotKaonDeposits.C:387
 PlotKaonDeposits.C:388
 PlotKaonDeposits.C:389
 PlotKaonDeposits.C:390
 PlotKaonDeposits.C:391
 PlotKaonDeposits.C:392
 PlotKaonDeposits.C:393
 PlotKaonDeposits.C:394
 PlotKaonDeposits.C:395
 PlotKaonDeposits.C:396
 PlotKaonDeposits.C:397
 PlotKaonDeposits.C:398
 PlotKaonDeposits.C:399
 PlotKaonDeposits.C:400
 PlotKaonDeposits.C:401
 PlotKaonDeposits.C:402
 PlotKaonDeposits.C:403
 PlotKaonDeposits.C:404
 PlotKaonDeposits.C:405
 PlotKaonDeposits.C:406
 PlotKaonDeposits.C:407
 PlotKaonDeposits.C:408
 PlotKaonDeposits.C:409
 PlotKaonDeposits.C:410
 PlotKaonDeposits.C:411
 PlotKaonDeposits.C:412
 PlotKaonDeposits.C:413
 PlotKaonDeposits.C:414
 PlotKaonDeposits.C:415
 PlotKaonDeposits.C:416
 PlotKaonDeposits.C:417
 PlotKaonDeposits.C:418
 PlotKaonDeposits.C:419
 PlotKaonDeposits.C:420
 PlotKaonDeposits.C:421
 PlotKaonDeposits.C:422
 PlotKaonDeposits.C:423
 PlotKaonDeposits.C:424
 PlotKaonDeposits.C:425
 PlotKaonDeposits.C:426
 PlotKaonDeposits.C:427
 PlotKaonDeposits.C:428
 PlotKaonDeposits.C:429
 PlotKaonDeposits.C:430
 PlotKaonDeposits.C:431
 PlotKaonDeposits.C:432
 PlotKaonDeposits.C:433
 PlotKaonDeposits.C:434
 PlotKaonDeposits.C:435
 PlotKaonDeposits.C:436
 PlotKaonDeposits.C:437
 PlotKaonDeposits.C:438
 PlotKaonDeposits.C:439