]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/FORWARD/analysis/AliFMDAnalysisTaskGenerateCorrection.h
Added 2012 geom
[u/mrichter/AliRoot.git] / PWGLF / FORWARD / analysis / AliFMDAnalysisTaskGenerateCorrection.h
1 #ifndef ALIFMDANALYSISTASKGENERATECORRECTION_H
2 #define ALIFMDANALYSISTASKGENERATECORRECTION_H
3
4 #include "AliAnalysisTaskSE.h"
5 #include "TList.h"
6 #include "AliFMDFloatMap.h"
7 #include "TH1F.h"
8
9 class AliFMDAnaCalibBackgroundCorrection;
10 class AliFMDAnaCalibEventSelectionEfficiency;
11
12 class AliFMDAnalysisTaskGenerateCorrection : public AliAnalysisTaskSE
13 {
14  public:
15   AliFMDAnalysisTaskGenerateCorrection();
16     AliFMDAnalysisTaskGenerateCorrection(const char* name);
17     ~AliFMDAnalysisTaskGenerateCorrection() {;}
18  AliFMDAnalysisTaskGenerateCorrection(const AliFMDAnalysisTaskGenerateCorrection& o) : AliAnalysisTaskSE(), 
19       fListOfHits(), 
20       fListOfPrimaries(),
21       fListOfCorrection(),
22       fVertexBins(o.fVertexBins),
23       fLastTrackByStrip(o.fLastTrackByStrip),
24       fHitsByStrip(o.fHitsByStrip),
25       fZvtxCut(o.fZvtxCut),
26       fNvtxBins(o.fNvtxBins),
27       fNbinsEta(o.fNbinsEta),
28       fBackground(o.fBackground),
29       fEventSelectionEff(o.fEventSelectionEff)
30       {}
31     AliFMDAnalysisTaskGenerateCorrection& operator=(const AliFMDAnalysisTaskGenerateCorrection&) { return *this; }
32     
33     virtual void Init();
34     virtual void UserCreateOutputObjects();
35     virtual void UserExec(Option_t* /*option*/);
36     void  Terminate(Option_t */*option*/);
37     void SetZvtxCut(Float_t vtxcut) {fZvtxCut = vtxcut;}
38     void SetNvtxBins(Int_t nvtxbins) {fNvtxBins = nvtxbins;}
39     void SetNbinsEta(Int_t netabins) {fNbinsEta = netabins;}
40     void ReadFromFile(const Char_t* filename = "background.root", Bool_t storeInOCDB = kFALSE, Int_t runNo=0);
41  private:
42     
43     void GenerateCorrection();
44     
45     TList fListOfHits;
46     TList fListOfPrimaries;
47     TList fListOfCorrection;
48     TH1F  fVertexBins;
49     AliFMDFloatMap fLastTrackByStrip;
50     AliFMDFloatMap fHitsByStrip;
51     Float_t fZvtxCut;
52     Int_t fNvtxBins;
53     Int_t fNbinsEta;
54     AliFMDAnaCalibBackgroundCorrection* fBackground;
55     AliFMDAnaCalibEventSelectionEfficiency*     fEventSelectionEff;
56     
57     ClassDef(AliFMDAnalysisTaskGenerateCorrection, 1);
58
59 };
60 #endif