ROOT logo
#ifndef ALIANALYSISTASKCENTRALITY_H
#define ALIANALYSISTASKCENTRALITY_H

/* Copyright(c) 1998-2008, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */

//*****************************************************
//   Class AliAnalysisTaskCentrality
//   author: Alberica Toia
//*****************************************************

#include "AliAnalysisTaskSE.h"

class TROOT;
class TSystem;
class TList;
class TFile;
class TH2F;
class TProfile;

class AliAnalysisTaskCentrality : public AliAnalysisTaskSE {

 public:

  AliAnalysisTaskCentrality();
  AliAnalysisTaskCentrality(const char *name);
  AliAnalysisTaskCentrality& operator= (const AliAnalysisTaskCentrality& ana);
  AliAnalysisTaskCentrality(const AliAnalysisTaskCentrality& c);
  virtual ~AliAnalysisTaskCentrality();

  // Implementation of interface methods
  virtual void UserCreateOutputObjects();
  virtual void UserExec(Option_t *option);
  virtual void Terminate(Option_t *option);

  virtual void  SetDebugLevel(Int_t level) {fDebug = level;}
  void SetInput(const char* input) {fAnalysisInput = input;}
  void SetMCInput() {fIsMCInput = kTRUE;}
  

 private:

  Int_t    fDebug;	   	//  Debug flag
  TString  fAnalysisInput; 	// "ESD", "AOD"
  Bool_t   fIsMCInput;          // true when input is MC
  //
  TList   *fOutput;	   	//! list send on output slot 0
  TH1F *fhEzdc;            //!
  TH1F *fhEzem;            //!
  TH1F *fhNtracks;         //!
  TH1F *fhNtracklets;      //!
  TH1F *fhNclusters0;      //!
  TH1F *fhmultV0;          //!
  TH1F *fhmultFMD;         //!

  TProfile *fhEzemvsEzdc;            //!
  TProfile *fhNtracksvsEzdc;         //!
  TProfile *fhNtrackletsvsEzdc;      //!
  TProfile *fhNclusters0vsEzdc;      //!
  TProfile *fhmultV0vsEzdc;          //!
  TProfile *fhmultFMDvsEzdc;         //!
  TProfile *fhNtracksvsEzem;         //!
  TProfile *fhNtrackletsvsEzem;      //!
  TProfile *fhNclusters0vsEzem;      //!
  TProfile *fhmultV0vsEzem;          //!
  TProfile *fhmultFMDvsEzem;         //!
  TProfile *fhNtracksvsmultV0;       //!      
  TProfile *fhNtrackletsvsmultV0;    //!    
  TProfile *fhNclusters0vsmultV0;    //!
  TProfile *fhNtracksvsmultFMD;      //!
  TProfile *fhNtrackletsvsmultFMD;   //!
  TProfile *fhNclusters0vsmultFMD;   //!
  TProfile *fhmultV0vsmultFMD;       //!

  Int_t    fNev;		//  event counter
  Float_t  fBeamEnergy;		//  beam energy
  Int_t    fNmyTracksgen;       //  no. generated primary charged tracks 
  char     fTrigClass[100];	//  fired trigger classes
  //
  Double_t fxVertex;		//  X vertex from ITS
  Double_t fyVertex;		//  Y vertex from ITS
  Double_t fzVertex;		//  Z vertex from ITS
  Bool_t   fVertexer3d;		//  Is vertex from 3d vertexer?
  //
  Double_t fbMC;		// impact parameter from MC
  Int_t    fNpartTargMC;	// no. of participants for target nucleus from MC
  Int_t    fNpartProjMC;	// no. of participants for project nucleus from MC
  Int_t    fNNColl;             // Number of N-N collisions
  Int_t    fNNwColl;            // Number of N-Nwounded collisions
  Int_t    fNwNColl;            // Number of Nwounded-N collisons
  Int_t    fNwNwColl;           // Number of Nwounded-Nwounded collisions
  //
  Int_t    fNTracklets;		//  no. tracklets
  Int_t    fNSingleClusters;	//  no. single clusters
  Int_t    fNClusters[6];	//  no. clusters on 6 ITS layers
  Int_t    fNChips[2];	        //  no. chips on 2 SPD layers
  //
  Double_t fbZDC;		// impact parameter from ZDC reco
  Int_t    fNpartZDC;           // no. of participants from ZDC reco
  Double_t fbZDCA;		// impact parameter from ZDC reco side A
  Int_t    fNpartZDCA;          // no. of part. from ZDC reco side A
  Double_t fbZDCC;		// impact parameter from ZDC reco side C
  Int_t    fNpartZDCC;          // no. of part. from ZDC reco side C
  //
  UInt_t   fESDFlag;		//  ZDC ESD flags
  Float_t  fZNCEnergy;		//  ZNC Energy
  Float_t  fZPCEnergy;		//  ZPC Energy
  Float_t  fZNAEnergy;		//  ZNA Energy
  Float_t  fZPAEnergy;		//  ZPA Energy
  Float_t  fZEM1Energy;		//  ZEM1 Energy
  Float_t  fZEM2Energy;		//  ZEM2 Energy
  Float_t  fZNCtower[5];	//  ZNC 5 tower signals
  Float_t  fZPCtower[5];	//  ZPC 5 tower signals
  Float_t  fZNAtower[5];	//  ZNA 5 tower signals
  Float_t  fZPAtower[5];	//  ZPA 5 tower signals
  Float_t  fCentrZNC[2];	//  centroid over ZNC
  Float_t  fCentrZNA[2];	//  centroid over ZNA
  
  Int_t    fNTracks;		//  no. tracks
  Int_t    fNPmdTracks;		//  no. PMD tracks
  Float_t  fMultV0A;		//  multiplicity from V0 reco side A
  Float_t  fMultV0C;		//  multiplicity from V0 reco side C
  Float_t  fMultFMDA;      //  multiplicity from FMD on detector A
  Float_t  fMultFMDC;      //  multiplicity from FMD on detector C

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