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