260 |
|
saveas << "kin/Mll_After_Cut/Cut_At" << jzbthreshold << "_nomc"; |
261 |
|
CompleteSave(ckin,saveas.str()); |
262 |
|
|
263 |
– |
|
264 |
– |
|
263 |
|
delete RcorrJZBeemm; |
264 |
|
delete LcorrJZBeemm; |
265 |
|
delete RcorrJZBem; |
3592 |
|
} |
3593 |
|
} |
3594 |
|
|
3595 |
< |
void met_vs_jzb_plots() { |
3595 |
> |
void met_vs_jzb_plots(string datajzb, string mcjzb) { |
3596 |
|
|
3597 |
|
TCanvas *canmetjzb = new TCanvas("canmet","MET vs JZB canvas"); |
3598 |
|
canmetjzb->SetRightMargin(0.16); |
3606 |
|
vector<int> selsamples = allsamples.FindSample(findme[ifind]); |
3607 |
|
TH2F *metvsjzb = new TH2F("metvsjzb","metvsjzb",200,0,100,400,-100,100); |
3608 |
|
for(int isel=0;isel<(int)selsamples.size();isel++) { |
3609 |
< |
cout << "Producing MET:JZB plot ... working on sample: " << allsamples.collection[selsamples[isel]].filename << endl; |
3610 |
< |
allsamples.collection[selsamples[isel]].events->Draw("jzb[1]:met[4]>>+metvsjzb",cutmass&&cutOSSF); |
3609 |
> |
dout << "Producing MET:JZB plot ... working on sample: " << allsamples.collection[selsamples[isel]].filename << endl; |
3610 |
> |
allsamples.collection[selsamples[isel]].events->Draw("jzb[1]:met[4]>>+metvsjzb",cutmass&&cutOSSF&&cutnJets); |
3611 |
|
} |
3612 |
|
metvsjzb->Scale(allsamples.collection[selsamples[0]].weight); |
3613 |
|
metvsjzb->SetStats(0); |
3621 |
|
title->Draw(); |
3622 |
|
CompleteSave(canmetjzb,(string)"METvsJZBplots/"+findme[ifind]); |
3623 |
|
} |
3624 |
+ |
|
3625 |
+ |
|
3626 |
+ |
dout << "About to produce MET plot for DY split up by JZB" << endl; |
3627 |
+ |
|
3628 |
+ |
int nbins=14; |
3629 |
+ |
float low=0; |
3630 |
+ |
float high=140; |
3631 |
+ |
|
3632 |
+ |
stringstream sLEFT; |
3633 |
+ |
sLEFT << "((" << mcjzb << ")<0)"; |
3634 |
+ |
TCut LEFT(sLEFT.str().c_str()); |
3635 |
+ |
stringstream sRIGHT; |
3636 |
+ |
sRIGHT << "((" << mcjzb << ")>0)"; |
3637 |
+ |
TCut RIGHT(sRIGHT.str().c_str()); |
3638 |
+ |
|
3639 |
+ |
TH1F *metleft = allsamples.Draw("metleft","met[4]",nbins,low,high, "MET [GeV]", "events", cutmass&&cutOSSF&&cutnJets&&LEFT,mc, luminosity, allsamples.FindSample("DYJets")); |
3640 |
+ |
TH1F *metleftO = allsamples.Draw("metleftO","met[4]",nbins,low,high, "MET [GeV]", "events", cutmass&&cutOSOF&&cutnJets&&LEFT,mc, luminosity, allsamples.FindSample("DYJets")); |
3641 |
+ |
TH1F *metright = allsamples.Draw("metright","met[4]",nbins,low,high, "MET [GeV]", "events", cutmass&&cutOSSF&&cutnJets&&RIGHT,mc, luminosity, allsamples.FindSample("DYJets")); |
3642 |
+ |
TH1F *metrightO = allsamples.Draw("metrightO","met[4]",nbins,low,high, "MET [GeV]", "events", cutmass&&cutOSOF&&cutnJets&&RIGHT,mc, luminosity, allsamples.FindSample("DYJets")); |
3643 |
+ |
|
3644 |
+ |
metleft->Add(metleftO,-1); |
3645 |
+ |
metright->Add(metrightO,-1); |
3646 |
+ |
|
3647 |
+ |
metleft->SetLineColor(kRed); |
3648 |
+ |
metright->SetLineColor(kBlack); |
3649 |
+ |
TPad *metpad = new TPad("metpad","metpad",0,0,1,1); |
3650 |
+ |
metpad->cd(); |
3651 |
+ |
metpad->SetLogy(1); |
3652 |
+ |
metleft->Draw("histo"); |
3653 |
+ |
metright->Draw("same"); |
3654 |
+ |
TLegend *lg = make_legend(); |
3655 |
+ |
lg->SetX1(0.5); |
3656 |
+ |
lg->AddEntry(metright,"JZB>0 (OSOF corrected)","P"); |
3657 |
+ |
lg->AddEntry(metleft,"JZB<0 (OSOF corrected)","L"); |
3658 |
+ |
lg->Draw(); |
3659 |
+ |
save_with_ratio(metright,metleft,metpad->cd(),"METvsJZBplots/ComparingLeftToRightinMETspectrum"); |
3660 |
+ |
TPad *metpad2 = new TPad("metpad2","metpad2",0,0,1,1); |
3661 |
+ |
|
3662 |
+ |
TH1F *metlefta = allsamples.Draw("metlefta","met[2]",nbins,low,high, "MET [GeV]", "events", cutmass&&cutOSSF&&cutnJets&&LEFT,mc, luminosity, allsamples.FindSample("DYJets")); |
3663 |
+ |
TH1F *metleftOa = allsamples.Draw("metleftOa","met[2]",nbins,low,high, "MET [GeV]", "events", cutmass&&cutOSOF&&cutnJets&&LEFT,mc, luminosity, allsamples.FindSample("DYJets")); |
3664 |
+ |
TH1F *metrighta = allsamples.Draw("metrighta","met[2]",nbins,low,high, "MET [GeV]", "events", cutmass&&cutOSSF&&cutnJets&&RIGHT,mc, luminosity, allsamples.FindSample("DYJets")); |
3665 |
+ |
TH1F *metrightOa = allsamples.Draw("metrightOa","met[2]",nbins,low,high, "MET [GeV]", "events", cutmass&&cutOSOF&&cutnJets&&RIGHT,mc, luminosity, allsamples.FindSample("DYJets")); |
3666 |
+ |
|
3667 |
+ |
TH1F *Bpred = (TH1F*)metlefta->Clone("Bpred"); |
3668 |
+ |
Bpred->Add(metleftOa,-1); |
3669 |
+ |
Bpred->Add(metrightOa); |
3670 |
+ |
TH1F *obs = (TH1F*)metrighta->Clone("obs"); |
3671 |
+ |
|
3672 |
+ |
metlefta->Add(metleftOa,-1); |
3673 |
+ |
metrighta->Add(metrightOa,-1); |
3674 |
+ |
|
3675 |
+ |
metlefta->SetLineColor(kRed); |
3676 |
+ |
metpad2->cd(); |
3677 |
+ |
metlefta->Draw("histo"); |
3678 |
+ |
metrighta->Draw("same"); |
3679 |
+ |
lg->Draw(); |
3680 |
+ |
save_with_ratio(metrighta,metlefta,metpad2->cd(),"METvsJZBplots/ComparingLeftToRightinMET_type1_spectrum"); |
3681 |
+ |
|
3682 |
+ |
TPad *metpad3 = new TPad("metpad3","metpad3",0,0,1,1); |
3683 |
+ |
metpad3->cd(); |
3684 |
+ |
Bpred->SetLineColor(kRed); |
3685 |
+ |
Bpred->Draw("histo"); |
3686 |
+ |
obs->SetLineColor(kBlack); |
3687 |
+ |
obs->Draw("same"); |
3688 |
+ |
TLegend *lg2 = make_legend(); |
3689 |
+ |
lg2->SetX1(0.5); |
3690 |
+ |
lg2->AddEntry(obs,"observed","P"); |
3691 |
+ |
lg2->AddEntry(Bpred,"predicted","L"); |
3692 |
+ |
lg2->Draw(); |
3693 |
+ |
|
3694 |
+ |
save_with_ratio(obs,Bpred,metpad3->cd(),"METvsJZBplots/ComparingPredObsinMET_type1_spectrum"); |
3695 |
+ |
delete lg; |
3696 |
+ |
delete canmetjzb; |
3697 |
+ |
delete metleft; |
3698 |
+ |
delete metleftO; |
3699 |
+ |
delete metright; |
3700 |
+ |
delete metrightO; |
3701 |
|
} |
3702 |
|
|
3703 |
|
|