21 TString
metcut(
"met_nohf>150");
34 TString folder_ns=
"/net/cms2/cms2r0/ald77/archive/2015_07_22/";
35 TString folder_nsdata=
"/net/cms2/cms2r0/ald77/archive/2015_07_26/";
36 TString folder_1l =
"/net/cms2/cms2r0/ald77/archive/2015_07_22/skim_1lht400/";
37 TString folder_1ldata =
"/net/cms2/cms2r0/ald77/archive/2015_07_26/skim_1lht400/";
38 folder_1l =
"/net/cms2/cms2r0/ald77/archive/2015_08_13/skim_1lht400/";
39 folder_1ldata =
"/net/cms2/cms2r0/ald77/archive/2015_08_13/skim_1lht400/";
40 TString folder_2l=
"/net/cms2/cms2r0/ald77/archive/2015_07_22/skim_2l/";
41 TString folder_2ldata=
"/net/cms2/cms2r0/ald77/archive/2015_07_26/skim_2l/";
42 folder_2l =
"/net/cms2/cms2r0/ald77/archive/2015_08_13/skim_2l/";
43 folder_2ldata =
"/net/cms2/cms2r0/ald77/archive/2015_08_13/skim_2l/";
45 folder_1l =
"/net/cms29/cms29r0/heller/susy_cfa/out/PU/";
46 folder_2l =
"/net/cms29/cms29r0/heller/susy_cfa/out/PU/";
47 folder_ns = folder_1l;
49 vector<TString> s_trig_htmht;
50 s_trig_htmht.push_back(folder_1ldata+
"*HTMHT*");
51 vector<TString> s_trig_dl;
52 s_trig_dl.push_back(folder_2ldata+
"/*DoubleMu*");
53 s_trig_dl.push_back(folder_2ldata+
"/*DoubleE*");
54 vector<TString> s_trig_dmu;
55 s_trig_dmu.push_back(folder_2ldata+
"/*DoubleMu*");
56 vector<TString> s_trig_del;
57 s_trig_del.push_back(folder_2ldata+
"/*DoubleE*");
60 vector<TString> s_t1t;
62 s_t1t.push_back(
"/net/cms2/cms2r0/ald77/archive/2015_07_22/skim_1lht400/*T1tttt*1500_*PU20*");
63 vector<TString> s_t1tc;
65 s_t1tc.push_back(
"/net/cms2/cms2r0/ald77/archive/2015_07_22/skim_1lht400/*T1tttt*1200_*PU20*");
66 vector<TString> s_t1t_ns;
67 s_t1t_ns.push_back(folder_ns+
"*T1tttt*1500_*PU20*");
68 vector<TString> s_t1tc_ns;
69 s_t1tc_ns.push_back(folder_ns+
"*T1tttt*1200_*PU20*");
71 s_tt.push_back(folder_1l+
"*_TTJet*50ns*");
72 vector<TString> s_tt_ns;
73 s_tt_ns.push_back(folder_2l+
"*_TTJet*50ns*");
74 vector<TString> s_wjets;
75 s_wjets.push_back(folder_1l+
"*_WJets*");
76 vector<TString> s_singlet;
77 s_singlet.push_back(folder_1l+
"*ST_*");
79 s_DY.push_back(folder_2l+
"*DY*");
80 vector<TString> s_qcd;
81 s_qcd.push_back(folder_1l+
"*QCD_Pt*");
82 vector<TString> s_ttv;
83 s_ttv.push_back(folder_2l+
"*TTW*");
84 s_ttv.push_back(folder_2l+
"*TTZ*");
85 vector<TString> s_other;
86 s_other.push_back(folder_1l+
"*_ZJet*");
87 s_other.push_back(folder_1l+
"*DY*");
88 s_other.push_back(folder_1l+
"*WH_HToBB*");
90 s_other.push_back(folder_2l+
"*TTW*");
91 s_other.push_back(folder_2l+
"*TTZ*");
92 vector<TString> s_qcdDY;
93 s_qcdDY.push_back(folder_2l+
"*QCD_Pt*");
94 vector<TString> s_otherDY;
95 s_otherDY.push_back(folder_2l+
"*_ZJet*");
96 s_otherDY.push_back(folder_2l+
"*WH_HToBB*");
97 s_otherDY.push_back(folder_2l+
"*ST_*");
98 s_otherDY.push_back(folder_2l+
"*_WJets*");
101 vector<sfeats> Samples;
102 TString datatitle =
"Data";
103 Samples.push_back(
sfeats(s_trig_htmht, datatitle,kBlack,1,
"trig[0]&&json_golden")); Samples.back().isData =
true;
104 Samples.push_back(
sfeats(s_tt,
"t#bar{t}, 1 true lepton",
dps::c_tt_1l, 1,
"ntruleps<=1"));
105 Samples.push_back(
sfeats(s_tt,
"t#bar{t}, 2 true leptons",
dps::c_tt_2l,1,
"ntruleps>=2"));
114 vector<int> ra4_sam, ra4_sam_ns;
115 unsigned nsam(Samples.size());
116 for(
unsigned sam(0); sam < nsam; sam++){
117 ra4_sam.push_back(sam);
118 ra4_sam_ns.push_back(nsam+sam);
119 vector<TString> sam_files = Samples[sam].file;
120 for(
unsigned ifile(0); ifile < sam_files.size(); ifile++)
121 if(Samples[sam].isData) sam_files[ifile].ReplaceAll(folder_1ldata, folder_nsdata);
122 else sam_files[ifile].ReplaceAll(folder_1l, folder_ns);
123 Samples.push_back(
sfeats(sam_files, Samples[sam].label, Samples[sam].color, Samples[sam].style,
125 Samples.back().isData = Samples[sam].isData;
128 int imj(Samples.size());
129 Samples.push_back(
sfeats(s_trig_htmht,
"Data 2l, N_{jets} #geq 4",kBlack,1,
130 "trig[0]&&njets>=4&&(nvmus+nvels)==2&&json_golden")); Samples.back().isData =
true;
131 Samples.push_back(
sfeats(s_trig_htmht,
"Data 1l, N_{jets} #geq 5, m_{T}#leq140, n_{b}#geq1",
dps::c_tt_1l,1,
132 "trig[0]&&njets>=5&&(nvmus+nvels)==1&&mt<=140&&nbm>=1&&json_golden"));
134 mj_sam.push_back(imj);
135 mj_sam.push_back(imj+1);
137 int idl(Samples.size());
138 Samples.push_back(
sfeats(s_trig_dl,
"Data",kBlack,1,
139 "(trig[10]||trig[9])&&json_golden")); Samples.back().isData =
true;
141 Samples.push_back(
sfeats(s_tt_ns,
"t#bar{t}, 2 true leptons",
dps::c_tt_2l,1,
"ntruleps>=2"));
142 Samples.push_back(
sfeats(s_tt_ns,
"t#bar{t}, 1 true lepton",
dps::c_tt_1l, 1,
"ntruleps==1"));
147 for(
unsigned sam(idl); sam < Samples.size(); sam++) {
148 dl_sam.push_back(sam);
150 vector<int> dmu_sam(dl_sam), del_sam(dl_sam);
151 Samples.push_back(
sfeats(s_trig_dmu,
"Data",kBlack,1,
152 "(trig[9])&&json_golden")); Samples.back().isData =
true;
153 Samples.push_back(
sfeats(s_trig_del,
"Data",kBlack,1,
154 "(trig[10])&&json_golden")); Samples.back().isData =
true;
155 dmu_sam[0] = Samples.size()-2;
156 del_sam[0] = Samples.size()-1;
159 TString factor_c(
"100"), factor_nc(
"300");
160 int isig(Samples.size());
161 Samples.push_back(
sfeats(s_t1t,
"Sig NC #times "+factor_nc, kRed+2)); Samples.back().factor = factor_nc;
162 Samples.push_back(
sfeats(s_t1tc,
"Sig C #times "+factor_c, kRed+2,2)); Samples.back().factor = factor_c;
164 sig_sam.push_back(ra4_sam[0]);
165 sig_sam.push_back(isig);
166 sig_sam.push_back(isig+1);
167 for(
unsigned ind(1); ind<ra4_sam.size(); ind++)
168 sig_sam.push_back(ra4_sam[ind]);
171 factor_c =
"20"; factor_nc =
"20";
172 isig = Samples.size();
173 Samples.push_back(
sfeats(s_t1t_ns,
"Sig NC #times "+factor_nc, kRed+2)); Samples.back().factor = factor_nc;
174 Samples.push_back(
sfeats(s_t1tc_ns,
"Sig C #times "+factor_c, kRed+2,2)); Samples.back().factor = factor_c;
175 vector<int> sig_sam_ns;
176 sig_sam_ns.push_back(ra4_sam_ns[0]);
177 sig_sam_ns.push_back(isig);
178 sig_sam_ns.push_back(isig+1);
179 for(
unsigned ind(1); ind<ra4_sam.size(); ind++)
180 sig_sam_ns.push_back(ra4_sam_ns[ind]);
183 isig = Samples.size();
184 Samples.push_back(
sfeats(s_t1t,
"Sig NC #times "+factor_nc, kRed+2)); Samples.back().factor = factor_nc;
185 Samples.push_back(
sfeats(s_t1tc,
"Sig C #times "+factor_c, kRed+2,2)); Samples.back().factor = factor_c;
186 vector<int> sig_sam_log;
187 sig_sam_log.push_back(ra4_sam[0]);
188 sig_sam_log.push_back(isig);
189 sig_sam_log.push_back(isig+1);
190 for(
unsigned ind(1); ind<ra4_sam.size(); ind++)
191 sig_sam_log.push_back(ra4_sam[ind]);
194 TString mll(
"(mumuv_m*(mumuv_m>0)+elelv_m*(elelv_m>0))>80&&(mumuv_m*(mumuv_m>0)+elelv_m*(elelv_m>0))<100");
196 vars.push_back(
hfeats(
"npv",10,0,40, ra4_sam,
"NPV",
197 "onht>350&&pass&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
198 "&&"+
metcut+
"&&njets>=4&&nbm>=1"));
199 vars.back().whichPlots =
"2"; vars.back().normalize =
true; vars.back().PU_reweight =
true;
201 vars.push_back(
hfeats(
"npv",10,0,40, dl_sam,
"NPV",
202 "onht>300&&pass&&ht>350&&(nvmus>=2||nvels>=2)&&njets>=4&&"+mll));
203 vars.back().whichPlots =
"2"; vars.back().normalize =
true; vars.back().PU_reweight =
true;
205 vars.push_back(
hfeats(
"npv",10,0,40, ra4_sam,
"NPV",
206 "pass&&onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
207 "&&"+
metcut+
"&&njets>=4&&nbm>=1"));
208 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
210 vars.push_back(
hfeats(
"npv",10,0,40, dl_sam,
"NPV",
211 "pass&&onht>300&&ht>350&&(nvmus>=2||nvels>=2)&&njets>=4&&"+mll));
212 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
216 vars.push_back(
hfeats(
"fjets_m[0]",24,0,480, ra4_sam,
"m(J_{1}) [GeV]",
217 "pass&&onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
218 "&&"+
metcut+
"&&njets>=4&&nbm>=1"));
219 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
221 vars.push_back(
hfeats(
"mj",30,0,600, ra4_sam,
"m_{J} [GeV]",
222 "pass&&onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
223 "&&"+
metcut+
"&&njets>=4&&nbm>=1"));
224 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
227 vars.push_back(
hfeats(
"fjets_m[0]",12,0,480, dl_sam,
"m(J_{1}) [GeV]",
228 "pass&&onht>300&&ht>350&&(nvmus>=2||nvels>=2)&&njets>=4&&"+mll));
229 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
231 vars.push_back(
hfeats(
"mj",15,0,600, dl_sam,
"m_{J} [GeV]",
232 "pass&&onht>300&&ht>350&&(nvmus>=2||nvels>=2)&&njets>=4&&"+mll));
233 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
236 vars.push_back(
hfeats(
"fjets_m[0]",24,0,480, ra4_sam,
"m(J_{1}) [GeV]",
237 "onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
238 "&&"+
metcut+
"&&njets>=4&&nbm>=1&&pass"));
239 vars.back().whichPlots =
"2"; vars.back().normalize =
true; vars.back().PU_reweight =
true;
241 vars.push_back(
hfeats(
"mj",30,0,600, ra4_sam,
"m_{J} [GeV]",
242 "onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
243 "&&"+
metcut+
"&&njets>=4&&nbm>=1&&pass"));
244 vars.back().whichPlots =
"2"; vars.back().normalize =
true; vars.back().PU_reweight =
true;
247 vars.push_back(
hfeats(
"fjets_m[0]",12,0,480, dl_sam,
"m(J_{1}) [GeV]",
248 "onht>300&&ht>350&&(nvmus>=2||nvels>=2)&&njets>=4&&pass&&"+mll));
249 vars.back().whichPlots =
"2"; vars.back().normalize =
true; vars.back().PU_reweight =
true;
251 vars.push_back(
hfeats(
"mj",15,0,600, dl_sam,
"m_{J} [GeV]",
252 "onht>300&&ht>350&&(nvmus>=2||nvels>=2)&&njets>=4&&pass&&"+mll));
253 vars.back().whichPlots =
"2"; vars.back().normalize =
true; vars.back().PU_reweight =
true;
257 vars.push_back(
hfeats(
"mt",18,0,360, ra4_sam,
"m_{T} [GeV]",
259 vars.back().whichPlots =
"1"; vars.back().normalize =
true;
261 vars.push_back(
hfeats(
"met_nohf",16,0,800, ra4_sam,
"MET^{no HF} [GeV]",
262 "pass&&onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
"&&njets>="+
minjets+
"&&nbm>="+
minbm));
263 vars.back().whichPlots =
"1"; vars.back().normalize =
true;
265 vars.push_back(
hfeats(
"njets",14,-0.5,13.5, ra4_sam,
"Number of jets",
266 "pass&&onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
"&&"+
metcut+
"&&nbm>="+
minbm));
267 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
269 vars.push_back(
hfeats(
"nbm",7,-0.5,6.5, ra4_sam,
"Number of b-tags (CSVM)",
270 "pass&&onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
"&&"+
metcut+
"&&njets>="+
minjets));
271 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
274 vars.push_back(
hfeats(
"mt",18,0,360, ra4_sam,
"m_{T} [GeV]",
276 vars.back().whichPlots =
"1"; vars.back().normalize =
true; vars.back().PU_reweight =
true;
278 vars.push_back(
hfeats(
"met_nohf",16,0,800, ra4_sam,
"MET^{no HF} [GeV]",
279 "onht>350&&pass&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
"&&njets>="+
minjets+
"&&nbm>="+
minbm));
280 vars.back().whichPlots =
"1"; vars.back().normalize =
true; vars.back().PU_reweight =
true;
282 vars.push_back(
hfeats(
"njets",14,-0.5,13.5, ra4_sam,
"Number of jets",
283 "onht>350&&pass&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
"&&"+
metcut+
"&&nbm>="+
minbm));
284 vars.back().whichPlots =
"2"; vars.back().normalize =
true; vars.back().PU_reweight =
true;
286 vars.push_back(
hfeats(
"nbm",7,-0.5,6.5, ra4_sam,
"Number of b-tags (CSVM)",
287 "onht>350&&pass&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
"&&"+
metcut+
"&&njets>="+
minjets));
288 vars.back().whichPlots =
"2"; vars.back().normalize =
true; vars.back().PU_reweight =
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_nohf>150")