ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/PollackPrograms/src/TCTau.h
Revision: 1.1
Committed: Tue Jul 24 20:24:58 2012 UTC (12 years, 9 months ago) by bpollack
Content type: text/plain
Branch: MAIN
Log Message:
adding a cleaned-up analyzer for 2012

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     #include <vector>
7    
8     class TCTau : public TLorentzVector {
9     private:
10     TVector3 _positionFromTauObject;
11     TVector3 _positionFromLeadTrack;
12    
13     int tauCharge;
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    
62    
63    
64    
65    
66     public:
67     TCTau();
68     virtual ~TCTau();
69    
70     TVector3 PositionFromTrack() const;
71     TVector3 PositionFromTau() const;
72    
73     TVector2 P2() const;
74    
75     int DecayMode() const { return decayMode; }
76     int Charge() const {return tauCharge; }
77     int NChHad() const {return nChHad; }
78     int NGamma() const {return nGamma; }
79     int NNeutrHad() const {return nNeutrHad; }
80    
81     TLorentzVector LeadChHadP4() const { return leadChHadP4; }
82     TLorentzVector LeadNeutrP4() const { return leadNeutrP4; }
83    
84     float IsoGammaEtSum() { return isoGammaEtSum; }
85     float IsoChHadPtSum() { return isoChHadPtSum; }
86    
87    
88    
89     void SetDecayMode(int d) {decayMode = d; }
90     void SetCharge(int c) { tauCharge = c; }
91     void SetNChHad(int n) { nChHad = n; }
92     void SetNGamma(int n) { nGamma = n; }
93     void SetNNeutrHad(int n) { nNeutrHad = n; }
94    
95     void SetPositionFromTau(float x, float y, float z);
96     void SetPositionFromTrack(float x, float y, float z);
97    
98    
99     void SetLeadChHadP4(TLorentzVector p4) { leadChHadP4 = p4; }
100     void SetLeadNeutrP4(TLorentzVector p4) { leadNeutrP4 = p4; }
101    
102     void SetLeadChHadP4(float x, float y, float z, float e) { leadChHadP4.SetPxPyPzE(x,y,z,e); }
103     void SetLeadNeutrP4(float x, float y, float z, float e) { leadNeutrP4.SetPxPyPzE(x,y,z,e); }
104    
105    
106     void SetIsoGammaEtSum(float i) { isoGammaEtSum = i; }
107     void SetIsoChHadPtSum(float i) { isoChHadPtSum = i; }
108    
109    
110     // Discriminators: for now only for HPS
111    
112     // HPS
113     float GetHpsPFTauDiscriminationAgainstElectronLoose() {
114     return hpsPFTauDiscriminationAgainstElectronLoose;
115     }
116     float GetHpsPFTauDiscriminationAgainstMuonLoose() {
117     return hpsPFTauDiscriminationAgainstMuonLoose;
118     }
119     float GetHpsPFTauDiscriminationAgainstElectronMedium() {
120     return hpsPFTauDiscriminationAgainstElectronMedium;
121     }
122     float GetHpsPFTauDiscriminationAgainstMuonMedium() {
123     return hpsPFTauDiscriminationAgainstMuonMedium;
124     }
125     float GetHpsPFTauDiscriminationAgainstElectronTight() {
126     return hpsPFTauDiscriminationAgainstElectronTight;
127     }
128     float GetHpsPFTauDiscriminationAgainstMuonTight() {
129     return hpsPFTauDiscriminationAgainstMuonTight;
130     }
131     float GetHpsPFTauDiscriminationByDecayModeFinding() {
132     return hpsPFTauDiscriminationByDecayModeFinding;
133     }
134     float GetHpsPFTauDiscriminationByVLooseIsolation() {
135     return hpsPFTauDiscriminationByVLooseIsolation;
136     }
137     float GetHpsPFTauDiscriminationByLooseIsolation() {
138     return hpsPFTauDiscriminationByLooseIsolation;
139     }
140     float GetHpsPFTauDiscriminationByMediumIsolation() {
141     return hpsPFTauDiscriminationByMediumIsolation;
142     }
143     float GetHpsPFTauDiscriminationByTightIsolation() {
144     return hpsPFTauDiscriminationByTightIsolation;
145     }
146    
147    
148    
149     float GetHpsPFTauDiscriminationByVLooseIsolationDBSumPtCorr() {
150     return hpsPFTauDiscriminationByVLooseIsolationDBSumPtCorr;
151     }
152     float GetHpsPFTauDiscriminationByLooseIsolationDBSumPtCorr() {
153     return hpsPFTauDiscriminationByLooseIsolationDBSumPtCorr;
154     }
155     float GetHpsPFTauDiscriminationByMediumIsolationDBSumPtCorr() {
156     return hpsPFTauDiscriminationByMediumIsolationDBSumPtCorr;
157     }
158     float GetHpsPFTauDiscriminationByTightIsolationDBSumPtCorr() {
159     return hpsPFTauDiscriminationByTightIsolationDBSumPtCorr;
160     }
161    
162    
163     float GetHpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr() {
164     return hpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr;
165     }
166     float GetHpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr() {
167     return hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr;
168     }
169     float GetHpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr() {
170     return hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr;
171     }
172     float GetHpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr() {
173     return hpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr;
174     }
175    
176    
177    
178     // HPS discriminator setters
179     void SetHpsPFTauDiscriminationAgainstElectronLoose(float f) {
180     hpsPFTauDiscriminationAgainstElectronLoose = f;
181     }
182     void SetHpsPFTauDiscriminationAgainstMuonLoose(float f) {
183     hpsPFTauDiscriminationAgainstMuonLoose = f;
184     }
185     void SetHpsPFTauDiscriminationAgainstElectronMedium(float f) {
186     hpsPFTauDiscriminationAgainstElectronMedium = f;
187     }
188     void SetHpsPFTauDiscriminationAgainstMuonMedium(float f) {
189     hpsPFTauDiscriminationAgainstMuonMedium = f;
190     }
191     void SetHpsPFTauDiscriminationAgainstElectronTight(float f) {
192     hpsPFTauDiscriminationAgainstElectronTight = f;
193     }
194     void SetHpsPFTauDiscriminationAgainstMuonTight(float f) {
195     hpsPFTauDiscriminationAgainstMuonTight = f;
196     }
197     void SetHpsPFTauDiscriminationByDecayModeFinding(float f) {
198     hpsPFTauDiscriminationByDecayModeFinding = f;
199     }
200     void SetHpsPFTauDiscriminationByVLooseIsolation(float f) {
201     hpsPFTauDiscriminationByVLooseIsolation = f;
202     }
203     void SetHpsPFTauDiscriminationByLooseIsolation(float f) {
204     hpsPFTauDiscriminationByLooseIsolation = f;
205     }
206     void SetHpsPFTauDiscriminationByMediumIsolation(float f) {
207     hpsPFTauDiscriminationByMediumIsolation = f;
208     }
209     void SetHpsPFTauDiscriminationByTightIsolation(float f) {
210     hpsPFTauDiscriminationByTightIsolation = f;
211     }
212    
213     void SetHpsPFTauDiscriminationByVLooseIsolationDBSumPtCorr(float f) {
214     hpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr = f;
215     }
216     void SetHpsPFTauDiscriminationByLooseIsolationDBSumPtCorr(float f) {
217     hpsPFTauDiscriminationByLooseIsolationDBSumPtCorr = f;
218     }
219     void SetHpsPFTauDiscriminationByMediumIsolationDBSumPtCorr(float f) {
220     hpsPFTauDiscriminationByMediumIsolationDBSumPtCorr = f;
221     }
222     void SetHpsPFTauDiscriminationByTightIsolationDBSumPtCorr(float f) {
223     hpsPFTauDiscriminationByTightIsolationDBSumPtCorr = f;
224     }
225    
226    
227     void SetHpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr(float f) {
228     hpsPFTauDiscriminationByVLooseCombinedIsolationDBSumPtCorr = f;
229     }
230     void SetHpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr(float f) {
231     hpsPFTauDiscriminationByLooseCombinedIsolationDBSumPtCorr = f;
232     }
233     void SetHpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr(float f) {
234     hpsPFTauDiscriminationByMediumCombinedIsolationDBSumPtCorr = f;
235     }
236     void SetHpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr(float f) {
237     hpsPFTauDiscriminationByTightCombinedIsolationDBSumPtCorr = f;
238     }
239    
240    
241     ClassDef(TCTau, 5);
242    
243     };
244    
245     #endif