# | Line 248 | Line 248 | namespace VHbb { | |
---|---|---|
248 | return uncert; | |
249 | }*/ | |
250 | ||
251 | < | double ptWeightDY( double lheV_pt) |
251 | > | double ptWeightDY( double lheV_pt, double sign = 1.) |
252 | { | |
253 | double SF = 1.; | |
254 | if (50. < lheV_pt && lheV_pt < 100.){ | |
255 | < | SF = 0.873885+0.00175853*lheV_pt; |
255 | > | SF = 0.873885+0.00175853*sign*lheV_pt; |
256 | } | |
257 | else if (lheV_pt > 100){ | |
258 | < | SF = 1.10651-0.000705265*lheV_pt; |
258 | > | SF = 1.10651-0.000705265*sign*lheV_pt; |
259 | } | |
260 | return SF; | |
261 | } | |
262 | ||
263 | // weights correction for EWK NLO correction | |
264 | < | double ptWeightZllH( double genHPt ) |
265 | < | { |
264 | > | double ptWeightZllH( double genHPt){ |
265 | double SF = 1.; | |
266 | < | if ( genHPt > 0.) SF = 0.99-0.015/100.*genHPt; |
266 | > | if ( genHPt > 1.) SF = 0.999757-0.000174527*genHPt; |
267 | return SF>0?SF:0; | |
268 | } | |
269 | ||
270 | + | |
271 | + | double minCSVold(int EVENT_run, double hJet_csv0, double hJet_csv1, double hJet_csvOld0, double hJet_csvOld1){ |
272 | + | |
273 | + | if( EVENT_run < 2 ) |
274 | + | return std::min(hJet_csvOld0,hJet_csvOld1); |
275 | + | else |
276 | + | return std::min(hJet_csv0,hJet_csv1); |
277 | + | } |
278 | + | |
279 | + | double maxCSVold(int EVENT_run, double hJet_csv0, double hJet_csv1, double hJet_csvOld0, double hJet_csvOld1){ |
280 | + | |
281 | + | if( EVENT_run < 2 ) |
282 | + | return std::max(hJet_csvOld0,hJet_csvOld1); |
283 | + | else |
284 | + | return std::max(hJet_csv0,hJet_csv1); |
285 | + | } |
286 | + | |
287 | + | |
288 | + | // weights correction for EWK NLO correction from Atlas |
289 | + | double ewkAtlas8TeVZllH( double genHPt, double genZPt){ |
290 | + | if (genHPt < 1.) return 1.; |
291 | + | double hll8_contents[95] = {0.000664024, -0.00357095, -0.00767076, -0.00967366, -0.0134844, -0.0157148, -0.0181885, -0.0209647, -0.0232788, -0.0252373, -0.0265634, -0.0275069, -0.0285776, -0.0281683, -0.0294206, -0.0299975, -0.0308047, -0.0311716, -0.030913, -0.0324821, -0.0323192, -0.0324639, -0.0319356, -0.0322621, -0.0331146, -0.0338905, -0.0345189, -0.0358591, -0.0358407, -0.040018, -0.0396389, -0.0407177, -0.0445103, -0.0441406, -0.0471215, -0.0463301, -0.0513777, -0.0536773, -0.0546446, -0.0568508, -0.0590333, -0.0612157, -0.0633981, -0.0655805, -0.067763, -0.0699454, -0.0721278, -0.0743103, -0.0764927, -0.0786751, -0.0808575, -0.08304, -0.0852224, -0.0874048, -0.0895872, -0.0917697, -0.0939521, -0.0961345, -0.098317, -0.100499, -0.102682, -0.104864, -0.107047, -0.109229, -0.111412, -0.113594, -0.115776, -0.117959, -0.120141, -0.122324, -0.124506, -0.126689, -0.128871, -0.131053, -0.133236, -0.135418, -0.137601, -0.139783, -0.141965, -0.144148, -0.14633, -0.148513, -0.150695, -0.152878, -0.15506, -0.157242, -0.159425, -0.161607, -0.16379, -0.165972, -0.168155, -0.170337, -0.172519, -0.174702, -0.176884}; |
292 | + | int corrBin = (int) ( (genZPt - 25.) / 5. ); |
293 | + | if (corrBin < 0) corrBin = 0; |
294 | + | if (corrBin > 94) corrBin = 94; |
295 | + | double SF = 1.+hll8_contents[corrBin]; |
296 | + | return SF; |
297 | + | } |
298 | + | |
299 | + | double mueEff(int Vtype, double eta0, double eta1, double pt0, double pt1){ |
300 | + | if (Vtype == 0) return 1.; |
301 | + | if (Vtype == 1) { |
302 | + | double corr = 1.0; |
303 | + | if (abs(eta0) < 1.3) corr*=0.95; |
304 | + | if (abs(eta1) < 1.3) corr*=0.95; |
305 | + | if (min(pt0,pt1) < 25.) corr*=0.6; |
306 | + | else if (min(pt0,pt1) < 30.) corr*=0.8; |
307 | + | // scale to lumi ABC/D |
308 | + | corr = 1.-(1.-corr)*6.9/12.1; |
309 | + | return corr; |
310 | + | } |
311 | + | return 1.; |
312 | + | } |
313 | + | |
314 | } | |
315 |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |