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