ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/CaloJet.h
Revision: 1.6
Committed: Wed Mar 17 15:32:59 2010 UTC (15 years, 1 month ago) by bendavid
Content type: text/plain
Branch: MAIN
CVS Tags: Mit_025c_branch2, Mit_025c_branch1, Mit_025c_branch0, Mit_025d, Mit_025c, Mit_025b, Mit_025a, Mit_025, Mit_025pre2, Mit_024b, Mit_025pre1, Mit_024a, Mit_024, Mit_023, Mit_022a, Mit_022, Mit_020d, TMit_020d, Mit_020c, Mit_021, Mit_021pre2, Mit_021pre1, Mit_020b, Mit_020a, Mit_020, Mit_020pre1, Mit_018, Mit_017, Mit_017pre3, Mit_017pre2, Mit_017pre1, Mit_016, Mit_015b, Mit_015a, Mit_015, Mit_014e, Mit_014d, Mit_014c, Mit_014b, Mit_014a, Mit_014, Mit_014pre3, Mit_014pre2, Mit_014pre1, Mit_013d, Mit_013c, Mit_013b, Mit_013a, Mit_013
Branch point for: Mit_025c_branch
Changes since 1.5: +60 -4 lines
Log Message:
Add JetID variables

File Contents

# Content
1 //--------------------------------------------------------------------------------------------------
2 // $Id: CaloJet.h,v 1.5 2009/09/09 03:38:26 bendavid 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), fHPD(0), fRBX(0), fN90Hits(0), fSubDetector1(0), fSubDetector2(0),
27 fSubDetector3(0), fSubDetector4(0), fRestrictedEMF(0), fNHCalTowers(0),
28 fNECalTowers(0), fApproximatefHPD(0), fApproximatefRBX(0), fHitsInN90(0),
29 fNHits2RPC(0), fNHits3RPC(0), fNHitsRPC(0) {}
30 CaloJet(Double_t px, Double_t py, Double_t pz, Double_t e) :
31 Jet(px,py,pz,e),
32 fMaxEInEmTowers(0), fMaxEInHadTowers(0), fEnergyFractionH(0),
33 fEnergyFractionEm(0), fHadEnergyInHB(0), fHadEnergyInHO(0), fHadEnergyInHE(0),
34 fHadEnergyInHF(0), fEmEnergyInEB(0), fEmEnergyInEE(0), fEmEnergyInHF(0),
35 fTowersArea(0), fHPD(0), fRBX(0), fN90Hits(0), fSubDetector1(0), fSubDetector2(0),
36 fSubDetector3(0), fSubDetector4(0), fRestrictedEMF(0), fNHCalTowers(0),
37 fNECalTowers(0), fApproximatefHPD(0), fApproximatefRBX(0), fHitsInN90(0),
38 fNHits2RPC(0), fNHits3RPC(0), fNHitsRPC(0) {}
39
40 void AddTower(const CaloTower *t) { fTowers.Add(t); }
41 Bool_t HasTower(const CaloTower *t) const { return fTowers.HasObject(t); }
42 UInt_t NTowers() const { return fTowers.Entries(); }
43 const CaloTower *Tower(UInt_t i) const { return fTowers.At(i); }
44 UInt_t NConstituents() const { return NTowers(); }
45 EObjType ObjType() const { return kCaloJet; }
46 Double_t EmEnergyInEB() const { return fEmEnergyInEB; }
47 Double_t EmEnergyInEE() const { return fEmEnergyInEE; }
48 Double_t EmEnergyInHF() const { return fEmEnergyInHF; }
49 Double_t EnergyFractionH() const { return fEnergyFractionH; }
50 Double_t EnergyFractionEm() const { return fEnergyFractionEm; }
51 Double_t HadEnergyInHO() const { return fHadEnergyInHO; }
52 Double_t HadEnergyInHB() const { return fHadEnergyInHB; }
53 Double_t HadEnergyInHF() const { return fHadEnergyInHF; }
54 Double_t HadEnergyInHE() const { return fHadEnergyInHE; }
55 Jet *MakeCopy() const { return new CaloJet(*this); }
56 Double_t MaxEInEmTowers() const { return fMaxEInEmTowers; }
57 Double_t MaxEInHadTowers() const { return fMaxEInHadTowers; }
58 void SetEmEnergyInEB(Double_t val) { fEmEnergyInEB = val; }
59 void SetEmEnergyInEE(Double_t val) { fEmEnergyInEE = val; }
60 void SetEmEnergyInHF(Double_t val) { fEmEnergyInHF = val; }
61 void SetEnergyFractionH(Double_t val) { fEnergyFractionH = val; }
62 void SetEnergyFractionEm(Double_t val) { fEnergyFractionEm = val; }
63 void SetHadEnergyInHO(Double_t val) { fHadEnergyInHO = val; }
64 void SetHadEnergyInHB(Double_t val) { fHadEnergyInHB = val; }
65 void SetHadEnergyInHF(Double_t val) { fHadEnergyInHF = val; }
66 void SetHadEnergyInHE(Double_t val) { fHadEnergyInHE = val; }
67 void SetMaxEInEmTowers(Double_t val) { fMaxEInEmTowers = val; }
68 void SetMaxEInHadTowers(Double_t val) { fMaxEInHadTowers = val; }
69 void SetTowersArea(Double_t val) { fTowersArea = val; }
70 void SetFHPD(Double_t val) { fHPD = val; }
71 void SetFRBX(Double_t val) { fRBX = val; }
72 void SetN90Hits(Int_t val) { fN90Hits = val; }
73 void SetFSubDetector1(Double_t val) { fSubDetector1 = val; }
74 void SetFSubDetector2(Double_t val) { fSubDetector2 = val; }
75 void SetFSubDetector3(Double_t val) { fSubDetector3 = val; }
76 void SetFSubDetector4(Double_t val) { fSubDetector4 = val; }
77 void SetRestrictedEMF(Double_t val) { fRestrictedEMF = val; }
78 void SetNHCalTowers(Int_t val) { fNHCalTowers = val; }
79 void SetNECalTowers(Int_t val) { fNECalTowers = val; }
80 void SetApproximatefHPD(Double_t val) { fApproximatefHPD = val; }
81 void SetApproximatefRBX(Double_t val) { fApproximatefRBX = val; }
82 void SetHitsInN90(Int_t val) { fHitsInN90 = val; }
83 void SetNHits2RPC(Int_t val) { fNHits2RPC = val; }
84 void SetNHits3RPC(Int_t val) { fNHits3RPC = val; }
85 void SetNHitsRPC(Int_t val) { fNHitsRPC = val; }
86 Double_t TowersArea() const { return fTowersArea; }
87 Double_t FHPD() const { return fHPD; }
88 Double_t FRBX() const { return fRBX; }
89 UInt_t N90Hits() const { return fN90Hits; }
90 Double_t FSubDetector1() const { return fSubDetector1; }
91 Double_t FSubDetector2() const { return fSubDetector2; }
92 Double_t FSubDetector3() const { return fSubDetector3; }
93 Double_t FSubDetector4() const { return fSubDetector4; }
94 Double_t RestrictedEMF() const { return fRestrictedEMF; }
95 UInt_t NHCalTowers() const { return fNHCalTowers; }
96 UInt_t NECalTowers() const { return fNECalTowers; }
97 Double_t ApproximatefHPD() const { return fApproximatefHPD; }
98 Double_t ApproximatefRBX() const { return fApproximatefRBX; }
99 UInt_t HitsInN90() const { return fHitsInN90; }
100 UInt_t NHits2RPC() const { return fNHits2RPC; }
101 UInt_t NHits3RPC() const { return fNHits3RPC; }
102 UInt_t NHitsRPC() const { return fNHitsRPC; }
103
104
105
106 protected:
107
108 Double32_t fMaxEInEmTowers; //[0,0,14]maximum energy in EM towers
109 Double32_t fMaxEInHadTowers; //[0,0,14]maximum energy in HCAL towers
110 Double32_t fEnergyFractionH; //[0,0,14]hadronic energy fraction
111 Double32_t fEnergyFractionEm; //[0,0,14]electromagnetic energy fraction
112 Double32_t fHadEnergyInHB; //[0,0,14]hadronic energy in HB
113 Double32_t fHadEnergyInHO; //[0,0,14]hadronic energy in HO
114 Double32_t fHadEnergyInHE; //[0,0,14]hadronic energy in HE
115 Double32_t fHadEnergyInHF; //[0,0,14]hadronic energy in HF
116 Double32_t fEmEnergyInEB; //[0,0,14]electromagnetic energy in EB
117 Double32_t fEmEnergyInEE; //[0,0,14]electromagnetic energy in EE
118 Double32_t fEmEnergyInHF; //[0,0,14]electromagnetic energy extracted from HF
119 Double32_t fTowersArea; //[0,0,14]area of contributing towers
120 Double32_t fHPD; //[0,0,14]energy from hottest hpd
121 Double32_t fRBX; //[0,0,14]energy fraction from hottest rbx
122 Int_t fN90Hits; //number of hits comprising 90 percent of the energy
123 Double32_t fSubDetector1; //[0,0,14]
124 Double32_t fSubDetector2; //[0,0,14]
125 Double32_t fSubDetector3; //[0,0,14]
126 Double32_t fSubDetector4; //[0,0,14]
127 Double32_t fRestrictedEMF; //[0,0,14]
128 Int_t fNHCalTowers;
129 Int_t fNECalTowers;
130 Double32_t fApproximatefHPD; //[0,0,14]
131 Double32_t fApproximatefRBX; //[0,0,14]
132 Int_t fHitsInN90;
133 Int_t fNHits2RPC;
134 Int_t fNHits3RPC;
135 Int_t fNHitsRPC;
136 RefArray<CaloTower> fTowers; //calotowers in jet
137
138 ClassDef(CaloJet, 2) // CaloJet class
139 };
140 }
141 #endif