]> git.uio.no Git - u/mrichter/AliRoot.git/blame - JETAN/jetan2004/AliTkConeJet.h
Replaced by JETANLinkDef.h
[u/mrichter/AliRoot.git] / JETAN / jetan2004 / AliTkConeJet.h
CommitLineData
b9a6a391 1// $Id$
2
3#ifndef ALITKCONEJET_H
4#define ALITKCONEJET_H
5
6#include "AliTkTowerV2.h"
7
8class 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
109ostream& operator<<(ostream& s,const AliTkConeJet& t);
110#endif