ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/dhidas/OSUAnalysis/Tools/src/EventWeightProvider.cpp
Revision: 1.3
Committed: Sun Dec 18 16:37:29 2011 UTC (13 years, 4 months ago) by clseitz
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +35 -71 lines
Error occurred while calculating annotation data.
Log Message:
general update

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
79 //cross section S-channel only
80
81 //xsection[DataType::WprimeTToTTD_M600] = 8;
82 // xsection[DataType::WprimeTToTTD_M800] = 2.2;
83 //xsection[DataType::WprimeTToTTD_M1000] = 0.72;
84 xsection[DataType::WprimeToTBbar_M1000] = 8;
85
86 xsection[DataType::WprimeTToTTD_M400] = 70.3;
87 xsection[DataType::WprimeTToTTD_M600] = 18.2;
88 xsection[DataType::WprimeTToTTD_M800] = 6.5;
89 xsection[DataType::WprimeTToTTD_M1000] = 2.8;
90 xsection[DataType::WprimeTToTTD_M1200] = 1.4;
91
92
93 xsection[DataType::WprimeTToTTD_M1000] = 0.72;
94
95 return xsection;
96 }
97
98 EventWeightProvider::EventWeightProvider(float lumiInInversePb, unsigned short tev, std::string pileUpEstimationFile) :
99 lumiInInversePb(lumiInInversePb),
100 tev(tev),
101 useSkimEff(true),
102 xsection(),
103 estimatedPileUp(getPileUpHistogram(pileUpEstimationFile)),
104 pileUpWeights(),
105 numberOfEventsWithTooHighPileUp(0),
106 numberOfProcessedEvents(),
107 numberOfPattplSkimEvents(),
108 numberOfNtplSkimEvents(),
109 numberOfElectronSkimEvents(),
110 numberOfMuonSkimEvents()
111 {
112 generate_flat10_weights();
113 if (tev == 7)
114 xsection = sevenTeV::getXSections();
115 defineNumberOfProducedEvents();
116 // defineNumberOfSkimmedEvents();
117 }
118
119 void EventWeightProvider::defineNumberOfProducedEvents() {
120 numberOfProcessedEvents[DataType::DATA] = 0;
121
122
123 /*
124 numberOfProcessedEvents[DataType::ttjets] = 3688248; // V8 PATtuple
125 numberOfPattplSkimEvents[DataType::ttjets] = 3683795; // V8 PATtuple
126 numberOfNtplSkimEvents[DataType::ttjets] = 1173710; // V8 PATtuple
127 numberOfElectronSkimEvents[DataType::ttjets] = 727781; // V8 PATtuple
128 numberOfMuonSkimEvents[DataType::ttjets] = 510117; // V8 PATtuple
129 */
130 // PATtuple /TTJets_TuneZ2_7TeV-madgraph-tauola/srappocc-ttbsm_v8_Summer11-PU_S4_START42_V11-v1-5c91b0700768331a44f51c8a9892d391/USER
131
132 numberOfProcessedEvents[DataType::ttjets] = 3701947 ; // V9 PATtuple
133 numberOfPattplSkimEvents[DataType::ttjets] = 3697476; // V9 PATtuple
134 numberOfNtplSkimEvents[DataType::ttjets] = 1348512; // V9 PATtuple
135 numberOfElectronSkimEvents[DataType::ttjets] = 730452; // V9 PATtuple
136 numberOfMuonSkimEvents[DataType::ttjets] = 716210; // V9 PATtuple
137 // PATtuple /TTJets_TuneZ2_7TeV-madgraph-tauola/srappocc-ttbsm_v9_Summer11-PU_S4_START42_V11-v1-bf57a985b107a689982b667a3f2f23c7/USER
138
139 /*
140 // numberOfProcessedEvents[DataType::ttjets] = 3701947; // v2 AOD ntuple original dataset number
141 numberOfProcessedEvents[DataType::ttjets] = 3664929; // v2 AOD ntuple, two jobs failed
142 numberOfPattplSkimEvents[DataType::ttjets] = 3664929; // v2 AOD ntuple
143 numberOfNtplSkimEvents[DataType::ttjets] = 1687141; // v2 AOD ntuple
144 numberOfElectronSkimEvents[DataType::ttjets] = 1123778; // v2 AOD ntuple
145 numberOfMuonSkimEvents[DataType::ttjets] = 738210; // v2 AOD ntuple
146 */
147
148 // 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
149 // numberOfNtplSkimEvents[DataType::ttjets] = 1696252; // Previous ntuple collection
150 // numberOfElectronSkimEvents[DataType::ttjets] = 1129134;
151 // numberOfMuonSkimEvents[DataType::ttjets] = 742786;
152
153 // numberOfProcessedEvents[DataType::ttbar] = 3570035;
154 numberOfProcessedEvents[DataType::ttbar] = 1089625; // TT_TuneZ2_7TeV-pythia6-tauola_Summer11-PU_S3_START42_V11-v2_AODSIM. Checked 21/07/11
155 // numberOfProcessedEvents[DataType::Zjets] = 34016401;
156 numberOfProcessedEvents[DataType::Zjets] = 32512091;
157 numberOfPattplSkimEvents[DataType::Zjets] = 32475188;
158 numberOfNtplSkimEvents[DataType::Zjets] = 15161964;
159 numberOfElectronSkimEvents[DataType::Zjets] = 7503990;
160 numberOfMuonSkimEvents[DataType::Zjets] = 7680017;
161 // Previous values before LoosePFlow
162 // numberOfNtplSkimEvents[DataType::Zjets] = 16354092;
163 // numberOfElectronSkimEvents[DataType::Zjets] = 8390919;
164 // numberOfMuonSkimEvents[DataType::Zjets] = 8056270;
165 // PATtuple V8 /DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/skhalil-ttbsm_v8_Summer11-PU_S4_START42_V11-v1-87037ef7c828ea57e128f1ace23a632e/USER
166
167 // numberOfProcessedEvents[DataType::Wjets] = 54895290; // Old AOD dataset
168 // numberOfNtplSkimEvents[DataType::Wjets] = 17166386; // previous
169 // numberOfElectronSkimEvents[DataType::Wjets] = 8630776; // previous
170 // numberOfMuonSkimEvents[DataType::Wjets] = 8587398; // previous
171
172 // numberOfProcessedEvents[DataType::Wjets] = 49484941;
173 // numberOfPattplSkimEvents[DataType::Wjets] = 49335978;
174 // numberOfNtplSkimEvents[DataType::Wjets] = 15175745;
175 // numberOfElectronSkimEvents[DataType::Wjets] = 7365443;
176 // numberOfMuonSkimEvents[DataType::Wjets] = 7817858;
177 // PATtuple V8 /WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/srappocc-ttbsm_v8_Summer11-PU_S4_START42_V11-v1-87037ef7c828ea57e128f1ace23a632e/USER
178 numberOfProcessedEvents[DataType::Wjets] = 77105816;
179 numberOfPattplSkimEvents[DataType::Wjets] = 76978604;
180 numberOfNtplSkimEvents[DataType::Wjets] = 24580667;
181 numberOfElectronSkimEvents[DataType::Wjets] = 11449725;
182 numberOfMuonSkimEvents[DataType::Wjets] = 13144761;
183 // PATtuple V9 /WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/dstrom-prod_2011_10_05_17_14_11-bf57a985b107a689982b667a3f2f23c7/USER
184
185 numberOfProcessedEvents[DataType::WToENu] = 5334220; // Checked 21/07/11
186 numberOfPattplSkimEvents[DataType::WToENu] = 5334220;
187 numberOfNtplSkimEvents[DataType::WToENu] = 2662025;
188 numberOfElectronSkimEvents[DataType::WToENu] = 2662025;
189 numberOfMuonSkimEvents[DataType::WToENu] = 0;
190
191 numberOfProcessedEvents[DataType::QCD_Flat_15to3000] = 10960800;
192 // numberOfPattplSkimEvents[DataType::QCD_Flat_15to3000] = 10929635; // According to PATtple twiki
193 numberOfPattplSkimEvents[DataType::QCD_Flat_15to3000] = 10751721; // Actual received
194 numberOfNtplSkimEvents[DataType::QCD_Flat_15to3000] = 163974;
195 numberOfElectronSkimEvents[DataType::QCD_Flat_15to3000] = 163906;
196 numberOfMuonSkimEvents[DataType::QCD_Flat_15to3000] = 70;
197 // Previous values before LoosePFlow
198 // numberOfNtplSkimEvents[DataType::QCD_Flat_15to3000] = 1010202;
199 // numberOfElectronSkimEvents[DataType::QCD_Flat_15to3000] = 775300;
200 // numberOfMuonSkimEvents[DataType::QCD_Flat_15to3000] = 256834;
201 // PATtuple V8 /QCD_Pt-15to3000_TuneZ2_Flat_7TeV_pythia6/srappocc-ttbsm_v8_Summer11-PU_S3_-START42_V11-v2-d870fa9b0dd695e8eb649b7e725d070f/USER
202 numberOfProcessedEvents[DataType::QCD_EMEnriched_Pt20to30] = 22529376;
203 numberOfProcessedEvents[DataType::QCD_EMEnriched_Pt30to80] = 36409308;
204
205 numberOfProcessedEvents[DataType::QCD_EMEnriched_Pt80to170] = 8150672;
206 numberOfPattplSkimEvents[DataType::QCD_EMEnriched_Pt80to170] = 5078282; // Actual received
207
208
209 numberOfProcessedEvents[DataType::QCD_BCtoE_Pt20to30] = 2081560; // Checked 21/07/11
210
211 numberOfProcessedEvents[DataType::QCD_BCtoE_Pt30to80] = 2030033; // Checked 19/08/11
212 numberOfPattplSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 2004505; // Actual received
213 numberOfNtplSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 98332;
214 numberOfElectronSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 98318;
215 numberOfMuonSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 17;
216
217 numberOfProcessedEvents[DataType::QCD_BCtoE_Pt80to170] = 1082691; // Checked 19/08/11
218 numberOfPattplSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 362356; // Actual received
219 numberOfNtplSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 63109;
220 numberOfElectronSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 63092;
221 numberOfMuonSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 22;
222
223 numberOfProcessedEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 24324525; // Number missing, just use received
224 numberOfPattplSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 24324525; // Actual received
225 numberOfNtplSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 2711630;
226 numberOfElectronSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 80370;
227 numberOfMuonSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 2650602;
228
229 numberOfProcessedEvents[DataType::PhotonJets_Pt40to100] = 2217101;
230 numberOfProcessedEvents[DataType::PhotonJets_Pt100to200] = 1065691;
231 numberOfProcessedEvents[DataType::PhotonJets_Pt200toInf] = 1079950;
232
233 numberOfProcessedEvents[DataType::WWtoAnything] = 2039440;
234 numberOfProcessedEvents[DataType::WZtoAnything] = 2085696;
235 numberOfProcessedEvents[DataType::ZZtoAnything] = 2108608;
236
237 numberOfProcessedEvents[DataType::singleTop_And_W] = 489417;
238 numberOfProcessedEvents[DataType::singleTopTChannel] = 484060;
239 numberOfProcessedEvents[DataType::singleTopSChannel] = 494967;
240 numberOfProcessedEvents[DataType::VQQ] = 720613;
241 numberOfProcessedEvents[DataType::Zprime_M500GeV_W5GeV] = 227068;
242 numberOfProcessedEvents[DataType::Zprime_M500GeV_W50GeV] = 238963;
243 numberOfProcessedEvents[DataType::Zprime_M750GeV_W7500MeV] = 204819;
244 numberOfProcessedEvents[DataType::Zprime_M1TeV_W10GeV] = 213384;
245 numberOfProcessedEvents[DataType::Zprime_M1TeV_W100GeV] = 200387;
246 numberOfProcessedEvents[DataType::Zprime_M1250GeV_W12500MeV] = 233361;
247 numberOfProcessedEvents[DataType::Zprime_M1500GeV_W15GeV] = 193779;
248 numberOfProcessedEvents[DataType::Zprime_M1500GeV_W150GeV] = 199121;
249 numberOfProcessedEvents[DataType::Zprime_M2TeV_W20GeV] = 238752;
250 numberOfProcessedEvents[DataType::Zprime_M2TeV_W200GeV] = 213363;
251 numberOfProcessedEvents[DataType::Zprime_M3TeV_W30GeV] = 205270;
252 numberOfProcessedEvents[DataType::Zprime_M3TeV_W300GeV] = 229034;
253 numberOfProcessedEvents[DataType::Zprime_M4TeV_W40GeV] = 183920;
254 numberOfProcessedEvents[DataType::Zprime_M4TeV_W400GeV] = 238142;
255
256 numberOfProcessedEvents[DataType::WprimeTToTTD_M400] = 499956; // V9
257 numberOfNtplSkimEvents[DataType::WprimeTToTTD_M400] = 190954;
258 numberOfNtplSkimEvents[DataType::WprimeTToTTD_M400] = 1;
259 numberOfElectronSkimEvents[DataType::WprimeTToTTD_M400] = 1;
260 numberOfMuonSkimEvents[DataType::WprimeTToTTD_M400] = 1;
261
262
263 numberOfProcessedEvents[DataType::WprimeTToTTD_M600] =749928; // With muons
264 numberOfNtplSkimEvents[DataType::WprimeTToTTD_M600] = 299938; // V8 prescription
265 numberOfNtplSkimEvents[DataType::WprimeTToTTD_M600] = 1;
266 numberOfElectronSkimEvents[DataType::WprimeTToTTD_M600] = 1;
267 numberOfMuonSkimEvents[DataType::WprimeTToTTD_M600] = 1;
268
269 numberOfProcessedEvents[DataType::WprimeTToTTD_M800] = 689950;
270 numberOfNtplSkimEvents[DataType::WprimeTToTTD_M800] = 283455;
271 numberOfNtplSkimEvents[DataType::WprimeTToTTD_M800] = 1;
272 numberOfElectronSkimEvents[DataType::WprimeTToTTD_M800] = 1;
273 numberOfMuonSkimEvents[DataType::WprimeTToTTD_M800] = 1;
274
275 numberOfProcessedEvents[DataType::WprimeTToTTD_M1000] = 499952; // With muons
276 numberOfNtplSkimEvents[DataType::WprimeTToTTD_M1000] = 208408; // V8
277 numberOfNtplSkimEvents[DataType::WprimeTToTTD_M1000] = 1;
278 numberOfElectronSkimEvents[DataType::WprimeTToTTD_M1000] = 1;
279 numberOfMuonSkimEvents[DataType::WprimeTToTTD_M1000] = 1;
280
281 numberOfProcessedEvents[DataType::WprimeTToTTD_M1200] = 499954; // V9
282 numberOfNtplSkimEvents[DataType::WprimeTToTTD_M1200] = 210556;
283 numberOfNtplSkimEvents[DataType::WprimeTToTTD_M1200] = 1;
284 numberOfElectronSkimEvents[DataType::WprimeTToTTD_M1200] = 1;
285 numberOfMuonSkimEvents[DataType::WprimeTToTTD_M1200] = 1;
286
287 }
288
289 EventWeightProvider::~EventWeightProvider() {
290
291 }
292
293 double EventWeightProvider::getWeight(DataType::value type) {
294 if (type == DataType::DATA)
295 return 1.;
296 else
297 return xsection[type] * lumiInInversePb / numberOfProcessedEvents[type];
298 }
299
300 float EventWeightProvider::reweightPileUp(unsigned int numberOfVertices){
301 if(numberOfVertices >= pileUpWeights.size()){
302 ++numberOfEventsWithTooHighPileUp;
303 return 0.;
304 }
305
306 return pileUpWeights.at(numberOfVertices);
307 }
308
309 boost::shared_ptr<TH1D> EventWeightProvider::getPileUpHistogram(std::string pileUpEstimationFile){
310 std::cout << "Using pile-up estimation file " << pileUpEstimationFile << std::endl;
311 boost::scoped_ptr<TFile> file(TFile::Open(pileUpEstimationFile.c_str()));
312 boost::shared_ptr<TH1D> pileUp((TH1D*) file->Get("pileup")->Clone());
313 file->Close();
314 return pileUp;
315 }
316
317 void EventWeightProvider::generate_flat10_weights(){
318 // see SimGeneral/MixingModule/python/mix_E7TeV_FlatDist10_2011EarlyData_inTimeOnly_cfi.py; copy and paste from there:
319 //only use this for Wprime with true Mc compared to true data Cert_160404-180252_7TeV_PromptReco_Collisons11_JSON.pileup_v2.root
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
324
325 //USE THIS FOR TTBAR with Cert_160404_180252_7TeV_Collisions11_JSON.pileup_v2.root
326 // Summer11 PU_S3 and PU_S4, distribution obtained by only looking at the in-time crossing. This is the "spike+smear" distribution, RECOMMENDED FOR REWEIGHTING.
327 const boost::array<double, 35> npu_probs = {{1.45346E-01, 6.42802E-02, 6.95255E-02, 6.96747E-02, 6.92955E-02, 6.84997E-02, 6.69528E-02, 6.45515E-02, 6.09865E-02, 5.63323E-02, 5.07322E-02, 4.44681E-02, 3.79205E-02, 3.15131E-02, 2.54220E-02, 2.00184E-02, 1.53776E-02, 1.15387E-02, 8.47608E-03, 6.08715E-03, 4.28255E-03, 2.97185E-03, 2.01918E-03, 1.34490E-03, 8.81587E-04, 5.69954E-04, 3.61493E-04, 2.28692E-04, 1.40791E-04, 8.44606E-05, 5.10204E-05, 3.07802E-05, 1.81401E-05, 1.00201E-05, 5.80004E-06 }};
328
329
330 double s = 0.0;
331 for (unsigned int npu = 0; npu < npu_probs.size(); ++npu) {
332 double npu_estimated = estimatedPileUp->GetBinContent(estimatedPileUp->GetXaxis()->FindBin(npu));
333 pileUpWeights[npu] = npu_estimated / npu_probs[npu];
334 // std::cout<<npu_estimated
335 //std::cout<<npu<<std::endl;
336 s += npu_estimated;
337 }
338 // 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 (!)
339 for (unsigned int npu = 0; npu < pileUpWeights.size(); ++npu) {
340 pileUpWeights[npu] /= s;
341 }
342 }
343
344 unsigned long EventWeightProvider::getNumberOfEventsWithTooHighPileUp() const{
345 return numberOfEventsWithTooHighPileUp;
346 }
347
348 } // namespace BAT