ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/Tau.h
Revision: 1.1
Committed: Thu Mar 19 23:09:36 2009 UTC (16 years, 1 month ago) by bendavid
Content type: text/plain
Branch: MAIN
Log Message:
Added Tau classes

File Contents

# User Rev Content
1 bendavid 1.1 //--------------------------------------------------------------------------------------------------
2     // $Id: Tau.h,v 1.23 2009/03/03 18:03:06 bendavid Exp $
3     //
4     // Tau
5     //
6     // Basic implementation mirroring CMSSW
7     //
8     // Authors: J.Bendavid
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef MITANA_DATATREE_TAU_H
12     #define MITANA_DATATREE_TAU_H
13    
14     #include "MitAna/DataTree/interface/Types.h"
15     #include "MitAna/DataTree/interface/Particle.h"
16     #include "MitAna/DataTree/interface/Jet.h"
17    
18     namespace mithep
19     {
20     class Tau : public Particle
21     {
22     public:
23     Tau() {}
24     Tau(Double_t px, Double_t py, Double_t pz, Double_t e) :
25     fMom(FourVector(px,py,pz,e)) {}
26    
27     const FourVectorM &MomAlt() const { return fMomAlt; }
28     EObjType ObjType() const { return kTau; }
29     void SetMom(Double_t px, Double_t py, Double_t pz, Double_t e);
30     void SetMomAlt(Double_t px, Double_t py, Double_t pz, Double_t e);
31     virtual const Jet *SourceJet() const { return 0; }
32    
33     protected:
34     void GetMom() const;
35    
36     FourVectorM32 fMom; //four momentum vector
37     FourVectorM32 fMomAlt; //alternative momentum combining
38     //(Tracks and neutral ECAL Island BasicClusters)
39     //or (charged hadr. PFCandidates and gamma PFCandidates)
40    
41    
42     ClassDef(Tau,1) // Tau class
43     };
44     }
45    
46     //--------------------------------------------------------------------------------------------------
47     inline void mithep::Tau::GetMom() const
48     {
49     // Get momentum values from stored values.
50    
51     fCachedMom = fMom;
52     }
53    
54     //--------------------------------------------------------------------------------------------------
55     inline void mithep::Tau::SetMom(Double_t px, Double_t py, Double_t pz, Double_t e)
56     {
57     // Set momentum vector.
58    
59     fMom.SetXYZT(px, py, pz, e);
60     ClearMom();
61     }
62    
63     //--------------------------------------------------------------------------------------------------
64     inline void mithep::Tau::SetMomAlt(Double_t px, Double_t py, Double_t pz, Double_t e)
65     {
66     // Set momentum vector.
67    
68     fMomAlt.SetXYZT(px, py, pz, e);
69     }
70     #endif