ROOT logo
//Christine Nattrass, University of Tennessee at Knoxville
//This macro is for  plotting the dE/dx from the TPC as used for particle identification for the transverse energy analysis
//Particles identified are colored
//Uses the output of AliAnalysisTaskHadEt
void Rebin(TH2F *histo){
  //cout<<"Nbins x "<<histo->GetNbinsX()<<" y "<<histo->GetNbinsY()<<endl;
  histo->Rebin2D(1,5);
  //histo->SetAxisRange(0.1,1.5);
}

void dEdx(char *prodname = "LHC11b1a PYTHIA 7 TeV p+p", char *shortprodname = "LHC11b1a",bool TPC = true, char *filename="rootFiles/LHC11b1a/Et.ESD.new.sim.LHC11b1a.root",bool data = true){
  TFile *file =  new TFile(filename);
  if(!file){
    cerr<<"Error, no file found"<<endl;
    return;
  }

  char *myname = "ITS";
  if(TPC) myname = "TPCITS";
  cout<<"Using "<<Form("dEdxAll%s",myname)<<endl;
  TString datastring = "";
  if(data) datastring = "Data";
  TH2F *all = out2->FindObject(Form("dEdx%sAll%s",datastring.Data(),myname));
  TH2F *pi = out2->FindObject(Form("dEdx%sPion%s",datastring.Data(),myname));
  TH2F *k = out2->FindObject(Form("dEdx%sKaon%s",datastring.Data(),myname));
  TH2F *p = out2->FindObject(Form("dEdx%sProton%s",datastring.Data(),myname));
  TH2F *e = out2->FindObject(Form("dEdx%sElectron%s",datastring.Data(),myname));
  gStyle->SetPalette(1);
  pi->SetMarkerColor(2);
  k->SetMarkerColor(3);
  p->SetMarkerColor(4);
  e->SetMarkerColor(TColor::kYellow);
  pi->SetLineColor(2);
  k->SetLineColor(3);
  p->SetLineColor(4);
  e->SetLineColor(TColor::kYellow);
  pi->SetFillColor(2);
  k->SetFillColor(3);
  p->SetFillColor(4);
  e->SetFillColor(TColor::kYellow);

  if(!TPC){all->GetXaxis()->SetRange(all->GetXaxis()->FindBin(0.05));}
  else{all->GetXaxis()->SetRange(all->GetXaxis()->FindBin(0.1));}
  //all->GetYaxis()->SetRange(all->GetYaxis()->FindBin(35.0));

  //e->SetMarkerStyle(20);

  gStyle->SetOptTitle(0);
  gStyle->SetOptStat(0);
  gStyle->SetOptFit(0);
  TCanvas *c = new TCanvas("c","c",600,400);
  c->SetTopMargin(0.02);
  c->SetRightMargin(0.02);
  c->SetBorderSize(0);
  c->SetFillColor(0);
  c->SetFillColor(0);
  c->SetBorderMode(0);
  c->SetFrameFillColor(0);
  c->SetFrameBorderMode(0);
  c->SetLogx();
  all->Draw();
  //e->Draw("same");
  pi->Draw("same");
  k->Draw("same");
  p->Draw("same");
  TLegend *leg = new  TLegend(0.825503,0.768817,0.963087,0.954301);
 leg->AddEntry(pi,"#pi^{#pm}","F");
 leg->AddEntry(k,"K^{#pm}","F");
 leg->AddEntry(p,"p,#bar{p}","F");
 leg->AddEntry(e,"e^{#pm}","F");
  leg->SetFillStyle(0);
  leg->SetFillColor(0);
  leg->SetBorderSize(0);
 leg->Draw();

  Rebin(all);
  Rebin(pi);
  Rebin(k);
  Rebin(p);
  Rebin(e);
  //all->SetAxisRange(0.12,1.5);
  if(!TPC){all->GetXaxis()->SetRange(all->GetXaxis()->FindBin(0.05));}
  else{all->GetXaxis()->SetRange(all->GetXaxis()->FindBin(0.1));}

 float y = 141.021;
 if(!TPC) y = 463.693;
 TLatex *tex = new TLatex(0.119617,y,prodname);
  tex->SetTextSize(0.0537634);
  tex->Draw();
  TString dir = "pics";
  TString detector = "";
  if(!TPC) detector = "ITS";
  gSystem->MakeDirectory(Form("%s/%s",dir.Data(),shortprodname));
  c->Print(Form("%s/%s/dEdx%s.pdf",dir.Data(),shortprodname,detector.Data()));
  c->Print(Form("%s/%s/dEdx%s.png",dir.Data(),shortprodname,detector.Data()));
  c->Print(Form("%s/%s/dEdx%s.eps",dir.Data(),shortprodname,detector.Data()));
  c->Print(Form("%s/%s/dEdx%s.jpg",dir.Data(),shortprodname,detector.Data()));
  return;

  if(TPC){
    c->SaveAs(Form("pics/%s/dEdx.eps",shortprodname));
    c->SaveAs(Form("pics/%s/dEdx.png",shortprodname));
    c->SaveAs(Form("pics/%s/dEdx.C",shortprodname));
  }
  else{
    c->SaveAs(Form("pics/%s/dEdxITS.eps",shortprodname));
    c->SaveAs(Form("pics/%s/dEdxITS.png",shortprodname));
  }
}
 dEdx.C:1
 dEdx.C:2
 dEdx.C:3
 dEdx.C:4
 dEdx.C:5
 dEdx.C:6
 dEdx.C:7
 dEdx.C:8
 dEdx.C:9
 dEdx.C:10
 dEdx.C:11
 dEdx.C:12
 dEdx.C:13
 dEdx.C:14
 dEdx.C:15
 dEdx.C:16
 dEdx.C:17
 dEdx.C:18
 dEdx.C:19
 dEdx.C:20
 dEdx.C:21
 dEdx.C:22
 dEdx.C:23
 dEdx.C:24
 dEdx.C:25
 dEdx.C:26
 dEdx.C:27
 dEdx.C:28
 dEdx.C:29
 dEdx.C:30
 dEdx.C:31
 dEdx.C:32
 dEdx.C:33
 dEdx.C:34
 dEdx.C:35
 dEdx.C:36
 dEdx.C:37
 dEdx.C:38
 dEdx.C:39
 dEdx.C:40
 dEdx.C:41
 dEdx.C:42
 dEdx.C:43
 dEdx.C:44
 dEdx.C:45
 dEdx.C:46
 dEdx.C:47
 dEdx.C:48
 dEdx.C:49
 dEdx.C:50
 dEdx.C:51
 dEdx.C:52
 dEdx.C:53
 dEdx.C:54
 dEdx.C:55
 dEdx.C:56
 dEdx.C:57
 dEdx.C:58
 dEdx.C:59
 dEdx.C:60
 dEdx.C:61
 dEdx.C:62
 dEdx.C:63
 dEdx.C:64
 dEdx.C:65
 dEdx.C:66
 dEdx.C:67
 dEdx.C:68
 dEdx.C:69
 dEdx.C:70
 dEdx.C:71
 dEdx.C:72
 dEdx.C:73
 dEdx.C:74
 dEdx.C:75
 dEdx.C:76
 dEdx.C:77
 dEdx.C:78
 dEdx.C:79
 dEdx.C:80
 dEdx.C:81
 dEdx.C:82
 dEdx.C:83
 dEdx.C:84
 dEdx.C:85
 dEdx.C:86
 dEdx.C:87
 dEdx.C:88
 dEdx.C:89
 dEdx.C:90
 dEdx.C:91
 dEdx.C:92
 dEdx.C:93
 dEdx.C:94
 dEdx.C:95
 dEdx.C:96
 dEdx.C:97
 dEdx.C:98
 dEdx.C:99
 dEdx.C:100
 dEdx.C:101
 dEdx.C:102
 dEdx.C:103
 dEdx.C:104
 dEdx.C:105
 dEdx.C:106
 dEdx.C:107
 dEdx.C:108
 dEdx.C:109
 dEdx.C:110