]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AliAnalysisTaskSEMuonsHF.h
f942ad39d17b30e496cbcabf9ac069b91aa76e4d
[u/mrichter/AliRoot.git] / PWG / muon / AliAnalysisTaskSEMuonsHF.h
1 #ifndef ALIANALYSISTASKSEMUONSHF_H
2 #define ALIANALYSISTASKSEMUONSHF_H
3
4 /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6
7 /* $Id$ */ 
8
9 //*************************************************************************
10 // Class AliAnalysisTaskSEMuonsHF
11 // AliAnalysisTaskSE for the single muon and dimuon from HF analysis
12 // Author: X-M. Zhang, zhang@clermont.in2p3.fr
13 //                     zhangxm@iopp.ccnu.edu.cn
14 //*************************************************************************
15
16 #include "AliAnalysisTaskSE.h"
17
18 class TString;
19 class TList;
20 class TClonesArray;
21 class AliMuonsHFHeader;
22 class AliMuonTrackCuts;
23 class AliMuonPairCuts;
24
25 class AliAnalysisTaskSEMuonsHF : public AliAnalysisTaskSE {
26  public:
27
28   AliAnalysisTaskSEMuonsHF();
29   AliAnalysisTaskSEMuonsHF(const char *name, const AliMuonTrackCuts& cutsMuon, const AliMuonPairCuts& cutsDimu);
30   virtual ~AliAnalysisTaskSEMuonsHF();
31
32   virtual void Init();
33   virtual void LocalInit() { Init(); }
34   virtual void UserCreateOutputObjects();
35   virtual void UserExec(Option_t *opt);
36   virtual void Terminate(Option_t *opt);
37   virtual void NotifyRun();
38
39   void SetAnaMode(Int_t mode)      { fAnaMode      = ((mode>=0 && mode<3) ? mode : 0); }
40   void SetIsOutputTree(Bool_t ist) { fIsOutputTree = ist;                              }
41   void SetUseMC(Bool_t isMC)       { fIsMC         = isMC;                             }
42
43   void SetEvsHCuts(Double_t cuts[5])  const { AliMuonsHFHeader::SetSelectionCuts(cuts);   }
44
45  private:
46
47   AliAnalysisTaskSEMuonsHF(const AliAnalysisTaskSEMuonsHF&);
48   AliAnalysisTaskSEMuonsHF& operator=(const AliAnalysisTaskSEMuonsHF&);
49
50   Int_t fAnaMode;        // = 0, ana both single muon and dimuon
51                          // = 1, ana single muon
52                          // = 2, ana dimuon
53   Bool_t fIsOutputTree;  // flag used to switch on/off tree output
54   Bool_t fIsMC;          // flag of whether the input is MC
55
56   AliMuonTrackCuts *fCutsMuon;  // single muon selection cuts
57   AliMuonPairCuts  *fCutsDimu;  // dimuon selection cuts
58
59   AliMuonsHFHeader *fHeader;  // output for info at ev level
60   TClonesArray  *fMuonClArr;  // output clones array for single mu
61   TClonesArray  *fDimuClArr;  // output clones array for dimu
62   TList *fListOutput;         // output list of histos
63
64   ClassDef(AliAnalysisTaskSEMuonsHF, 7);
65 };
66
67 #endif