ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/dhidas/OSUAnalysis/Tools/src/EventWeightProvider.cpp
Revision: 1.1.1.1 (vendor branch)
Committed: Thu Dec 1 16:28:48 2011 UTC (13 years, 5 months ago) by dhidas
Branch: dhidas
CVS Tags: START
Changes since 1.1: +0 -0 lines
Log Message:
osu copy modified

File Contents

# Content
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