]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/FORWARD/analysis2/AliForwarddNdetaTask.h
Fixed references from PWG2 -> PWGLF - very efficiently done using ETags.
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliForwarddNdetaTask.h
1 //
2 // Task to analyse the AOD for for dN/deta in the forward regions 
3 //
4 #ifndef ALIFORWARDDNDETATASK_H
5 #define ALIFORWARDDNDETATASK_H
6 /**
7  * @file   AliForwarddNdetaTask.h
8  * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
9  * @date   Wed Mar 23 14:04:54 2011
10  * 
11  * @brief  
12  * 
13  * 
14  * @ingroup pwglf_forward_dndeta
15  */
16 #include "AliBasedNdetaTask.h"
17 class TList;
18 class TH2D;
19 class TH1D;
20
21 /**
22  * Tasks to determine @f$ dN/d\eta@f$ in the forward regions
23  *
24  * @ingroup pwglf_forward_tasks_dndeta
25  * @ingroup pwglf_forward_dndeta
26  */
27 class AliForwarddNdetaTask : public AliBasedNdetaTask
28 {
29 public:
30   /** 
31    * Constructor 
32    * 
33    */
34   AliForwarddNdetaTask();
35   /** 
36    * Constructor
37    * 
38    * @param name    Name of task 
39    */
40   AliForwarddNdetaTask(const char* name);
41   /**
42    * Destructor
43    * 
44    */
45   virtual ~AliForwarddNdetaTask() {}
46 protected:
47   /** 
48    * Copy constructor 
49    */
50   AliForwarddNdetaTask(const AliForwarddNdetaTask& o);
51   /** 
52    * Assigmement operator
53    * 
54    * @return Reference to this
55    */
56   AliForwarddNdetaTask& operator=(const AliForwarddNdetaTask&) { return *this; }
57
58   /** 
59    * Retrieve the histogram 
60    * 
61    * @param aod AOD event 
62    * @param mc  Whether to get the MC histogram or not
63    * 
64    * @return Retrieved histogram or null
65    */
66   TH2D* GetHistogram(const AliAODEvent* aod, Bool_t mc);
67   /** 
68    * Get the colour to use for markers (only pp - in PbPb we use a rainbow)
69    * 
70    * @return Marker colour 
71    */
72   virtual Int_t GetColor() const { return kRed+2; }
73   /** 
74    * Make a new centrality bin
75    * 
76    * @param name   Histogram names
77    * @param l      Lower cut
78    * @param h      Upper cut
79    * 
80    * @return Newly allocated object (of our type)
81    */
82   AliBasedNdetaTask::CentralityBin* 
83   MakeCentralityBin(const char* name, Short_t l, Short_t h) const;
84
85   class CentralityBin : public AliBasedNdetaTask::CentralityBin 
86   {
87   public:
88     /** 
89      * Constructor 
90      */
91     CentralityBin() : AliBasedNdetaTask::CentralityBin() {}
92     /** 
93      * Constructor 
94      * 
95      * @param name Name used for histograms (e.g., Forward)
96      * @param low  Lower centrality cut in percent 
97      * @param high Upper centrality cut in percent 
98      */
99     CentralityBin(const char* name, Short_t low, Short_t high)
100       : AliBasedNdetaTask::CentralityBin(name, low, high)
101     {}
102     /** 
103      * Copy constructor 
104      * 
105      * @param other Object to copy from 
106      */
107     CentralityBin(const CentralityBin& other) 
108       : AliBasedNdetaTask::CentralityBin(other)
109     {}
110     /** 
111      * Destructor 
112      */
113     virtual ~CentralityBin() {}
114     /** 
115      * Assignement operator 
116      * 
117      * 
118      * @return 
119      */
120     CentralityBin& operator=(const CentralityBin&) { return *this; }
121     /** 
122      * End of processing 
123      * 
124      * @param sums        List of sums
125      * @param results     Output list of results
126      * @param scheme      Normalisation scheme options
127      * @param shapeCorr   Shape correction or nil
128      * @param trigEff     Trigger efficiency 
129      * @param symmetrice  Whether to symmetrice the results
130      * @param rebin       Whether to rebin the results
131      * @param rootProj    If true, use TH2::ProjectionX
132      * @param corrEmpty   Whether to correct for empty bins
133      * @param cutEdges    Whether to cut edges when rebinning
134      * @param triggerMask Trigger mask 
135      * @param color       Marker colour 
136      * @param marker      Marker style 
137      * @param mclist      List of MC results 
138      * @param truthlist   List of MC truth results 
139      */
140     virtual void End(TList*      sums, 
141                      TList*      results,
142                      UShort_t    scheme,
143                      const TH1*  shapeCorr, 
144                      Double_t    trigEff,
145                      Bool_t      symmetrice,
146                      Int_t       rebin, 
147                      Bool_t      rootProj,
148                      Bool_t      corrEmpty, 
149                      Bool_t      cutEdges, 
150                      Int_t       triggerMask,
151                      Int_t       marker,
152                      Int_t       color,
153                      TList*      mclist,
154                      TList*      truthlist);
155   protected: 
156     ClassDef(CentralityBin,2); // A centrality bin     
157   };
158
159   ClassDef(AliForwarddNdetaTask,2); // Determine multiplicity in forward region
160 };
161
162 #endif
163 //
164 // Local Variables:
165 //  mode: C++
166 // End:
167 //