]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/Correlations/DPhi/PhiEffMC/AliAnalysisTaskPhiEffMc.h
Merge branch 'master_patch'
[u/mrichter/AliRoot.git] / PWGCF / Correlations / DPhi / PhiEffMC / AliAnalysisTaskPhiEffMc.h
1 #ifndef ALIANALYSISTASKPHIEFFMC_H
2 #define ALIANALYSISTASKPHIEFFMC_H
3
4 class TH1F;
5 class TH2F;
6 class TH3F;
7 class THnSparse;
8 class AliAODEvent;
9
10 #include "AliAnalysisTaskSE.h"
11 #include "AliHelperPID.h"
12 #include "AliAnalyseLeadingTrackUE.h"
13 class AliHelperPID;
14 class AliSpectraAODTrackCuts;
15 class AliSpectraAODEventCuts;
16 class AliAnalyseLeadingTrackUE;
17
18 class AliAnalysisTaskPhiEffMc : public AliAnalysisTaskSE
19 {
20  public:
21   
22   // constructors
23  AliAnalysisTaskPhiEffMc() : AliAnalysisTaskSE(), 
24     fAOD(0x0),
25     fIsMC(0),
26     fOutput(0x0),
27     fHelperPID(0x0),
28     fTrackCuts(0x0),
29     fEventCuts(0x0),
30     fPtCut(0.),
31     fDoPID(kTRUE)
32       {}
33   AliAnalysisTaskPhiEffMc(const char *name);
34   virtual ~AliAnalysisTaskPhiEffMc() {}
35   
36   void SetIsMC(Bool_t isMC = kFALSE)    {fIsMC = isMC; }
37   Bool_t GetIsMC()           const           { return fIsMC;}
38   
39   virtual void   UserCreateOutputObjects();
40   virtual void   UserExec(Option_t *option);
41   virtual void   Terminate(Option_t *);
42   
43   void SetHelperPID(AliHelperPID* pid)                     { fHelperPID = pid; }
44   AliHelperPID                   * GetHelperPID()          { return fHelperPID; }
45
46   AliSpectraAODTrackCuts      * GetTrackCuts()         {  return fTrackCuts; }
47   AliSpectraAODEventCuts      * GetEventCuts()         {  return fEventCuts; }
48   void SetTrackCuts(AliSpectraAODTrackCuts * tc)       { fTrackCuts = tc; }
49   void SetEventCuts(AliSpectraAODEventCuts * vc)       { fEventCuts = vc; }
50
51   void UnlikeSign(TObjArray* kaonsPos, TObjArray* kaonsNeg, THnSparseF* h, Double_t cent = -1);
52   void LikeSign(TObjArray* kaonsPos, TObjArray* kaonsNeg, THnSparseF* h, Double_t cent = -1);
53   TLorentzVector* makePhi(AliVParticle* p1, AliVParticle* p2);
54
55   void SetPtCut(Double_t ptcut){fPtCut = ptcut;}
56   void SetDoPID(Bool_t dopid){fDoPID = dopid;}
57   Double_t GetPtCut(){return fPtCut;}
58   Bool_t GetDoPID(){return fDoPID;}
59
60  private:
61   
62   AliAODEvent           *fAOD;         //! AOD object
63   Bool_t          fIsMC;// true if processing MC
64   TList *fOutput; //! tlist with output  
65   AliHelperPID                * fHelperPID;     // points to class for PID
66   AliSpectraAODTrackCuts      * fTrackCuts;     // Track Cuts
67   AliSpectraAODEventCuts      * fEventCuts;     // Event Cuts
68
69   Double_t fPtCut;  // min pt cut on tracks (pt cut in AliSpectraAODTrackCuts is max pt)
70   Bool_t fDoPID; // true -- do PID to select kaons, false -- no PID
71
72   AliAnalysisTaskPhiEffMc(const AliAnalysisTaskPhiEffMc&);
73   AliAnalysisTaskPhiEffMc& operator=(const AliAnalysisTaskPhiEffMc&);
74   
75   ClassDef(AliAnalysisTaskPhiEffMc, 3);
76 };
77
78 #endif