#ifndef ALIUNICOREVENTALICEESD_H
#define ALIUNICOREVENTALICEESD_H
#include <cmath>
#include "TVector2.h"
#include "AliESDEvent.h"
#include "AliExternalTrackParam.h"
#include "AliUnicorEvent.h"
class TGraph;
class AliUnicorEventAliceESD : public AliUnicorEvent {
public:
AliUnicorEventAliceESD(AliESDEvent *esd=0);
AliUnicorEventAliceESD(const AliUnicorEventAliceESD &ev): AliUnicorEvent(ev), fViper(ev.fViper), fESD(ev.fESD) {}
virtual ~AliUnicorEventAliceESD();
AliUnicorEventAliceESD &operator=(const AliUnicorEventAliceESD &source) {
if(&source == this) return *this;
AliUnicorEvent::operator=(source);
fViper=source.fViper; fESD=source.fESD; return *this;}
Double_t Etamin() const {return -0.75;}
Double_t Etamax() const {return 0.75;}
void AttachTree(TTree *tr) {fESD->ReadFromTree(tr);}
Bool_t Good() const;
Double_t Centrality() const;
void RP(Double_t &qx, Double_t &qy) const {AliUnicorEvent::RP(qx,qy,2);}
Double_t RPphi() const {Double_t qx,qy; RP(qx,qy); return atan2(qy,qx);}
Double_t Zver() const {return fESD->GetPrimaryVertex()->GetZ()/12.0;}
Int_t NParticles() const {return fESD->GetNumberOfTracks();}
Bool_t ParticleGood(Int_t i, Int_t pidi=0) const;
Double_t ParticleP(Int_t i) const {return GetTrackParam(i)->P();}
Double_t ParticleTheta(Int_t i) const {return GetTrackParam(i)->Theta();}
Double_t ParticlePhi(Int_t i) const {return TVector2::Phi_mpi_pi(GetTrackParam(i)->Phi());}
Double_t ParticleDedx(Int_t i) const {return fESD->GetTrack(i)->GetTPCsignal()/50.0;}
Bool_t PairGood(double p0, double the0, double phi0, double z0,
double p1, double the1, double phi1, double z1) const;
void SetESD(AliESDEvent * const esd) {fESD = esd;}
AliESDEvent *GetESD() const {return fESD;}
const AliExternalTrackParam *GetTrackParam(Int_t i) const {return fESD->GetTrack(i)->GetTPCInnerParam();}
protected:
TGraph *fViper;
AliESDEvent *fESD;
ClassDef(AliUnicorEventAliceESD,0)
};
#endif
AliUnicorEventAliceESD.h:1 AliUnicorEventAliceESD.h:2 AliUnicorEventAliceESD.h:3 AliUnicorEventAliceESD.h:4 AliUnicorEventAliceESD.h:5 AliUnicorEventAliceESD.h:6 AliUnicorEventAliceESD.h:7 AliUnicorEventAliceESD.h:8 AliUnicorEventAliceESD.h:9 AliUnicorEventAliceESD.h:10 AliUnicorEventAliceESD.h:11 AliUnicorEventAliceESD.h:12 AliUnicorEventAliceESD.h:13 AliUnicorEventAliceESD.h:14 AliUnicorEventAliceESD.h:15 AliUnicorEventAliceESD.h:16 AliUnicorEventAliceESD.h:17 AliUnicorEventAliceESD.h:18 AliUnicorEventAliceESD.h:19 AliUnicorEventAliceESD.h:20 AliUnicorEventAliceESD.h:21 AliUnicorEventAliceESD.h:22 AliUnicorEventAliceESD.h:23 AliUnicorEventAliceESD.h:24 AliUnicorEventAliceESD.h:25 AliUnicorEventAliceESD.h:26 AliUnicorEventAliceESD.h:27 AliUnicorEventAliceESD.h:28 AliUnicorEventAliceESD.h:29 AliUnicorEventAliceESD.h:30 AliUnicorEventAliceESD.h:31 AliUnicorEventAliceESD.h:32 AliUnicorEventAliceESD.h:33 AliUnicorEventAliceESD.h:34 AliUnicorEventAliceESD.h:35 AliUnicorEventAliceESD.h:36 AliUnicorEventAliceESD.h:37 AliUnicorEventAliceESD.h:38 AliUnicorEventAliceESD.h:39 AliUnicorEventAliceESD.h:40 AliUnicorEventAliceESD.h:41 AliUnicorEventAliceESD.h:42 AliUnicorEventAliceESD.h:43 AliUnicorEventAliceESD.h:44 AliUnicorEventAliceESD.h:45 AliUnicorEventAliceESD.h:46 AliUnicorEventAliceESD.h:47 AliUnicorEventAliceESD.h:48 AliUnicorEventAliceESD.h:49 AliUnicorEventAliceESD.h:50 AliUnicorEventAliceESD.h:51 AliUnicorEventAliceESD.h:52 AliUnicorEventAliceESD.h:53 AliUnicorEventAliceESD.h:54 AliUnicorEventAliceESD.h:55 AliUnicorEventAliceESD.h:56 AliUnicorEventAliceESD.h:57 AliUnicorEventAliceESD.h:58 AliUnicorEventAliceESD.h:59 AliUnicorEventAliceESD.h:60 AliUnicorEventAliceESD.h:61 AliUnicorEventAliceESD.h:62 AliUnicorEventAliceESD.h:63 AliUnicorEventAliceESD.h:64 AliUnicorEventAliceESD.h:65