StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
franksXiCut.h
1 #ifndef franksXiCut_hh
2 #define franksXiCut_hh
3 
4 //#ifndef StMaker_H
5 //#include "StMaker.h"
6 //#endif
7 
8 #include "StHbtMaker/Base/StHbtXiCut.h"
9 #include "StHbtMaker/Infrastructure/StHbtXi.hh" //9-17-99 seems like good idea
10 
11 class franksXiCut : public StHbtXiCut {
12 
13 public:
14 
15  franksXiCut();
16  //~franksXiCut();
17 
18  virtual bool Pass(const StHbtXi*);
19 
20  virtual StHbtString Report();
21 
22  void SetXiMassRange(const float& lo, const float& hi);
23  void SetOmegaMassRange(const float& lo, const float& hi);
24  void SetdcaXidaughters(const float& lo, const float& hi);
25  void SetdcaXiToPrimVertex(const float& lo, const float& hi);
26  void SetdecayLengthXi(const float& lo, const float& hi);
27  void SettpcHitsBac(const int& lo, const int& hi);
28  void SetdcaBacToPrimVertex(const float& lo, const float& hi);
29  void SetptArmXi(const float& lo, const float& hi);
30  void SetalphaXi(const float& lo, const float& hi);
31  void SetPt(const float& lo, const float& hi);
32  void SetRapidity(const float& lo, const float& hi);
33  void SetdEdx(const float& charge, const float& m1, const float& c1, const float& m2, const float& c2);
34 
35 
36 private: // here are the quantities we want to cut on...
37 
38  float mXiMassRange[2]; //Invariant mass limits
39  float mOmegaMassRange[2]; //Invariant mass limits
40  float mdcaXidaughters[2]; //DCA between 2 tracks
41  float mdcaXiToPrimVertex[2]; //DCA between V0 and event vertex
42  float mdecayLengthXi[2]; //decay length from prim. vertex
43  int mtpcHitsBac[2]; //no. of tpc hits on pos track
44  float mdcaBacToPrimVertex[2]; //min. value + track at intersect
45  float mptArmXi[2]; //pt Armenteros
46  float malphaXi[2]; //alpha Armenteros
47  float mPt[2]; //pt of V0
48  float mRapidity[2]; //rapidity of V0
49  float mdEdx[4]; // dEdx lines for daughter track
50  float mChargedEdx; // Charge of track to use in dedx
51 
52  long mNXisPassed;
53  long mNXisFailed;
54 
55 
56 #ifdef __ROOT__
57  ClassDef(franksXiCut, 1)
58 #endif
59 };
60 
61 
62 inline void franksXiCut::SetXiMassRange(const float& lo, const float& hi) {
63 mXiMassRange[0] =lo; mXiMassRange[1]=hi;}
64 inline void franksXiCut::SetOmegaMassRange(const float& lo, const float& hi) {
65 mOmegaMassRange[0] =lo; mOmegaMassRange[1]=hi;}
66 inline void franksXiCut::SetdcaXidaughters(const float& lo, const float& hi)
67 {mdcaXidaughters[0]=lo; mdcaXidaughters[1]=hi;}
68 inline void franksXiCut::SetdcaXiToPrimVertex(const float& lo, const float& hi)
69 {mdcaXiToPrimVertex[0]=lo; mdcaXiToPrimVertex[1]=hi;}
70 inline void franksXiCut::SetdecayLengthXi(const float& lo, const float& hi)
71 {mdecayLengthXi[0]=lo; mdecayLengthXi[1]=hi;}
72 
73 inline void franksXiCut::SettpcHitsBac(const int& lo, const int& hi)
74 {mtpcHitsBac[0]=lo;mtpcHitsBac[1]=hi;}
75 
76 inline void franksXiCut::SetdcaBacToPrimVertex(const float& lo, const float& hi)
77 {mdcaBacToPrimVertex[0]=lo; mdcaBacToPrimVertex[1]=hi;}
78 inline void franksXiCut::SetptArmXi(const float& lo, const float& hi)
79 {mptArmXi[0]=lo; mptArmXi[1]=hi;}
80 inline void franksXiCut::SetalphaXi(const float& lo, const float& hi)
81 {malphaXi[0]=lo; malphaXi[1]=hi;}
82 
83 inline void franksXiCut::SetdEdx(const float& charge,
84  const float& m1, const float& c1,
85  const float& m2, const float& c2)
86 {mChargedEdx=charge;mdEdx[0]=m1; mdEdx[1]=c1; mdEdx[2]=m2; mdEdx[3]=c2;}
87 
88 inline void franksXiCut::SetPt(const float& lo, const float& hi)
89 {mPt[0]=lo; mPt[1]=hi;}
90 inline void franksXiCut::SetRapidity(const float& lo,const float& hi)
91 {mRapidity[0]=lo; mRapidity[1]=hi;}
92 
93 
94 #endif
95