]>
Commit | Line | Data |
---|---|---|
621688e4 | 1 | #ifndef ALIUNICOREVENT_H |
2 | #define ALIUNICOREVENT_H | |
3 | ||
4 | /* Copyright(c) 1998-2048, ALICE Experiment at CERN, All rights reserved. * | |
5 | * See cxx source for full Copyright notice */ | |
6 | /* $Id$ */ | |
7 | ||
8 | // Author: Dariusz Miskowiec <mailto:d.miskowiec@gsi.de> 2007 | |
9 | ||
10 | //============================================================================= | |
11 | // parent class of all events; analyzers access data via this class | |
12 | //============================================================================= | |
13 | ||
14 | #include <cmath> | |
15 | #include <TObject.h> | |
16 | ||
17 | class TTree; | |
18 | ||
19 | //============================================================================= | |
20 | class AliUnicorEvent : public TObject { | |
21 | public: | |
c6fc7f72 | 22 | AliUnicorEvent() : TObject(){} // constructor |
23 | virtual ~AliUnicorEvent() {} // destructor | |
621688e4 | 24 | |
25 | // interface part | |
26 | ||
27 | virtual void AttachTree(TTree *tr) = 0; | |
76d78859 | 28 | virtual Double_t Etamin() const = 0; // experiment's acceptance |
621688e4 | 29 | virtual Double_t Etamax() const = 0; |
30 | virtual Bool_t Good() const = 0; | |
76d78859 | 31 | virtual Double_t Centrality() const = 0; // centrality (0,1); 0 is most central |
621688e4 | 32 | virtual void RP(Double_t &qx, Double_t &qy) const = 0; |
33 | virtual Double_t RPphi() const = 0; | |
76d78859 | 34 | virtual Double_t Zver() const = 0; // z-vertex (-1,1) |
35 | virtual Int_t NParticles() const = 0; // number of tracks | |
621688e4 | 36 | |
61e4657c | 37 | virtual Bool_t ParticleGood(Int_t i, Int_t pidi=0) const = 0; |
621688e4 | 38 | virtual Double_t ParticleP(Int_t i) const = 0; |
39 | virtual Double_t ParticleTheta(Int_t i) const = 0; | |
40 | virtual Double_t ParticlePhi(Int_t i) const = 0; | |
41 | virtual Double_t ParticleDedx(Int_t i) const = 0; | |
28eee19b | 42 | virtual Bool_t PairGood(double p0, double the0, double phi0, double z0, |
43 | double p1, double the1, double phi1, double z1) const = 0; | |
621688e4 | 44 | |
45 | // toolkit part | |
46 | ||
61e4657c | 47 | Int_t NGoodParticles() const {int n=0; for (int i=0; i<NParticles(); i++) if (ParticleGood(i)) n++; return n;} |
621688e4 | 48 | void RP(Double_t &qx, Double_t &qy, Int_t harmonic) const; |
49 | Double_t ParticlePt(Int_t i) const {return ParticleP(i)*sin(ParticleTheta(i));} | |
50 | Double_t ParticlePz(Int_t i) const {return ParticleP(i)*cos(ParticleTheta(i));} | |
51 | Double_t ParticleEta(Int_t i) const; | |
52 | Double_t ParticleY(Int_t i, Double_t mass) const; | |
53 | ||
54 | ClassDef(AliUnicorEvent,0) | |
55 | }; | |
56 | #endif | |
57 | //============================================================================= |