]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/STEERBase/AliEventplane.h
- Reshuffling of the particle codes in AliPID. Now the light nuclei are between the
[u/mrichter/AliRoot.git] / STEER / STEERBase / AliEventplane.h
CommitLineData
e51055a0 1#ifndef ALIEVENTPLANE_H
2#define ALIEVENTPLANE_H
ce7adfe9 3
4/* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
6
7//*****************************************************
8// Class AliEventplane
9// author: Alberica Toia, Johanna Gramling
10//*****************************************************
11
12#include "TNamed.h"
13
14class TVector2;
aa260dd1 15class AliVTrack;
ce7adfe9 16class TObjArray;
17class TArrayF;
fd5c821a 18class AliVEvent;
ce7adfe9 19
20class AliEventplane : public TNamed
21{
22 public:
23
24 AliEventplane(); /// constructor
25 ~AliEventplane(); /// destructor
26 AliEventplane(const AliEventplane& ep); /// copy constructor
27 AliEventplane& operator=(const AliEventplane& ep); /// assignment operator
28 virtual void CopyEP(AliEventplane& ep) const;
29
30 /// set event plane result
31 void SetQVector(TVector2* qvector) {fQVector = qvector;}
32 void SetEventplaneQ(Double_t evp) {fEventplaneQ = evp;}
33 void SetQsub(TVector2* qs1, TVector2* qs2) {fQsub1 = qs1;fQsub2 = qs2;}
34 void SetQsubRes (Double_t qsr) {fQsubRes = qsr;}
35
36 /// get event plane result
37 TVector2* GetQVector();
3e64f60c 38 Double_t GetQContributionX(AliVTrack* track);
39 Double_t GetQContributionY(AliVTrack* track);
e51055a0 40 Double_t GetQContributionXsub1(AliVTrack* track);
41 Double_t GetQContributionYsub1(AliVTrack* track);
42 Double_t GetQContributionXsub2(AliVTrack* track);
43 Double_t GetQContributionYsub2(AliVTrack* track);
3e64f60c 44 TArrayF* GetQContributionXArray() { return fQContributionX; }
45 TArrayF* GetQContributionYArray() { return fQContributionY; }
e51055a0 46 TArrayF* GetQContributionXArraysub1() { return fQContributionXsub1; }
47 TArrayF* GetQContributionYArraysub1() { return fQContributionYsub1; }
48 TArrayF* GetQContributionXArraysub2() { return fQContributionXsub2; }
49 TArrayF* GetQContributionYArraysub2() { return fQContributionYsub2; }
fd5c821a 50 Double_t GetEventplane(const char *x, const AliVEvent *event = NULL, Int_t harmonic = 2) const;
ce7adfe9 51 TVector2* GetQsub1();
52 TVector2* GetQsub2();
3e64f60c 53 Double_t GetQsubRes();
54 Bool_t IsEventInEventplaneClass(Double_t a, Double_t b, const char *method);
fe509094 55 Double_t CalculateVZEROEventPlane(const AliVEvent *event, Int_t firstRing, Int_t lastRing, Int_t harmonic, Double_t &qxTot, Double_t &qyTot) const;
cc4d0e9c 56 Double_t CalculateVZEROEventPlane(const AliVEvent * event, Int_t ring, Int_t harmonic, Double_t &qx, Double_t &qy) const;
0643f5a7 57 void SetVZEROEPParams(Int_t ring,
58 Double_t meanX2, Double_t meanY2,
59 Double_t aPlus, Double_t aMinus,
60 Double_t lambdaPlus, Double_t lambdaMinus,
61 Double_t cos8Psi);
3e64f60c 62
63 void Reset();
ce7adfe9 64
65 private:
e51055a0 66 TVector2* fQVector; // Q-Vector of event
67 TArrayF* fQContributionX; // array of the tracks' contributions to X component of Q-Vector - index = track ID
68 TArrayF* fQContributionY; // array of the tracks' contributions to Y component of Q-Vector - index = track ID
69 TArrayF* fQContributionXsub1; // array of the tracks' contributions to X component of Q-Vectorsub1 - index = track ID
70 TArrayF* fQContributionYsub1; // array of the tracks' contributions to Y component of Q-Vectorsub1 - index = track ID
71 TArrayF* fQContributionXsub2; // array of the tracks' contributions to X component of Q-Vectorsub2 - index = track ID
72 TArrayF* fQContributionYsub2; // array of the tracks' contributions to Y component of Q-Vectorsub2 - index = track ID
73 Double_t fEventplaneQ; // Event plane angle from Q-Vector
74 TVector2* fQsub1; // Q-Vector of subevent 1
75 TVector2* fQsub2; // Q-Vector of subevent 2
76 Double_t fQsubRes; // Difference of EP angles of subevents
cc4d0e9c 77 Double_t fMeanX2[11]; // Mean Q^2_X for VZERO EP
78 Double_t fMeanY2[11]; // Mean Q^2_Y for VZERO EP
79 Double_t fAPlus[11]; // Q^2_X rescaling parameter for VZERO EP
80 Double_t fAMinus[11]; // Q^2_Y rescaling parameter for VZERO EP
81 Double_t fLambdaPlus[11]; // Q^2_X twisting parameter for VZERO EP
82 Double_t fLambdaMinus[11]; // Q^2_Y twisting parameter for VZERO EP
83 Double_t fCos8Psi[11]; // 4th Fourier momenta used to flatten VZERO EP within a sector
0643f5a7 84
cc4d0e9c 85 ClassDef(AliEventplane, 5)
ce7adfe9 86};
87#endif //ALIEVENTPLANE_H