ROOT logo
#ifndef ALIANALYSISTASKTOFQA_h
#define ALIANALYSISTASKTOFQA_h

class TString;
class TList;
class AliESDEvent;
class AliAnalysisFilter;
class AliCDBManager;
class AliTOFcalib;
class AliTOFT0maker;
class AliTOFT0v1;

#include "AliAnalysisTaskSE.h"

class AliAnalysisTaskTOFqa : public AliAnalysisTaskSE {
 public:
  AliAnalysisTaskTOFqa();
  AliAnalysisTaskTOFqa(const char *name);
  AliAnalysisTaskTOFqa(const AliAnalysisTaskTOFqa& copy);
  AliAnalysisTaskTOFqa& operator= (const AliAnalysisTaskTOFqa& copy);
  virtual ~AliAnalysisTaskTOFqa();
  
  virtual void   UserCreateOutputObjects();
  virtual void   UserExec(Option_t *option);
  virtual void   Terminate(Option_t *);

    
  Int_t GetStripIndex(const Int_t * const in);
  void SetTrackFilter(AliAnalysisFilter *filter) {fTrackFilter = filter;};
  void EnableAdvancedCheck(Bool_t enable){fEnableAdvancedCheck=enable;};
  void SetExpTimeHistoRange(Float_t min, Float_t max){fExpTimeRangeMin=min; fExpTimeRangeMax=max;return;};
  void SetExpTimeHistoSmallRange(Float_t min, Float_t max){fExpTimeSmallRangeMin=min; fExpTimeSmallRangeMax=max;return;};
  void SetExpTimeBinWidth(Float_t width){fExpTimeBinWidth=width;return;};
  void FillStartTimeMaskHisto();
  Bool_t ComputeTimeZeroByTOF1GeV();

 private: 
  Int_t fRunNumber; //run number
  AliESDEvent *fESD;    //ESD object
  AliAnalysisFilter *fTrackFilter; //track filter object
  AliESDVertex *fVertex; //pointer to the vertex object
  AliESDpid *fESDpid; //pointer to the PID object
  //  AliTOFT0v1 *fTOFT0v1; // TOF-T0 v1
  Int_t fNTOFtracks; //number of tracks matching with TOF
  //Int_t fNPrimaryTracks; //number of primary tracks
  Float_t fT0[3]; //event time
  Float_t fSigmaSpecie[5]; //number of TOF PID sigmas, ie.fSigmaPion, fSigmaKaon, fSigmaProton;
  Double_t fTrkExpTimes[5]; //expected times from tracking for 5 mass hypothesis
  Double_t fThExpTimes[5]; //theoretical expected times for 5 mass hypothesis
  Bool_t fEnableAdvancedCheck; //flag to enable advanced checks
  Float_t fExpTimeBinWidth;//bin width for t-texp histos
  Float_t fExpTimeRangeMin, fExpTimeRangeMax; //range of t-texp histogram
  Float_t fExpTimeSmallRangeMin, fExpTimeSmallRangeMax; //reduced range of t-texp histogram
  Double_t fMyTimeZeroTOF, fMyTimeZeroTOFsigma; //timeZero by TOF recomputed
  Int_t fMyTimeZeroTOFtracks; // number of tracks used to recompute TOF_T0

  //output objects
  TList *fHlist;  //list of general histos
  TList *fHlistTimeZero; //list of timeZero related histos
  TList *fHlistPID; //list of PID-related histos
  TList *fHpos;  //list of general histos for positive tracks
  TList *fHneg;  //list of general histos for negative tracks
  

  ClassDef(AliAnalysisTaskTOFqa, 5); // example of analysis
};

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