StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
MinvCorrFctn.h
1 /***************************************************************************
2  *
3  * $Id: MinvCorrFctn.h,v 1.6 2000/08/08 23:39:21 laue Exp $
4  *
5  * Author: Frank Laue, Ohio State, laue@mps.ohio-state.edu
6  ***************************************************************************
7  *
8  * Description: part of STAR HBT Framework: StHbtMaker package
9  * A simple invariant-mass correlation function
10  *
11  ***************************************************************************
12  *
13  * $Log: MinvCorrFctn.h,v $
14  * Revision 1.6 2000/08/08 23:39:21 laue
15  * Updated for standalone version
16  *
17  * Revision 1.5 2000/03/17 17:22:40 laue
18  * Roberts new three particle correlations implemented.
19  *
20  * Revision 1.4 2000/03/16 01:56:36 laue
21  * Copy constructor added to some correlation functions
22  *
23  * Revision 1.3 2000/01/25 17:34:45 laue
24  * I. In order to run the stand alone version of the StHbtMaker the following
25  * changes have been done:
26  * a) all ClassDefs and ClassImps have been put into #ifdef __ROOT__ statements
27  * b) unnecessary includes of StMaker.h have been removed
28  * c) the subdirectory StHbtMaker/doc/Make has been created including everything
29  * needed for the stand alone version
30  *
31  * II. To reduce the amount of compiler warning
32  * a) some variables have been type casted
33  * b) some destructors have been declared as virtual
34  *
35  * Revision 1.2 1999/07/06 22:33:20 lisa
36  * Adjusted all to work in pro and new - dev itself is broken
37  *
38  * Revision 1.1.1.1 1999/06/29 16:02:57 lisa
39  * Installation of StHbtMaker
40  *
41  **************************************************************************/
42 
43 #ifndef MinvCorrFctn_hh
44 #define MinvCorrFctn_hh
45 
46 #include "StHbtMaker/Infrastructure/StHbtAnalysis.h"
47 #include "StHbtMaker/Base/StHbtCorrFctn.hh"
48 #include "StHbtMaker/Cut/mikesEventCut.h"
49 
50 #ifdef __ROOT__
51 #include "StHbtMaker/Infrastructure/StHbtTagWriter.hh"
52 #endif
53 
54 class MinvCorrFctn : public StHbtCorrFctn {
55 public:
56  MinvCorrFctn(const MinvCorrFctn& ); // copy constructor
57  MinvCorrFctn(char* title, const int& nbins, const float& MinvLo, const float& MinvHi);
58  virtual ~MinvCorrFctn();
59 
60  virtual StHbtString Report();
61  virtual void AddRealPair(const StHbtPair*);
62  virtual void AddMixedPair(const StHbtPair*);
63  virtual void Finish();
64  MinvCorrFctn* Clone();
65 
66  StHbt1DHisto* Numerator();
67  StHbt1DHisto* Denominator();
68  StHbt1DHisto* Difference();
69 
70 private:
71  StHbt1DHisto* mNumerator;
72  StHbt1DHisto* mDenominator;
73  StHbt1DHisto* mDifference;
74 
75 
76 #ifdef __ROOT__
77  StHbtTagWriter* mTagWriter;
78  ClassDef(MinvCorrFctn, 1)
79 #endif
80 };
81 
82 
83 inline StHbt1DHisto* MinvCorrFctn::Numerator(){return mNumerator;}
84 inline StHbt1DHisto* MinvCorrFctn::Denominator(){return mDenominator;}
85 inline StHbt1DHisto* MinvCorrFctn::Difference(){return mDifference;}
86 inline MinvCorrFctn* MinvCorrFctn::Clone() { MinvCorrFctn* c = new MinvCorrFctn(*this); return c;}
87 inline MinvCorrFctn::MinvCorrFctn(const MinvCorrFctn& fctn) :StHbtCorrFctn() {
88 #ifdef __ROOT__
89  mTagWriter = StHbtTagWriter::Instance();
90 #endif
91  mNumerator = new StHbt1DHisto(*(fctn.mNumerator));
92  mDenominator= new StHbt1DHisto(*(fctn.mDenominator));
93  mDifference = new StHbt1DHisto(*(fctn.mDifference));
94 }
95 
96 
97 #endif
98