123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- /***************************************************************************
- *
- * $Id:
- *
- * Author: Frank Laue, Ohio State, laue@mps.ohio-state.edu
- ***************************************************************************
- *
- * Description: part of STAR HBT Framework: StHbtMaker package
- * a simple particle cut that selects on phasespace, #hits, DCA, and PID
- *
- ***************************************************************************
- *
- * $Log:
- *
- **************************************************************************/
- #ifndef helensLaPTrackCut_hh
- #define helensLaPTrackCut_hh
- //#ifndef StMaker_H
- //#include "StMaker.h"
- //#endif
- #include "StHbtMaker/Base/StHbtTrackCut.h"
- class helensLaPTrackCut : public StHbtTrackCut
- {
- public:
- helensLaPTrackCut();
- helensLaPTrackCut(helensLaPTrackCut& );
- ~helensLaPTrackCut();
-
- virtual bool Pass(const StHbtTrack*);
- virtual StHbtString Report();
- void SetNSigmaElectron(const float& lo, const float& hi);
- void SetNSigmaPion(const float& lo, const float& hi);
- void SetNSigmaKaon(const float& lo, const float& hi);
- void SetNSigmaProton(const float& lo, const float& hi);
- void SetNSigmaAntiElectron(const float& lo, const float& hi);
- void SetNSigmaAntiPion(const float& lo, const float& hi);
- void SetNSigmaAntiKaon(const float& lo, const float& hi);
- void SetNSigmaAntiProton(const float& lo, const float& hi);
- void SetNHits(const int& lo, const int& hi);
- void SetP(const float& lo, const float& hi);
- void SetPt(const float& lo, const float& hi);
- void SetPx(const float& lo, const float& hi);
- void SetPy(const float& lo, const float& hi);
- void SetPz(const float& lo, const float& hi);
- void SetRapidity(const float& lo, const float& hi);
- void SetDCA(const float& lo, const float& hi);
- void SetCharge(const int&);
- helensLaPTrackCut* Clone();
- private: // here are the quantities I want to cut on...
- int mCharge;
- float mNSigmaElectron[2];
- float mNSigmaPion[2];
- float mNSigmaKaon[2];
- float mNSigmaProton[2];
- float mNSigmaAntiElectron[2];
- float mNSigmaAntiPion[2];
- float mNSigmaAntiKaon[2];
- float mNSigmaAntiProton[2];
- int mNHits[2];
- float mP[2];
- float mPt[2];
- float mPx[2];
- float mPy[2];
- float mPz[2];
- float mRapidity[2];
- float mDCA[2];
- long mNTracksPassed;
- long mNTracksFailed;
- #ifdef __ROOT__
- ClassDef(helensLaPTrackCut, 1)
- #endif
- };
- inline void helensLaPTrackCut::SetNSigmaElectron(const float& lo, const float& hi){mNSigmaElectron[0]=lo; mNSigmaElectron[1]=hi;}
- inline void helensLaPTrackCut::SetNSigmaPion(const float& lo, const float& hi){mNSigmaPion[0]=lo; mNSigmaPion[1]=hi;}
- inline void helensLaPTrackCut::SetNSigmaKaon(const float& lo, const float& hi){mNSigmaKaon[0]=lo; mNSigmaKaon[1]=hi;}
- inline void helensLaPTrackCut::SetNSigmaProton(const float& lo, const float& hi){mNSigmaProton[0]=lo; mNSigmaProton[1]=hi;}
- inline void helensLaPTrackCut::SetNSigmaAntiElectron(const float& lo, const float& hi){
- mNSigmaAntiElectron[0]=lo; mNSigmaAntiElectron[1]=hi;}
- inline void helensLaPTrackCut::SetNSigmaAntiPion(const float& lo, const float& hi){
- mNSigmaAntiPion[0]=lo; mNSigmaAntiPion[1]=hi;}
- inline void helensLaPTrackCut::SetNSigmaAntiKaon(const float& lo, const float& hi){
- mNSigmaAntiKaon[0]=lo; mNSigmaAntiKaon[1]=hi;}
- inline void helensLaPTrackCut::SetNSigmaAntiProton(const float& lo, const float& hi){
- mNSigmaAntiProton[0]=lo; mNSigmaAntiProton[1]=hi;}
- inline void helensLaPTrackCut::SetNHits(const int& lo, const int& hi){mNHits[0]=lo;mNHits[1]=hi;}
- inline void helensLaPTrackCut::SetP(const float& lo, const float& hi){mP[0]=lo; mP[1]=hi;}
- inline void helensLaPTrackCut::SetPt(const float& lo, const float& hi){mPt[0]=lo; mPt[1]=hi;}
- inline void helensLaPTrackCut::SetPx(const float& lo, const float& hi){mPx[0]=lo; mPx[1]=hi;}
- inline void helensLaPTrackCut::SetPy(const float& lo, const float& hi){mPy[0]=lo; mPy[1]=hi;}
- inline void helensLaPTrackCut::SetPz(const float& lo, const float& hi){mPz[0]=lo; mPz[1]=hi;}
- inline void helensLaPTrackCut::SetRapidity(const float& lo,const float& hi){mRapidity[0]=lo; mRapidity[1]=hi;}
- inline void helensLaPTrackCut::SetDCA(const float& lo,const float& hi){mDCA[0]=lo; mDCA[1]=hi;}
- inline void helensLaPTrackCut::SetCharge(const int& ch){mCharge = ch;}
- inline helensLaPTrackCut* helensLaPTrackCut::Clone() { helensLaPTrackCut* c = new helensLaPTrackCut(*this); return c;}
- #endif
|