]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/FORWARD/analysis2/AliForwardMultiplicityTask.h
Merge branch 'workdir'
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliForwardMultiplicityTask.h
1 // 
2 // Calculate the multiplicity in the forward regions event-by-event 
3 // 
4 #ifndef ALIFORWARDMULTIPLICITYTASK_H
5 #define ALIFORWARDMULTIPLICITYTASK_H
6 /**
7  * @file   AliForwardMultiplicityTask.h
8  * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
9  * @date   Wed Mar 23 14:06:42 2011
10  * 
11  * @brief  
12  * 
13  * 
14  * @ingroup pwglf_forward_aod
15  */
16 #include "AliForwardMultiplicityBase.h"
17 #include "AliForwardUtil.h"
18 #include "AliFMDEventInspector.h"
19 #include "AliFMDSharingFilter.h"
20 #include "AliFMDDensityCalculator.h"
21 #include "AliFMDCorrector.h"
22 #include "AliFMDHistCollector.h"
23 // #include "AliFMDEnergyFitter.h"
24 #include "AliFMDEventPlaneFinder.h"
25 #include <AliESDFMD.h>
26 class AliESDEvent;
27 class TH2D;
28 class TList;
29 class TH3D;     
30
31 /** 
32  * Calculate the multiplicity in the forward regions event-by-event 
33  * 
34  * @par Inputs: 
35  *   - AliESDEvent 
36  *
37  * @par Outputs: 
38  *   - AliAODForwardMult 
39  * 
40  * @par Histograms 
41  *   
42  * @par Corrections used 
43  * 
44  * @ingroup pwglf_forward_tasks
45  * @ingroup pwglf_forward_aod
46  * 
47  */
48 class AliForwardMultiplicityTask : public AliForwardMultiplicityBase
49 {
50 public:
51   /** 
52    * Constructor 
53    * 
54    * @param name Name of task 
55    */
56   AliForwardMultiplicityTask(const char* name);
57   /** 
58    * Constructor
59    */
60   AliForwardMultiplicityTask();
61   /** 
62    * @{ 
63    * @name Interface methods 
64    */
65   /** 
66    * Called before processing a single event - should not do anything
67    * but clear data, etc.
68    * 
69    * @return true on success
70    */
71   virtual Bool_t PreEvent();
72   /** 
73    * Process each event 
74    *
75    * @param esd Event
76    * 
77    * @return true on success
78    */  
79   virtual Bool_t Event(AliESDEvent& esd);
80   /** 
81    * @} 
82    */
83   /** 
84    * @{ 
85    * @name Access to sub-algorithms 
86    */
87   /**
88    * Get reference to the EventInspector algorithm 
89    * 
90    * @return Reference to AliFMDEventInspector object 
91    */
92   AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
93   /**
94    * Get reference to the SharingFilter algorithm 
95    * 
96    * @return Reference to AliFMDSharingFilter object 
97    */
98   AliFMDSharingFilter& GetSharingFilter() { return fSharingFilter; }
99   /**
100    * Get reference to the DensityCalculator algorithm 
101    * 
102    * @return Reference to AliFMDDensityCalculator object 
103    */
104   AliFMDDensityCalculator& GetDensityCalculator() { return fDensityCalculator; }
105   /**
106    * Get reference to the Corrections algorithm 
107    * 
108    * @return Reference to AliFMDCorrector object 
109    */
110   AliFMDCorrector& GetCorrections() { return fCorrections; }
111   /**
112    * Get reference to the HistCollector algorithm 
113    * 
114    * @return Reference to AliFMDHistCollector object 
115    */
116   AliFMDHistCollector& GetHistCollector() { return fHistCollector; }
117   /**
118    * Get reference to the EventInspector algorithm 
119    * 
120    * @return Reference to AliFMDEventInspector object 
121    */
122   const AliFMDEventInspector& GetEventInspector() const { return fEventInspector; }
123   /**
124    * Get reference to the SharingFilter algorithm 
125    * 
126    * @return Reference to AliFMDSharingFilter object 
127    */
128   const AliFMDSharingFilter& GetSharingFilter() const { return fSharingFilter; }
129   /**
130    * Get reference to the DensityCalculator algorithm 
131    * 
132    * @return Reference to AliFMDDensityCalculator object 
133    */
134   const AliFMDDensityCalculator& GetDensityCalculator() const { return fDensityCalculator; }
135   /**
136    * Get reference to the Corrections algorithm 
137    * 
138    * @return Reference to AliFMDCorrector object 
139    */
140   const AliFMDCorrector& GetCorrections() const { return fCorrections; }
141   /**
142    * Get reference to the HistCollector algorithm 
143    * 
144    * @return Reference to AliFMDHistCollector object 
145    */
146   const AliFMDHistCollector& GetHistCollector() const { return fHistCollector; }
147  /**
148    * Get reference to the EventPlaneFinder algorithm 
149    * 
150    * @return Reference to AliFMDEventPlaneFinder object 
151    */
152   AliFMDEventPlaneFinder& GetEventPlaneFinder() { return fEventPlaneFinder; }
153   /**
154    * Get reference to the EventPlaneFinder algorithm 
155    * 
156    * @return Reference to AliFMDEventPlaneFinder object 
157    */
158   const AliFMDEventPlaneFinder& GetEventPlaneFinder() const { return fEventPlaneFinder; }
159   /** 
160    * @} 
161    */
162 protected: 
163   /** 
164    * Copy constructor 
165    * 
166    * @param o Object to copy from 
167    */
168   AliForwardMultiplicityTask(const AliForwardMultiplicityTask& o);
169   /** 
170    * Assignment operator 
171    * 
172    * @param o Object to assign from 
173    * 
174    * @return Reference to this object 
175    */
176   AliForwardMultiplicityTask& operator=(const AliForwardMultiplicityTask& o);
177
178   AliESDFMD               fESDFMD;            // Sharing corrected ESD object
179   AliFMDEventInspector    fEventInspector;    // Algorithm
180   AliFMDSharingFilter     fSharingFilter;     // Algorithm
181   AliFMDDensityCalculator fDensityCalculator; // Algorithm
182   AliFMDCorrector         fCorrections;       // Algorithm
183   AliFMDHistCollector     fHistCollector;     // Algorithm
184   AliFMDEventPlaneFinder  fEventPlaneFinder;  // Algorithm
185
186   ClassDef(AliForwardMultiplicityTask,6) // Forward multiplicity class
187 };
188
189 #endif
190 // Local Variables:
191 //  mode: C++
192 // End:
193