StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
fabricesPairCut.h
1 /***************************************************************************
2  *
3  * $Id: fabricesPairCut.h,v 1.2 2002/12/12 17:03:51 kisiel Exp $
4  *
5  * Author: Mike Lisa, Ohio State, lisa@mps.ohio-state.edu
6  ***************************************************************************
7  *
8  * Description: part of STAR HBT Framework: StHbtMaker package
9  * a do-nothing pair cut that simply says "true" to every pair
10  *
11  ***************************************************************************
12  *
13  * $Log: fabricesPairCut.h,v $
14  * Revision 1.2 2002/12/12 17:03:51 kisiel
15  * Add NDedxHits cut, slight modification for Y cuts and Fabrices probability
16  *
17  * Revision 1.1 2001/12/14 23:11:27 fretiere
18  * Add class HitMergingCut. Add class fabricesPairCut = HitMerginCut + pair purity cuts. Add TpcLocalTransform function which convert to local tpc coord (not pretty). Modify StHbtTrack, StHbtParticle, StHbtHiddenInfo, StHbtPair to handle the hit information and cope with my code
19  *
20  * Revision 1.5 2000/03/23 22:57:28 laue
21  * Clone() function implemented
22  *
23  * Revision 1.4 2000/01/25 17:35:03 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.3 1999/10/15 01:57:05 lisa
36  * Important enhancement of StHbtMaker - implement Franks CutMonitors
37  * ----------------------------------------------------------
38  * This means 3 new files in Infrastructure area (CutMonitor),
39  * several specific CutMonitor classes in the Cut area
40  * and a new base class in the Base area (StHbtCutMonitor).
41  * This means also changing all Cut Base class header files from .hh to .h
42  * so we have access to CutMonitor methods from Cint command line.
43  * This last means
44  * 1) files which include these header files are slightly modified
45  * 2) a side benefit: the TrackCuts and V0Cuts no longer need
46  * a SetMass() implementation in each Cut class, which was stupid.
47  * Also:
48  * -----
49  * Include Franks StHbtAssociationReader
50  * ** None of these changes should affect any user **
51  *
52  * Revision 1.2 1999/07/06 22:33:21 lisa
53  * Adjusted all to work in pro and new - dev itself is broken
54  *
55  * Revision 1.1.1.1 1999/06/29 16:02:56 lisa
56  * Installation of StHbtMaker
57  *
58  **************************************************************************/
59 
60 
61 #ifndef fabricesPairCut_hh
62 #define fabricesPairCut_hh
63 
64 // do I need these lines ?
65 //#ifndef StMaker_H
66 //#include "StMaker.h"
67 //#endif
68 
69 #include <sstream>
70 
71 #include "Cut/HitMergingPairCut.h"
72 
74 public:
77  //~fabricesPairCut();
78 
79  virtual bool Pass(const StHbtPair*);
80  virtual StHbtString Report();
81  fabricesPairCut* Clone();
82  void setPiKPairMinProbability(double aPiKPairMinProb);
83  void setPiPPairMinProbability(double aPiPPairMinProb);
84  void setElPairMaxProbability(double aElPairMaxProb);
85  void setPiPiPairMaxProbability(double aPiPiPairMaxProb);
86  void setKKPairMaxProbability(double aKKPairMaxProb);
87  std::ostringstream* finalReport() const;
88 
89 private:
90  double mPiKPairMinProb;
91  double mPiPPairMinProb;
92  double mElPairMaxProb;
93  double mPiPiPairMaxProb;
94  double mKKPairMaxProb;
95 #ifdef __ROOT__
96  ClassDef(fabricesPairCut, 1)
97 #endif
98 };
99 
100 inline fabricesPairCut::fabricesPairCut(const fabricesPairCut& c) : HitMergingPairCut(c) {
101  mNPairsPassed = 0;
102  mNPairsFailed = 0;
103 
104 }
105 inline fabricesPairCut* fabricesPairCut::Clone() { fabricesPairCut* c = new fabricesPairCut(*this); return c;}
106 
107 inline void fabricesPairCut::setPiKPairMinProbability(double aPiKPairMinProb){
108  mPiKPairMinProb = aPiKPairMinProb;
109 }
110 inline void fabricesPairCut::setPiPPairMinProbability(double aPiPPairMinProb){
111  mPiPPairMinProb = aPiPPairMinProb;
112 }
113 inline void fabricesPairCut::setElPairMaxProbability(double aElPairMaxProb){
114  mElPairMaxProb = aElPairMaxProb;
115 }
116 inline void fabricesPairCut::setPiPiPairMaxProbability(double aPiPiPairMaxProb){
117  mPiPiPairMaxProb = aPiPiPairMaxProb;
118 }
119 inline void fabricesPairCut::setKKPairMaxProbability(double aKKPairMaxProb){
120  mKKPairMaxProb = aKKPairMaxProb;
121 }
122 #endif