2 // Task to analyse the AOD for for dN/deta in the forward regions
4 #ifndef ALIFORWARDDNDETATASK_H
5 #define ALIFORWARDDNDETATASK_H
7 * @file AliForwarddNdetaTask.h
8 * @author Christian Holm Christensen <cholm@dalsgaard.hehi.nbi.dk>
9 * @date Wed Mar 23 14:04:54 2011
14 * @ingroup pwg2_forward_dndeta
16 #include "AliBasedNdetaTask.h"
22 * Tasks to determine @f$ dN/d\eta@f$ in the forward regions
24 * @ingroup pwg2_forward_tasks_dndeta
25 * @ingroup pwg2_forward_dndeta
27 class AliForwarddNdetaTask : public AliBasedNdetaTask
34 AliForwarddNdetaTask();
38 * @param name Name of task
40 AliForwarddNdetaTask(const char* name);
45 virtual ~AliForwarddNdetaTask() {}
47 * Called at each event
49 * This is called once in the master
51 * @param option Not used
53 virtual void UserExec(Option_t* option);
55 * Called at end of event processing.
57 * This is called once in the master
59 * @param option Not used
61 virtual void Terminate(Option_t* option);
66 AliForwarddNdetaTask(const AliForwarddNdetaTask& o);
68 * Assigmement operator
70 * @return Reference to this
72 AliForwarddNdetaTask& operator=(const AliForwarddNdetaTask&) { return *this; }
75 * Retrieve the histogram
77 * @param aod AOD event
78 * @param mc Whether to get the MC histogram or not
80 * @return Retrieved histogram or null
82 TH2D* GetHistogram(const AliAODEvent* aod, Bool_t mc);
84 * Make a new centrality bin
86 * @param name Histogram names
90 * @return Newly allocated object (of our type)
92 AliBasedNdetaTask::CentralityBin*
93 MakeCentralityBin(const char* name, Short_t l, Short_t h) const;
95 struct CentralityBin : public AliBasedNdetaTask::CentralityBin
100 CentralityBin() : AliBasedNdetaTask::CentralityBin(), fSumPrimary(0) {}
104 * @param name Name used for histograms (e.g., Forward)
105 * @param low Lower centrality cut in percent
106 * @param high Upper centrality cut in percent
108 CentralityBin(const char* name, Short_t low, Short_t high)
109 : AliBasedNdetaTask::CentralityBin(name, low, high),
115 * @param other Object to copy from
117 CentralityBin(const CentralityBin& other)
118 : AliBasedNdetaTask::CentralityBin(other),
119 fSumPrimary(other.fSumPrimary)
124 virtual ~CentralityBin() {}
126 * Assignement operator
131 CentralityBin& operator=(const CentralityBin&) { return *this; }
135 * @param forward Forward data (for trigger, vertex, & centrality)
136 * @param triggerMask Trigger mask
137 * @param vzMin Minimum IP z coordinate
138 * @param vzMax Maximum IP z coordinate
139 * @param primary MC truth histogram
141 virtual void ProcessPrimary(const AliAODForwardMult* forward,
143 Double_t vzMin, Double_t vzMax,
144 const TH2D* primary);
148 * @param sums List of sums
149 * @param results Output list of results
150 * @param scheme Normalisation scheme options
151 * @param shapeCorr Shape correction or nil
152 * @param trigEff Trigger efficiency
153 * @param symmetrice Whether to symmetrice the results
154 * @param rebin Whether to rebin the results
155 * @param rootProj If true, use TH2::ProjectionX
156 * @param corrEmpty Whether to correct for empty bins
157 * @param cutEdges Whether to cut edges when rebinning
158 * @param triggerMask Trigger mask
159 * @param color Marker colour
160 * @param marker Marker style
162 virtual void End(TList* sums,
165 const TH1* shapeCorr,
175 TH2D* fSumPrimary; // Sum of primary histograms
176 ClassDef(CentralityBin,1); // A centrality bin
179 ClassDef(AliForwarddNdetaTask,1); // Determine multiplicity in forward region