ROOT logo
#ifndef ALIEBYEPIDRSTIOEFFCONTEXTRA_H
#define ALIEBYEPIDRSTIOEFFCONTEXTRA_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>
//=========================================================================//


class AliVTrack;

#include "THnSparse.h"

#include "AliEbyEPidRatioBase.h"

class AliEbyEPidRatioEffContExtra: public AliEbyEPidRatioBase {

 public:

  AliEbyEPidRatioEffContExtra();
  virtual ~AliEbyEPidRatioEffContExtra();
  
  virtual void Process();

  THnSparseF* GetHnEff(Int_t i, Int_t type)  {
    if (i == 0) {
      if (type == 0)      return  fHnNchEMc;
      else if (type == 1) return  fHnNchERec;
      else if (type == 2) return  fHnNchCMc;
      else if (type == 3) return  fHnNchCRec;
    } else if (i == 1) {
      if (type == 0)      return  fHnNpiEMc;
      else if (type == 1) return  fHnNpiERec;
      else if (type == 2) return  fHnNpiCMc;
      else if (type == 3) return  fHnNpiCRec;
    } else if (i == 2) {
      if (type == 0)      return  fHnNkaEMc;
      else if (type == 1) return  fHnNkaERec;
      else if (type == 2) return  fHnNkaCMc;
      else if (type == 3) return  fHnNkaCRec;
    } else if (i == 3) {
      if (type == 0)      return  fHnNprEMc;
      else if (type == 1) return  fHnNprERec;
      else if (type == 2) return  fHnNprCMc;
      else if (type == 3) return  fHnNprCRec;
    }
    return 0; 
  }

 private:

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

  virtual void Init();

  virtual void CreateHistograms();
  virtual void Reset();
  virtual Int_t Setup();
  void FillMCLabels(Int_t ipid); 
  void FillMCEffHist(Int_t ipid);
  void CheckContTrack(AliVTrack* track, Int_t ipid);
      
 
  Int_t             ***fLabelsRec;     //! 2x nTracks large array with labels for MC particles
 
 
  THnSparseF         *fHnNchEMc;     //  THnSparseF efficiency 
  THnSparseF         *fHnNchERec;    //  THnSparseF efficiency 

  THnSparseF         *fHnNpiEMc;     //  THnSparseF efficiency 
  THnSparseF         *fHnNpiERec;    //  THnSparseF efficiency 
  
  THnSparseF         *fHnNkaEMc;     //  THnSparseF efficiency 
  THnSparseF         *fHnNkaERec;    //  THnSparseF efficiency 
  
  THnSparseF         *fHnNprEMc;     //  THnSparseF efficiency 
  THnSparseF         *fHnNprERec;    //  THnSparseF efficiency 
 
  THnSparseF         *fHnNchCMc;     //  THnSparseF efficiency 
  THnSparseF         *fHnNchCRec;    //  THnSparseF efficiency 

  THnSparseF         *fHnNpiCMc;     //  THnSparseF efficiency 
  THnSparseF         *fHnNpiCRec;    //  THnSparseF efficiency 
  
  THnSparseF         *fHnNkaCMc;     //  THnSparseF efficiency 
  THnSparseF         *fHnNkaCRec;    //  THnSparseF efficiency 
  
  THnSparseF         *fHnNprCMc;     //  THnSparseF efficiency 
  THnSparseF         *fHnNprCRec;    //  THnSparseF efficiency 

  // -----------------------------------------------------------------------

  ClassDef(AliEbyEPidRatioEffContExtra, 1);
};

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