//\r
/////////////////////////////////////////////////\r
\r
-TH1F *alltte, *alltrk, *allemc;\r
-TH1F *sumtte, *sumtrk, *sumemc;\r
-TH1F *bpttte, *bpttrk, *bptemc;\r
-TH1F *cpttte, *cpttrk, *cptemc;\r
-TH1F *candbpttte, *candbpttrk, *candbptemc;\r
-TH1F *convpttte, *convpttrk, *convptemc;\r
-TH1F *dalitzpttte, *dalitzpttrk, *dalitzptemc;\r
-TH1F *wzpttte, *wzpttrk, *wzptemc;\r
-TH1F *otherpttte, *otherpttrk, *otherptemc;\r
-TH1F *misidpttte, *misidpttrk, *misidptemc;\r
-\r
TLegend* leg;\r
\r
-void plotNPERates(char* which = "TTE", \r
- char* hijfname = "data/scaled25Oct09/histosLHC08d6.root",\r
- char* jjfname = "data/scaled25Oct09/TOTALhistosscaled-LHC09b2-0.root",\r
- char* bfname = "data/scaled25Oct09/histosscaledLHC09b4AODc.root",\r
- char* wfname = "data/scaled25Oct09/histosWboson.root") {\r
-\r
- //For HIJING need to divide by the number of events, which we\r
- //can get from the file and do when we perform scaling\r
- double hijscale = 0.05*(1.E6)*0.5*7700; //0-5% * seconds*lumi*PbPb x-section\r
- //For bjet and jet-jet events\r
- double pyscale = (1.E6)*0.5*208*208*100/360; //seconds*lumi*Pb*Pb*acceptance\r
- double bscale = pyscale; //Do we need to scale by Branching ratio for forced\r
- //semi-leptonic decays?\r
- double wscale = pyscale;\r
- \r
- TFile* hijfile = new TFile(hijfname);\r
- if(!hijfile) { printf("NO HIJING FILE\n"); return; }\r
- TList* hijlist = (TList*)hijfile->Get("histos");\r
- TH2F* hijtte = (TH2F*)histos->FindObject("AnaElectron_hPtNPEleTTE");\r
- TH2F* hijemc = (TH2F*)histos->FindObject("AnaElectron_hPtNPEleEMCAL");\r
- TH2F* hijtrk = (TH2F*)histos->FindObject("AnaElectron_hPtNPEleTPCTRD");\r
- TH1F* hijmult = (TH1F*)histos->FindObject("AnaElectron_hRefMult");\r
- Int_t nEvt = hijmult->GetEntries();\r
- if(nEvt == 0) { printf("NO HIJING EVENTS\n"); return; }\r
- hijtte->Scale(hijscale/nEvt);\r
- hijemc->Scale(hijscale/nEvt);\r
- hijtrk->Scale(hijscale/nEvt);\r
-\r
- TFile* jjfile = new TFile(jjfname);\r
- if(!jjfile) { printf("NO JET-JET FILE\n"); return; }\r
- TH2F* jjtte = (TH2F*)jjfile->Get("AnaElectron_hPtNPEleTTEScaled");\r
- TH2F* jjemc = (TH2F*)jjfile->Get("AnaElectron_hPtNPEleEMCALScaled");\r
- TH2F* jjtrk = (TH2F*)jjfile->Get("AnaElectron_hPtNPEleTPCTRDScaled");\r
- TH1F* jjmult = (TH1F*)jjfile->Get("AnaElectron_hRefMultScaled");\r
- Int_t nEvtJJ = jjmult->GetEntries();\r
- jjtte->Scale(pyscale);\r
- jjemc->Scale(pyscale);\r
- jjtrk->Scale(pyscale);\r
-\r
- TFile* bfile = new TFile(bfname);\r
- if(!bfile) { printf("NO B-JET FILE\n"); return; }\r
- TH2F* btte = (TH2F*)bfile->Get("AnaElectron_hPtNPEleTTEScaled");\r
- TH2F* bemc = (TH2F*)bfile->Get("AnaElectron_hPtNPEleEMCALScaled");\r
- TH2F* btrk = (TH2F*)bfile->Get("AnaElectron_hPtNPEleTPCTRDScaled");\r
- TH1F* bmult = (TH1F*)bfile->Get("AnaElectron_hRefMultScaled");\r
- Int_t nEvtB = bmult->GetEntries();\r
- btte->Scale(bscale);\r
- bemc->Scale(bscale);\r
- btrk->Scale(bscale);\r
-\r
- TFile* wfile = new TFile(wfname);\r
- if(!wfile) { printf("NO W-BOSON FILE\n"); return; }\r
- TH2F* wtte = (TH2F*)wfile->Get("AnaElectron_hPtNPEleTTE");\r
- TH2F* wemc = (TH2F*)wfile->Get("AnaElectron_hPtNPEleEMCAL");\r
- TH2F* wtrk = (TH2F*)wfile->Get("AnaElectron_hPtNPEleTPCTRD");\r
- TH1F* wmult = (TH1F*)wfile->Get("AnaElectron_hRefMult");\r
- Int_t nEvtW = wmult->GetEntries();\r
- wtte->Scale(wscale); //already scaled by evts\r
- wemc->Scale(wscale); //already scaled by evts\r
- wtrk->Scale(wscale); //already scaled by evts\r
-\r
- printf("Event statistics: %d (HIJING) %d (JET-JET) %d (B-JET) %d (W-Boson)\n",nEvt,nEvtJJ,nEvtB,nEvtW);\r
-\r
- TH2F* combTTE = (TH2F*)hijtte->Clone();\r
- combTTE->Add(jjtte);\r
- combTTE->Add(btte);\r
- combTTE->SetTitle("Identified non-phot. electrons (TPC+TRD+EMCAL)");\r
- combTTE->SetName("CombinedEleTTE");\r
- combTTE->SetXTitle("p_T (GeV/c)");\r
-\r
- alltte = (TH1F*)combTTE->ProjectionX("alltte",1,1);\r
- bpttte = (TH1F*)combTTE->ProjectionX("btte",2,2);\r
- cpttte = (TH1F*)combTTE->ProjectionX("ctte",3,3);\r
- candbpttte = (TH1F*)combTTE->ProjectionX("candbtte",4,4);\r
- convpttte = (TH1F*)combTTE->ProjectionX("convtte",5,5);\r
- dalitzpttte = (TH1F*)combTTE->ProjectionX("dalitztte",6,6);\r
- otherpttte = (TH1F*)combTTE->ProjectionX("othertte",8,8);\r
- sumtte = (TH1F*)bpttte->Clone(); sumtte->SetName("sumtte");\r
- sumtte->Add(cpttte); sumtte->Add(candbpttte); sumtte->Add(convpttte);\r
- sumtte->Add(dalitzpttte); //sumtte->Add(otherpttte);\r
- misidpttte = (TH1F*)combTTE->ProjectionX("misidtte",9,9);\r
-\r
- wzpttte = (TH1F*)wtte->ProjectionX("wz",7,7);\r
- alltte->Add(wzpttte);\r
- sumtte->Add(wzpttte);\r
-\r
- double myscale = 1.; //we already scaled them\r
- ScaleAndConfigure(alltte,myscale,kBlack,kFALSE);\r
- ScaleAndConfigure(sumtte,myscale,kBlack,kFALSE);\r
- ScaleAndConfigure(bpttte,myscale,kRed,kFALSE);\r
- ScaleAndConfigure(cpttte,myscale,kBlue,kFALSE);\r
- ScaleAndConfigure(candbpttte,myscale,kViolet,kFALSE);\r
- ScaleAndConfigure(convpttte,myscale,kOrange-3,kFALSE);\r
- ScaleAndConfigure(dalitzpttte,myscale,kGreen-3,kFALSE);\r
- ScaleAndConfigure(misidpttte,myscale,kGreen+2,kFALSE);\r
- ScaleAndConfigure(wzpttte,myscale,kOrange-7,kFALSE);\r
-\r
- TH2F* combEMC = (TH2F*)hijemc->Clone();\r
- combEMC->Add(jjemc);\r
- combEMC->Add(bemc);\r
- combEMC->SetTitle("Identified non-phot. electrons (EMCAL)");\r
- combEMC->SetName("CombinedEleEMC");\r
- combEMC->SetXTitle("p_T (GeV/c)");\r
-\r
- allemc = (TH1F*)combEMC->ProjectionX("allemc",1,1);\r
- bptemc = (TH1F*)combEMC->ProjectionX("bemc",2,2);\r
- cptemc = (TH1F*)combEMC->ProjectionX("cemc",3,3);\r
- candbptemc = (TH1F*)combEMC->ProjectionX("candbemc",4,4);\r
- convptemc = (TH1F*)combEMC->ProjectionX("convemc",5,5);\r
- dalitzptemc = (TH1F*)combEMC->ProjectionX("dalitzemc",6,6);\r
- otherptemc = (TH1F*)combEMC->ProjectionX("otheremc",8,8);\r
- sumemc = (TH1F*)bptemc->Clone(); sumemc->SetName("sumemc");\r
- sumemc->Add(cptemc); sumemc->Add(candbptemc); sumemc->Add(convptemc);\r
- sumemc->Add(dalitzptemc); //sumemc->Add(otherptemc);\r
- misidptemc = (TH1F*)combEMC->ProjectionX("misidemc",9,9);\r
-\r
- wzptemc = (TH1F*)wemc->ProjectionX("wz",7,7);\r
- allemc->Add(wzptemc);\r
- sumemc->Add(wzptemc);\r
-\r
- double myscale = 1.; //we already scaled them\r
- ScaleAndConfigure(allemc,myscale,kBlack,kFALSE);\r
- ScaleAndConfigure(sumemc,myscale,kBlack,kFALSE);\r
- ScaleAndConfigure(bptemc,myscale,kRed,kFALSE);\r
- ScaleAndConfigure(cptemc,myscale,kBlue,kFALSE);\r
- ScaleAndConfigure(candbptemc,myscale,kViolet,kFALSE);\r
- ScaleAndConfigure(convptemc,myscale,kOrange-3,kFALSE);\r
- ScaleAndConfigure(dalitzptemc,myscale,kGreen-3,kFALSE);\r
- ScaleAndConfigure(misidptemc,myscale,kGreen+2,kFALSE);\r
- ScaleAndConfigure(wzptemc,myscale,kOrange-7,kFALSE);\r
+void plotNPERates(const char* which = "EMC") {\r
\r
- TH2F* combTRK = (TH2F*)hijtrk->Clone();\r
- combTRK->Add(jjtrk);\r
- combTRK->Add(btrk);\r
- combTRK->SetTitle("Identified non-phot. electrons (TPC+TRD)");\r
- combTRK->SetName("CombinedEleTRK");\r
- combTRK->SetXTitle("p_T (GeV/c)");\r
-\r
- alltrk = (TH1F*)combTRK->ProjectionX("alltrk",1,1);\r
- bpttrk = (TH1F*)combTRK->ProjectionX("btrk",2,2);\r
- cpttrk = (TH1F*)combTRK->ProjectionX("ctrk",3,3);\r
- candbpttrk = (TH1F*)combTRK->ProjectionX("candbtrk",4,4);\r
- convpttrk = (TH1F*)combTRK->ProjectionX("convtrk",5,5);\r
- dalitzpttrk = (TH1F*)combTRK->ProjectionX("dalitztrk",6,6);\r
- otherpttrk = (TH1F*)combTRK->ProjectionX("othertrk",8,8);\r
- sumtrk = (TH1F*)bpttrk->Clone(); sumtrk->SetName("sumtrk");\r
- sumtrk->Add(cpttrk); sumtrk->Add(candbpttrk); sumtrk->Add(convpttrk);\r
- sumtrk->Add(dalitzpttrk); //sumtrk->Add(otherpttrk);\r
- misidpttrk = (TH1F*)combTRK->ProjectionX("misidtrk",9,9);\r
-\r
- wzpttrk = (TH1F*)wtrk->ProjectionX("wztrk",7,7);\r
- alltrk->Add(wzpttrk);\r
- sumtrk->Add(wzpttrk);\r
-\r
- double myscale = 1.; //we already scaled them\r
- ScaleAndConfigure(alltrk,myscale,kBlack,kFALSE);\r
- ScaleAndConfigure(sumtrk,myscale,kBlack,kFALSE);\r
- ScaleAndConfigure(bpttrk,myscale,kRed,kFALSE);\r
- ScaleAndConfigure(cpttrk,myscale,kBlue,kFALSE);\r
- ScaleAndConfigure(candbpttrk,myscale,kViolet,kFALSE);\r
- ScaleAndConfigure(convpttrk,myscale,kOrange-3,kFALSE);\r
- ScaleAndConfigure(dalitzpttrk,myscale,kGreen-3,kFALSE);\r
- ScaleAndConfigure(misidpttrk,myscale,kGreen+2,kFALSE);\r
- ScaleAndConfigure(wzpttrk,myscale,kOrange-7,kFALSE);\r
+ gROOT->LoadMacro("makeCombinedData.C");\r
+ makeData("data/scaled25Oct09/TOTALhistosscaled-LHC09b2-0.root",\r
+ "data/scaled25Oct09/histosscaledLHC09b4AODc.root",\r
+ "data/scaled25Oct09/histosWboson.root");\r
\r
//define common legend\r
leg = new TLegend(0.5,0.6,0.9,0.9);\r
+ leg->SetFillColor(0);\r
leg->SetTextSize(leg->GetTextSize()*1.2);\r
//leg->AddEntry(alltte,"All N-P e candidates","l");\r
leg->AddEntry(sumtte,"All N-P electrons","l");\r
- leg->AddEntry(bpttte,"Bottom e","l");\r
- leg->AddEntry(cpttte,"Charm e","l");\r
- leg->AddEntry(candbpttte,"B-->C e","l");\r
- leg->AddEntry(dalitzpttte,"Dalitz e","l");\r
- leg->AddEntry(convpttte,"Conversion e","l");\r
- leg->AddEntry(wzpttte,"W Boson e","l");\r
- //leg->AddEntry(misidpttte,"Mis-identified hadrons","l");\r
+ leg->AddEntry(btte,"Bottom e","l");\r
+ leg->AddEntry(ctte,"Charm e","l");\r
+ leg->AddEntry(cbtte,"B-->C e","l");\r
+ leg->AddEntry(daltte,"Dalitz e","l");\r
+ leg->AddEntry(convtte,"Conversion e","l");\r
+ leg->AddEntry(wztte,"W Boson e","l");\r
+ // leg->AddEntry(htte,"Misidentified hadrons","l");\r
\r
gStyle->SetOptStat(0);\r
- drawAnnualYields(which);\r
- drawComparePID();\r
- drawPtCutRates(which);\r
-\r
-}\r
-\r
-void ScaleAndConfigure(TH1F* hist,Double_t scale, Int_t color,Bool_t keepErr)\r
-{\r
- hist->Scale(scale);\r
- hist->SetLineColor(color);\r
- hist->SetLineWidth(2);\r
- if(keepErr == kFALSE) {\r
- //remove the error bars - useful for MC rates\r
- for(Int_t i = 1; i <= hist->GetNbinsX(); i++) {\r
- if(hist->GetBinContent(i) > 0.) {\r
- if(hist->GetBinError(i)/hist->GetBinContent(i) > 0.5) {\r
- Double_t avg = 0.;\r
- if(i > 1 && i < hist->GetNbinsX()) \r
- avg = (hist->GetBinContent(i-1) + hist->GetBinContent(i+1))/2.;\r
- hist->SetBinContent(i,avg);\r
- }\r
- }\r
- hist->SetBinError(i,0.);\r
- }\r
- } else {\r
- //Set the error bars to statistics of the bin content\r
- for(Int_t i = 1; i <= hist->GetNbinsX(); i++) {\r
- if(hist->GetBinContent(i) > 0.) {\r
- if(hist->GetBinError(i)/hist->GetBinContent(i) > 0.5) {\r
- Double_t avg = 0;\r
- if(i > 1 && i < hist->GetNbinsX()) \r
- avg = (hist->GetBinContent(i-1) + hist->GetBinContent(i+1))/2.;\r
- hist->SetBinContent(i,avg);\r
- }\r
- }\r
- hist->SetBinError(i,TMath::Sqrt(hist->GetBinContent(i)));\r
- }\r
- }\r
+ // drawAnnualYields(which);\r
+ // drawPtCutRates(which);\r
+ //drawCompareTruth();\r
\r
}\r
\r
void drawAnnualYields(char* which = "EMC") {\r
\r
TCanvas* crates = new TCanvas();\r
+ crates->SetFillColor(0);\r
+ crates->SetBorderMode(0);\r
+ crates->SetBorderSize(2);\r
+ crates->SetFrameBorderMode(0);\r
+ crates->SetFrameBorderMode(0);\r
+\r
crates->cd();\r
gPad->SetLogy();\r
\r
if(strcmp(which,"EMC")==0) {\r
- /*\r
allemc->SetXTitle("p_{T} (GeV/c)");\r
allemc->SetYTitle("Annual yield");\r
allemc->SetTitle("Annual yield of non-phot. electron candidates (EMCAL pid)");\r
- allemc->Rebin(2); allemc->Scale(0.5);\r
- */\r
+ allemc->Rebin(5); allemc->Scale(0.2);\r
+\r
sumemc->SetXTitle("p_{T} (GeV/c)");\r
sumemc->SetYTitle("Annual yield");\r
sumemc->SetTitle("Annual yield of non-phot. electrons (EMCAL pid)");\r
- sumemc->Rebin(2); sumemc->Scale(0.5);\r
-\r
- bptemc->Rebin(2); bptemc->Scale(0.5);\r
- cptemc->Rebin(2); cptemc->Scale(0.5);\r
- candbptemc->Rebin(2); candbptemc->Scale(0.5);\r
- convptemc->Rebin(2); convptemc->Scale(0.5);\r
- dalitzptemc->Rebin(2); dalitzptemc->Scale(0.5);\r
- wzptemc->Rebin(2); wzptemc->Scale(0.5);\r
- misidptemc->Rebin(2); misidptemc->Scale(0.5);\r
- /*\r
- allemc->GetYaxis()->SetRangeUser(1.,allemc->GetMaximum()*2.);\r
- allemc->GetXaxis()->SetRangeUser(0.,49.);\r
- allemc->Draw();\r
- */\r
- sumemc->GetYaxis()->SetRangeUser(1.,sumemc->GetMaximum()*2.);\r
- sumemc->GetXaxis()->SetRangeUser(0.,49.);\r
+ sumemc->Rebin(5); sumemc->Scale(0.2);\r
+\r
+ bemc->Rebin(5); bemc->Scale(0.2);\r
+ cemc->Rebin(5); cemc->Scale(0.2);\r
+ cbemc->Rebin(5); cbemc->Scale(0.2);\r
+ convemc->Rebin(5); convemc->Scale(0.2);\r
+ dalemc->Rebin(5); dalemc->Scale(0.2);\r
+ wzemc->Rebin(5); wzemc->Scale(0.2);\r
+ hemc->Rebin(5); hemc->Scale(0.2);\r
+\r
+ allemc->GetYaxis()->SetRangeUser(1.,2.e6);\r
+ allemc->GetXaxis()->SetRangeUser(10.,49.);\r
+ //allemc->Draw();\r
+ sumemc->GetYaxis()->SetRangeUser(1.,2.e6);\r
+ sumemc->GetXaxis()->SetRangeUser(10.,49.);\r
sumemc->Draw();\r
- bptemc->Draw("same");\r
- cptemc->Draw("same");\r
- candbptemc->Draw("same");\r
- convptemc->Draw("same");\r
- dalitzptemc->Draw("same");\r
- wzptemc->Draw("same");\r
- //misidptemc->Draw("same");\r
+ bemc->Draw("same");\r
+ cemc->Draw("same");\r
+ cbemc->Draw("same");\r
+ convemc->Draw("same");\r
+ dalemc->Draw("same");\r
+ wzemc->Draw("same");\r
+ // hemc->Draw("same");\r
leg->Draw();\r
crates->Print("NPERates_EMC_all.pdf");\r
}\r
+ if(strcmp(which,"TRK")==0) {\r
+ alltrk->SetXTitle("p_{T} (GeV/c)");\r
+ alltrk->SetYTitle("Annual yield");\r
+ alltrk->SetTitle("Annual yield of non-phot. electron candidates (TPC+TRD pid)");\r
+ alltrk->Rebin(5); alltrk->Scale(0.2);\r
+ sumtrk->SetXTitle("p_{T} (GeV/c)");\r
+ sumtrk->SetYTitle("Annual yield");\r
+ sumtrk->SetTitle("Annual yield of non-phot. electrons (TPC+TRD pid)");\r
+ sumtrk->Rebin(5); sumtrk->Scale(0.2);\r
+\r
+ btrk->Rebin(5); btrk->Scale(0.2);\r
+ ctrk->Rebin(5); ctrk->Scale(0.2);\r
+ cbtrk->Rebin(5); cbtrk->Scale(0.2);\r
+ convtrk->Rebin(5); convtrk->Scale(0.2);\r
+ daltrk->Rebin(5); daltrk->Scale(0.2);\r
+ wztrk->Rebin(5); wztrk->Scale(0.2);\r
+ htrk->Rebin(5); htrk->Scale(0.2);\r
+\r
+ alltrk->GetYaxis()->SetRangeUser(1.,6.e6);\r
+ alltrk->GetXaxis()->SetRangeUser(10.,49.);\r
+ // alltrk->Draw();\r
+ sumtrk->GetYaxis()->SetRangeUser(1.,6.e6);\r
+ sumtrk->GetXaxis()->SetRangeUser(10.,49.);\r
+ sumtrk->Draw();\r
+ btrk->Draw("same");\r
+ ctrk->Draw("same");\r
+ cbtrk->Draw("same");\r
+ convtrk->Draw("same");\r
+ daltrk->Draw("same");\r
+ wztrk->Draw("same");\r
+ // htrk->Draw("same");\r
+ leg->Draw();\r
+ crates->Print("NPERates_TRK_all.pdf");\r
+ }\r
if(strcmp(which,"TTE")==0) {\r
- /* alltte->SetXTitle("p_{T} (GeV/c)");\r
+ alltte->SetXTitle("p_{T} (GeV/c)");\r
alltte->SetYTitle("Annual yield");\r
alltte->SetTitle("Annual yield of non-phot. electron candidates (Tracking+EMCAL pid)");\r
- alltte->Rebin(2); alltte->Scale(0.5);\r
- */\r
+ alltte->Rebin(5); alltte->Scale(0.2);\r
sumtte->SetXTitle("p_{T} (GeV/c)");\r
sumtte->SetYTitle("Annual yield");\r
sumtte->SetTitle("Annual yield of non-phot. electrons (Tracking+EMCAL pid)");\r
- sumtte->Rebin(2); sumtte->Scale(0.5);\r
- bpttte->Rebin(2); bpttte->Scale(0.5);\r
- cpttte->Rebin(2); cpttte->Scale(0.5);\r
- candbpttte->Rebin(2); candbpttte->Scale(0.5);\r
- convpttte->Rebin(2); convpttte->Scale(0.5);\r
- dalitzpttte->Rebin(2); dalitzpttte->Scale(0.5);\r
- wzpttte->Rebin(2); wzpttte->Scale(0.5);\r
- misidpttte->Rebin(2); misidpttte->Scale(0.5);\r
- /* alltte->GetYaxis()->SetRangeUser(1.,alltte->GetMaximum()*2.);\r
- alltte->GetXaxis()->SetRangeUser(0.,49.);\r
- alltte->Draw();\r
- */\r
- sumtte->GetYaxis()->SetRangeUser(1.,sumtte->GetMaximum()*2.);\r
- sumtte->GetXaxis()->SetRangeUser(0.,49.);\r
+ sumtte->Rebin(5); sumtte->Scale(0.2);\r
+\r
+ btte->Rebin(5); btte->Scale(0.2);\r
+ ctte->Rebin(5); ctte->Scale(0.2);\r
+ cbtte->Rebin(5); cbtte->Scale(0.2);\r
+ convtte->Rebin(5); convtte->Scale(0.2);\r
+ daltte->Rebin(5); daltte->Scale(0.2);\r
+ wztte->Rebin(5); wztte->Scale(0.2);\r
+ htte->Rebin(5); htte->Scale(0.2);\r
+\r
+ alltte->GetYaxis()->SetRangeUser(1.,2.e6);\r
+ alltte->GetXaxis()->SetRangeUser(10.,49.);\r
+ // alltte->Draw();\r
+ sumtte->GetYaxis()->SetRangeUser(1.,2.e6);\r
+ sumtte->GetXaxis()->SetRangeUser(10.,49.);\r
sumtte->Draw();\r
- bpttte->Draw("same");\r
- cpttte->Draw("same");\r
- candbpttte->Draw("same");\r
- convpttte->Draw("same");\r
- dalitzpttte->Draw("same");\r
- wzpttte->Draw("same");\r
- //misidpttte->Draw("same");\r
+ btte->Draw("same");\r
+ ctte->Draw("same");\r
+ cbtte->Draw("same");\r
+ convtte->Draw("same");\r
+ daltte->Draw("same");\r
+ wztte->Draw("same");\r
+ htte->Draw("same");\r
leg->Draw();\r
crates->Print("NPERates_TTE_all.pdf");\r
}\r
\r
-\r
-}\r
-\r
-void drawComparePID() {\r
-\r
- TCanvas* crates = new TCanvas();\r
- crates->cd();\r
- gPad->SetLogy();\r
- alltrk->SetXTitle("p_{T} (GeV/c)");\r
- alltrk->SetYTitle("Annual yield of electron candidates");\r
- alltrk->SetTitle("PID comparison: Tracking only vs. EMCAL only");\r
- alltrk->Rebin(2); alltrk->Scale(0.5);\r
- alltrk->GetYaxis()->SetRangeUser(10.,alltrk->GetMaximum()*2.);\r
- alltrk->GetXaxis()->SetRangeUser(0.,49.);\r
- alltrk->Draw();\r
- misidpttrk->Rebin(2); misidpttrk->Scale(0.5);\r
- misidpttrk->Draw("same");\r
- TH1F* tempallemc = (TH1F*)allemc->Clone();\r
- tempallemc->SetNameTitle("tempallemc","tempallemc");\r
- tempallemc->SetLineColor(kBlue);\r
- tempallemc->Draw("same");\r
- \r
- TH1F* tempmisidemc = (TH1F*)misidptemc->Clone();\r
- tempmisidemc->SetNameTitle("tempmisidemc","tempmisidemc");\r
- tempmisidemc->SetLineColor(kOrange-3);\r
- tempmisidemc->Draw("same");\r
-\r
- TLegend* leg2 = new TLegend(0.35,0.6,0.9,0.9);\r
- leg2->SetTextSize(leg->GetTextSize()*1.2);\r
- leg2->AddEntry(alltrk,"All electrons (Tracking PID only)","l");\r
- leg2->AddEntry(misidpttrk,"Hadron contamination (Tracking PID only)","l");\r
- leg2->AddEntry(tempallemc,"All electrons (EMCAL PID)","l");\r
- leg2->AddEntry(tempmisidemc,"Hadron contamination (EMCAL PID)","l");\r
- leg2->Draw();\r
- crates->Print("NPERates_PIDCompare_all.pdf");\r
}\r
\r
void drawPtCutRates(char* which = "EMC") {\r
\r
TCanvas* cptcut = new TCanvas();\r
+ cptcut->SetFillColor(0);\r
+ cptcut->SetBorderMode(0);\r
+ cptcut->SetBorderSize(2);\r
+ cptcut->SetFrameBorderMode(0);\r
+ cptcut->SetFrameBorderMode(0);\r
cptcut->cd();\r
gPad->SetLogy();\r
if(strcmp(which,"EMC")==0) {\r
// TH1F* alleptcut = GetPtCutHisto(allemc);\r
TH1F* alleptcut = GetPtCutHisto(sumemc);\r
- TH1F* beleptcut = GetPtCutHisto(bptemc);\r
- TH1F* celeptcut = GetPtCutHisto(cptemc);\r
- TH1F* cbeleptcut = GetPtCutHisto(candbptemc);\r
- TH1F* dalitzptcut = GetPtCutHisto(dalitzptemc);\r
- TH1F* convptcut = GetPtCutHisto(convptemc);\r
- TH1F* wzptcut = GetPtCutHisto(wzptemc);\r
- TH1F* misidptcut = GetPtCutHisto(misidptemc);\r
+ TH1F* beleptcut = GetPtCutHisto(bemc);\r
+ TH1F* celeptcut = GetPtCutHisto(cemc);\r
+ TH1F* cbeleptcut = GetPtCutHisto(cbemc);\r
+ TH1F* dalitzptcut = GetPtCutHisto(dalemc);\r
+ TH1F* convptcut = GetPtCutHisto(convemc);\r
+ TH1F* wzptcut = GetPtCutHisto(wzemc);\r
+ TH1F* misidptcut = GetPtCutHisto(hemc);\r
alleptcut->SetXTitle("p_{T}^{cut} (GeV/c)");\r
alleptcut->SetYTitle("Annual Yield in EMCAL for p_{T}>p_{T}^{cut}");\r
- alleptcut->SetTitle("Annual non-phot. electrons for p_{T}>p_{T}^{cut} (EMCAL pid)");\r
- alleptcut->GetXaxis()->SetRangeUser(0,49);\r
- alleptcut->GetYaxis()->SetRangeUser(1,alleptcut->GetMaximum()*2);\r
+ alleptcut->SetTitle("Pb+Pb, 5.5 TeV reconstructed N-P electrons (EMCAL pid)");\r
+ alleptcut->GetXaxis()->SetRangeUser(10.,49.);\r
+ alleptcut->GetYaxis()->SetRangeUser(1,4.e5);\r
alleptcut->Draw();\r
beleptcut->Draw("same");\r
celeptcut->Draw("same");\r
leg->Draw();\r
cptcut->Print("NPERates_EMC_ptcut_all.pdf");\r
}\r
+ if(strcmp(which,"TRK")==0) {\r
+ // TH1F* alleptcut = GetPtCutHisto(alltrk);\r
+ TH1F* alleptcut = GetPtCutHisto(sumtrk);\r
+ TH1F* beleptcut = GetPtCutHisto(btrk);\r
+ TH1F* celeptcut = GetPtCutHisto(ctrk);\r
+ TH1F* cbeleptcut = GetPtCutHisto(cbtrk);\r
+ TH1F* dalitzptcut = GetPtCutHisto(daltrk);\r
+ TH1F* convptcut = GetPtCutHisto(convtrk);\r
+ TH1F* wzptcut = GetPtCutHisto(wztrk);\r
+ TH1F* misidptcut = GetPtCutHisto(htrk);\r
+ alleptcut->SetXTitle("p_{T}^{cut} (GeV/c)");\r
+ alleptcut->SetYTitle("Annual Yield in EMCAL for p_{T}>p_{T}^{cut}");\r
+ alleptcut->SetTitle("Pb+Pb, 5.5 TeV reconstructed N-P electrons (TPC+TRD pid)");\r
+ alleptcut->GetXaxis()->SetRangeUser(10.,49.);\r
+ alleptcut->GetYaxis()->SetRangeUser(1,6.e6);\r
+ alleptcut->Draw();\r
+ beleptcut->Draw("same");\r
+ celeptcut->Draw("same");\r
+ cbeleptcut->Draw("same");\r
+ dalitzptcut->Draw("same");\r
+ convptcut->Draw("same");\r
+ wzptcut->Draw("same");\r
+ //misidptcut->Draw("same");\r
+ leg->Draw();\r
+ cptcut->Print("NPERates_TRK_ptcut_all.pdf");\r
+ }\r
if(strcmp(which,"TTE")==0) {\r
// TH1F* alleptcut = GetPtCutHisto(alltte);\r
TH1F* alleptcut = GetPtCutHisto(sumtte);\r
- TH1F* beleptcut = GetPtCutHisto(bpttte);\r
- TH1F* celeptcut = GetPtCutHisto(cpttte);\r
- TH1F* cbeleptcut = GetPtCutHisto(candbpttte);\r
- TH1F* dalitzptcut = GetPtCutHisto(dalitzpttte);\r
- TH1F* convptcut = GetPtCutHisto(convpttte);\r
- TH1F* wzptcut = GetPtCutHisto(wzpttte);\r
- TH1F* misidptcut = GetPtCutHisto(misidpttte);\r
+ TH1F* beleptcut = GetPtCutHisto(btte);\r
+ TH1F* celeptcut = GetPtCutHisto(ctte);\r
+ TH1F* cbeleptcut = GetPtCutHisto(cbtte);\r
+ TH1F* dalitzptcut = GetPtCutHisto(daltte);\r
+ TH1F* convptcut = GetPtCutHisto(convtte);\r
+ TH1F* wzptcut = GetPtCutHisto(wztte);\r
+ TH1F* misidptcut = GetPtCutHisto(htte);\r
alleptcut->SetXTitle("p_{T}^{cut} (GeV/c)");\r
alleptcut->SetYTitle("Annual Yield in EMCAL for p_{T}>p_{T}^{cut}");\r
- alleptcut->SetTitle("Annual non-phot. electrons for p_{T}>p_{T}^{cut} (Tracking+EMCAL pid)");\r
- alleptcut->GetXaxis()->SetRangeUser(0,49);\r
- alleptcut->GetYaxis()->SetRangeUser(1,alleptcut->GetMaximum()*2);\r
+ alleptcut->SetTitle("Pb+Pb, 5.5 TeV reconstructed N-P electrons (Tracking+EMCAL pid)");\r
+ alleptcut->GetXaxis()->SetRangeUser(10.,49.);\r
+ alleptcut->GetYaxis()->SetRangeUser(1,4.e5);\r
alleptcut->Draw();\r
beleptcut->Draw("same");\r
celeptcut->Draw("same");\r
dalitzptcut->Draw("same");\r
convptcut->Draw("same");\r
wzptcut->Draw("same");\r
- //misidptcut->Draw("same");\r
+ misidptcut->Draw("same");\r
\r
leg->Draw();\r
cptcut->Print("NPERates_TTE_ptcut_all.pdf");\r
\r
}\r
\r
-\r
-TH1F* GetPtCutHisto(TH1F* input) \r
-{\r
- //Given a rate histogram vs pt, return the histogram with yield\r
- //above a given pTcut\r
-\r
- TH1F* result = (TH1F*)input->Clone();\r
- char name[100];\r
- sprintf(name,"%s_ptCut",result->GetName());\r
- result->SetNameTitle(name,name);\r
- for(Int_t i = 1; i <= result->GetNbinsX(); i++) {\r
- Double_t val = input->Integral(i,result->GetNbinsX());\r
- result->SetBinContent(i,val);\r
- result->SetBinError(i,0.);\r
+TH1F* drawCompareTruth() {\r
+\r
+ TH1F* mctruth = (TH1F*)belemc->Clone();\r
+ mctruth->SetName("mctruth");\r
+ mctruth->Add(celemc);\r
+ mctruth->Add(candbmc);\r
+ mctruth->Add(wzmc);\r
+ mctruth->Rebin(2); mctruth->Scale(0.5);\r
+\r
+ TFile* effic = new TFile("elec_eff.root");\r
+ TH1F* heff = (TH1F*)effic->Get("h111");\r
+\r
+ TH1F* hcorr = (TH1F*)sumHFemc->Clone();\r
+ hcorr->SetName("hcorr");\r
+ for(Int_t i = 1; i < heff->GetNbinsX(); i++) {\r
+ Double_t pt = heff->GetBinCenter(i);\r
+ Double_t eff = heff->GetBinContent(i); \r
+ Double_t corr = 0.;\r
+ if(eff > 0.) corr = hcorr->GetBinContent(i)/eff;\r
+ hcorr->SetBinContent(i,corr);\r
+ }\r
+ hcorr->Rebin(2); hcorr->Scale(0.5);\r
+ sumHFemc->Rebin(2); sumHFemc->Scale(0.5);\r
+\r
+ Double_t efinal = 0.258;\r
+ TGraphErrors* eerr = new TGraphErrors();\r
+ eerr->SetName("emcErr");\r
+ for(Int_t i = 1; i <= hcorr->GetNbinsX(); i++) {\r
+ eerr->SetPoint(i-1,hcorr->GetBinCenter(i),hcorr->GetBinContent(i));\r
+ eerr->SetPointError(i-1,0.,efinal*hcorr->GetBinContent(i));\r
}\r
+ eerr->SetFillColor(kRed-8);\r
\r
- return result;\r
+ TCanvas* ctruth = new TCanvas();\r
+ ctruth->SetFillColor(0);\r
+ ctruth->SetBorderMode(0);\r
+ ctruth->SetBorderSize(2);\r
+ ctruth->SetFrameBorderMode(0);\r
+ ctruth->SetFrameBorderMode(0);\r
\r
-}\r
+ ctruth->cd();\r
+ gPad->SetLogy();\r
+ mctruth->SetTitle("Comparison of MC and reco HF+W electrons");\r
+ mctruth->SetMarkerColor(kBlack); mctruth->SetLineColor(kBlack);\r
+ mctruth->SetYTitle("Annual yield in EMCAL dN/dp_{T} (GeV/c)^{-1}");\r
+ mctruth->SetXTitle("p_{T} (GeV/c)");\r
+ mctruth->GetXaxis()->SetRangeUser(10.,49.);\r
+ mctruth->Draw();\r
+ eerr->Draw("3same");\r
+ hcorr->SetMarkerColor(kRed);\r
+ hcorr->SetLineColor(kRed);\r
+ hcorr->Draw("same");\r
+ sumHFemc->SetMarkerColor(kBlue);\r
+ sumHFemc->SetLineColor(kBlue);\r
+ sumHFemc->Draw("same");\r
+ TLegend *legy = new TLegend(0.3,0.7,0.9,0.9);\r
+ legy->SetFillColor(0);\r
+ legy->AddEntry(mctruth,"MC HF+W electrons","l");\r
+ legy->AddEntry(sumHFemc,"Rec (EMCAL) HF+W electrons","l");\r
+ legy->AddEntry(hcorr,"Eff. corrected reco HF+W electrons","l");\r
+ legy->AddEntry(eerr,"Systematic uncertainty","f");\r
+ legy->Draw();\r
+\r
+ ctruth->Print("NPERates_TruthComparison.pdf");\r
\r
+}\r