Changed default mutliplicity estimator to V0A.
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis2 / AliForwarddNdetaTask.h
CommitLineData
b2e7f2d6 1//
2// Task to analyse the AOD for for dN/deta in the forward regions
3//
4#ifndef ALIFORWARDDNDETATASK_H
5#define ALIFORWARDDNDETATASK_H
ffca499d 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 *
bd6f5206 14 * @ingroup pwglf_forward_dndeta
ffca499d 15 */
4acee65c 16#include "AliBasedNdetaTask.h"
b2e7f2d6 17class TList;
18class TH2D;
19class TH1D;
20
21/**
ffca499d 22 * Tasks to determine @f$ dN/d\eta@f$ in the forward regions
23 *
bd6f5206 24 * @ingroup pwglf_forward_tasks_dndeta
25 * @ingroup pwglf_forward_dndeta
b2e7f2d6 26 */
fe52e455 27class AliForwarddNdetaTask : public AliBasedNdetaTask
b2e7f2d6 28{
29public:
30 /**
31 * Constructor
32 *
33 */
34 AliForwarddNdetaTask();
35 /**
36 * Constructor
37 *
38 * @param name Name of task
b2e7f2d6 39 */
40 AliForwarddNdetaTask(const char* name);
b2e7f2d6 41 /**
42 * Destructor
43 *
44 */
fe52e455 45 virtual ~AliForwarddNdetaTask() {}
b2e7f2d6 46protected:
b2e7f2d6 47 /**
fe52e455 48 * Copy constructor
290052e7 49 *
50 * @param o object to copy from
b2e7f2d6 51 */
fe52e455 52 AliForwarddNdetaTask(const AliForwarddNdetaTask& o);
b2e7f2d6 53 /**
fe52e455 54 * Assigmement operator
b2e7f2d6 55 *
fe52e455 56 * @return Reference to this
b2e7f2d6 57 */
fe52e455 58 AliForwarddNdetaTask& operator=(const AliForwarddNdetaTask&) { return *this; }
59
b2e7f2d6 60 /**
fe52e455 61 * Retrieve the histogram
b2e7f2d6 62 *
fe52e455 63 * @param aod AOD event
64 * @param mc Whether to get the MC histogram or not
65 *
66 * @return Retrieved histogram or null
b2e7f2d6 67 */
fb3430ac 68 TH2D* GetHistogram(const AliAODEvent* aod, Bool_t mc);
9ecab72f 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; }
e1f47419 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
290052e7 87 /**
88 * A structure holding the per-centrality bin information
89 *
90 */
badf1074 91 class CentralityBin : public AliBasedNdetaTask::CentralityBin
e1f47419 92 {
badf1074 93 public:
e1f47419 94 /**
95 * Constructor
96 */
9ecab72f 97 CentralityBin() : AliBasedNdetaTask::CentralityBin() {}
e1f47419 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)
9ecab72f 106 : AliBasedNdetaTask::CentralityBin(name, low, high)
e1f47419 107 {}
108 /**
109 * Copy constructor
110 *
111 * @param other Object to copy from
112 */
113 CentralityBin(const CentralityBin& other)
9ecab72f 114 : AliBasedNdetaTask::CentralityBin(other)
e1f47419 115 {}
116 /**
117 * Destructor
118 */
119 virtual ~CentralityBin() {}
120 /**
121 * Assignement operator
122 *
123 *
124 * @return
125 */
126 CentralityBin& operator=(const CentralityBin&) { return *this; }
e1f47419 127 /**
128 * End of processing
129 *
130 * @param sums List of sums
131 * @param results Output list of results
ffca499d 132 * @param scheme Normalisation scheme options
e1f47419 133 * @param shapeCorr Shape correction or nil
134 * @param trigEff Trigger efficiency
66cf95f2 135 * @param trigEff0 0-bin trigger efficiency
e1f47419 136 * @param symmetrice Whether to symmetrice the results
137 * @param rebin Whether to rebin the results
c25b5e1b 138 * @param rootProj If true, use TH2::ProjectionX
e1f47419 139 * @param corrEmpty Whether to correct for empty bins
140 * @param cutEdges Whether to cut edges when rebinning
e1f47419 141 * @param triggerMask Trigger mask
ffca499d 142 * @param color Marker colour
143 * @param marker Marker style
c6115ede 144 * @param mclist List of MC results
145 * @param truthlist List of MC truth results
e1f47419 146 */
147 virtual void End(TList* sums,
148 TList* results,
ffca499d 149 UShort_t scheme,
f67d699c 150 const TH2F* shapeCorr,
e1f47419 151 Double_t trigEff,
66cf95f2 152 Double_t trigEff0,
e1f47419 153 Bool_t symmetrice,
154 Int_t rebin,
c25b5e1b 155 Bool_t rootProj,
e1f47419 156 Bool_t corrEmpty,
157 Bool_t cutEdges,
ffca499d 158 Int_t triggerMask,
9ecab72f 159 Int_t marker,
c89b9ac1 160 Int_t color,
161 TList* mclist,
162 TList* truthlist);
e1f47419 163 protected:
5934a3e3 164 ClassDef(CentralityBin,3); // A centrality bin
e1f47419 165 };
b2e7f2d6 166
5934a3e3 167 ClassDef(AliForwarddNdetaTask,3); // Determine multiplicity in forward region
b2e7f2d6 168};
169
170#endif
fe52e455 171//
172// Local Variables:
173// mode: C++
174// End:
175//