ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/Photon.h
Revision: 1.23
Committed: Tue Mar 3 18:03:06 2009 UTC (16 years, 2 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_008pre2, Mit_008pre1
Changes since 1.22: +3 -9 lines
Log Message:
Removed obsolete photon variables

File Contents

# User Rev Content
1 loizides 1.1 //--------------------------------------------------------------------------------------------------
2 bendavid 1.23 // $Id: Photon.h,v 1.22 2009/02/26 17:06:24 bendavid Exp $
3 loizides 1.1 //
4     // Photon
5     //
6 loizides 1.19 // Details to be worked out...(TODO)
7 loizides 1.1 //
8 loizides 1.2 // Authors: J.Bendavid, C.Loizides
9 loizides 1.1 //--------------------------------------------------------------------------------------------------
10    
11 loizides 1.12 #ifndef MITANA_DATATREE_PHOTON_H
12     #define MITANA_DATATREE_PHOTON_H
13 loizides 1.1
14 loizides 1.4 #include "MitAna/DataTree/interface/Types.h"
15 bendavid 1.3 #include "MitAna/DataTree/interface/Particle.h"
16     #include "MitAna/DataTree/interface/Conversion.h"
17 loizides 1.11 #include "MitAna/DataCont/interface/RefArray.h"
18 loizides 1.1
19     namespace mithep
20     {
21 bendavid 1.3 class Photon : public Particle
22 loizides 1.1 {
23     public:
24 bendavid 1.23 Photon() : fR9(0),fHadOverEm(0),fHasPixelSeed(0),fEcalRecHitIso(0),
25 loizides 1.21 fHcalRecHitIso(0),fSolidConeTrkIso(0),fHollowConeTrkIso(0),fSolidConeNTrk(0),
26     fHollowConeNTrk(0),fIsEBGap(0),fIsEEGap(0),fIsEBEEGap(0),fIsLooseEM(0),
27     fIsLoosePhoton(0),fIsTightPhoton(0),fIsConverted(0) {}
28     Photon(Double_t px, Double_t py, Double_t pz, Double_t e) :
29 bendavid 1.23 fMom(FourVector(px,py,pz,e)), fR9(0),fHadOverEm(0),fHasPixelSeed(0),
30 loizides 1.21 fEcalRecHitIso(0),fHcalRecHitIso(0),fSolidConeTrkIso(0),fHollowConeTrkIso(0),
31     fSolidConeNTrk(0),fHollowConeNTrk(0),fIsEBGap(0),fIsEEGap(0),fIsEBEEGap(0),fIsLooseEM(0),
32     fIsLoosePhoton(0),fIsTightPhoton(0),fIsConverted(0) {}
33 loizides 1.2
34 loizides 1.19 const Conversion *ConvCand(UInt_t i) const { return fConversions.At(i); }
35     Double_t EcalRecHitIso() const { return fEcalRecHitIso; }
36 sixie 1.16 Double_t HadOverEm() const { return fHadOverEm; }
37     Double_t HasPixelSeed() const { return fHasPixelSeed; }
38     Double_t HcalRecHitIso() const { return fHcalRecHitIso; }
39 loizides 1.19 Int_t HollowConeNTrk() const { return fHollowConeNTrk; }
40 sixie 1.16 Double_t HollowConeTrkIso() const { return fHollowConeTrkIso; }
41     Bool_t IsEBGap() const { return fIsEBGap; }
42     Bool_t IsEEGap() const { return fIsEEGap; }
43     Bool_t IsEBEEGap() const { return fIsEBEEGap; }
44     Bool_t IsLooseEM() const { return fIsLooseEM; }
45     Bool_t IsLoosePhoton() const { return fIsLoosePhoton; }
46     Bool_t IsTightPhoton() const { return fIsTightPhoton; }
47     Bool_t IsConverted() const { return fIsConverted; }
48 loizides 1.21 UInt_t NConversions() const { return fConversions.Entries(); }
49     EObjType ObjType() const { return kPhoton; }
50     Double_t R9() const { return fR9; }
51     const SuperCluster *SCluster() const { return fSuperClusterRef.Obj(); }
52     Double_t SolidConeTrkIso() const { return fSolidConeTrkIso; }
53     Int_t SolidConeNTrk() const { return fSolidConeNTrk; }
54     void AddConversion(const Conversion *c) { fConversions.Add(c); }
55     void SetIsConverted(Bool_t isConv) { fIsConverted = isConv; }
56 loizides 1.2 void SetMom(Double_t px, Double_t py, Double_t pz, Double_t e);
57 bendavid 1.20 void SetSuperCluster(const SuperCluster* sc) { fSuperClusterRef = sc; }
58 sixie 1.16 void SetR9(Double_t x) { fR9 = x; }
59     void SetHadOverEm(Double_t x) { fHadOverEm = x; }
60     void SetHasPixelSeed(Double_t x) { fHasPixelSeed = x; }
61     void SetEcalRecHitIso(Double_t x) { fEcalRecHitIso = x; }
62     void SetHcalRecHitIso(Double_t x) { fHcalRecHitIso = x; }
63     void SetSolidConeTrkIso(Double_t x) { fSolidConeTrkIso = x; }
64     void SetHollowConeTrkIso(Double_t x) { fHollowConeTrkIso = x; }
65     void SetSolidConeNTrk(Int_t x) { fSolidConeNTrk = x; }
66     void SetHollowConeNTrk(Int_t x) { fHollowConeNTrk = x; }
67     void SetIsEBGap(Bool_t x) { fIsEBGap = x; }
68     void SetIsEEGap(Bool_t x) { fIsEEGap = x; }
69     void SetIsEBEEGap(Bool_t x) { fIsEBEEGap = x; }
70     void SetIsLooseEM(Bool_t x) { fIsLooseEM = x; }
71     void SetIsLoosePhoton(Bool_t x) { fIsLoosePhoton = x; }
72     void SetIsTightPhoton(Bool_t x) { fIsTightPhoton = x; }
73    
74 loizides 1.1 protected:
75 loizides 1.21 void GetMom() const;
76    
77     FourVectorM32 fMom; //four momentum vector
78 sixie 1.16 Double32_t fR9;
79     Double32_t fHadOverEm;
80     Double32_t fHasPixelSeed;
81     Double32_t fEcalRecHitIso;
82     Double32_t fHcalRecHitIso;
83     Double32_t fSolidConeTrkIso;
84     Double32_t fHollowConeTrkIso;
85     Int_t fSolidConeNTrk;
86     Int_t fHollowConeNTrk;
87     Bool_t fIsEBGap;
88     Bool_t fIsEEGap;
89     Bool_t fIsEBEEGap;
90     Bool_t fIsLooseEM;
91     Bool_t fIsLoosePhoton;
92     Bool_t fIsTightPhoton;
93 bendavid 1.22 RefArray<Conversion> fConversions; //references to associated conversion candidates
94 loizides 1.21 Bool_t fIsConverted; //conversion flag
95     Ref<SuperCluster> fSuperClusterRef; //superCluster
96 loizides 1.1
97 loizides 1.2 ClassDef(Photon,1) // Photon class
98 loizides 1.1 };
99     }
100 loizides 1.2
101     //--------------------------------------------------------------------------------------------------
102 loizides 1.21 inline void mithep::Photon::GetMom() const
103     {
104     // Get momentum values from stored values.
105    
106 bendavid 1.22 fCachedMom = fMom;
107 loizides 1.21 }
108    
109     //--------------------------------------------------------------------------------------------------
110 loizides 1.2 inline void mithep::Photon::SetMom(Double_t px, Double_t py, Double_t pz, Double_t e)
111     {
112 loizides 1.21 // Set momentum vector.
113 loizides 1.2
114 loizides 1.21 fMom.SetXYZT(px, py, pz, e);
115 bendavid 1.22 ClearMom();
116 loizides 1.2 }
117 loizides 1.1 #endif