6 #include "AliTkTowerV2.h"
8 class AliTkConeJet : public TObject {
11 AliTkConeJet(Float_t pt,Float_t eta,Float_t phi,Int_t type=0);
12 AliTkConeJet(const AliTkConeJet &j);
15 void addTower(AliTkTowerV2 *tower);
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;
25 TClonesArray *getParticles(Float_t ptCut=0.) const;
26 TClonesArray *getChargedParticles(Float_t ptCut=0.) const;
27 TClonesArray *getNeutralParticles(Float_t ptCut=0.) const;
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;
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;
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.);
44 //calculate interesting values
45 void calculateValues(Float_t ptcut=0.);
47 void Print(Option_t *) const {
48 cout << "AliTkConeJet " << fEt << " " << fEta << " " << fPhi << endl;
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="");
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;}
80 static Float_t Diff(const AliTkConeJet *jet1, const AliTkConeJet *jet2, Float_t &etdiff, Float_t &phidiff, Float_t &etadiff);
86 Int_t fType; //indicate quark, gluon or other information
88 Int_t fNTowers; //number of towers
89 TClonesArray *fTowers; //->
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
97 Float_t fPLength; //length of axis
98 Float_t fXAxis; //axis
101 Float_t fPtLead; //leading particle pt
102 TParticle *fLeadPart; //->
103 Int_t fNParts; //number of parts in all towers
104 TClonesArray *fParts; //->
106 ClassDef(AliTkConeJet,3) //AliTkConeJet class
109 ostream& operator<<(ostream& s,const AliTkConeJet& t);