]>
Commit | Line | Data |
---|---|---|
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 | 17 | class TList; |
18 | class TH2D; | |
19 | class 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 | 29 | class AliForwarddNdetaTask : public AliBasedNdetaTask |
b2e7f2d6 | 30 | { |
31 | public: | |
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 | 48 | protected: |
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 | */ | |
ee83b849 | 125 | CentralityBin(const CentralityBin& other){;} |
e1f47419 | 126 | /** |
127 | * Destructor | |
128 | */ | |
129 | virtual ~CentralityBin() {} | |
130 | /** | |
131 | * Assignement operator | |
132 | * | |
133 | * | |
134 | * @return | |
135 | */ | |
ee83b849 | 136 | CentralityBin& operator=(const CentralityBin&){return *this;} |
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 trigEff Trigger efficiency |
66cf95f2 | 144 | * @param trigEff0 0-bin trigger efficiency |
c25b5e1b | 145 | * @param rootProj If true, use TH2::ProjectionX |
e1f47419 | 146 | * @param corrEmpty Whether to correct for empty bins |
e1f47419 | 147 | * @param triggerMask Trigger mask |
ffca499d | 148 | * @param color Marker colour |
149 | * @param marker Marker style | |
c6115ede | 150 | * @param mclist List of MC results |
151 | * @param truthlist List of MC truth results | |
e1f47419 | 152 | */ |
153 | virtual void End(TList* sums, | |
154 | TList* results, | |
ffca499d | 155 | UShort_t scheme, |
e1f47419 | 156 | Double_t trigEff, |
66cf95f2 | 157 | Double_t trigEff0, |
c25b5e1b | 158 | Bool_t rootProj, |
e1f47419 | 159 | Bool_t corrEmpty, |
ffca499d | 160 | Int_t triggerMask, |
9ecab72f | 161 | Int_t marker, |
c89b9ac1 | 162 | Int_t color, |
163 | TList* mclist, | |
164 | TList* truthlist); | |
e1f47419 | 165 | protected: |
5934a3e3 | 166 | ClassDef(CentralityBin,3); // A centrality bin |
e1f47419 | 167 | }; |
b2e7f2d6 | 168 | |
5934a3e3 | 169 | ClassDef(AliForwarddNdetaTask,3); // Determine multiplicity in forward region |
b2e7f2d6 | 170 | }; |
171 | ||
172 | #endif | |
fe52e455 | 173 | // |
174 | // Local Variables: | |
175 | // mode: C++ | |
176 | // End: | |
177 | // |