33 string hostname =
execute(
"echo $HOSTNAME");
35 bfolder =
"/net/cms2";
37 TString folder1l_zisr(bfolder+
"/cms2r0/babymaker/babies/2015_11_20/data/singlelep/combined/skim_dy_ht300/");
38 TString foldermc_zisr(bfolder+
"/cms2r0/babymaker/babies/2015_11_28/mc/skim_dy_ht300/");
39 TString foldermj=
"/net/cms5/cms5r0/manuelf/root/archive/15-01-30/";
40 TString foldermjnew(bfolder+
"/cms2r0/babymaker/babies/2015_11_28/mc/");
42 vector<TString> s_slep_dy;
43 s_slep_dy.push_back(folder1l_zisr+
"*root");
45 vector<TString> s_tt_dy;
46 s_tt_dy.push_back(foldermc_zisr+
"*_TTJets*Lept*");
47 s_tt_dy.push_back(foldermc_zisr+
"*_TTJets_HT*");
49 vector<TString> s_ttv_dy;
50 s_ttv_dy.push_back(foldermc_zisr+
"*_TTWJets*");
51 s_ttv_dy.push_back(foldermc_zisr+
"*_TTZTo*");
53 vector<TString> s_dyjets;
54 s_dyjets.push_back(foldermc_zisr+
"*_DYJetsToLL*");
56 vector<TString> s_other_dy;
57 s_other_dy.push_back(foldermc_zisr+
"*_WJetsToLNu*");
58 s_other_dy.push_back(foldermc_zisr+
"*_QCD_HT*");
59 s_other_dy.push_back(foldermc_zisr+
"*_ZJet*");
60 s_other_dy.push_back(foldermc_zisr+
"*_WWTo*");
61 s_other_dy.push_back(foldermc_zisr+
"*ggZH_HToBB*");
62 s_other_dy.push_back(foldermc_zisr+
"*ttHJetTobb*");
63 s_other_dy.push_back(foldermc_zisr+
"*_ST_*");
67 TString
lsp =
"{#lower[-0.1]{#tilde{#chi}}#lower[0.2]{#scale[0.85]{^{0}}}#kern[-1.3]{#scale[0.85]{_{1}}}}";
68 TString t1t_label =
"#scale[0.95]{#tilde{g}#kern[0.2]{#tilde{g}}, #tilde{g}#rightarrowt#kern[0.18]{#bar{t}}#kern[0.18]"+
lsp;
69 vector<sfeats> Samples;
70 Samples.push_back(
sfeats(s_slep_dy,
"Data", kBlack,1,
"(trig[4]||trig[8])&&pass")); Samples.back().isData =
true;
72 Samples.push_back(
sfeats(s_tt_dy,
"t#bar{t}, 2 true leptons",
dps::c_tt_2l,1,
"ntruleps>=2&&stitch"));
73 Samples.push_back(
sfeats(s_tt_dy,
"t#bar{t}, 1 true lepton",
dps::c_tt_1l,1,
"ntruleps<=1&&stitch"));
75 Samples.push_back(
sfeats(s_other_dy,
"Other", 2001, 1));
78 unsigned nsam(Samples.size());
79 for(
unsigned sam(0); sam < nsam; sam++){
80 ra4_sam.push_back(sam);
85 vector<TString> s_dyjetsmj;
86 s_dyjetsmj.push_back(foldermj+
"*_DYJetsToLL_M-50_HT-*");
87 TString mj_s(
"M#lower[-.1]{_{J}}"), nj_s(
"N#lower[-.1]{_{jets}}"), ht_s(
"H#lower[-.1]{_{T}}");
88 int idy(Samples.size());
89 Samples.push_back(
sfeats(s_dyjetsmj, mj_s+
" without leptons", kRed+1,1,
"1",
"fjets_nolep_30_m[0]"));
90 Samples.push_back(
sfeats(s_dyjetsmj, mj_s+
" with RA4 leptons", kGreen+1,1,
"1",
"fjets_siglep_30_m[0]"));
91 Samples.push_back(
sfeats(s_dyjetsmj, mj_s+
" with jets-from-leptons", kAzure+2,1,
"1",
"fjets_30_m[0]"));
93 vector<int> dy_sam, dy_mjs_sam;
94 for(
unsigned sam(idy); sam < Samples.size(); sam++){
95 dy_mjs_sam.push_back(sam);
99 Samples.push_back(
sfeats(s_dyjetsmj,
"Z+jets ("+mj_s+
" with jets-from-leptons)", kAzure+2,1,
"1"));
100 dy_sam.push_back(idy);
103 vector<TString> s_dyjetsmjnew;
104 s_dyjetsmjnew.push_back(foldermjnew+
"*_DYJetsToLL_M-50_HT-*");
105 idy = Samples.size();
106 Samples.push_back(
sfeats(s_dyjetsmjnew,
"Z+jets ("+mj_s+
" with jets-from-leptons)", kAzure+2,1,
"1"));
108 vector<int> dynew_sam;
109 for(
unsigned sam(idy); sam < Samples.size(); sam++){
110 dynew_sam.push_back(sam);
116 vars.push_back(
hfeats(
"fjets_30_phi[0]-mc_phi*(mc_id==23)",64,-3.2,3.2, dy_sam,
"#Delta#phi(J_{1},Z)",
117 "fjets_30_m[0]>95&&fjets_30_m[0]<105",-1,
"old_mj"));
118 vars.back().whichPlots =
"3"; vars.back().addOverflow =
false;
119 vars.push_back(
hfeats(
"fjets_30_eta[0]-mc_eta*(mc_id==23)",64,-3.2,3.2, dy_sam,
"#Delta#eta(J_{1},Z)",
120 "fjets_30_m[0]>95&&fjets_30_m[0]<105",-1,
"old_mj"));
121 vars.back().whichPlots =
"3"; vars.back().addOverflow =
false;
122 vars.push_back(
hfeats(
"fjets_30_m[0]",75,65,140, dy_mjs_sam,
"m(J_{1}) [GeV]",
"1",-1,
"old_mj"));
123 vars.back().whichPlots =
"3"; vars.back().addOverflow =
false;
125 vars.push_back(
hfeats(
"fjets_nconst[0]",4,0.5,4.5, dynew_sam,
"Number of AK4 jets in J_{1}",
126 "fjets_m[0]>95&&fjets_m[0]<105",-1,
"new_mj"));
127 vars.back().whichPlots =
"3";
128 vars.push_back(
hfeats(
"fjets_m[0]",75,65,140, dynew_sam,
"m(J_{1}) [GeV]",
"1",-1,
"new_mj"));
129 vars.back().whichPlots =
"3"; vars.back().addOverflow =
false;
130 vars.push_back(
hfeats(
"fjets_phi[0]-mc_phi*(mc_id==23)",64,-3.2,3.2, dynew_sam,
"#Delta#phi(J_{1},Z)",
131 "fjets_m[0]>95&&fjets_m[0]<105",-1,
"new_mj"));
132 vars.back().whichPlots =
"3"; vars.back().addOverflow =
false;
133 vars.push_back(
hfeats(
"fjets_eta[0]-mc_eta*(mc_id==23)",64,-3.2,3.2, dynew_sam,
"#Delta#eta(J_{1},Z)",
134 "fjets_m[0]>95&&fjets_m[0]<105",-1,
"new_mj"));
135 vars.back().whichPlots =
"3"; vars.back().addOverflow =
false;
142 TString mll(
"(mumu_m*(mumu_m>0&&mumu_pt1>20)+elel_m*(elel_m>0&&elel_pt1>20))>80&&(mumu_m*(mumu_m>0&&mumu_pt1>20)+elel_m*(elel_m>0&&elel_pt1>20))<100");
144 vars.push_back(
hfeats(
"fjets_m[0]",20,0,500, ra4_sam,
"m(J_{1}) [GeV]",
145 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets>=4&&"+mll));
146 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
148 vars.push_back(
hfeats(
"mj",24,0,600, ra4_sam,
"M_{J} [GeV]",
149 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets>=4&&"+mll));
150 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
152 vars.push_back(
hfeats(
"fjets_m[0]",20,0,500, ra4_sam,
"m(J_{1}) [GeV]",
153 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets==5&&"+mll));
154 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
156 vars.push_back(
hfeats(
"mj",24,0,600, ra4_sam,
"M_{J} [GeV]",
157 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets==5&&"+mll));
158 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
160 vars.push_back(
hfeats(
"fjets_m[0]",20,0,500, ra4_sam,
"m(J_{1}) [GeV]",
161 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets>=2&&"+mll));
162 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
164 vars.push_back(
hfeats(
"mj",24,0,600, ra4_sam,
"M_{J} [GeV]",
165 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets>=2&&"+mll));
166 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
168 vars.push_back(
hfeats(
"fjets_m[0]",20,0,500, ra4_sam,
"m(J_{1}) [GeV]",
169 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets==2&&"+mll));
170 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
172 vars.push_back(
hfeats(
"mj",24,0,600, ra4_sam,
"M_{J} [GeV]",
173 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets==2&&"+mll));
174 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
176 vars.push_back(
hfeats(
"fjets_m[0]",20,0,500, ra4_sam,
"m(J_{1}) [GeV]",
177 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets==3&&"+mll));
178 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
180 vars.push_back(
hfeats(
"mj",24,0,600, ra4_sam,
"M_{J} [GeV]",
181 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets==3&&"+mll));
182 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
184 vars.push_back(
hfeats(
"fjets_m[0]",20,0,500, ra4_sam,
"m(J_{1}) [GeV]",
185 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets==4&&"+mll));
186 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
188 vars.push_back(
hfeats(
"mj",24,0,600, ra4_sam,
"M_{J} [GeV]",
189 "pass&&ht>500&&(nmus>=2||nels>=2)&&njets==4&&"+mll));
190 vars.back().whichPlots =
"12"; vars.back().normalize =
true;
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)
bool Contains(const std::string &text, const std::string &pattern)
std::string execute(const std::string &cmd)