1 |
/*
|
2 |
* CrossSections.cpp
|
3 |
*
|
4 |
* Created on: 13 Aug 2010
|
5 |
* Author: kreczko
|
6 |
*/
|
7 |
|
8 |
#include "../interface/EventWeightProvider.h"
|
9 |
#include "TFile.h"
|
10 |
#include <boost/scoped_ptr.hpp>
|
11 |
#include <iostream>
|
12 |
|
13 |
namespace BAT {
|
14 |
|
15 |
boost::array<float, DataType::NUMBER_OF_DATA_TYPES> sevenTeV::getXSections() {
|
16 |
boost::array<float, DataType::NUMBER_OF_DATA_TYPES> xsection;
|
17 |
xsection[DataType::DATA] = 0;
|
18 |
xsection[DataType::ttbar] = 157.5;
|
19 |
xsection[DataType::ttjets] = 157.5;
|
20 |
|
21 |
xsection[DataType::Zjets] = 3048.;
|
22 |
// From twiki.cern.ch/twiki/bin/view/CMS/CrossSectionDetails
|
23 |
// For DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola
|
24 |
|
25 |
xsection[DataType::Wjets] = 31314.;
|
26 |
// From twiki.cern.ch/twiki/bin/view/CMS/CrossSectionDetails
|
27 |
// for WJetsToLNu_TuneZ2_7TeV-madgraph-tauola
|
28 |
|
29 |
// xsection[DataType::Wjets] = 24640.;
|
30 |
xsection[DataType::WToENu] = 7899.;
|
31 |
|
32 |
xsection[DataType::QCD_Flat_15to3000] = 2.213e5; // Fake number
|
33 |
// xsection[DataType::QCD_Flat_15to3000] = 2.213e10; // Too big
|
34 |
// Need per-event weighting
|
35 |
// From twiki.cern.ch/twiki/bin/view/CMS/ProductionSummer2011
|
36 |
// for QCD_Pt-15to3000_TuneZ2_Flat_7TeV_pythia6
|
37 |
|
38 |
xsection[DataType::QCD_EMEnriched_Pt20to30] = 0.2355e9 * 0.0073;//xs 0.2355 mb (filter efficiency=0.0073)
|
39 |
xsection[DataType::QCD_EMEnriched_Pt30to80] = 0.0593e9 * 0.059; //xs 0.0593 mb
|
40 |
// xsection[DataType::QCD_EMEnriched_Pt80to170] = 0.906e6 * 0.148; //xs 0.906e-3 mb, total 134088 pb
|
41 |
xsection[DataType::QCD_EMEnriched_Pt80to170] = 139500; // From twiki.cern.ch/twiki/bin/view/CMS/CrossSectionDetails
|
42 |
|
43 |
xsection[DataType::QCD_MuEnriched_Pt20Pt15] = 84680; // From twiki.cern.ch/twiki/bin/view/CMS/CrossSectionDetails
|
44 |
|
45 |
xsection[DataType::QCD_BCtoE_Pt20to30] = 0.2355e9 * 0.00046; //xs 0.2355 mb (filter efficiency=0.00046)
|
46 |
// xsection[DataType::QCD_BCtoE_Pt30to80] = 0.0593e9 * 0.00234; //xs 0.0593 mb, total 138762 pb
|
47 |
xsection[DataType::QCD_BCtoE_Pt30to80] = 136800; // From twiki.cern.ch/twiki/bin/view/CMS/CrossSectionDetails
|
48 |
// xsection[DataType::QCD_BCtoE_Pt80to170] = 0.906e6 * 0.0104; //xs 0.906e-3 mb, total 9422 pb
|
49 |
xsection[DataType::QCD_BCtoE_Pt80to170] = 9360; // From twiki.cern.ch/twiki/bin/view/CMS/CrossSectionDetails
|
50 |
|
51 |
xsection[DataType::PhotonJets_Pt40to100] = 23620.; //pb
|
52 |
xsection[DataType::PhotonJets_Pt100to200] = 3476.; //pb
|
53 |
xsection[DataType::PhotonJets_Pt200toInf] = 485.; //pb
|
54 |
|
55 |
xsection[DataType::WWtoAnything] = 43.; //pb
|
56 |
xsection[DataType::WZtoAnything] = 18.; //pb
|
57 |
xsection[DataType::ZZtoAnything] = 5.9; //pb
|
58 |
|
59 |
xsection[DataType::singleTop_And_W] = 10.6; //xs 11 pb (NLO MCFM) inclusive t,W decay
|
60 |
xsection[DataType::singleTopTChannel] = 21.53;
|
61 |
xsection[DataType::singleTopSChannel] = 1.40; //=4.21/3 15Jul
|
62 |
|
63 |
xsection[DataType::VQQ] = 36.;
|
64 |
xsection[DataType::Zprime_M500GeV_W5GeV] = 50;
|
65 |
xsection[DataType::Zprime_M500GeV_W50GeV] = 50;
|
66 |
xsection[DataType::Zprime_M750GeV_W7500MeV] = 50;
|
67 |
xsection[DataType::Zprime_M1TeV_W10GeV] = 50;
|
68 |
xsection[DataType::Zprime_M1TeV_W100GeV] = 50;
|
69 |
xsection[DataType::Zprime_M1250GeV_W12500MeV] = 50;
|
70 |
xsection[DataType::Zprime_M1500GeV_W15GeV] = 50;
|
71 |
xsection[DataType::Zprime_M1500GeV_W150GeV] = 50;
|
72 |
xsection[DataType::Zprime_M2TeV_W20GeV] = 50;
|
73 |
xsection[DataType::Zprime_M2TeV_W200GeV] = 50;
|
74 |
xsection[DataType::Zprime_M3TeV_W30GeV] = 50;
|
75 |
xsection[DataType::Zprime_M3TeV_W300GeV] = 50;
|
76 |
xsection[DataType::Zprime_M4TeV_W40GeV] = 50;
|
77 |
xsection[DataType::Zprime_M4TeV_W400GeV] = 50;
|
78 |
xsection[DataType::WprimeTToTTD_M400] = 32;
|
79 |
xsection[DataType::WprimeTToTTD_M600] = 8;
|
80 |
xsection[DataType::WprimeTToTTD_M800] = 2.2;
|
81 |
xsection[DataType::WprimeTToTTD_M1000] = 0.72;
|
82 |
xsection[DataType::WprimeToTBbar_M1000] = 8;
|
83 |
return xsection;
|
84 |
}
|
85 |
|
86 |
EventWeightProvider::EventWeightProvider(float lumiInInversePb, unsigned short tev, std::string pileUpEstimationFile) :
|
87 |
lumiInInversePb(lumiInInversePb),
|
88 |
tev(tev),
|
89 |
useSkimEff(true),
|
90 |
xsection(),
|
91 |
estimatedPileUp(getPileUpHistogram(pileUpEstimationFile)),
|
92 |
pileUpWeights(),
|
93 |
numberOfEventsWithTooHighPileUp(0),
|
94 |
numberOfProcessedEvents(),
|
95 |
numberOfPattplSkimEvents(),
|
96 |
numberOfNtplSkimEvents(),
|
97 |
numberOfElectronSkimEvents(),
|
98 |
numberOfMuonSkimEvents()
|
99 |
{
|
100 |
generate_flat10_weights();
|
101 |
if (tev == 7)
|
102 |
xsection = sevenTeV::getXSections();
|
103 |
defineNumberOfProducedEvents();
|
104 |
// defineNumberOfSkimmedEvents();
|
105 |
}
|
106 |
|
107 |
void EventWeightProvider::defineNumberOfProducedEvents() {
|
108 |
numberOfProcessedEvents[DataType::DATA] = 0;
|
109 |
|
110 |
|
111 |
/*
|
112 |
numberOfProcessedEvents[DataType::ttjets] = 3688248; // V8 PATtuple
|
113 |
numberOfPattplSkimEvents[DataType::ttjets] = 3683795; // V8 PATtuple
|
114 |
numberOfNtplSkimEvents[DataType::ttjets] = 1173710; // V8 PATtuple
|
115 |
numberOfElectronSkimEvents[DataType::ttjets] = 727781; // V8 PATtuple
|
116 |
numberOfMuonSkimEvents[DataType::ttjets] = 510117; // V8 PATtuple
|
117 |
*/
|
118 |
// PATtuple /TTJets_TuneZ2_7TeV-madgraph-tauola/srappocc-ttbsm_v8_Summer11-PU_S4_START42_V11-v1-5c91b0700768331a44f51c8a9892d391/USER
|
119 |
|
120 |
numberOfProcessedEvents[DataType::ttjets] = 3701947 ; // V9 PATtuple
|
121 |
numberOfPattplSkimEvents[DataType::ttjets] = 3697476; // V9 PATtuple
|
122 |
numberOfNtplSkimEvents[DataType::ttjets] = 1348512; // V9 PATtuple
|
123 |
numberOfElectronSkimEvents[DataType::ttjets] = 730452; // V9 PATtuple
|
124 |
numberOfMuonSkimEvents[DataType::ttjets] = 716210; // V9 PATtuple
|
125 |
// PATtuple /TTJets_TuneZ2_7TeV-madgraph-tauola/srappocc-ttbsm_v9_Summer11-PU_S4_START42_V11-v1-bf57a985b107a689982b667a3f2f23c7/USER
|
126 |
|
127 |
/*
|
128 |
// numberOfProcessedEvents[DataType::ttjets] = 3701947; // v2 AOD ntuple original dataset number
|
129 |
numberOfProcessedEvents[DataType::ttjets] = 3664929; // v2 AOD ntuple, two jobs failed
|
130 |
numberOfPattplSkimEvents[DataType::ttjets] = 3664929; // v2 AOD ntuple
|
131 |
numberOfNtplSkimEvents[DataType::ttjets] = 1687141; // v2 AOD ntuple
|
132 |
numberOfElectronSkimEvents[DataType::ttjets] = 1123778; // v2 AOD ntuple
|
133 |
numberOfMuonSkimEvents[DataType::ttjets] = 738210; // v2 AOD ntuple
|
134 |
*/
|
135 |
|
136 |
// numberOfProcessedEvents[DataType::ttjets] = 3652589; // TTJets_TuneZ2_7TeV-madgraph-tauola_Summer11-PU_S4_START42_V11-v2_AODSIM_CMSSW_4_2_4_Ov3.5 04/08/2011
|
137 |
// numberOfNtplSkimEvents[DataType::ttjets] = 1696252; // Previous ntuple collection
|
138 |
// numberOfElectronSkimEvents[DataType::ttjets] = 1129134;
|
139 |
// numberOfMuonSkimEvents[DataType::ttjets] = 742786;
|
140 |
|
141 |
// numberOfProcessedEvents[DataType::ttbar] = 3570035;
|
142 |
numberOfProcessedEvents[DataType::ttbar] = 1089625; // TT_TuneZ2_7TeV-pythia6-tauola_Summer11-PU_S3_START42_V11-v2_AODSIM. Checked 21/07/11
|
143 |
// numberOfProcessedEvents[DataType::Zjets] = 34016401;
|
144 |
numberOfProcessedEvents[DataType::Zjets] = 32512091;
|
145 |
numberOfPattplSkimEvents[DataType::Zjets] = 32475188;
|
146 |
numberOfNtplSkimEvents[DataType::Zjets] = 15161964;
|
147 |
numberOfElectronSkimEvents[DataType::Zjets] = 7503990;
|
148 |
numberOfMuonSkimEvents[DataType::Zjets] = 7680017;
|
149 |
// Previous values before LoosePFlow
|
150 |
// numberOfNtplSkimEvents[DataType::Zjets] = 16354092;
|
151 |
// numberOfElectronSkimEvents[DataType::Zjets] = 8390919;
|
152 |
// numberOfMuonSkimEvents[DataType::Zjets] = 8056270;
|
153 |
// PATtuple V8 /DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/skhalil-ttbsm_v8_Summer11-PU_S4_START42_V11-v1-87037ef7c828ea57e128f1ace23a632e/USER
|
154 |
|
155 |
// numberOfProcessedEvents[DataType::Wjets] = 54895290; // Old AOD dataset
|
156 |
// numberOfNtplSkimEvents[DataType::Wjets] = 17166386; // previous
|
157 |
// numberOfElectronSkimEvents[DataType::Wjets] = 8630776; // previous
|
158 |
// numberOfMuonSkimEvents[DataType::Wjets] = 8587398; // previous
|
159 |
|
160 |
// numberOfProcessedEvents[DataType::Wjets] = 49484941;
|
161 |
// numberOfPattplSkimEvents[DataType::Wjets] = 49335978;
|
162 |
// numberOfNtplSkimEvents[DataType::Wjets] = 15175745;
|
163 |
// numberOfElectronSkimEvents[DataType::Wjets] = 7365443;
|
164 |
// numberOfMuonSkimEvents[DataType::Wjets] = 7817858;
|
165 |
// PATtuple V8 /WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/srappocc-ttbsm_v8_Summer11-PU_S4_START42_V11-v1-87037ef7c828ea57e128f1ace23a632e/USER
|
166 |
numberOfProcessedEvents[DataType::Wjets] = 77105816;
|
167 |
numberOfPattplSkimEvents[DataType::Wjets] = 76978604;
|
168 |
numberOfNtplSkimEvents[DataType::Wjets] = 24580667;
|
169 |
numberOfElectronSkimEvents[DataType::Wjets] = 11449725;
|
170 |
numberOfMuonSkimEvents[DataType::Wjets] = 13144761;
|
171 |
// PATtuple V9 /WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/dstrom-prod_2011_10_05_17_14_11-bf57a985b107a689982b667a3f2f23c7/USER
|
172 |
|
173 |
numberOfProcessedEvents[DataType::WToENu] = 5334220; // Checked 21/07/11
|
174 |
numberOfPattplSkimEvents[DataType::WToENu] = 5334220;
|
175 |
numberOfNtplSkimEvents[DataType::WToENu] = 2662025;
|
176 |
numberOfElectronSkimEvents[DataType::WToENu] = 2662025;
|
177 |
numberOfMuonSkimEvents[DataType::WToENu] = 0;
|
178 |
|
179 |
numberOfProcessedEvents[DataType::QCD_Flat_15to3000] = 10960800;
|
180 |
// numberOfPattplSkimEvents[DataType::QCD_Flat_15to3000] = 10929635; // According to PATtple twiki
|
181 |
numberOfPattplSkimEvents[DataType::QCD_Flat_15to3000] = 10751721; // Actual received
|
182 |
numberOfNtplSkimEvents[DataType::QCD_Flat_15to3000] = 163974;
|
183 |
numberOfElectronSkimEvents[DataType::QCD_Flat_15to3000] = 163906;
|
184 |
numberOfMuonSkimEvents[DataType::QCD_Flat_15to3000] = 70;
|
185 |
// Previous values before LoosePFlow
|
186 |
// numberOfNtplSkimEvents[DataType::QCD_Flat_15to3000] = 1010202;
|
187 |
// numberOfElectronSkimEvents[DataType::QCD_Flat_15to3000] = 775300;
|
188 |
// numberOfMuonSkimEvents[DataType::QCD_Flat_15to3000] = 256834;
|
189 |
// PATtuple V8 /QCD_Pt-15to3000_TuneZ2_Flat_7TeV_pythia6/srappocc-ttbsm_v8_Summer11-PU_S3_-START42_V11-v2-d870fa9b0dd695e8eb649b7e725d070f/USER
|
190 |
numberOfProcessedEvents[DataType::QCD_EMEnriched_Pt20to30] = 22529376;
|
191 |
numberOfProcessedEvents[DataType::QCD_EMEnriched_Pt30to80] = 36409308;
|
192 |
|
193 |
numberOfProcessedEvents[DataType::QCD_EMEnriched_Pt80to170] = 8150672;
|
194 |
numberOfPattplSkimEvents[DataType::QCD_EMEnriched_Pt80to170] = 5078282; // Actual received
|
195 |
numberOfNtplSkimEvents[DataType::QCD_EMEnriched_Pt80to170] = 123843;
|
196 |
numberOfElectronSkimEvents[DataType::QCD_EMEnriched_Pt80to170] = 123744;
|
197 |
numberOfMuonSkimEvents[DataType::QCD_EMEnriched_Pt80to170] = 101;
|
198 |
|
199 |
numberOfProcessedEvents[DataType::QCD_BCtoE_Pt20to30] = 2081560; // Checked 21/07/11
|
200 |
|
201 |
numberOfProcessedEvents[DataType::QCD_BCtoE_Pt30to80] = 2030033; // Checked 19/08/11
|
202 |
numberOfPattplSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 2004505; // Actual received
|
203 |
numberOfNtplSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 98332;
|
204 |
numberOfElectronSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 98318;
|
205 |
numberOfMuonSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 17;
|
206 |
|
207 |
numberOfProcessedEvents[DataType::QCD_BCtoE_Pt80to170] = 1082691; // Checked 19/08/11
|
208 |
numberOfPattplSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 362356; // Actual received
|
209 |
numberOfNtplSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 63109;
|
210 |
numberOfElectronSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 63092;
|
211 |
numberOfMuonSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 22;
|
212 |
|
213 |
numberOfProcessedEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 24324525; // Number missing, just use received
|
214 |
numberOfPattplSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 24324525; // Actual received
|
215 |
numberOfNtplSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 2711630;
|
216 |
numberOfElectronSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 80370;
|
217 |
numberOfMuonSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 2650602;
|
218 |
|
219 |
numberOfProcessedEvents[DataType::PhotonJets_Pt40to100] = 2217101;
|
220 |
numberOfProcessedEvents[DataType::PhotonJets_Pt100to200] = 1065691;
|
221 |
numberOfProcessedEvents[DataType::PhotonJets_Pt200toInf] = 1079950;
|
222 |
|
223 |
numberOfProcessedEvents[DataType::WWtoAnything] = 2039440;
|
224 |
numberOfProcessedEvents[DataType::WZtoAnything] = 2085696;
|
225 |
numberOfProcessedEvents[DataType::ZZtoAnything] = 2108608;
|
226 |
|
227 |
numberOfProcessedEvents[DataType::singleTop_And_W] = 489417;
|
228 |
numberOfProcessedEvents[DataType::singleTopTChannel] = 484060;
|
229 |
numberOfProcessedEvents[DataType::singleTopSChannel] = 494967;
|
230 |
numberOfProcessedEvents[DataType::VQQ] = 720613;
|
231 |
numberOfProcessedEvents[DataType::Zprime_M500GeV_W5GeV] = 227068;
|
232 |
numberOfProcessedEvents[DataType::Zprime_M500GeV_W50GeV] = 238963;
|
233 |
numberOfProcessedEvents[DataType::Zprime_M750GeV_W7500MeV] = 204819;
|
234 |
numberOfProcessedEvents[DataType::Zprime_M1TeV_W10GeV] = 213384;
|
235 |
numberOfProcessedEvents[DataType::Zprime_M1TeV_W100GeV] = 200387;
|
236 |
numberOfProcessedEvents[DataType::Zprime_M1250GeV_W12500MeV] = 233361;
|
237 |
numberOfProcessedEvents[DataType::Zprime_M1500GeV_W15GeV] = 193779;
|
238 |
numberOfProcessedEvents[DataType::Zprime_M1500GeV_W150GeV] = 199121;
|
239 |
numberOfProcessedEvents[DataType::Zprime_M2TeV_W20GeV] = 238752;
|
240 |
numberOfProcessedEvents[DataType::Zprime_M2TeV_W200GeV] = 213363;
|
241 |
numberOfProcessedEvents[DataType::Zprime_M3TeV_W30GeV] = 205270;
|
242 |
numberOfProcessedEvents[DataType::Zprime_M3TeV_W300GeV] = 229034;
|
243 |
numberOfProcessedEvents[DataType::Zprime_M4TeV_W40GeV] = 183920;
|
244 |
numberOfProcessedEvents[DataType::Zprime_M4TeV_W400GeV] = 238142;
|
245 |
|
246 |
numberOfProcessedEvents[DataType::WprimeTToTTD_M400] = 96990; // V9
|
247 |
numberOfPattplSkimEvents[DataType::WprimeTToTTD_M400] = 96698;
|
248 |
numberOfNtplSkimEvents[DataType::WprimeTToTTD_M400] = 37674;
|
249 |
numberOfElectronSkimEvents[DataType::WprimeTToTTD_M400] = 21097;
|
250 |
numberOfMuonSkimEvents[DataType::WprimeTToTTD_M400] = 19681;
|
251 |
|
252 |
// numberOfProcessedEvents[DataType::WprimeTToTTD_M600] = 96500; // Muonless generation
|
253 |
// numberOfPattplSkimEvents[DataType::WprimeTToTTD_M600] = 34552; // After generator filter
|
254 |
// numberOfNtplSkimEvents[DataType::WprimeTToTTD_M600] = 25535;
|
255 |
// numberOfElectronSkimEvents[DataType::WprimeTToTTD_M600] = 22774;
|
256 |
// numberOfMuonSkimEvents[DataType::WprimeTToTTD_M600] = 7012;
|
257 |
|
258 |
numberOfProcessedEvents[DataType::WprimeTToTTD_M600] = 86991; // With muons
|
259 |
numberOfPattplSkimEvents[DataType::WprimeTToTTD_M600] = 86601;
|
260 |
numberOfElectronSkimEvents[DataType::WprimeTToTTD_M600] = 19580;
|
261 |
numberOfNtplSkimEvents[DataType::WprimeTToTTD_M600] = 29439; // V8 prescription
|
262 |
numberOfMuonSkimEvents[DataType::WprimeTToTTD_M600] = 11656; // V8
|
263 |
// numberOfNtplSkimEvents[DataType::WprimeTToTTD_M600] = 35447;// V9
|
264 |
// numberOfMuonSkimEvents[DataType::WprimeTToTTD_M600] = 19127; // V9
|
265 |
|
266 |
numberOfProcessedEvents[DataType::WprimeTToTTD_M800] = 84993;
|
267 |
numberOfPattplSkimEvents[DataType::WprimeTToTTD_M800] = 84416;
|
268 |
numberOfNtplSkimEvents[DataType::WprimeTToTTD_M800] = 29269; // V8
|
269 |
numberOfMuonSkimEvents[DataType::WprimeTToTTD_M800] = 11363;
|
270 |
// numberOfNtplSkimEvents[DataType::WprimeTToTTD_M800] = 35916; // V9
|
271 |
// numberOfMuonSkimEvents[DataType::WprimeTToTTD_M800] = 19677; // V9
|
272 |
numberOfElectronSkimEvents[DataType::WprimeTToTTD_M800] = 19619;
|
273 |
|
274 |
// numberOfProcessedEvents[DataType::WprimeTToTTD_M1000] = 93000; // From Khristian's e-mail, muonless generation
|
275 |
// numberOfPattplSkimEvents[DataType::WprimeTToTTD_M1000] = 35600; // After generator filter
|
276 |
// numberOfNtplSkimEvents[DataType::WprimeTToTTD_M1000] = 26563;
|
277 |
// numberOfElectronSkimEvents[DataType::WprimeTToTTD_M1000] = 23025;
|
278 |
// numberOfMuonSkimEvents[DataType::WprimeTToTTD_M1000] = 8849;
|
279 |
numberOfProcessedEvents[DataType::WprimeTToTTD_M1000] = 94996; // With muons
|
280 |
numberOfPattplSkimEvents[DataType::WprimeTToTTD_M1000] = 94145;
|
281 |
numberOfElectronSkimEvents[DataType::WprimeTToTTD_M1000] = 21854;
|
282 |
// numberOfNtplSkimEvents[DataType::WprimeTToTTD_M1000] = 40756; // V9
|
283 |
// numberOfMuonSkimEvents[DataType::WprimeTToTTD_M1000] = 22898; // V9
|
284 |
numberOfNtplSkimEvents[DataType::WprimeTToTTD_M1000] = 32039; // V8
|
285 |
numberOfMuonSkimEvents[DataType::WprimeTToTTD_M1000] = 12054; // V8
|
286 |
|
287 |
numberOfProcessedEvents[DataType::WprimeToTBbar_M1000] = 110000; // Checked 21/07/11
|
288 |
}
|
289 |
|
290 |
EventWeightProvider::~EventWeightProvider() {
|
291 |
|
292 |
}
|
293 |
|
294 |
double EventWeightProvider::getWeight(DataType::value type) {
|
295 |
if (type == DataType::DATA)
|
296 |
return 1.;
|
297 |
else
|
298 |
return xsection[type] * lumiInInversePb / numberOfProcessedEvents[type];
|
299 |
}
|
300 |
|
301 |
float EventWeightProvider::reweightPileUp(unsigned int numberOfVertices){
|
302 |
if(numberOfVertices >= pileUpWeights.size()){
|
303 |
++numberOfEventsWithTooHighPileUp;
|
304 |
return 0.;
|
305 |
}
|
306 |
|
307 |
return pileUpWeights.at(numberOfVertices);
|
308 |
}
|
309 |
|
310 |
boost::shared_ptr<TH1D> EventWeightProvider::getPileUpHistogram(std::string pileUpEstimationFile){
|
311 |
std::cout << "Using pile-up estimation file " << pileUpEstimationFile << std::endl;
|
312 |
boost::scoped_ptr<TFile> file(TFile::Open(pileUpEstimationFile.c_str()));
|
313 |
boost::shared_ptr<TH1D> pileUp((TH1D*) file->Get("pileup")->Clone());
|
314 |
file->Close();
|
315 |
return pileUp;
|
316 |
}
|
317 |
|
318 |
void EventWeightProvider::generate_flat10_weights(){
|
319 |
// see SimGeneral/MixingModule/python/mix_E7TeV_FlatDist10_2011EarlyData_inTimeOnly_cfi.py; copy and paste from there:
|
320 |
const boost::array<double, 25> npu_probs = {{0.0698146584, 0.0698146584, 0.0698146584,0.0698146584,0.0698146584,0.0698146584,0.0698146584,0.0698146584,0.0698146584,0.0698146584,0.0698146584 /* <-- 10*/,
|
321 |
0.0630151648,0.0526654164,0.0402754482,0.0292988928,0.0194384503,0.0122016783,0.007207042,0.004003637,0.0020278322,
|
322 |
0.0010739954,0.0004595759,0.0002229748,0.0001028162,4.58337152809607E-05 /* <-- 24 */}};
|
323 |
double s = 0.0;
|
324 |
for (unsigned int npu = 0; npu < npu_probs.size(); ++npu) {
|
325 |
double npu_estimated = estimatedPileUp->GetBinContent(estimatedPileUp->GetXaxis()->FindBin(npu));
|
326 |
pileUpWeights[npu] = npu_estimated / npu_probs[npu];
|
327 |
s += npu_estimated;
|
328 |
}
|
329 |
// normalize weights such that the total sum of weights over thw whole sample is 1.0, i.e., sum_i result[i] * npu_probs[i] should be 1.0 (!)
|
330 |
for (unsigned int npu = 0; npu < pileUpWeights.size(); ++npu) {
|
331 |
pileUpWeights[npu] /= s;
|
332 |
}
|
333 |
}
|
334 |
|
335 |
unsigned long EventWeightProvider::getNumberOfEventsWithTooHighPileUp() const{
|
336 |
return numberOfEventsWithTooHighPileUp;
|
337 |
}
|
338 |
|
339 |
} // namespace BAT
|