]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG/muon/AliAnalysisTaskSEMuonsHF.h
Merge branch 'feature-movesplit'
[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<=2) ? mode : 0); }
40   void SetIsOutputTree(Bool_t ist) { fIsOutputTree = ist;                               }
41   void SetUseMC(Bool_t isMC)       { fIsMC         = isMC;                              }
42   void SetIsFull(Bool_t isFull)    { fIsFull       = isFull;                            }
43
44   void SetEvsHCuts(Double_t cuts[5])  const { AliMuonsHFHeader::SetSelectionCuts(cuts); }
45
46  private:
47
48   AliAnalysisTaskSEMuonsHF(const AliAnalysisTaskSEMuonsHF&);
49   AliAnalysisTaskSEMuonsHF& operator=(const AliAnalysisTaskSEMuonsHF&);
50
51   Int_t fAnaMode;       // = 0, ana both single muon and dimuon
52                         // = 1, ana single muon
53                         // = 2, ana dimuon
54   Bool_t fIsOutputTree; // flag used to switch on/off tree output
55   Bool_t fIsMC;         // flag to use MC
56   Bool_t fIsFull;       // flag to save the parton info in MC (PYTHIA)
57
58   AliMuonTrackCuts *fCutsMuon; // single muon selection cuts
59   AliMuonPairCuts  *fCutsDimu; // dimuon selection cuts
60
61   AliMuonsHFHeader *fHeader;     // output for info at ev level
62   TClonesArray     *fMuonClArr;  // output clones array for single mu
63   TClonesArray     *fDimuClArr;  // output clones array for dimu
64   TList            *fListOutput; // output list of histos
65
66   ClassDef(AliAnalysisTaskSEMuonsHF, 8);
67 };
68
69 #endif