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

# User Rev Content
1 agilbert 1.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