]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/AliFlowTasks/AliFlowEventSimpleMaker.h
hooks for PMD flow analysis
[u/mrichter/AliRoot.git] / PWG2 / FLOW / AliFlowTasks / AliFlowEventSimpleMaker.h
1 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
2  * See cxx source for full Copyright notice                               */
3 //////////////////////////////////////////////////////////////////////////
4 // AliFlowEventSimpleMaker:
5 // Class to fill the AliFlowEventSimple with AliFlowTrackSimple objects
6 // author: N. van der Kolk (kolk@nikhef.nl),  Ante Bilandzic (anteb@nikhef.nl),  
7 // Raimond Snellings (Raimond.Snellings@nikhef.nl) 
8 //////////////////////////////////////////////////////////////////////////
9
10
11 #ifndef ALIFLOWEVENTSIMPLEMAKER_H
12 #define ALIFLOWEVENTSIMPLEMAKER_H
13
14 class AliFlowEventSimple;
15 class AliFlowTrackSimpleCuts;
16 class TTree;
17 class AliCFManager;
18 class AliMCEvent;
19 class AliESDEvent;
20 class AliAODEvent;
21           
22 class AliFlowEventSimpleMaker {
23
24  public:
25
26   AliFlowEventSimpleMaker();             //constructor
27   virtual ~AliFlowEventSimpleMaker();    //destructor
28
29   void SetMCReactionPlaneAngle(Double_t fPhiRP)  { this->fMCReactionPlaneAngle = fPhiRP; } 
30   //TTree
31   AliFlowEventSimple* FillTracks(TTree* anInput, const AliFlowTrackSimpleCuts* rpCuts, const AliFlowTrackSimpleCuts* poiCuts);   //use own cut class
32   //AliMCEvent
33   AliFlowEventSimple* FillTracks(AliMCEvent* anInput);   //use own cuts
34   AliFlowEventSimple* FillTracks(AliMCEvent* anInput, const AliCFManager* rpCFManager, const AliCFManager* poiCFManager ); //use CF(2x)
35   //AliESDEvent
36   AliFlowEventSimple* FillTracks(AliESDEvent* anInput);   //use own cuts
37   AliFlowEventSimple* FillTracks(AliESDEvent* anInput,  const AliCFManager* rpCFManager, const AliCFManager* poiCFManager); //use CF(2x)
38   //AliESDEvent & AliMCEvent
39   AliFlowEventSimple* FillTracks(AliESDEvent* anInput, const AliMCEvent* anInputMc, Int_t anOption);  //use own cuts
40   AliFlowEventSimple* FillTracks(AliESDEvent* anInput, const AliMCEvent* anInputMc, const AliCFManager* rpCFManager, const AliCFManager* poiCFManager, Int_t anOption);  //use CF(2x)
41   // anOption = 0 : kine from ESD
42   // anOption = 1 : kine from MC
43   //AliAODEvent
44   AliFlowEventSimple* FillTracks(AliAODEvent* anInput); //use own cuts
45   AliFlowEventSimple* FillTracks(AliAODEvent* anInput, const AliCFManager* rpCFManager, const AliCFManager* poiCFManager);  //use CF(2x)
46   
47   void  SetNoOfLoops(Int_t noofl) {this->fNoOfLoops = noofl;}
48   Int_t GetNoOfLoops() const      {return this->fNoOfLoops;} 
49   
50   void     SetEllipticFlowValue(Double_t elfv) {this->fEllipticFlowValue = elfv;}
51   Double_t GetEllipticFlowValue() const        {return this->fEllipticFlowValue;} 
52   
53   void  SetMultiplicityOfEvent(Int_t multevnt) {this->fMultiplicityOfEvent = multevnt;}
54   Int_t GetMultiplicityOfEvent() const         {return this->fMultiplicityOfEvent;} 
55   
56   void  SetMinMult(Int_t multmin) {this->fMinMult = multmin; }
57   Int_t GetMinMult() const        {return this->fMinMult; }
58   void  SetMaxMult(Int_t multmax) {this->fMaxMult = multmax; }
59   Int_t GetMaxMult() const        {return this->fMaxMult; }
60
61   void SetSubeventEtaRange(Double_t minA,Double_t maxA,Double_t minB,Double_t maxB) 
62     {this->fEtaMinA = minA; this->fEtaMaxA = maxA;this->fEtaMinB = minB; this->fEtaMaxB = maxB;};
63
64  private:
65   AliFlowEventSimpleMaker(const AliFlowEventSimpleMaker& anAnalysis);            //copy constructor
66   AliFlowEventSimpleMaker& operator=(const AliFlowEventSimpleMaker& anAnalysis); //assignment operator
67
68   Double_t  fMCReactionPlaneAngle; // the angle of the reaction plane from the MC truth
69   Int_t     fCount;                // counter for the number of events processed
70
71   Int_t     fNoOfLoops;            // number of times to use the same particle (nonflow) 
72   Double_t  fEllipticFlowValue;    // Add Flow. Must be in range [0,1].
73   Int_t     fMultiplicityOfEvent;  // Set maximal multiplicity (when manipulating the event).
74
75   Int_t     fMinMult;              // Minimum multiplicity from tracks selected using CORRFW
76   Int_t     fMaxMult;              // Maximum multiplicity from tracks selected using CORRFW
77
78   Double_t  fEtaMinA;              // minimum eta of subevent A eta range
79   Double_t  fEtaMaxA;              // maximum eta of subevent A eta range
80   Double_t  fEtaMinB;              // minimum eta of subevent B eta range
81   Double_t  fEtaMaxB;              // maximum eta of subevent B eta range
82
83   ClassDef(AliFlowEventSimpleMaker,1)    // macro for rootcint
84 };
85  
86      
87 #endif
88