StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
MinvLikeSignCorrFctn.h
1 /***************************************************************************
2  *
3  * $Id: MinvLikeSignCorrFctn.h,v 1.2 2001/01/23 15:12:55 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  **************************************************************************/
14 
15 #ifndef MinvLikeSignCorrFctn_hh
16 #define MinvLikeSignCorrFctn_hh
17 
18 #include "StHbtMaker/Infrastructure/StHbtAnalysis.h"
19 #include "StHbtMaker/Base/StHbtLikeSignCorrFctn.hh"
20 #include "StHbtMaker/Cut/mikesEventCut.h"
21 
22 #ifdef __ROOT__
23  #include "StHbtMaker/Infrastructure/StHbtTagWriter.hh"
24 #endif
25 
27 public:
28  MinvLikeSignCorrFctn(const MinvLikeSignCorrFctn& ); // copy constructor
29  MinvLikeSignCorrFctn(char* title1, char* title2, const int& nbins, const float& MinvLo, const float& MinvHi);
30  virtual ~MinvLikeSignCorrFctn();
31 
32  virtual StHbtString Report();
33  virtual void AddRealPair(const StHbtPair*);
34  virtual void AddMixedPair(const StHbtPair*);
35  virtual void AddLikeSignPositivePair(const StHbtPair*);
36  virtual void AddLikeSignNegativePair(const StHbtPair*);
37  virtual void Finish();
38  MinvLikeSignCorrFctn* Clone();
39 
40  StHbt1DHisto* Numerator();
41  StHbt1DHisto* MixedEventDenominator();
42  StHbt1DHisto* PositiveDenominator();
43  StHbt1DHisto* NegativeDenominator();
44  StHbt1DHisto* MixedEventDifference();
45  StHbt1DHisto* LikeSignDifference();
46 
47 private:
48  StHbt1DHisto* mNumerator;
49  StHbt1DHisto* mMixedEventDenominator;
50  StHbt1DHisto* mPositiveDenominator;
51  StHbt1DHisto* mNegativeDenominator;
52  StHbt1DHisto* mMixedEventDifference;
53  StHbt1DHisto* mLikeSignDifference;
54 
55 
56 #ifdef __ROOT__
57  StHbtTagWriter* mTagWriter;
58  ClassDef(MinvLikeSignCorrFctn, 1)
59 #endif
60 };
61 
62 
63 inline StHbt1DHisto* MinvLikeSignCorrFctn::Numerator(){return mNumerator;}
64 inline StHbt1DHisto* MinvLikeSignCorrFctn::MixedEventDenominator(){return mMixedEventDenominator;}
65 inline StHbt1DHisto* MinvLikeSignCorrFctn::PositiveDenominator(){return mPositiveDenominator;}
66 inline StHbt1DHisto* MinvLikeSignCorrFctn::NegativeDenominator(){return mNegativeDenominator;}
67 inline StHbt1DHisto* MinvLikeSignCorrFctn::MixedEventDifference(){return mMixedEventDifference;}
68 inline StHbt1DHisto* MinvLikeSignCorrFctn::LikeSignDifference(){return mLikeSignDifference;}
69 
70 inline MinvLikeSignCorrFctn* MinvLikeSignCorrFctn::Clone() { MinvLikeSignCorrFctn* c = new MinvLikeSignCorrFctn(*this); return c;}
71 inline MinvLikeSignCorrFctn::MinvLikeSignCorrFctn(const MinvLikeSignCorrFctn& fctn) :StHbtLikeSignCorrFctn() {
72 #ifdef __ROOT__
73  mTagWriter = StHbtTagWriter::Instance();
74 #endif
75  mNumerator = new StHbt1DHisto(*(fctn.mNumerator));
76  mMixedEventDenominator= new StHbt1DHisto(*(fctn.mMixedEventDenominator));
77  mPositiveDenominator= new StHbt1DHisto(*(fctn.mPositiveDenominator));
78  mNegativeDenominator= new StHbt1DHisto(*(fctn.mNegativeDenominator));
79  mMixedEventDifference = new StHbt1DHisto(*(fctn.mMixedEventDifference));
80  mLikeSignDifference = new StHbt1DHisto(*(fctn.mLikeSignDifference));
81 }
82 
83 
84 #endif
85