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 PlotSecondariesFraction(Bool_t isPhos = kFALSE){
  gStyle->SetOptTitle(0);
  gStyle->SetOptStat(0);
  gStyle->SetOptFit(0);
  TString filename, detname;
  if(isPhos){
    detname = "PHOS";
    filename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.PHOS.LHC11a10a_bis.Run139465.root";
  }
  else{
    filename = "rootFiles/LHC11a10a_bis/Et.ESD.simPbPb.EMCal.LHC11a10a_bis.Run139465.root";
    detname = "EMCal";
  }
  
  TFile *f = TFile::Open(filename, "READ");
  TList *l = dynamic_cast<TList*>(f->Get("out1"));
  TH1F *fHistSecondaryEnergy = l->FindObject("fHistSecondaryEnergy");
  TH1F *fHistSecondaryChargedEnergy = l->FindObject("fHistSecondaryChargedEnergy");
  TH1F *fHistSecondaryNeutronEnergy = l->FindObject("fHistSecondaryNeutronEnergy");
  TH1F *fHistSecondaryGammaEnergy = l->FindObject("fHistSecondaryGammaEnergy");
  TH1F *fHistSecondaryElectronEnergy = l->FindObject("fHistSecondaryElectronEnergy");
  TH1F *fHistSecondaryOtherEnergy = l->FindObject("fHistSecondaryOtherEnergy");

  TH1F *fHistSecondaryChargedEnergyFraction = fHistSecondaryChargedEnergy->Clone("fHistSecondaryChargedEnergyFraction");
  TH1F *fHistSecondaryNeutronEnergyFraction = fHistSecondaryNeutronEnergy->Clone("fHistSecondaryNeutronEnergyFraction");
  TH1F *fHistSecondaryGammaEnergyFraction = fHistSecondaryGammaEnergy->Clone("fHistSecondaryGammaEnergyFraction");
  TH1F *fHistSecondaryElectronEnergyFraction = fHistSecondaryElectronEnergy->Clone("fHistSecondaryElectronEnergyFraction");
  TH1F *fHistSecondaryOtherEnergyFraction = fHistSecondaryOtherEnergy->Clone("fHistSecondaryOtherEnergyFraction");
  SetStyles(fHistSecondaryChargedEnergyFraction,20,1);
  SetStyles(fHistSecondaryNeutronEnergyFraction,21,TColor::kBlue);
  SetStyles(fHistSecondaryGammaEnergyFraction,22,TColor::kYellow);
  SetStyles(fHistSecondaryElectronEnergyFraction,23,TColor::kGreen);
  SetStyles(fHistSecondaryOtherEnergyFraction,24,TColor::kRed);


  fHistSecondaryChargedEnergyFraction->Divide(fHistSecondaryEnergy);
  fHistSecondaryNeutronEnergyFraction->Divide(fHistSecondaryEnergy);
  fHistSecondaryGammaEnergyFraction->Divide(fHistSecondaryEnergy);
  fHistSecondaryElectronEnergyFraction->Divide(fHistSecondaryEnergy);
  fHistSecondaryOtherEnergyFraction->Divide(fHistSecondaryEnergy);

  TLegend *leg = new TLegend(0.169463,0.687166,0.290268,0.911765);
    leg->SetFillStyle(0);
    leg->SetFillColor(0);
    leg->SetBorderSize(0);
    leg->SetTextSize(0.03);
    leg->SetTextSize(0.038682);
    leg->AddEntry(fHistSecondaryChargedEnergyFraction,"Charged");
    leg->AddEntry(fHistSecondaryNeutronEnergyFraction,"Neutron");
    leg->AddEntry(fHistSecondaryGammaEnergyFraction,"Gamma");
    leg->AddEntry(fHistSecondaryElectronEnergyFraction,"Electron");
    leg->AddEntry(fHistSecondaryOtherEnergyFraction,"Other");

    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);
    fHistSecondaryChargedEnergyFraction->SetMaximum(0.6);
    fHistSecondaryChargedEnergyFraction->SetMinimum(0.0);
    fHistSecondaryChargedEnergyFraction->GetXaxis()->SetTitle("Centrality bin");
    fHistSecondaryChargedEnergyFraction->GetYaxis()->SetTitle("fraction");
    fHistSecondaryChargedEnergyFraction->GetYaxis()->SetLabelSize(0.06);
    fHistSecondaryChargedEnergyFraction->GetXaxis()->SetLabelSize(0.06);
    fHistSecondaryChargedEnergyFraction->GetYaxis()->SetTitleSize(0.06);
    fHistSecondaryChargedEnergyFraction->GetXaxis()->SetTitleSize(0.06);
    fHistSecondaryChargedEnergyFraction->Draw();
    fHistSecondaryNeutronEnergyFraction->Draw("same");
    fHistSecondaryGammaEnergyFraction->Draw("same");
    fHistSecondaryElectronEnergyFraction->Draw("same");
    fHistSecondaryOtherEnergyFraction->Draw("same");
    leg->Draw();

    TString outfile = "/tmp/SecondaryFraction"+detname+".png";
    c1->SaveAs(outfile.Data());
}
 PlotSecondariesFraction.C:1
 PlotSecondariesFraction.C:2
 PlotSecondariesFraction.C:3
 PlotSecondariesFraction.C:4
 PlotSecondariesFraction.C:5
 PlotSecondariesFraction.C:6
 PlotSecondariesFraction.C:7
 PlotSecondariesFraction.C:8
 PlotSecondariesFraction.C:9
 PlotSecondariesFraction.C:10
 PlotSecondariesFraction.C:11
 PlotSecondariesFraction.C:12
 PlotSecondariesFraction.C:13
 PlotSecondariesFraction.C:14
 PlotSecondariesFraction.C:15
 PlotSecondariesFraction.C:16
 PlotSecondariesFraction.C:17
 PlotSecondariesFraction.C:18
 PlotSecondariesFraction.C:19
 PlotSecondariesFraction.C:20
 PlotSecondariesFraction.C:21
 PlotSecondariesFraction.C:22
 PlotSecondariesFraction.C:23
 PlotSecondariesFraction.C:24
 PlotSecondariesFraction.C:25
 PlotSecondariesFraction.C:26
 PlotSecondariesFraction.C:27
 PlotSecondariesFraction.C:28
 PlotSecondariesFraction.C:29
 PlotSecondariesFraction.C:30
 PlotSecondariesFraction.C:31
 PlotSecondariesFraction.C:32
 PlotSecondariesFraction.C:33
 PlotSecondariesFraction.C:34
 PlotSecondariesFraction.C:35
 PlotSecondariesFraction.C:36
 PlotSecondariesFraction.C:37
 PlotSecondariesFraction.C:38
 PlotSecondariesFraction.C:39
 PlotSecondariesFraction.C:40
 PlotSecondariesFraction.C:41
 PlotSecondariesFraction.C:42
 PlotSecondariesFraction.C:43
 PlotSecondariesFraction.C:44
 PlotSecondariesFraction.C:45
 PlotSecondariesFraction.C:46
 PlotSecondariesFraction.C:47
 PlotSecondariesFraction.C:48
 PlotSecondariesFraction.C:49
 PlotSecondariesFraction.C:50
 PlotSecondariesFraction.C:51
 PlotSecondariesFraction.C:52
 PlotSecondariesFraction.C:53
 PlotSecondariesFraction.C:54
 PlotSecondariesFraction.C:55
 PlotSecondariesFraction.C:56
 PlotSecondariesFraction.C:57
 PlotSecondariesFraction.C:58
 PlotSecondariesFraction.C:59
 PlotSecondariesFraction.C:60
 PlotSecondariesFraction.C:61
 PlotSecondariesFraction.C:62
 PlotSecondariesFraction.C:63
 PlotSecondariesFraction.C:64
 PlotSecondariesFraction.C:65
 PlotSecondariesFraction.C:66
 PlotSecondariesFraction.C:67
 PlotSecondariesFraction.C:68
 PlotSecondariesFraction.C:69
 PlotSecondariesFraction.C:70
 PlotSecondariesFraction.C:71
 PlotSecondariesFraction.C:72
 PlotSecondariesFraction.C:73
 PlotSecondariesFraction.C:74
 PlotSecondariesFraction.C:75
 PlotSecondariesFraction.C:76
 PlotSecondariesFraction.C:77
 PlotSecondariesFraction.C:78
 PlotSecondariesFraction.C:79
 PlotSecondariesFraction.C:80
 PlotSecondariesFraction.C:81
 PlotSecondariesFraction.C:82
 PlotSecondariesFraction.C:83
 PlotSecondariesFraction.C:84
 PlotSecondariesFraction.C:85
 PlotSecondariesFraction.C:86
 PlotSecondariesFraction.C:87
 PlotSecondariesFraction.C:88
 PlotSecondariesFraction.C:89
 PlotSecondariesFraction.C:90
 PlotSecondariesFraction.C:91
 PlotSecondariesFraction.C:92