]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/SPECTRA/PiKaPr/TestAOD/AliAnalysisTaskSpectraBoth.h
VZERO-A default selection for LHC10h
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / AliAnalysisTaskSpectraBoth.h
1 #ifndef ALIANALYSISTASKSPECTRABOTH_H\r
2 #define ALIANALYSISTASKSPECTRABOTH_H\r
3 \r
4 /*  See cxx source for full Copyright notice */\r
5 \r
6 //-------------------------------------------------------------------------\r
7 //                      AliAnalysisTaskSpectraBoth\r
8 //\r
9 //\r
10 //\r
11 //\r
12 // Author: Michele Floris, CERN\r
13 //-------------------------------------------------------------------------\r
14 \r
15 class TH1F;\r
16 class TH2F;\r
17 class AliVEvent;\r
18 class AliSpectraBothHistoManager;\r
19 class AliSpectraBothTrackCuts;\r
20 class AliSpectraBothEventCuts;\r
21 class AliSpectraBothPID;\r
22 class AliESDtrackCuts;\r
23 class AliGenEventHeader;\r
24 \r
25 #include "AliSpectraBothHistoManager.h"\r
26 #include "AliAnalysisTaskSE.h"\r
27 #include "AliESDtrackCuts.h"\r
28 \r
29 class AliAnalysisTaskSpectraBoth : public AliAnalysisTaskSE\r
30 {\r
31 public:\r
32 \r
33    // constructors\r
34   AliAnalysisTaskSpectraBoth() : AliAnalysisTaskSE(), fAOD(0), fHistMan(0), fTrackCuts(0), fEventCuts(0), fPID(0), fIsMC(0), fNRebin(0),fUseMinSigma(0),fCuts(0),fdotheMCLoopAfterEventCuts(0)\r
35  {}\r
36   AliAnalysisTaskSpectraBoth(const char *name);\r
37    virtual ~AliAnalysisTaskSpectraBoth() {}\r
38 \r
39    void SetIsMC(Bool_t isMC = kFALSE)    {fIsMC = isMC; };\r
40    Bool_t GetIsMC()           const           { return fIsMC;};\r
41 \r
42    virtual void   UserCreateOutputObjects();\r
43    virtual void   UserExec(Option_t *option);\r
44    virtual void   Terminate(Option_t *);\r
45 \r
46    AliSpectraBothHistoManager * GetHistoManager()         {  return fHistMan; }\r
47    AliSpectraBothTrackCuts * GetTrackCuts()         {  return fTrackCuts; }\r
48    AliSpectraBothEventCuts * GetEventCuts()         {  return fEventCuts; }\r
49    AliSpectraBothPID * GetPID()         {  return fPID; }\r
50    \r
51    void SetTrackCuts(AliSpectraBothTrackCuts * tc)   {   fTrackCuts = tc;   }\r
52    void SetEventCuts(AliSpectraBothEventCuts * vc)   {   fEventCuts = vc;   }\r
53    void SetPID      (AliSpectraBothPID      * pid)   {   fPID       = pid;  }\r
54    void SetNRebin(Int_t nreb){fNRebin=nreb;}\r
55    void SetUseMinSigma (Bool_t flag) {fUseMinSigma=flag;}\r
56    Int_t   GetNRebin() const {return fNRebin;}\r
57    void SetAliESDtrackCuts(AliESDtrackCuts*  cuts ){fCuts=cuts;}\r
58    void SetdotheMCLoopAfterEventCuts (Bool_t flag) {fdotheMCLoopAfterEventCuts=flag;}\r
59    Bool_t GetdotheMCLoopAfterEventCuts () const {return fdotheMCLoopAfterEventCuts;}\r
60 private:\r
61 \r
62    AliVEvent           * fAOD;         //! AOD object\r
63    AliSpectraBothHistoManager      * fHistMan;       // Histogram Manager\r
64    AliSpectraBothTrackCuts      * fTrackCuts;     // Track Cuts\r
65    AliSpectraBothEventCuts      * fEventCuts;     // Event Cuts\r
66    AliSpectraBothPID             * fPID;// PID class\r
67    Bool_t          fIsMC;// true if processing MC\r
68    Int_t      fNRebin; //rebin of histos\r
69    Bool_t fUseMinSigma; // if true use min sigma \r
70      AliESDtrackCuts *fCuts; // ESD track cuts \r
71     Bool_t fdotheMCLoopAfterEventCuts; // if true first check the ESD event cuts than loop over MC info , if flase other approach     \r
72 \r
73    AliAnalysisTaskSpectraBoth(const AliAnalysisTaskSpectraBoth&);\r
74    AliAnalysisTaskSpectraBoth& operator=(const AliAnalysisTaskSpectraBoth&);\r
75 \r
76    ClassDef(AliAnalysisTaskSpectraBoth, 2);\r
77 };\r
78 \r
79 #endif\r