ViewVC Help
View File | Revision Log | Show Annotations | Root Listing
root/cvsroot/UserCode/MitAna/DataTree/interface/CaloJet.h
Revision: 1.7
Committed: Wed Mar 28 12:15:34 2012 UTC (13 years, 1 month ago) by paus
Content type: text/plain
Branch: MAIN
Changes since 1.6: +15 -3 lines
Log Message:
Enable skimming.

File Contents

# User Rev Content
1 bendavid 1.1 //--------------------------------------------------------------------------------------------------
2 paus 1.7 // $Id: CaloJet.h,v 1.6 2010/03/17 15:32:59 bendavid Exp $
3 bendavid 1.1 //
4     // CaloJet
5     //
6 loizides 1.3 // This class holds information about reconstructed jet based on calorimeter towers.
7 bendavid 1.1 //
8 paus 1.7 // Authors: S.Xie, C.Loizides, J.Bendavid, C.Paus
9 bendavid 1.1 //--------------------------------------------------------------------------------------------------
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 bendavid 1.6 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 bendavid 1.1 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 bendavid 1.6 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 bendavid 1.1
40 loizides 1.3 void AddTower(const CaloTower *t) { fTowers.Add(t); }
41     Bool_t HasTower(const CaloTower *t) const { return fTowers.HasObject(t); }
42 loizides 1.4 UInt_t NTowers() const { return fTowers.Entries(); }
43 loizides 1.3 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 bendavid 1.5 Jet *MakeCopy() const { return new CaloJet(*this); }
56 loizides 1.3 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 bendavid 1.6 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 loizides 1.3 Double_t TowersArea() const { return fTowersArea; }
87 bendavid 1.6 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 paus 1.7 // Some structural tools
105     void Mark() const;
106 bendavid 1.1
107     protected:
108    
109 loizides 1.3 Double32_t fMaxEInEmTowers; //[0,0,14]maximum energy in EM towers
110     Double32_t fMaxEInHadTowers; //[0,0,14]maximum energy in HCAL towers
111     Double32_t fEnergyFractionH; //[0,0,14]hadronic energy fraction
112     Double32_t fEnergyFractionEm; //[0,0,14]electromagnetic energy fraction
113     Double32_t fHadEnergyInHB; //[0,0,14]hadronic energy in HB
114     Double32_t fHadEnergyInHO; //[0,0,14]hadronic energy in HO
115     Double32_t fHadEnergyInHE; //[0,0,14]hadronic energy in HE
116     Double32_t fHadEnergyInHF; //[0,0,14]hadronic energy in HF
117     Double32_t fEmEnergyInEB; //[0,0,14]electromagnetic energy in EB
118     Double32_t fEmEnergyInEE; //[0,0,14]electromagnetic energy in EE
119     Double32_t fEmEnergyInHF; //[0,0,14]electromagnetic energy extracted from HF
120     Double32_t fTowersArea; //[0,0,14]area of contributing towers
121 bendavid 1.6 Double32_t fHPD; //[0,0,14]energy from hottest hpd
122     Double32_t fRBX; //[0,0,14]energy fraction from hottest rbx
123     Int_t fN90Hits; //number of hits comprising 90 percent of the energy
124     Double32_t fSubDetector1; //[0,0,14]
125     Double32_t fSubDetector2; //[0,0,14]
126     Double32_t fSubDetector3; //[0,0,14]
127     Double32_t fSubDetector4; //[0,0,14]
128     Double32_t fRestrictedEMF; //[0,0,14]
129     Int_t fNHCalTowers;
130     Int_t fNECalTowers;
131     Double32_t fApproximatefHPD; //[0,0,14]
132     Double32_t fApproximatefRBX; //[0,0,14]
133     Int_t fHitsInN90;
134     Int_t fNHits2RPC;
135     Int_t fNHits3RPC;
136     Int_t fNHitsRPC;
137 loizides 1.3 RefArray<CaloTower> fTowers; //calotowers in jet
138 bendavid 1.1
139 bendavid 1.6 ClassDef(CaloJet, 2) // CaloJet class
140 bendavid 1.1 };
141     }
142 paus 1.7
143     //--------------------------------------------------------------------------------------------------
144     inline void mithep::CaloJet::Mark() const
145     {
146     // mark myself
147     mithep::DataObject::Mark();
148     // mark my dependencies if they are there
149     for (UInt_t i=0; i<NTowers(); i++)
150     Tower(i)->Mark();
151     }
152    
153 bendavid 1.1 #endif