ROOT logo
#ifndef ALIEBYEPIDRATIOBASE_H
#define ALIEBYEPIDRATIOBASE_H

/* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
 * See cxx source for full Copyright notice                               */
//=========================================================================//
//             AliEbyE Analysis for Particle Ratio Fluctuation             //
//                   Deepika Rathee  | Satyajit Jena                       //
//                   drathee@cern.ch | sjena@cern.ch                       //
//                  Date: Wed Jul  9 18:38:30 CEST 2014                    //
//          New approch to find particle ratio to reduce memory            //
//                             (Test Only)                                 //
//        Copied from NetParticle Classes
//        Origin: Authors: Jochen Thaeder <jochen@thaeder.de>
//                         Michael Weber <m.weber@cern.ch>
//=========================================================================//

#include "THnSparse.h"
#include "AliEbyEPidRatioHelper.h"

class AliESDEvent;
class AliESDInputHandler;
class AliMCEvent;
class AliStack;
class AliAODInputHandler;

class AliEbyEPidRatioBase : public TNamed {

 public:

  AliEbyEPidRatioBase();
  AliEbyEPidRatioBase(const Char_t* name, const Char_t* title);
  virtual ~AliEbyEPidRatioBase();

  void Initialize(AliEbyEPidRatioHelper* helper, AliESDtrackCuts* cuts = NULL);
  Int_t SetupEvent();
  void ResetEvent();
  virtual void Process() = 0;


 private:

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

 protected:
  virtual void Init() {};
  virtual void CreateHistograms() {};
  virtual void Reset() {};
  virtual Int_t Setup() { return 0;};
  AliEbyEPidRatioHelper *fHelper;             //! Ptr to helper class
  AliESDEvent        *fESD;                   //! ESD object
  AliESDtrackCuts    *fESDTrackCuts;          //! ESD cuts  
  AliAODEvent        *fAOD;                   //! AOD object
  TClonesArray       *fArrayMC;               //! array of MC particles
  Int_t               fAODtrackCutBit;        //  Track filter bit for AOD tracks
  Bool_t              fIsMC;                  //  Is MC event
  AliMCEvent         *fMCEvent;               //! Ptr to MC event
  AliStack           *fStack;                 //! Ptr to stack
  Float_t             fCentralityBin;         //  Centrality of current event  
  Int_t               fNTracks;               //  N Tracks in the current event
  Bool_t              fIsRatio;               //  Is MC event
  Bool_t              fIsPtBin;               //  Is Pt Bin event
  Bool_t              fIsDetectorWise;        //  Is Detector Wise
  ClassDef(AliEbyEPidRatioBase, 1);
};

#endif
 AliEbyEPidRatioBase.h:1
 AliEbyEPidRatioBase.h:2
 AliEbyEPidRatioBase.h:3
 AliEbyEPidRatioBase.h:4
 AliEbyEPidRatioBase.h:5
 AliEbyEPidRatioBase.h:6
 AliEbyEPidRatioBase.h:7
 AliEbyEPidRatioBase.h:8
 AliEbyEPidRatioBase.h:9
 AliEbyEPidRatioBase.h:10
 AliEbyEPidRatioBase.h:11
 AliEbyEPidRatioBase.h:12
 AliEbyEPidRatioBase.h:13
 AliEbyEPidRatioBase.h:14
 AliEbyEPidRatioBase.h:15
 AliEbyEPidRatioBase.h:16
 AliEbyEPidRatioBase.h:17
 AliEbyEPidRatioBase.h:18
 AliEbyEPidRatioBase.h:19
 AliEbyEPidRatioBase.h:20
 AliEbyEPidRatioBase.h:21
 AliEbyEPidRatioBase.h:22
 AliEbyEPidRatioBase.h:23
 AliEbyEPidRatioBase.h:24
 AliEbyEPidRatioBase.h:25
 AliEbyEPidRatioBase.h:26
 AliEbyEPidRatioBase.h:27
 AliEbyEPidRatioBase.h:28
 AliEbyEPidRatioBase.h:29
 AliEbyEPidRatioBase.h:30
 AliEbyEPidRatioBase.h:31
 AliEbyEPidRatioBase.h:32
 AliEbyEPidRatioBase.h:33
 AliEbyEPidRatioBase.h:34
 AliEbyEPidRatioBase.h:35
 AliEbyEPidRatioBase.h:36
 AliEbyEPidRatioBase.h:37
 AliEbyEPidRatioBase.h:38
 AliEbyEPidRatioBase.h:39
 AliEbyEPidRatioBase.h:40
 AliEbyEPidRatioBase.h:41
 AliEbyEPidRatioBase.h:42
 AliEbyEPidRatioBase.h:43
 AliEbyEPidRatioBase.h:44
 AliEbyEPidRatioBase.h:45
 AliEbyEPidRatioBase.h:46
 AliEbyEPidRatioBase.h:47
 AliEbyEPidRatioBase.h:48
 AliEbyEPidRatioBase.h:49
 AliEbyEPidRatioBase.h:50
 AliEbyEPidRatioBase.h:51
 AliEbyEPidRatioBase.h:52
 AliEbyEPidRatioBase.h:53
 AliEbyEPidRatioBase.h:54
 AliEbyEPidRatioBase.h:55
 AliEbyEPidRatioBase.h:56
 AliEbyEPidRatioBase.h:57
 AliEbyEPidRatioBase.h:58
 AliEbyEPidRatioBase.h:59
 AliEbyEPidRatioBase.h:60
 AliEbyEPidRatioBase.h:61
 AliEbyEPidRatioBase.h:62
 AliEbyEPidRatioBase.h:63
 AliEbyEPidRatioBase.h:64
 AliEbyEPidRatioBase.h:65
 AliEbyEPidRatioBase.h:66
 AliEbyEPidRatioBase.h:67
 AliEbyEPidRatioBase.h:68