ROOT logo
/***************************************************************************
 *
 * $Id: AliFemtoBPLCMS3DCorrFctnEMCIC.h  $
 *
 * Author: Nicolas Bock, Ohio State University, bock@mps.ohio-state.edu
 ***************************************************************************
 *
 * Description: Calculates of the 3D Correlation Function, and also
 *              produces histograms to calculate Energy Momentum Conservation
 *              Induced Correlations  (EMCICs)
 *
 * This Class produces the following histograms as function of Qinv
 * (for both real and mixed pairs):
 *        1)   E1 + E2
 *        2)   E1 * E2
 *        3)   Pt1*Pt2
 *        4)   Pz1*Pz2
 *  
 * The class is derived from AliFemtoBPLCMS3DCorrFctn, therefore it produces
 * also the histograms in that class. 
 * 
 * NOTE: The EMCIC histograms are not averaged in this class, to obtain 
 * the average, the user needs to divide the real pair histograms by 
 * the numerator, and the mixed pair histograms by the denominator
 *
 ***************************************************************************
 *
 **************************************************************************/


#ifndef ALIFEMTOBPLCMS3DCORRFCTNEMCIC_H
#define ALIFEMTOBPLCMS3DCORRFCTNEMCIC_H

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

class AliFemtoBPLCMS3DCorrFctnEMCIC : public AliFemtoCorrFctn{
public:
  AliFemtoBPLCMS3DCorrFctnEMCIC(char* title, const int& nbins, const float& QLo, const float& QHi);
  // Variable bin size constructor :
  //qBins array of low-edges for each bin. This is an array of size nbins+1
  AliFemtoBPLCMS3DCorrFctnEMCIC(char* title, const int& nbins, const float* qBins);
  
  AliFemtoBPLCMS3DCorrFctnEMCIC(const AliFemtoBPLCMS3DCorrFctnEMCIC& aCorrFctn);
  virtual ~AliFemtoBPLCMS3DCorrFctnEMCIC();

  AliFemtoBPLCMS3DCorrFctnEMCIC& operator = (const AliFemtoBPLCMS3DCorrFctnEMCIC& aCorrFctn);

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

  void SetUseRPSelection(unsigned short aRPSel);


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

 private:
  
  TH3D* fNumerator;         // numerator
  TH3D* fDenominator;       // denominator
  //EMCIC histograms
  //TH3D* fEnergyTotalReal;       // E1+E2 from real pairs
  //TH3D* fEnergyMultReal;        // E1*E2
  //TH3D* fPzMultReal;            // Pz1*Pz2
  //TH3D* fPtMultReal;            // Pt1*Pt2
  TH3D* fEnergyTotalMix;       // E1+E2 from mixed pairs
  TH3D* fEnergyMultMix;        // E1*E2
  TH3D* fPzMultMix;            // Pz1*Pz2
  TH3D* fPtMultMix;            // Pt1*Pt2
   
 protected:
  unsigned short fUseRPSelection;  // The pair cut uses RP selection
  
  

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

inline AliFemtoString AliFemtoBPLCMS3DCorrFctnEMCIC::Report(){AliFemtoString r="";return r;}
inline void AliFemtoBPLCMS3DCorrFctnEMCIC::Finish(){}


#endif
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:1
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:2
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:3
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:4
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:5
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:6
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:7
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:8
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:9
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:10
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:11
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:12
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:13
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:14
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:15
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:16
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:17
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:18
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:19
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:20
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:21
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:22
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:23
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:24
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:25
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:26
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:27
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:28
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:29
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:30
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:31
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:32
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:33
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:34
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:35
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:36
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:37
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:38
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:39
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:40
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:41
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:42
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:43
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:44
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:45
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:46
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:47
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:48
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:49
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:50
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:51
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:52
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:53
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:54
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:55
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:56
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:57
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:58
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:59
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:60
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:61
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:62
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:63
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:64
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:65
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:66
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:67
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:68
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:69
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:70
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:71
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:72
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:73
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:74
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:75
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:76
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:77
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:78
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:79
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:80
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:81
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:82
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:83
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:84
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:85
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:86
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:87
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:88
 AliFemtoBPLCMS3DCorrFctnEMCIC.h:89