f3273dd2956e4967ccee3670c6bdaebed665c99a
[u/mrichter/AliRoot.git] / STEER / AliEventplane.h
1 #ifndef ALIEventplane_H
2 #define ALIEventplane_H
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;
15 class AliESDtrack;
16 class TObjArray;
17 class TArrayF;
18
19 class AliEventplane : public TNamed
20 {
21  public:
22
23   AliEventplane();  /// constructor
24   ~AliEventplane();  /// destructor
25   AliEventplane(const AliEventplane& ep); /// copy constructor
26   AliEventplane& operator=(const AliEventplane& ep);   /// assignment operator
27   virtual void CopyEP(AliEventplane& ep) const;
28
29   /// set event plane result
30   void SetQVector(TVector2* qvector) {fQVector = qvector;}
31   void SetEventplaneQ(Double_t evp) {fEventplaneQ = evp;} 
32   void SetQsub(TVector2* qs1, TVector2* qs2) {fQsub1 = qs1;fQsub2 = qs2;}
33   void SetQsubRes (Double_t qsr) {fQsubRes = qsr;}
34
35   /// get event plane result
36   TVector2* GetQVector(); 
37   Double_t GetQContributionX(AliESDtrack* track);
38   Double_t GetQContributionY(AliESDtrack* track);
39   TArrayF* GetQContributionXArray() { return fQContributionX; }
40   TArrayF* GetQContributionYArray() { return fQContributionY; }
41   Double_t GetEventplane(const char *method);
42   TVector2* GetQsub1();
43   TVector2* GetQsub2();
44   Double_t GetQsubRes();
45   Bool_t  IsEventInEventplaneClass(Double_t a, Double_t b, const char *method);
46
47  private:
48    TVector2* fQVector;          // Q-Vector of event
49    TArrayF* fQContributionX;    // array of the tracks' contributions to X component of Q-Vector - index = track ID
50    TArrayF* fQContributionY;    // array of the tracks' contributions to Y component of Q-Vector - index = track ID
51    Double_t fEventplaneQ;       // Event plane angle from Q-Vector
52    TVector2* fQsub1;            // Q-Vector of subevent 1
53    TVector2* fQsub2;            // Q-Vector of subevent 2
54    Double_t fQsubRes;           // Difference of EP angles of subevents
55  
56   ClassDef(AliEventplane, 1)
57 };
58 #endif //ALIEVENTPLANE_H