ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/PollackPrograms/src/TCTau.h
Revision: 1.2
Committed: Wed Feb 20 21:39:44 2013 UTC (12 years, 2 months ago) by bpollack
Content type: text/plain
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +2 -15 lines
Log Message:
commiting moriond analysis package

File Contents

# User Rev Content
1 bpollack 1.1 #ifndef _TCTau_H
2     #define _TCTau_H
3    
4     #include "TObject.h"
5     #include "TLorentzVector.h"
6 bpollack 1.2 #include "TCPhysObject.h"
7 bpollack 1.1 #include <vector>
8    
9 bpollack 1.2 class TCTau : public TCPhysObject {
10 bpollack 1.1 private:
11     TVector3 _positionFromTauObject;
12     TVector3 _positionFromLeadTrack;
13    
14     int nChHad;
15     int nGamma;
16     int nNeutrHad;
17     int decayMode;
18    
19     TLorentzVector leadChHadP4;
20     TLorentzVector leadNeutrP4;
21    
22     float isoGammaEtSum;
23     float isoChHadPtSum;
24    
25    
26     // Discriminators - names as used in CMSSW
27     // For the most part the discriminators are binary
28    
29     // HPS discriminators ---------
30     //
31     // against e,mu misidentification
32     float hpsPFTauDiscriminationAgainstElectronLoose;
33     float hpsPFTauDiscriminationAgainstMuonLoose;
34     float hpsPFTauDiscriminationAgainstElectronMedium;
35     float hpsPFTauDiscriminationAgainstMuonMedium;
36     float hpsPFTauDiscriminationAgainstElectronTight;
37     float hpsPFTauDiscriminationAgainstMuonTight;
38    
39     // by decay mode
40     float hpsPFTauDiscriminationByDecayModeFinding;
41    
42     // by charged isolation
43     float hpsPFTauDiscriminationByVLooseIsolation;
44     float hpsPFTauDiscriminationByLooseIsolation;
45     float hpsPFTauDiscriminationByMediumIsolation;
46     float hpsPFTauDiscriminationByTightIsolation;
47    
48     // with iso corrections
49     float hpsPFTauDiscriminationByVLooseIsolationDBSumPtCorr;
50     float hpsPFTauDiscriminationByLooseIsolationDBSumPtCorr;
51     float hpsPFTauDiscriminationByMediumIsolationDBSumPtCorr;
52     float hpsPFTauDiscriminationByTightIsolationDBSumPtCorr;
53    
54     // by combined isolation with iso corrections
55     float hpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr;
56     float hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr;
57     float hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr;
58     float hpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr;
59    
60    
61     public:
62     TCTau();
63     virtual ~TCTau();
64    
65     TVector3 PositionFromTrack() const;
66     TVector3 PositionFromTau() const;
67    
68     int DecayMode() const { return decayMode; }
69     int NChHad() const {return nChHad; }
70     int NGamma() const {return nGamma; }
71     int NNeutrHad() const {return nNeutrHad; }
72    
73     TLorentzVector LeadChHadP4() const { return leadChHadP4; }
74     TLorentzVector LeadNeutrP4() const { return leadNeutrP4; }
75    
76     float IsoGammaEtSum() { return isoGammaEtSum; }
77     float IsoChHadPtSum() { return isoChHadPtSum; }
78    
79     void SetDecayMode(int d) {decayMode = d; }
80     void SetNChHad(int n) { nChHad = n; }
81     void SetNGamma(int n) { nGamma = n; }
82     void SetNNeutrHad(int n) { nNeutrHad = n; }
83    
84     void SetPositionFromTau(float x, float y, float z);
85     void SetPositionFromTrack(float x, float y, float z);
86    
87     void SetLeadChHadP4(TLorentzVector p4) { leadChHadP4 = p4; }
88     void SetLeadNeutrP4(TLorentzVector p4) { leadNeutrP4 = p4; }
89    
90     void SetLeadChHadP4(float x, float y, float z, float e) { leadChHadP4.SetPxPyPzE(x,y,z,e); }
91     void SetLeadNeutrP4(float x, float y, float z, float e) { leadNeutrP4.SetPxPyPzE(x,y,z,e); }
92    
93     void SetIsoGammaEtSum(float i) { isoGammaEtSum = i; }
94     void SetIsoChHadPtSum(float i) { isoChHadPtSum = i; }
95    
96    
97     // Discriminators: for now only for HPS
98    
99     // HPS
100     float GetHpsPFTauDiscriminationAgainstElectronLoose() {
101     return hpsPFTauDiscriminationAgainstElectronLoose;
102     }
103     float GetHpsPFTauDiscriminationAgainstMuonLoose() {
104     return hpsPFTauDiscriminationAgainstMuonLoose;
105     }
106     float GetHpsPFTauDiscriminationAgainstElectronMedium() {
107     return hpsPFTauDiscriminationAgainstElectronMedium;
108     }
109     float GetHpsPFTauDiscriminationAgainstMuonMedium() {
110     return hpsPFTauDiscriminationAgainstMuonMedium;
111     }
112     float GetHpsPFTauDiscriminationAgainstElectronTight() {
113     return hpsPFTauDiscriminationAgainstElectronTight;
114     }
115     float GetHpsPFTauDiscriminationAgainstMuonTight() {
116     return hpsPFTauDiscriminationAgainstMuonTight;
117     }
118     float GetHpsPFTauDiscriminationByDecayModeFinding() {
119     return hpsPFTauDiscriminationByDecayModeFinding;
120     }
121     float GetHpsPFTauDiscriminationByVLooseIsolation() {
122     return hpsPFTauDiscriminationByVLooseIsolation;
123     }
124     float GetHpsPFTauDiscriminationByLooseIsolation() {
125     return hpsPFTauDiscriminationByLooseIsolation;
126     }
127     float GetHpsPFTauDiscriminationByMediumIsolation() {
128     return hpsPFTauDiscriminationByMediumIsolation;
129     }
130     float GetHpsPFTauDiscriminationByTightIsolation() {
131     return hpsPFTauDiscriminationByTightIsolation;
132     }
133    
134    
135    
136     float GetHpsPFTauDiscriminationByVLooseIsolationDBSumPtCorr() {
137     return hpsPFTauDiscriminationByVLooseIsolationDBSumPtCorr;
138     }
139     float GetHpsPFTauDiscriminationByLooseIsolationDBSumPtCorr() {
140     return hpsPFTauDiscriminationByLooseIsolationDBSumPtCorr;
141     }
142     float GetHpsPFTauDiscriminationByMediumIsolationDBSumPtCorr() {
143     return hpsPFTauDiscriminationByMediumIsolationDBSumPtCorr;
144     }
145     float GetHpsPFTauDiscriminationByTightIsolationDBSumPtCorr() {
146     return hpsPFTauDiscriminationByTightIsolationDBSumPtCorr;
147     }
148    
149    
150     float GetHpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr() {
151     return hpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr;
152     }
153     float GetHpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr() {
154     return hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr;
155     }
156     float GetHpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr() {
157     return hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr;
158     }
159     float GetHpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr() {
160     return hpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr;
161     }
162    
163    
164    
165     // HPS discriminator setters
166     void SetHpsPFTauDiscriminationAgainstElectronLoose(float f) {
167     hpsPFTauDiscriminationAgainstElectronLoose = f;
168     }
169     void SetHpsPFTauDiscriminationAgainstMuonLoose(float f) {
170     hpsPFTauDiscriminationAgainstMuonLoose = f;
171     }
172     void SetHpsPFTauDiscriminationAgainstElectronMedium(float f) {
173     hpsPFTauDiscriminationAgainstElectronMedium = f;
174     }
175     void SetHpsPFTauDiscriminationAgainstMuonMedium(float f) {
176     hpsPFTauDiscriminationAgainstMuonMedium = f;
177     }
178     void SetHpsPFTauDiscriminationAgainstElectronTight(float f) {
179     hpsPFTauDiscriminationAgainstElectronTight = f;
180     }
181     void SetHpsPFTauDiscriminationAgainstMuonTight(float f) {
182     hpsPFTauDiscriminationAgainstMuonTight = f;
183     }
184     void SetHpsPFTauDiscriminationByDecayModeFinding(float f) {
185     hpsPFTauDiscriminationByDecayModeFinding = f;
186     }
187     void SetHpsPFTauDiscriminationByVLooseIsolation(float f) {
188     hpsPFTauDiscriminationByVLooseIsolation = f;
189     }
190     void SetHpsPFTauDiscriminationByLooseIsolation(float f) {
191     hpsPFTauDiscriminationByLooseIsolation = f;
192     }
193     void SetHpsPFTauDiscriminationByMediumIsolation(float f) {
194     hpsPFTauDiscriminationByMediumIsolation = f;
195     }
196     void SetHpsPFTauDiscriminationByTightIsolation(float f) {
197     hpsPFTauDiscriminationByTightIsolation = f;
198     }
199    
200     void SetHpsPFTauDiscriminationByVLooseIsolationDBSumPtCorr(float f) {
201     hpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr = f;
202     }
203     void SetHpsPFTauDiscriminationByLooseIsolationDBSumPtCorr(float f) {
204     hpsPFTauDiscriminationByLooseIsolationDBSumPtCorr = f;
205     }
206     void SetHpsPFTauDiscriminationByMediumIsolationDBSumPtCorr(float f) {
207     hpsPFTauDiscriminationByMediumIsolationDBSumPtCorr = f;
208     }
209     void SetHpsPFTauDiscriminationByTightIsolationDBSumPtCorr(float f) {
210     hpsPFTauDiscriminationByTightIsolationDBSumPtCorr = f;
211     }
212    
213    
214     void SetHpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr(float f) {
215     hpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr = f;
216     }
217     void SetHpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr(float f) {
218     hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr = f;
219     }
220     void SetHpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr(float f) {
221     hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr = f;
222     }
223     void SetHpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr(float f) {
224     hpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr = f;
225     }
226    
227    
228     ClassDef(TCTau, 5);
229    
230     };
231    
232     #endif