360 |
|
oneline->Draw("same"); |
361 |
|
} |
362 |
|
|
363 |
+ |
void make_OFSF_plot(string variable, string addcut, string legendTitle, int nbins, float min, float max, bool logscale, |
364 |
+ |
string xlabel, string filename, bool isPF=true, bool plotratio=true, bool loadlastminmax=false, float legendPosition=0.3) { |
365 |
+ |
|
366 |
+ |
TCut ibasiccut=basiccut; |
367 |
+ |
bool draw_separation_lines=false; |
368 |
+ |
|
369 |
+ |
if(isPF) ibasiccut=basiccut&&"pfjzb[0]>-998"; |
370 |
+ |
|
371 |
+ |
if(addcut != "") ibasiccut = ibasiccut && addcut.c_str(); |
372 |
+ |
|
373 |
+ |
TCut cutSF; |
374 |
+ |
TCut cutOF; |
375 |
+ |
|
376 |
+ |
cutOF=cutOSOF&&cutnJets&&ibasiccut; |
377 |
+ |
cutSF=cutOSSF&&cutnJets&&ibasiccut; |
378 |
+ |
|
379 |
+ |
|
380 |
+ |
TCanvas *ckin = new TCanvas("ckin","Kinematic Plots (in the making)",600,600); |
381 |
+ |
ckin->SetLogy(logscale); |
382 |
+ |
TH1F *datahistoSF = allsamples.Draw("datahistoSF",variable,nbins,min,max, xlabel, "events",cutSF,data,luminosity); |
383 |
+ |
TH1F *datahistoOF = allsamples.Draw("datahistoOF",variable,nbins,min,max, xlabel, "events",cutOF,data,luminosity); |
384 |
+ |
string signal("LM3"); |
385 |
+ |
TH1F* signalhisto = new TH1F("signalhisto",signal.c_str(),nbins,min,max); |
386 |
+ |
int idx = signalsamples.FindSample(signal)[0]; |
387 |
+ |
(signalsamples.collection)[idx].events->Project("signalhisto",variable.c_str(),cutSF); |
388 |
+ |
signalhisto->Scale((signalsamples.collection)[idx].weight*luminosity); |
389 |
+ |
signalhisto->SetLineColor((signalsamples.collection)[idx].samplecolor); |
390 |
+ |
datahistoSF->SetMarkerSize(DataMarkerSize); |
391 |
+ |
datahistoOF->SetLineColor(kRed); |
392 |
+ |
|
393 |
+ |
if ( !logscale ) { |
394 |
+ |
datahistoSF->SetMinimum(0); // Defaults |
395 |
+ |
datahistoOF->SetMinimum(0); // Defaults |
396 |
+ |
} else { |
397 |
+ |
datahistoSF->SetMinimum(0.5); |
398 |
+ |
datahistoOF->SetMinimum(0.5); |
399 |
+ |
} |
400 |
+ |
if (logscale) { |
401 |
+ |
datahistoSF->SetMaximum(5.3*datahistoSF->GetMaximum()); |
402 |
+ |
datahistoOF->SetMaximum(5.3*datahistoSF->GetMaximum()); |
403 |
+ |
} else { |
404 |
+ |
datahistoSF->SetMaximum(2.0*datahistoSF->GetMaximum()); |
405 |
+ |
datahistoOF->SetMaximum(2.0*datahistoOF->GetMaximum()); |
406 |
+ |
} |
407 |
+ |
|
408 |
+ |
datahistoSF->GetXaxis()->SetTitle(xlabel.c_str()); |
409 |
+ |
datahistoOF->GetXaxis()->SetTitle(xlabel.c_str()); |
410 |
+ |
signalhisto->GetXaxis()->SetTitle(xlabel.c_str()); |
411 |
+ |
datahistoSF->GetYaxis()->SetTitle("N. Events"); |
412 |
+ |
datahistoOF->GetYaxis()->SetTitle("N. Events"); |
413 |
+ |
signalhisto->GetYaxis()->SetTitle("N. Events"); |
414 |
+ |
datahistoSF->GetXaxis()->CenterTitle(); |
415 |
+ |
datahistoOF->GetXaxis()->CenterTitle(); |
416 |
+ |
signalhisto->GetXaxis()->CenterTitle(); |
417 |
+ |
datahistoSF->GetYaxis()->CenterTitle(); |
418 |
+ |
datahistoOF->GetYaxis()->CenterTitle(); |
419 |
+ |
signalhisto->GetYaxis()->CenterTitle(); |
420 |
+ |
|
421 |
+ |
TLegend *mleg = new TLegend(0.2+legendPosition, 0.72, 0.55+legendPosition, 0.87, legendTitle.c_str()); |
422 |
+ |
mleg->SetFillColor(kWhite); |
423 |
+ |
mleg->SetTextFont(42); |
424 |
+ |
mleg->SetTextSize(0.048); |
425 |
+ |
mleg->SetLineWidth(0); |
426 |
+ |
mleg->SetBorderSize(0); |
427 |
+ |
mleg->AddEntry(datahistoSF, "S. Flavor", "PL"); |
428 |
+ |
mleg->AddEntry(datahistoOF, "O. Flavor", "L"); |
429 |
+ |
mleg->AddEntry(signalhisto, "LM3", "L"); |
430 |
+ |
|
431 |
+ |
datahistoSF->Draw("E1"); |
432 |
+ |
datahistoOF->Draw("HIST,SAMES"); |
433 |
+ |
signalhisto->Draw("HIST,SAMES"); |
434 |
+ |
mleg->Draw(); |
435 |
+ |
DrawPrelim(); |
436 |
+ |
CompleteSave(ckin, "./SFOF/" + filename); |
437 |
+ |
|
438 |
+ |
datahistoSF->Delete(); |
439 |
+ |
datahistoOF->Delete(); |
440 |
+ |
signalhisto->Delete(); |
441 |
+ |
delete mleg; |
442 |
+ |
delete ckin; |
443 |
+ |
|
444 |
+ |
} |
445 |
+ |
|
446 |
+ |
|
447 |
+ |
|
448 |
|
float lastrange_min=0; |
449 |
|
float lastrange_max=0; |
450 |
|
|
661 |
|
mll_hi=300; |
662 |
|
} |
663 |
|
|
664 |
+ |
make_OFSF_plot("pfJetGoodNum40", "mll>20&&mll<40&&met[4]>100", "20 GeV < mll < 40 GeV", 5, 3, 8, true, "N. jets", "njetsLow", false, false, false, 0.2); |
665 |
+ |
make_OFSF_plot("pfJetGoodNum40", "mll>40&&mll<70&&met[4]>100", "40 GeV < mll < 70 GeV", 5, 3, 8, true, "N. jets", "njetsMed", false, false, false, 0.2); |
666 |
+ |
make_OFSF_plot("pfJetGoodPt[0]/pfJetGoodPt[1]", "mll>20&&mll<40&&met[4]>100", "20 GeV < mll < 40 GeV", 20, 1, 10, true, "pt_{j}^{1}/pt_{j}^{2}", "jpt1pt2Low", false, false, false, 0.2); |
667 |
+ |
make_OFSF_plot("pfJetGoodPt[0]/pfJetGoodPt[1]", "mll>40&&mll<70&&met[4]>100", "40 GeV < mll < 70 GeV", 20, 1, 10, true, "pt_{j}^{1}/pt_{j}^{2}", "jpt1pt2Med", false, false, false, 0.2); |
668 |
+ |
make_OFSF_plot("TMath::Abs(pfJetDphiMet[0])", "mll>20&&mll<40&&met[4]>100", "20 GeV < mll < 40 GeV", 16, 0, 3.2, false, "|#Delta#phi(jet1,MET)|", "dphijetmetLow", false, false, false, 0.0); |
669 |
+ |
make_OFSF_plot("TMath::Abs(pfJetDphiMet[0])", "mll>40&&mll<70&&met[4]>100", "40 GeV < mll < 70 GeV", 16, 0, 3.2, false, "|#Delta#phi(jet1,MET)|", "dphijetmetMed", false, false, false, 0.0); |
670 |
+ |
make_OFSF_plot("TMath::Abs(dphi)", "mll>20&&mll<40&&met[4]>100", "20 GeV < mll < 40 GeV", 16, 0, 3.2, false, "|#Delta#phi(l1,l2)|", "dphiLow", false, false, false, 0.2); |
671 |
+ |
make_OFSF_plot("TMath::Abs(dphi)", "mll>40&&mll<70&&met[4]>100", "40 GeV < mll < 70 GeV", 16, 0, 3.2, false, "|#Delta#phi(l1,l2)|", "dphiMed", false, false, false, 0.2); |
672 |
+ |
make_OFSF_plot("TMath::Abs(dphiMet1)", "mll>20&&mll<40&&met[4]>100", "20 GeV < mll < 40 GeV", 16, 0, 3.2, false, "|#Delta#phi(l1,MET)|", "dphiMet1Low", false, false, false, 0.2); |
673 |
+ |
make_OFSF_plot("TMath::Abs(dphiMet1)", "mll>40&&mll<70&&met[4]>100", "40 GeV < mll < 70 GeV", 16, 0, 3.2, false, "|#Delta#phi(l1,MET)|", "dphiMet1Med", false, false, false, 0.2); |
674 |
+ |
make_OFSF_plot("TMath::Abs(dphiMet2)", "mll>20&&mll<40&&met[4]>100", "20 GeV < mll < 40 GeV", 16, 0, 3.2, false, "|#Delta#phi(l2,MET)|", "dphiMet2Low", false, false, false, 0.2); |
675 |
+ |
make_OFSF_plot("TMath::Abs(dphiMet2)", "mll>40&&mll<70&&met[4]>100", "40 GeV < mll < 70 GeV", 16, 0, 3.2, false, "|#Delta#phi(l2,MET)|", "dphiMet2Med", false, false, false, 0.2); |
676 |
+ |
make_OFSF_plot("TMath::Min(TMath::Abs(dphiMet1), TMath::Abs(dphiMet2))", "mll>20&&mll<40&&met[4]>100", "20 GeV < mll < 40 GeV", 16, 0, 3.2, false, "Min(|#Delta#phi(l,MET)|)", "dphilcLow", false, false, false, 0.2); |
677 |
+ |
make_OFSF_plot("TMath::Min(TMath::Abs(dphiMet1), TMath::Abs(dphiMet2))", "mll>40&&mll<70&&met[4]>100", "40 GeV < mll < 70 GeV", 16, 0, 3.2, false, "Min(|#Delta#phi(l,MET)|)", "dphilcMed", false, false, false, 0.2); |
678 |
+ |
make_OFSF_plot("TMath::Min(TMath::Abs(pfJetDphiMet[0]), TMath::Min(TMath::Abs(pfJetDphiMet[1]), TMath::Abs(pfJetDphiMet[2])))", "mll>20&&mll<40&&met[4]>100", "20 GeV < mll < 40 GeV", 16, 0, 3.2, false, "Min(|#Delta#phi(jet,MET)|)", "dphijcLow", false, false, false, 0.2); |
679 |
+ |
make_OFSF_plot("TMath::Min(TMath::Abs(pfJetDphiMet[0]), TMath::Min(TMath::Abs(pfJetDphiMet[1]), TMath::Abs(pfJetDphiMet[2])))", "mll>20&&mll<40&&met[4]>100", "40 GeV < mll < 70 GeV", 16, 0, 3.2, false, "Min(|#Delta#phi(jet,MET)|)", "dphijcMed", false, false, false, 0.2); |
680 |
+ |
make_OFSF_plot("TMath::Min((TMath::Pi()-TMath::Abs(dphiMet1)), (TMath::Pi() - TMath::Abs(dphiMet2)))", "mll>20&&mll<40&&met[4]>100", "20 GeV < mll < 40 GeV", 16, 0, 3.2, false, "Min(#Pi - |#Delta#phi(l,MET)|)", "dphilcoLow", false, false, false, 0.2); |
681 |
+ |
make_OFSF_plot("TMath::Min((TMath::Pi()-TMath::Abs(dphiMet1)), (TMath::Pi() - TMath::Abs(dphiMet2)))", "mll>20&&mll<40&&met[4]>100", "40 GeV < mll < 70 GeV", 16, 0, 3.2, false, "Min(#Pi - |#Delta#phi(l,MET)|)", "dphilcoMed", false, false, false, 0.2); |
682 |
+ |
make_OFSF_plot("TMath::Min((TMath::Pi()-TMath::Abs(pfJetDphiMet[0])), TMath::Min( (TMath::Pi()-TMath::Abs(pfJetDphiMet[1])), (TMath::Pi() - TMath::Abs(pfJetDphiMet[2]))))", "mll>20&&mll<40&&met[4]>100", "20 GeV < mll < 40 GeV", 16, 0, 3.2, false, "Min(#Pi - |#Delta#phi(jet,MET)|)", "dphijcoLow", false, false, false, 0.2); |
683 |
+ |
make_OFSF_plot("TMath::Min((TMath::Pi()-TMath::Abs(pfJetDphiMet[0])), TMath::Min( (TMath::Pi()-TMath::Abs(pfJetDphiMet[1])), (TMath::Pi() - TMath::Abs(pfJetDphiMet[2]))))", "mll>20&&mll<40&&met[4]>100", "40 GeV < mll < 70 GeV", 16, 0, 3.2, false, "Min(#Pi - |#Delta#phi(jet,MET)|)", "dphijcoMed", false, false, false, 0.2); |
684 |
+ |
|
685 |
+ |
|
686 |
+ |
|
687 |
|
make_kin_plot("met[4]","",70,0,350,dolog,"MET [GeV]","met",doPF,true); |
688 |
|
|
689 |
|
make_kin_plot("mll","",(int)((mll_hi-mll_low)/5),mll_low,mll_hi,dolog,"m_{ll} [GeV]","mll",doPF,true); |