ROOT logo
////////////////////////////////////////////////////////////////////////////////
///                                                                          ///
/// AliFemtoModelCorrFctnSource - the class for correlation function which   ///
/// uses the model framework and weight generation and saves the generated   ///
/// emission source                                                          ///
/// Authors: Adam Kisiel, kisiel@mps.ohio-state.edu                          ///
///                                                                          ///
////////////////////////////////////////////////////////////////////////////////
#ifndef ALIFEMTOMODELCORRFCTNSOURCE_H
#define ALIFEMTOMODELCORRFCTNSOURCE_H

#include "TH2D.h"
#include "AliFemtoCorrFctn.h"
#include "AliFemtoPair.h"
#include "AliFemtoModelManager.h"
#include "AliFemtoModelCorrFctn.h"

class AliFemtoModelCorrFctnSource: public AliFemtoModelCorrFctn {

public:
  AliFemtoModelCorrFctnSource();
  AliFemtoModelCorrFctnSource(const char *title, Int_t aNbins, Double_t aQinvLo, Double_t aQinvHi);
  AliFemtoModelCorrFctnSource(const AliFemtoModelCorrFctnSource& aCorrFctn);
  virtual ~AliFemtoModelCorrFctnSource();
  
  AliFemtoModelCorrFctnSource& operator=(const AliFemtoModelCorrFctnSource& aCorrFctn);

  virtual AliFemtoString Report();

  virtual void AddRealPair(AliFemtoPair* aPair);
  virtual void AddMixedPair(AliFemtoPair* aPir);

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

  virtual AliFemtoModelCorrFctn* Clone();

  void SetUseRPSelection(unsigned short aRPSel);
protected:

  TH1D *fHistROut;     // Distribution of Rout
  TH1D *fHistRSide;    // Distribution of Rside
  TH1D *fHistRLong;    // Distribution of Rlong
  TH1D *fHistRStar;    // Distribution of RStar
  TH1D *fHistdNdR;     // Distribution of RStar weighted by Jacobian 
  TH2D *fHistNumWS;    // Weight spread for numerator
  TH2D *fHistDenWS;    // Weight spread for denominator

private:

  unsigned short fUseRPSelection;  // The pair cut uses RP selection

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

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