ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/dhidas/OSUAnalysis/Tools/src/EventWeightProvider.cpp
Revision: 1.2
Committed: Fri Dec 2 10:41:21 2011 UTC (13 years, 5 months ago) by clseitz
Branch: MAIN
Changes since 1.1: +61 -16 lines
Log Message:
PileUpWeight added

File Contents

# User Rev Content
1 dhidas 1.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 clseitz 1.2
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     xsection[DataType::WprimeTToTTD_M600] = 18.2;
86     xsection[DataType::WprimeTToTTD_M800] = 6.5;
87    
88    
89 dhidas 1.1 xsection[DataType::WprimeTToTTD_M1000] = 0.72;
90 clseitz 1.2
91 dhidas 1.1 return xsection;
92     }
93    
94     EventWeightProvider::EventWeightProvider(float lumiInInversePb, unsigned short tev, std::string pileUpEstimationFile) :
95     lumiInInversePb(lumiInInversePb),
96     tev(tev),
97     useSkimEff(true),
98     xsection(),
99     estimatedPileUp(getPileUpHistogram(pileUpEstimationFile)),
100     pileUpWeights(),
101     numberOfEventsWithTooHighPileUp(0),
102     numberOfProcessedEvents(),
103     numberOfPattplSkimEvents(),
104     numberOfNtplSkimEvents(),
105     numberOfElectronSkimEvents(),
106     numberOfMuonSkimEvents()
107     {
108     generate_flat10_weights();
109     if (tev == 7)
110     xsection = sevenTeV::getXSections();
111     defineNumberOfProducedEvents();
112     // defineNumberOfSkimmedEvents();
113     }
114    
115     void EventWeightProvider::defineNumberOfProducedEvents() {
116     numberOfProcessedEvents[DataType::DATA] = 0;
117    
118    
119     /*
120     numberOfProcessedEvents[DataType::ttjets] = 3688248; // V8 PATtuple
121     numberOfPattplSkimEvents[DataType::ttjets] = 3683795; // V8 PATtuple
122     numberOfNtplSkimEvents[DataType::ttjets] = 1173710; // V8 PATtuple
123     numberOfElectronSkimEvents[DataType::ttjets] = 727781; // V8 PATtuple
124     numberOfMuonSkimEvents[DataType::ttjets] = 510117; // V8 PATtuple
125     */
126     // PATtuple /TTJets_TuneZ2_7TeV-madgraph-tauola/srappocc-ttbsm_v8_Summer11-PU_S4_START42_V11-v1-5c91b0700768331a44f51c8a9892d391/USER
127    
128     numberOfProcessedEvents[DataType::ttjets] = 3701947 ; // V9 PATtuple
129     numberOfPattplSkimEvents[DataType::ttjets] = 3697476; // V9 PATtuple
130     numberOfNtplSkimEvents[DataType::ttjets] = 1348512; // V9 PATtuple
131     numberOfElectronSkimEvents[DataType::ttjets] = 730452; // V9 PATtuple
132     numberOfMuonSkimEvents[DataType::ttjets] = 716210; // V9 PATtuple
133     // PATtuple /TTJets_TuneZ2_7TeV-madgraph-tauola/srappocc-ttbsm_v9_Summer11-PU_S4_START42_V11-v1-bf57a985b107a689982b667a3f2f23c7/USER
134    
135     /*
136     // numberOfProcessedEvents[DataType::ttjets] = 3701947; // v2 AOD ntuple original dataset number
137     numberOfProcessedEvents[DataType::ttjets] = 3664929; // v2 AOD ntuple, two jobs failed
138     numberOfPattplSkimEvents[DataType::ttjets] = 3664929; // v2 AOD ntuple
139     numberOfNtplSkimEvents[DataType::ttjets] = 1687141; // v2 AOD ntuple
140     numberOfElectronSkimEvents[DataType::ttjets] = 1123778; // v2 AOD ntuple
141     numberOfMuonSkimEvents[DataType::ttjets] = 738210; // v2 AOD ntuple
142     */
143    
144     // 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
145     // numberOfNtplSkimEvents[DataType::ttjets] = 1696252; // Previous ntuple collection
146     // numberOfElectronSkimEvents[DataType::ttjets] = 1129134;
147     // numberOfMuonSkimEvents[DataType::ttjets] = 742786;
148    
149     // numberOfProcessedEvents[DataType::ttbar] = 3570035;
150     numberOfProcessedEvents[DataType::ttbar] = 1089625; // TT_TuneZ2_7TeV-pythia6-tauola_Summer11-PU_S3_START42_V11-v2_AODSIM. Checked 21/07/11
151     // numberOfProcessedEvents[DataType::Zjets] = 34016401;
152     numberOfProcessedEvents[DataType::Zjets] = 32512091;
153     numberOfPattplSkimEvents[DataType::Zjets] = 32475188;
154     numberOfNtplSkimEvents[DataType::Zjets] = 15161964;
155     numberOfElectronSkimEvents[DataType::Zjets] = 7503990;
156     numberOfMuonSkimEvents[DataType::Zjets] = 7680017;
157     // Previous values before LoosePFlow
158     // numberOfNtplSkimEvents[DataType::Zjets] = 16354092;
159     // numberOfElectronSkimEvents[DataType::Zjets] = 8390919;
160     // numberOfMuonSkimEvents[DataType::Zjets] = 8056270;
161     // PATtuple V8 /DYJetsToLL_TuneZ2_M-50_7TeV-madgraph-tauola/skhalil-ttbsm_v8_Summer11-PU_S4_START42_V11-v1-87037ef7c828ea57e128f1ace23a632e/USER
162    
163     // numberOfProcessedEvents[DataType::Wjets] = 54895290; // Old AOD dataset
164     // numberOfNtplSkimEvents[DataType::Wjets] = 17166386; // previous
165     // numberOfElectronSkimEvents[DataType::Wjets] = 8630776; // previous
166     // numberOfMuonSkimEvents[DataType::Wjets] = 8587398; // previous
167    
168     // numberOfProcessedEvents[DataType::Wjets] = 49484941;
169     // numberOfPattplSkimEvents[DataType::Wjets] = 49335978;
170     // numberOfNtplSkimEvents[DataType::Wjets] = 15175745;
171     // numberOfElectronSkimEvents[DataType::Wjets] = 7365443;
172     // numberOfMuonSkimEvents[DataType::Wjets] = 7817858;
173     // PATtuple V8 /WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/srappocc-ttbsm_v8_Summer11-PU_S4_START42_V11-v1-87037ef7c828ea57e128f1ace23a632e/USER
174     numberOfProcessedEvents[DataType::Wjets] = 77105816;
175     numberOfPattplSkimEvents[DataType::Wjets] = 76978604;
176     numberOfNtplSkimEvents[DataType::Wjets] = 24580667;
177     numberOfElectronSkimEvents[DataType::Wjets] = 11449725;
178     numberOfMuonSkimEvents[DataType::Wjets] = 13144761;
179     // PATtuple V9 /WJetsToLNu_TuneZ2_7TeV-madgraph-tauola/dstrom-prod_2011_10_05_17_14_11-bf57a985b107a689982b667a3f2f23c7/USER
180    
181     numberOfProcessedEvents[DataType::WToENu] = 5334220; // Checked 21/07/11
182     numberOfPattplSkimEvents[DataType::WToENu] = 5334220;
183     numberOfNtplSkimEvents[DataType::WToENu] = 2662025;
184     numberOfElectronSkimEvents[DataType::WToENu] = 2662025;
185     numberOfMuonSkimEvents[DataType::WToENu] = 0;
186    
187     numberOfProcessedEvents[DataType::QCD_Flat_15to3000] = 10960800;
188     // numberOfPattplSkimEvents[DataType::QCD_Flat_15to3000] = 10929635; // According to PATtple twiki
189     numberOfPattplSkimEvents[DataType::QCD_Flat_15to3000] = 10751721; // Actual received
190     numberOfNtplSkimEvents[DataType::QCD_Flat_15to3000] = 163974;
191     numberOfElectronSkimEvents[DataType::QCD_Flat_15to3000] = 163906;
192     numberOfMuonSkimEvents[DataType::QCD_Flat_15to3000] = 70;
193     // Previous values before LoosePFlow
194     // numberOfNtplSkimEvents[DataType::QCD_Flat_15to3000] = 1010202;
195     // numberOfElectronSkimEvents[DataType::QCD_Flat_15to3000] = 775300;
196     // numberOfMuonSkimEvents[DataType::QCD_Flat_15to3000] = 256834;
197     // PATtuple V8 /QCD_Pt-15to3000_TuneZ2_Flat_7TeV_pythia6/srappocc-ttbsm_v8_Summer11-PU_S3_-START42_V11-v2-d870fa9b0dd695e8eb649b7e725d070f/USER
198     numberOfProcessedEvents[DataType::QCD_EMEnriched_Pt20to30] = 22529376;
199     numberOfProcessedEvents[DataType::QCD_EMEnriched_Pt30to80] = 36409308;
200    
201     numberOfProcessedEvents[DataType::QCD_EMEnriched_Pt80to170] = 8150672;
202     numberOfPattplSkimEvents[DataType::QCD_EMEnriched_Pt80to170] = 5078282; // Actual received
203     numberOfNtplSkimEvents[DataType::QCD_EMEnriched_Pt80to170] = 123843;
204     numberOfElectronSkimEvents[DataType::QCD_EMEnriched_Pt80to170] = 123744;
205     numberOfMuonSkimEvents[DataType::QCD_EMEnriched_Pt80to170] = 101;
206    
207     numberOfProcessedEvents[DataType::QCD_BCtoE_Pt20to30] = 2081560; // Checked 21/07/11
208    
209     numberOfProcessedEvents[DataType::QCD_BCtoE_Pt30to80] = 2030033; // Checked 19/08/11
210     numberOfPattplSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 2004505; // Actual received
211     numberOfNtplSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 98332;
212     numberOfElectronSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 98318;
213     numberOfMuonSkimEvents[DataType::QCD_BCtoE_Pt30to80] = 17;
214    
215     numberOfProcessedEvents[DataType::QCD_BCtoE_Pt80to170] = 1082691; // Checked 19/08/11
216     numberOfPattplSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 362356; // Actual received
217     numberOfNtplSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 63109;
218     numberOfElectronSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 63092;
219     numberOfMuonSkimEvents[DataType::QCD_BCtoE_Pt80to170] = 22;
220    
221     numberOfProcessedEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 24324525; // Number missing, just use received
222     numberOfPattplSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 24324525; // Actual received
223     numberOfNtplSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 2711630;
224     numberOfElectronSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 80370;
225     numberOfMuonSkimEvents[DataType::QCD_MuEnriched_Pt20Pt15] = 2650602;
226    
227     numberOfProcessedEvents[DataType::PhotonJets_Pt40to100] = 2217101;
228     numberOfProcessedEvents[DataType::PhotonJets_Pt100to200] = 1065691;
229     numberOfProcessedEvents[DataType::PhotonJets_Pt200toInf] = 1079950;
230    
231     numberOfProcessedEvents[DataType::WWtoAnything] = 2039440;
232     numberOfProcessedEvents[DataType::WZtoAnything] = 2085696;
233     numberOfProcessedEvents[DataType::ZZtoAnything] = 2108608;
234    
235     numberOfProcessedEvents[DataType::singleTop_And_W] = 489417;
236     numberOfProcessedEvents[DataType::singleTopTChannel] = 484060;
237     numberOfProcessedEvents[DataType::singleTopSChannel] = 494967;
238     numberOfProcessedEvents[DataType::VQQ] = 720613;
239     numberOfProcessedEvents[DataType::Zprime_M500GeV_W5GeV] = 227068;
240     numberOfProcessedEvents[DataType::Zprime_M500GeV_W50GeV] = 238963;
241     numberOfProcessedEvents[DataType::Zprime_M750GeV_W7500MeV] = 204819;
242     numberOfProcessedEvents[DataType::Zprime_M1TeV_W10GeV] = 213384;
243     numberOfProcessedEvents[DataType::Zprime_M1TeV_W100GeV] = 200387;
244     numberOfProcessedEvents[DataType::Zprime_M1250GeV_W12500MeV] = 233361;
245     numberOfProcessedEvents[DataType::Zprime_M1500GeV_W15GeV] = 193779;
246     numberOfProcessedEvents[DataType::Zprime_M1500GeV_W150GeV] = 199121;
247     numberOfProcessedEvents[DataType::Zprime_M2TeV_W20GeV] = 238752;
248     numberOfProcessedEvents[DataType::Zprime_M2TeV_W200GeV] = 213363;
249     numberOfProcessedEvents[DataType::Zprime_M3TeV_W30GeV] = 205270;
250     numberOfProcessedEvents[DataType::Zprime_M3TeV_W300GeV] = 229034;
251     numberOfProcessedEvents[DataType::Zprime_M4TeV_W40GeV] = 183920;
252     numberOfProcessedEvents[DataType::Zprime_M4TeV_W400GeV] = 238142;
253    
254     numberOfProcessedEvents[DataType::WprimeTToTTD_M400] = 96990; // V9
255     numberOfPattplSkimEvents[DataType::WprimeTToTTD_M400] = 96698;
256     numberOfNtplSkimEvents[DataType::WprimeTToTTD_M400] = 37674;
257     numberOfElectronSkimEvents[DataType::WprimeTToTTD_M400] = 21097;
258     numberOfMuonSkimEvents[DataType::WprimeTToTTD_M400] = 19681;
259    
260     // numberOfProcessedEvents[DataType::WprimeTToTTD_M600] = 96500; // Muonless generation
261     // numberOfPattplSkimEvents[DataType::WprimeTToTTD_M600] = 34552; // After generator filter
262     // numberOfNtplSkimEvents[DataType::WprimeTToTTD_M600] = 25535;
263     // numberOfElectronSkimEvents[DataType::WprimeTToTTD_M600] = 22774;
264    
265 clseitz 1.2 // numberOfMuonSkimEvents[DataType::WprimeTToTTD_M600] = 7012;//
266     //low stats sample
267     // numberOfProcessedEvents[DataType::WprimeTToTTD_M600] = 86991; // With muons
268     // numberOfPattplSkimEvents[DataType::WprimeTToTTD_M600] = 86601;
269     //numberOfNtplSkimEvents[DataType::WprimeTToTTD_M600] = 29439;
270     // numberOfElectronSkimEvents[DataType::WprimeTToTTD_M600] = 19580;
271     //numberOfMuonSkimEvents[DataType::WprimeTToTTD_M600] = 11656;
272     //850k sample
273     // numberOfProcessedEvents[DataType::WprimeTToTTD_M600] =849920; // With muons
274     //numberOfPattplSkimEvents[DataType::WprimeTToTTD_M600] = 849920;
275     //numberOfNtplSkimEvents[DataType::WprimeTToTTD_M600] = 340080;
276     //numberOfElectronSkimEvents[DataType::WprimeTToTTD_M600] = 19580;
277     //numberOfMuonSkimEvents[DataType::WprimeTToTTD_M600] = 11656;
278     //500k sample
279     numberOfProcessedEvents[DataType::WprimeTToTTD_M600] =499960; // With muons
280     numberOfPattplSkimEvents[DataType::WprimeTToTTD_M600] = 499960;
281     numberOfNtplSkimEvents[DataType::WprimeTToTTD_M600] = 199893;
282 dhidas 1.1 numberOfElectronSkimEvents[DataType::WprimeTToTTD_M600] = 19580;
283     numberOfNtplSkimEvents[DataType::WprimeTToTTD_M600] = 29439; // V8 prescription
284     numberOfMuonSkimEvents[DataType::WprimeTToTTD_M600] = 11656; // V8
285     // numberOfNtplSkimEvents[DataType::WprimeTToTTD_M600] = 35447;// V9
286     // numberOfMuonSkimEvents[DataType::WprimeTToTTD_M600] = 19127; // V9
287    
288 clseitz 1.2
289    
290     //low stats
291     // numberOfProcessedEvents[DataType::WprimeTToTTD_M800] = 84993;
292     //numberOfPattplSkimEvents[DataType::WprimeTToTTD_M800] = 84416;
293     //numberOfNtplSkimEvents[DataType::WprimeTToTTD_M800] = 29269;
294     //numberOfElectronSkimEvents[DataType::WprimeTToTTD_M800] = 19619;
295     //numberOfMuonSkimEvents[DataType::WprimeTToTTD_M800] = 11363;
296     //high stats 700k
297     // numberOfProcessedEvents[DataType::WprimeTToTTD_M800] = 689950;
298     //numberOfPattplSkimEvents[DataType::WprimeTToTTD_M800] = 689950;
299     //numberOfNtplSkimEvents[DataType::WprimeTToTTD_M800] = 283455;
300     //numberOfElectronSkimEvents[DataType::WprimeTToTTD_M800] = 19619;
301     //numberOfMuonSkimEvents[DataType::WprimeTToTTD_M800] = 11363;
302     //high stats 500k
303     numberOfProcessedEvents[DataType::WprimeTToTTD_M800] = 489965;
304     numberOfPattplSkimEvents[DataType::WprimeTToTTD_M800] = 489965;
305     numberOfNtplSkimEvents[DataType::WprimeTToTTD_M800] = 201242;
306    
307 dhidas 1.1 numberOfElectronSkimEvents[DataType::WprimeTToTTD_M800] = 19619;
308    
309     // numberOfProcessedEvents[DataType::WprimeTToTTD_M1000] = 93000; // From Khristian's e-mail, muonless generation
310     // numberOfPattplSkimEvents[DataType::WprimeTToTTD_M1000] = 35600; // After generator filter
311     // numberOfNtplSkimEvents[DataType::WprimeTToTTD_M1000] = 26563;
312     // numberOfElectronSkimEvents[DataType::WprimeTToTTD_M1000] = 23025;
313     // numberOfMuonSkimEvents[DataType::WprimeTToTTD_M1000] = 8849;
314     numberOfProcessedEvents[DataType::WprimeTToTTD_M1000] = 94996; // With muons
315     numberOfPattplSkimEvents[DataType::WprimeTToTTD_M1000] = 94145;
316     numberOfElectronSkimEvents[DataType::WprimeTToTTD_M1000] = 21854;
317     // numberOfNtplSkimEvents[DataType::WprimeTToTTD_M1000] = 40756; // V9
318     // numberOfMuonSkimEvents[DataType::WprimeTToTTD_M1000] = 22898; // V9
319     numberOfNtplSkimEvents[DataType::WprimeTToTTD_M1000] = 32039; // V8
320     numberOfMuonSkimEvents[DataType::WprimeTToTTD_M1000] = 12054; // V8
321    
322     numberOfProcessedEvents[DataType::WprimeToTBbar_M1000] = 110000; // Checked 21/07/11
323     }
324    
325     EventWeightProvider::~EventWeightProvider() {
326    
327     }
328    
329     double EventWeightProvider::getWeight(DataType::value type) {
330     if (type == DataType::DATA)
331     return 1.;
332     else
333     return xsection[type] * lumiInInversePb / numberOfProcessedEvents[type];
334     }
335    
336     float EventWeightProvider::reweightPileUp(unsigned int numberOfVertices){
337     if(numberOfVertices >= pileUpWeights.size()){
338     ++numberOfEventsWithTooHighPileUp;
339     return 0.;
340     }
341    
342     return pileUpWeights.at(numberOfVertices);
343     }
344    
345     boost::shared_ptr<TH1D> EventWeightProvider::getPileUpHistogram(std::string pileUpEstimationFile){
346     std::cout << "Using pile-up estimation file " << pileUpEstimationFile << std::endl;
347     boost::scoped_ptr<TFile> file(TFile::Open(pileUpEstimationFile.c_str()));
348     boost::shared_ptr<TH1D> pileUp((TH1D*) file->Get("pileup")->Clone());
349     file->Close();
350     return pileUp;
351     }
352    
353     void EventWeightProvider::generate_flat10_weights(){
354     // see SimGeneral/MixingModule/python/mix_E7TeV_FlatDist10_2011EarlyData_inTimeOnly_cfi.py; copy and paste from there:
355 clseitz 1.2 //only use this for Wprime with true Mc compared to true data Cert_160404-180252_7TeV_PromptReco_Collisons11_JSON.pileup_v2.root
356     // 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*/,
357     // 0.0630151648,0.0526654164,0.0402754482,0.0292988928,0.0194384503,0.0122016783,0.007207042,0.004003637,0.0020278322,
358     // 0.0010739954,0.0004595759,0.0002229748,0.0001028162,4.58337152809607E-05 /* <-- 24 */}};
359    
360    
361     //USE THIS FOR TTBAR with Cert_160404_180252_7TeV_Collisions11_JSON.pileup_v2.root
362     // 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.
363     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 }};
364    
365    
366 dhidas 1.1 double s = 0.0;
367     for (unsigned int npu = 0; npu < npu_probs.size(); ++npu) {
368     double npu_estimated = estimatedPileUp->GetBinContent(estimatedPileUp->GetXaxis()->FindBin(npu));
369     pileUpWeights[npu] = npu_estimated / npu_probs[npu];
370 clseitz 1.2 // std::cout<<npu_estimated
371     //std::cout<<npu<<std::endl;
372 dhidas 1.1 s += npu_estimated;
373     }
374     // 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 (!)
375     for (unsigned int npu = 0; npu < pileUpWeights.size(); ++npu) {
376     pileUpWeights[npu] /= s;
377     }
378     }
379    
380     unsigned long EventWeightProvider::getNumberOfEventsWithTooHighPileUp() const{
381     return numberOfEventsWithTooHighPileUp;
382     }
383    
384     } // namespace BAT