]> git.uio.no Git - u/mrichter/AliRoot.git/blob - JETAN/jetan2004/AliJFJet.h
L3 becomes HLT
[u/mrichter/AliRoot.git] / JETAN / jetan2004 / AliJFJet.h
1 // $Id$
2
3 #ifndef ALIJFJETH
4 #define ALIJFJETH
5
6 #ifndef ROOT_TObject 
7 #include <TObject.h>
8 #endif
9
10 #include <TMath.h>
11 #include <TParticle.h>
12 #include <TClonesArray.h>
13
14 class AliJFJet: public TObject
15 {
16  public:
17   AliJFJet(Int_t n=250);
18   virtual ~AliJFJet();
19
20   inline Double_t GetPhi()   {if(!fIsUpdated) Update(); return fPhi;}  
21   inline Double_t GetEta()   {if(!fIsUpdated) Update(); return fEta;}  
22   inline Double_t GetY()     {if(!fIsUpdated) Update(); return fY;}  
23   inline Double_t GetPt()    {if(!fIsUpdated) Update(); return fPt;}  
24   inline Double_t GetPx()    {if(!fIsUpdated) Update(); return fPx;}  
25   inline Double_t GetPy()    {if(!fIsUpdated) Update(); return fPy;}  
26   inline Double_t GetPz()    {if(!fIsUpdated) Update(); return fPz;}
27   inline Double_t GetE()     {if(!fIsUpdated) Update(); return fE;}  
28   inline Double_t GetE_()    {if(!fIsUpdated) Update(); return fE_;}  
29   inline Double_t GetPtSum() {if(!fIsUpdated) Update(); return fPtSum;}  
30   inline Double_t GetPhiSum(){if(!fIsUpdated) Update(); return fPhiSum;}  
31   inline Double_t GetEtaSum(){if(!fIsUpdated) Update(); return fEtaSum;}  
32
33   inline Double_t GetPhiC()   {if(!fIsUpdated) Update(); return fPhiC;}  
34   inline Double_t GetEtaC()   {if(!fIsUpdated) Update(); return fEtaC;}  
35   inline Double_t GetYC()     {if(!fIsUpdated) Update(); return fYC;}  
36   inline Double_t GetPtC()    {if(!fIsUpdated) Update(); return fPtC;}  
37   inline Double_t GetPxC()    {if(!fIsUpdated) Update(); return fPxC;}  
38   inline Double_t GetPyC()    {if(!fIsUpdated) Update(); return fPyC;}  
39   inline Double_t GetPzC()    {if(!fIsUpdated) Update(); return fPzC;}
40   inline Double_t GetEC()     {if(!fIsUpdated) Update(); return fEC;}  
41   inline Double_t GetE_C()    {if(!fIsUpdated) Update(); return fE_C;}  
42   inline Double_t GetPtSumC() {if(!fIsUpdated) Update(); return fPtSumC;}  
43   inline Double_t GetPhiSumC(){if(!fIsUpdated) Update(); return fPhiSumC;}  
44   inline Double_t GetEtaSumC(){if(!fIsUpdated) Update(); return fEtaSumC;}  
45
46   inline Double_t GetPhiN()   {if(!fIsUpdated) Update(); return fPhiN;}  
47   inline Double_t GetEtaN()   {if(!fIsUpdated) Update(); return fEtaN;}  
48   inline Double_t GetYN()     {if(!fIsUpdated) Update(); return fYN;}  
49   inline Double_t GetPtN()    {if(!fIsUpdated) Update(); return fPtN;}  
50   inline Double_t GetPxN()    {if(!fIsUpdated) Update(); return fPxN;}  
51   inline Double_t GetPyN()    {if(!fIsUpdated) Update(); return fPyN;}  
52   inline Double_t GetPzN()    {if(!fIsUpdated) Update(); return fPzN;}
53   inline Double_t GetEN()     {if(!fIsUpdated) Update(); return fEN;}  
54   inline Double_t GetE_N()    {if(!fIsUpdated) Update(); return fE_N;}  
55   inline Double_t GetPtSumN() {if(!fIsUpdated) Update(); return fPtSumN;}  
56   inline Double_t GetPhiSumN(){if(!fIsUpdated) Update(); return fPhiSumN;}  
57   inline Double_t GetEtaSumN(){if(!fIsUpdated) Update(); return fEtaSumN;}  
58
59   inline Double_t GetPhiEM()   {if(!fIsUpdated) Update(); return fPhiEM;}  
60   inline Double_t GetEtaEM()   {if(!fIsUpdated) Update(); return fEtaEM;}  
61   inline Double_t GetYEM()     {if(!fIsUpdated) Update(); return fYEM;}  
62   inline Double_t GetPtEM()    {if(!fIsUpdated) Update(); return fPtEM;}  
63   inline Double_t GetPxEM()    {if(!fIsUpdated) Update(); return fPxEM;}  
64   inline Double_t GetPyEM()    {if(!fIsUpdated) Update(); return fPyEM;}  
65   inline Double_t GetPzEM()    {if(!fIsUpdated) Update(); return fPzEM;}
66   inline Double_t GetEEM()     {if(!fIsUpdated) Update(); return fEEM;}  
67   inline Double_t GetE_EM()    {if(!fIsUpdated) Update(); return fE_EM;}  
68   inline Double_t GetPtSumEM() {if(!fIsUpdated) Update(); return fPtSumEM;}  
69   inline Double_t GetPhiSumEM(){if(!fIsUpdated) Update(); return fPhiSumEM;}  
70   inline Double_t GetEtaSumEM(){if(!fIsUpdated) Update(); return fEtaSumEM;}  
71
72   inline Int_t GetNCharged() {if(!fIsUpdated) Update(); return fNCharged;}
73   inline Int_t GetNNeutral() {if(!fIsUpdated) Update(); return fNNeutral;}
74   inline Int_t GetNEM()      {if(!fIsUpdated) Update(); return fNEM;}
75
76   inline  const Int_t GetNPart() const {return fN;}
77   inline  const Int_t GetNJet () const {return fNJet;} 
78
79   TParticle* const GetMaxParticle()  {return &fMaxParticle;}
80   TClonesArray* const GetParticles() {return &fParticles;}
81
82   inline  void SetNJet(Int_t n) {fNJet=n;}
83   virtual void Update(){};
84
85   virtual void Debug();
86   virtual void Clean();
87
88   void Print(Option_t *) const {cout << "Jet " << (int)fNJet << ": " << fPtSum << " " << (int)fN << endl;}
89   ULong_t Hash() const {return fNJet;}
90   Bool_t IsEqual(const TObject *obj) const {return fNJet == ((AliJFJet*)obj)->GetNJet();}
91   Bool_t IsSortable() const {return kTRUE;}
92   Int_t  Compare(const TObject *obj) const;
93
94  protected:
95   Int_t fNJet;
96   Int_t fN;
97   Int_t fNCharged;
98   Int_t fNNeutral;
99   Int_t fNEM;
100
101   Double_t fPhi;
102   Double_t fEta;
103   Double_t fY;
104   Double_t fPt;
105   Double_t fPx;
106   Double_t fPy;
107   Double_t fPz;
108   Double_t fE;  
109   Double_t fE_; //energy without mass
110   Double_t fPtSum;
111   Double_t fPhiSum;
112   Double_t fEtaSum;
113
114   Double_t fPhiC;
115   Double_t fEtaC;
116   Double_t fYC;
117   Double_t fPtC;
118   Double_t fPxC;
119   Double_t fPyC;
120   Double_t fPzC;
121   Double_t fEC;  
122   Double_t fE_C; //energy without mass
123   Double_t fPtSumC;
124   Double_t fPhiSumC;
125   Double_t fEtaSumC;
126
127   Double_t fPhiN;
128   Double_t fEtaN;
129   Double_t fYN;
130   Double_t fPtN;
131   Double_t fPxN;
132   Double_t fPyN;
133   Double_t fPzN;
134   Double_t fEN;  
135   Double_t fE_N; //energy without mass
136   Double_t fPtSumN;
137   Double_t fPhiSumN;
138   Double_t fEtaSumN;
139
140   Double_t fPhiEM;
141   Double_t fEtaEM;
142   Double_t fYEM;
143   Double_t fPtEM;
144   Double_t fPxEM;
145   Double_t fPyEM;
146   Double_t fPzEM;
147   Double_t fEEM;  
148   Double_t fE_EM; //energy without mass
149   Double_t fPtSumEM;
150   Double_t fPhiSumEM;
151   Double_t fEtaSumEM;
152
153   TParticle fMaxParticle;
154   TParticle fMaxParticleC;
155   TParticle fMaxParticleN;
156   TParticle fMaxParticleEM;
157   TClonesArray fParticles;
158
159   Bool_t fIsUpdated;
160
161   ClassDef(AliJFJet,1) //AliJFJet class
162 };
163
164 #endif /*ALIJFJETH*/