ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/rootEWKanalyzer/normalizeMC.C
Revision: 1.1
Committed: Mon Jun 7 14:57:40 2010 UTC (14 years, 10 months ago) by jueugste
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Log Message:
first commit

File Contents

# User Rev Content
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     }