ROOT logo
#ifndef AliAnalysisTaskCTauPbPbaod_h
#define AliAnalysisTaskCTauPbPbaod_h

#include "AliAnalysisTaskSE.h"

class TH1F;
class TH2F;
class TH3F;
class TList;

class AliAODEvent;
class AliAODTrack;
class AliAODv0;
class AliAODcascade;

//
//  This is a little task for checking the c*tau of the strange particles 
//

class AliAnalysisTaskCTauPbPbaod : public AliAnalysisTaskSE {

public:

  AliAnalysisTaskCTauPbPbaod(const char *name = "AliAnalysisTaskCTauPbPbaod");
  virtual ~AliAnalysisTaskCTauPbPbaod() {}

  void SetCentrality(Double_t min, Double_t max) {fCMin=min;fCMax=max;} 
  void SetMC(Bool_t isMC=kTRUE) {fIsMC=isMC;}

  void SetCosPA(Double_t cospa) {fCPA=cospa;} 
  void SetDtrDCA(Double_t cospa){fDCA=cospa;} 
  void SetTPCrows(Double_t cospa){fTPCcr=cospa;} 
  void SetTPCratio(Double_t cospa){fTPCcrfd=cospa;} 
  void SetPrimDCA(Double_t cospa){fDCApv=cospa;} 
  void SetRmin(Double_t rmin){fRmin=rmin;} 
  void SetRmax(Double_t rmax){fRmax=rmax;} 

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


private:

  AliAnalysisTaskCTauPbPbaod(const AliAnalysisTaskCTauPbPbaod&);           //not implemented
  AliAnalysisTaskCTauPbPbaod& operator=(const AliAnalysisTaskCTauPbPbaod&);//not implemented 

  Bool_t AcceptTrack(const AliAODTrack *t); 
  Bool_t AcceptV0(const AliAODv0 *v0, const AliAODEvent *aod);
  Bool_t AcceptCascade(const AliAODcascade *cs, const AliAODEvent *aod);

  Bool_t fIsMC;
  Double_t fCMin;       // Min centrality
  Double_t fCMax;       // Max centrality
  Double_t fCPA;        // cos(PA) threshold
  Double_t fDCA;        // threshold for the DCA between V0 daughters
  Double_t fTPCcr;      // threshold for the number of crossed TPC pad rows
  Double_t fTPCcrfd;    // threshold for the ratio of TPC crossed/findable rows
  Double_t fDCApv;      // threshold for the DCA wrt the primary vertex
  Double_t fRmin;       // Min radius of the fiducial volume
  Double_t fRmax;       // Max radius of the fiducial volume

  TList       *fOutput; //! The list of histograms

  TH1F *fMult;       //! Track multiplicity

  TH1F *fCosPA;      //! cos(PA)
  TH1F *fDtrDCA;     //! DCA between V0 daughters
  TH1F *fTPCrows;    //! number of crossed TPC pad rows
  TH1F *fTPCratio;   //! ratio of TPC crossed/findable rows
  TH1F *fPrimDCA;    //! DCA wrt the primary vertex
  TH1F *fR;          //! Radial positions of the V0 vertices

  TH2F* fdEdx;       //! dEdx
  TH2F* fdEdxPid;    //! dEdx with PID


  TH2F* fK0sM;       //! Mass for K0s
  TH2F* fK0sSi;      //! Side-band subtracted LvsP  for K0s 
  TH2F* fK0sMC;      //! LvsP for the K0s from the Monte Carlo stack 
  TH2F* fK0sAs;      //! LvsP for the K0s associated with the Monte Carlo 


  TH2F* fLambdaM;    //! Mass for Lambdas
  TH2F* fLambdaSi;   //! Side-band subtrated LvsP for Lambda
  TH2F* fLambdaMC;   //! LvsP for Lambdas from the Monte Carlo stack
  TH2F* fLambdaAs;   //! LvsP for Lambdas associated with the Monte Carlo

  TH1D* fLambdaEff;  //! Efficiency for Lambda  
  TH1D* fLambdaPt;   //! Pt spectrum for Lambda

  TH2F* fLambdaBarM;  //! Mass for anti-Lambdas
  TH2F* fLambdaBarSi; //! Side-band subtrated LvsP for anti-Lambda
  TH2F* fLambdaBarMC; //! LvsP for anti-Lambdas from the Monte Carlo stack
  TH2F* fLambdaBarAs; //! LvsP for anti-Lambdas associated with the Monte Carlo

  TH1D* fLambdaBarEff;  //! Efficiency for anti-Lambda  
  TH1D* fLambdaBarPt;   //! Pt spectrum for anti-Lambda

  TH3F* fLambdaFromXi;//! LvsPvsPxi for Lambdas from Xis associated with MC 
  TH2F* fXiM;         //! Mass for Xis
  TH1F* fXiSiP;       //! Side-band subtracted Pt for reconstructed Xi

  TH3F* fLambdaBarFromXiBar;//! LvsPvsPxi for anti-Lambdas from anti-Xis associated with MC 
  TH2F* fXiBarM;         //! Mass for anti-Xis
  TH1F* fXiBarSiP;       //! Side-band subtracted Pt for reconstructed anti-Xi

  ClassDef(AliAnalysisTaskCTauPbPbaod,5);
};

#endif
 AliAnalysisTaskCTauPbPbaod.h:1
 AliAnalysisTaskCTauPbPbaod.h:2
 AliAnalysisTaskCTauPbPbaod.h:3
 AliAnalysisTaskCTauPbPbaod.h:4
 AliAnalysisTaskCTauPbPbaod.h:5
 AliAnalysisTaskCTauPbPbaod.h:6
 AliAnalysisTaskCTauPbPbaod.h:7
 AliAnalysisTaskCTauPbPbaod.h:8
 AliAnalysisTaskCTauPbPbaod.h:9
 AliAnalysisTaskCTauPbPbaod.h:10
 AliAnalysisTaskCTauPbPbaod.h:11
 AliAnalysisTaskCTauPbPbaod.h:12
 AliAnalysisTaskCTauPbPbaod.h:13
 AliAnalysisTaskCTauPbPbaod.h:14
 AliAnalysisTaskCTauPbPbaod.h:15
 AliAnalysisTaskCTauPbPbaod.h:16
 AliAnalysisTaskCTauPbPbaod.h:17
 AliAnalysisTaskCTauPbPbaod.h:18
 AliAnalysisTaskCTauPbPbaod.h:19
 AliAnalysisTaskCTauPbPbaod.h:20
 AliAnalysisTaskCTauPbPbaod.h:21
 AliAnalysisTaskCTauPbPbaod.h:22
 AliAnalysisTaskCTauPbPbaod.h:23
 AliAnalysisTaskCTauPbPbaod.h:24
 AliAnalysisTaskCTauPbPbaod.h:25
 AliAnalysisTaskCTauPbPbaod.h:26
 AliAnalysisTaskCTauPbPbaod.h:27
 AliAnalysisTaskCTauPbPbaod.h:28
 AliAnalysisTaskCTauPbPbaod.h:29
 AliAnalysisTaskCTauPbPbaod.h:30
 AliAnalysisTaskCTauPbPbaod.h:31
 AliAnalysisTaskCTauPbPbaod.h:32
 AliAnalysisTaskCTauPbPbaod.h:33
 AliAnalysisTaskCTauPbPbaod.h:34
 AliAnalysisTaskCTauPbPbaod.h:35
 AliAnalysisTaskCTauPbPbaod.h:36
 AliAnalysisTaskCTauPbPbaod.h:37
 AliAnalysisTaskCTauPbPbaod.h:38
 AliAnalysisTaskCTauPbPbaod.h:39
 AliAnalysisTaskCTauPbPbaod.h:40
 AliAnalysisTaskCTauPbPbaod.h:41
 AliAnalysisTaskCTauPbPbaod.h:42
 AliAnalysisTaskCTauPbPbaod.h:43
 AliAnalysisTaskCTauPbPbaod.h:44
 AliAnalysisTaskCTauPbPbaod.h:45
 AliAnalysisTaskCTauPbPbaod.h:46
 AliAnalysisTaskCTauPbPbaod.h:47
 AliAnalysisTaskCTauPbPbaod.h:48
 AliAnalysisTaskCTauPbPbaod.h:49
 AliAnalysisTaskCTauPbPbaod.h:50
 AliAnalysisTaskCTauPbPbaod.h:51
 AliAnalysisTaskCTauPbPbaod.h:52
 AliAnalysisTaskCTauPbPbaod.h:53
 AliAnalysisTaskCTauPbPbaod.h:54
 AliAnalysisTaskCTauPbPbaod.h:55
 AliAnalysisTaskCTauPbPbaod.h:56
 AliAnalysisTaskCTauPbPbaod.h:57
 AliAnalysisTaskCTauPbPbaod.h:58
 AliAnalysisTaskCTauPbPbaod.h:59
 AliAnalysisTaskCTauPbPbaod.h:60
 AliAnalysisTaskCTauPbPbaod.h:61
 AliAnalysisTaskCTauPbPbaod.h:62
 AliAnalysisTaskCTauPbPbaod.h:63
 AliAnalysisTaskCTauPbPbaod.h:64
 AliAnalysisTaskCTauPbPbaod.h:65
 AliAnalysisTaskCTauPbPbaod.h:66
 AliAnalysisTaskCTauPbPbaod.h:67
 AliAnalysisTaskCTauPbPbaod.h:68
 AliAnalysisTaskCTauPbPbaod.h:69
 AliAnalysisTaskCTauPbPbaod.h:70
 AliAnalysisTaskCTauPbPbaod.h:71
 AliAnalysisTaskCTauPbPbaod.h:72
 AliAnalysisTaskCTauPbPbaod.h:73
 AliAnalysisTaskCTauPbPbaod.h:74
 AliAnalysisTaskCTauPbPbaod.h:75
 AliAnalysisTaskCTauPbPbaod.h:76
 AliAnalysisTaskCTauPbPbaod.h:77
 AliAnalysisTaskCTauPbPbaod.h:78
 AliAnalysisTaskCTauPbPbaod.h:79
 AliAnalysisTaskCTauPbPbaod.h:80
 AliAnalysisTaskCTauPbPbaod.h:81
 AliAnalysisTaskCTauPbPbaod.h:82
 AliAnalysisTaskCTauPbPbaod.h:83
 AliAnalysisTaskCTauPbPbaod.h:84
 AliAnalysisTaskCTauPbPbaod.h:85
 AliAnalysisTaskCTauPbPbaod.h:86
 AliAnalysisTaskCTauPbPbaod.h:87
 AliAnalysisTaskCTauPbPbaod.h:88
 AliAnalysisTaskCTauPbPbaod.h:89
 AliAnalysisTaskCTauPbPbaod.h:90
 AliAnalysisTaskCTauPbPbaod.h:91
 AliAnalysisTaskCTauPbPbaod.h:92
 AliAnalysisTaskCTauPbPbaod.h:93
 AliAnalysisTaskCTauPbPbaod.h:94
 AliAnalysisTaskCTauPbPbaod.h:95
 AliAnalysisTaskCTauPbPbaod.h:96
 AliAnalysisTaskCTauPbPbaod.h:97
 AliAnalysisTaskCTauPbPbaod.h:98
 AliAnalysisTaskCTauPbPbaod.h:99
 AliAnalysisTaskCTauPbPbaod.h:100
 AliAnalysisTaskCTauPbPbaod.h:101
 AliAnalysisTaskCTauPbPbaod.h:102
 AliAnalysisTaskCTauPbPbaod.h:103
 AliAnalysisTaskCTauPbPbaod.h:104
 AliAnalysisTaskCTauPbPbaod.h:105
 AliAnalysisTaskCTauPbPbaod.h:106
 AliAnalysisTaskCTauPbPbaod.h:107
 AliAnalysisTaskCTauPbPbaod.h:108
 AliAnalysisTaskCTauPbPbaod.h:109
 AliAnalysisTaskCTauPbPbaod.h:110
 AliAnalysisTaskCTauPbPbaod.h:111
 AliAnalysisTaskCTauPbPbaod.h:112