]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/FORWARD/analysis/AliFMDAnalysisTaskGenerateCorrection.h
add maximum M02 band cut, retune fit param, define temporary m02 cut for eta and...
[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       fEtaLow(o.fEtaLow),
31       fEtaHigh(o.fEtaHigh)
32       {}
33     AliFMDAnalysisTaskGenerateCorrection& operator=(const AliFMDAnalysisTaskGenerateCorrection&) { return *this; }
34     
35     virtual void Init();
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);
44  private:
45     
46     void GenerateCorrection();
47     
48     TList fListOfHits;
49     TList fListOfPrimaries;
50     TList fListOfCorrection;
51     TH1F  fVertexBins;
52     AliFMDFloatMap fLastTrackByStrip;
53     AliFMDFloatMap fHitsByStrip;
54     Float_t fZvtxCut;
55     Int_t fNvtxBins;
56     Int_t fNbinsEta;
57     AliFMDAnaCalibBackgroundCorrection* fBackground;
58     AliFMDAnaCalibEventSelectionEfficiency*     fEventSelectionEff;
59     Double_t fEtaLow;
60     Double_t fEtaHigh;
61     ClassDef(AliFMDAnalysisTaskGenerateCorrection, 1);
62
63 };
64 #endif