1 #ifndef ALIFMDANALYSISTASKGENERATECORRECTION_H
2 #define ALIFMDANALYSISTASKGENERATECORRECTION_H
4 #include "AliAnalysisTaskSE.h"
6 #include "AliFMDFloatMap.h"
9 class AliFMDAnaCalibBackgroundCorrection;
10 class AliFMDAnaCalibEventSelectionEfficiency;
12 class AliFMDAnalysisTaskGenerateCorrection : public AliAnalysisTaskSE
15 AliFMDAnalysisTaskGenerateCorrection();
16 AliFMDAnalysisTaskGenerateCorrection(const char* name);
17 ~AliFMDAnalysisTaskGenerateCorrection() {;}
18 AliFMDAnalysisTaskGenerateCorrection(const AliFMDAnalysisTaskGenerateCorrection& o) : AliAnalysisTaskSE(),
22 fVertexBins(o.fVertexBins),
23 fLastTrackByStrip(o.fLastTrackByStrip),
24 fHitsByStrip(o.fHitsByStrip),
26 fNvtxBins(o.fNvtxBins),
27 fNbinsEta(o.fNbinsEta),
28 fBackground(o.fBackground),
29 fEventSelectionEff(o.fEventSelectionEff),
33 AliFMDAnalysisTaskGenerateCorrection& operator=(const AliFMDAnalysisTaskGenerateCorrection&) { return *this; }
36 virtual void UserCreateOutputObjects();
37 virtual void UserExec(Option_t* /*option*/);
38 void Terminate(Option_t */*option*/);
39 void SetZvtxCut(Float_t vtxcut) {fZvtxCut = vtxcut;}
40 void SetNvtxBins(Int_t nvtxbins) {fNvtxBins = nvtxbins;}
41 void SetNbinsEta(Int_t netabins) {fNbinsEta = netabins;}
42 void SetEtaLimits(Double_t low, Double_t high) {fEtaLow = low; fEtaHigh = high;}
43 void ReadFromFile(const Char_t* filename = "background.root", Bool_t storeInOCDB = kFALSE, Int_t runNo=0);
46 void GenerateCorrection();
49 TList fListOfPrimaries;
50 TList fListOfCorrection;
52 AliFMDFloatMap fLastTrackByStrip;
53 AliFMDFloatMap fHitsByStrip;
57 AliFMDAnaCalibBackgroundCorrection* fBackground;
58 AliFMDAnaCalibEventSelectionEfficiency* fEventSelectionEff;
61 ClassDef(AliFMDAnalysisTaskGenerateCorrection, 1);