34 TString folder_ns =
"/cms24r0/jaehyeok/susy_cfa_babies/2015_09_28/skim_1vlht400/";
35 TString folder_nsdata =
"/cms24r0/jaehyeok/susy_cfa_babies/2015_09_25/";
36 TString folder_1l =
"/cms24r0/jaehyeok/susy_cfa_babies/2015_09_28/skim_1vlht400/";
37 TString folder_1ldata =
"/cms24r0/jaehyeok/susy_cfa_babies/2015_09_25/";
38 TString folder_2l =
"/cms24r0/jaehyeok/susy_cfa_babies/2015_09_28/skim_2vl/";
39 TString folder_2ldata =
"/cms24r0/jaehyeok/susy_cfa_babies/2015_09_25/";
41 vector<TString> s_trig_htmht;
42 s_trig_htmht.push_back(folder_1ldata+
"*HTMHT*");
43 vector<TString> s_trig_dl;
44 s_trig_dl.push_back(folder_2ldata+
"/*DoubleMu*");
45 s_trig_dl.push_back(folder_2ldata+
"/*DoubleE*");
46 vector<TString> s_trig_sl;
47 s_trig_sl.push_back(folder_2ldata+
"/*Single*");
48 vector<TString> s_trig_dmu;
49 s_trig_dmu.push_back(folder_2ldata+
"/*DoubleMu*");
50 vector<TString> s_trig_del;
51 s_trig_del.push_back(folder_2ldata+
"/*DoubleE*");
54 vector<TString> s_t1t;
57 vector<TString> s_t1tc;
60 vector<TString> s_t1t_ns;
61 s_t1t_ns.push_back(folder_ns+
"*T1tttt*1500_*PU20*");
62 vector<TString> s_t1tc_ns;
63 s_t1tc_ns.push_back(folder_ns+
"*T1tttt*1200_*PU20*");
65 s_tt.push_back(folder_1l+
"*TTJets_SingleLeptFromT*25ns*");
66 s_tt.push_back(folder_1l+
"*TTJets_DiLept*25ns*");
67 vector<TString> s_tt_ns;
68 s_tt_ns.push_back(folder_2l+
"*TTJets_SingleLeptFromT*25ns*");
69 s_tt_ns.push_back(folder_2l+
"*TTJets_DiLept*25ns*");
70 vector<TString> s_wjets;
71 s_wjets.push_back(folder_1l+
"*_WJets*");
72 vector<TString> s_singlet;
73 s_singlet.push_back(folder_1l+
"*ST_*");
75 s_DY.push_back(folder_2l+
"*DY*");
76 vector<TString> s_qcd;
77 s_qcd.push_back(folder_1l+
"*QCD_Pt*");
78 vector<TString> s_ttv;
79 s_ttv.push_back(folder_2l+
"*TTW*");
80 s_ttv.push_back(folder_2l+
"*TTZ*");
81 vector<TString> s_other;
82 s_other.push_back(folder_1l+
"*_ZJet*");
83 s_other.push_back(folder_1l+
"*DY*");
84 s_other.push_back(folder_1l+
"*WH_HToBB*");
86 s_other.push_back(folder_2l+
"*TTW*");
87 s_other.push_back(folder_2l+
"*TTZ*");
88 vector<TString> s_qcdDY;
89 s_qcdDY.push_back(folder_2l+
"*QCD_Pt*");
90 vector<TString> s_otherDY;
91 s_otherDY.push_back(folder_2l+
"*_ZJet*");
92 s_otherDY.push_back(folder_2l+
"*WH_HToBB*");
93 s_otherDY.push_back(folder_2l+
"*ST_*");
94 s_otherDY.push_back(folder_2l+
"*_WJets*");
97 vector<sfeats> Samples;
98 TString datatitle =
"Data";
99 Samples.push_back(
sfeats(s_trig_htmht, datatitle,kBlack,1,
"trig[0]&&json_golden")); Samples.back().isData =
true;
101 Samples.push_back(
sfeats(s_tt,
"t#bar{t}, 1 true lepton",
dps::c_tt_1l, 1,
"ntruleps<=1"));
102 Samples.push_back(
sfeats(s_tt,
"t#bar{t}, 2 true leptons",
dps::c_tt_2l,1,
"ntruleps>=2"));
111 vector<int> ra4_sam, ra4_sam_ns;
112 unsigned nsam(Samples.size());
113 for(
unsigned sam(0); sam < nsam; sam++){
114 ra4_sam.push_back(sam);
115 ra4_sam_ns.push_back(nsam+sam);
116 vector<TString> sam_files = Samples[sam].file;
117 for(
unsigned ifile(0); ifile < sam_files.size(); ifile++)
118 if(Samples[sam].isData) sam_files[ifile].ReplaceAll(folder_1ldata, folder_nsdata);
119 else sam_files[ifile].ReplaceAll(folder_1l, folder_ns);
120 Samples.push_back(
sfeats(sam_files, Samples[sam].label, Samples[sam].color, Samples[sam].style,
122 Samples.back().isData = Samples[sam].isData;
125 int imj(Samples.size());
126 Samples.push_back(
sfeats(s_trig_htmht,
"Data 2l, N_{jets} #geq 4",kBlack,1,
127 "trig[0]&&njets>=4&&(nvmus+nvels)==2&&json_golden")); Samples.back().isData =
true;
129 Samples.push_back(
sfeats(s_trig_htmht,
"Data 1l, N_{jets} #geq 5, m_{T}#leq140, n_{b}#geq1",
dps::c_tt_1l,1,
130 "trig[0]&&njets>=5&&(nvmus+nvels)==1&&mt<=140&&nbm>=1&&json_golden"));
133 mj_sam.push_back(imj);
134 mj_sam.push_back(imj+1);
136 int idl(Samples.size());
139 Samples.push_back(
sfeats(s_trig_sl,
"Data",kBlack,1,
140 "(trig[18]||trig[22])&&json_golden")); Samples.back().isData =
true;
142 Samples.push_back(
sfeats(s_tt_ns,
"t#bar{t}, 2 true leptons",
dps::c_tt_2l,1,
"ntruleps>=2"));
143 Samples.push_back(
sfeats(s_tt_ns,
"t#bar{t}, 1 true lepton",
dps::c_tt_1l, 1,
"ntruleps==1"));
148 for(
unsigned sam(idl); sam < Samples.size(); sam++) {
149 dl_sam.push_back(sam);
151 vector<int> dmu_sam(dl_sam), del_sam(dl_sam);
152 Samples.push_back(
sfeats(s_trig_dmu,
"Data",kBlack,1,
153 "(trig[9])&&json_golden")); Samples.back().isData =
true;
154 Samples.push_back(
sfeats(s_trig_del,
"Data",kBlack,1,
155 "(trig[10])&&json_golden")); Samples.back().isData =
true;
156 dmu_sam[0] = Samples.size()-2;
157 del_sam[0] = Samples.size()-1;
160 TString factor_c(
"100"), factor_nc(
"300");
161 int isig(Samples.size());
162 Samples.push_back(
sfeats(s_t1t,
"Sig NC #times "+factor_nc, kRed+2)); Samples.back().factor = factor_nc;
163 Samples.push_back(
sfeats(s_t1tc,
"Sig C #times "+factor_c, kRed+2,2)); Samples.back().factor = factor_c;
165 sig_sam.push_back(ra4_sam[0]);
166 sig_sam.push_back(isig);
167 sig_sam.push_back(isig+1);
168 for(
unsigned ind(1); ind<ra4_sam.size(); ind++)
169 sig_sam.push_back(ra4_sam[ind]);
172 factor_c =
"20"; factor_nc =
"20";
173 isig = Samples.size();
174 Samples.push_back(
sfeats(s_t1t_ns,
"Sig NC #times "+factor_nc, kRed+2)); Samples.back().factor = factor_nc;
175 Samples.push_back(
sfeats(s_t1tc_ns,
"Sig C #times "+factor_c, kRed+2,2)); Samples.back().factor = factor_c;
176 vector<int> sig_sam_ns;
177 sig_sam_ns.push_back(ra4_sam_ns[0]);
178 sig_sam_ns.push_back(isig);
179 sig_sam_ns.push_back(isig+1);
180 for(
unsigned ind(1); ind<ra4_sam.size(); ind++)
181 sig_sam_ns.push_back(ra4_sam_ns[ind]);
184 isig = Samples.size();
185 Samples.push_back(
sfeats(s_t1t,
"Sig NC #times "+factor_nc, kRed+2)); Samples.back().factor = factor_nc;
186 Samples.push_back(
sfeats(s_t1tc,
"Sig C #times "+factor_c, kRed+2,2)); Samples.back().factor = factor_c;
187 vector<int> sig_sam_log;
188 sig_sam_log.push_back(ra4_sam[0]);
189 sig_sam_log.push_back(isig);
190 sig_sam_log.push_back(isig+1);
191 for(
unsigned ind(1); ind<ra4_sam.size(); ind++)
192 sig_sam_log.push_back(ra4_sam[ind]);
198 vars.push_back(
hfeats(
"fjets_m[0]",8,0,480, ra4_sam,
"m(J_{1}) [GeV]",
199 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
200 "&&"+
metcut+
"&&njets>=4&&nbm>=1"));
201 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
203 vars.push_back(
hfeats(
"fjets_m",8,0,480, ra4_sam,
"m(J) [GeV]",
204 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
205 "&&"+
metcut+
"&&njets>=4&&nbm>=1"));
206 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
208 vars.push_back(
hfeats(
"fjets_pt[0]",8,0,800, ra4_sam,
"p_{T}(J_{1}) [GeV]",
209 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
210 "&&"+
metcut+
"&&njets>=4&&nbm>=1"));
211 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
213 vars.push_back(
hfeats(
"fjets_pt",8,0,800, ra4_sam,
"p_{T}(J) [GeV]",
214 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
215 "&&"+
metcut+
"&&njets>=4&&nbm>=1"));
216 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
218 vars.push_back(
hfeats(
"mj",10,0,600, ra4_sam,
"M_{J} [GeV]",
219 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
220 "&&"+
metcut+
"&&njets>=4&&nbm>=1"));
221 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
237 vars.push_back(
hfeats(
"Max$(mus_mt*(mus_miniso<0.2))+Max$(els_mt*(els_miniso<0.1))",18,0,360, ra4_sam,
"m_{T} (veto lepton) [GeV]",
238 "pass&&onht>350&&onmet>100&&((nvels==1 && nvmus==0)||(nvels==0&&nvmus==1))&&ht>"+
minht+
"&&"+
metcut+
"&&njets>="+
minjets+
"&&nbm>="+
minbm));
239 vars.back().whichPlots =
"1"; vars.back().normalize =
true;
241 vars.push_back(
hfeats(
"Max$(mus_mt*(mus_miniso<0.2))",18,0,360, ra4_sam,
"m_{T} (veto muon) [GeV]",
242 "pass&&onht>350&&onmet>100&&(nvels==0&&nvmus==1)&&ht>"+
minht+
"&&"+
metcut+
"&&njets>="+
minjets+
"&&nbm>="+
minbm));
243 vars.back().whichPlots =
"1"; vars.back().normalize =
true;
245 vars.push_back(
hfeats(
"Max$(els_mt*(els_miniso<0.1))",18,0,360, ra4_sam,
"m_{T} (veto electron) [GeV]",
246 "pass&&onht>350&&onmet>100&&(nvels==1&&nvmus==0)&&ht>"+
minht+
"&&"+
metcut+
"&&njets>="+
minjets+
"&&nbm>="+
minbm));
247 vars.back().whichPlots =
"1"; vars.back().normalize =
true;
249 vars.push_back(
hfeats(
"mt",18,0,360, ra4_sam,
"m_{T} [GeV]",
251 vars.back().whichPlots =
"1"; vars.back().normalize =
true;
253 vars.push_back(
hfeats(
"met",16,0,800, ra4_sam,
"MET [GeV]",
254 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
"&&njets>="+
minjets+
"&&nbm>="+
minbm));
255 vars.back().whichPlots =
"1"; vars.back().normalize =
true;
257 vars.push_back(
hfeats(
"ht",10,400,1400, ra4_sam,
"HT [GeV]",
259 vars.back().whichPlots =
"1"; vars.back().normalize =
true;
261 vars.push_back(
hfeats(
"njets",11,-0.5,10.5, ra4_sam,
"Number of jets",
262 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
"&&"+
metcut+
"&&nbm>="+
minbm));
263 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
265 vars.push_back(
hfeats(
"nbm",5,-0.5,4.5, ra4_sam,
"Number of b-tags (CSVM)",
266 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
"&&"+
metcut+
"&&njets>="+
minjets));
267 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
269 vars.push_back(
hfeats(
"nfjets",8,-0.5,7.5, ra4_sam,
"Number of fatjets",
270 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
"&&"+
metcut+
"&&njets>=4&&nbm>="+
minbm));
271 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
273 vars.push_back(
hfeats(
"jets_pt[0]",16,0,800, ra4_sam,
"p_{T}(j_{1}) [GeV]",
274 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
"&&"+
metcut+
"&&njets>=4&&nbm>="+
minbm+
"&&jets_islep[0]==0"));
275 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
277 vars.push_back(
hfeats(
"jets_pt",16,0,800, ra4_sam,
"p_{T}(j) [GeV]",
278 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
"&&"+
metcut+
"&&njets>=4&&nbm>="+
minbm+
"&&jets_islep==0"));
279 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
281 vars.push_back(
hfeats(
"jets_eta[0]",10,-2.5,2.5, ra4_sam,
"#eta(j_{1}) [GeV]",
282 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
"&&"+
metcut+
"&&njets>=4&&nbm>="+
minbm+
"&&jets_islep[0]==0"));
283 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
285 vars.push_back(
hfeats(
"jets_eta",10,-2.5,2.5, ra4_sam,
"#eta(j) [GeV]",
286 "pass&&onht>350&&onmet>100&&(nvels+nvmus)==1&&ht>"+
minht+
"&&"+
metcut+
"&&njets>=4&&nbm>="+
minbm+
"&&jets_islep==0"));
287 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
289 vars.push_back(
hfeats(
"els_pt",10,0,200, ra4_sam,
"p_{T}(veto electron) [GeV]",
290 "pass&&onht>350&&onmet>100&&(nvels==1&&nvmus==0)&&els_miniso<0.1&&ht>"+
minht+
"&&"+
metcut+
"&&njets>=4&&nbm>="+
minbm));
291 vars.push_back(
hfeats(
"els_pt",10,0,200, ra4_sam,
"p_{T}(veto electron) [GeV]",
292 "pass&&onht>350&&onmet>100&&(nvels==1&&nvmus==0)&&els_miniso<0.1&&ht>"+
minht+
"&&"+
metcut+
"&&njets>=4&&nbm>="+
minbm));
293 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
295 vars.push_back(
hfeats(
"mus_pt",10,0,200, ra4_sam,
"p_{T}(veto muon) [GeV]",
296 "pass&&onht>350&&onmet>100&&(nvels==0&&nvmus==1)&&mus_miniso<0.2&&ht>"+
minht+
"&&"+
metcut+
"&&njets>=4&&nbm>="+
minbm));
297 vars.back().whichPlots =
"2"; 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)
TString metcut("met>175")