1 #ifndef ALIEMCALPARTICLE_H
2 #define ALIEMCALPARTICLE_H
4 #include <TLorentzVector.h>
7 #include "AliVCluster.h"
8 #include "AliVParticle.h"
15 AliEmcalParticle(AliVCluster* cluster, Int_t
id = -1, Double_t vx=0, Double_t vy=0, Double_t vz=0, Int_t ude=-1);
21 Double_t
Px()
const {
return fPt*TMath::Cos(
fPhi); }
22 Double_t
Py()
const {
return fPt*TMath::Sin(
fPhi); };
23 Double_t
Pz()
const {
return fPt*TMath::SinH(
fEta); }
24 Double_t
Pt()
const {
return fPt ; }
25 Double_t
P()
const {
return TMath::Sqrt(
Px()*
Px()+
Py()*
Py()+
Pz()*
Pz()); }
26 Bool_t
PxPyPz(Double_t p[3])
const { p[0] =
Px(); p[1] =
Py(); p[2] =
Pz();
return 1; }
27 Double_t
Xv()
const {
return 0; }
28 Double_t
Yv()
const {
return 0; }
29 Double_t
Zv()
const {
return 0; }
30 Bool_t
XvYvZv(Double_t x[3])
const { x[0] =
Xv(); x[1] =
Yv(); x[2] =
Zv();
return 1; }
33 Double_t
Theta()
const {
return 2*TMath::ATan(TMath::Exp(-
fEta)); }
34 Double_t
E()
const { Double_t p=
P();
return TMath::Sqrt(
M()*
M()+p*p); }
35 Double_t
M()
const {
return fM; }
41 const Double_t *
PID()
const {
return 0; }
64 Bool_t
IsMC(Int_t minLabel=0)
const {
if (
fTrack)
return (TMath::Abs(
fTrack->GetLabel()) > minLabel);
65 return (
fCluster->GetLabel() > minLabel); }
Int_t fId
number of matched objects
Double_t fMatchedDist[fSizeMatched]
ids of matched tracks/clusters, ordered from the closest to the farthest
static const UShort_t fSizeMatched
AliVCluster * GetMatchedCluster(UShort_t i=0) const
Double_t GetTrackEtaOnEMCal() const
Int_t GetMatchedObjId(UShort_t i=0) const
UShort_t GetNumberOfMatchedObj() const
TLorentzVector & GetLorentzVector(const Double_t *vertex=0) const
void SetMatchedPtr(TObjArray *arr)
Double_t fPhi
id in original collection
AliVTrack * GetTrack() const
virtual ~AliEmcalParticle()
Bool_t IsMC(Int_t minLabel=0) const
AliVCluster * fCluster
track
UShort_t fMatchedIds[fSizeMatched]
cluster
Double_t GetTrackPhiOnEMCal() const
AliEmcalParticle & operator=(const AliEmcalParticle &p)
void SetPtEtaPhiM(Double_t pt, Double_t eta, Double_t phi, Double_t m)
void SetIdInCollection(Int_t id)
Int_t IdInCollection() const
const Double_t * PID() const
UShort_t fNMatched
distances of matched tracks/clusters
AliVTrack * GetMatchedTrack(UShort_t i=0) const
Double_t GetMatchedObjDistance(UShort_t i=0) const
AliVCluster * GetCluster() const
void SetMatchedObj(Int_t id, Double_t d)
void AddMatchedObj(Int_t id, Double_t d)
Bool_t PxPyPz(Double_t p[3]) const
TObjArray * fMatchedPtr
M.
void ResetMatchedObjects()
Bool_t XvYvZv(Double_t x[3]) const
Double_t GetTrackPtOnEMCal() const
AliVTrack * fTrack
size of matched clusters array
Double_t OneOverPt() const