first supposedly working version
[u/mrichter/AliRoot.git] / PWGGA / EMCALTasks / AliESDJet.h
CommitLineData
7df864a3 1// $Id$
2
3#ifndef AliESDJet_H
4#define AliESDJet_H
5
7efbea04 6#include "AliVParticle.h"
7#include <TLorentzVector.h>
8#include <TMath.h>
9
10class AliESDJet : public AliVParticle
11{
7df864a3 12 public:
7efbea04 13 AliESDJet() : AliVParticle(), fPt(0), fEta(0), fPhi(0), fM(0), fNEF(0), fArea(0),
14 fNch(0), fNn(0), fMaxCPt(0), fMaxNPt(0) {;}
15 AliESDJet(Double_t pt, Double_t eta, Double_t phi, Double_t m) :
16 AliVParticle(), fPt(pt), fEta(eta), fPhi(phi), fM(m), fNEF(0), fArea(0),
17 fNch(0), fNn(0), fMaxCPt(0), fMaxNPt(0) {;}
18 AliESDJet(Double_t px, Double_t py, Double_t pz);
19 AliESDJet(const AliESDJet &jet);
20 AliESDJet& operator=(const AliESDJet &jet);
21
22 Double_t Px() const { return fPt*TMath::Cos(fPhi); }
23 Double_t Py() const { return fPt*TMath::Cos(fPhi); }
24 Double_t Pz() const { return fPt*TMath::SinH(fEta); }
25 Double_t Pt() const { return fPt; }
26 Double_t P() const { return fPt*TMath::CosH(fEta); }
27 Bool_t PxPyPz(Double_t p[3]) const { p[0]=Px();p[1]=Py();p[2]=Pz(); return 1; }
28 Double_t Xv() const { return 0.; }
29 Double_t Yv() const { return 0.; }
30 Double_t Zv() const { return 0.; }
31 Bool_t XvYvZv(Double_t x[3]) const { x[0]=0;x[1]=0;x[2]=0; return 1; }
32 Double_t OneOverPt() const { return 1./fPt; }
33 Double_t Phi() const { return fPhi; }
34 Double_t Theta() const { return 2*TMath::ATan(TMath::Exp(-fEta)); }
35 Double_t E() const { Double_t p=P(); return TMath::Sqrt(M()*M()+p*p); }
36 Double_t M() const { return 0.13957; }
37 Double_t Eta() const { return fEta; }
38 Double_t Y() const { return 0.5*TMath::Log((E()+Pz())/(E()-Pz())); }
39 Short_t Charge() const { return 0; }
40 Int_t GetLabel() const { return -1; }
41 Int_t PdgCode() const { return 0; }
42 const Double_t *PID() const { return 0; }
43 UShort_t N() const { return fNch+fNn;}
44 void GetMom(TLorentzVector &vec) const;
45 void Print(Option_t* option = "") const;
46
7df864a3 47 protected:
7efbea04 48 Double32_t fPt; //[0,0,12] pt
49 Double32_t fEta; //[-1,1,12] eta
50 Double32_t fPhi; //[0,6.3,12] phi
51 Double32_t fM; //[0,0,8] mass
52 Double32_t fNEF; //[0,1,8] neutral energy fraction
53 Double32_t fArea; //[0,0,12] area
54 UShort_t fNch; // number of charged constituents
55 UShort_t fNn; // number of neutral constituents
56 Double32_t fMaxCPt; //[0,0,12] pt of maximum track
57 Double32_t fMaxNPt; //[0,0,12] pt of maximum cluster
7df864a3 58
7efbea04 59 ClassDef(AliESDJet,1) // ESD jet class in cylindrical coordinates
7df864a3 60};
f472e642 61#endif