ROOT logo
#ifndef TOFSPECTRAPPANALYSIS_H
#define TOFSPECTRAPPANALYSIS_H

//////////////////////////////////////////////////////////////////////////////
//                                                                          //
// This analysis extracts pT-spectra of charged kaons, protons, and pions.  //
// It is based on particles identifation via the dE/dx signal of the TPC.   //
//                                                                          //
//////////////////////////////////////////////////////////////////////////////

class TH1;
class TH1F;
class TH2F;
class TH3F;
class TList;
class TObjArray;
class AliESDEvent;
class AliESDtrack;
class AliESDtrackCuts;
class AliHeader;
class AliESDpid;
#include "AliTOFT0v1.h"
#include "AliTOFT0maker.h"
#include "AliTOFcalib.h"
#include "AliCDBManager.h"
#include <TTree.h>

class AliAnalysisFilter;
class AliCFContainer;
class TDatabasePDG;

#include "AliAnalysisTask.h"
#include "AliESDVertex.h"
#include "AliPhysicsSelectionTask.h"
#include "AliPhysicsSelection.h"
#include "AliBackgroundSelection.h"
#include "AliTOFT0v1.h"
#include "AliTOFT0maker.h"
#include "AliTOFcalib.h"
#include "AliCDBManager.h"



#include "AliAnalysisTaskSE.h"
#include "THnSparse.h"

class TOFSpectrappAnalysis : public AliAnalysisTaskSE {
 public:
  TOFSpectrappAnalysis(const char *name);
  TOFSpectrappAnalysis();
  virtual ~TOFSpectrappAnalysis() {}
  //
  virtual void   UserCreateOutputObjects();
  virtual void   UserExec(Option_t *option);
  virtual void   Terminate(Option_t *);
  //
  Bool_t         SelectOnImpPar(AliESDtrack* t);
  //
  void           SetESDtrackCuts(AliESDtrackCuts * trackCuts){fESDtrackCuts = trackCuts;};
  //void           SetAlephParameters(const Double_t * parameters){for(Int_t j=0;j<5;j++) fAlephParameters[j] = parameters[j]; Initialize();};
  Int_t           Mult();
  
  //
  
 private:
  //
  //void  BinLogAxis(const THnSparse *h, Int_t axisNumber);
  
  //
  AliESDEvent *fESD;                  //! ESD object
  AliESDtrackCuts * fESDtrackCuts;    // basic cut variables
  AliESDpid       * fESDpid;          // basic TPC object for n-sigma cuts
  Bool_t        fMCtrue;              // flag if real data or MC is processed
  Double_t      fAlephParameters[5];  // Aleph Parameters for Bethe-Bloch
  Float_t spdCorr;
  Int_t multiplicity;
  Double_t ZPrimVertex;
  Int_t frun; 
  Int_t frunOld;
  Bool_t fLoadOCDB;
  Bool_t correctTExp;  
  Bool_t calibrateESD;
  Bool_t useT0TOF;
  Double_t timeResolution; 
  Bool_t tuneTOFMC;
  TTree *fTreeTrack;
  //TTree *fTreeEv;
  TH1D *hNumEv;
  AliTOFcalib *tofCalib;
  AliTOFT0maker *t0maker;
  
  Float_t fDCAXY;
  Float_t fDCAZ;
  Int_t kselimppar;
  Int_t fmatch;
  Double_t fmom;
  Double_t flength;
  Int_t fsign;
  Double_t ftimetof;
  Double_t fexptimeel;
  Double_t fexptimemu;
  Double_t fexptimepi;
  Double_t fexptimeka;
  Double_t fexptimepr;
  Int_t ftofchan;
  Double_t feta;
  Double_t fphi;
  Double_t fmomtrasv;
  Float_t t0track;
  Float_t t0trackSigma;
  Double_t sigmael;
  Double_t sigmamu;
  Double_t sigmapi;
  Double_t sigmaka;
  Double_t sigmapr;
  Double_t TPCSignal;
  Float_t TPCSigmaPI;
  Float_t TPCSigmaKA;
  Float_t TPCSigmaPR;
  Int_t TOFlabel0;
  Int_t TOFlabel1;
  Int_t TOFlabel2;

    
  Double_t r1[5];
 
  
  //
  TOFSpectrappAnalysis(const TOFSpectrappAnalysis&); 
  TOFSpectrappAnalysis & operator=(const TOFSpectrappAnalysis&); 

  ClassDef(TOFSpectrappAnalysis, 1); 
};

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