ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/HbbAnalysis/interface/Tau.hh.broken
Revision: 1.1
Committed: Tue Oct 25 13:26:51 2011 UTC (13 years, 6 months ago) by agilbert
Branch: MAIN
CVS Tags: v01-00-00, HEAD
Log Message:
Significant code re-write.  Compiles under 4_2_4 but may not work as expected.  Files marked as broken may need to be fixed in the future.

File Contents

# Content
1 #ifndef HbbAnalysis_Tau_hh
2 #define HbbAnalysis_Tau_hh
3
4 #include <vector>
5 #include <string>
6
7 #include "UserCode/HbbAnalysis/interface/Objects.hh"
8
9 namespace HbbAnalysis {
10
11 class Tau {
12
13 public:
14
15
16 /** Constructors */
17
18 Tau(){
19 //Clear();
20 };
21
22 ~Tau(){};
23
24 Tau(const HbbAnalysis::GenVars & aGen,
25 const HbbAnalysis::GenVars & aGenJet,
26 const HbbAnalysis::BaseVars & aReco,
27 const HbbAnalysis::TrkVars & aLead,
28 const HbbAnalysis::CaloTauIsoVars & aIso,
29 const HbbAnalysis::CaloTauIDVars & aId
30 ){
31 Clear();
32 tauType_ = 0;//calo tau
33 genVars(aGen);
34 genJetVars(aGenJet);
35 recoVars(aReco);
36 leadTrkVars(aLead);
37 isoVars(aIso);
38 idVars(aId);
39 };
40
41 Tau(const HbbAnalysis::GenVars & aGen,
42 const HbbAnalysis::GenVars & aGenJet,
43 const HbbAnalysis::BaseVars & aReco,
44 const HbbAnalysis::TrkVars & aLead,
45 const HbbAnalysis::PFTauIsoVars & aIso,
46 const HbbAnalysis::PFTauCandVars & aHadr,
47 const HbbAnalysis::PFTauCandVars & aNeutr,
48 const HbbAnalysis::PFTauCandVars & aGamma,
49 const HbbAnalysis::PFTauIDVars & aId,
50 const HbbAnalysis::PFTauEleIDVars & aEleId,
51 const HbbAnalysis::PFTauMuIDVars & aMuId
52 ){
53 Clear();
54 tauType_ = 1;//PF tau
55 genVars(aGen);
56 genJetVars(aGen);
57 recoVars(aReco);
58 leadTrkVars(aLead);
59 isoVars(aIso,aHadr,aNeutr,aGamma);
60 idVars(aId,aEleId,aMuId);
61 };
62
63 inline const unsigned short tauType() const {
64 return tauType_;
65 };
66
67 inline const HbbAnalysis::GenVars & genVars() const {
68 return gen_;
69 };
70
71 inline const HbbAnalysis::GenVars & genJetVars() const {
72 return genJet_;
73 };
74
75 inline const HbbAnalysis::BaseVars & recoVars() const {
76 return reco_;
77 };
78
79 inline const HbbAnalysis::TrkVars & leadTrkVars() const {
80 return lead_;
81 };
82
83 inline const HbbAnalysis::CaloTauIsoVars & caloIsoVars() const {
84 return caloIso_;
85 };
86
87 inline const HbbAnalysis::CaloTauIDVars & caloIdVars() const {
88 return caloId_;
89 };
90
91 inline const HbbAnalysis::PFTauIsoVars & pfIsoVars() const {
92 return pfIso_;
93 };
94
95 inline const HbbAnalysis::PFTauCandVars & pfHadrVars() const {
96 return pfHadr_;
97 };
98
99 inline const HbbAnalysis::PFTauCandVars & pfNeutrVars() const {
100 return pfNeutr_;
101 };
102
103 inline const HbbAnalysis::PFTauCandVars & pfGammaVars() const {
104 return pfGamma_;
105 };
106
107 inline const HbbAnalysis::PFTauIDVars & pfIdVars() const {
108 return pfId_;
109 };
110
111 inline const HbbAnalysis::PFTauEleIDVars & pfEleIdVars() const {
112 return pfEleId_;
113 };
114
115 inline const HbbAnalysis::PFTauMuIDVars & pfMuIdVars() const {
116 return pfMuId_;
117 };
118
119
120 inline void tauType(const unsigned short aType) {
121 tauType_ = aType;
122 };
123
124 inline void genVars(const HbbAnalysis::GenVars & aGen) {
125 gen_ = aGen;
126 };
127
128 inline void genJetVars(const HbbAnalysis::GenVars & aGenJet) {
129 genJet_ = aGenJet;
130 };
131
132 inline void recoVars(const HbbAnalysis::BaseVars & aReco) {
133 reco_ = aReco;
134 };
135
136 inline void leadTrkVars(const HbbAnalysis::TrkVars & aLead) {
137 lead_ = aLead;
138 };
139
140 inline void isoVars(const HbbAnalysis::CaloTauIsoVars & aIso) {
141 caloIso_ = aIso;
142 };
143
144 inline void idVars(const HbbAnalysis::CaloTauIDVars & aID) {
145 caloId_ = aID;
146 };
147
148 inline void isoVars(const HbbAnalysis::PFTauIsoVars & aIso,
149 const HbbAnalysis::PFTauCandVars & aHadr,
150 const HbbAnalysis::PFTauCandVars & aNeutr,
151 const HbbAnalysis::PFTauCandVars & aGamma
152 ) {
153 pfIso_ = aIso;
154 pfHadr_ = aHadr;
155 pfNeutr_ = aNeutr;
156 pfGamma_ = aGamma;
157 };
158
159 inline void idVars(const HbbAnalysis::PFTauIDVars & aID,
160 const HbbAnalysis::PFTauEleIDVars & aEleID,
161 const HbbAnalysis::PFTauMuIDVars & aMuID
162 ) {
163 pfId_ = aID;
164 pfEleId_ = aEleID;
165 pfMuId_ = aMuID;
166 };
167
168 inline void Clear(){
169 gen_.valid = false;
170 gen_.E = 0;
171 gen_.pT = 0;
172 gen_.eta = 0;
173 gen_.phi = 0;
174 gen_.charge = 0;
175 gen_.pdgId = 0;
176 gen_.status = 0;
177 gen_.mass = 0;
178 gen_.vx = 0;
179 gen_.vy = 0;
180 gen_.vz = 0;
181
182 genJet_.valid = false;
183 genJet_.E = 0;
184 genJet_.pT = 0;
185 genJet_.eta = 0;
186 genJet_.phi = 0;
187 genJet_.charge = 0;
188 genJet_.pdgId = 0;
189 genJet_.status = 0;
190 genJet_.mass = 0;
191 genJet_.vx = 0;
192 genJet_.vy = 0;
193 genJet_.vz = 0;
194
195 reco_.E = 0;
196 reco_.pT = 0;
197 reco_.eta = 0;
198 reco_.phi = 0;
199 reco_.charge = 0;
200 reco_.vx = 0;
201 reco_.vy = 0;
202 reco_.vz = 0;
203
204 lead_.pT = 0;
205 lead_.eta = 0;
206 lead_.phi = 0;
207 lead_.matchDist = 0;
208 lead_.IPxy = 0;
209 lead_.IPz = 0;
210 lead_.signedSipt = 0;
211
212 caloIso_.nIsoTracks = 0;
213 caloIso_.nSigTracks = 0;
214 caloIso_.leadTrackHCAL3x3hitsEtSum = 0;
215 caloIso_.leadTrackHCAL3x3hottesthitDEta = 0;
216 caloIso_.signalTracksInvariantMass = 0;
217 caloIso_.tracksInvariantMass = 0;
218 caloIso_.isolationTracksPtSum = 0;
219 caloIso_.isolationECALhitsEtSum = 0;
220 caloIso_.maximumHCALhitEt = 0;
221
222 caloId_.byIsolation = 0;
223 caloId_.byLeadingTrackFinding = 0;
224 caloId_.byLeadingTrackPtCut = 0;
225
226 pfIso_.nSigCands = 0;
227 pfIso_.nIsoCands = 0;
228 pfIso_.maximumHCALPFClusterEt = 0;
229 //pfIso_.emFraction = 0;
230 pfIso_.hcalTotOverPLead = 0;
231 pfIso_.hcalMaxOverPLead = 0;
232 pfIso_.hcal3x3OverPLead = 0;
233 pfIso_.ecalStripSumEOverPLead = 0;
234 pfIso_.bremsRecoveryEOverPLead = 0;
235
236 pfHadr_.nSigCands = 0;
237 pfHadr_.nIsoCands = 0;
238 pfHadr_.isolationPtSum = 0;
239
240 pfNeutr_.nSigCands = 0;
241 pfNeutr_.nIsoCands = 0;
242 pfNeutr_.isolationPtSum = 0;
243
244 pfGamma_.nSigCands = 0;
245 pfGamma_.nIsoCands = 0;
246 pfGamma_.isolationPtSum = 0;
247
248 pfId_.byLeadingTrackFinding = 0;
249 pfId_.byLeadingTrackPtCut = 0;
250 pfId_.byTrackIsolation = 0;
251 pfId_.byECALIsolation = 0;
252 pfId_.byIsolation = 0;
253 pfId_.againstElectron = 0;
254 pfId_.againstMuon = 0;
255 pfId_.byIsolationUsingLeadingPion = 0;
256 pfId_.byTaNC = 0;
257 pfId_.byTaNCfrHalfPercent = 0;
258 pfId_.byTaNCfrOnePercent = 0;
259 pfId_.byTaNCfrQuarterPercent = 0;
260 pfId_.byTaNCfrTenthPercent = 0;
261 pfId_.ecalIsolationUsingLeadingPion = 0;
262 pfId_.leadingPionPtCut = 0;
263 pfId_.trackIsolationUsingLeadingPion = 0;
264
265 pfEleId_.pT = 0;
266 pfEleId_.eta = 0;
267 pfEleId_.phi = 0;
268 pfEleId_.output = 0;
269 pfEleId_.decision = 0;
270
271 pfMuId_.caloCompat = 0;
272 pfMuId_.segCompat = 0;
273 pfMuId_.decision = 0;
274
275 };
276
277 private:
278
279 unsigned short tauType_;
280 HbbAnalysis::GenVars gen_;
281 HbbAnalysis::GenVars genJet_;
282 HbbAnalysis::BaseVars reco_;
283 HbbAnalysis::TrkVars lead_;
284 HbbAnalysis::CaloTauIsoVars caloIso_;
285 HbbAnalysis::CaloTauIDVars caloId_;
286 HbbAnalysis::PFTauIsoVars pfIso_;
287 HbbAnalysis::PFTauCandVars pfHadr_;
288 HbbAnalysis::PFTauCandVars pfNeutr_;
289 HbbAnalysis::PFTauCandVars pfGamma_;
290 HbbAnalysis::PFTauIDVars pfId_;
291 HbbAnalysis::PFTauEleIDVars pfEleId_;
292 HbbAnalysis::PFTauMuIDVars pfMuId_;
293
294 };
295
296 inline bool operator < (const Tau & one, const Tau & two)
297 {
298 return one.recoVars().pT < two.recoVars().pT;
299 }
300
301
302 }//namespace
303 #endif