name change Int/Diff RP/POI
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowCommon / 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 #include "TParameter.h"
13 class AliFlowTrackSimple;
14
15 /**************************************
16  * AliFlowEventSimple: A simple event *
17  *  for flow analysis                 * 
18  *                                    * 
19  * authors: Naomi van der Kolk        *
20  *           (kolk@nikhef.nl)         *  
21  *          Ante Bilandzic            *
22  *           (anteb@nikhef.nl)        * 
23  *          Raimond Snellings         *
24  *    (Raimond.Snellings@nikhef.nl)   * 
25  * ***********************************/
26
27 class AliFlowEventSimple: public TObject {
28
29  public:
30   AliFlowEventSimple();
31   AliFlowEventSimple(Int_t aLenght);
32   AliFlowEventSimple(const AliFlowEventSimple& anEvent);
33   AliFlowEventSimple& operator=(const AliFlowEventSimple& anEvent);
34   virtual  ~AliFlowEventSimple();
35
36   Bool_t  IsFolder() const {return kTRUE;};
37   void Browse(TBrowser *b); 
38   void Print(Option_t* option = "") const;      //method to print stats
39   
40   Int_t NumberOfTracks() const              { return this->fNumberOfTracks; }
41   void  SetNumberOfTracks(Int_t nr)         { this->fNumberOfTracks = nr; }
42   Int_t GetEventNSelTracksIntFlow() const   { return this->fEventNSelTracksRP; }
43   void  SetEventNSelTracksIntFlow(Int_t nr) { this->fEventNSelTracksRP = nr; }
44   Int_t GetEventNSelTracksRP() const        { return this->fEventNSelTracksRP; } //will replace GetEventNSelTracksIntFlow()
45   void  SetEventNSelTracksRP(Int_t nr)      { this->fEventNSelTracksRP = nr; }  //will replace SetEventNSelTracksIntFlow
46   Double_t GetMCReactionPlaneAngle() const  { return this->fMCReactionPlaneAngle; }
47   void  SetMCReactionPlaneAngle(Double_t fPhiRP)  { this->fMCReactionPlaneAngle = fPhiRP; }
48  
49   AliFlowTrackSimple* GetTrack(Int_t i);
50   TObjArray* TrackCollection() const        { return this->fTrackCollection; }
51  
52   AliFlowVector GetQ(Int_t n=2, TList *weightsList=NULL, Bool_t usePhiWeights=kFALSE, Bool_t usePtWeights=kFALSE, Bool_t useEtaWeights=kFALSE);
53   AliFlowVector GetQsub(Double_t etaMin=-0.9, Double_t etaMax=0.9, Int_t n=2, TList *weightsList=NULL, Bool_t usePhiWeights=kFALSE, Bool_t usePtWeights=kFALSE, Bool_t useEtaWeights=kFALSE);  //for eta subevents
54   //add here more subevent options   
55
56  private:
57   TObjArray*              fTrackCollection;        // collection of tracks
58   Int_t                   fNumberOfTracks;         // number of tracks
59   Int_t                   fEventNSelTracksRP;      // number of tracks that have passed the RP selection
60   Double_t                fMCReactionPlaneAngle;   // the angle of the reaction plane from the MC truth
61   TParameter<Int_t>*      fNumberOfTracksWrap;     //! number of tracks in TBrowser
62   TParameter<Int_t>*      fEventNSelTracksRPWrap;  //! number of tracks that have passed the RP selection in TBrowser
63   TParameter<Double_t>*   fMCReactionPlaneAngleWrap;   //! the angle of the reaction plane from the MC truth in TBrowser
64   ClassDef(AliFlowEventSimple,1)                       // simplified event used in flow analysis 
65 };
66
67 #endif
68
69