]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/UNICOR/AliUnicorEvent.h
Update to macros for wider multiplicity axis and fixed rapidity interval
[u/mrichter/AliRoot.git] / PWG2 / UNICOR / AliUnicorEvent.h
CommitLineData
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
17class TTree;
18
19//=============================================================================
20class 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//=============================================================================