]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/FORWARD/analysis2/AliForwarddNdetaTask.h
Fixes for pA indenfication of events
[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    * @param o object to copy from 
51    */
52   AliForwarddNdetaTask(const AliForwarddNdetaTask& o);
53   /** 
54    * Assigmement operator
55    * 
56    * @return Reference to this
57    */
58   AliForwarddNdetaTask& operator=(const AliForwarddNdetaTask&) { return *this; }
59
60   /** 
61    * Retrieve the histogram 
62    * 
63    * @param aod AOD event 
64    * @param mc  Whether to get the MC histogram or not
65    * 
66    * @return Retrieved histogram or null
67    */
68   TH2D* GetHistogram(const AliAODEvent* aod, Bool_t mc);
69   /** 
70    * Get the colour to use for markers (only pp - in PbPb we use a rainbow)
71    * 
72    * @return Marker colour 
73    */
74   virtual Int_t GetColor() const { return kRed+2; }
75   /** 
76    * Make a new centrality bin
77    * 
78    * @param name   Histogram names
79    * @param l      Lower cut
80    * @param h      Upper cut
81    * 
82    * @return Newly allocated object (of our type)
83    */
84   AliBasedNdetaTask::CentralityBin* 
85   MakeCentralityBin(const char* name, Short_t l, Short_t h) const;
86
87   /**
88    * A structure holding the per-centrality bin information 
89    * 
90    */
91   class CentralityBin : public AliBasedNdetaTask::CentralityBin 
92   {
93   public:
94     /** 
95      * Constructor 
96      */
97     CentralityBin() : AliBasedNdetaTask::CentralityBin() {}
98     /** 
99      * Constructor 
100      * 
101      * @param name Name used for histograms (e.g., Forward)
102      * @param low  Lower centrality cut in percent 
103      * @param high Upper centrality cut in percent 
104      */
105     CentralityBin(const char* name, Short_t low, Short_t high)
106       : AliBasedNdetaTask::CentralityBin(name, low, high)
107     {}
108     /** 
109      * Copy constructor 
110      * 
111      * @param other Object to copy from 
112      */
113     CentralityBin(const CentralityBin& other) 
114       : AliBasedNdetaTask::CentralityBin(other)
115     {}
116     /** 
117      * Destructor 
118      */
119     virtual ~CentralityBin() {}
120     /** 
121      * Assignement operator 
122      * 
123      * 
124      * @return 
125      */
126     CentralityBin& operator=(const CentralityBin&) { return *this; }
127     /** 
128      * End of processing 
129      * 
130      * @param sums        List of sums
131      * @param results     Output list of results
132      * @param scheme      Normalisation scheme options
133      * @param shapeCorr   Shape correction or nil
134      * @param trigEff     Trigger efficiency 
135      * @param symmetrice  Whether to symmetrice the results
136      * @param rebin       Whether to rebin the results
137      * @param rootProj    If true, use TH2::ProjectionX
138      * @param corrEmpty   Whether to correct for empty bins
139      * @param cutEdges    Whether to cut edges when rebinning
140      * @param triggerMask Trigger mask 
141      * @param color       Marker colour 
142      * @param marker      Marker style 
143      * @param mclist      List of MC results 
144      * @param truthlist   List of MC truth results 
145      */
146     virtual void End(TList*      sums, 
147                      TList*      results,
148                      UShort_t    scheme,
149                      const TH2F* shapeCorr, 
150                      Double_t    trigEff,
151                      Bool_t      symmetrice,
152                      Int_t       rebin, 
153                      Bool_t      rootProj,
154                      Bool_t      corrEmpty, 
155                      Bool_t      cutEdges, 
156                      Int_t       triggerMask,
157                      Int_t       marker,
158                      Int_t       color,
159                      TList*      mclist,
160                      TList*      truthlist);
161   protected: 
162     ClassDef(CentralityBin,2); // A centrality bin     
163   };
164
165   ClassDef(AliForwarddNdetaTask,2); // Determine multiplicity in forward region
166 };
167
168 #endif
169 //
170 // Local Variables:
171 //  mode: C++
172 // End:
173 //