]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/AliTkConeJet.h
Corrected media numbers (R.Grosso)
[u/mrichter/AliRoot.git] / JETAN / AliTkConeJet.h
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