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 */
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 //*************************************************************************
16 #include "AliAnalysisTaskSE.h"
21 class AliMuonsHFHeader;
23 class AliAnalysisTaskSEMuonsHF : public AliAnalysisTaskSE {
26 AliAnalysisTaskSEMuonsHF();
27 AliAnalysisTaskSEMuonsHF(const char *name);
28 virtual ~AliAnalysisTaskSEMuonsHF();
31 virtual void LocalInit() { Init(); }
32 virtual void UserCreateOutputObjects();
33 virtual void UserExec(Option_t *opt);
34 virtual void Terminate(Option_t *opt);
36 void SetAnaMode(Int_t mode) { fAnaMode = ((mode>=0 && mode<3) ? mode : 0); }
37 void SetIsOutputTree(Bool_t ist) { fIsOutputTree = ist; }
38 void SetUseMC(Bool_t isMC) { fIsMC = isMC; }
40 void SetEvsHCuts(Double_t cuts[3]) const { AliMuonsHFHeader::SetSelectionCuts(cuts); }
41 void SetMuonCuts(Double_t cuts[12]) const { AliMuonInfoStoreRD::SetSelectionCuts(cuts); }
42 void SetDimuCuts(Double_t cuts[12]) const { AliDimuInfoStoreRD::SetSelectionCuts(cuts); }
46 AliAnalysisTaskSEMuonsHF(const AliAnalysisTaskSEMuonsHF&);
47 AliAnalysisTaskSEMuonsHF& operator=(const AliAnalysisTaskSEMuonsHF&);
49 Int_t fAnaMode; // = 0, ana both single muon and dimuon
50 // = 1, ana single muon
52 Bool_t fIsOutputTree; // flag used to switch on/off tree output
53 Bool_t fIsMC; // flag of whether the input is MC
55 AliMuonsHFHeader *fHeader; // output for info at ev level
56 TClonesArray *fMuonClArr; // output clones array for single mu
57 TClonesArray *fDimuClArr; // output clones array for dimu
58 TList *fListOutput; // output list of histos
60 ClassDef(AliAnalysisTaskSEMuonsHF, 6);