ROOT logo
#ifndef ALIANALYSISTASKSPECTRABOTH_H
#define ALIANALYSISTASKSPECTRABOTH_H

/*  See cxx source for full Copyright notice */

//-------------------------------------------------------------------------
//                      AliAnalysisTaskSpectraBoth
//
//
//
//
// Author: Michele Floris, CERN
//-------------------------------------------------------------------------

class TH1F;
class TH2F;
class AliVEvent;
class AliSpectraBothHistoManager;
class AliSpectraBothTrackCuts;
class AliSpectraBothEventCuts;
class AliSpectraBothPID;
class AliESDtrackCuts;
class AliGenEventHeader;

#include "AliSpectraBothHistoManager.h"
#include "AliAnalysisTaskSE.h"
#include "AliESDtrackCuts.h"

class AliAnalysisTaskSpectraBoth : public AliAnalysisTaskSE
{
public:

   // constructors
  AliAnalysisTaskSpectraBoth() : AliAnalysisTaskSE(), fAOD(0), fHistMan(0), fTrackCuts(0), fEventCuts(0), fPID(0), fIsMC(0), fNRebin(0),fUseMinSigma(0),fCuts(0),fdotheMCLoopAfterEventCuts(0),fmakePIDQAhisto(1),fMotherWDPDGcode(-1)
 {}
  AliAnalysisTaskSpectraBoth(const char *name);
   virtual ~AliAnalysisTaskSpectraBoth() {}

   void SetIsMC(Bool_t isMC = kFALSE)    {fIsMC = isMC; };
   Bool_t GetIsMC()           const           { return fIsMC;};

   virtual void   UserCreateOutputObjects();
   virtual void   UserExec(Option_t *option);
   virtual void   Terminate(Option_t *);

   AliSpectraBothHistoManager * GetHistoManager()         {  return fHistMan; }
   AliSpectraBothTrackCuts * GetTrackCuts()         {  return fTrackCuts; }
   AliSpectraBothEventCuts * GetEventCuts()         {  return fEventCuts; }
   AliSpectraBothPID * GetPID()         {  return fPID; }
   
   void SetTrackCuts(AliSpectraBothTrackCuts * tc)   {   fTrackCuts = tc;   }
   void SetEventCuts(AliSpectraBothEventCuts * vc)   {   fEventCuts = vc;   }
   void SetPID      (AliSpectraBothPID      * pid)   {   fPID       = pid;  }
   void SetNRebin(Int_t nreb){fNRebin=nreb;}
   void SetUseMinSigma (Bool_t flag) {fUseMinSigma=flag;}
   Int_t   GetNRebin() const {return fNRebin;}
   void SetAliESDtrackCuts(AliESDtrackCuts*  cuts ){fCuts=cuts;}
   void SetdotheMCLoopAfterEventCuts (Bool_t flag) {fdotheMCLoopAfterEventCuts=flag;}
   Bool_t GetdotheMCLoopAfterEventCuts () const {return fdotheMCLoopAfterEventCuts;}
   void SetMakePIDQAHisto(Bool_t flag){fmakePIDQAhisto=flag;}
   void SetMotherWDPDGCode(Int_t value){fMotherWDPDGcode=value;}		
private:

   AliVEvent           * fAOD;         //! AOD object
   AliSpectraBothHistoManager      * fHistMan;       // Histogram Manager
   AliSpectraBothTrackCuts      * fTrackCuts;     // Track Cuts
   AliSpectraBothEventCuts      * fEventCuts;     // Event Cuts
   AliSpectraBothPID             * fPID;// PID class
   Bool_t          fIsMC;// true if processing MC
   Int_t      fNRebin; //rebin of histos
   Bool_t fUseMinSigma; // if true use min sigma 
   AliESDtrackCuts *fCuts; // ESD track cuts 
   Bool_t fdotheMCLoopAfterEventCuts; // if true first check the ESD event cuts than loop over MC info , if flase other approach     
   Bool_t fmakePIDQAhisto; // if true makes PIDQA histos
   Int_t fMotherWDPDGcode; //the abs of pdg code of the mother for WD decays , used during systematic studies  	

   AliAnalysisTaskSpectraBoth(const AliAnalysisTaskSpectraBoth&);
   AliAnalysisTaskSpectraBoth& operator=(const AliAnalysisTaskSpectraBoth&);

   ClassDef(AliAnalysisTaskSpectraBoth, 3);
};

#endif
 AliAnalysisTaskSpectraBoth.h:1
 AliAnalysisTaskSpectraBoth.h:2
 AliAnalysisTaskSpectraBoth.h:3
 AliAnalysisTaskSpectraBoth.h:4
 AliAnalysisTaskSpectraBoth.h:5
 AliAnalysisTaskSpectraBoth.h:6
 AliAnalysisTaskSpectraBoth.h:7
 AliAnalysisTaskSpectraBoth.h:8
 AliAnalysisTaskSpectraBoth.h:9
 AliAnalysisTaskSpectraBoth.h:10
 AliAnalysisTaskSpectraBoth.h:11
 AliAnalysisTaskSpectraBoth.h:12
 AliAnalysisTaskSpectraBoth.h:13
 AliAnalysisTaskSpectraBoth.h:14
 AliAnalysisTaskSpectraBoth.h:15
 AliAnalysisTaskSpectraBoth.h:16
 AliAnalysisTaskSpectraBoth.h:17
 AliAnalysisTaskSpectraBoth.h:18
 AliAnalysisTaskSpectraBoth.h:19
 AliAnalysisTaskSpectraBoth.h:20
 AliAnalysisTaskSpectraBoth.h:21
 AliAnalysisTaskSpectraBoth.h:22
 AliAnalysisTaskSpectraBoth.h:23
 AliAnalysisTaskSpectraBoth.h:24
 AliAnalysisTaskSpectraBoth.h:25
 AliAnalysisTaskSpectraBoth.h:26
 AliAnalysisTaskSpectraBoth.h:27
 AliAnalysisTaskSpectraBoth.h:28
 AliAnalysisTaskSpectraBoth.h:29
 AliAnalysisTaskSpectraBoth.h:30
 AliAnalysisTaskSpectraBoth.h:31
 AliAnalysisTaskSpectraBoth.h:32
 AliAnalysisTaskSpectraBoth.h:33
 AliAnalysisTaskSpectraBoth.h:34
 AliAnalysisTaskSpectraBoth.h:35
 AliAnalysisTaskSpectraBoth.h:36
 AliAnalysisTaskSpectraBoth.h:37
 AliAnalysisTaskSpectraBoth.h:38
 AliAnalysisTaskSpectraBoth.h:39
 AliAnalysisTaskSpectraBoth.h:40
 AliAnalysisTaskSpectraBoth.h:41
 AliAnalysisTaskSpectraBoth.h:42
 AliAnalysisTaskSpectraBoth.h:43
 AliAnalysisTaskSpectraBoth.h:44
 AliAnalysisTaskSpectraBoth.h:45
 AliAnalysisTaskSpectraBoth.h:46
 AliAnalysisTaskSpectraBoth.h:47
 AliAnalysisTaskSpectraBoth.h:48
 AliAnalysisTaskSpectraBoth.h:49
 AliAnalysisTaskSpectraBoth.h:50
 AliAnalysisTaskSpectraBoth.h:51
 AliAnalysisTaskSpectraBoth.h:52
 AliAnalysisTaskSpectraBoth.h:53
 AliAnalysisTaskSpectraBoth.h:54
 AliAnalysisTaskSpectraBoth.h:55
 AliAnalysisTaskSpectraBoth.h:56
 AliAnalysisTaskSpectraBoth.h:57
 AliAnalysisTaskSpectraBoth.h:58
 AliAnalysisTaskSpectraBoth.h:59
 AliAnalysisTaskSpectraBoth.h:60
 AliAnalysisTaskSpectraBoth.h:61
 AliAnalysisTaskSpectraBoth.h:62
 AliAnalysisTaskSpectraBoth.h:63
 AliAnalysisTaskSpectraBoth.h:64
 AliAnalysisTaskSpectraBoth.h:65
 AliAnalysisTaskSpectraBoth.h:66
 AliAnalysisTaskSpectraBoth.h:67
 AliAnalysisTaskSpectraBoth.h:68
 AliAnalysisTaskSpectraBoth.h:69
 AliAnalysisTaskSpectraBoth.h:70
 AliAnalysisTaskSpectraBoth.h:71
 AliAnalysisTaskSpectraBoth.h:72
 AliAnalysisTaskSpectraBoth.h:73
 AliAnalysisTaskSpectraBoth.h:74
 AliAnalysisTaskSpectraBoth.h:75
 AliAnalysisTaskSpectraBoth.h:76
 AliAnalysisTaskSpectraBoth.h:77
 AliAnalysisTaskSpectraBoth.h:78
 AliAnalysisTaskSpectraBoth.h:79
 AliAnalysisTaskSpectraBoth.h:80
 AliAnalysisTaskSpectraBoth.h:81
 AliAnalysisTaskSpectraBoth.h:82
 AliAnalysisTaskSpectraBoth.h:83