ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/VHbbAnalysis/HbbAnalyzer/interface/VHbbCandidateTools.h
Revision: 1.2
Committed: Tue Jun 21 16:22:47 2011 UTC (13 years, 10 months ago) by tboccali
Content type: text/plain
Branch: MAIN
CVS Tags: Jun21th2011
Changes since 1.1: +2 -0 lines
Log Message:
lower lepton pt for preselection to 15

File Contents

# Content
1 #ifndef VHBBCANDIDATETOOLS_H
2 #define VHBBCANDIDATETOOLS_H
3
4 #include "VHbbAnalysis/HbbAnalyzer/interface/VHbbCandidate.h"
5
6 class VbbCandidateTools {
7 public:
8 float deltaPhi(float in2, float in1){
9 float dphi = in2-i1;
10 if ( dphi > M_PI ) {
11 dphi -= 2.0*M_PI;
12 } else if ( dphi <= -M_PI ) {
13 dphi += 2.0*M_PI;
14 }
15 return dphi;
16 }
17
18 VHbbCandidate getHZmumuCandidate(const VHbbCandidate & in, bool & ok){
19 ok = false;
20 VHbbCandidate temp=in;
21 if (temp.V.muons.size()!=2) return in ;
22 temp.V.fourMomentum = temp.V.muons.muons[0].fourMomentum+temp.V.muons.muons[1].fourMomentum;
23 temp.fourMomentum = temp.V.fourMomentum+ temp.H.fourMomentum;
24
25 if (temp.V.muons.muons[0].fourMomentum.Pt()<20 || temp.V.muons.muons[1].fourMomentum.Pt()<20 ) return in;
26
27 if (temp.V.Pt()<150 ) return in;
28 if (temp.H.Pt()<150) return in;
29 if (temp.H.firstJet().csv< 0.9) return in;
30 if (temp.H.secondJet().csv<0.5) return in;
31 if (deltaPhi(temp.V.Phi(),temp.H.Phi())<2.7) return in;
32 if (temp.V.FourMomentum.Mass()<75 || temp.V.FourMomentum.Mass()>105) return in;
33 if (temp.additionalJets.size()>0) return in;
34 // if (std::Abs(deltaTheta) ????
35 ok = true;
36 return temp;
37 }
38 VHbbCandidate getHZeeCandidate(const VHbbCandidate & in, bool & ok){
39 ok = false;
40 VHbbCandidate temp=in;
41 if (temp.V.electrons.size()!=2) return in ;
42 temp.V.fourMomentum = temp.V.electrons[0].fourMomentum+temp.V.electrons[1].fourMomentum;
43 temp.fourMomentum = temp.V.fourMomentum+ temp.H.fourMomentum;
44
45 //
46 // i need to ask VBTF and pt NEEDS ADJUSTING!!!!!
47 //
48 if (temp.V.electrons[0].fourMomentum.Pt()<20 ||temp.V.electrons[1].fourMomentum.Pt()<20 ) return in;
49 if (temp.V.electrons[0].id95r < -100000 ||temp.V.electrons[1].id95r < -100000) return in;
50
51 if (temp.V.Pt()<150 ) return in;
52 if (temp.H.Pt()<150) return in;
53 if (temp.H.firstJet().csv< 0.9) return in;
54 if (temp.H.secondJet().csv<0.5) return in;
55 if (deltaPhi(temp.V.Phi(),temp.H.Phi())<2.7) return in;
56 if (temp.V.FourMomentum.Mass()<75 || temp.V.FourMomentum.Mass()>105) return in;
57 if (temp.additionalJets.size()>0) return in;
58 // if (std::Abs(deltaTheta) ????
59 ok = true;
60 return temp;
61 }
62 VHbbCandidate getHZnnCandidate(const VHbbCandidate & in, bool & ok){
63 ok = false;
64 VHbbCandidate temp=in;
65 if (temp.V.mets.size()!=1) return in;
66 temp.V.fourMomentum = temp.V.mets[0].fourMomentum;
67 temp.fourMomentum = temp.V.fourMomentum+temp.H.fourMomentum;
68
69 if (temp.V.mets[0].metSig<5) return in;
70 if (temp.V.mets[0].sumEt<150) return in;
71 if (temp.H.fourMomentum.Pt()<150)return in;
72 if (temp.H.firstJet().csv< 0.9) return in;
73 if (temp.H.secondJet().csv<0.5) return in;
74 if (deltaPhi(temp.V.Phi(),temp.H.Phi())<2.95) return in;
75 if (temp.V.electrons.size()>0 || temp.V.muons.size()>0 ) return in;
76 if (temp.additionalJets.size()>0) return in;
77 // if (std::Abs(deltaTheta) ????
78
79 ok = true;
80 return temp;
81 }
82
83 VHbbCandidate getHWmunCandidate(const VHbbCandidate & in, bool & ok){
84 ok = false;
85 VHbbCandidate temp=in;
86 if (temp.V.muons.size()!=1) return in ;
87 //
88 // not clear to me, where is MET? it is not used????
89 //
90 return in;
91 }
92
93 VHbbCandidate getHWenCandidate(const VHbbCandidate & in, bool & ok){
94 ok = false;
95 VHbbCandidate temp=in;
96 if (temp.V.electrons.size()!=1) return in ;
97 //
98 // not clear to me, where is MET? it is not used????
99 //
100 return in;
101 }
102
103 };
104
105
106
107 #endif
108
109