]>
Commit | Line | Data |
---|---|---|
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 | ||
14 | class TVector2; | |
aa260dd1 | 15 | class AliVTrack; |
ce7adfe9 | 16 | class TObjArray; |
17 | class TArrayF; | |
fd5c821a | 18 | class AliVEvent; |
ce7adfe9 | 19 | |
20 | class 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 |