StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ThBPCorrFctn.h
1 /***************************************************************************
2  *
3  *
4  *
5  * Author: Laurent Conin, Fabrice Retiere, Subatech, France
6  ***************************************************************************
7  *
8  * Description : Calculate the theoretical QInv correlation function
9  *
10  ***************************************************************************
11  *
12  *
13  *
14  ***************************************************************************/
15 
16 #ifndef ThBPCorrFctn_hh
17 #define ThBPCorrFctn_hh
18 
19 #include "StHbtMaker/Base/StHbtThCorrFctn.hh"
20 
21 class StHbtThPair;
22 
23 class ThBPCorrFctn : public virtual StHbtThCorrFctn {
24  public:
25  ThBPCorrFctn(char* aTitle, int aNBins,
26  double aHLo, double aHHi, int addHistos);
27  ThBPCorrFctn(const ThBPCorrFctn& ThCf);
28 
29  virtual ~ThBPCorrFctn();
30 
31  void AddNum(StHbtThPair*);
32  void AddDen(StHbtThPair*);
33 
34  StHbtThCorrFctn* ThClone() const ;
35 
36  virtual StHbt3DHisto* Numerator() const ;
37  virtual StHbt3DHisto* Denominator() const ;
38  virtual StHbt3DHisto* Ratio() const ;
39  virtual void Write() ;
40  virtual void Finish();
41  StHbtString Report();
42 
43  private:
44  StHbt3DHisto* mNumerator;
45  StHbt3DHisto* mDenominator;
46  StHbt3DHisto* mRatio;
47  StHbt3DHisto* mQinvHisto;
48 
49  // upper and lower bounds of Qinv region where to do normalization
50  float mQinvNormLo;
51  float mQinvNormHi;
52 
53  // and here are the number of pairs in that region...
54  unsigned long int mNumRealsNorm;
55  unsigned long int mNumMixedNorm;
56 
57  StHbt2DHisto** add2DHistos;
58  Int_t numAdd2DHistos;
59  Int_t addedHistos;
60 
61 #ifdef __ROOT__
62 ClassDef(ThBPCorrFctn, 1)
63 #endif
64 };
65 
66 #endif