Extension for AOD
[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;
18
19class 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();
3e64f60c 37 Double_t GetQContributionX(AliVTrack* track);
38 Double_t GetQContributionY(AliVTrack* track);
e51055a0 39 Double_t GetQContributionXsub1(AliVTrack* track);
40 Double_t GetQContributionYsub1(AliVTrack* track);
41 Double_t GetQContributionXsub2(AliVTrack* track);
42 Double_t GetQContributionYsub2(AliVTrack* track);
3e64f60c 43 TArrayF* GetQContributionXArray() { return fQContributionX; }
44 TArrayF* GetQContributionYArray() { return fQContributionY; }
e51055a0 45 TArrayF* GetQContributionXArraysub1() { return fQContributionXsub1; }
46 TArrayF* GetQContributionYArraysub1() { return fQContributionYsub1; }
47 TArrayF* GetQContributionXArraysub2() { return fQContributionXsub2; }
48 TArrayF* GetQContributionYArraysub2() { return fQContributionYsub2; }
3e64f60c 49 Double_t GetEventplane(const char *method);
ce7adfe9 50 TVector2* GetQsub1();
51 TVector2* GetQsub2();
3e64f60c 52 Double_t GetQsubRes();
53 Bool_t IsEventInEventplaneClass(Double_t a, Double_t b, const char *method);
54
55 void Reset();
ce7adfe9 56
57 private:
e51055a0 58 TVector2* fQVector; // Q-Vector of event
59 TArrayF* fQContributionX; // array of the tracks' contributions to X component of Q-Vector - index = track ID
60 TArrayF* fQContributionY; // array of the tracks' contributions to Y component of Q-Vector - index = track ID
61 TArrayF* fQContributionXsub1; // array of the tracks' contributions to X component of Q-Vectorsub1 - index = track ID
62 TArrayF* fQContributionYsub1; // array of the tracks' contributions to Y component of Q-Vectorsub1 - index = track ID
63 TArrayF* fQContributionXsub2; // array of the tracks' contributions to X component of Q-Vectorsub2 - index = track ID
64 TArrayF* fQContributionYsub2; // array of the tracks' contributions to Y component of Q-Vectorsub2 - index = track ID
65 Double_t fEventplaneQ; // Event plane angle from Q-Vector
66 TVector2* fQsub1; // Q-Vector of subevent 1
67 TVector2* fQsub2; // Q-Vector of subevent 2
68 Double_t fQsubRes; // Difference of EP angles of subevents
ce7adfe9 69
70 ClassDef(AliEventplane, 1)
71};
72#endif //ALIEVENTPLANE_H