1 |
jueugste |
1.1 |
using namespace std;
|
2 |
|
|
|
3 |
|
|
void normalizeMC() {
|
4 |
|
|
// luminosity (nb-1 / 1000 = pb-1)
|
5 |
|
|
double lumi = 7.6 / 1000.;
|
6 |
|
|
cout<<"Integrated luminosity is: "<<lumi<<" pb-1"<<endl;
|
7 |
|
|
TFile *QCDem2030 = TFile::Open("QCDem2030/root/QCDem2030.root");
|
8 |
|
|
TFile *QCDem3080 = TFile::Open("QCDem3080/root/QCDem3080.root");
|
9 |
|
|
TFile *QCDem80170 = TFile::Open("QCDem80170/root/QCDem80170.root");
|
10 |
|
|
TFile *QCDbc2e2030 = TFile::Open("QCDbc2e2030/root/QCDbc2e2030.root");
|
11 |
|
|
TFile *QCDbc2e3080 = TFile::Open("QCDbc2e3080/root/QCDbc2e3080.root");
|
12 |
|
|
TFile *QCDbc2e80170 = TFile::Open("QCDbc2e80170/root/QCDbc2e80170.root");
|
13 |
|
|
TFile *GJ1520 = TFile::Open("GJ1520/root/GJ1520.root");
|
14 |
|
|
TFile *GJ2030 = TFile::Open("GJ2030/root/GJ2030.root");
|
15 |
|
|
TFile *GJ30 = TFile::Open("GJ30/root/GJ30.root");
|
16 |
|
|
TFile *Wenu = TFile::Open("Wenu/root/Wenu.root");
|
17 |
|
|
// TFile *MinBias = TFile::Open("MinBias/root/MinBias.root");
|
18 |
|
|
// TFile *QCD15 = TFile::Open("QCD15/root/QCD15.root");
|
19 |
|
|
|
20 |
|
|
// xsec * filter
|
21 |
|
|
double xsecQCDem2030 = 0.2355 * 0.0073 * 1000000000; // 1719150 pb
|
22 |
|
|
double xsecQCDem3080 = 0.0593 * 0.059 * 1000000000; // 3498700
|
23 |
|
|
double xsecQCDem80170 = 0.000906 * 0.148 * 1000000000; // 134088
|
24 |
|
|
double xsecQCDbc2e2030 = 0.2355 * 0.00046 * 1000000000;
|
25 |
|
|
double xsecQCDbc2e3080 = 0.0593 * 0.00234 * 1000000000;
|
26 |
|
|
double xsecQCDbc2e80170 = 0.000906 * 0.0104* 1000000000;
|
27 |
|
|
double xsecGJ1520 = 114700.0 * 1.;
|
28 |
|
|
double xsecGJ2030 = 57180.0 * 1.;
|
29 |
|
|
double xsecGJ30 = 20070.0 * 1.;
|
30 |
|
|
// double xsecWenu = 7899 * 0.779;
|
31 |
|
|
double xsecWenu = 9679.9 * 0.779;
|
32 |
|
|
// double xsecMinBias = 48.44 * 0.00074 * 1000000000;
|
33 |
|
|
// double xsecQCD15 = 8.762 * 1 * 100000000;
|
34 |
|
|
|
35 |
|
|
TH1I *histQCDem2030 = QCDem2030->Get("numberOfEvents");
|
36 |
|
|
TH1I *histQCDem3080 = QCDem3080->Get("numberOfEvents");
|
37 |
|
|
TH1I *histQCDem80170 = QCDem80170->Get("numberOfEvents");
|
38 |
|
|
TH1I *histQCDbc2e2030 = QCDbc2e2030->Get("numberOfEvents");
|
39 |
|
|
TH1I *histQCDbc2e3080 = QCDbc2e3080->Get("numberOfEvents");
|
40 |
|
|
TH1I *histQCDbc2e80170 = QCDbc2e80170->Get("numberOfEvents");
|
41 |
|
|
TH1I *histGJ1520 = GJ1520->Get("numberOfEvents");
|
42 |
|
|
TH1I *histGJ2030 = GJ2030->Get("numberOfEvents");
|
43 |
|
|
TH1I *histGJ30 = GJ30->Get("numberOfEvents");
|
44 |
|
|
TH1I *histWenu = Wenu->Get("numberOfEvents");
|
45 |
|
|
// TH1I *histMinBias = MinBias->Get("numberOfEvents");
|
46 |
|
|
// TH1I *histQCD15 = QCD15->Get("numberOfEvents");
|
47 |
|
|
|
48 |
|
|
// get the number of events
|
49 |
|
|
int numQCDem2030 = histQCDem2030->Integral();
|
50 |
|
|
int numQCDem3080 = histQCDem3080->Integral();
|
51 |
|
|
int numQCDem80170 = histQCDem80170->Integral();
|
52 |
|
|
int numQCDbc2e2030 = histQCDbc2e2030->Integral();
|
53 |
|
|
int numQCDbc2e3080 = histQCDbc2e3080->Integral();
|
54 |
|
|
int numQCDbc2e80170 = histQCDbc2e80170->Integral();
|
55 |
|
|
int numGJ1520 = histGJ1520->Integral();
|
56 |
|
|
int numGJ2030 = histGJ2030->Integral();
|
57 |
|
|
int numGJ30 = histGJ30->Integral();
|
58 |
|
|
int numWenu = histWenu->Integral();
|
59 |
|
|
// int numMinBias = histMinBias->Integral();
|
60 |
|
|
// int numQCD15 = histQCD15->Integral();
|
61 |
|
|
|
62 |
|
|
cout<<"have: "<<endl;
|
63 |
|
|
cout<<numQCDem2030<<endl;
|
64 |
|
|
cout<<numQCDem3080<<endl;
|
65 |
|
|
cout<<numQCDem80170<<endl;
|
66 |
|
|
cout<<numQCDbc2e2030<<endl;
|
67 |
|
|
cout<<numQCDbc2e3080<<endl;
|
68 |
|
|
cout<<numQCDbc2e80170<<endl;
|
69 |
|
|
cout<<numGJ1520<<endl;
|
70 |
|
|
cout<<numGJ2030<<endl;
|
71 |
|
|
cout<<numGJ30<<endl;
|
72 |
|
|
cout<<numWenu<<endl;
|
73 |
|
|
// cout<<numMinBias<<endl;
|
74 |
|
|
// cout<<numQCD15<<endl;
|
75 |
|
|
|
76 |
|
|
// calculate the normalization factor
|
77 |
|
|
double normQCDem2030 = lumi * xsecQCDem2030;
|
78 |
|
|
double normQCDem3080 = lumi * xsecQCDem3080;
|
79 |
|
|
double normQCDem80170 = lumi * xsecQCDem80170;
|
80 |
|
|
double normQCDbc2e2030 = lumi * xsecQCDbc2e2030;
|
81 |
|
|
double normQCDbc2e3080 = lumi * xsecQCDbc2e3080;
|
82 |
|
|
double normQCDbc2e80170 = lumi * xsecQCDbc2e80170;
|
83 |
|
|
double normGJ1520 = lumi * xsecGJ1520;
|
84 |
|
|
double normGJ2030 = lumi * xsecGJ2030;
|
85 |
|
|
double normGJ30 = lumi * xsecGJ30;
|
86 |
|
|
double normWenu = lumi * xsecWenu;
|
87 |
|
|
// double normMinBias = lumi * xsecMinBias;
|
88 |
|
|
// double normQCD15 = lumi * xsecQCD15;
|
89 |
|
|
|
90 |
|
|
cout<<"should have: "<<endl;
|
91 |
|
|
cout<<"QCD em:"<<endl;
|
92 |
|
|
cout<<normQCDem2030<<endl;
|
93 |
|
|
cout<<normQCDem3080<<endl;
|
94 |
|
|
cout<<normQCDem80170<<endl;
|
95 |
|
|
cout<<"QCD bc:"<<endl;
|
96 |
|
|
cout<<normQCDbc2e2030<<endl;
|
97 |
|
|
cout<<normQCDbc2e3080<<endl;
|
98 |
|
|
cout<<normQCDbc2e80170<<endl;
|
99 |
|
|
cout<<"Photen Jet:"<<endl;
|
100 |
|
|
cout<<normGJ1520<<endl;
|
101 |
|
|
cout<<normGJ2030<<endl;
|
102 |
|
|
cout<<normGJ30<<endl;
|
103 |
|
|
cout<<"Wenu:"<<endl;
|
104 |
|
|
cout<<normWenu<<endl;
|
105 |
|
|
// cout<<normMinBias<<endl;
|
106 |
|
|
// cout<<normQCD15<<endl;
|
107 |
|
|
|
108 |
|
|
|
109 |
|
|
double facQCDem2030 = normQCDem2030/numQCDem2030;
|
110 |
|
|
double facQCDem3080 = normQCDem3080/numQCDem3080;
|
111 |
|
|
double facQCDem80170 = normQCDem80170/numQCDem80170;
|
112 |
|
|
double facQCDbc2e2030 = normQCDbc2e2030/numQCDbc2e2030;
|
113 |
|
|
double facQCDbc2e3080 = normQCDbc2e3080/numQCDbc2e3080;
|
114 |
|
|
double facQCDbc2e80170 = normQCDbc2e80170/numQCDbc2e80170;
|
115 |
|
|
double facGJ1520 = normGJ1520/numGJ1520;
|
116 |
|
|
double facGJ2030 = normGJ2030/numGJ2030;
|
117 |
|
|
double facGJ30 = normGJ30/numGJ30;
|
118 |
|
|
double facWenu = normWenu/numWenu;
|
119 |
|
|
// double facMinBias = normMinBias/numMinBias;
|
120 |
|
|
// double facQCD15 = normQCD15/numQCD15;
|
121 |
|
|
|
122 |
|
|
cout<<"factor: "<<endl;
|
123 |
|
|
cout<<facQCDem2030<<endl;
|
124 |
|
|
cout<<facQCDem3080<<endl;
|
125 |
|
|
cout<<facQCDem80170<<endl;
|
126 |
|
|
cout<<facQCDbc2e2030<<endl;
|
127 |
|
|
cout<<facQCDbc2e3080<<endl;
|
128 |
|
|
cout<<facQCDbc2e80170<<endl;
|
129 |
|
|
cout<<facGJ1520<<endl;
|
130 |
|
|
cout<<facGJ2030<<endl;
|
131 |
|
|
cout<<facGJ30<<endl;
|
132 |
|
|
cout<<facWenu<<endl;
|
133 |
|
|
// cout<<facMinBias<<endl;
|
134 |
|
|
// cout<<facQCD15<<endl;
|
135 |
|
|
|
136 |
|
|
|
137 |
|
|
TFile *out=new TFile("bckgd.root","RECREATE");
|
138 |
|
|
|
139 |
|
|
// loop over all histos
|
140 |
|
|
TIter next (QCDem2030->GetListOfKeys ());
|
141 |
|
|
|
142 |
|
|
for (TKey* key = 0; (key = (TKey *) next());) {
|
143 |
|
|
TH1D *h_QCDem2030 = QCDem2030->Get(key->GetName());
|
144 |
|
|
TH1D *h_QCDem3080 = QCDem3080->Get(key->GetName());
|
145 |
|
|
TH1D *h_QCDem80170 = QCDem80170->Get(key->GetName());
|
146 |
|
|
TH1D *h_QCDbc2e2030 = QCDbc2e2030->Get(key->GetName());
|
147 |
|
|
TH1D *h_QCDbc2e3080 = QCDbc2e3080->Get(key->GetName());
|
148 |
|
|
TH1D *h_QCDbc2e80170 = QCDbc2e80170->Get(key->GetName());
|
149 |
|
|
TH1D *h_GJ1520 = GJ1520->Get(key->GetName());
|
150 |
|
|
TH1D *h_GJ2030 = GJ2030->Get(key->GetName());
|
151 |
|
|
TH1D *h_GJ30 = GJ30->Get(key->GetName());
|
152 |
|
|
TH1D *h_Wenu = Wenu->Get(key->GetName());
|
153 |
|
|
// TH1D *h_MinBias = MinBias->Get(key->GetName());
|
154 |
|
|
// TH1D *h_QCD15 = QCD15->Get(key->GetName());
|
155 |
|
|
|
156 |
|
|
// scale them
|
157 |
|
|
h_QCDem2030->Scale(facQCDem2030);
|
158 |
|
|
h_QCDem3080->Scale(facQCDem3080);
|
159 |
|
|
h_QCDem80170->Scale(facQCDem80170);
|
160 |
|
|
h_QCDbc2e2030->Scale(facQCDbc2e2030);
|
161 |
|
|
h_QCDbc2e3080->Scale(facQCDbc2e3080);
|
162 |
|
|
h_QCDbc2e80170->Scale(facQCDbc2e80170);
|
163 |
|
|
h_GJ1520->Scale(facGJ1520);
|
164 |
|
|
h_GJ2030->Scale(facGJ2030);
|
165 |
|
|
h_GJ30->Scale(facGJ30);
|
166 |
|
|
h_Wenu->Scale(facWenu);
|
167 |
|
|
// h_MinBias->Scale(facMinBias);
|
168 |
|
|
// h_QCD15->Scale(facQCD15);
|
169 |
|
|
|
170 |
|
|
//cout<<h_QCDem2030->Integral()<<endl;
|
171 |
|
|
|
172 |
|
|
// sum the background up
|
173 |
|
|
h_QCDem2030->Add(h_QCDem3080);
|
174 |
|
|
h_QCDem2030->Add(h_QCDem80170);
|
175 |
|
|
h_QCDem2030->Add(h_QCDbc2e2030);
|
176 |
|
|
h_QCDem2030->Add(h_QCDbc2e3080);
|
177 |
|
|
h_QCDem2030->Add(h_QCDbc2e80170);
|
178 |
|
|
h_QCDem2030->Add(h_GJ1520);
|
179 |
|
|
h_QCDem2030->Add(h_GJ2030);
|
180 |
|
|
h_QCDem2030->Add(h_GJ30);
|
181 |
|
|
//h_QCDem2030->Add(h_Wenu);
|
182 |
|
|
|
183 |
|
|
// h_QCDem2030->Add(h_MinBias);
|
184 |
|
|
// h_QCDem2030->Add(h_QCD15);
|
185 |
|
|
|
186 |
|
|
h_QCDem2030->Write();
|
187 |
|
|
|
188 |
|
|
|
189 |
|
|
|
190 |
|
|
} // loop over keys
|
191 |
|
|
|
192 |
|
|
|
193 |
|
|
QCDem2030->Close();
|
194 |
|
|
QCDem3080->Close();
|
195 |
|
|
QCDem80170->Close();
|
196 |
|
|
QCDbc2e2030->Close();
|
197 |
|
|
QCDbc2e3080->Close();
|
198 |
|
|
QCDbc2e80170->Close();
|
199 |
|
|
GJ1520->Close();
|
200 |
|
|
GJ2030->Close();
|
201 |
|
|
GJ30->Close();
|
202 |
|
|
Wenu->Close();
|
203 |
|
|
out->Close();
|
204 |
|
|
|
205 |
|
|
|
206 |
|
|
}
|