More code clean up.
[u/mrichter/AliRoot.git] / PWG2 / FORWARD / analysis2 / AliFMDEnergyFitterTask.h
1 #ifndef ALIROOT_PWG2_FORWARD_ALIFMDENERGYFITTERTASK_H
2 #define ALIROOT_PWG2_FORWARD_ALIFMDENERGYFITTERTASK_H
3 #include <AliAnalysisTaskSE.h>
4 #include "AliForwardUtil.h"
5 #include "AliFMDEventInspector.h"
6 #include "AliFMDEnergyFitter.h"
7 #include <AliESDFMD.h>
8 #include <TH1I.h>
9 class AliESDEvent;
10 class TH2D;
11 class TList;
12 class TTree;
13
14
15 /** 
16  * @mainpage ALICE PWG2 Forward Multiplcity Analysis 
17  */
18 /** 
19  * @defgroup pwg2_forward_analysis PWG2 Forward analysis
20  *
21  * Code to do the multiplicity analysis in the forward psuedo-rapidity
22  * regions
23  *
24  */
25 /** 
26  * Histogram and fit the energy loss distributions for the FMD
27  * 
28  * @par Inputs: 
29  *   - AliESDEvent 
30  *
31  * @par Outputs: 
32  *   - None
33  * 
34  * @par Histograms 
35  *   
36  * @par Corrections used 
37  *   - None
38  * 
39  * @ingroup pwg2_forward_analysis 
40  * 
41  */
42 class AliFMDEnergyFitterTask : public AliAnalysisTaskSE
43 {
44 public:
45   /** 
46    * Constructor 
47    * 
48    * @param name Name of task 
49    */
50   AliFMDEnergyFitterTask(const char* name);
51   /** 
52    * Constructor
53    */
54   AliFMDEnergyFitterTask();
55   /** 
56    * Copy constructor 
57    * 
58    * @param o Object to copy from 
59    */
60   AliFMDEnergyFitterTask(const AliFMDEnergyFitterTask& o);
61   /** 
62    * Assignment operator 
63    * 
64    * @param o Object to assign from 
65    * 
66    * @return Reference to this object 
67    */
68   AliFMDEnergyFitterTask& operator=(const AliFMDEnergyFitterTask& o);
69   /** 
70    * @{ 
71    * @name Interface methods 
72    */
73   /** 
74    * Initialize the task 
75    * 
76    */
77   virtual void Init();
78   /** 
79    * Create output objects 
80    * 
81    */
82   virtual void UserCreateOutputObjects();
83   /** 
84    * Process each event 
85    *
86    * @param option Not used
87    */  
88   virtual void UserExec(Option_t* option);
89   /** 
90    * End of job
91    * 
92    * @param option Not used 
93    */
94   virtual void Terminate(Option_t* option);
95   /** 
96    * @} 
97    */
98   /** 
99    * Print information 
100    * 
101    * @param option Not used
102    */
103   void Print(Option_t* option="") const;
104   /** 
105    * @{ 
106    * @name Access to sub-algorithms 
107    */
108   /**
109    * Get reference to the EventInspector algorithm 
110    * 
111    * @return Reference to AliFMDEventInspector object 
112    */
113   AliFMDEventInspector& GetEventInspector() { return fEventInspector; }
114   /**
115    * Get reference to the EnergyFitter algorithm 
116    * 
117    * @return Reference to AliFMDEnergyFitter object 
118    */
119   AliFMDEnergyFitter& GetEnergyFitter() { return fEnergyFitter; }
120   /** 
121    * @} 
122    */
123   void SetDebug(Int_t dbg);
124 protected: 
125   /** 
126    * Initialise the sub objects and stuff.  Called on first event 
127    * 
128    */
129   virtual void   InitializeSubs();
130
131   Bool_t               fFirstEvent;     // Whether the event is the first seen 
132   AliFMDEventInspector fEventInspector; // Algorithm
133   AliFMDEnergyFitter   fEnergyFitter;   // Algorithm
134   TList*               fList;           // Output list 
135
136   ClassDef(AliFMDEnergyFitterTask,1) // Forward multiplicity class
137 };
138
139 #endif
140 // Local Variables:
141 //  mode: C++
142 // End:
143