11 #include <TParticle.h>
12 #include <TClonesArray.h>
14 class AliJFJet: public TObject
17 AliJFJet(Int_t n=250);
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;}
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;}
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;}
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;}
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;}
76 inline const Int_t GetNPart() const {return fN;}
77 inline const Int_t GetNJet () const {return fNJet;}
79 TParticle* const GetMaxParticle() {return &fMaxParticle;}
80 TClonesArray* const GetParticles() {return &fParticles;}
82 inline void SetNJet(Int_t n) {fNJet=n;}
83 virtual void Update(){};
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;
109 Double_t fE_; //energy without mass
122 Double_t fE_C; //energy without mass
135 Double_t fE_N; //energy without mass
148 Double_t fE_EM; //energy without mass
153 TParticle fMaxParticle;
154 TParticle fMaxParticleC;
155 TParticle fMaxParticleN;
156 TParticle fMaxParticleEM;
157 TClonesArray fParticles;
161 ClassDef(AliJFJet,1) //AliJFJet class