Add EMCICs classes
[u/mrichter/AliRoot.git] / PWG2 / FEMTOSCOPY / AliFemtoUser / AliFemtoCorrFctn3DSphericalEMCIC.h
1
2 ///////////////////////////////////////////////////////////////////////////
3 //                                                                       //
4 // AliFemtoCorrFctn3DSpherical: a class to calculate 3D correlation      //
5 // for pairs of identical particles, binned in spherical coordinates     //
6 // (q_inv, phi, cos(theta))
7 //                                                                       //
8 ///////////////////////////////////////////////////////////////////////////
9
10 #ifndef ALIFEMTOCORRFCTN3DSPHERICALEMCIC_H
11 #define ALIFEMTOCORRFCTN3DSPHERICALEMCIC_H
12
13 #include "AliFemtoCorrFctn.h"
14 #include "AliFemtoPairCut.h"
15 #include "TH3D.h"
16
17 class AliFemtoCorrFctn3DSphericalEMCIC : public AliFemtoCorrFctn{
18 public:
19   AliFemtoCorrFctn3DSphericalEMCIC(char* title, 
20                               const int& nqbins, const float& QLo, const float& QHi,
21                               const int& nphibins, const int& ncthetabins);
22   AliFemtoCorrFctn3DSphericalEMCIC(const AliFemtoCorrFctn3DSphericalEMCIC& aCorrFctn);
23   virtual ~AliFemtoCorrFctn3DSphericalEMCIC();
24
25   AliFemtoCorrFctn3DSphericalEMCIC& operator=(const AliFemtoCorrFctn3DSphericalEMCIC& aCorrFctn);
26
27   virtual AliFemtoString Report();
28   virtual void AddRealPair( AliFemtoPair* aPair);
29   virtual void AddMixedPair( AliFemtoPair* aPair);
30
31   virtual void Finish();
32
33   void WriteOutHistos();
34   virtual TList* GetOutputList();
35
36   void SetSpecificPairCut(AliFemtoPairCut* aCut);
37
38 private:
39   
40   TH3D* fNumerator;         // numerator
41   TH3D* fDenominator;       // denominator
42   //EMCIC histograms:
43   TH3D* fEnergyTotalReal;       // E1+E2 from real pairs
44   TH3D* fEnergyMultReal;        // E1*E2
45   TH3D* fPzMultReal;            // Pz1*Pz2
46   TH3D* fPtMultReal;            // Pt1*Pt2
47   TH3D* fEnergyTotalMix;       // E1+E2 from mixed pairs
48   TH3D* fEnergyMultMix;        // E1*E2
49   TH3D* fPzMultMix;            // Pz1*Pz2
50   TH3D* fPtMultMix;            // Pt1*Pt2
51   AliFemtoPairCut* fPairCut;    //! this is a PairCut specific to THIS CorrFctn, not the Analysis
52
53 #ifdef __ROOT__
54   ClassDef(AliFemtoCorrFctn3DSphericalEMCIC, 1)
55 #endif
56 };
57
58 inline  void AliFemtoCorrFctn3DSphericalEMCIC::SetSpecificPairCut(AliFemtoPairCut* pc){fPairCut=pc;}
59
60 #endif