ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/cbrown/Development/Plotting/Modules/Plotting_Functions.C
(Generate patch)

Comparing UserCode/cbrown/Development/Plotting/Modules/Plotting_Functions.C (file contents):
Revision 1.45 by buchmann, Tue Jul 31 07:16:46 2012 UTC vs.
Revision 1.46 by pablom, Thu Aug 2 16:45:47 2012 UTC

# Line 360 | Line 360 | void draw_ratio_plot(TH1* hdata, THStack
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  
# Line 576 | Line 661 | void do_kinematic_plots(string mcjzb, st
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);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines