ROOT logo
#ifndef ALIANALYSISTASKHELIUM3PI_H
#define ALIANALYSISTASKHELIUM3PI_H

/*  See cxx source for full Copyright notice */

//-----------------------------------------------------------------
//                 AliAnalysisTaskHelium3Pion class
//-----------------------------------------------------------------

class TList;
class TH1F;
class TH2F;
class TH3F;
class TTree;
class AliESDtrackCuts;

#include <AliPIDResponse.h>

#include "TString.h"

#include "AliAnalysisTaskSE.h"

class AliAnalysisTaskHelium3Pi : public AliAnalysisTaskSE {
 public:
  AliAnalysisTaskHelium3Pi();
  AliAnalysisTaskHelium3Pi(const char *name);
  virtual ~AliAnalysisTaskHelium3Pi();
  
  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;}
  
  Double_t BetheBloch(Double_t bg,Double_t Charge,Bool_t isPbPb);

  //  Bool_t IsTrackAccepted(AliVTrack *track);
  
  private:
  
  TString fAnalysisType;	     //! "ESD" or "AOD" analysis type	
  

  Short_t fCollidingSystems;	     //! 0 = pp collisions or 1 = AA collisions
  
  AliESDtrackCuts *fESDtrackCuts; 

  TString fDataType;		     //! "REAL" or "SIM" data type	

  TList	*fListHist;	             //! List of  histograms

  TH1F *fHistEventMultiplicity;
  TH2F *fHistTrackMultiplicity;
  TH2F *fHistTrackMultiplicityCent;
  TH2F *fHistTrackMultiplicitySemiCent;
  TH2F *fHistTrackMultiplicityMB;
  TH2F *fHistTrackMultiplicityPVCent;
  TH2F *fHistTrackMultiplicityPVSemiCent;
  TH2F *fHistTrackMultiplicityPVMB;
  TH2F *fhBB;
  TH2F *fhTOF;
  TH1F *fhMassTOF;
  TH2F *fhBBPions;
  TH2F *fhBBHe;
  TH2F *fhNaPos;
  TH2F *fhNaNeg;
  TH2F *fBetavsTPCsignalPos;
  TH2F *fBetavsTPCsignalNeg;
   
  TTree *fNtuple1;                  //! Tree Pairs Pi/Proton "standard"
  
  Float_t trunNumber;
  Float_t tbunchcross;
  Float_t torbit;
  Float_t tperiod;
  Float_t teventtype;
  Float_t tTrackNumber;
  Float_t tpercentile;
  Float_t txPrimaryVertex;
  Float_t tyPrimaryVertex;
  Float_t tzPrimaryVertex;
  Float_t txSecondaryVertex;
  Float_t tySecondaryVertex;
  Float_t tzSecondaryVertex;
  Float_t tdcaTracks;
  Float_t tCosPointingAngle;
  Float_t tDCAV0toPrimaryVertex;
  Float_t tHeSign;
  Float_t tHepInTPC;
  Float_t tHeTPCsignal;
  Float_t tDcaHeToPrimVertex;
  Float_t tHeEta;
  Float_t tmomHex;
  Float_t tmomHey;
  Float_t tmomHez;
  Float_t tmomHeAtSVx;
  Float_t tmomHeAtSVy;
  Float_t tmomHeAtSVz;
  Float_t tHeTPCNcls;
  Float_t tHeimpactXY;
  Float_t tHeimpactZ;
  Float_t tHeITSClusterMap;
  Float_t tIsHeITSRefit;
  Float_t tPionSign;
  Float_t tPionpInTPC;
  Float_t tPionTPCsignal;
  Float_t tDcaPionToPrimVertex;
  Float_t tPionEta;
  Float_t tmomPionx;
  Float_t tmomPiony;
  Float_t tmomPionz;
  Float_t tmomNegPionAtSVx;
  Float_t tmomNegPionAtSVy;
  Float_t tmomNegPionAtSVz;
  Float_t tPionTPCNcls;
  Float_t tPionimpactXY;
  Float_t tPionimpactZ;
  Float_t tPionITSClusterMap;
  Float_t tIsPiITSRefit;
  Float_t txn;
  Float_t txp;
  Float_t tchi2He;
  Float_t tchi2Pi;
  
  TTree *fNtuple4;                  //! Tree He 

  Float_t tHelrunNumber;
  Float_t tHelBCNumber;
  Float_t tHelOrbitNumber;
  Float_t tHelPeriodNumber;
  Float_t tHeleventtype;
  Float_t tHelisHeITSrefit;
  Float_t tHelpercentile;
  Float_t tHelSign;
  Float_t tHelpinTPC;
  Float_t tHelGetTPCsignal;
  Float_t tHelPx;
  Float_t tHelPy;
  Float_t tHelPz;
  Float_t tHelEta;
  Float_t tHelisTOF;
  Float_t tHelpoutTPC;
  Float_t tHeltimeTOF;
  Float_t tHeltrackLenghtTOF;
  Float_t tHelimpactXY;
  Float_t tHelimpactZ;
  Float_t tHelmapITS;
  Float_t tHelTPCNcls;
  Float_t tHelTRDsignal;
  Float_t tHelxPrimaryVertex;
  Float_t tHelyPrimaryVertex;
  Float_t tHelzPrimaryVertex;
  Float_t tHelchi2PerClusterTPC;
  
  static const Int_t fgNrot;
 
  AliPIDResponse *fPIDResponse;     //! pointer to PID response

  AliAnalysisTaskHelium3Pi(const AliAnalysisTaskHelium3Pi&);            // not implemented
  AliAnalysisTaskHelium3Pi& operator=(const AliAnalysisTaskHelium3Pi&); // not implemented
  
  ClassDef(AliAnalysisTaskHelium3Pi, 0);
};

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