Update of the Xiaoming code for pp900 first muon analysis. Fixing wanirngs and violti...
[u/mrichter/AliRoot.git] / PWG3 / 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 //*************************************************************************
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 //*************************************************************************
13
14 #include "AliAnalysisTaskSE.h"
15
16 class TString;
17 class TList;
18 class TClonesArray;
19 class AliMuonsHFHeader;
20
21 class AliAnalysisTaskSEMuonsHF : public AliAnalysisTaskSE {
22  public:
23
24   AliAnalysisTaskSEMuonsHF();
25   AliAnalysisTaskSEMuonsHF(const char *name);
26   virtual ~AliAnalysisTaskSEMuonsHF();
27
28   virtual void Init();
29   virtual void LocalInit() { Init(); }
30   virtual void UserCreateOutputObjects();
31   virtual void UserExec(Option_t *opt);
32   virtual void Terminate(Option_t *opt);
33
34   void SetAnaMode(Int_t mode) { fAnaMode = (mode<3 ? mode : 0); }
35   void SetIsOutputTree(Bool_t ist) { fIsOutputTree = ist; }
36   void SetIsUseMC(Bool_t isMC) { fIsUseMC = isMC; }
37
38   void SetEvsHCuts(Double_t cuts[3])  const { AliMuonsHFHeader::SetSelectionCuts(cuts);   }
39   void SetMuonCuts(Double_t cuts[10]) const { AliMuonInfoStoreRD::SetSelectionCuts(cuts); }
40   void SetDimuCuts(Double_t cuts[10]) const { AliDimuInfoStoreRD::SetSelectionCuts(cuts); }
41
42  private:
43
44   AliAnalysisTaskSEMuonsHF(const AliAnalysisTaskSEMuonsHF&);
45   AliAnalysisTaskSEMuonsHF& operator=(const AliAnalysisTaskSEMuonsHF&);
46
47   Int_t fAnaMode;        // = 0, ana both single muon and dimuon
48                          // = 1, ana single muon
49                          // = 2, ana dimuon
50   Bool_t fIsOutputTree;  // flag used to switch on/off tree output
51   Bool_t fIsUseMC;       // flag used to switch on/off MC ana
52
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
57   TList *fListHisHeader;  // output list of histos at event level
58   TList *fListHisMuon;    // output list of histos for single mu
59   TList *fListHisDimu;    // output list of histos for dimuon
60
61   ClassDef(AliAnalysisTaskSEMuonsHF, 6);
62 };
63
64 #endif