ra4_macros  bede988c286599a3a84b77a4d788ac0a971e89f9
plot_dilep_rohan.cxx
Go to the documentation of this file.
1 #include <iostream>
2 #include <vector>
3 
4 #include "TString.h"
5 
7 
8 using namespace std;
9 
10 int main(){
11 
12  TString bfolder("");
13  string hostname = execute("echo $HOSTNAME");
14  if(Contains(hostname, "cms") || Contains(hostname, "compute-"))
15  bfolder = "/net/cms2"; // In laptops, you can't create a /net folder
16  TString folder=bfolder+"/cms2r0/babymaker/babies/2016_06_14/mc/merged_standard/";
17  TString folder_rc=bfolder+"/cms2r0/babymaker/babies/reclustered/2016_06_14/mc/merged_standard/";
18  vector<TString> s_tt;
19  s_tt.push_back(folder+"*TTJets*Lept*");
20  s_tt.push_back(folder+"*TTJets*HT*");
21  vector<TString> s_tt_rc;
22  s_tt_rc.push_back(folder_rc+"*TTJets*Lept*");
23  s_tt_rc.push_back(folder_rc+"*TTJets*HT*");
24 
25  // Reading ntuples
26  vector<sfeats> Samples;
27  Samples.push_back(sfeats(s_tt, "t#bar{t}, N_{reco lep}=1: m_{T} #leq 140 GeV", 31,1,
28  "mt<=140&&nleps==1&&stitch&&njets>=6"));
29  Samples.push_back(sfeats(s_tt, "t#bar{t}, N_{reco lep}=1, N_{tru lep}=2: m_{T} > 140 GeV", kViolet+9,25,
30  "mt>140&&nleps==1&&ntruleps==2&&nveto==0&&stitch&&njets>=6"));
31  Samples.back().isData = true;
32 
33  Samples.push_back(sfeats(s_tt, "t#bar{t}, N_{reco lep}=1, N_{jet}#geq6: m_{T} #leq 140 GeV", 31,1,
34  "mt<=140&&nleps==1&&stitch&&njets>=6"));
35  Samples.push_back(sfeats(s_tt, "t#bar{t}, N_{reco lep}=2, N_{jet}#geq5", kViolet+9,25,
36  "nleps==2&&nveto==0&&stitch&&njets>=5")); Samples.back().isData = true;
37 
38  Samples.push_back(sfeats(s_tt_rc, "t#bar{t}, N_{reco lep}=1: m_{T} #leq 140 GeV", 31,1,
39  "mt<=140&&nleps==1&&stitch&&njets>=6"));
40  Samples.push_back(sfeats(s_tt_rc, "t#bar{t}, N_{reco lep}=1, N_{tru lep}=2: m_{T} > 140 GeV", kViolet+9,25,
41  "mt>140&&nleps==1&&ntruleps==2&&nveto==0&&stitch&&njets>=6"));
42  Samples.back().isData = true;
43 
44  Samples.push_back(sfeats(s_tt_rc, "t#bar{t}, N_{reco lep}=1, N_{jet}#geq6: m_{T} #leq 140 GeV", 31,1,
45  "mt<=140&&nleps==1&&stitch&&njets>=6"));
46  Samples.push_back(sfeats(s_tt_rc, "t#bar{t}, N_{reco lep}=2, N_{jet}#geq5", kViolet+9,25,
47  "nleps==2&&nveto==0&&stitch&&njets>=5")); Samples.back().isData = true;
48 
49 
50  vector<int> sam_1l;
51  sam_1l.push_back(0);
52  sam_1l.push_back(1);
53 
54  vector<int> sam_2l;
55  sam_2l.push_back(2);
56  sam_2l.push_back(3);
57 
58  int offset = 4;
59  vector<int> sam_1l_rc;
60  sam_1l_rc.push_back(offset+0);
61  sam_1l_rc.push_back(offset+1);
62 
63  vector<int> sam_2l_rc;
64  sam_2l_rc.push_back(offset+2);
65  sam_2l_rc.push_back(offset+3);
66 
67  TString baseline = "ht>500&&met>200&&njets>=6&&nbm>=1&&nleps==1&&stitch&&pass";
68  TString baseline2l = "ht>500&&met>200&&stitch&&pass";
69 
70  vector<hfeats> vars;
71 
72  vars.push_back(hfeats("mj14",30,0,1500, sam_1l, "M_{J}^{with lep} [GeV]", baseline,400,"withlep"));
73  vars.back().whichPlots = "14"; vars.back().maxRatio = 0.11; vars.back().hline = 0.04;
74 
75  vars.push_back(hfeats("mj14",30,0,1500, sam_2l, "M_{J}^{with lep} [GeV]", baseline2l,400,"withlep"));
76  vars.back().whichPlots = "14"; vars.back().maxRatio = 0.019; vars.back().hline = 0.0075;
77 
78  vars.push_back(hfeats("mj14",30,0,1500, sam_1l_rc, "M_{J}^{no lep} [GeV]", baseline,400,"nolep"));
79  vars.back().whichPlots = "14"; vars.back().maxRatio = 0.11; vars.back().hline = 0.04;
80 
81  vars.push_back(hfeats("mj14",30,0,1500, sam_2l_rc, "M_{J}^{no lep} [GeV]", baseline2l,400,"nolep"));
82  vars.back().whichPlots = "14"; vars.back().maxRatio = 0.011; vars.back().hline = 0.0045;
83 
84  vars.push_back(hfeats("mj14",30,0,1500, sam_2l_rc, "M_{J}^{no lep} [GeV]",baseline2l+"&&njets>=6",400,"nolep"));
85  vars.back().whichPlots = "14"; vars.back().maxRatio = 0.011; vars.back().hline = 0.0035;
86 
87  //NOTE: Make sure RohanHack is turned off
88  plot_distributions(Samples, vars, "2.3", ".pdf", "CMSPaper","rohan",true);
89 }
90 
void plot_distributions(std::vector< sfeats > Samples, std::vector< hfeats > vars, TString luminosity="10", TString filetype=".eps", TString namestyle="LargeLabels", TString dir="1d", bool doRatio=false, bool showcuts=false)
int main()
bool Contains(const std::string &text, const std::string &pattern)
STL namespace.
std::string execute(const std::string &cmd)