ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/CaloTower.h
Revision: 1.1
Committed: Sat Sep 6 18:02:22 2008 UTC (16 years, 8 months ago) by sixie
Content type: text/plain
Branch: MAIN
Log Message:
Add CaloTowers

File Contents

# User Rev Content
1 sixie 1.1 //--------------------------------------------------------------------------------------------------
2     // $ Id $
3     //
4     // Calo Tower
5     //
6     // Details to be worked out...
7     //
8     // Authors: Si Xie
9     //--------------------------------------------------------------------------------------------------
10    
11     #ifndef DATATREE_CALOTOWER_H
12     #define DATATREE_CALOTOWER_H
13    
14     #include <TMath.h>
15     #include "MitAna/DataTree/interface/DataObject.h"
16    
17     namespace mithep
18     {
19     class CaloTower : public DataObject
20     {
21     public:
22     CaloTower() {}
23     virtual ~CaloTower() {}
24    
25     void SetEmEnergy(Double_t EmEnergy) { fEmEnergy = EmEnergy; }
26     void SetHadEnergy(Double_t HadEnergy) { fHadEnergy = HadEnergy; }
27     void SetOuterEnergy(Double_t OuterEnergy) { fOuterEnergy = OuterEnergy; }
28     void SetEmLvl1(Int_t EmLvl1) { fEmLvl1 = EmLvl1; }
29     void SetHadLvl1(Int_t HadLvl1) { fHadLvl1 = HadLvl1; }
30     void SetMomentum(Double_t X, Double_t Y, Double_t Z, Double_t E)
31     { fMomentum.SetPxPyPzE(X,Y,Z,E); }
32    
33     FourVector Mom() const { return fMomentum; }
34     Double_t Eta() const { return fMomentum.Eta(); }
35     Double_t Phi() const { return fMomentum.Phi(); }
36     Double_t Energy() const { return fMomentum.E(); }
37     Double_t Et() const { return fMomentum.E()*sin(fMomentum.Theta()); }
38     Double_t EmEnergy() const { return fEmEnergy; }
39     Double_t HadEnergy() const { return fHadEnergy; }
40     Double_t OuterEnergy() const { return fOuterEnergy; }
41     Double_t EmEt() const { return fEmEnergy*sin(fMomentum.Theta()); }
42     Double_t HadEt() const { return fHadEnergy*sin(fMomentum.Theta()); }
43     Double_t OuterEt() const { return fOuterEnergy*sin(fMomentum.Theta()); }
44     Double_t EmLvl1() const { return fEmLvl1; }
45     Double_t HadLvl1() const { return fHadLvl1; }
46    
47     protected:
48    
49     FourVector fMomentum;
50     Double_t fEmEnergy;
51     Double_t fHadEnergy;
52     Double_t fOuterEnergy;
53     Int_t fEmLvl1;
54     Int_t fHadLvl1;
55    
56     ClassDef(CaloTower, 1) // Generic particle class
57     };
58     }
59     #endif