]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FORWARD/analysis2/AliForwarddNdetaTask.h
importaant fix for PbPb
[u/mrichter/AliRoot.git] / PWG2 / 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 *
14 * @ingroup pwg2_forward_dndeta
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 *
24 * @ingroup pwg2_forward_tasks_dndeta
25 * @ingroup pwg2_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
b2e7f2d6 49 */
fe52e455 50 AliForwarddNdetaTask(const AliForwarddNdetaTask& o);
b2e7f2d6 51 /**
fe52e455 52 * Assigmement operator
b2e7f2d6 53 *
fe52e455 54 * @return Reference to this
b2e7f2d6 55 */
fe52e455 56 AliForwarddNdetaTask& operator=(const AliForwarddNdetaTask&) { return *this; }
57
b2e7f2d6 58 /**
fe52e455 59 * Retrieve the histogram
b2e7f2d6 60 *
fe52e455 61 * @param aod AOD event
62 * @param mc Whether to get the MC histogram or not
63 *
64 * @return Retrieved histogram or null
b2e7f2d6 65 */
fb3430ac 66 TH2D* GetHistogram(const AliAODEvent* aod, Bool_t mc);
9ecab72f 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; }
e1f47419 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 struct CentralityBin : public AliBasedNdetaTask::CentralityBin
86 {
87 /**
88 * Constructor
89 */
9ecab72f 90 CentralityBin() : AliBasedNdetaTask::CentralityBin() {}
e1f47419 91 /**
92 * Constructor
93 *
94 * @param name Name used for histograms (e.g., Forward)
95 * @param low Lower centrality cut in percent
96 * @param high Upper centrality cut in percent
97 */
98 CentralityBin(const char* name, Short_t low, Short_t high)
9ecab72f 99 : AliBasedNdetaTask::CentralityBin(name, low, high)
e1f47419 100 {}
101 /**
102 * Copy constructor
103 *
104 * @param other Object to copy from
105 */
106 CentralityBin(const CentralityBin& other)
9ecab72f 107 : AliBasedNdetaTask::CentralityBin(other)
e1f47419 108 {}
109 /**
110 * Destructor
111 */
112 virtual ~CentralityBin() {}
113 /**
114 * Assignement operator
115 *
116 *
117 * @return
118 */
119 CentralityBin& operator=(const CentralityBin&) { return *this; }
e1f47419 120 /**
121 * End of processing
122 *
123 * @param sums List of sums
124 * @param results Output list of results
ffca499d 125 * @param scheme Normalisation scheme options
e1f47419 126 * @param shapeCorr Shape correction or nil
127 * @param trigEff Trigger efficiency
128 * @param symmetrice Whether to symmetrice the results
129 * @param rebin Whether to rebin the results
c25b5e1b 130 * @param rootProj If true, use TH2::ProjectionX
e1f47419 131 * @param corrEmpty Whether to correct for empty bins
132 * @param cutEdges Whether to cut edges when rebinning
e1f47419 133 * @param triggerMask Trigger mask
ffca499d 134 * @param color Marker colour
135 * @param marker Marker style
c6115ede 136 * @param mclist List of MC results
137 * @param truthlist List of MC truth results
e1f47419 138 */
139 virtual void End(TList* sums,
140 TList* results,
ffca499d 141 UShort_t scheme,
e1f47419 142 const TH1* shapeCorr,
143 Double_t trigEff,
144 Bool_t symmetrice,
145 Int_t rebin,
c25b5e1b 146 Bool_t rootProj,
e1f47419 147 Bool_t corrEmpty,
148 Bool_t cutEdges,
ffca499d 149 Int_t triggerMask,
9ecab72f 150 Int_t marker,
c89b9ac1 151 Int_t color,
152 TList* mclist,
153 TList* truthlist);
e1f47419 154 protected:
9ecab72f 155 ClassDef(CentralityBin,2); // A centrality bin
e1f47419 156 };
b2e7f2d6 157
9ecab72f 158 ClassDef(AliForwarddNdetaTask,2); // Determine multiplicity in forward region
b2e7f2d6 159};
160
161#endif
fe52e455 162//
163// Local Variables:
164// mode: C++
165// End:
166//