ROOT logo
#ifndef ALIEBYEPIDRSTIOPHY_H
#define ALIEBYEPIDRSTIOPHY_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 "TList.h"
#include "TRandom3.h"

#include "AliEbyEPidRatioBase.h"

class AliEbyEPidRatioPhy : public AliEbyEPidRatioBase {

 public:

  AliEbyEPidRatioPhy();
  virtual ~AliEbyEPidRatioPhy();
  virtual void Process();
  void SetOutList(TList* l) {fOutList = l;}
  void SetQA()     {fIsQA   = kTRUE;}  
  void SetSubRun() { fIsSub = kTRUE;}
  void SetBSRun()  {fIsBS   = kTRUE;}
  void SetIsPer()  {fIsPer  = kTRUE;}

 private:

  AliEbyEPidRatioPhy(const AliEbyEPidRatioPhy&);
  AliEbyEPidRatioPhy& operator=(const AliEbyEPidRatioPhy&); 
  virtual void Init();
  virtual void Reset();
  virtual void CreateHistograms();  
  Int_t ProcessTracks();
  Int_t ProcessParticles();  
 
  void ResetHistSet();
  void AddHistSetCent(const Char_t *name, const Char_t *title);
  void AddHistSetCentPt(const Char_t *name, const Char_t *title);
  void AddHistSetRatio(const Char_t *name, const Char_t *title);
  void AddHistInGroup(const Char_t *name, const Char_t *title, Int_t nSample);
 

  void FillHistSetCent(const Char_t *name, Int_t idx, Bool_t isMC);
  void FillHistSetRatio(const Char_t *name, Int_t idx, Bool_t isMC);
  void FillHistSetCentPt(const Char_t *name, Int_t idx, Bool_t isMC);
  void FillHistInGroup(const Char_t *name, Int_t idx, Int_t iSub, Bool_t isMC);
 
  
  TList                *fOutList;               //! Output data container
  Int_t                 fOrder;                 //  Max order of higher order distributions
  Int_t                 fNNp;                   //  N sets of arrays of particle/anti-particle counts
  Int_t              ***fNp;                    //!  Array of particle/anti-particle counts
  Int_t             ****fNpPt;                  //!  Array of particle/anti-particle counts
  Int_t                 fNMCNp;                 //  N sets of arrays of MC particle/anti-particle counts
  Int_t              ***fMCNp;                  //!  Array of MC particle/anti-particle counts
  Int_t             ****fMCNpPt;                //!  Array of MC particle/anti-particle counts
  Double_t            **fRedFactp;              //!  Array of particle/anti-particle reduced factorial
  TH1F                 *fPtBinHist;             // Hist
  Bool_t                fIsQA;                  // Check for QA
  Bool_t                fIsSub;                 //
  Bool_t                fIsBS;                  //
  Bool_t                fIsPer;                 //
  TRandom3             *fRan;                   //  
  THnSparseD           *fHnTrackUnCorrRec;      // THnSparseD : uncorrected probe particles
  THnSparseD           *fHnTrackUnCorrMc;       // THnSparseD : Original Corrected probe particles Mc


  ClassDef(AliEbyEPidRatioPhy, 1);
};

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