33 #ifndef BPLCMSFrame3DCorrFctn_hh
34 #define BPLCMSFrame3DCorrFctn_hh
36 #include "StHbtMaker/Base/StHbtCorrFctn.hh"
37 #include "StHbtMaker/Infrastructure/StHbtCoulomb.h"
38 #include "StHbtMaker/Base/StHbtPairCut.h"
41 #include "StHbtMaker/Infrastructure/StHbtSmearPair.h"
48 virtual StHbtString Report();
49 virtual void AddRealPair(
const StHbtPair*);
50 virtual void AddMixedPair(
const StHbtPair*);
52 virtual void Finish();
54 StHbt3DHisto* Numerator();
55 StHbt3DHisto* Denominator();
56 StHbt3DHisto* UncorrectedDenominator();
57 StHbt3DHisto* Ratio();
58 StHbt3DHisto* QinvHisto();
63 void SetNormRangeLo(
float qLo);
64 void SetNormRangeHi(
float qHi);
65 float GetNormRangeLo();
66 float GetNormRangeHi();
68 void WriteOutHistos();
75 void SetRout(
double guess);
76 void SetRside(
double guess);
77 void SetRlong(
double guess);
78 void SetLambda(
double guess);
82 StHbt3DHisto* mIDNumHisto;
83 StHbt3DHisto* mIDDenHisto;
84 StHbt3DHisto* mIDRatHisto;
86 StHbt3DHisto* mSMNumHisto;
87 StHbt3DHisto* mSMDenHisto;
88 StHbt3DHisto* mSMRatHisto;
90 StHbt3DHisto* mCorrectionHisto;
91 StHbt3DHisto* mCorrCFHisto;
97 StHbt3DHisto* mNumerator;
98 StHbt3DHisto* mDenominator;
99 StHbt3DHisto* mUncorrectedDenominator;
100 StHbt3DHisto* mRatio;
101 StHbt3DHisto* mQinvHisto;
117 unsigned long int mNumRealsNorm;
118 unsigned long int mNumMixedNorm;
128 inline StHbt3DHisto* BPLCMSFrame3DCorrFctn::Numerator(){
return mNumerator;}
129 inline StHbt3DHisto* BPLCMSFrame3DCorrFctn::Denominator(){
return mDenominator;}
130 inline StHbt3DHisto* BPLCMSFrame3DCorrFctn::UncorrectedDenominator(){
return mUncorrectedDenominator;}
131 inline StHbt3DHisto* BPLCMSFrame3DCorrFctn::Ratio(){
return mRatio;}
132 inline StHbt3DHisto* BPLCMSFrame3DCorrFctn::QinvHisto(){
return mQinvHisto;}
133 inline void BPLCMSFrame3DCorrFctn::SetNormRangeLo(
float qLo){mQinvNormLo = qLo;}
134 inline void BPLCMSFrame3DCorrFctn::SetNormRangeHi(
float qHi){mQinvNormHi = qHi;}
135 inline float BPLCMSFrame3DCorrFctn::GetNormRangeLo(){
return mQinvNormLo;}
136 inline float BPLCMSFrame3DCorrFctn::GetNormRangeHi(){
return mQinvNormHi;}
137 inline void BPLCMSFrame3DCorrFctn::SetCoulombCorrection(
StHbtCoulomb* Correction){mCorrection = Correction;}
138 inline void BPLCMSFrame3DCorrFctn::SetSpecificPairCut(
StHbtPairCut* pc){mPairCut=pc;}
139 inline void BPLCMSFrame3DCorrFctn::SetSmearPair(
StHbtSmearPair* sp){mSmearPair = sp;}
141 inline void BPLCMSFrame3DCorrFctn::SetRout(
double r){mRout2 = r*r;}
142 inline void BPLCMSFrame3DCorrFctn::SetRside(
double r){mRside2 = r*r;}
143 inline void BPLCMSFrame3DCorrFctn::SetRlong(
double r){mRlong2 = r*r;}
144 inline void BPLCMSFrame3DCorrFctn::SetLambda(
double l){mLambda = l;}