TH1F* wz;\r
TH1F* other;\r
TH1F* mchad;\r
+TH1F* sige;\r
+TH1F* bkge;\r
+TH1F* walle;\r
+TH1F* hije;\r
+\r
TLegend* leg;\r
\r
-void plotMCRates(char* hijfname = "data/histos-merged-LHC0bd6.root",\r
- char* jjfname = "data/histosscaledLHC09b2ESDb.root",\r
- char* bfname = "data/histosscaledLHC09b4v2.root",\r
- char* wfname = "data/histos_wboson_pt29b.root") {\r
+void plotMCRates(char* hijfname = "scale/histosLHC08d6.root",\r
+ char* jjfname = "scale/histosscaledLHC09b2ESD.root",\r
+ char* bfname = "scale/histosscaledLHC09b4.root",\r
+ char* wfname = "scale/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; //seconds*lumi*Pb*Pb\r
+ double pyscale = (1.E6)*0.5*208*208*100/360; //seconds*lumi*Pb*Pb*acceptance\r
+ double bscale = pyscale*0.10; //Branching ratio for forced\r
+ //semi-leptonic decays\r
double wscale = pyscale*6.29e-05; //JLK: This is temporary X-sec\r
- //info from 2-29 GeV bin until we get pyxsec files\r
-\r
+ //info from 2-29 GeV bin until we\r
+ //get pyxsec files; also need to\r
+ //divide by nTrials. For now,\r
+ //use nEvt\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* hijmcele = (TH2F*)hijlist->FindObject("AnaElectron_hPtMCElectron");\r
- TH1F* hijmchad = (TH1F*)hijlist->FindObject("AnaElectron_hPtMCHadron");\r
- TH1F* refmult = (TH1F*)hijlist->FindObject("AnaElectron_hRefMult");\r
- Int_t nEvt = refmult->GetEntries();\r
+ TH2F* hijmcele = (TH2F*)histos->FindObject("AnaElectron_hPtMCElectron");\r
+ TH1F* hijmchad = (TH1F*)histos->FindObject("AnaElectron_hPtMCHadron");\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
hijmcele->Scale(hijscale/nEvt);\r
hijmchad->Scale(hijscale/nEvt);\r
\r
TFile* jjfile = new TFile(jjfname);\r
if(!jjfile) { printf("NO JET-JET FILE\n"); return; }\r
- TList* jjlist = (TList*)jjfile->Get("histos");\r
- TH2F* jjmcele = (TH2F*)histosscaled->FindObject("AnaElectron_hPtMCElectronScaled");\r
- TH1F* jjmchad = (TH1F*)histosscaled->FindObject("AnaElectron_hPtMCHadronScaled");\r
+ TH2F* jjmcele = (TH2F*)jjfile->Get("AnaElectron_hPtMCElectronScaled");\r
+ TH1F* jjmchad = (TH1F*)jjfile->Get("AnaElectron_hPtMCHadronScaled");\r
+ TH1F* jjmult = (TH1F*)jjfile->Get("AnaElectron_hRefMultScaled");\r
+ Int_t nEvtJJ = jjmult->GetEntries();\r
jjmcele->Scale(pyscale);\r
jjmchad->Scale(pyscale);\r
\r
TFile* bfile = new TFile(bfname);\r
if(!bfile) { printf("NO B-JET FILE\n"); return; }\r
- TList* blist = (TList*)bfile->Get("histos");\r
- TH2F* bmcele = (TH2F*)histosscaled->FindObject("AnaElectron_hPtMCElectronScaled");\r
- TH1F* bmchad = (TH1F*)histosscaled->FindObject("AnaElectron_hPtMCHadronScaled");\r
- bmcele->Scale(pyscale);\r
- bmchad->Scale(pyscale);\r
+ TH2F* bmcele = (TH2F*)bfile->Get("AnaElectron_hPtMCElectronScaled");\r
+ TH1F* bmchad = (TH1F*)bfile->Get("AnaElectron_hPtMCHadronScaled");\r
+ TH1F* bmult = (TH1F*)bfile->Get("AnaElectron_hRefMultScaled");\r
+ Int_t nEvtB = bmult->GetEntries();\r
+ bmcele->Scale(bscale);\r
+ bmchad->Scale(bscale);\r
\r
TFile* wfile = new TFile(wfname);\r
if(!wfile) { printf("NO W-BOSON FILE\n"); return; }\r
TList* wlist = (TList*)wfile->Get("histos");\r
TH2F* wmcele = (TH2F*)histos->FindObject("AnaElectron_hPtMCElectron");\r
TH1F* wmchad = (TH1F*)histos->FindObject("AnaElectron_hPtMCHadron");\r
- wmcele->Scale(wscale);\r
- wmchad->Scale(wscale);\r
+ TH1F* wmult = (TH1F*)histos->FindObject("AnaElectron_hRefMult");\r
+ Int_t nEvtW = wmult->GetEntries();\r
+ wmcele->Scale(wscale/nEvtW);\r
+ wmchad->Scale(wscale/nEvtW);\r
+\r
+ printf("Event statistics: %d (HIJING) %d (JET-JET) %d (B-JET) %d (W-Boson)\n",nEvt,nEvtJJ,nEvtB,nEvtW);\r
\r
TH2F* combined = (TH2F*)hijmcele->Clone();\r
combined->Add(jjmcele);\r
other = (TH1F*)combined->ProjectionX("other",8,8);\r
\r
wz = (TH1F*)wmcele->ProjectionX("wz",7,7);\r
+ \r
+ all->Add(wz); //because it had to be done separately\r
+\r
+ //For comparing contributions\r
+ walle = (TH1F*)wmcele->ProjectionX("walle",7,7);\r
+ sige = (TH1F*)bmcele->ProjectionX("sige",1,1);\r
+ bkge = (TH1F*)jjmcele->ProjectionX("bkge",1,1);\r
+ hije = (TH1F*)hijmcele->ProjectionX("hije",1,1);\r
\r
double myscale = 1.; //we already scaled them\r
ScaleAndConfigure(all,myscale,kBlack,kFALSE);\r
ScaleAndConfigure(bele,myscale,kRed,kFALSE);\r
+ ScaleAndConfigure(sige,myscale,kRed,kFALSE);\r
ScaleAndConfigure(cele,myscale,kBlue,kFALSE);\r
ScaleAndConfigure(candb,myscale,kViolet,kFALSE);\r
ScaleAndConfigure(conv,myscale,kOrange-3,kFALSE);\r
+ ScaleAndConfigure(bkge,myscale,kOrange-3,kFALSE);\r
ScaleAndConfigure(dalitz,myscale,kGreen-3,kFALSE);\r
ScaleAndConfigure(wz,myscale,kOrange-7,kFALSE);\r
+ ScaleAndConfigure(walle,myscale,kOrange-7,kFALSE);\r
ScaleAndConfigure(mchad,myscale,kGreen+2,kFALSE);\r
+ ScaleAndConfigure(hije,myscale,kGreen+2,kFALSE);\r
\r
gStyle->SetOptStat(0);\r
//drawXSRates();\r
drawAnnualYields();\r
drawPtCutRates();\r
drawHadEleRatios();\r
+ drawSigBkg();\r
\r
}\r
\r
\r
void drawAnnualYields() {\r
\r
- TCanvas* crates = new TCanvas("crates","crates",20,20,600,400);\r
+ TCanvas* crates = new TCanvas();\r
crates->cd();\r
gPad->SetLogy();\r
all->SetXTitle("p_{T} (GeV/c)");\r
\r
}\r
\r
+void drawSigBkg() {\r
+\r
+ TCanvas* csigbkg = new TCanvas();\r
+ csigbkg->cd();\r
+ gPad->SetLogy();\r
+ all->SetXTitle("p_{T} (GeV/c)");\r
+ all->SetYTitle("Annual yield");\r
+ all->GetYaxis()->SetRangeUser(1.E1,3.E9);\r
+ all->GetXaxis()->SetRangeUser(0.,50.);\r
+ all->Draw();\r
+ sige->Draw("same"); \r
+ bkge->Draw("same"); \r
+ hije->Draw("same"); \r
+ walle->Draw("same");\r
+\r
+ TLegend* leg1 = new TLegend(0.6,0.6,0.9,0.9);\r
+ leg1->SetTextSize(leg->GetTextSize()*1.2);\r
+ leg1->AddEntry(all,"All MC electrons","l");\r
+ leg1->AddEntry(sige,"B-Jet Events","l");\r
+ leg1->AddEntry(hije,"Pb+Pb Underlying Event","l");\r
+ leg1->AddEntry(bkge,"Jet-Jet Events","l");\r
+ leg1->AddEntry(walle,"W-decay Events","l");\r
+ leg1->Draw();\r
+\r
+}\r
+\r
void drawPtCutRates() {\r
\r
TCanvas* cptcut = new TCanvas();\r
TH1F* cbeleptcut = GetPtCutHisto(candb);\r
TH1F* dalitzptcut = GetPtCutHisto(dalitz);\r
TH1F* convptcut = GetPtCutHisto(conv);\r
+ TH1F* wzptcut = GetPtCutHisto(wz);\r
alleptcut->GetXaxis()->SetRangeUser(0,50);\r
alleptcut->GetYaxis()->SetRangeUser(100,alleptcut->GetMaximum()*2);\r
alleptcut->SetXTitle("p_{T}^{cut} (GeV/c)");\r
cbeleptcut->Draw("same");\r
dalitzptcut->Draw("same");\r
convptcut->Draw("same");\r
+ wzptcut->Draw("same");\r
leg->Draw();\r
\r
}\r
behratio->GetXaxis()->SetRangeUser(0,50);\r
allratio->SetMarkerStyle(20);\r
behratio->SetMarkerStyle(24);\r
+ allratio->Fit("pol0");\r
allratio->Draw();\r
behratio->Draw("psame");\r
\r
-\r
TLegend *heleg = new TLegend(0.4,0.75,0.75,0.9);\r
heleg->SetTextSize(heleg->GetTextSize()*1.5);\r
heleg->AddEntry(allratio,"All electrons","l");\r