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