1 #ifndef ALIANALYSISTASKSEMUONSHF_H
2 #define ALIANALYSISTASKSEMUONSHF_H
4 /* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
5 * See cxx source for full Copyright notice */
7 //*************************************************************************
8 // Class AliAnalysisTaskSEMuonsHF
9 // AliAnalysisTaskSE for the single muon and dimuon from HF analysis
10 // Author: X-M. Zhang, zhang@clermont.in2p3.fr
11 // zhangxm@iopp.ccnu.edu.cn
12 //*************************************************************************
14 #include "AliAnalysisTaskSE.h"
19 class AliMuonsHFHeader;
21 class AliAnalysisTaskSEMuonsHF : public AliAnalysisTaskSE {
24 AliAnalysisTaskSEMuonsHF();
25 AliAnalysisTaskSEMuonsHF(const char *name);
26 virtual ~AliAnalysisTaskSEMuonsHF();
29 virtual void LocalInit() { Init(); }
30 virtual void UserCreateOutputObjects();
31 virtual void UserExec(Option_t *opt);
32 virtual void Terminate(Option_t *opt);
34 void SetAnaMode(Int_t mode) { fAnaMode = ((mode>=0 && mode<3) ? mode : 0); }
35 void SetIsOutputTree(Bool_t ist) { fIsOutputTree = ist; }
36 void SetUseMC(Bool_t isMC) { fIsMC = isMC; }
38 void SetEvsHCuts(Double_t cuts[3]) const { AliMuonsHFHeader::SetSelectionCuts(cuts); }
39 void SetMuonCuts(Double_t cuts[12]) const { AliMuonInfoStoreRD::SetSelectionCuts(cuts); }
40 void SetDimuCuts(Double_t cuts[12]) const { AliDimuInfoStoreRD::SetSelectionCuts(cuts); }
44 AliAnalysisTaskSEMuonsHF(const AliAnalysisTaskSEMuonsHF&);
45 AliAnalysisTaskSEMuonsHF& operator=(const AliAnalysisTaskSEMuonsHF&);
47 Int_t fAnaMode; // = 0, ana both single muon and dimuon
48 // = 1, ana single muon
50 Bool_t fIsOutputTree; // flag used to switch on/off tree output
51 Bool_t fIsMC; // flag of whether the input is MC
53 AliMuonsHFHeader *fHeader; // output for info at ev level
54 TClonesArray *fMuonClArr; // output clones array for single mu
55 TClonesArray *fDimuClArr; // output clones array for dimu
56 TList *fListOutput; // output list of histos
58 ClassDef(AliAnalysisTaskSEMuonsHF, 6);