]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGCF/FEMTOSCOPY/AliFemtoUser/AliFemtoBPLCMS3DCorrFctnEMCIC.h
PWGCFfemtoscopy converted to native cmake
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / AliFemtoUser / AliFemtoBPLCMS3DCorrFctnEMCIC.h
1 /***************************************************************************
2  *
3  * $Id: AliFemtoBPLCMS3DCorrFctnEMCIC.h  $
4  *
5  * Author: Nicolas Bock, Ohio State University, bock@mps.ohio-state.edu
6  ***************************************************************************
7  *
8  * Description: Calculates of the 3D Correlation Function, and also
9  *              produces histograms to calculate Energy Momentum Conservation
10  *              Induced Correlations  (EMCICs)
11  *
12  * This Class produces the following histograms as function of Qinv
13  * (for both real and mixed pairs):
14  *        1)   E1 + E2
15  *        2)   E1 * E2
16  *        3)   Pt1*Pt2
17  *        4)   Pz1*Pz2
18  *  
19  * The class is derived from AliFemtoBPLCMS3DCorrFctn, therefore it produces
20  * also the histograms in that class. 
21  * 
22  * NOTE: The EMCIC histograms are not averaged in this class, to obtain 
23  * the average, the user needs to divide the real pair histograms by 
24  * the numerator, and the mixed pair histograms by the denominator
25  *
26  ***************************************************************************
27  *
28  **************************************************************************/
29
30
31 #ifndef ALIFEMTOBPLCMS3DCORRFCTNEMCIC_H
32 #define ALIFEMTOBPLCMS3DCORRFCTNEMCIC_H
33
34 #include "AliFemtoCorrFctn.h"
35 #include "AliFemtoPairCut.h"
36 #include "TH3D.h"
37
38 class AliFemtoBPLCMS3DCorrFctnEMCIC : public AliFemtoCorrFctn{
39 public:
40   AliFemtoBPLCMS3DCorrFctnEMCIC(char* title, const int& nbins, const float& QLo, const float& QHi);
41   // Variable bin size constructor :
42   //qBins array of low-edges for each bin. This is an array of size nbins+1
43   AliFemtoBPLCMS3DCorrFctnEMCIC(char* title, const int& nbins, const float* qBins);
44   
45   AliFemtoBPLCMS3DCorrFctnEMCIC(const AliFemtoBPLCMS3DCorrFctnEMCIC& aCorrFctn);
46   virtual ~AliFemtoBPLCMS3DCorrFctnEMCIC();
47
48   AliFemtoBPLCMS3DCorrFctnEMCIC& operator = (const AliFemtoBPLCMS3DCorrFctnEMCIC& aCorrFctn);
49
50   virtual AliFemtoString Report();
51   virtual void Finish();
52   virtual void AddRealPair( AliFemtoPair* aPair);
53   virtual void AddMixedPair( AliFemtoPair* aPair);
54
55   void SetUseRPSelection(unsigned short aRPSel);
56
57
58   void WriteOutHistos();
59   virtual TList* GetOutputList();
60
61  private:
62   
63   TH3D* fNumerator;         // numerator
64   TH3D* fDenominator;       // denominator
65   //EMCIC histograms
66   //TH3D* fEnergyTotalReal;       // E1+E2 from real pairs
67   //TH3D* fEnergyMultReal;        // E1*E2
68   //TH3D* fPzMultReal;            // Pz1*Pz2
69   //TH3D* fPtMultReal;            // Pt1*Pt2
70   TH3D* fEnergyTotalMix;       // E1+E2 from mixed pairs
71   TH3D* fEnergyMultMix;        // E1*E2
72   TH3D* fPzMultMix;            // Pz1*Pz2
73   TH3D* fPtMultMix;            // Pt1*Pt2
74    
75  protected:
76   unsigned short fUseRPSelection;  // The pair cut uses RP selection
77   
78   
79
80 #ifdef __ROOT__
81   ClassDef(AliFemtoBPLCMS3DCorrFctnEMCIC, 1)
82 #endif
83 };
84
85 inline AliFemtoString AliFemtoBPLCMS3DCorrFctnEMCIC::Report(){AliFemtoString r="";return r;}
86 inline void AliFemtoBPLCMS3DCorrFctnEMCIC::Finish(){}
87
88
89 #endif