ROOT logo
////////////////////////////////////////////////////////////////////////////////
//                                                                            //
// AliFemtoModelCorrFctnNonIdDR - correlation function for non-identical      //
// particles which uses k* as a function variable. Stores the correlation     //
// function separately for positive and negative signs of k* projections into //
// out, side and long directions, enabling the calculations of double ratios  //
// Uses pair weight to simulate the model correlation function.               //
//                                                                            //
////////////////////////////////////////////////////////////////////////////////
#ifndef ALIFEMTOMODELCORRFCTNNONIDDR_H
#define ALIFEMTOMODELCORRFCTNNONIDDR_H

#include "TH1D.h"
#include "AliFemtoModelCorrFctn.h"

class AliFemtoModelCorrFctnNonIdDR : public AliFemtoModelCorrFctn {
public:
  AliFemtoModelCorrFctnNonIdDR(char* title, const int& nbins, const float& QinvLo, const float& QinvHi);
  AliFemtoModelCorrFctnNonIdDR(const AliFemtoModelCorrFctnNonIdDR& aCorrFctn);
  virtual ~AliFemtoModelCorrFctnNonIdDR();

  AliFemtoModelCorrFctnNonIdDR& operator=(const AliFemtoModelCorrFctnNonIdDR& aCorrFctn);

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

  virtual void Finish();

  virtual AliFemtoModelCorrFctn* Clone();

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

private:
  TH1D *fNumTOutP;     // True numerator for pair with positive k*out
  TH1D *fNumTOutN;     // True numerator for pair with negative k*out
  TH1D *fNumTSideP;    // True numerator for pair with positive k*side
  TH1D *fNumTSideN;    // True numerator for pair with negative k*side
  TH1D *fNumTLongP;    // True numerator for pair with positive k*long
  TH1D *fNumTLongN;    // True numerator for pair with negative k*long

  TH1D *fNumFOutP;     // Fake numerator for pair with positive k*out
  TH1D *fNumFOutN;     // Fake numerator for pair with negative k*out
  TH1D *fNumFSideP;    // Fake numerator for pair with positive k*side
  TH1D *fNumFSideN;    // Fake numerator for pair with negative k*side
  TH1D *fNumFLongP;    // Fake numerator for pair with positive k*long
  TH1D *fNumFLongN;    // Fake numerator for pair with negative k*long

  TH1D *fDenOutP;     // Denominator for pair with positive k*out
  TH1D *fDenOutN;     // Denominator for pair with negative k*out
  TH1D *fDenSideP;    // Denominator for pair with positive k*side
  TH1D *fDenSideN;    // Denominator for pair with negative k*side
  TH1D *fDenLongP;    // Denominator for pair with positive k*long
  TH1D *fDenLongN;    // Denominator for pair with negative k*long

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


#endif

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