ROOT logo
#ifndef ALIPIDCOMBINEDTASK_H
#define ALIPIDCOMBINEDTASK_H
/* Copyright(c) 1998-2009, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//#########################################################
//#                                                       # 
//#        Task for testing the combined PID              #
//#                                                       #
//#  Pietro Antonioli, INFN / Pietro.Antonioli@bo.infn.it #
//#  Jens Wiechula, Uni Tübingen / Jens.Wiechula@cern.ch  #
//#                                                       #
//#########################################################

#include <AliPID.h>
#include <AliPIDResponse.h>
#include <AliPIDCombined.h>

#include <AliESDtrackCuts.h>
#include <AliAnalysisFilter.h>

#include "AliAnalysisTaskSE.h"

class TH1F;
class TH2D;
class fPIDResponse;
class fPIDCombined;

class AliAnalysisTaskPIDCombined : public AliAnalysisTaskSE {
  
public:
  static const Int_t kPtBins = 6;


  AliAnalysisTaskPIDCombined();
  AliAnalysisTaskPIDCombined(const char *name);
  virtual ~AliAnalysisTaskPIDCombined(){;}
  
  virtual void  UserExec(Option_t *option);
  virtual void  UserCreateOutputObjects();
    

private:

  TList fHistList;                   //! list of histograms
  TH2D *fProbTPCnSigma[AliPID::kSPECIES];    //! probabilities vs nSigma in the TPC
  TH2D *fProbTOFnSigma[AliPID::kSPECIES];    //! probabilities vs nSigma  the TOF
  TH2D *fProbTPCTOFnSigmaTPC[AliPID::kSPECIES];    //! comb. probabilities vs nSigma TPC
  TH2D *fProbTPC[AliPID::kSPECIES];          //! probabilities vs mom in the TPC
  TH2D *fProbTOF[AliPID::kSPECIES];          //! probabilities vs mom in the TOF
  TH2D *fProbTPCTOF[AliPID::kSPECIES];       //! combined probabilities vs mom TPC-TOF
  TH1F *fPriors[AliPID::kSPECIES];           //! priors

  TH2D *fProbTPCTOFnSigTPCMom[kPtBins][AliPID::kSPECIES];  // prob. x mom. bins
  TH2D *fProbTPCnSigTPCMom[kPtBins][AliPID::kSPECIES];     // prob. x mom. bins
  TH2D *fProbTOFnSigTOFMom[kPtBins][AliPID::kSPECIES];     // prob. x mom. bins

  TH2D *fPriorsUsed[AliPID::kSPECIES];       //! priors used

  const AliPIDResponse *fPIDResponse;     //! PID response object
  AliPIDCombined       *fPIDCombined;     //! combined PID object
  AliESDtrackCuts      *fTrackCuts;            //! track selection
  AliAnalysisFilter    *fTrackFilter;         //! track filter

  TH2D *fDeDx;                              //! histo with the dedx
  TH2D *fDeDxTuned;                         //! histo to check the dedx tuning in MC


  AliAnalysisTaskPIDCombined(const AliAnalysisTaskPIDCombined &c);
  AliAnalysisTaskPIDCombined& operator= (const AliAnalysisTaskPIDCombined &c);

  void FillHistogram(const char* name, Double_t x, Double_t weight=1.);
  void FillHistogram(const char* name, Double_t x, Double_t y, Double_t weight=1.);
  Int_t GetMomBin(Float_t mom);
  static const char* fgkBinMomDesc[kPtBins];
  
  ClassDef(AliAnalysisTaskPIDCombined, 2);
};
#endif
 AliAnalysisTaskPIDCombined.h:1
 AliAnalysisTaskPIDCombined.h:2
 AliAnalysisTaskPIDCombined.h:3
 AliAnalysisTaskPIDCombined.h:4
 AliAnalysisTaskPIDCombined.h:5
 AliAnalysisTaskPIDCombined.h:6
 AliAnalysisTaskPIDCombined.h:7
 AliAnalysisTaskPIDCombined.h:8
 AliAnalysisTaskPIDCombined.h:9
 AliAnalysisTaskPIDCombined.h:10
 AliAnalysisTaskPIDCombined.h:11
 AliAnalysisTaskPIDCombined.h:12
 AliAnalysisTaskPIDCombined.h:13
 AliAnalysisTaskPIDCombined.h:14
 AliAnalysisTaskPIDCombined.h:15
 AliAnalysisTaskPIDCombined.h:16
 AliAnalysisTaskPIDCombined.h:17
 AliAnalysisTaskPIDCombined.h:18
 AliAnalysisTaskPIDCombined.h:19
 AliAnalysisTaskPIDCombined.h:20
 AliAnalysisTaskPIDCombined.h:21
 AliAnalysisTaskPIDCombined.h:22
 AliAnalysisTaskPIDCombined.h:23
 AliAnalysisTaskPIDCombined.h:24
 AliAnalysisTaskPIDCombined.h:25
 AliAnalysisTaskPIDCombined.h:26
 AliAnalysisTaskPIDCombined.h:27
 AliAnalysisTaskPIDCombined.h:28
 AliAnalysisTaskPIDCombined.h:29
 AliAnalysisTaskPIDCombined.h:30
 AliAnalysisTaskPIDCombined.h:31
 AliAnalysisTaskPIDCombined.h:32
 AliAnalysisTaskPIDCombined.h:33
 AliAnalysisTaskPIDCombined.h:34
 AliAnalysisTaskPIDCombined.h:35
 AliAnalysisTaskPIDCombined.h:36
 AliAnalysisTaskPIDCombined.h:37
 AliAnalysisTaskPIDCombined.h:38
 AliAnalysisTaskPIDCombined.h:39
 AliAnalysisTaskPIDCombined.h:40
 AliAnalysisTaskPIDCombined.h:41
 AliAnalysisTaskPIDCombined.h:42
 AliAnalysisTaskPIDCombined.h:43
 AliAnalysisTaskPIDCombined.h:44
 AliAnalysisTaskPIDCombined.h:45
 AliAnalysisTaskPIDCombined.h:46
 AliAnalysisTaskPIDCombined.h:47
 AliAnalysisTaskPIDCombined.h:48
 AliAnalysisTaskPIDCombined.h:49
 AliAnalysisTaskPIDCombined.h:50
 AliAnalysisTaskPIDCombined.h:51
 AliAnalysisTaskPIDCombined.h:52
 AliAnalysisTaskPIDCombined.h:53
 AliAnalysisTaskPIDCombined.h:54
 AliAnalysisTaskPIDCombined.h:55
 AliAnalysisTaskPIDCombined.h:56
 AliAnalysisTaskPIDCombined.h:57
 AliAnalysisTaskPIDCombined.h:58
 AliAnalysisTaskPIDCombined.h:59
 AliAnalysisTaskPIDCombined.h:60
 AliAnalysisTaskPIDCombined.h:61
 AliAnalysisTaskPIDCombined.h:62
 AliAnalysisTaskPIDCombined.h:63
 AliAnalysisTaskPIDCombined.h:64
 AliAnalysisTaskPIDCombined.h:65
 AliAnalysisTaskPIDCombined.h:66
 AliAnalysisTaskPIDCombined.h:67
 AliAnalysisTaskPIDCombined.h:68
 AliAnalysisTaskPIDCombined.h:69
 AliAnalysisTaskPIDCombined.h:70
 AliAnalysisTaskPIDCombined.h:71
 AliAnalysisTaskPIDCombined.h:72
 AliAnalysisTaskPIDCombined.h:73
 AliAnalysisTaskPIDCombined.h:74
 AliAnalysisTaskPIDCombined.h:75
 AliAnalysisTaskPIDCombined.h:76
 AliAnalysisTaskPIDCombined.h:77
 AliAnalysisTaskPIDCombined.h:78
 AliAnalysisTaskPIDCombined.h:79