StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ThNonId3DCF.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 ThNonId3DCF_hh
17 #define ThNonId3DCF_hh
18 
19 #include "StHbtMaker/Base/StHbtRoot1DCF.hh"
20 #include "StHbtMaker/Base/StHbtThCorrFctn.hh"
21 #include "TProfile.h"
22 
23 class StHbtThPair;
24 
25 class ThNonId3DCF : public virtual StHbtThCorrFctn {
26  public:
27  ThNonId3DCF(char* title, const int& nbins, const float& QinvLo, const float& QinvHi);
28  ThNonId3DCF(const ThNonId3DCF& ThCf);
29 
30  virtual ~ThNonId3DCF();
31 
32  void AddNum(StHbtThPair*);
33  void AddDen(StHbtThPair*);
34 
35  virtual StHbtCorrFctn* Clone() {return 0;} // Legacy code due to previous bug
36  // in StHbtCorrFctn, do not use
37  StHbtThCorrFctn* ThClone() const ;
38 
39  virtual void Write() ;
40  virtual void Finish();
41  virtual StHbtString Report();
42  virtual void SetBtRange(double aBtMin, double aBtMax);
43  virtual void SetUtRange(double aUtMin, double aUtMax);
44 
45  private:
46 
47  StHbt1DHisto* mNumOutP;
48  StHbt1DHisto* mDenOutP;
49  StHbt1DHisto* mRatOutP;
50  StHbt1DHisto* mNumOutN;
51  StHbt1DHisto* mDenOutN;
52  StHbt1DHisto* mRatOutN;
53  StHbt1DHisto* mRatOut;
54  StHbt1DHisto* mRatOutNOverP;
55 
56  StHbt1DHisto* mNumSideP;
57  StHbt1DHisto* mDenSideP;
58  StHbt1DHisto* mRatSideP;
59  StHbt1DHisto* mNumSideN;
60  StHbt1DHisto* mDenSideN;
61  StHbt1DHisto* mRatSideN;
62  StHbt1DHisto* mRatSide;
63  StHbt1DHisto* mRatSideNOverP;
64 
65  StHbt1DHisto* mNumLongP;
66  StHbt1DHisto* mDenLongP;
67  StHbt1DHisto* mRatLongP;
68  StHbt1DHisto* mNumLongN;
69  StHbt1DHisto* mDenLongN;
70  StHbt1DHisto* mRatLongN;
71  StHbt1DHisto* mRatLong;
72  StHbt1DHisto* mRatLongNOverP;
73 
74  TProfile* mProfOutP;
75  TProfile* mProfOutN;
76  TProfile* mProfSideP;
77  TProfile* mProfSideN;
78  TProfile* mProfLongP;
79  TProfile* mProfLongN;
80 
81  TProfile* mProfDenOutP;
82  TProfile* mProfDenOutN;
83  TProfile* mProfDenSideP;
84  TProfile* mProfDenSideN;
85  TProfile* mProfDenLongP;
86  TProfile* mProfDenLongN;
87 
88 
89  StHbt2DHisto* mHOutKSame;
90  StHbt2DHisto* mHOutKDiff;
91  StHbt2DHisto* mHSideKSame;
92  StHbt2DHisto* mHSideKDiff;
93  StHbt2DHisto* mHLongKSame;
94  StHbt2DHisto* mHLongKDiff;
95 
96  double mBtMin;
97  double mBtMax;
98 
99  double mUtMin;
100  double mUtMax;
101 
102 #ifdef __ROOT__
103 ClassDef(ThNonId3DCF, 1)
104 #endif
105 };
106 
107 #endif