ra4_macros  bede988c286599a3a84b77a4d788ac0a971e89f9
plot_pre_approval.cxx
Go to the documentation of this file.
1 // plot_dps: Macro that plots variables both for comissioning DPS
2 
3 #include <iostream>
4 #include <vector>
5 
6 #include "TChain.h"
7 #include "TH1D.h"
8 #include "TCanvas.h"
9 #include "TLegend.h"
10 #include "TLine.h"
11 #include "TString.h"
12 #include "TColor.h"
13 
14 #include "styles.hpp"
15 #include "utilities.hpp"
16 #include "utilities_macros.hpp"
17 
18 namespace {
19  TString luminosity="2.25";
20  TString plot_type=".pdf";
21  TString plot_style="CMSPaper";
22 }
23 
24 using namespace std;
25 using std::cout;
26 using std::endl;
27 
28 int main(){
29 
30  TString bfolder("/net/cms2");
31  bfolder = ""; // In laptops, you can't create a /net folder
32  TString folder1l(bfolder+"/cms2r0/babymaker/babies/2015_11_20/data/singlelep/combined/skim_1lht500met200/");
33  TString foldermc(bfolder+"/cms2r0/babymaker/babies/2015_11_28/mc/skim_1lht500met200/");
34  TString folderttht(bfolder+"/cms2r0/babymaker/babies/2015_11_28/mc/skim_1lht500met200/");
35  //folderttht = bfolder+"/cms2r0/babymaker/babies/2015_11_28/bad_toppt/skim_1lht500met200/";
36 
37  vector<TString> s_slep;
38  s_slep.push_back(folder1l+"*root"); // With "__Single" you exclude the extra 48 ipb
39 
40 
41  vector<TString> s_t1t;
42  s_t1t.push_back(foldermc+"*T1tttt*1500_*");
43  vector<TString> s_t1tc;
44  s_t1tc.push_back(foldermc+"*T1tttt*1200_*");
45  vector<TString> s_tt;
46  s_tt.push_back(foldermc+"*_TTJets*Lept*");
47  s_tt.push_back(folderttht+"*_TTJets_HT*");
48  vector<TString> s_wjets;
49  s_wjets.push_back(foldermc+"*_WJetsToLNu*");
50  vector<TString> s_ttv;
51  s_ttv.push_back(foldermc+"*_TTWJets*");
52  s_ttv.push_back(foldermc+"*_TTZTo*");
53  vector<TString> s_single;
54  s_single.push_back(foldermc+"*_ST_*");
55  vector<TString> s_other;
56  s_other.push_back(foldermc+"*DYJetsToLL*");
57  s_other.push_back(foldermc+"*_QCD_HT*");
58  s_other.push_back(foldermc+"*_ZJet*");
59  s_other.push_back(foldermc+"*_WWTo*");
60  s_other.push_back(foldermc+"*ggZH_HToBB*");
61  s_other.push_back(foldermc+"*ttHJetTobb*");
62 
63 
64  // Reading ntuples
65  int sigcolor(2);
66  TString lsp = "#tilde{#chi}#lower[0.2]{#scale[0.85]{^{0}}}#kern[-1.3]{#scale[0.85]{_{1}}}";
67  TString t1t_label = "#scale[0.92]{#tilde{g}#kern[0.2]{#tilde{g}}, #tilde{g}#rightarrowt#bar{t}"+lsp;
68  vector<sfeats> Samples;
69  Samples.push_back(sfeats(s_slep, "Data", kBlack,1,"(trig[4]||trig[8])&&pass")); Samples.back().isData = true;
70  Samples.push_back(sfeats(s_t1t, t1t_label+" (1500,100)}", sigcolor, 1));
71  Samples.push_back(sfeats(s_t1tc, t1t_label+" (1200,800)}", sigcolor, 2));
72  Samples.push_back(sfeats(s_tt, "t#bar{t}, 1 true lepton", dps::c_tt_1l, 1,"ntruleps<=1&&stitch"));
73  Samples.push_back(sfeats(s_tt, "t#bar{t}, 2 true leptons", dps::c_tt_2l,1,"ntruleps>=2&&stitch"));
74  Samples.push_back(sfeats(s_wjets, "W+jets", dps::c_wjets,1));
75  Samples.push_back(sfeats(s_single, "Single top", dps::c_singlet));
76  Samples.push_back(sfeats(s_ttv, "ttV", ra4::c_ttv));
77  Samples.push_back(sfeats(s_other, "Other", 1001, 1));
78 
79  vector<int> ra4_sam;
80  unsigned nsam(Samples.size());
81  for(unsigned sam(0); sam < nsam; sam++){
82  ra4_sam.push_back(sam);
83  } // Loop over samples
84 
85  int imt(Samples.size());
86  Samples.push_back(sfeats(s_slep, "Data, M_{J} > 400", kBlack,1,"(trig[4]||trig[8])&&pass&&mj>400"));
87  Samples.back().isData = true;
88  Samples.push_back(sfeats(s_slep, "Data, M_{J} #leq 400", kBlue+2,1,"(trig[4]||trig[8])&&pass&&mj>250&&mj<=400"));
89  Samples.back().doBand = true;
90  vector<int> mt_sam;
91  mt_sam.push_back(imt);
92  mt_sam.push_back(imt+1);
93 
94  int idilep(Samples.size());
95  Samples.push_back(sfeats(s_slep, "Data 2l, N_{jets} #geq 5", kBlack,1,"(trig[4]||trig[8])&&pass&&njets>=5&&nleps==2&&nbm<=2"));
96  Samples.back().isData=true;
97  Samples.push_back(sfeats(s_slep, "Data 1l, N_{jets} #geq 6, m_{T} #leq 140, N_{b} #geq 1", kBlue+2,1,
98  "(trig[4]||trig[8])&&pass&&mt<=140&&njets>=6&&nleps==1&&nbm>=1")); Samples.back().doBand = true;
99  vector<int> dilep_sam;
100  dilep_sam.push_back(idilep);
101  dilep_sam.push_back(idilep+1);
102 
103  int imj(Samples.size());
104  Samples.push_back(sfeats(s_slep, "Data, m_{T} > 140", kBlack,1,"(trig[4]||trig[8])&&pass&&mt>140")); Samples.back().isData=true;
105  Samples.push_back(sfeats(s_slep, "Data, m_{T} #leq 140", kBlue+2,1,"(trig[4]||trig[8])&&pass&&mt<=140"));
106  Samples.back().doBand = true;
107  vector<int> mj_sam;
108  mj_sam.push_back(imj);
109  mj_sam.push_back(imj+1);
110 
111 
112  vector<hfeats> vars;
113 
114  TString pass("&&pass");
115 
117  vars.push_back(hfeats("mj",6,250,700, dilep_sam, "M_{J} [GeV]","ht>500&&met>200"+pass+"&&met<=400",-1,"mj250_1b"));
118  vars.back().whichPlots = "12"; vars.back().normalize = true;
119 
120  vars.push_back(hfeats("mj",12,0,1200, mj_sam, "M_{J} [GeV]","nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm>=2"));
121  vars.back().whichPlots = "12"; vars.back().normalize = true;
122  vars.push_back(hfeats("mt",18,0,630, mt_sam, "m_{T} [GeV]","nleps==1&&ht>500&&met>200"+pass+"&&mj>250&&njets>=6&&nbm>=2"));
123  vars.back().whichPlots = "12"; vars.back().normalize = true;
124  vars.push_back(hfeats("mj",12,0,1200, mj_sam, "M_{J} [GeV]","nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm==1"));
125  vars.back().whichPlots = "12"; vars.back().normalize = true;
126  vars.push_back(hfeats("mt",18,0,630, mt_sam, "m_{T} [GeV]","nleps==1&&ht>500&&met>200"+pass+"&&mj>250&&njets>=6&&nbm==1"));
127  vars.back().whichPlots = "12"; vars.back().normalize = true;
128 
130  vars.push_back(hfeats("mj",12,0,1200, ra4_sam, "M_{J} [GeV]","nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm>=1&&mt>140",400, "baseline"));
131  vars.back().whichPlots = "12"; vars.back().normalize = true;
132  vars.push_back(hfeats("mt",18,0,630, ra4_sam, "m_{T} [GeV]","nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm>=1",140, "baseline"));
133  vars.back().whichPlots = "12"; vars.back().normalize = true;
134 
136  vars.push_back(hfeats("mj",12,0,1200, ra4_sam, "M_{J} [GeV]","mt>140&&nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm==1"));
137  vars.back().whichPlots = "12"; vars.back().normalize = true;
138  vars.push_back(hfeats("mj",12,0,1200, ra4_sam, "M_{J} [GeV]","mt<=140&&nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm==1"));
139  vars.back().whichPlots = "12"; vars.back().normalize = true;
140 
141  vars.push_back(hfeats("mt",18,0,630, ra4_sam, "m_{T} [GeV]","mj>250&&mj<400&&nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm==1"));
142  vars.back().whichPlots = "12"; vars.back().normalize = true;
143  vars.push_back(hfeats("mt",18,0,630, ra4_sam, "m_{T} [GeV]","mj>400&&nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm==1"));
144  vars.back().whichPlots = "12"; vars.back().normalize = true;
145 
147  vars.push_back(hfeats("mj",12,0,1200, ra4_sam, "M_{J} [GeV]","mt>140&&nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm>=2"));
148  vars.back().whichPlots = "12"; vars.back().normalize = true;
149  vars.push_back(hfeats("mj",12,0,1200, ra4_sam, "M_{J} [GeV]","mt<=140&&nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm>=2"));
150  vars.back().whichPlots = "12"; vars.back().normalize = true;
151 
152  vars.push_back(hfeats("mt",18,0,630, ra4_sam, "m_{T} [GeV]","mj>250&&mj<400&&nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm>=2"));
153  vars.back().whichPlots = "12"; vars.back().normalize = true;
154  vars.push_back(hfeats("mt",18,0,630, ra4_sam, "m_{T} [GeV]","mj>400&&nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm>=2"));
155  vars.back().whichPlots = "12"; vars.back().normalize = true;
156 
157 
159  vars.push_back(hfeats("met",12,200,800, ra4_sam, "MET [GeV]","mt>140&&mj>250&&nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm>=1"));
160  vars.back().whichPlots = "12"; vars.back().normalize = true;
161  vars.push_back(hfeats("met",12,200,800, ra4_sam, "MET [GeV]","mt<=140&&mj>250&&nleps==1&&ht>500&&met>200"+pass+"&&njets>=6&&nbm>=1"));
162  vars.back().whichPlots = "12"; vars.back().normalize = true;
163  vars.push_back(hfeats("njets",13, 0.5,13.5, ra4_sam, "n_{jets}","mt>140&&mj>250&&nleps==1&&ht>500&&met>200"+pass+"&&nbm>=1"));
164  vars.back().whichPlots = "12"; vars.back().normalize = true;
165  vars.push_back(hfeats("njets",13, 0.5,13.5, ra4_sam, "n_{jets}","mt<=140&&mj>250&&nleps==1&&ht>500&&met>200"+pass+"&&nbm>=1"));
166  vars.back().whichPlots = "12"; vars.back().normalize = true;
167 
168 
169  // // Not in PAS
170  // //// njets, nbm N-1
171  // vars.push_back(hfeats("njets",13, 0.5,13.5, ra4_sam, "n_{jets}","nleps==1&&ht>500&&met>200"+pass+"&&nbm>=1"));
172  // vars.back().whichPlots = "12"; vars.back().normalize = true;
173  // vars.push_back(hfeats("nbm",6, -0.5,5.5, ra4_sam, "n_{b}","nleps==1&&ht>500&&met>200"+pass+"&&njets>=6"));
174  // vars.back().whichPlots = "12"; vars.back().normalize = true;
175 
176  // // Not in PAS
177  // //// Data vs Data
178  // vars.push_back(hfeats("mj",14,0,700, dilep_sam, "M_{J} [GeV]","ht>500&&met>200&&met<=400",-1,"full_1b"));
179  // vars.back().whichPlots = "12"; vars.back().normalize = true;
180  // vars.push_back(hfeats("mj",12,0,1200, mj_sam, "M_{J} [GeV]","nleps==1&&ht>500&&met>200&&njets>=6&&nbm>=1"));
181  // vars.back().whichPlots = "12"; vars.back().normalize = true;
182  // vars.push_back(hfeats("mt",18,0,630, mt_sam, "m_{T} [GeV]","nleps==1&&ht>500&&met>200&&mj>250&&njets>=6&&nbm>=1"));
183  // vars.back().whichPlots = "12"; vars.back().normalize = true;
184 
185  // // // Not in PAS
186  // //// 1b plots
187  // vars.push_back(hfeats("met",12,200,800, ra4_sam, "MET [GeV]","mt>140&&mj>250&&nleps==1&&ht>500&&met>200&&njets>=6&&nbm==1"));
188  // vars.back().whichPlots = "12"; vars.back().normalize = true;
189  // vars.push_back(hfeats("met",12,200,800, ra4_sam, "MET [GeV]","mt<=140&&mj>250&&nleps==1&&ht>500&&met>200&&njets>=6&&nbm==1"));
190  // vars.back().whichPlots = "12"; vars.back().normalize = true;
191 
192  // vars.push_back(hfeats("njets",13, 0.5,13.5, ra4_sam, "n_{jets}","mt>140&&mj>250&&nleps==1&&ht>500&&met>200&&nbm==1"));
193  // vars.back().whichPlots = "12"; vars.back().normalize = true;
194  // vars.push_back(hfeats("njets",13, 0.5,13.5, ra4_sam, "n_{jets}","mt<=140&&mj>250&&nleps==1&&ht>500&&met>200&&nbm==1"));
195  // vars.back().whichPlots = "12"; vars.back().normalize = true;
196 
197  // //// 2b plots
198  // vars.push_back(hfeats("met",12,200,800, ra4_sam, "MET [GeV]","mt>140&&mj>250&&nleps==1&&ht>500&&met>200&&njets>=6&&nbm>=2"));
199  // vars.back().whichPlots = "12"; vars.back().normalize = true;
200  // vars.push_back(hfeats("met",12,200,800, ra4_sam, "MET [GeV]","mt<=140&&mj>250&&nleps==1&&ht>500&&met>200&&njets>=6&&nbm>=2"));
201  // vars.back().whichPlots = "12"; vars.back().normalize = true;
202  // vars.push_back(hfeats("njets",13, 0.5,13.5, ra4_sam, "n_{jets}","mt>140&&mj>250&&nleps==1&&ht>500&&met>200&&nbm>=2"));
203  // vars.back().whichPlots = "12"; vars.back().normalize = true;
204  // vars.push_back(hfeats("njets",13, 0.5,13.5, ra4_sam, "n_{jets}","mt<=140&&mj>250&&nleps==1&&ht>500&&met>200&&nbm>=2"));
205  // vars.back().whichPlots = "12"; vars.back().normalize = true;
206 
207 
208  // //// njets, nbm N-1
209  // vars.push_back(hfeats("njets",13, 0.5,13.5, ra4_sam, "n_{jets}","mt>140&&mj>250&&nleps==1&&ht>500&&met>200&&nbm>=1"));
210  // vars.back().whichPlots = "12"; vars.back().normalize = true;
211  // vars.push_back(hfeats("njets",13, 0.5,13.5, ra4_sam, "n_{jets}","mt<=140&&mj>250&&nleps==1&&ht>500&&met>200&&nbm>=1"));
212  // vars.back().whichPlots = "12"; vars.back().normalize = true;
213  // vars.push_back(hfeats("fjets_m[0]",20,0,400, ra4_sam, "m(J_{1}) [GeV]","mt>140&&nleps==1&&ht>500&&met>200&&njets>=6&&nbm>=1"));
214  // vars.back().whichPlots = "12"; vars.back().normalize = true;
215  // vars.push_back(hfeats("fjets_m[0]",20,0,400, ra4_sam, "m(J_{1}) [GeV]","mt<=140&&nleps==1&&ht>500&&met>200&&njets>=6&&nbm>=1"));
216  // vars.back().whichPlots = "12"; vars.back().normalize = true;
217 
218  plot_distributions(Samples, vars, luminosity, plot_type, plot_style, "paper",true);
219 
220 }
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)
STL namespace.
int main()