]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/AliFlowEventSimple.h
First implementation of phi, pt and eta weights for the Q vector
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowEventSimple.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2 * See cxx source for full Copyright notice */
3 /* $Id$ */
4
5 #ifndef AliFlowEventSimple_H
6 #define AliFlowEventSimple_H
7
8 #include "AliFlowVector.h" //needed as include
9 #include "TH1F.h"
10 #include "TH1D.h"
11 #include "TFile.h"
12 class AliFlowTrackSimple;
13
14 /**************************************
15  * AliFlowEventSimple: A simple event *
16  *  for flow analysis                 * 
17  *                                    * 
18  * authors: Naomi van der Kolk        *
19  *           (kolk@nikhef.nl)         *  
20  *          Ante Bilandzic            *
21  *           (anteb@nikhef.nl)        * 
22  * ***********************************/
23
24 class AliFlowEventSimple: public TObject {
25
26  public:
27   AliFlowEventSimple(Int_t aLenght);
28   AliFlowEventSimple(const AliFlowEventSimple& anEvent);
29   AliFlowEventSimple& operator=(const AliFlowEventSimple& anEvent);
30   virtual  ~AliFlowEventSimple();
31   
32   Int_t NumberOfTracks() const              { return this->fNumberOfTracks; }
33   Int_t GetEventNSelTracksIntFlow() const   { return this->fEventNSelTracksIntFlow; }
34   void SetNumberOfTracks(Int_t nr)          { this->fNumberOfTracks = nr; }
35   void SetEventNSelTracksIntFlow(Int_t nr)  { this->fEventNSelTracksIntFlow = nr; }
36  
37   //setters and getters
38   void SetUseWeightsPhi(Bool_t const uwPhi) { this->fUseWeightsPhi = uwPhi;};
39   Bool_t GetUseWeightsPhi() const { return this->fUseWeightsPhi;};
40   
41   void SetUseWeightsPt(Bool_t const uwPt) { this->fUseWeightsPt = uwPt;};
42   Bool_t GetUseWeightsPt() const { return this->fUseWeightsPt;};
43   
44   void SetUseWeightsEta(Bool_t const uwEta) { this->fUseWeightsEta = uwEta;};
45   Bool_t GetUseWeightsEta() const { return this->fUseWeightsEta;};
46   
47   void SetPhiWeights(TH1F* const fphiw)     { this->fPhiWeights = fphiw;};
48   void SetPtWeights(TH1D* const fptw)       { this->fPtWeights = fptw;};
49   void SetEtaWeights(TH1D* const fetaw)     { this->fEtaWeights = fetaw;};
50   
51   AliFlowTrackSimple* GetTrack(Int_t i);
52   TObjArray* TrackCollection() const        { return this->fTrackCollection; }
53   AliFlowVector GetQ(Int_t n=2);                //get Q-vector evaluated in harmonic n (default harmonic n=2) 
54   
55  private:
56   TObjArray*           fTrackCollection;        // collection of tracks
57   Int_t                fNumberOfTracks;         // number of tracks
58   Int_t                fEventNSelTracksIntFlow; // number of tracks selected for integrated flow calculation
59   
60   Bool_t fUseWeightsPhi;       // phi weights
61   Bool_t fUseWeightsPt;        // v_2(pt) weights
62   Bool_t fUseWeightsEta;       // v_2(eta) weights   
63   TH1F *fPhiWeights;           // phi weights
64   TH1D *fPtWeights;            // v_2(pt) weights   
65   TH1D *fEtaWeights;           // v_2(eta) weights
66   
67   ClassDef(AliFlowEventSimple,1)                // macro for rootcint
68 };
69
70 #endif
71
72