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 class AliGenEventHeader;
\r
25 #include "AliSpectraBothHistoManager.h"
\r
26 #include "AliAnalysisTaskSE.h"
\r
27 #include "AliESDtrackCuts.h"
\r
29 class AliAnalysisTaskSpectraBoth : public AliAnalysisTaskSE
\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
36 AliAnalysisTaskSpectraBoth(const char *name);
\r
37 virtual ~AliAnalysisTaskSpectraBoth() {}
\r
39 void SetIsMC(Bool_t isMC = kFALSE) {fIsMC = isMC; };
\r
40 Bool_t GetIsMC() const { return fIsMC;};
\r
42 virtual void UserCreateOutputObjects();
\r
43 virtual void UserExec(Option_t *option);
\r
44 virtual void Terminate(Option_t *);
\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
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
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
73 AliAnalysisTaskSpectraBoth(const AliAnalysisTaskSpectraBoth&);
\r
74 AliAnalysisTaskSpectraBoth& operator=(const AliAnalysisTaskSpectraBoth&);
\r
76 ClassDef(AliAnalysisTaskSpectraBoth, 2);
\r