ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbb/plugins/CutsNov11.h
Revision: 1.1
Committed: Fri Apr 27 14:25:30 2012 UTC (13 years ago) by bortigno
Content type: text/plain
Branch: MAIN
CVS Tags: lhcp_UnblindFix, hcp_Unblind, lhcp_11April, LHCP_PreAppFixAfterFreeze, LHCP_PreAppFreeze, workingVersionAfterHCP, hcpApproval, hcpPreApp, ICHEP8TeV, ichep8TeV, AN-12-181-7TeV_patch1, AN-12-181-7TeV, HEAD
Error occurred while calculating annotation data.
Log Message:
Pier code

File Contents

# Content
1 #ifndef CUTSLP_H
2 #define CUTSLP_H
3 #include "CutsAndHistos.h"
4 #include "ntupleReader.h"
5 #include <TH1F.h>
6 #include <sstream>
7 #include "samples.h"
8 #include "TKey.h"
9
10 #define CSVM 0.679
11 #define CSVC 0.5 //custom btag
12 #define CSVL 0.244
13 #define CSVT 0.898
14 #define fA 0.46502
15 #define fB 0.53498
16
17 // New implementations of the control region
18 // The signal regions must be implemented incrementally since cutflow is needed
19
20 class VlightRegionHZee: public CutSample {
21
22 std::string name() {return "VlightRegionHZee";};
23 public:
24 Bool_t pass(ntupleReader &p){
25 iType = (VType)p.Vtype;
26 return ( p.Vtype == 1
27 && p.V_mass > 75.
28 && p.V_mass < 105.
29 && p.V_pt > 100.
30 && p.H_mass < 250
31 && p.H_pt > 100.
32 && p.hJet_pt[0] > 20.
33 && p.hJet_pt[1] > 20.
34 && p.EVENT_json == true
35 && p.hbhe == true
36 && TMath::Abs( p.HVdPhi ) > 2.9
37 && p.CountAddJets() < 2
38 && !(p.hJet_csv[0] > CSVT || p.hJet_csv[1] > CSVT )
39 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
40 }
41 Bool_t pass(ntupleReader &p, Sample &sample){
42 bool sampleCut = false;
43 bool boost = false;
44 bool isB = false;
45 if(p.genZpt >= 120)
46 boost = true;
47 if(p.eventFlav == 5)
48 isB = true;
49 std::string DY("DY");
50 std::string DYBOOSTED("DYBOOSTED");
51 if( sample.name == DY && !boost )
52 sampleCut = true;
53 else if( sample.name == DYBOOSTED && boost )
54 sampleCut = true;
55 else if( sample.name != DY && sample.name != DYBOOSTED )
56 sampleCut = true;
57 else sampleCut=false;
58 iType = (VType)p.Vtype;
59 return ( sampleCut == true
60 && p.Vtype == 1
61 && p.V_mass > 75.
62 && p.V_mass < 105.
63 && p.V_pt > 100.
64 && p.H_mass < 250
65 && p.H_pt > 100.
66 && p.hJet_pt[0] > 20.
67 && p.hJet_pt[1] > 20.
68 && p.EVENT_json == true
69 && p.hbhe == true
70 && TMath::Abs( p.HVdPhi ) > 2.9
71 && p.CountAddJets() < 2
72 && !(p.hJet_csv[0] > CSVT || p.hJet_csv[1] > CSVT )
73 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
74 }
75 double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
76 };
77
78
79 class TTbarRegionHZee: public CutSample {
80 std::string name() {return "TTbarRegionHZee";};
81 public:
82 Bool_t pass(ntupleReader &p){
83 return( p.Vtype == 1
84 && ( p.V_mass > 105.
85 || p.V_mass < 75. )
86 && p.H_pt > 100.
87 && p.H_mass < 250
88 && p.hJet_pt[0] > 20.
89 && p.hJet_pt[1] > 20.
90 && (p.hJet_csv[0] > 0.5 && p.hJet_csv[1] > 0.5)
91 && (p.hJet_csv[0] > 0.898 || p.hJet_csv[1] > 0.898)
92 && p.EVENT_json == true
93 && p.hbhe == true
94 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
95 }
96 Bool_t pass(ntupleReader &p, Sample &sample){
97 bool sampleCut = false;
98 bool boost = false;
99 bool isB = false;
100 if(p.genZpt >= 120)
101 boost = true;
102 if(p.eventFlav == 5)
103 isB = true;
104 std::string DY("DY");
105 std::string DYBOOSTED("DYBOOSTED");
106 if( sample.name == DY && !boost )
107 sampleCut = true;
108 else if( sample.name == DYBOOSTED && boost )
109 sampleCut = true;
110 else if( sample.name != DY && sample.name != DYBOOSTED )
111 sampleCut = true;
112 else sampleCut = false;
113 return( sampleCut == true
114 && p.Vtype == 1
115 && ( p.V_mass > 105.
116 || p.V_mass < 75. )
117 && p.H_pt > 100.
118 //&& p.H_mass < 250
119 && p.hJet_pt[0] > 20.
120 && p.hJet_pt[1] > 20.
121 && (p.hJet_csv[0] > 0.5 && p.hJet_csv[1] > 0.5)
122 && (p.hJet_csv[0] > 0.898 || p.hJet_csv[1] > 0.898)
123 && p.EVENT_json == true
124 && p.hbhe == true
125 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
126 }
127 double weight(ntupleReader &p, Sample &sample) {if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
128 };
129
130
131
132 class oldTTbarRegionHZee: public CutSample {
133 std::string name() {return "oldTTbarRegionHZee";};
134 public:
135 Bool_t pass(ntupleReader &p){
136 return( p.Vtype == 1
137 && p.V_mass > 120
138 && p.MET_et > 50.
139 && p.H_mass < 250
140 && p.hJet_pt[0] > 20.
141 && p.hJet_pt[1] > 20.
142 && p.EVENT_json == true
143 && p.hbhe == true
144 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
145 }
146 Bool_t pass(ntupleReader &p, Sample &sample){
147 bool sampleCut = false;
148 bool boost = false;
149 bool isB = false;
150 if(p.genZpt >= 120)
151 boost = true;
152 if(p.eventFlav == 5)
153 isB = true;
154 std::string DY("DY");
155 std::string DYBOOSTED("DYBOOSTED");
156 if( sample.name == DY && !boost )
157 sampleCut = true;
158 else if( sample.name == DYBOOSTED && boost )
159 sampleCut = true;
160 else if( sample.name != DY && sample.name != DYBOOSTED )
161 sampleCut = true;
162 else sampleCut = false;
163 return( sampleCut == true
164 && p.Vtype == 1
165 && p.V_mass > 120.
166 && p.MET_et > 50.
167 && p.hJet_pt[0] > 20.
168 && p.hJet_pt[1] > 20.
169 && p.EVENT_json == true
170 && p.hbhe == true
171 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
172 }
173 double weight(ntupleReader &p, Sample &sample) {if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
174 };
175
176
177 class VbbRegionHZee: public CutSample {
178 std::string name() {return "VbbRegionHZee";};
179 public:
180 Bool_t pass(ntupleReader &p){
181 return( p.Vtype == 1
182 && p.V_mass > 75.
183 && p.V_mass < 105.
184 && p.V_pt > 0.
185 && p.H_pt > 0.
186 && p.hJet_pt[0] > 20.
187 && p.hJet_pt[1] > 20.
188 && ( p.hJet_csv[0] > CSVT
189 || p.hJet_csv[1] > CSVT )
190 && p.hJet_csv[0] > 0.5
191 && p.hJet_csv[1] > 0.5
192 && p.EVENT_json == true
193 && p.hbhe == true
194 && p.CountAddJets() < 2
195 // && p. MET_et < 30
196 && ( p.H_mass < 90
197 || p.H_mass > 145 )
198 && p.H_mass < 250
199 && TMath::Abs(p.HVdPhi) > 2.9
200 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
201 }
202 Bool_t pass(ntupleReader &p, Sample &sample){
203 bool sampleCut = false;
204 bool boost = false;
205 bool isB = false;
206 if(p.genZpt >= 120)
207 boost = true;
208 if(p.eventFlav == 5)
209 isB = true;
210 std::string DY("DY");
211 std::string DYBOOSTED("DYBOOSTED");
212 if( sample.name == DY && !boost )
213 sampleCut = true;
214 else if( sample.name == DYBOOSTED && boost )
215 sampleCut = true;
216 else if( sample.name != DY && sample.name != DYBOOSTED )
217 sampleCut = true;
218 else
219 sampleCut=false;
220 return( sampleCut == true
221 && p.Vtype == 1
222 && p.V_mass > 75.
223 && p.V_mass < 105.
224 && p.V_pt > 0.
225 && p.H_pt > 0.
226 && p.hJet_pt[0] > 20.
227 && p.hJet_pt[1] > 20.
228 && ( p.hJet_csv[0] > CSVT
229 || p.hJet_csv[1] > CSVT )
230 && p.hJet_csv[0] > 0.5
231 && p.hJet_csv[1] > 0.5
232 && p.EVENT_json == true
233 && p.hbhe == true
234 && p.CountAddJets() < 2
235 // && p. MET_et < 30
236 && ( p.H_mass < 90
237 || p.H_mass > 145 )
238 && p.H_mass < 250
239 && TMath::Abs(p.HVdPhi) > 2.9
240 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
241 }
242 double weight(ntupleReader &p, Sample &sample) {if(sample.data) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
243 };
244
245 class SignalRegionHZee: public CutSample{
246 std::string name() {return "SignalRegionHZee";};
247 public:
248 Bool_t pass(ntupleReader &p){
249 return ( p.Vtype == 1
250 && p.V_mass > 75.
251 && p.V_mass < 105.
252 // this cut depends on the H mass here for 115
253 // && p.H_mass > 95.
254 // && p.H_mass < 125.
255 //////////
256 && p.V_pt > 100.
257 && p.H_pt > 100.
258 && ( p.hJet_csv[0] > 0.898
259 || p.hJet_csv[1] > 0.898 )
260 && p.hJet_csv[0] > 0.5
261 && p.hJet_csv[1] > 0.5
262 && p.hJet_pt[0] > 20.
263 && p.hJet_pt[1] > 20.
264 && TMath::Abs(p.HVdPhi) > 2.9
265 && p.EVENT_json == true
266 && p.hbhe == true
267 && p.CountAddJets() < 2
268 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
269 }
270 Bool_t pass(ntupleReader &p, Sample & sample){
271 bool sampleCut = false;
272 bool boost = false;
273 bool isB = false;
274 if(p.genZpt >= 120)
275 boost = true;
276 if(p.eventFlav == 5)
277 isB = true;
278 std::string DY("DY");
279 std::string DYBOOSTED("DYBOOSTED");
280 if( sample.name == DY && !boost )
281 sampleCut = true;
282 else if( sample.name == DYBOOSTED && boost )
283 sampleCut = true;
284 else if( sample.name != DY && sample.name != DYBOOSTED )
285 sampleCut = true;
286 else sampleCut=false;
287 return ( sampleCut == true
288 && p.Vtype == 1
289 && p.V_mass > 75.
290 && p.V_mass < 105.
291 // this cut depends on the H mass here for 115
292 // && p.H_mass > 95.
293 // && p.H_mass < 125.
294 //////////
295 && p.V_pt > 100.
296 && p.H_pt > 100.
297 && ( p.hJet_csv[0] > 0.898
298 || p.hJet_csv[1] > 0.898 )
299 && p.hJet_csv[0] > 0.5
300 && p.hJet_csv[1] > 0.5
301 && p.hJet_pt[0] > 20.
302 && p.hJet_pt[1] > 20.
303 && TMath::Abs(p.HVdPhi) > 2.9
304 && p.EVENT_json == true
305 && p.hbhe == true
306 && p.CountAddJets() < 2
307 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
308 }
309 double weight(ntupleReader &p, Sample &sample) {if(sample.data) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
310 };
311
312 class BDTRegionHZee: public CutSample{
313 std::string name() {return "BDTRegionHZee";};
314 public:
315 Bool_t pass(ntupleReader &p){
316 return ( p.Vtype == 1
317 && p.hJet_pt[0] > 20.
318 && p.hJet_pt[1] > 20.
319 && p.hJet_csv[0] > 0.244
320 && p.hJet_csv[1] > 0.244
321 && p.H_pt > 100.
322 && p.V_pt > 100.
323 && p.V_mass > 75.
324 && p.V_mass < 105
325 && p.H_mass < 250.
326 // && p.CountAddJets() < 2
327 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
328 }
329 Bool_t pass(ntupleReader &p, Sample &sample){
330 bool sampleCut = false;
331 bool boost = false;
332 bool isB = false;
333 if(p.genZpt >= 120)
334 boost = true;
335 if(p.eventFlav == 5)
336 isB = true;
337 std::string DY("DY");
338 std::string DYBOOSTED("DYBOOSTED");
339 if( sample.name == DY && !boost )
340 sampleCut = true;
341 else if( sample.name == DYBOOSTED && boost )
342 sampleCut = true;
343 else if( sample.name != DY && sample.name != DYBOOSTED )
344 sampleCut = true;
345 else sampleCut=false;
346 return ( sampleCut == true
347 && p.Vtype == 1
348 && p.hJet_pt[0] > 20.
349 && p.hJet_pt[1] > 20.
350 && p.hJet_csv[0] > 0.244
351 && p.hJet_csv[1] > 0.244
352 && p.H_pt > 100.
353 && p.V_pt > 100.
354 && p.V_mass > 75.
355 && p.V_mass < 105
356 && p.H_mass < 250.
357 // && p.CountAddJets() < 2
358 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
359 }
360 double weight(ntupleReader &p, Sample &sample) {if(sample.data) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
361 };
362
363
364 class BDTZbbControlRegionHZee: public CutSample{
365 std::string name() {return "BDTZbbControlRegionHZee";};
366 public:
367 Bool_t pass(ntupleReader &p){
368 return ( p.Vtype == 1
369 && p.hJet_pt[0] > 20.
370 && p.hJet_pt[1] > 20.
371 && p.hJet_csv[0] > CSVL
372 && p.hJet_csv[1] > CSVL
373 && p.V_pt < 100.
374 && p.V_mass > 75.
375 && p.V_mass < 105
376 && p.H_mass < 250.
377 // && p.CountAddJets() < 2
378 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
379 }
380 Bool_t pass(ntupleReader &p, Sample &sample){
381 bool sampleCut = false;
382 bool boost = false;
383 bool isB = false;
384 if(p.genZpt >= 120)
385 boost = true;
386 if(p.eventFlav == 5)
387 isB = true;
388 std::string DY("DY");
389 std::string DYBOOSTED("DYBOOSTED");
390 if( sample.name == DY && !boost )
391 sampleCut = true;
392 else if( sample.name == DYBOOSTED && boost )
393 sampleCut = true;
394 else if( sample.name != DY && sample.name != DYBOOSTED )
395 sampleCut = true;
396 else sampleCut=false;
397 return ( sampleCut == true
398 && p.Vtype == 1
399 && p.hJet_pt[0] > 20.
400 && p.hJet_pt[1] > 20.
401 && p.hJet_csv[0] > CSVL
402 && p.hJet_csv[1] > CSVL
403 && p.V_pt < 100.
404 && p.V_mass > 75.
405 && p.V_mass < 105
406 && p.H_mass < 250.
407 // && p.CountAddJets() < 2
408 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
409 }
410 double weight(ntupleReader &p, Sample &sample) {if(sample.data) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
411 };
412
413 class BDTZlightControlRegionHZee: public CutSample{
414 std::string name() {return "BDTZlightControlRegionHZee";};
415 public:
416 Bool_t pass(ntupleReader &p){
417 return ( p.Vtype == 1
418 && p.hJet_pt[0] > 20.
419 && p.hJet_pt[1] > 20.
420 && p.hJet_csv[0] < CSVL
421 && p.hJet_csv[1] < CSVL
422 && p.V_pt > 100.
423 && p.V_mass > 75.
424 && p.V_mass < 105
425 && p.H_mass < 250.
426 // && p.CountAddJets() < 2
427 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
428 }
429 Bool_t pass(ntupleReader &p, Sample &sample){
430 bool sampleCut = false;
431 bool boost = false;
432 bool isB = false;
433 if(p.genZpt >= 120)
434 boost = true;
435 if(p.eventFlav == 5)
436 isB = true;
437 std::string DY("DY");
438 std::string DYBOOSTED("DYBOOSTED");
439 if( sample.name == DY && !boost )
440 sampleCut = true;
441 else if( sample.name == DYBOOSTED && boost )
442 sampleCut = true;
443 else if( sample.name != DY && sample.name != DYBOOSTED )
444 sampleCut = true;
445 else sampleCut=false;
446 return ( sampleCut == true
447 && p.Vtype == 1
448 && p.hJet_pt[0] > 20.
449 && p.hJet_pt[1] > 20.
450 && p.hJet_csv[0] < CSVL
451 && p.hJet_csv[1] < CSVL
452 && p.V_pt > 100.
453 && p.V_mass > 75.
454 && p.V_mass < 105
455 && p.H_mass < 250.
456 // && p.CountAddJets() < 2
457 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
458 }
459 double weight(ntupleReader &p, Sample &sample) {if(sample.data) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
460 };
461
462 class BDTTTbarControlRegionHZee: public CutSample{
463 std::string name() {return "BDTTTbarControlRegionHZee";};
464 public:
465 Bool_t pass(ntupleReader &p){
466 return ( p.Vtype == 1
467 && p.hJet_pt[0] > 20.
468 && p.hJet_pt[1] > 20.
469 && p.hJet_csv[0] > CSVL
470 && p.hJet_csv[1] > CSVL
471 && p.H_pt > 100.
472 // && p.V_pt > 100.
473 && p.V_mass > 50.
474 //&& p.H_mass < 250.
475 && ( p.V_mass > 105.
476 || p.V_mass < 75. )
477 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
478 }
479 Bool_t pass(ntupleReader &p, Sample &sample){
480 bool sampleCut = false;
481 bool boost = false;
482 bool isB = false;
483 if(p.genZpt >= 120)
484 boost = true;
485 if(p.eventFlav == 5)
486 isB = true;
487 std::string DY("DY");
488 std::string DYBOOSTED("DYBOOSTED");
489 if( sample.name == DY && !boost )
490 sampleCut = true;
491 else if( sample.name == DYBOOSTED && boost )
492 sampleCut = true;
493 else if( sample.name != DY && sample.name != DYBOOSTED )
494 sampleCut = true;
495 else sampleCut=false;
496 return ( sampleCut == true
497 && p.Vtype == 1
498 && p.hJet_pt[0] > 20.
499 && p.hJet_pt[1] > 20.
500 && p.hJet_csv[0] > CSVL
501 && p.hJet_csv[1] > CSVL
502 && p.H_pt > 100.
503 // && p.V_pt > 100.
504 && p.V_mass > 50.
505 //&& p.H_mass < 250.
506 && ( p.V_mass > 105.
507 || p.V_mass < 75. )
508 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
509 }
510 double weight(ntupleReader &p, Sample &sample) {if(sample.data) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
511 };
512
513
514 class WbbRegionHWmnu: public CutSample {
515
516 std::string name() {return "WbbRegionHWmnu";};
517 public:
518 Bool_t pass(ntupleReader &p){
519 iType = (VType)p.Vtype;
520 return ( p.Vtype == 2
521 && p.vLepton_pt[0] > 30.
522 && p.CountAddLeptons() == 0
523 && p.MET_et > 30
524 && p.hJet_pt[0] > 30.
525 && p.hJet_pt[1] > 30.
526 && p.hJet_csv[0] > CSVC
527 && p.hJet_csv[1] > CSVC
528 && ( p.hJet_csv[0] > CSVT
529 || p.hJet_csv[1] > CSVT )
530 && p.CountAddJets() < 2
531 && p.EVENT_json == true
532 && p.hbhe == true
533 && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) );
534 }
535 Bool_t pass(ntupleReader &p, Sample &sample){
536 bool sampleCut = false;
537 bool boost = false;
538 if(p.genZpt >= 120)
539 boost = true;
540 std::string DY("DY");
541 std::string DYBOOSTED("DYBOOSTED");
542 if( sample.name == DY && !boost )
543 sampleCut = true;
544 else if( sample.name == DYBOOSTED && boost )
545 sampleCut = true;
546 else if( sample.name != DY && sample.name != DYBOOSTED )
547 sampleCut = true;
548 else sampleCut=false;
549 iType = (VType)p.Vtype;
550 return ( sampleCut == true
551 && p.Vtype == 2
552 && p.vLepton_pt[0] > 30.
553 && p.CountAddLeptons() == 0
554 && p.MET_et > 30
555 && p.hJet_pt[0] > 30.
556 && p.hJet_pt[1] > 30.
557 && p.hJet_pt[0] > CSVC
558 && p.hJet_pt[1] > CSVC
559 && ( p.hJet_pt[0] > CSVT
560 || p.hJet_pt[1] > CSVT )
561 && p.CountAddJets() < 2
562 && p.EVENT_json == true
563 && p.hbhe == true
564 && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) );
565 }
566 double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
567 };
568
569 class SingleTopRegionHWmnu: public CutSample {
570
571 std::string name() {return "SingleTopRegionHWmnu";};
572 public:
573 Bool_t pass(ntupleReader &p){
574 iType = (VType)p.Vtype;
575 return ( p.Vtype == 2
576 && p.vLepton_pt[0] > 30.
577 && p.CountAddLeptons() == 0
578 && p.MET_et > 30
579 && p.hJet_pt[0] > 30.
580 && p.hJet_pt[1] > 30.
581 && p.hJet_csv[0] > CSVC
582 && p.hJet_csv[1] > CSVC
583 && ( p.hJet_csv[0] > CSVT
584 || p.hJet_csv[1] > CSVT )
585 && p.CountAddJets() < 2
586 && p.CountAddForwardJets() == 1
587 && p.EVENT_json == true
588 && p.hbhe == true
589 && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) );
590 }
591 Bool_t pass(ntupleReader &p, Sample &sample){
592 bool sampleCut = false;
593 bool boost = false;
594 if(p.genZpt >= 120)
595 boost = true;
596 std::string DY("DY");
597 std::string DYBOOSTED("DYBOOSTED");
598 if( sample.name == DY && !boost )
599 sampleCut = true;
600 else if( sample.name == DYBOOSTED && boost )
601 sampleCut = true;
602 else if( sample.name != DY && sample.name != DYBOOSTED )
603 sampleCut = true;
604 else sampleCut=false;
605 iType = (VType)p.Vtype;
606 return ( sampleCut == true
607 && p.Vtype == 2
608 && p.vLepton_pt[0] > 30.
609 && p.CountAddLeptons() == 0
610 && p.MET_et > 30
611 && p.hJet_pt[0] > 30.
612 && p.hJet_pt[1] > 30.
613 && p.hJet_pt[0] > CSVC
614 && p.hJet_pt[1] > CSVC
615 && ( p.hJet_pt[0] > CSVT
616 || p.hJet_pt[1] > CSVT )
617 && p.CountAddForwardJets() == 1
618 && p.CountAddJets() < 2
619 && p.EVENT_json == true
620 && p.hbhe == true
621 && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) );
622 }
623 double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
624 };
625
626
627 class ZZRegionZee: public CutSample {
628 std::string name() {return "ZZRegionZee";};
629 public:
630 Bool_t pass(ntupleReader &p){
631 return( p.Vtype == 1
632 && p.V_mass > 75.
633 && p.V_mass < 105.
634 && p.EVENT_json == true
635 && p.hbhe == true
636 //&& p.CountAddJets() < 2
637 && p. MET_et < 30
638 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
639 }
640 Bool_t pass(ntupleReader &p, Sample &sample){
641 bool sampleCut = false;
642 bool boost = false;
643 bool isB = false;
644 if(p.genZpt >= 120)
645 boost = true;
646 if(p.eventFlav == 5)
647 isB = true;
648 std::string DY("DY");
649 std::string DYBOOSTED("DYBOOSTED");
650 if( sample.name == DY && !boost )
651 sampleCut = true;
652 else if( sample.name == DYBOOSTED && boost )
653 sampleCut = true;
654 else if( sample.name != DY && sample.name != DYBOOSTED )
655 sampleCut = true;
656 else
657 sampleCut=false;
658 return( sampleCut == true
659 && p.Vtype == 1
660 && p.V_mass > 75.
661 && p.V_mass < 105.
662 && p.EVENT_json == true
663 && p.hbhe == true
664 // && p.CountAddJets() < 2
665 && p. MET_et < 30
666 && ( p.triggerFlags[5] || p.triggerFlags[6] ) );
667 }
668 double weight(ntupleReader &p, Sample &sample) {if(sample.data) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); }
669 };
670
671
672
673
674 /* class ZSVRegionHZee: public CutSample { */
675
676 /* std::string name() {return "ZSVRegionHZee";}; */
677 /* public: */
678 /* Bool_t pass(ntupleReader &p){ */
679 /* iType = (VType)p.Vtype; */
680 /* return ( p.Vtype == 1 */
681 /* && p.V_mass > 75. */
682 /* && p.V_mass < 105. */
683 /* && p.nSvs == 2 */
684 /* && p.EVENT_json == true */
685 /* && p.hbhe == true */
686 /* && ( p.triggerFlags[5] || p.triggerFlags[6] ) ); */
687 /* } */
688 /* Bool_t pass(ntupleReader &p, Sample &sample){ */
689 /* bool sampleCut = false; */
690 /* bool boost = false; */
691 /* if(p.genZpt >= 120) */
692 /* boost = true; */
693 /* std::string DY("DY"); */
694 /* std::string DYBOOSTED("DYBOOSTED"); */
695 /* if( sample.name == DY && !boost ) */
696 /* sampleCut = true; */
697 /* else if( sample.name == DYBOOSTED && boost ) */
698 /* sampleCut = true; */
699 /* else if( sample.name != DY && sample.name != DYBOOSTED ) */
700 /* sampleCut = true; */
701 /* else sampleCut=false; */
702 /* iType = (VType)p.Vtype; */
703 /* return ( sampleCut == true */
704 /* && p.Vtype == 1 */
705 /* && p.V_mass > 75. */
706 /* && p.V_mass < 105. */
707 /* && p.nSvs == 2 */
708 /* && p.EVENT_json == true */
709 /* && p.hbhe == true */
710 /* && ( p.triggerFlags[5] || p.triggerFlags[6] ) ); */
711 /* } */
712 /* double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); } */
713 /* }; */
714
715
716 /* class ZSVRegionHZmm: public CutSample { */
717
718 /* std::string name() {return "ZSVRegionHZmm";}; */
719 /* public: */
720 /* Bool_t pass(ntupleReader &p){ */
721 /* iType = (VType)p.Vtype; */
722 /* return ( p.Vtype == 0 */
723 /* && p.V_mass > 75. */
724 /* && p.V_mass < 105. */
725 /* && p.nSvs == 2 */
726 /* && p.EVENT_json == true */
727 /* && p.hbhe == true */
728 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ); */
729 /* } */
730 /* Bool_t pass(ntupleReader &p, Sample &sample){ */
731 /* bool sampleCut = false; */
732 /* bool boost = false; */
733 /* if(p.genZpt >= 120) */
734 /* boost = true; */
735 /* std::string DY("DY"); */
736 /* std::string DYBOOSTED("DYBOOSTED"); */
737 /* if( sample.name == DY && !boost ) */
738 /* sampleCut = true; */
739 /* else if( sample.name == DYBOOSTED && boost ) */
740 /* sampleCut = true; */
741 /* else if( sample.name != DY && sample.name != DYBOOSTED ) */
742 /* sampleCut = true; */
743 /* else sampleCut=false; */
744 /* iType = (VType)p.Vtype; */
745 /* return ( sampleCut == true */
746 /* && p.Vtype == 0 */
747 /* && p.V_mass > 75. */
748 /* && p.V_mass < 105. */
749 /* && p.nSvs == 2 */
750 /* && p.EVENT_json == true */
751 /* && p.hbhe == true */
752 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ); */
753 /* } */
754 /* double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); } */
755 /* }; */
756
757
758
759 /* class ZSVRegionHZcomb: public CutSample { */
760
761 /* std::string name() {return "ZSVRegionHZcomb";}; */
762 /* public: */
763 /* Bool_t pass(ntupleReader &p){ */
764 /* iType = (VType)p.Vtype; */
765 /* return ( ( p.Vtype == 1 */
766 /* && p.V_mass > 75. */
767 /* && p.V_mass < 105. */
768 /* && p.nSvs == 2 */
769 /* && p.EVENT_json == true */
770 /* && p.hbhe == true */
771 /* && ( p.triggerFlags[5] || p.triggerFlags[6] ) ) */
772 /* || ( p.Vtype == 0 */
773 /* && p.V_mass > 75. */
774 /* && p.V_mass < 105. */
775 /* && p.nSvs == 2 */
776 /* && p.EVENT_json == true */
777 /* && p.hbhe == true */
778 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ) ); */
779 /* } */
780 /* Bool_t pass(ntupleReader &p, Sample &sample){ */
781 /* bool sampleCut = false; */
782 /* bool boost = false; */
783 /* if(p.genZpt >= 120) */
784 /* boost = true; */
785 /* std::string DY("DY"); */
786 /* std::string DYBOOSTED("DYBOOSTED"); */
787 /* if( sample.name == DY && !boost ) */
788 /* sampleCut = true; */
789 /* else if( sample.name == DYBOOSTED && boost ) */
790 /* sampleCut = true; */
791 /* else if( sample.name != DY && sample.name != DYBOOSTED ) */
792 /* sampleCut = true; */
793 /* else sampleCut=false; */
794 /* iType = (VType)p.Vtype; */
795 /* return ( sampleCut == true */
796 /* && ( p.Vtype == 1 */
797 /* && p.V_mass > 75. */
798 /* && p.V_mass < 105. */
799 /* && p.nSvs == 2 */
800 /* && p.EVENT_json == true */
801 /* && p.hbhe == true */
802 /* && ( p.triggerFlags[5] || p.triggerFlags[6] ) */
803 /* || ( p.Vtype == 0 */
804 /* && p.V_mass > 75. */
805 /* && p.V_mass < 105. */
806 /* && p.nSvs == 2 */
807 /* && p.EVENT_json == true */
808 /* && p.hbhe == true */
809 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ) ) ); */
810 /* } */
811 /* double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); } */
812 /* }; */
813
814
815
816
817 /* class ZSVPureRegionHZee: public CutSample { */
818
819 /* std::string name() {return "ZSVPureRegionHZee";}; */
820 /* public: */
821 /* Bool_t pass(ntupleReader &p){ */
822 /* iType = (VType)p.Vtype; */
823 /* return ( p.Vtype == 1 */
824 /* && p.V_mass > 75. */
825 /* && p.V_mass < 105. */
826 /* && p.nSvs == 2 */
827 /* && p.MET_et < 40. */
828 /* && p.EVENT_json == true */
829 /* && p.hbhe == true */
830 /* && ( p.triggerFlags[5] || p.triggerFlags[6] ) ); */
831 /* } */
832 /* Bool_t pass(ntupleReader &p, Sample &sample){ */
833 /* bool sampleCut = false; */
834 /* bool boost = false; */
835 /* if(p.genZpt >= 120) */
836 /* boost = true; */
837 /* std::string DY("DY"); */
838 /* std::string DYBOOSTED("DYBOOSTED"); */
839 /* if( sample.name == DY && !boost ) */
840 /* sampleCut = true; */
841 /* else if( sample.name == DYBOOSTED && boost ) */
842 /* sampleCut = true; */
843 /* else if( sample.name != DY && sample.name != DYBOOSTED ) */
844 /* sampleCut = true; */
845 /* else sampleCut=false; */
846 /* iType = (VType)p.Vtype; */
847 /* return ( sampleCut == true */
848 /* && p.Vtype == 1 */
849 /* && p.V_mass > 75. */
850 /* && p.V_mass < 105. */
851 /* && p.nSvs == 2 */
852 /* && p.MET_et < 40. */
853 /* && p.EVENT_json == true */
854 /* && p.hbhe == true */
855 /* && ( p.triggerFlags[5] || p.triggerFlags[6] ) ); */
856 /* } */
857 /* double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); } */
858 /* }; */
859
860
861 /* class ZSVPureRegionHZmm: public CutSample { */
862
863 /* std::string name() {return "ZSVPureRegionHZmm";}; */
864 /* public: */
865 /* Bool_t pass(ntupleReader &p){ */
866 /* iType = (VType)p.Vtype; */
867 /* return ( p.Vtype == 0 */
868 /* && p.V_mass > 75. */
869 /* && p.V_mass < 105. */
870 /* && p.nSvs == 2 */
871 /* && p.MET_et < 40. */
872 /* && p.EVENT_json == true */
873 /* && p.hbhe == true */
874 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ); */
875 /* } */
876 /* Bool_t pass(ntupleReader &p, Sample &sample){ */
877 /* bool sampleCut = false; */
878 /* bool boost = false; */
879 /* if(p.genZpt >= 120) */
880 /* boost = true; */
881 /* std::string DY("DY"); */
882 /* std::string DYBOOSTED("DYBOOSTED"); */
883 /* if( sample.name == DY && !boost ) */
884 /* sampleCut = true; */
885 /* else if( sample.name == DYBOOSTED && boost ) */
886 /* sampleCut = true; */
887 /* else if( sample.name != DY && sample.name != DYBOOSTED ) */
888 /* sampleCut = true; */
889 /* else sampleCut=false; */
890 /* iType = (VType)p.Vtype; */
891 /* return ( sampleCut == true */
892 /* && p.Vtype == 0 */
893 /* && p.V_mass > 75. */
894 /* && p.V_mass < 105. */
895 /* && p.nSvs == 2 */
896 /* && p.MET_et < 40. */
897 /* && p.EVENT_json == true */
898 /* && p.hbhe == true */
899 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ); */
900 /* } */
901 /* double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); } */
902 /* }; */
903
904
905
906 /* class ZSVPureRegionHZcomb: public CutSample { */
907
908 /* std::string name() {return "ZSVPureRegionHZcomb";}; */
909 /* public: */
910 /* Bool_t pass(ntupleReader &p){ */
911 /* iType = (VType)p.Vtype; */
912 /* return ( ( p.Vtype == 1 */
913 /* && p.V_mass > 75. */
914 /* && p.V_mass < 105. */
915 /* && p.MET_et < 40. */
916 /* && p.nSvs == 2 */
917 /* && p.EVENT_json == true */
918 /* && p.hbhe == true */
919 /* && ( p.triggerFlags[5] || p.triggerFlags[6] ) ) */
920 /* || ( p.Vtype == 0 */
921 /* && p.V_mass > 75. */
922 /* && p.V_mass < 105. */
923 /* && p.MET_et < 40. */
924 /* && p.nSvs == 2 */
925 /* && p.EVENT_json == true */
926 /* && p.hbhe == true */
927 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ) ); */
928 /* } */
929 /* Bool_t pass(ntupleReader &p, Sample &sample){ */
930 /* bool sampleCut = false; */
931 /* bool boost = false; */
932 /* if(p.genZpt >= 120) */
933 /* boost = true; */
934 /* std::string DY("DY"); */
935 /* std::string DYBOOSTED("DYBOOSTED"); */
936 /* if( sample.name == DY && !boost ) */
937 /* sampleCut = true; */
938 /* else if( sample.name == DYBOOSTED && boost ) */
939 /* sampleCut = true; */
940 /* else if( sample.name != DY && sample.name != DYBOOSTED ) */
941 /* sampleCut = true; */
942 /* else sampleCut=false; */
943 /* iType = (VType)p.Vtype; */
944 /* return ( sampleCut == true */
945 /* && ( p.Vtype == 1 */
946 /* && p.V_mass > 75. */
947 /* && p.V_mass < 105. */
948 /* && p.nSvs == 2 */
949 /* && p.MET_et < 40. */
950 /* && p.EVENT_json == true */
951 /* && p.hbhe == true */
952 /* && ( p.triggerFlags[5] || p.triggerFlags[6] ) */
953 /* || ( p.Vtype == 0 */
954 /* && p.V_mass > 75. */
955 /* && p.V_mass < 105. */
956 /* && p.nSvs == 2 */
957 /* && p.MET_et < 40. */
958 /* && p.EVENT_json == true */
959 /* && p.hbhe == true */
960 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ) ) ); */
961 /* } */
962 /* double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); } */
963 /* }; */
964
965
966 /* class ZSVTTbarPureRegionHZcomb: public CutSample { */
967
968 /* std::string name() {return "ZSVTTbarPureRegionHZcomb";}; */
969 /* public: */
970 /* Bool_t pass(ntupleReader &p){ */
971 /* iType = (VType)p.Vtype; */
972 /* return ( ( p.Vtype == 1 */
973 /* && p.V_mass > 120. */
974 /* && p.nSvs == 2 */
975 /* && p.EVENT_json == true */
976 /* && p.hbhe == true */
977 /* && ( p.triggerFlags[5] || p.triggerFlags[6] ) ) */
978 /* || ( p.Vtype == 0 */
979 /* && p.V_mass > 120. */
980 /* && p.nSvs == 2 */
981 /* && p.EVENT_json == true */
982 /* && p.hbhe == true */
983 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ) ); */
984 /* } */
985 /* Bool_t pass(ntupleReader &p, Sample &sample){ */
986 /* bool sampleCut = false; */
987 /* bool boost = false; */
988 /* if(p.genZpt >= 120) */
989 /* boost = true; */
990 /* std::string DY("DY"); */
991 /* std::string DYBOOSTED("DYBOOSTED"); */
992 /* if( sample.name == DY && !boost ) */
993 /* sampleCut = true; */
994 /* else if( sample.name == DYBOOSTED && boost ) */
995 /* sampleCut = true; */
996 /* else if( sample.name != DY && sample.name != DYBOOSTED ) */
997 /* sampleCut = true; */
998 /* else sampleCut=false; */
999 /* iType = (VType)p.Vtype; */
1000 /* return ( sampleCut == true */
1001 /* && ( p.Vtype == 1 */
1002 /* && p.V_mass > 120. */
1003 /* && p.nSvs == 2 */
1004 /* && p.EVENT_json == true */
1005 /* && p.hbhe == true */
1006 /* && ( p.triggerFlags[5] || p.triggerFlags[6] ) */
1007 /* || ( p.Vtype == 0 */
1008 /* && p.V_mass > 120. */
1009 /* && p.nSvs == 2 */
1010 /* && p.EVENT_json == true */
1011 /* && p.hbhe == true */
1012 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ) ) ); */
1013 /* } */
1014 /* double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); } */
1015 /* }; */
1016
1017
1018
1019 /* class WSVRegionHWmnu: public CutSample { */
1020
1021 /* std::string name() {return "WSVRegionHWmnu";}; */
1022 /* public: */
1023 /* Bool_t pass(ntupleReader &p){ */
1024 /* iType = (VType)p.Vtype; */
1025 /* return ( p.Vtype == 2 */
1026 /* && p.vLepton_pt[0] > 30. */
1027 /* && p.CountAddLeptons() == 0 */
1028 /* && p.MET_et > 30 */
1029 /* && p.nSvs == 2 */
1030 /* && p.EVENT_json == true */
1031 /* && p.hbhe == true */
1032 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ); */
1033 /* } */
1034 /* Bool_t pass(ntupleReader &p, Sample &sample){ */
1035 /* bool sampleCut = false; */
1036 /* bool boost = false; */
1037 /* if(p.genZpt >= 120) */
1038 /* boost = true; */
1039 /* std::string DY("DY"); */
1040 /* std::string DYBOOSTED("DYBOOSTED"); */
1041 /* if( sample.name == DY && !boost ) */
1042 /* sampleCut = true; */
1043 /* else if( sample.name == DYBOOSTED && boost ) */
1044 /* sampleCut = true; */
1045 /* else if( sample.name != DY && sample.name != DYBOOSTED ) */
1046 /* sampleCut = true; */
1047 /* else sampleCut=false; */
1048 /* iType = (VType)p.Vtype; */
1049 /* return ( sampleCut == true */
1050 /* && p.Vtype == 2 */
1051 /* && p.vLepton_pt[0] > 30. */
1052 /* && p.CountAddLeptons() == 0 */
1053 /* && p.MET_et > 30 */
1054 /* && p.nSvs == 2 */
1055 /* && p.EVENT_json == true */
1056 /* && p.hbhe == true */
1057 /* && (((p.EVENT_run<173198 && (p.triggerFlags[0]>0 || p.triggerFlags[13]>0 || p.triggerFlags[14]>0 || p.triggerFlags[20]>0 || p.triggerFlags[21]>0)) || (p.EVENT_run>=173198 && p.EVENT_run<175832 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0))|| (p.EVENT_run>=175832 && p.EVENT_run<178390 && (p.triggerFlags[13]>0 ||p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0)) || (p.EVENT_run>=178390 && (p.triggerFlags[14]>0 ||p.triggerFlags[15]>0 || p.triggerFlags[21]>0 || p.triggerFlags[22]>0 || p.triggerFlags[23]>0 || p.triggerFlags[24]>0 || p.triggerFlags[25]>0 || p.triggerFlags[26]>0 || p.triggerFlags[27]>0)))) ); */
1058 /* } */
1059 /* double weight(ntupleReader &p, Sample &sample){ if( sample.data ) return 1; else return ((fA*p.PUweight+fB*p.PUweight2011B)*p.weightTrig); } */
1060 /* }; */
1061
1062
1063 #endif