ROOT logo
//-*- Mode: C++ -*-

#ifndef ALIANALYSISTASKHIMULTCORR_H
#define ALIANALYSISTASKHIMULTCORR_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */
 
// Task for HI Multiplicity Correlation checks
// Authors: Jochen Thaeder <jochen@thaeder.de>

#include "AliAnalysisTaskSE.h"
#include "TList.h"
#include "TTreeStream.h"

class AliMultiplicityCorrelations;
class AliESDEvent;
class AliMCEvent;
class AliKineTrackCuts;
class AliTriggerAnalysis;

class AliAnalysisTaskHIMultCorr : public AliAnalysisTaskSE {

 public:

  /*
   * ---------------------------------------------------------------------------------
   *                            Constructor / Destructor
   * ---------------------------------------------------------------------------------
   */

  AliAnalysisTaskHIMultCorr(const char *name = "AliAnalysisTaskHIMultCorr");
  virtual ~AliAnalysisTaskHIMultCorr();
  
  /*
   * ---------------------------------------------------------------------------------
   *                                  Task Methods
   * ---------------------------------------------------------------------------------
   */

  virtual void UserCreateOutputObjects();
  virtual void UserExec(Option_t *option);
  virtual void Terminate(Option_t *);
  /*
   * ---------------------------------------------------------------------------------
   *                                    Setter
   * ---------------------------------------------------------------------------------
   */
  void SetMaxVertexZ(Float_t vZ) {fMaxVertexZ = vZ;}
  void SetUseCentrality(Int_t cent) {fUseCentralitySel = cent;}
  void SetESDCuts(AliESDtrackCuts* cuts)  {fESDTrackCuts  = cuts;}
  void SetESDCuts2(AliESDtrackCuts* cuts) {fESDTrackCuts2 = cuts;}
  void SetIsMC() { fIsMC = kTRUE; }

  ///////////////////////////////////////////////////////////////////////////////////

 private:

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

  /*
   * ---------------------------------------------------------------------------------
   *                            Setup Methods - private
   * ---------------------------------------------------------------------------------
   */

  Bool_t SetupEvent();
  Int_t GetCentralityBin();

  /*
   * ---------------------------------------------------------------------------------
   *                             Members - private
   * ---------------------------------------------------------------------------------
   */
  TTreeSRedirector *fpcstream;
  
  Bool_t           fIsMC;                        //!
  
  TH1F            *fHStat;                       //! cut statistics

  TList           *fOutList;                     //! output data container

  AliESDEvent     *fESD;                         //! ESD object
  AliESDtrackCuts *fESDTrackCuts;                // ESD cuts  
  AliESDtrackCuts *fESDTrackCuts2;               // ESD cuts 2 
  
  Int_t            fUseCentralitySel;            //  if 0 use none, 1 use VZERO - 2 use SPD
  Int_t            fCentralityBin;               //  current centrality bin

  Int_t            fCentralitySPDBin;            //  SPD centrality bin
  Int_t            fCentralityVZEROBin;          //  VZERO centrality bin
  Float_t          fCentralitySPD;               //  SPD centrality
  Float_t          fCentralityVZERO;             //  VZERO centrality

  Float_t          fMaxVertexZ;                  //  maxVertexZ

  AliTriggerAnalysis          *fTriggerAnalysis; //! trigger analysis object;

  AliMultiplicityCorrelations *fCorrObj;         //! correlations object
  AliMultiplicityCorrelations *fCorrObjCent0;    //! correlations object - centrality  0 -   5
  AliMultiplicityCorrelations *fCorrObjCent1;    //! correlations object - centrality 70 -  80
  AliMultiplicityCorrelations *fCorrObjCent2;    //! correlations object - centrality 80 -  90

  ClassDef(AliAnalysisTaskHIMultCorr, 1);
};

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