21 TString
metcut(
"met_nohf>175");
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_17/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_17/skim_2l/";
45 vector<TString> s_trig_htmht;
46 s_trig_htmht.push_back(folder_1ldata+
"*HTMHT*");
47 vector<TString> s_trig_dl;
48 s_trig_dl.push_back(folder_2ldata+
"/*DoubleMu*");
49 s_trig_dl.push_back(folder_2ldata+
"/*DoubleE*");
50 vector<TString> s_trig_sl;
51 s_trig_sl.push_back(folder_2ldata+
"/*Single*");
52 vector<TString> s_trig_dmu;
53 s_trig_dmu.push_back(folder_2ldata+
"/*DoubleMu*");
54 vector<TString> s_trig_del;
55 s_trig_del.push_back(folder_2ldata+
"/*DoubleE*");
58 vector<TString> s_t1t;
60 s_t1t.push_back(
"/net/cms2/cms2r0/ald77/archive/2015_07_22/skim_1lht400/*T1tttt*1500_*PU20*");
61 vector<TString> s_t1tc;
63 s_t1tc.push_back(
"/net/cms2/cms2r0/ald77/archive/2015_07_22/skim_1lht400/*T1tttt*1200_*PU20*");
64 vector<TString> s_t1t_ns;
65 s_t1t_ns.push_back(folder_ns+
"*T1tttt*1500_*PU20*");
66 vector<TString> s_t1tc_ns;
67 s_t1tc_ns.push_back(folder_ns+
"*T1tttt*1200_*PU20*");
69 s_tt.push_back(folder_1l+
"*_TTJet*50ns*");
70 vector<TString> s_tt_ns;
71 s_tt_ns.push_back(folder_2l+
"*_TTJet*50ns*");
72 vector<TString> s_wjets;
73 s_wjets.push_back(folder_1l+
"*_WJets*");
74 vector<TString> s_singlet;
75 s_singlet.push_back(folder_1l+
"*ST_*");
77 s_DY.push_back(folder_2l+
"*DY*");
78 vector<TString> s_qcd;
79 s_qcd.push_back(folder_1l+
"*QCD_Pt*");
80 vector<TString> s_ttv;
81 s_ttv.push_back(folder_2l+
"*TTW*");
82 s_ttv.push_back(folder_2l+
"*TTZ*");
83 vector<TString> s_other;
84 s_other.push_back(folder_1l+
"*_ZJet*");
85 s_other.push_back(folder_1l+
"*DY*");
86 s_other.push_back(folder_1l+
"*WH_HToBB*");
88 s_other.push_back(folder_2l+
"*TTW*");
89 s_other.push_back(folder_2l+
"*TTZ*");
90 vector<TString> s_qcdDY;
91 s_qcdDY.push_back(folder_2l+
"*QCD_Pt*");
92 vector<TString> s_otherDY;
93 s_otherDY.push_back(folder_2l+
"*_ZJet*");
94 s_otherDY.push_back(folder_2l+
"*WH_HToBB*");
95 s_otherDY.push_back(folder_2l+
"*ST_*");
96 s_otherDY.push_back(folder_2l+
"*_WJets*");
99 vector<sfeats> Samples;
100 TString datatitle =
"Data";
101 Samples.push_back(
sfeats(s_trig_htmht, datatitle,kBlack,1,
"trig[0]&&json_golden")); Samples.back().isData =
true;
102 Samples.push_back(
sfeats(s_tt,
"t#bar{t}, 1 true lepton",
dps::c_tt_1l, 1,
"ntruleps<=1"));
103 Samples.push_back(
sfeats(s_tt,
"t#bar{t}, 2 true leptons",
dps::c_tt_2l,1,
"ntruleps>=2"));
112 vector<int> ra4_sam, ra4_sam_ns;
113 unsigned nsam(Samples.size());
114 for(
unsigned sam(0); sam < nsam; sam++){
115 ra4_sam.push_back(sam);
116 ra4_sam_ns.push_back(nsam+sam);
117 vector<TString> sam_files = Samples[sam].file;
118 for(
unsigned ifile(0); ifile < sam_files.size(); ifile++)
119 if(Samples[sam].isData) sam_files[ifile].ReplaceAll(folder_1ldata, folder_nsdata);
120 else sam_files[ifile].ReplaceAll(folder_1l, folder_ns);
121 Samples.push_back(
sfeats(sam_files, Samples[sam].label, Samples[sam].color, Samples[sam].style,
123 Samples.back().isData = Samples[sam].isData;
126 int imj(Samples.size());
127 Samples.push_back(
sfeats(s_trig_htmht,
"Data 2l, N_{jets} #geq 4",kBlack,1,
128 "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"));
132 mj_sam.push_back(imj);
133 mj_sam.push_back(imj+1);
135 int idl(Samples.size());
138 Samples.push_back(
sfeats(s_trig_sl,
"Data",kBlack,1,
139 "(trig[18]||trig[22])&&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]);
195 float minx, maxx;
int nbins;
197 vars.push_back(
hfeats(
"fjets_m[0]",16,0,480, ra4_sam,
"m(J_{1}) [GeV]",
198 "pass&&onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
199 "&&"+
metcut+
"&&njets>=4&&nbm>=1"));
200 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
202 vars.push_back(
hfeats(
"mj",20,0,600, ra4_sam,
"M_{J} [GeV]",
203 "pass&&onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
204 "&&"+
metcut+
"&&njets>=4&&nbm>=1"));
205 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
207 TString mll(
"(mumuv_m*(mumuv_m>0&&mumu_pt1>25)+elelv_m*(elelv_m>0&&elel_pt1>30))>80&&(mumuv_m*(mumuv_m>0&&mumu_pt1>25)+elelv_m*(elelv_m>0&&elel_pt1>30))<100");
208 minx=0.; maxx=500; nbins=
static_cast<int>((maxx-minx)/25.);
209 vars.push_back(
hfeats(
"fjets_m[0]",nbins,minx,maxx, dl_sam,
"m(J_{1}) [GeV]",
210 "pass&&ht>250&&(nvmus>=2||nvels>=2)&&njets>=4&&"+mll));
211 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
213 minx=0.; maxx=600; nbins=
static_cast<int>((maxx-minx)/25.);
214 vars.push_back(
hfeats(
"mj",nbins,minx,maxx, dl_sam,
"M_{J} [GeV]",
215 "pass&&ht>250&&(nvmus>=2||nvels>=2)&&njets>=4&&"+mll));
216 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
220 vars.push_back(
hfeats(
"mt",18,0,360, ra4_sam,
"m_{T} [GeV]",
222 vars.back().whichPlots =
"1"; vars.back().normalize =
true;
224 vars.push_back(
hfeats(
"met_nohf",16,0,800, ra4_sam,
"MET^{no HF} [GeV]",
225 "pass&&onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
"&&njets>="+
minjets+
"&&nbm>="+
minbm));
226 vars.back().whichPlots =
"1"; vars.back().normalize =
true;
228 vars.push_back(
hfeats(
"njets",14,-0.5,13.5, ra4_sam,
"Number of jets",
229 "pass&&onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
"&&"+
metcut+
"&&nbm>="+
minbm));
230 vars.back().whichPlots =
"2"; vars.back().normalize =
true;
232 vars.push_back(
hfeats(
"nbm",7,-0.5,6.5, ra4_sam,
"Number of b-tags (CSVM)",
233 "pass&&onht>350&&onmet>100&&(nvmus+nvels)==1&&ht>"+
minht+
"&&"+
metcut+
"&&njets>="+
minjets));
234 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_nohf>175")