ROOT logo
#ifndef ALIANALYSISTASKSIGMA1385_H
#define ALIANALYSISTASKSIGMA1385_H

/*  See cxx source for full Copyright notice */

//-----------------------------------------------------------------
//                 AliAnalysisTaskSigma1385 class
//-----------------------------------------------------------------

class TList;
class TH1F;
class TNtuple;
class AliESDcascade;
class AliESDpid;
class AliTOFT0maker;
class AliTOFcalib;
class AliCDBManager;
class AliESDtrackCuts;


#include "TString.h"
#include "AliAnalysisTaskSE.h"

class AliAnalysisTaskSigma1385 : public AliAnalysisTaskSE {
public:
   AliAnalysisTaskSigma1385();
   AliAnalysisTaskSigma1385(const char *name);
   virtual ~AliAnalysisTaskSigma1385() {}

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

   void SetCollidingSystems(Short_t collidingSystems = 0)     {fCollidingSystems = collidingSystems;}
   void SetAnalysisType(const char* analysisType = "ESD") {fAnalysisType = analysisType;}
   void SetDataType(const char* dataType = "REAL") {fDataType = dataType;}

   virtual const char *GetDataType() {return fDataType;}

   //Bool_t *IsSelected(AliESDtrack* track);
   void IsSelected(AliESDtrack* track);


   void             SetCheckITS(Bool_t yn = kTRUE) {fCheckITS = yn;}
   void             SetCheckTPC(Bool_t yn = kTRUE) {fCheckTPC = yn;}
   void             SetCheckTOF(Bool_t yn = kTRUE) {fCheckTOF = yn;}
   void             SetUseGlobal(Bool_t yn = kTRUE) {fUseGlobal = yn;}
   void             SetUseITSSA(Bool_t yn = kTRUE) {fUseITSSA = yn;}

   void             SetITSband(Double_t v) {fMaxITSband = v;}

   void             SetTPCpLimit(Double_t v) {fTPCpLimit = v;}
   void             SetTPCrange(Double_t min, Double_t max) {fMinTPCband = min; fMaxTPCband = max;}
   void             SetTPCpar(Double_t p0, Double_t p1, Double_t p2, Double_t p3, Double_t p4)
   {fTPCpar[0] = p0; fTPCpar[1] = p1; fTPCpar[2] = p2; fTPCpar[3] = p3; fTPCpar[4] = p4;}

   void             SetTOFcalibrateESD(Bool_t yn = kTRUE)  {fTOFcalibrateESD = yn;}
   void             SetTOFcorrectTExp(Bool_t yn = kTRUE)  {fTOFcorrectTExp = yn;}
   void             SetTOFuseT0(Bool_t yn = kTRUE)  {fTOFuseT0 = yn;}
   void             SetTOFtuneMC(Bool_t yn = kTRUE)  {fTOFtuneMC = yn;}
   void             SetTOFresolution(Double_t v = 100.0) {fTOFresolution = v;}
   void             SetTOFrange(Double_t v1, Double_t v2) {fMinTOF = v1; fMaxTOF = v2;}



protected:

   Bool_t           fisMC;             //  switch for MC analysis (support member)
   Bool_t           fIsMC;             //  switch for MC analysis
   Bool_t           fCheckITS;         //  switch for ITS dE/dx check
   Bool_t           fCheckTPC;         //  switch for TPC dE/dx check
   Bool_t           fCheckTOF;         //  switch for TOF time check
   Bool_t           fUseGlobal;        //  switch to use TPC global tracks
   Bool_t           fUseITSSA;         //  switch to use ITS standalone tracks

   Double_t         fMaxITSband;       //  range for ITS de/dx band

   Double_t         fTPCpLimit;        //  limit to choose what band to apply
   Double_t         fTPCpar[5];        //  parameters for TPC bethe-Bloch
   Double_t         fMinTPCband;       //  range for TPC de/dx band - min
   Double_t         fMaxTPCband;       //  range for TPC de/dx band - max


   AliESDpid       *fESDpid;           //! PID manager
   AliTOFT0maker   *fTOFmaker;         //! TOF time0 computator
   AliTOFcalib     *fTOFcalib;         //! TOF calibration
   Bool_t           fTOFcalibrateESD;  //  TOF settings
   Bool_t           fTOFcorrectTExp;   //  TOF settings
   Bool_t           fTOFuseT0;         //  TOF settings
   Bool_t           fTOFtuneMC;        //  TOF settings
   Double_t         fTOFresolution;    //  TOF settings
   Double_t         fMinTOF;           //  range for TOF PID (min)
   Double_t         fMaxTOF;           //  range for TOF PID (max)
   Int_t            fLastRun;          //  last run number
   Bool_t           fOkTrack[5];       //  utility variable to know track selection success


private:

   TString fAnalysisType;                  // "ESD" or "AOD" analysis type
   Short_t fCollidingSystems;              // 0 = pp collisions or 1 = AA collisions
   TString fDataType;                      // "REAL" or "SIM" data type
  
   TList   *fListHistCascade;               //! List of Cascade histograms
   TH1F    *fHistEventMultiplicity;        // event multiplicity
   TH1F    *fHistEventMultiplicityRAVS;    //event rejected after vertex selection
   TNtuple *fNtuple1;                      // ntuple with general quantities
   TNtuple *fNtuple2;                      // ntuple with Lambda related quantities
   TNtuple *fNtuple3;                      // ntuple with bachelor related quantities
   TNtuple *fNtuple4;                      // ntuple with Sigma1385 related quantities
   


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

   ClassDef(AliAnalysisTaskSigma1385, 3);
};

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