1 #ifndef ALIANALYSISTASKSPECTRABOTH_H
\r
2 #define ALIANALYSISTASKSPECTRABOTH_H
\r
4 /* See cxx source for full Copyright notice */
\r
6 //-------------------------------------------------------------------------
\r
7 // AliAnalysisTaskSpectraBoth
\r
12 // Author: Michele Floris, CERN
\r
13 //-------------------------------------------------------------------------
\r
18 class AliSpectraBothHistoManager;
\r
19 class AliSpectraBothTrackCuts;
\r
20 class AliSpectraBothEventCuts;
\r
21 class AliSpectraBothPID;
\r
22 class AliESDtrackCuts;
\r
23 #include "AliSpectraBothHistoManager.h"
\r
24 #include "AliAnalysisTaskSE.h"
\r
25 #include "AliESDtrackCuts.h"
\r
27 class AliAnalysisTaskSpectraBoth : public AliAnalysisTaskSE
\r
32 AliAnalysisTaskSpectraBoth() : AliAnalysisTaskSE(), fAOD(0), fHistMan(0), fTrackCuts(0), fEventCuts(0), fPID(0), fIsMC(0), fNRebin(0),fUseMinSigma(0),fCuts(0),fdotheMCLoopAfterEventCuts(0)
\r
34 AliAnalysisTaskSpectraBoth(const char *name);
\r
35 virtual ~AliAnalysisTaskSpectraBoth() {}
\r
37 void SetIsMC(Bool_t isMC = kFALSE) {fIsMC = isMC; };
\r
38 Bool_t GetIsMC() const { return fIsMC;};
\r
40 virtual void UserCreateOutputObjects();
\r
41 virtual void UserExec(Option_t *option);
\r
42 virtual void Terminate(Option_t *);
\r
44 AliSpectraBothHistoManager * GetHistoManager() { return fHistMan; }
\r
45 AliSpectraBothTrackCuts * GetTrackCuts() { return fTrackCuts; }
\r
46 AliSpectraBothEventCuts * GetEventCuts() { return fEventCuts; }
\r
47 AliSpectraBothPID * GetPID() { return fPID; }
\r
49 void SetTrackCuts(AliSpectraBothTrackCuts * tc) { fTrackCuts = tc; }
\r
50 void SetEventCuts(AliSpectraBothEventCuts * vc) { fEventCuts = vc; }
\r
51 void SetPID (AliSpectraBothPID * pid) { fPID = pid; }
\r
52 void SetNRebin(Int_t nreb){fNRebin=nreb;}
\r
53 void SetUseMinSigma (Bool_t flag) {fUseMinSigma=flag;}
\r
54 Int_t GetNRebin() const {return fNRebin;}
\r
55 void SetAliESDtrackCuts(AliESDtrackCuts* cuts ){fCuts=cuts;}
\r
56 void SetdotheMCLoopAfterEventCuts (Bool_t flag) {fdotheMCLoopAfterEventCuts=flag;}
\r
57 Bool_t GetdotheMCLoopAfterEventCuts () const {return fdotheMCLoopAfterEventCuts;}
\r
60 AliVEvent * fAOD; //! AOD object
\r
61 AliSpectraBothHistoManager * fHistMan; // Histogram Manager
\r
62 AliSpectraBothTrackCuts * fTrackCuts; // Track Cuts
\r
63 AliSpectraBothEventCuts * fEventCuts; // Event Cuts
\r
64 AliSpectraBothPID * fPID;// PID class
\r
65 Bool_t fIsMC;// true if processing MC
\r
66 Int_t fNRebin; //rebin of histos
\r
67 Bool_t fUseMinSigma; // if true use min sigma
\r
68 AliESDtrackCuts *fCuts; // ESD track cuts
\r
69 Bool_t fdotheMCLoopAfterEventCuts; // if true first check the ESD event cuts than loop over MC info , if flase other approach
\r
71 AliAnalysisTaskSpectraBoth(const AliAnalysisTaskSpectraBoth&);
\r
72 AliAnalysisTaskSpectraBoth& operator=(const AliAnalysisTaskSpectraBoth&);
\r
74 ClassDef(AliAnalysisTaskSpectraBoth, 2);
\r