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