]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/FORWARD/analysis2/AliFMDEventPlaneTask.h
Renamed some member functions for more logical names
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliFMDEventPlaneTask.h
1 //
2 // Calculate the event plane in the forward regions using the FMD 
3 //
4 #ifndef ALIFMDEVENTPLANETASK_H
5 #define ALIFMDEVENTPLANETASK_H
6 /**
7  * @file AliFMDEventPlaneTask.h
8  * @author Alexander Hansen
9  * @date   Tue Feb 21 2012
10  * 
11  * @brief
12  * 
13  * 
14  * @ingroup pwglf_forward_flow
15  */
16 #include "AliAnalysisTaskSE.h"
17 #include "AliFMDEventPlaneFinder.h"
18 class AliAODForwardMult;
19 class TH1D;
20 class TH2D;
21
22 /**
23  * Calculate the event plane in the forward regions using the FMD
24  *
25  * @par Inputs:
26  *   - AliAODEvent
27  *
28  * Outputs:
29  *   - AnalysisResults.root
30  *
31  * @ingroup pwglf_forward_tasks_flow
32  * @ingroup pwglf_forward_flow
33  *
34  *
35  */
36 class AliFMDEventPlaneTask : public AliAnalysisTaskSE
37 {
38 public:
39   /** 
40    * Constructor 
41    */
42   AliFMDEventPlaneTask();
43   /** 
44    * Constructor
45    * 
46    * @param name Name of task 
47    */
48   AliFMDEventPlaneTask(const char* name);
49   /**
50    * Destructor
51    */
52   virtual ~AliFMDEventPlaneTask() {}
53   /** 
54    * @{ 
55    * @name Task interface methods 
56    */
57   /** 
58    * Create output objects 
59    */
60   virtual void UserCreateOutputObjects();
61   /**
62    * Initialize the task
63    */
64   virtual void Init() {} 
65   /** 
66    * Process each event 
67    *
68    * @param option Not used
69    */  
70   virtual void UserExec(Option_t *option);
71   /** 
72    * End of job
73    * 
74    * @param option Not used 
75    */
76   virtual void Terminate(Option_t *option);
77   /**
78   * Check AODForwardMult object for trigger, vertex and centrality
79   * returns true if event is OK
80   * 
81   * @param aodfm Output object
82   * 
83   * @return Bool_t 
84   */
85   Bool_t AODCheck(const AliAODForwardMult* aodfm);
86  /**
87    * Get reference to the EventPlaneFinder algorithm 
88    * 
89    * @return Reference to AliFMDEventPlaneFinder object 
90    */
91   AliFMDEventPlaneFinder& GetEventPlaneFinder() { return fEventPlaneFinder; }
92   /**
93    * Get reference to the EventPlaneFinder algorithm 
94    * 
95    * @return Reference to AliFMDEventPlaneFinder object 
96    */
97   const AliFMDEventPlaneFinder& GetEventPlaneFinder() const { return fEventPlaneFinder; }
98   /*
99    * Set MC input flag - currently does nothing special
100    *
101    * @ param mc MC input flag
102    */
103   void SetMCInput(Bool_t mc = true) { fMC = mc; }
104
105 protected:
106   /** 
107    * Copy constructor 
108    * 
109    * @param o Object to copy from 
110    */
111   AliFMDEventPlaneTask(const AliFMDEventPlaneTask& o);
112   /** 
113    * Assignment operator 
114    * 
115    * @return Reference to this object 
116    */
117   AliFMDEventPlaneTask& operator=(const AliFMDEventPlaneTask&);
118
119   TList*                  fSumList;          //  Sum list
120   TList*                  fOutputList;       //  Output list
121   AliAODEvent*            fAOD;              //  AOD event
122   Bool_t                  fMC;               //  MC input?
123   AliFMDEventPlaneFinder  fEventPlaneFinder; //  Eventplane finder for the FMD
124   Float_t                 fZvertex;          //  Z vertex
125   Double_t                fCent;             //  Centrality
126   TH1D*                   fHistCent;         //  Diagnostics histogram
127   TH1D*                   fHistVertexSel;    //  Diagnostics histogram
128   TH1D*                   fHistVertexAll;    //  Diagnostics histogram
129
130   ClassDef(AliFMDEventPlaneTask, 2); // Analysis task for FMD analysis
131 };
132  
133 #endif
134 // Local Variables:
135 //   mode: C++ 
136 // End: