]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/EBYE/PIDFluctuation/task/AliEbyEPidRatioEffContExtra.h
Merge branch 'feature-movesplit'
[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 //        Copied from NetParticle Classes
15 //        Origin: Authors: Jochen Thaeder <jochen@thaeder.de>
16 //                         Michael Weber <m.weber@cern.ch>
17 //=========================================================================//
18
19
20 class AliVTrack;
21
22 #include "THnSparse.h"
23
24 #include "AliEbyEPidRatioBase.h"
25
26 class AliEbyEPidRatioEffContExtra: public AliEbyEPidRatioBase {
27
28  public:
29
30   AliEbyEPidRatioEffContExtra();
31   virtual ~AliEbyEPidRatioEffContExtra();
32   
33   virtual void Process();
34
35   THnSparseF* GetHnEff(Int_t i, Int_t type)  {
36     if (i == 0) {
37       if (type == 0)      return  fHnNchEMc;
38       else if (type == 1) return  fHnNchERec;
39       else if (type == 2) return  fHnNchCMc;
40       else if (type == 3) return  fHnNchCRec;
41     } else if (i == 1) {
42       if (type == 0)      return  fHnNpiEMc;
43       else if (type == 1) return  fHnNpiERec;
44       else if (type == 2) return  fHnNpiCMc;
45       else if (type == 3) return  fHnNpiCRec;
46     } else if (i == 2) {
47       if (type == 0)      return  fHnNkaEMc;
48       else if (type == 1) return  fHnNkaERec;
49       else if (type == 2) return  fHnNkaCMc;
50       else if (type == 3) return  fHnNkaCRec;
51     } else if (i == 3) {
52       if (type == 0)      return  fHnNprEMc;
53       else if (type == 1) return  fHnNprERec;
54       else if (type == 2) return  fHnNprCMc;
55       else if (type == 3) return  fHnNprCRec;
56     }
57     return 0; 
58   }
59
60  private:
61
62   AliEbyEPidRatioEffContExtra(const AliEbyEPidRatioEffContExtra&); // not implemented
63   AliEbyEPidRatioEffContExtra& operator=(const AliEbyEPidRatioEffContExtra&); // not implemented
64
65   virtual void Init();
66
67   virtual void CreateHistograms();
68   virtual void Reset();
69   virtual Int_t Setup();
70   void FillMCLabels(Int_t ipid); 
71   void FillMCEffHist(Int_t ipid);
72   void CheckContTrack(AliVTrack* track, Int_t ipid);
73       
74  
75   Int_t             ***fLabelsRec;     //! 2x nTracks large array with labels for MC particles
76  
77  
78   THnSparseF         *fHnNchEMc;     //  THnSparseF efficiency 
79   THnSparseF         *fHnNchERec;    //  THnSparseF efficiency 
80
81   THnSparseF         *fHnNpiEMc;     //  THnSparseF efficiency 
82   THnSparseF         *fHnNpiERec;    //  THnSparseF efficiency 
83   
84   THnSparseF         *fHnNkaEMc;     //  THnSparseF efficiency 
85   THnSparseF         *fHnNkaERec;    //  THnSparseF efficiency 
86   
87   THnSparseF         *fHnNprEMc;     //  THnSparseF efficiency 
88   THnSparseF         *fHnNprERec;    //  THnSparseF efficiency 
89  
90   THnSparseF         *fHnNchCMc;     //  THnSparseF efficiency 
91   THnSparseF         *fHnNchCRec;    //  THnSparseF efficiency 
92
93   THnSparseF         *fHnNpiCMc;     //  THnSparseF efficiency 
94   THnSparseF         *fHnNpiCRec;    //  THnSparseF efficiency 
95   
96   THnSparseF         *fHnNkaCMc;     //  THnSparseF efficiency 
97   THnSparseF         *fHnNkaCRec;    //  THnSparseF efficiency 
98   
99   THnSparseF         *fHnNprCMc;     //  THnSparseF efficiency 
100   THnSparseF         *fHnNprCRec;    //  THnSparseF efficiency 
101
102   // -----------------------------------------------------------------------
103
104   ClassDef(AliEbyEPidRatioEffContExtra, 1);
105 };
106
107 #endif