#ifndef ALIBASEMCCORRECTIONS_H
#define ALIBASEMCCORRECTIONS_H
#include <AliBaseESDTask.h>
#include <AliESDFMD.h>
#include "AliFMDMCEventInspector.h"
#include <TH1I.h>
class AliBaseMCTrackDensity;
class AliCorrectionManagerBase;
class AliESDEvent;
class TH2D;
class TH1D;
class TList;
class AliBaseMCCorrectionsTask : public AliBaseESDTask
{
public:
AliBaseMCCorrectionsTask(const char* name,
AliCorrectionManagerBase* m);
AliBaseMCCorrectionsTask();
virtual Bool_t Book();
virtual Bool_t Event(AliESDEvent& esd);
virtual Bool_t Finalize();
void Print(Option_t* option="") const;
void SetVertexAxis(Int_t nBins, Double_t vzMin, Double_t vzMax=-1000000);
void SetVertexAxis(const TAxis& axis);
void SetEtaAxis(Int_t nBins, Double_t etaMin, Double_t etaMax=-1000000);
void SetEtaAxis(const TAxis& axis);
virtual AliBaseMCTrackDensity& GetTrackDensity() = 0;
virtual const AliBaseMCTrackDensity& GetTrackDensity() const = 0;
AliFMDEventInspector& GetEventInspector() { return fInspector; }
const AliFMDEventInspector& GetEventInspector() const { return fInspector;}
void SetUseESDVertex(Bool_t use){ fUseESDVertex = use;}
void SetAfterEventSel(Bool_t use){ fAfterEventSel = use; }
protected:
AliBaseMCCorrectionsTask(const AliBaseMCCorrectionsTask& o);
AliBaseMCCorrectionsTask& operator=(const AliBaseMCCorrectionsTask& o);
struct VtxBin : public TNamed
{
VtxBin();
VtxBin(Double_t low, Double_t high, const TAxis& etaAxis, UShort_t nPhi);
virtual ~VtxBin() {}
VtxBin(const VtxBin& o);
VtxBin& operator=(const VtxBin& o);
static const char* BinName(Double_t low, Double_t high);
virtual TList* CreateOutputObjects(TList* list);
TH2D* fPrimary;
TH1D* fCounts;
ClassDef(VtxBin,1);
};
virtual TAxis* DefaultVertexAxis() const { return const_cast<TAxis*>(&fVtxAxis); }
virtual TAxis* DefaultEtaAxis() const { return const_cast<TAxis*>(&fEtaAxis); }
virtual VtxBin* CreateVtxBin(Double_t low, Double_t high) = 0;
virtual Bool_t ProcessESD(const AliESDEvent& esd,
const AliMCEvent& mc,
VtxBin& bin,
Double_t vz) = 0;
virtual void CreateCorrections(TList* results) = 0;
virtual Bool_t FinalizeVtxBin(VtxBin* bin,
UShort_t iVz) = 0;
void DefineBins(TList* list);
AliFMDMCEventInspector fInspector;
TObjArray* fVtxBins;
TH1I* fHEvents;
TH1I* fHEventsTr;
TH1I* fHEventsTrVtx;
TAxis fVtxAxis;
TAxis fEtaAxis;
Bool_t fUseESDVertex;
Bool_t fAfterEventSel;
ClassDef(AliBaseMCCorrectionsTask,1)
};
#endif
AliBaseMCCorrectionsTask.h:1 AliBaseMCCorrectionsTask.h:2 AliBaseMCCorrectionsTask.h:3 AliBaseMCCorrectionsTask.h:4 AliBaseMCCorrectionsTask.h:5 AliBaseMCCorrectionsTask.h:6 AliBaseMCCorrectionsTask.h:7 AliBaseMCCorrectionsTask.h:8 AliBaseMCCorrectionsTask.h:9 AliBaseMCCorrectionsTask.h:10 AliBaseMCCorrectionsTask.h:11 AliBaseMCCorrectionsTask.h:12 AliBaseMCCorrectionsTask.h:13 AliBaseMCCorrectionsTask.h:14 AliBaseMCCorrectionsTask.h:15 AliBaseMCCorrectionsTask.h:16 AliBaseMCCorrectionsTask.h:17 AliBaseMCCorrectionsTask.h:18 AliBaseMCCorrectionsTask.h:19 AliBaseMCCorrectionsTask.h:20 AliBaseMCCorrectionsTask.h:21 AliBaseMCCorrectionsTask.h:22 AliBaseMCCorrectionsTask.h:23 AliBaseMCCorrectionsTask.h:24 AliBaseMCCorrectionsTask.h:25 AliBaseMCCorrectionsTask.h:26 AliBaseMCCorrectionsTask.h:27 AliBaseMCCorrectionsTask.h:28 AliBaseMCCorrectionsTask.h:29 AliBaseMCCorrectionsTask.h:30 AliBaseMCCorrectionsTask.h:31 AliBaseMCCorrectionsTask.h:32 AliBaseMCCorrectionsTask.h:33 AliBaseMCCorrectionsTask.h:34 AliBaseMCCorrectionsTask.h:35 AliBaseMCCorrectionsTask.h:36 AliBaseMCCorrectionsTask.h:37 AliBaseMCCorrectionsTask.h:38 AliBaseMCCorrectionsTask.h:39 AliBaseMCCorrectionsTask.h:40 AliBaseMCCorrectionsTask.h:41 AliBaseMCCorrectionsTask.h:42 AliBaseMCCorrectionsTask.h:43 AliBaseMCCorrectionsTask.h:44 AliBaseMCCorrectionsTask.h:45 AliBaseMCCorrectionsTask.h:46 AliBaseMCCorrectionsTask.h:47 AliBaseMCCorrectionsTask.h:48 AliBaseMCCorrectionsTask.h:49 AliBaseMCCorrectionsTask.h:50 AliBaseMCCorrectionsTask.h:51 AliBaseMCCorrectionsTask.h:52 AliBaseMCCorrectionsTask.h:53 AliBaseMCCorrectionsTask.h:54 AliBaseMCCorrectionsTask.h:55 AliBaseMCCorrectionsTask.h:56 AliBaseMCCorrectionsTask.h:57 AliBaseMCCorrectionsTask.h:58 AliBaseMCCorrectionsTask.h:59 AliBaseMCCorrectionsTask.h:60 AliBaseMCCorrectionsTask.h:61 AliBaseMCCorrectionsTask.h:62 AliBaseMCCorrectionsTask.h:63 AliBaseMCCorrectionsTask.h:64 AliBaseMCCorrectionsTask.h:65 AliBaseMCCorrectionsTask.h:66 AliBaseMCCorrectionsTask.h:67 AliBaseMCCorrectionsTask.h:68 AliBaseMCCorrectionsTask.h:69 AliBaseMCCorrectionsTask.h:70 AliBaseMCCorrectionsTask.h:71 AliBaseMCCorrectionsTask.h:72 AliBaseMCCorrectionsTask.h:73 AliBaseMCCorrectionsTask.h:74 AliBaseMCCorrectionsTask.h:75 AliBaseMCCorrectionsTask.h:76 AliBaseMCCorrectionsTask.h:77 AliBaseMCCorrectionsTask.h:78 AliBaseMCCorrectionsTask.h:79 AliBaseMCCorrectionsTask.h:80 AliBaseMCCorrectionsTask.h:81 AliBaseMCCorrectionsTask.h:82 AliBaseMCCorrectionsTask.h:83 AliBaseMCCorrectionsTask.h:84 AliBaseMCCorrectionsTask.h:85 AliBaseMCCorrectionsTask.h:86 AliBaseMCCorrectionsTask.h:87 AliBaseMCCorrectionsTask.h:88 AliBaseMCCorrectionsTask.h:89 AliBaseMCCorrectionsTask.h:90 AliBaseMCCorrectionsTask.h:91 AliBaseMCCorrectionsTask.h:92 AliBaseMCCorrectionsTask.h:93 AliBaseMCCorrectionsTask.h:94 AliBaseMCCorrectionsTask.h:95 AliBaseMCCorrectionsTask.h:96 AliBaseMCCorrectionsTask.h:97 AliBaseMCCorrectionsTask.h:98 AliBaseMCCorrectionsTask.h:99 AliBaseMCCorrectionsTask.h:100 AliBaseMCCorrectionsTask.h:101 AliBaseMCCorrectionsTask.h:102 AliBaseMCCorrectionsTask.h:103 AliBaseMCCorrectionsTask.h:104 AliBaseMCCorrectionsTask.h:105 AliBaseMCCorrectionsTask.h:106 AliBaseMCCorrectionsTask.h:107 AliBaseMCCorrectionsTask.h:108 AliBaseMCCorrectionsTask.h:109 AliBaseMCCorrectionsTask.h:110 AliBaseMCCorrectionsTask.h:111 AliBaseMCCorrectionsTask.h:112 AliBaseMCCorrectionsTask.h:113 AliBaseMCCorrectionsTask.h:114 AliBaseMCCorrectionsTask.h:115 AliBaseMCCorrectionsTask.h:116 AliBaseMCCorrectionsTask.h:117 AliBaseMCCorrectionsTask.h:118 AliBaseMCCorrectionsTask.h:119 AliBaseMCCorrectionsTask.h:120 AliBaseMCCorrectionsTask.h:121 AliBaseMCCorrectionsTask.h:122 AliBaseMCCorrectionsTask.h:123 AliBaseMCCorrectionsTask.h:124 AliBaseMCCorrectionsTask.h:125 AliBaseMCCorrectionsTask.h:126 AliBaseMCCorrectionsTask.h:127 AliBaseMCCorrectionsTask.h:128 AliBaseMCCorrectionsTask.h:129 AliBaseMCCorrectionsTask.h:130 AliBaseMCCorrectionsTask.h:131 AliBaseMCCorrectionsTask.h:132 AliBaseMCCorrectionsTask.h:133 AliBaseMCCorrectionsTask.h:134 AliBaseMCCorrectionsTask.h:135 AliBaseMCCorrectionsTask.h:136 AliBaseMCCorrectionsTask.h:137 AliBaseMCCorrectionsTask.h:138 AliBaseMCCorrectionsTask.h:139 AliBaseMCCorrectionsTask.h:140 AliBaseMCCorrectionsTask.h:141 AliBaseMCCorrectionsTask.h:142 AliBaseMCCorrectionsTask.h:143 AliBaseMCCorrectionsTask.h:144 AliBaseMCCorrectionsTask.h:145 AliBaseMCCorrectionsTask.h:146 AliBaseMCCorrectionsTask.h:147 AliBaseMCCorrectionsTask.h:148 AliBaseMCCorrectionsTask.h:149 AliBaseMCCorrectionsTask.h:150 AliBaseMCCorrectionsTask.h:151 AliBaseMCCorrectionsTask.h:152 AliBaseMCCorrectionsTask.h:153 AliBaseMCCorrectionsTask.h:154 AliBaseMCCorrectionsTask.h:155 AliBaseMCCorrectionsTask.h:156 AliBaseMCCorrectionsTask.h:157 AliBaseMCCorrectionsTask.h:158 AliBaseMCCorrectionsTask.h:159 AliBaseMCCorrectionsTask.h:160 AliBaseMCCorrectionsTask.h:161 AliBaseMCCorrectionsTask.h:162 AliBaseMCCorrectionsTask.h:163 AliBaseMCCorrectionsTask.h:164 AliBaseMCCorrectionsTask.h:165 AliBaseMCCorrectionsTask.h:166 AliBaseMCCorrectionsTask.h:167 AliBaseMCCorrectionsTask.h:168 AliBaseMCCorrectionsTask.h:169 AliBaseMCCorrectionsTask.h:170 AliBaseMCCorrectionsTask.h:171 AliBaseMCCorrectionsTask.h:172 AliBaseMCCorrectionsTask.h:173 AliBaseMCCorrectionsTask.h:174 AliBaseMCCorrectionsTask.h:175 AliBaseMCCorrectionsTask.h:176 AliBaseMCCorrectionsTask.h:177 AliBaseMCCorrectionsTask.h:178 AliBaseMCCorrectionsTask.h:179 AliBaseMCCorrectionsTask.h:180 AliBaseMCCorrectionsTask.h:181 AliBaseMCCorrectionsTask.h:182 AliBaseMCCorrectionsTask.h:183 AliBaseMCCorrectionsTask.h:184 AliBaseMCCorrectionsTask.h:185 AliBaseMCCorrectionsTask.h:186 AliBaseMCCorrectionsTask.h:187 AliBaseMCCorrectionsTask.h:188 AliBaseMCCorrectionsTask.h:189 AliBaseMCCorrectionsTask.h:190 AliBaseMCCorrectionsTask.h:191 AliBaseMCCorrectionsTask.h:192 AliBaseMCCorrectionsTask.h:193 AliBaseMCCorrectionsTask.h:194 AliBaseMCCorrectionsTask.h:195 AliBaseMCCorrectionsTask.h:196 AliBaseMCCorrectionsTask.h:197 AliBaseMCCorrectionsTask.h:198 AliBaseMCCorrectionsTask.h:199 AliBaseMCCorrectionsTask.h:200 AliBaseMCCorrectionsTask.h:201 AliBaseMCCorrectionsTask.h:202 AliBaseMCCorrectionsTask.h:203 AliBaseMCCorrectionsTask.h:204 AliBaseMCCorrectionsTask.h:205 AliBaseMCCorrectionsTask.h:206 AliBaseMCCorrectionsTask.h:207 AliBaseMCCorrectionsTask.h:208 AliBaseMCCorrectionsTask.h:209 AliBaseMCCorrectionsTask.h:210 AliBaseMCCorrectionsTask.h:211 AliBaseMCCorrectionsTask.h:212 AliBaseMCCorrectionsTask.h:213 AliBaseMCCorrectionsTask.h:214 AliBaseMCCorrectionsTask.h:215 AliBaseMCCorrectionsTask.h:216 AliBaseMCCorrectionsTask.h:217 AliBaseMCCorrectionsTask.h:218 AliBaseMCCorrectionsTask.h:219 AliBaseMCCorrectionsTask.h:220 AliBaseMCCorrectionsTask.h:221 AliBaseMCCorrectionsTask.h:222 AliBaseMCCorrectionsTask.h:223 AliBaseMCCorrectionsTask.h:224 AliBaseMCCorrectionsTask.h:225 AliBaseMCCorrectionsTask.h:226 AliBaseMCCorrectionsTask.h:227 AliBaseMCCorrectionsTask.h:228 AliBaseMCCorrectionsTask.h:229 AliBaseMCCorrectionsTask.h:230 AliBaseMCCorrectionsTask.h:231 AliBaseMCCorrectionsTask.h:232 AliBaseMCCorrectionsTask.h:233 AliBaseMCCorrectionsTask.h:234 AliBaseMCCorrectionsTask.h:235 AliBaseMCCorrectionsTask.h:236 AliBaseMCCorrectionsTask.h:237 AliBaseMCCorrectionsTask.h:238 AliBaseMCCorrectionsTask.h:239 AliBaseMCCorrectionsTask.h:240 AliBaseMCCorrectionsTask.h:241 AliBaseMCCorrectionsTask.h:242 AliBaseMCCorrectionsTask.h:243 AliBaseMCCorrectionsTask.h:244 AliBaseMCCorrectionsTask.h:245 AliBaseMCCorrectionsTask.h:246 AliBaseMCCorrectionsTask.h:247 AliBaseMCCorrectionsTask.h:248 AliBaseMCCorrectionsTask.h:249 AliBaseMCCorrectionsTask.h:250 AliBaseMCCorrectionsTask.h:251 AliBaseMCCorrectionsTask.h:252 AliBaseMCCorrectionsTask.h:253 AliBaseMCCorrectionsTask.h:254 AliBaseMCCorrectionsTask.h:255 AliBaseMCCorrectionsTask.h:256 AliBaseMCCorrectionsTask.h:257 AliBaseMCCorrectionsTask.h:258 AliBaseMCCorrectionsTask.h:259 AliBaseMCCorrectionsTask.h:260 AliBaseMCCorrectionsTask.h:261 AliBaseMCCorrectionsTask.h:262 AliBaseMCCorrectionsTask.h:263 AliBaseMCCorrectionsTask.h:264 AliBaseMCCorrectionsTask.h:265 AliBaseMCCorrectionsTask.h:266 AliBaseMCCorrectionsTask.h:267 AliBaseMCCorrectionsTask.h:268 AliBaseMCCorrectionsTask.h:269 AliBaseMCCorrectionsTask.h:270 AliBaseMCCorrectionsTask.h:271 AliBaseMCCorrectionsTask.h:272 AliBaseMCCorrectionsTask.h:273 AliBaseMCCorrectionsTask.h:274 AliBaseMCCorrectionsTask.h:275 AliBaseMCCorrectionsTask.h:276 AliBaseMCCorrectionsTask.h:277 AliBaseMCCorrectionsTask.h:278 AliBaseMCCorrectionsTask.h:279 AliBaseMCCorrectionsTask.h:280 AliBaseMCCorrectionsTask.h:281 AliBaseMCCorrectionsTask.h:282 AliBaseMCCorrectionsTask.h:283 AliBaseMCCorrectionsTask.h:284 AliBaseMCCorrectionsTask.h:285 AliBaseMCCorrectionsTask.h:286 AliBaseMCCorrectionsTask.h:287 AliBaseMCCorrectionsTask.h:288 AliBaseMCCorrectionsTask.h:289