]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/EBYE/PIDFluctuation/task/AliEbyEPidRatioEffContExtra.h
Bug fix in pr eff-cont class: sjena
[u/mrichter/AliRoot.git] / PWGCF / EBYE / PIDFluctuation / task / AliEbyEPidRatioEffContExtra.h
1 #ifndef ALIEBYEPIDRSTIOEFFCONTEXTRA_H
2 #define ALIEBYEPIDRSTIOEFFCONTEXTRA_H
3
4 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
5  * See cxx source for full Copyright notice                               */
6  
7 //=========================================================================//
8 //             AliEbyE Analysis for Particle Ratio Fluctuation             //
9 //                   Deepika Rathee  | Satyajit Jena                       //
10 //                   drathee@cern.ch | sjena@cern.ch                       //
11 //                  Date: Wed Jul  9 18:38:30 CEST 2014                    //
12 //          New approch to find particle ratio to reduce memory            //
13 //                             (Test Only)                                 //
14 //=========================================================================//
15
16
17 class AliVTrack;
18
19 #include "THnSparse.h"
20
21 #include "AliEbyEPidRatioBase.h"
22
23 class AliEbyEPidRatioEffContExtra: public AliEbyEPidRatioBase {
24
25  public:
26
27   AliEbyEPidRatioEffContExtra();
28   virtual ~AliEbyEPidRatioEffContExtra();
29   
30   virtual void Process();
31
32   THnSparseF* GetHnEff(Int_t i, Int_t type)  {
33     if (i == 0) {
34       if (type == 0)      return  fHnNchEMc;
35       else if (type == 1) return  fHnNchERec;
36       else if (type == 2) return  fHnNchCMc;
37       else if (type == 3) return  fHnNchCRec;
38     } else if (i == 1) {
39       if (type == 0)      return  fHnNpiEMc;
40       else if (type == 1) return  fHnNpiERec;
41       else if (type == 2) return  fHnNpiCMc;
42       else if (type == 3) return  fHnNpiCRec;
43     } else if (i == 2) {
44       if (type == 0)      return  fHnNkaEMc;
45       else if (type == 1) return  fHnNkaERec;
46       else if (type == 2) return  fHnNkaCMc;
47       else if (type == 3) return  fHnNkaCRec;
48     } else if (i == 3) {
49       if (type == 0)      return  fHnNprEMc;
50       else if (type == 1) return  fHnNprERec;
51       else if (type == 2) return  fHnNprCMc;
52       else if (type == 3) return  fHnNprCRec;
53     }
54     return 0; 
55   }
56
57  private:
58
59   AliEbyEPidRatioEffContExtra(const AliEbyEPidRatioEffContExtra&); // not implemented
60   AliEbyEPidRatioEffContExtra& operator=(const AliEbyEPidRatioEffContExtra&); // not implemented
61
62   virtual void Init();
63
64   virtual void CreateHistograms();
65   virtual void Reset();
66   virtual Int_t Setup();
67   void FillMCLabels(Int_t ipid); 
68   void FillMCEffHist(Int_t ipid);
69   void CheckContTrack(AliVTrack* track, Int_t ipid);
70       
71  
72   Int_t             ***fLabelsRec;     //! 2x nTracks large array with labels for MC particles
73  
74  
75   THnSparseF         *fHnNchEMc;     //  THnSparseF efficiency 
76   THnSparseF         *fHnNchERec;    //  THnSparseF efficiency 
77
78   THnSparseF         *fHnNpiEMc;     //  THnSparseF efficiency 
79   THnSparseF         *fHnNpiERec;    //  THnSparseF efficiency 
80   
81   THnSparseF         *fHnNkaEMc;     //  THnSparseF efficiency 
82   THnSparseF         *fHnNkaERec;    //  THnSparseF efficiency 
83   
84   THnSparseF         *fHnNprEMc;     //  THnSparseF efficiency 
85   THnSparseF         *fHnNprERec;    //  THnSparseF efficiency 
86  
87   THnSparseF         *fHnNchCMc;     //  THnSparseF efficiency 
88   THnSparseF         *fHnNchCRec;    //  THnSparseF efficiency 
89
90   THnSparseF         *fHnNpiCMc;     //  THnSparseF efficiency 
91   THnSparseF         *fHnNpiCRec;    //  THnSparseF efficiency 
92   
93   THnSparseF         *fHnNkaCMc;     //  THnSparseF efficiency 
94   THnSparseF         *fHnNkaCRec;    //  THnSparseF efficiency 
95   
96   THnSparseF         *fHnNprCMc;     //  THnSparseF efficiency 
97   THnSparseF         *fHnNprCRec;    //  THnSparseF efficiency 
98
99   // -----------------------------------------------------------------------
100
101   ClassDef(AliEbyEPidRatioEffContExtra, 1);
102 };
103
104 #endif