]>
Commit | Line | Data |
---|---|---|
b9a6a391 | 1 | // $Id$ |
2 | ||
3 | #ifndef ALITKCONEJET_H | |
4 | #define ALITKCONEJET_H | |
5 | ||
6 | #include "AliTkTowerV2.h" | |
7 | ||
8 | class AliTkConeJet : public TObject { | |
9 | public: | |
10 | AliTkConeJet(); | |
11 | AliTkConeJet(Float_t pt,Float_t eta,Float_t phi,Int_t type=0); | |
12 | AliTkConeJet(const AliTkConeJet &j); | |
13 | ~AliTkConeJet(); | |
14 | ||
15 | void addTower(AliTkTowerV2 *tower); | |
16 | ||
17 | Float_t getEtEM() const; | |
18 | Float_t getEtMarked(Float_t ptCut=0.) const; | |
19 | Float_t getEtMarkedFrac(Float_t ptCut=0.) const; | |
20 | Float_t getEtCharged() const; | |
21 | Float_t getEtChargedMarked(Float_t ptCut=0.) const; | |
22 | Float_t getE(Float_t ptCut=0.) const; | |
23 | Float_t getECharged(Float_t ptCut=0.) const; | |
24 | ||
25 | TClonesArray *getParticles(Float_t ptCut=0.) const; | |
26 | TClonesArray *getChargedParticles(Float_t ptCut=0.) const; | |
27 | TClonesArray *getNeutralParticles(Float_t ptCut=0.) const; | |
28 | ||
29 | Int_t getNParticles() const; | |
30 | Int_t getNChargedParticles() const; | |
31 | Int_t getNNeutralParticles() const; | |
32 | Int_t getNParticles(Float_t ptCut) const; | |
33 | Int_t getNChargedParticles(Float_t ptCut) const; | |
34 | Int_t getNNeutralParticles(Float_t ptCut) const; | |
35 | ||
36 | void getAxis(Float_t &x,Float_t &y,Float_t &z,Float_t ptcut=0.) const; | |
37 | void getChAxis(Float_t &x,Float_t &y,Float_t &z,Float_t ptcut=0.) const; | |
38 | TParticle *getLeadingPart(Float_t ptcut=0.) const; | |
39 | TParticle *getLeadingChPart(Float_t ptcut=0.) const; | |
40 | ||
41 | //get Et, eta and phi from particles in towers | |
42 | void calculateFromParticles(Float_t &et, Float_t &eta, Float_t &phi, Float_t ptcut=0.); | |
43 | ||
44 | //calculate interesting values | |
45 | void calculateValues(Float_t ptcut=0.); | |
46 | ||
47 | void Print(Option_t *) const { | |
48 | cout << "AliTkConeJet " << fEt << " " << fEta << " " << fPhi << endl; | |
49 | } | |
50 | ||
51 | ULong_t Hash() const {return 0;} | |
52 | Bool_t IsEqual(const TObject */*obj*/) const {return kFALSE;} | |
53 | Bool_t IsSortable() const {return kTRUE;} | |
54 | Int_t Compare(const TObject *obj) const; | |
55 | void Clear(Option_t *option=""); | |
56 | ||
57 | void setEta(Float_t eta) {fEta = eta;} | |
58 | void setPhi(Float_t phi) {fPhi = phi;} | |
59 | void setEt(Float_t et) {fEt = et;} | |
60 | void setType(Int_t t) {fType = t;} | |
61 | Float_t getEta() const {return fEta;} | |
62 | Float_t getPhi() const {return fPhi;} | |
63 | Float_t getEt() const {return fEt;} | |
64 | Int_t getType() const {return fType;} | |
65 | Int_t getNTowers() const {return fNTowers;} | |
66 | Float_t getPtCut() const {return fPtCut;} | |
67 | Float_t getCEta() const {return fCEta;} | |
68 | Float_t getCPhi() const {return fCPhi;} | |
69 | Float_t getCEt() const {return fCEt;} | |
70 | Float_t getPLength() const {return fPLength;} | |
71 | Float_t getXAxis() const {return fXAxis;} | |
72 | Float_t getYAxis() const {return fYAxis;} | |
73 | Float_t getZAxis() const {return fZAxis;} | |
74 | Float_t getPtLead() const {return fPtLead;} | |
75 | TParticle* getLeadPart() const {return fLeadPart;} | |
76 | Int_t getNParts() const {return fNParts;} | |
77 | TClonesArray *getParts() const {return fParts;} | |
78 | TClonesArray *getTowerList() const {return fTowers;} | |
79 | ||
80 | static Float_t Diff(const AliTkConeJet *jet1, const AliTkConeJet *jet2, Float_t &etdiff, Float_t &phidiff, Float_t &etadiff); | |
81 | ||
82 | private: | |
83 | Float_t fEta; | |
84 | Float_t fPhi; | |
85 | Float_t fEt; | |
86 | Int_t fType; //indicate quark, gluon or other information | |
87 | ||
88 | Int_t fNTowers; //number of towers | |
89 | TClonesArray *fTowers; //-> | |
90 | ||
91 | /* properties here are calculated for particles | |
92 | regardless of their charge */ | |
93 | Float_t fPtCut; //pt cut at which properties where calculated | |
94 | Float_t fCEta; //calculated from particles | |
95 | Float_t fCPhi; | |
96 | Float_t fCEt; | |
97 | Float_t fPLength; //length of axis | |
98 | Float_t fXAxis; //axis | |
99 | Float_t fYAxis; | |
100 | Float_t fZAxis; | |
101 | Float_t fPtLead; //leading particle pt | |
102 | TParticle *fLeadPart; //-> | |
103 | Int_t fNParts; //number of parts in all towers | |
104 | TClonesArray *fParts; //-> | |
105 | ||
106 | ClassDef(AliTkConeJet,3) //AliTkConeJet class | |
107 | }; | |
108 | ||
109 | ostream& operator<<(ostream& s,const AliTkConeJet& t); | |
110 | #endif |