StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
NonIdReal3DCorrFctn.h
1 /***************************************************************************
2  *
3  * $Id: NonIdReal3DCorrFctn.h,v 1.1 2002/12/12 17:02:49 kisiel Exp $
4  *
5  * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6  ***************************************************************************
7  *
8  * Description: part of STAR HBT Framework: StHbtMaker package
9  * This one does 3D Bertsch-Pratt decomposition in the Lab (STAR c.m.) frame
10  *
11  ***************************************************************************
12  *
13  * $Log: NonIdReal3DCorrFctn.h,v $
14  * Revision 1.1 2002/12/12 17:02:49 kisiel
15  * Use KStar instead of 2*KStar for non-identical particles
16  *
17  * Revision 1.3 2000/10/26 19:48:50 rcwells
18  * Added functionality for Coulomb correction of <qInv> in 3D correltions
19  *
20  * Revision 1.2 2000/08/02 01:25:10 lisa
21  * Add Coulomb correction capability to 3D Bertsch-Pratt CorrFctn
22  *
23  * Revision 1.1 2000/07/31 01:19:23 lisa
24  * add PairCut which contains collection of PairCuts - also 3D bertsch-pratt CorrFctn
25  *
26  *
27  **************************************************************************/
28 
29 #ifndef NonIdReal3DCorrFctn_hh
30 #define NonIdReal3DCorrFctn_hh
31 
32 #include "StHbtMaker/Base/StHbtCorrFctn.hh"
33 #include "StHbtMaker/Infrastructure/StHbtCoulomb.h"
34 //#include "StHbtMaker/Infrastructure/StHbtHisto.hh"
35 
37 public:
38  NonIdReal3DCorrFctn(char* title, const int& nbins, const float& QLo, const float& QHi);
39  virtual ~NonIdReal3DCorrFctn();
40 
41  virtual StHbtString Report();
42  virtual void AddRealPair(const StHbtPair*);
43  virtual void AddMixedPair(const StHbtPair*);
44 
45  virtual void Finish();
46 
47  void Write();
48 
49  StHbt3DHisto* Numerator();
50  StHbt3DHisto* Denominator();
51  StHbt3DHisto* Ratio();
52  StHbt3DHisto* QinvHisto();
53 
54  // here are get and set for the range over which the correlation function
55  // is normalized (in Qinv). The range is set to 0.15..0.18 in the constuctor
56  // by default, but the Set's below override this
57  void SetNormRangeLo(float qLo);
58  void SetNormRangeHi(float qHi);
59  float GetNormRangeLo();
60  float GetNormRangeHi();
61 
62 private:
63  StHbt3DHisto* mNumerator;
64  StHbt3DHisto* mDenominator;
65  StHbt3DHisto* mRatio;
66  StHbt3DHisto* mQinvHisto;
67 
68  // upper and lower bounds of Qinv region where to do normalization
69  float mQinvNormLo;
70  float mQinvNormHi;
71 
72  // and here are the number of pairs in that region...
73  unsigned long int mNumRealsNorm;
74  unsigned long int mNumMixedNorm;
75 
76 #ifdef __ROOT__
77  ClassDef(NonIdReal3DCorrFctn, 1)
78 #endif
79 };
80 
81 inline StHbt3DHisto* NonIdReal3DCorrFctn::Numerator(){return mNumerator;}
82 inline StHbt3DHisto* NonIdReal3DCorrFctn::Denominator(){return mDenominator;}
83 inline StHbt3DHisto* NonIdReal3DCorrFctn::Ratio(){return mRatio;}
84 inline StHbt3DHisto* NonIdReal3DCorrFctn::QinvHisto(){return mQinvHisto;}
85 inline void NonIdReal3DCorrFctn::SetNormRangeLo(float qLo){mQinvNormLo = qLo;}
86 inline void NonIdReal3DCorrFctn::SetNormRangeHi(float qHi){mQinvNormHi = qHi;}
87 inline float NonIdReal3DCorrFctn::GetNormRangeLo(){return mQinvNormLo;}
88 inline float NonIdReal3DCorrFctn::GetNormRangeHi(){return mQinvNormHi;}
89 
90 #endif
91