Fix some documentation issues
[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 *
671df6c9 24 * @image html alice-int-2012-040-performance_spdfmdvzero.png "dN/deta in PbPb"
25 *
bd6f5206 26 * @ingroup pwglf_forward_tasks_dndeta
27 * @ingroup pwglf_forward_dndeta
b2e7f2d6 28 */
fe52e455 29class AliForwarddNdetaTask : public AliBasedNdetaTask
b2e7f2d6 30{
31public:
32 /**
33 * Constructor
34 *
35 */
36 AliForwarddNdetaTask();
37 /**
38 * Constructor
39 *
40 * @param name Name of task
b2e7f2d6 41 */
42 AliForwarddNdetaTask(const char* name);
b2e7f2d6 43 /**
44 * Destructor
45 *
46 */
fe52e455 47 virtual ~AliForwarddNdetaTask() {}
b2e7f2d6 48protected:
b2e7f2d6 49 /**
fe52e455 50 * Copy constructor
290052e7 51 *
52 * @param o object to copy from
b2e7f2d6 53 */
fe52e455 54 AliForwarddNdetaTask(const AliForwarddNdetaTask& o);
b2e7f2d6 55 /**
fe52e455 56 * Assigmement operator
b2e7f2d6 57 *
fe52e455 58 * @return Reference to this
b2e7f2d6 59 */
c8b1a7db 60 AliForwarddNdetaTask& operator=(const AliForwarddNdetaTask&);
fe52e455 61
b2e7f2d6 62 /**
fe52e455 63 * Retrieve the histogram
b2e7f2d6 64 *
fe52e455 65 * @param aod AOD event
66 * @param mc Whether to get the MC histogram or not
67 *
68 * @return Retrieved histogram or null
b2e7f2d6 69 */
c8b1a7db 70 TH2D* GetHistogram(const AliAODEvent& aod, Bool_t mc);
9ecab72f 71 /**
72 * Get the colour to use for markers (only pp - in PbPb we use a rainbow)
73 *
74 * @return Marker colour
75 */
76 virtual Int_t GetColor() const { return kRed+2; }
bfab35d9 77 /**
78 * Massage data histograms for certain vertices in the satellite analysis
79 *
80 * @param vtx
81 * @param data
82 * @param mcData
83 */
84 virtual void CheckEventData(Double_t vtx,
85 TH2* data,
86 TH2* mcData);
e1f47419 87 /**
88 * Make a new centrality bin
89 *
90 * @param name Histogram names
91 * @param l Lower cut
92 * @param h Upper cut
93 *
94 * @return Newly allocated object (of our type)
95 */
96 AliBasedNdetaTask::CentralityBin*
97 MakeCentralityBin(const char* name, Short_t l, Short_t h) const;
98
290052e7 99 /**
100 * A structure holding the per-centrality bin information
101 *
102 */
badf1074 103 class CentralityBin : public AliBasedNdetaTask::CentralityBin
e1f47419 104 {
badf1074 105 public:
e1f47419 106 /**
107 * Constructor
108 */
9ecab72f 109 CentralityBin() : AliBasedNdetaTask::CentralityBin() {}
e1f47419 110 /**
111 * Constructor
112 *
113 * @param name Name used for histograms (e.g., Forward)
114 * @param low Lower centrality cut in percent
115 * @param high Upper centrality cut in percent
116 */
117 CentralityBin(const char* name, Short_t low, Short_t high)
9ecab72f 118 : AliBasedNdetaTask::CentralityBin(name, low, high)
e1f47419 119 {}
120 /**
121 * Copy constructor
122 *
123 * @param other Object to copy from
124 */
c8b1a7db 125 CentralityBin(const CentralityBin& other);
e1f47419 126 /**
127 * Destructor
128 */
129 virtual ~CentralityBin() {}
130 /**
131 * Assignement operator
132 *
133 *
134 * @return
135 */
c8b1a7db 136 CentralityBin& operator=(const CentralityBin&);
e1f47419 137 /**
138 * End of processing
139 *
140 * @param sums List of sums
141 * @param results Output list of results
ffca499d 142 * @param scheme Normalisation scheme options
e1f47419 143 * @param shapeCorr Shape correction or nil
144 * @param trigEff Trigger efficiency
66cf95f2 145 * @param trigEff0 0-bin trigger efficiency
e1f47419 146 * @param symmetrice Whether to symmetrice the results
147 * @param rebin Whether to rebin the results
c25b5e1b 148 * @param rootProj If true, use TH2::ProjectionX
e1f47419 149 * @param corrEmpty Whether to correct for empty bins
150 * @param cutEdges Whether to cut edges when rebinning
e1f47419 151 * @param triggerMask Trigger mask
ffca499d 152 * @param color Marker colour
153 * @param marker Marker style
c6115ede 154 * @param mclist List of MC results
155 * @param truthlist List of MC truth results
e1f47419 156 */
157 virtual void End(TList* sums,
158 TList* results,
ffca499d 159 UShort_t scheme,
f67d699c 160 const TH2F* shapeCorr,
e1f47419 161 Double_t trigEff,
66cf95f2 162 Double_t trigEff0,
e1f47419 163 Bool_t symmetrice,
164 Int_t rebin,
c25b5e1b 165 Bool_t rootProj,
e1f47419 166 Bool_t corrEmpty,
167 Bool_t cutEdges,
ffca499d 168 Int_t triggerMask,
9ecab72f 169 Int_t marker,
c89b9ac1 170 Int_t color,
171 TList* mclist,
172 TList* truthlist);
e1f47419 173 protected:
5934a3e3 174 ClassDef(CentralityBin,3); // A centrality bin
e1f47419 175 };
b2e7f2d6 176
5934a3e3 177 ClassDef(AliForwarddNdetaTask,3); // Determine multiplicity in forward region
b2e7f2d6 178};
179
180#endif
fe52e455 181//
182// Local Variables:
183// mode: C++
184// End:
185//