15 |
|
#include "MitCommon/DataFormats/interface/Vect3C.h" |
16 |
|
#include "MitAna/DataTree/interface/DataObject.h" |
17 |
|
#include "MitAna/DataTree/interface/BasicCluster.h" |
18 |
+ |
#include "MitAna/DataTree/interface/CaloTower.h" |
19 |
|
#include "MitAna/DataCont/interface/RefArray.h" |
20 |
|
#include "MitAna/DataCont/interface/Ref.h" |
21 |
|
|
28 |
|
fPhiWidth(0), fRawEnergy(0) {} |
29 |
|
|
30 |
|
void AddCluster(const BasicCluster *c) { fClusters.Add(c); } |
31 |
+ |
void AddTower(const CaloTower *t) { fCaloTowers.Add(t); } |
32 |
|
const BasicCluster *Cluster(UInt_t i) const { return fClusters.At(i); } |
33 |
|
UInt_t ClusterSize() const { return fClusters.Entries(); } |
34 |
|
Int_t Compare(const TObject *o) const; |
36 |
|
Double_t Et() const; |
37 |
|
Double_t Eta() const { return fPoint.Eta(); } |
38 |
|
Double_t EtaWidth() const { return fEtaWidth; } |
39 |
+ |
Bool_t HasTower(const CaloTower *t) const { return fCaloTowers.HasObject(t); } |
40 |
|
Double_t HcalDepth1Energy() const { return fHcalDepth1Energy; } |
41 |
|
Double_t HcalDepth2Energy() const { return fHcalDepth2Energy; } |
42 |
|
Double_t HadDepth1OverEm() const { return fHcalDepth1Energy/fEnergy; } |
45 |
|
fHcalDepth2Energy)/fEnergy; } |
46 |
|
Bool_t IsSortable() const { return kTRUE; } |
47 |
|
EObjType ObjType() const { return kSuperCluster; } |
48 |
+ |
UInt_t NTowers() const { return fCaloTowers.Entries(); } |
49 |
|
Double_t Phi() const { return fPoint.Phi(); } |
50 |
|
Double_t PhiWidth() const { return fPhiWidth; } |
51 |
|
ThreeVectorC Point() const { return fPoint.V(); } |
54 |
|
Double_t RawEnergy() const { return fRawEnergy; } |
55 |
|
Double_t Rho() const { return fPoint.Rho(); } |
56 |
|
const BasicCluster *Seed() const { return fSeedRef.Obj(); } |
57 |
+ |
const CaloTower *Tower(UInt_t i) const { return fCaloTowers.At(i); } |
58 |
|
void SetEnergy(Double_t energy) { fEnergy = energy; } |
59 |
|
void SetEtaWidth(Double_t etaWidth) { fEtaWidth = etaWidth; } |
60 |
|
void SetPhiWidth(Double_t phiWidth) { fPhiWidth = phiWidth; } |
76 |
|
Double32_t fHcalDepth2Energy; //[0,0,14] hcal depth2 over ECAL energy |
77 |
|
RefArray<BasicCluster> fClusters; //assigned basic clusters |
78 |
|
Ref<BasicCluster> fSeedRef; //seed cluster |
79 |
+ |
RefArray<CaloTower> fCaloTowers; //calo towers (matched by detid) |
80 |
|
|
81 |
< |
ClassDef(SuperCluster, 2) // Super cluster class |
81 |
> |
ClassDef(SuperCluster, 3) // Super cluster class |
82 |
|
}; |
83 |
|
} |
84 |
|
|