ROOT logo
////////////////////////////////////////////////////////////////////////////////
///                                                                          ///
/// AliFemtoModelBPLCMSCorrFctn - the class for correlation function which   ///
/// uses the model framework and weight generation and calculated the 3D     ///
/// correlation function in the Bertsh-Pratt LCMS system                     ///
/// Authors: Adam Kisiel, kisiel@mps.ohio-state.edu                          ///
///                                                                          ///
////////////////////////////////////////////////////////////////////////////////
#ifndef ALIFEMTOMODELBPLCMSCORRFCTN_H
#define ALIFEMTOMODELBPLCMSCORRFCTN_H

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

class AliFemtoModelBPLCMSCorrFctn : public AliFemtoModelCorrFctn {
 public:
  AliFemtoModelBPLCMSCorrFctn()  :
    AliFemtoModelCorrFctn(),
    fNumerator3DTrue(0),
    fNumerator3DFake(0),
    fDenominator3D(0),
    fQinvHisto(0),
    fPairCut(0),
    fUseRPSelection(0){}
  AliFemtoModelBPLCMSCorrFctn(char* title, const int& nbins, const float& QLo, const float& QHi);
  AliFemtoModelBPLCMSCorrFctn(const AliFemtoModelBPLCMSCorrFctn& aCorrFctn);
  virtual ~AliFemtoModelBPLCMSCorrFctn();

  AliFemtoModelBPLCMSCorrFctn& operator=(const AliFemtoModelBPLCMSCorrFctn& aCorrFctn);

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

  virtual void Finish();

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

  void SetSpecificPairCut(AliFemtoPairCut* aCut);
  void SetUseRPSelection(unsigned short aRPSel);

  virtual AliFemtoModelCorrFctn* Clone();

protected:
  TH3D* fNumerator3DTrue;            // 3D Numerator with pairs from same event only
  TH3D* fNumerator3DFake;            // 3D Numerator with pairs from mixed events
  TH3D* fDenominator3D;              // 3D Denominator with the weight of 1.0

  TH3D* fQinvHisto;                  // Averag qinv histogram

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

  unsigned short fUseRPSelection;  // The pair cut uses RP selection
#ifdef __ROOT__
  ClassDef(AliFemtoModelBPLCMSCorrFctn, 1)
#endif
};

#endif

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