ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/CaloJet.h
Revision: 1.5
Committed: Wed Sep 9 03:38:26 2009 UTC (15 years, 8 months ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_013pre1, Mit_012i, Mit_012h, Mit_012g, Mit_012f, Mit_012e, Mit_012d, Mit_012c, Mit_012b, Mit_012a, Mit_012, Mit_011a
Changes since 1.4: +2 -1 lines
Log Message:
Add MakeCopy functions and cleaned up some jetmet getters and setters

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: CaloJet.h,v 1.4 2009/03/20 09:37:17 loizides Exp $
3 //
4 // CaloJet
5 //
6 // This class holds information about reconstructed jet based on calorimeter towers.
7 //
8 // Authors: S.Xie, C.Loizides, J.Bendavid
9 //--------------------------------------------------------------------------------------------------
10
11 #ifndef MITANA_DATATREE_CALOJET_H
12 #define MITANA_DATATREE_CALOJET_H
13
14 #include "MitAna/DataTree/interface/Jet.h"
15 #include "MitAna/DataCont/interface/RefArray.h"
16 #include "MitAna/DataTree/interface/CaloTower.h"
17
18 namespace mithep
19 {
20 class CaloJet : public Jet
21 {
22 public:
23 CaloJet() : fMaxEInEmTowers(0), fMaxEInHadTowers(0), fEnergyFractionH(0),
24 fEnergyFractionEm(0), fHadEnergyInHB(0), fHadEnergyInHO(0), fHadEnergyInHE(0),
25 fHadEnergyInHF(0), fEmEnergyInEB(0), fEmEnergyInEE(0), fEmEnergyInHF(0),
26 fTowersArea(0) {}
27 CaloJet(Double_t px, Double_t py, Double_t pz, Double_t e) :
28 Jet(px,py,pz,e),
29 fMaxEInEmTowers(0), fMaxEInHadTowers(0), fEnergyFractionH(0),
30 fEnergyFractionEm(0), fHadEnergyInHB(0), fHadEnergyInHO(0), fHadEnergyInHE(0),
31 fHadEnergyInHF(0), fEmEnergyInEB(0), fEmEnergyInEE(0), fEmEnergyInHF(0),
32 fTowersArea(0) {}
33
34 void AddTower(const CaloTower *t) { fTowers.Add(t); }
35 Bool_t HasTower(const CaloTower *t) const { return fTowers.HasObject(t); }
36 UInt_t NTowers() const { return fTowers.Entries(); }
37 const CaloTower *Tower(UInt_t i) const { return fTowers.At(i); }
38 UInt_t NConstituents() const { return NTowers(); }
39 EObjType ObjType() const { return kCaloJet; }
40 Double_t EmEnergyInEB() const { return fEmEnergyInEB; }
41 Double_t EmEnergyInEE() const { return fEmEnergyInEE; }
42 Double_t EmEnergyInHF() const { return fEmEnergyInHF; }
43 Double_t EnergyFractionH() const { return fEnergyFractionH; }
44 Double_t EnergyFractionEm() const { return fEnergyFractionEm; }
45 Double_t HadEnergyInHO() const { return fHadEnergyInHO; }
46 Double_t HadEnergyInHB() const { return fHadEnergyInHB; }
47 Double_t HadEnergyInHF() const { return fHadEnergyInHF; }
48 Double_t HadEnergyInHE() const { return fHadEnergyInHE; }
49 Jet *MakeCopy() const { return new CaloJet(*this); }
50 Double_t MaxEInEmTowers() const { return fMaxEInEmTowers; }
51 Double_t MaxEInHadTowers() const { return fMaxEInHadTowers; }
52 void SetEmEnergyInEB(Double_t val) { fEmEnergyInEB = val; }
53 void SetEmEnergyInEE(Double_t val) { fEmEnergyInEE = val; }
54 void SetEmEnergyInHF(Double_t val) { fEmEnergyInHF = val; }
55 void SetEnergyFractionH(Double_t val) { fEnergyFractionH = val; }
56 void SetEnergyFractionEm(Double_t val) { fEnergyFractionEm = val; }
57 void SetHadEnergyInHO(Double_t val) { fHadEnergyInHO = val; }
58 void SetHadEnergyInHB(Double_t val) { fHadEnergyInHB = val; }
59 void SetHadEnergyInHF(Double_t val) { fHadEnergyInHF = val; }
60 void SetHadEnergyInHE(Double_t val) { fHadEnergyInHE = val; }
61 void SetMaxEInEmTowers(Double_t val) { fMaxEInEmTowers = val; }
62 void SetMaxEInHadTowers(Double_t val) { fMaxEInHadTowers = val; }
63 void SetTowersArea(Double_t val) { fTowersArea = val; }
64 Double_t TowersArea() const { return fTowersArea; }
65
66 protected:
67
68 Double32_t fMaxEInEmTowers; //[0,0,14]maximum energy in EM towers
69 Double32_t fMaxEInHadTowers; //[0,0,14]maximum energy in HCAL towers
70 Double32_t fEnergyFractionH; //[0,0,14]hadronic energy fraction
71 Double32_t fEnergyFractionEm; //[0,0,14]electromagnetic energy fraction
72 Double32_t fHadEnergyInHB; //[0,0,14]hadronic energy in HB
73 Double32_t fHadEnergyInHO; //[0,0,14]hadronic energy in HO
74 Double32_t fHadEnergyInHE; //[0,0,14]hadronic energy in HE
75 Double32_t fHadEnergyInHF; //[0,0,14]hadronic energy in HF
76 Double32_t fEmEnergyInEB; //[0,0,14]electromagnetic energy in EB
77 Double32_t fEmEnergyInEE; //[0,0,14]electromagnetic energy in EE
78 Double32_t fEmEnergyInHF; //[0,0,14]electromagnetic energy extracted from HF
79 Double32_t fTowersArea; //[0,0,14]area of contributing towers
80 RefArray<CaloTower> fTowers; //calotowers in jet
81
82 ClassDef(CaloJet, 1) // CaloJet class
83 };
84 }
85 #endif