]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/FORWARD/analysis2/AliCentralMCMultiplicityTask.h
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliCentralMCMultiplicityTask.h
1 // 
2 // Base class for classes that calculate the multiplicity in the
3 // SPD clusters event-by-event
4 // 
5 #ifndef ALICENTRALMCMULTIPLICITYTASK_H
6 #define ALICENTRALMCMULTIPLICITYTASK_H
7 /**
8  * @file   AliCentralMCMultiplicityTask.h
9  * @author Hans Hjersing Dalsgaard
10  * @date   Wed Mar 23 14:00:03 2011
11  * 
12  * @brief  
13  * 
14  * @ingroup pwglf_forward_aod
15  * 
16  */
17 #include "AliCentralMultiplicityTask.h"
18 #include "AliSPDMCTrackDensity.h"
19 class AliESDEvent;
20 class AliMCEvent;
21
22 /** 
23  * Class that calculates the multiplicity in the
24  * central region event-by-event
25  * 
26  * @par Inputs: 
27  *   - AliESDEvent 
28  *
29  * @par Outputs: 
30  *   - 2 AliAODCentralMult (one from data and one from MC)
31  * 
32  * @par Histograms 
33  *   
34  * @par Corrections used 
35  * 
36  * @ingroup pwglf_forward_tasks
37  * @ingroup pwglf_forward_aod
38  * 
39  */
40 class AliCentralMCMultiplicityTask : public AliCentralMultiplicityTask
41 {
42 public:
43   /** 
44    * @{ 
45    * @name Interface methods 
46    */
47    /** 
48    * Constructor 
49    * 
50    * @param name Name of task 
51    */
52   AliCentralMCMultiplicityTask(const char* name); 
53   /** 
54    * Constructor 
55    *
56    * Reserved for ROOT's I/O system - do not use
57    */
58   AliCentralMCMultiplicityTask();
59   /** 
60    * Create output objects 
61    * 
62    * 
63    * @return true on success
64    */
65   virtual Bool_t Book();
66   /** 
67    * Creatre ouput objects
68    * 
69    * @param ah AOD output handler 
70    */
71   virtual void CreateBranches(AliAODHandler* ah);
72   /** 
73    * Set-up for data, called before first event 
74    * 
75    * @param v Vertex axis
76    * @param e @f$\eta@f$ axis 
77    * 
78    * @return true on success
79    */
80   virtual Bool_t PreData(const TAxis& v, const TAxis& e);
81   /** 
82    * End of job
83    * 
84    * 
85    * @return true on success
86    */
87   virtual Bool_t PreEvent();
88   /** 
89    * Process each event 
90    *
91    * @param esd ESD event
92    *
93    * @return true on success
94    */  
95   virtual Bool_t Event(AliESDEvent& esd);
96   /** 
97    * Print information 
98    * 
99    * @param option Not used
100    */
101   virtual void Print(Option_t* option="") const;
102   /** 
103    * Return the track density calculator 
104    * 
105    * @return Track density calculator 
106    */
107   const AliSPDMCTrackDensity& GetTrackDensity() const { return fTrackDensity; }
108   /** 
109    * Return the track density calculator 
110    * 
111    * @return Track density calculator 
112    */
113   AliSPDMCTrackDensity& GetTrackDensity() { return fTrackDensity; }
114
115 protected: 
116   /** 
117    * Copy constructor 
118    * 
119    * @param o Object to copy from 
120    */
121   AliCentralMCMultiplicityTask(const AliCentralMCMultiplicityTask& o);
122   /** 
123    * Assignment operator 
124    * 
125    * @param o Object to assign from 
126    * 
127    * @return Reference to this object 
128    */
129   AliCentralMCMultiplicityTask& operator=(const AliCentralMCMultiplicityTask&o);
130   AliSPDMCTrackDensity   fTrackDensity;     // Calculate N_ch,incl from MC
131   AliAODCentralMult      fAODMCCentral;     // Output object
132   ClassDef(AliCentralMCMultiplicityTask,2)  // Forward multiplicity class
133 };
134
135 #endif
136 // Local Variables:
137 //  mode: C++
138 // End:
139