ra4_macros  bede988c286599a3a84b77a4d788ac0a971e89f9
plot_ratios_dists.cxx
Go to the documentation of this file.
1 #include <iostream>
2 #include <vector>
3 
4 #include "TString.h"
5 
7 
8 using namespace std;
9 
10 int main(){
11 
12  TString ntuple_date = "2015_09_14";
13 
14  //inc tt
15  double ratio1[8] = {0.3, 0.3, 0.3, 0.3, 0.2, 0.6, 0.55, 1.1};
16  double ratio3[12] = {0.2, 0.2, 0.2, 0.2, 0.2, 0.2, 0.5, 0.6, 1.2, 0.25, 0.3, 0.55};
17 
18  //1l tt
19  bool do_1ltt(false);
20  // double ratio1[8] = {0.1, 0.1, 0.1, 0.1, 0.5, 1, 1, 1.3};
21  // double ratio3[12] = {0.15, 0.15, 0.14, 0.14, 0.14, 0.08, 1.5, 1.5, 3, 1, 1.5, 2};
22 
23  //2l tt
24  bool do_2ltt(false);
25  // double ratio1[8] = {2, 2, 2, 2, 0.25, 0.6, 0.55, 1.1};
26  // double ratio3[12] = {1.2, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1};
27 
28  TString tag = "";
29  if(do_1ltt) tag = "1ltt";
30  if(do_2ltt) tag = "2ltt";
31 
32  TString folder="/cms5r0/rohan/archive/"+ntuple_date+"/skim/";
33  TString folder_1l="/cms5r0/rohan/archive/"+ntuple_date+"/skim_1l/";
34  TString folder_2l="/cms5r0/rohan/archive/"+ntuple_date+"/skim_2l/";
35  TString folder_genht="/cms5r0/rohan/archive/"+ntuple_date+"/skim_genht/";
36 
37  vector<TString> s_tt;
38  if(do_1ltt) {
39  s_tt.push_back(folder_genht+"*_TTJets*SingleLept*");
40  s_tt.push_back(folder_1l+"*_TTJets*HT*");
41  }
42  else if(do_2ltt){
43  s_tt.push_back(folder_genht+"*_TTJets*DiLept*");
44  s_tt.push_back(folder_2l+"*_TTJets*HT*");
45  }
46  else{
47  s_tt.push_back(folder_genht+"*_TTJets*Lept*");
48  s_tt.push_back(folder+"*_TTJets*HT*");
49  }
50 
51  // Reading ntuples
52  vector<sfeats> Samples, Samples_m3;
53  Samples.push_back(sfeats(s_tt, "t#bar{t}, mt > 140", 1,0, "mt>140")); Samples.back().isData = true;
54  Samples.push_back(sfeats(s_tt, "t#bar{t}, mt #leq 140", 31,1,"mt<=140"));
55 
56  Samples.push_back(sfeats(s_tt, "t#bar{t}, mj > 600", 1,0, "mj>600")); Samples.back().isData = true;
57  Samples.push_back(sfeats(s_tt, "t#bar{t}, mj #leq 600", 31,1,"mj<=600"));
58 
59  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mt > 140", 1,0, "mt>140&&mj>400&&njets<=8")); Samples_m3.back().isData = true;
60  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mt > 140", 1,0, "mt>140&&mj>400&&njets>=9")); Samples_m3.back().isData = true;
61  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mt #leq 140", 31,1,"mt<=140&&mj>400&&njets<=8"));
62  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mt #leq 140", 31,1,"mt<=140&&mj>400&&njets>=9"));
63  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mt > 140", 1,0, "mt>140&&mj<=400")); Samples_m3.back().isData = true;
64  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mt #leq 140", 31,1,"mt<=140&&mj<=400"));
65 
66  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mj > 400", 1,0, "mj>400&&mt>140&&njets<=8")); Samples_m3.back().isData = true;
67  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mj > 400", 1,0, "mj>400&&mt>140&&njets>=9")); Samples_m3.back().isData = true;
68  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mj #leq 400", 31,1, "mj<=400&&mt>140"));
69  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mj > 400", 1,0, "mj>400&&mt<=140&&njets<=8")); Samples_m3.back().isData = true;
70  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mj > 400", 1,0, "mj>400&&mt<=140&&njets>=9")); Samples_m3.back().isData = true;
71  Samples_m3.push_back(sfeats(s_tt, "t#bar{t}, mj #leq 400", 31,1,"mj<=400&&mt<=140"));
72 
73  vector<int> mt140, mj600, mt140_m3_1, mt140_m3_2, mj400_m3_1, mj400_m3_2;
74  mt140.push_back(0);
75  mt140.push_back(1);
76 
77  mj600.push_back(2);
78  mj600.push_back(3);
79 
80  mt140_m3_1.push_back(0);
81  mt140_m3_1.push_back(2);
82  mt140_m3_1.push_back(4);
83  mt140_m3_1.push_back(5);
84 
85  mt140_m3_2.push_back(1);
86  mt140_m3_2.push_back(3);
87  mt140_m3_2.push_back(4);
88  mt140_m3_2.push_back(5);
89 
90  mj400_m3_1.push_back(6);
91  mj400_m3_1.push_back(8);
92  mj400_m3_1.push_back(9);
93  mj400_m3_1.push_back(11);
94 
95  mj400_m3_2.push_back(7);
96  mj400_m3_2.push_back(8);
97  mj400_m3_2.push_back(10);
98  mj400_m3_2.push_back(11);
99 
100  TString noCuts = "1";
101  TString baseline = "ht>500&&met>200&&njets>=7&&nbm>=2&&nleps==1";
102  TString baselineNb1 = "ht>500&&met>200&&nbm>=1&&njets>=7&&nleps==1";
103 
104  vector<hfeats> vars, vars3;
105 
106  // METHOD 1
107  // RMT
108  vars.push_back(hfeats("mj",36,0,1800, mt140, "MJ",baseline+"&&njets<=8&&met<=400",600,tag)); vars.back().maxRatio = ratio1[0];
109  vars.push_back(hfeats("mj",36,0,1800, mt140, "MJ",baseline+"&&njets<=8&&met>400",600,tag)); vars.back().maxRatio = ratio1[1];
110  vars.push_back(hfeats("mj",36,0,1800, mt140, "MJ",baseline+"&&njets>=9&&met<=400",600,tag)); vars.back().maxRatio = ratio1[2];
111  vars.push_back(hfeats("mj",36,0,1800, mt140, "MJ",baseline+"&&njets>=9&&met>400",600,tag)); vars.back().maxRatio = ratio1[3];
112 
113  // RMJ
114  vars.push_back(hfeats("mt",33,0,660, mj600, "mT",baseline+"&&met<=400&&njets<=8",140,tag)); vars.back().maxRatio = ratio1[4];
115  vars.push_back(hfeats("mt",33,0,660, mj600, "mT",baseline+"&&met>400&&njets<=8",140,tag)); vars.back().maxRatio = ratio1[5];
116  vars.push_back(hfeats("mt",33,0,660, mj600, "mT",baseline+"&&met<=400&&njets>=9",140,tag)); vars.back().maxRatio = ratio1[6];
117  vars.push_back(hfeats("mt",33,0,660, mj600, "mT",baseline+"&&met>400&&njets>=9",140,tag)); vars.back().maxRatio = ratio1[7];
118 
119  // plot_distributions(Samples, vars, "10", ".pdf", "RA4","",true);
120 
121  // METHOD 3 **TURN ON ROHANHACK IN UTILITIES_MACRO
122  // RMT
123  vars3.push_back(hfeats("mj",36,0,1800, mt140_m3_1, "MJ",baseline+"&&met<=400&&nbm==2",400,tag)); vars3.back().maxRatio = ratio3[0];
124  vars3.push_back(hfeats("mj",36,0,1800, mt140_m3_1, "MJ",baseline+"&&met<=400&&nbm>=3",400,tag)); vars3.back().maxRatio = ratio3[1];
125  vars3.push_back(hfeats("mj",36,0,1800, mt140_m3_1, "MJ",baseline+"&&met>400",400,tag)); vars3.back().maxRatio = ratio3[2];
126 
127  vars3.push_back(hfeats("mj",36,0,1800, mt140_m3_2, "MJ",baseline+"&&met<=400&&nbm==2&&1",400,tag)); vars3.back().maxRatio = ratio3[3];
128  vars3.push_back(hfeats("mj",36,0,1800, mt140_m3_2, "MJ",baseline+"&&met<=400&&nbm>=3&&1",400,tag)); vars3.back().maxRatio = ratio3[4];
129  vars3.push_back(hfeats("mj",36,0,1800, mt140_m3_2, "MJ",baseline+"&&met>400&&1",400,tag)); vars3.back().maxRatio = ratio3[5];
130 
131  // RMJ
132  vars3.push_back(hfeats("mt",33,0,660, mj400_m3_1, "mT",baseline+"&&met<=400&&nbm==2",140,tag)); vars3.back().maxRatio = ratio3[6];
133  vars3.push_back(hfeats("mt",33,0,660, mj400_m3_1, "mT",baseline+"&&met<=400&&nbm>=3",140,tag)); vars3.back().maxRatio = ratio3[7];
134  vars3.push_back(hfeats("mt",33,0,660, mj400_m3_1, "mT",baseline+"&&met>400",140,tag)); vars3.back().maxRatio = ratio3[8];
135 
136  vars3.push_back(hfeats("mt",33,0,660, mj400_m3_2, "mT",baseline+"&&met<=400&&nbm==2&&1",140,tag)); vars3.back().maxRatio = ratio3[9];
137  vars3.push_back(hfeats("mt",33,0,660, mj400_m3_2, "mT",baseline+"&&met<=400&&nbm>=3&&1",140,tag)); vars3.back().maxRatio = ratio3[10];
138  vars3.push_back(hfeats("mt",33,0,660, mj400_m3_2, "mT",baseline+"&&met>400&&1",140,tag)); vars3.back().maxRatio = ratio3[11];
139 
140  plot_distributions(Samples_m3, vars3, "10", ".pdf", "RA4","",true);
141 }
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)
int main()
STL namespace.