ROOT logo
void SetStyles(TH1 *histo,int marker, int color){
  histo->Sumw2();
  histo->SetMarkerStyle(marker);
  histo->SetMarkerColor(color);
  histo->SetLineColor(color);
  //histo->GetXaxis()->SetTitle(xtitle);
  //histo->GetYaxis()->SetTitle(ytitle);
}
void PlotHadCorrLowPtFraction(Bool_t isPhos = kFALSE, Int_t mycase = 0){
  gStyle->SetOptTitle(0);
  gStyle->SetOptStat(0);
  gStyle->SetOptFit(0);
  TString filename, detname;
  if(mycase==0){
    if(isPhos){
      detname = "PHOS";
      //filename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.PHOS.LHC11a10a_bis.Run139465.root";
      filename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.PHOSOldHadMethod.LHC11a10a_bis.root";
    }
    else{
      //filename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal.LHC11a10a_bis.Run139465.root";
      filename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCalOldHadMethod.LHC11a10a_bis.root";
      detname = "EMCal";
    }
  }
  else{
    if(isPhos){
      detname = "PHOS";
	filename = "rootFiles/LHC13e1abcCombined/Et.ESD.simPbPb.PHOS.LHC13e1abc.root";
    }
    else{
      filename = "rootFiles/LHC13e1abcCombined/Et.ESD.simPbPb.EMCal.LHC13e1abc.root";
      detname = "EMCal";
    }
  }
  
  TFile *f = TFile::Open(filename, "READ");
  TList *l = dynamic_cast<TList*>(f->Get("out1"));
  TH2F *fHistChargedTrackDepositsAcceptedVsPt = l->FindObject("fHistChargedTrackDepositsAcceptedVsPt");
  TH2F *fHistChargedTrackDepositsAllVsPt = l->FindObject("fHistChargedTrackDepositsAllVsPt");
    TCanvas *c1 = new TCanvas("c1","Simulation",600,400);
    c1->SetTopMargin(0.02);
    c1->SetRightMargin(0.03);
    c1->SetLeftMargin(0.11745);
    c1->SetBottomMargin(0.11745);
    c1->SetBorderSize(0);
    c1->SetFillColor(0);
    c1->SetFillColor(0);
    c1->SetBorderMode(0);
    c1->SetFrameFillColor(0);
    c1->SetFrameBorderMode(0);
    fHistChargedTrackDepositsAcceptedVsPt->Draw("colz");
    TH1D *proffHistChargedTrackDepositsAcceptedVsPt = fHistChargedTrackDepositsAcceptedVsPt->ProfileX("acceptedprofx");
    proffHistChargedTrackDepositsAcceptedVsPt->Draw("same");
    TCanvas *c2 = new TCanvas("c2","Simulation",600,400);
    c2->SetTopMargin(0.02);
    c2->SetRightMargin(0.03);
    c2->SetLeftMargin(0.11745);
    c2->SetBottomMargin(0.11745);
    c2->SetBorderSize(0);
    c2->SetFillColor(0);
    c2->SetFillColor(0);
    c2->SetBorderMode(0);
    c2->SetFrameFillColor(0);
    c2->SetFrameBorderMode(0);
    fHistChargedTrackDepositsAllVsPt->Draw("colz");
    TH1D *proffHistChargedTrackDepositsAllVsPt = fHistChargedTrackDepositsAllVsPt->ProfileX("allprofx");
    proffHistChargedTrackDepositsAllVsPt->Draw("same");
    TCanvas *c3 = new TCanvas("c3","Simulation",600,400);
    c3->SetTopMargin(0.02);
    c3->SetRightMargin(0.03);
    c3->SetLeftMargin(0.11745);
    c3->SetBottomMargin(0.11745);
    c3->SetBorderSize(0);
    c3->SetFillColor(0);
    c3->SetFillColor(0);
    c3->SetBorderMode(0);
    c3->SetFrameFillColor(0);
    c3->SetFrameBorderMode(0);
    TH1D *profyfHistChargedTrackDepositsAcceptedVsPt = fHistChargedTrackDepositsAcceptedVsPt->ProfileY("acceptedprofy");
    TH1D *profyfHistChargedTrackDepositsAllVsPt = fHistChargedTrackDepositsAllVsPt->ProfileY("allprofy");
    //profyfHistChargedTrackDepositsAllVsPt->Sumw2();
    //profyfHistChargedTrackDepositsAcceptedVsPt->Sumw2();
    TH1D *profyfHistChargedTrackDepositsAllVsPtClone = profyfHistChargedTrackDepositsAllVsPt->Clone("clone");
    profyfHistChargedTrackDepositsAllVsPt->Divide(profyfHistChargedTrackDepositsAcceptedVsPt);
    profyfHistChargedTrackDepositsAllVsPt->Draw();
    profyfHistChargedTrackDepositsAllVsPtClone->Add(profyfHistChargedTrackDepositsAcceptedVsPt,-1);
    profyfHistChargedTrackDepositsAllVsPtClone->Divide(profyfHistChargedTrackDepositsAcceptedVsPt);
    profyfHistChargedTrackDepositsAllVsPtClone->Draw("same");
    SetStyles(profyfHistChargedTrackDepositsAllVsPt,20,TColor::kBlue);
    SetStyles(profyfHistChargedTrackDepositsAllVsPtClone,29,TColor::kRed);
    Float_t low = 1.0;
    Float_t high = 0.0;
    for(int bin = 1;bin<17;bin++){
      if(profyfHistChargedTrackDepositsAllVsPtClone->GetBinContent(bin)<low) low = profyfHistChargedTrackDepositsAllVsPtClone->GetBinContent(bin);
      if(profyfHistChargedTrackDepositsAllVsPtClone->GetBinContent(bin)>high) high = profyfHistChargedTrackDepositsAllVsPtClone->GetBinContent(bin);
    }
    //cout<<"low "<<low<<" high "<<high<<" mean "<<(low+high)/2.0<<" +/- "<<(high-low)/2.0<<endl;
    cout<<"corrfac = "<<(low+high)/2.0<<";"<<endl;
    cout<<"corrfacerr = "<<(high-low)/2.0<<";"<<endl;
    cout<<Form("%2.3f $\\pm$ %2.3f",(low+high)/2.0,(high-low)/2.0)<<endl;
}
 PlotHadCorrLowPtFraction.C:1
 PlotHadCorrLowPtFraction.C:2
 PlotHadCorrLowPtFraction.C:3
 PlotHadCorrLowPtFraction.C:4
 PlotHadCorrLowPtFraction.C:5
 PlotHadCorrLowPtFraction.C:6
 PlotHadCorrLowPtFraction.C:7
 PlotHadCorrLowPtFraction.C:8
 PlotHadCorrLowPtFraction.C:9
 PlotHadCorrLowPtFraction.C:10
 PlotHadCorrLowPtFraction.C:11
 PlotHadCorrLowPtFraction.C:12
 PlotHadCorrLowPtFraction.C:13
 PlotHadCorrLowPtFraction.C:14
 PlotHadCorrLowPtFraction.C:15
 PlotHadCorrLowPtFraction.C:16
 PlotHadCorrLowPtFraction.C:17
 PlotHadCorrLowPtFraction.C:18
 PlotHadCorrLowPtFraction.C:19
 PlotHadCorrLowPtFraction.C:20
 PlotHadCorrLowPtFraction.C:21
 PlotHadCorrLowPtFraction.C:22
 PlotHadCorrLowPtFraction.C:23
 PlotHadCorrLowPtFraction.C:24
 PlotHadCorrLowPtFraction.C:25
 PlotHadCorrLowPtFraction.C:26
 PlotHadCorrLowPtFraction.C:27
 PlotHadCorrLowPtFraction.C:28
 PlotHadCorrLowPtFraction.C:29
 PlotHadCorrLowPtFraction.C:30
 PlotHadCorrLowPtFraction.C:31
 PlotHadCorrLowPtFraction.C:32
 PlotHadCorrLowPtFraction.C:33
 PlotHadCorrLowPtFraction.C:34
 PlotHadCorrLowPtFraction.C:35
 PlotHadCorrLowPtFraction.C:36
 PlotHadCorrLowPtFraction.C:37
 PlotHadCorrLowPtFraction.C:38
 PlotHadCorrLowPtFraction.C:39
 PlotHadCorrLowPtFraction.C:40
 PlotHadCorrLowPtFraction.C:41
 PlotHadCorrLowPtFraction.C:42
 PlotHadCorrLowPtFraction.C:43
 PlotHadCorrLowPtFraction.C:44
 PlotHadCorrLowPtFraction.C:45
 PlotHadCorrLowPtFraction.C:46
 PlotHadCorrLowPtFraction.C:47
 PlotHadCorrLowPtFraction.C:48
 PlotHadCorrLowPtFraction.C:49
 PlotHadCorrLowPtFraction.C:50
 PlotHadCorrLowPtFraction.C:51
 PlotHadCorrLowPtFraction.C:52
 PlotHadCorrLowPtFraction.C:53
 PlotHadCorrLowPtFraction.C:54
 PlotHadCorrLowPtFraction.C:55
 PlotHadCorrLowPtFraction.C:56
 PlotHadCorrLowPtFraction.C:57
 PlotHadCorrLowPtFraction.C:58
 PlotHadCorrLowPtFraction.C:59
 PlotHadCorrLowPtFraction.C:60
 PlotHadCorrLowPtFraction.C:61
 PlotHadCorrLowPtFraction.C:62
 PlotHadCorrLowPtFraction.C:63
 PlotHadCorrLowPtFraction.C:64
 PlotHadCorrLowPtFraction.C:65
 PlotHadCorrLowPtFraction.C:66
 PlotHadCorrLowPtFraction.C:67
 PlotHadCorrLowPtFraction.C:68
 PlotHadCorrLowPtFraction.C:69
 PlotHadCorrLowPtFraction.C:70
 PlotHadCorrLowPtFraction.C:71
 PlotHadCorrLowPtFraction.C:72
 PlotHadCorrLowPtFraction.C:73
 PlotHadCorrLowPtFraction.C:74
 PlotHadCorrLowPtFraction.C:75
 PlotHadCorrLowPtFraction.C:76
 PlotHadCorrLowPtFraction.C:77
 PlotHadCorrLowPtFraction.C:78
 PlotHadCorrLowPtFraction.C:79
 PlotHadCorrLowPtFraction.C:80
 PlotHadCorrLowPtFraction.C:81
 PlotHadCorrLowPtFraction.C:82
 PlotHadCorrLowPtFraction.C:83
 PlotHadCorrLowPtFraction.C:84
 PlotHadCorrLowPtFraction.C:85
 PlotHadCorrLowPtFraction.C:86
 PlotHadCorrLowPtFraction.C:87
 PlotHadCorrLowPtFraction.C:88
 PlotHadCorrLowPtFraction.C:89
 PlotHadCorrLowPtFraction.C:90
 PlotHadCorrLowPtFraction.C:91
 PlotHadCorrLowPtFraction.C:92
 PlotHadCorrLowPtFraction.C:93
 PlotHadCorrLowPtFraction.C:94
 PlotHadCorrLowPtFraction.C:95
 PlotHadCorrLowPtFraction.C:96
 PlotHadCorrLowPtFraction.C:97
 PlotHadCorrLowPtFraction.C:98
 PlotHadCorrLowPtFraction.C:99
 PlotHadCorrLowPtFraction.C:100
 PlotHadCorrLowPtFraction.C:101
 PlotHadCorrLowPtFraction.C:102
 PlotHadCorrLowPtFraction.C:103