ROOT logo
///////////////////////////////////////////////////////////////////////////
//                                                                       //
// AliFemtoModelCorrFctn3DSpherical: a class to calculate 3D correlation //
// for pairs of identical particles, binned in spherical coordinates     //
// (q_inv, phi, cos(theta))                                              //
//                                                                       //
///////////////////////////////////////////////////////////////////////////

#ifndef ALIFEMTOMODELCORRFCTN3DSPHERICAL_H
#define ALIFEMTOMODELCORRFCTN3DSPHERICAL_H

#include "AliFemtoModelCorrFctn.h"
#include "AliFemtoPairCut.h"
#include "TH3D.h"

class AliFemtoModelCorrFctn3DSpherical : public AliFemtoModelCorrFctn {
public:
  AliFemtoModelCorrFctn3DSpherical(char* title, 
			      const int& nqbins, const float& QLo, const float& QHi,
			      const int& nphibins, const int& ncthetabins);
  AliFemtoModelCorrFctn3DSpherical(const AliFemtoModelCorrFctn3DSpherical& aCorrFctn);
  virtual ~AliFemtoModelCorrFctn3DSpherical();

  AliFemtoModelCorrFctn3DSpherical& operator=(const AliFemtoModelCorrFctn3DSpherical& aCorrFctn);

  virtual AliFemtoString Report();
  virtual void AddRealPair( AliFemtoPair* aPair);
  virtual void AddMixedPair( AliFemtoPair* aPair);

  virtual void Finish();

  void WriteOutHistos();
  virtual TList* GetOutputList();

  void SetSpecificPairCut(AliFemtoPairCut* aCut);

private:
  // here are a whole bunch of histos that get filled if we do resolution correction
  TH3D* fTrueNumeratorSph;         // numerator
  TH3D* fFakeNumeratorSph;         // numerator
  TH3D* fDenominatorSph;       // denominator

  AliFemtoPairCut* fPairCut;    //! this is a PairCut specific to THIS CorrFctn, not the Analysis

#ifdef __ROOT__
  ClassDef(AliFemtoModelCorrFctn3DSpherical, 1)
#endif
};

inline  void AliFemtoModelCorrFctn3DSpherical::SetSpecificPairCut(AliFemtoPairCut* pc){fPairCut=pc;}

#endif

 AliFemtoModelCorrFctn3DSpherical.h:1
 AliFemtoModelCorrFctn3DSpherical.h:2
 AliFemtoModelCorrFctn3DSpherical.h:3
 AliFemtoModelCorrFctn3DSpherical.h:4
 AliFemtoModelCorrFctn3DSpherical.h:5
 AliFemtoModelCorrFctn3DSpherical.h:6
 AliFemtoModelCorrFctn3DSpherical.h:7
 AliFemtoModelCorrFctn3DSpherical.h:8
 AliFemtoModelCorrFctn3DSpherical.h:9
 AliFemtoModelCorrFctn3DSpherical.h:10
 AliFemtoModelCorrFctn3DSpherical.h:11
 AliFemtoModelCorrFctn3DSpherical.h:12
 AliFemtoModelCorrFctn3DSpherical.h:13
 AliFemtoModelCorrFctn3DSpherical.h:14
 AliFemtoModelCorrFctn3DSpherical.h:15
 AliFemtoModelCorrFctn3DSpherical.h:16
 AliFemtoModelCorrFctn3DSpherical.h:17
 AliFemtoModelCorrFctn3DSpherical.h:18
 AliFemtoModelCorrFctn3DSpherical.h:19
 AliFemtoModelCorrFctn3DSpherical.h:20
 AliFemtoModelCorrFctn3DSpherical.h:21
 AliFemtoModelCorrFctn3DSpherical.h:22
 AliFemtoModelCorrFctn3DSpherical.h:23
 AliFemtoModelCorrFctn3DSpherical.h:24
 AliFemtoModelCorrFctn3DSpherical.h:25
 AliFemtoModelCorrFctn3DSpherical.h:26
 AliFemtoModelCorrFctn3DSpherical.h:27
 AliFemtoModelCorrFctn3DSpherical.h:28
 AliFemtoModelCorrFctn3DSpherical.h:29
 AliFemtoModelCorrFctn3DSpherical.h:30
 AliFemtoModelCorrFctn3DSpherical.h:31
 AliFemtoModelCorrFctn3DSpherical.h:32
 AliFemtoModelCorrFctn3DSpherical.h:33
 AliFemtoModelCorrFctn3DSpherical.h:34
 AliFemtoModelCorrFctn3DSpherical.h:35
 AliFemtoModelCorrFctn3DSpherical.h:36
 AliFemtoModelCorrFctn3DSpherical.h:37
 AliFemtoModelCorrFctn3DSpherical.h:38
 AliFemtoModelCorrFctn3DSpherical.h:39
 AliFemtoModelCorrFctn3DSpherical.h:40
 AliFemtoModelCorrFctn3DSpherical.h:41
 AliFemtoModelCorrFctn3DSpherical.h:42
 AliFemtoModelCorrFctn3DSpherical.h:43
 AliFemtoModelCorrFctn3DSpherical.h:44
 AliFemtoModelCorrFctn3DSpherical.h:45
 AliFemtoModelCorrFctn3DSpherical.h:46
 AliFemtoModelCorrFctn3DSpherical.h:47
 AliFemtoModelCorrFctn3DSpherical.h:48
 AliFemtoModelCorrFctn3DSpherical.h:49
 AliFemtoModelCorrFctn3DSpherical.h:50
 AliFemtoModelCorrFctn3DSpherical.h:51
 AliFemtoModelCorrFctn3DSpherical.h:52
 AliFemtoModelCorrFctn3DSpherical.h:53