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