123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- //
- // The version of the class should be changed every time
- // when any changes in the codes are done
- // Grigory Nigmatkulov: 2016/12/15
- //
- #ifndef STFEMTOTRACK_HH
- #define STFEMTOTRACK_HH
- #include "Rtypes.h"
- #include "TObject.h"
- #include "TVector3.h"
- #include "TMath.h"
- const Float_t __SCALE__ = 1000.;
- const Float_t __INV_SCALE__ = 0.001;
- const UShort_t USHORTMAX = 65535;
- const Short_t SHORTMAX = 32767;
- //_________________
- class StFemtoTrack : public TObject {
- public:
- StFemtoTrack();
- StFemtoTrack(Float_t px, Float_t py, Float_t pz);
- ~StFemtoTrack();
- //Setters
- void SetId(Short_t id) { mId = (UShort_t)id; }
- void SetNHits(Char_t nHits) { mNHits = nHits; } //Should give Char_t
- void SetNHitsPoss(UShort_t nHits) { mNHitsPoss = (UChar_t)nHits; }
- //void SetNHitsDedx(UShort_t nHits) { mNHitsDedx = (UChar_t)nHits; }
- void SetNSigmaElectron(Float_t ns);
- void SetNSigmaPion(Float_t ns);
- void SetNSigmaKaon(Float_t ns);
- void SetNSigmaProton(Float_t ns);
- void SetDedx(Float_t dEdx);
- void SetDedx(Double_t dEdx);
- void SetMap0(Int_t map0) { mMap0 = (UInt_t)map0; }
- void SetMap0(UInt_t map0) { mMap0 = map0; }
- void SetMap1(Int_t map1) { mMap1 = (UInt_t)map1; }
- void SetMap1(UInt_t map1) { mMap1 = map1; }
- void SetPx(Float_t px) { mMomX = px; }
- void SetPy(Float_t py) { mMomY = py; }
- void SetPz(Float_t pz) { mMomZ = pz; }
- void SetP(Float_t px, Float_t py, Float_t pz);
- void SetDCAxGlobal(Float_t x);
- void SetDCAyGlobal(Float_t y);
- void SetDCAzGlobal(Float_t z);
- void SetDCAGlobal(Float_t x, Float_t y, Float_t z);
- void SetGlobalPx(Float_t px) { mGlobMomX = px; }
- void SetGlobalPy(Float_t py) { mGlobMomY = py; }
- void SetGlobalPz(Float_t pz) { mGlobMomZ = pz; }
- void SetGlobalP(Float_t px, Float_t py, Float_t pz);
- void SetBeta(Float_t beta) { mBeta = beta; }
- //Getters
- Short_t GetId() const { return (Short_t)mId; }
- Short_t GetType() const;
- Short_t GetFlag() const { return 300; }
- UShort_t GetNHits() const { return (UShort_t)TMath::Abs(mNHits); }
- UShort_t GetNHitsFit() const;
- UShort_t GetNHitsPoss() const { return (UShort_t)mNHitsPoss; }
- //UShort_t GetNHitsDedx() const { return (UShort_t)mNHitsDedx; }
- UShort_t GetNHitsDedx() const { return (UShort_t)TMath::Abs(mNHits); } //Temporary
- Float_t GetNSigmaElectron() const { return (Float_t)mNSigmaElectron*__INV_SCALE__; }
- Float_t GetNSigmaPion() const { return (Float_t)mNSigmaPion*__INV_SCALE__; }
- Float_t GetNSigmaKaon() const { return (Float_t)mNSigmaKaon*__INV_SCALE__; }
- Float_t GetNSigmaProton() const { return (Float_t)mNSigmaProton*__INV_SCALE__; }
- Float_t GetPidProbElectron() const { return 0.5; }
- Float_t GetPidProbPion() const { return 0.5; }
- Float_t GetPidProbKaon() const { return 0.5; }
- Float_t GetPidProbProton() const { return 0.5; }
- Double_t GetDedx() const { return (Double_t)mDedx * 1e-9; }
- UInt_t GetMap0() const { return (UInt_t)mMap0; }
- UInt_t GetMap1() const { return (UInt_t)mMap1; }
- Float_t GetChi2() const { return 1.; }
- Short_t GetCharge() const { return (mNHits>0) ? +1 : -1; }
- Float_t GetPx() const { return mMomX; }
- Float_t GetPy() const { return mMomY; }
- Float_t GetPz() const { return mMomZ; }
- TVector3 GetP() const;
- Float_t GetPt() const;
- Float_t GetPtot() const;
- Float_t GetEta() const;
- Float_t GetDCAxy() const { return 0.; }
- Float_t GetDCAx() const { return 0.; }
- Float_t GetDCAy() const { return 0.; }
- Float_t GetDCAz() const { return 0.; }
- Float_t GetDCAxyGlobal() const;
- Float_t GetDCAxGlobal() const { return (Float_t)mDCAxGlobal * 0.0001; }
- Float_t GetDCAyGlobal() const { return (Float_t)mDCAyGlobal * 0.0001; }
- Float_t GetDCAzGlobal() const { return (Float_t)mDCAzGlobal * 0.0001; }
- Float_t GetDCAGlobal() const;
- Float_t GetGlobalPx() const { return mGlobMomX; }
- Float_t GetGlobalPy() const { return mGlobMomY; }
- Float_t GetGlobalPz() const { return mGlobMomZ; }
- TVector3 GetGlobalP() const;
- Float_t GetPtGlobal() const;
- Float_t GetPtotGlobal() const;
- Float_t GetBeta() const { return mBeta; }
- Float_t GetMassSqr() const;
- Bool_t GetIsTofTrack();
- private:
- UShort_t mId;
- Char_t mNHits; //q * NHits ; nHitsFit=nHits+1 for primaries
- UChar_t mNHitsPoss;
- //UChar_t mNHitsDedx;
- Short_t mNSigmaElectron; // ns*1000 !
- Short_t mNSigmaPion; // ns*1000 !
- Short_t mNSigmaKaon; // ns*1000 !
- Short_t mNSigmaProton; // ns*1000 !
- UShort_t mDedx; // dEdx*1e9 !
- UInt_t mMap0; // TopologyMap data0
- UInt_t mMap1; // TopologyMap data1
- Float_t mMomX; // Primary Px at pVtx
- Float_t mMomY; // Primary Py at pVtx
- Float_t mMomZ; // Primary Pz at pVtx
- Short_t mDCAxGlobal; // gDCA * 10000 (IMPORTANT: for primaries)
- Short_t mDCAyGlobal; // gDCA * 10000 (IMPORTANT: for primaries)
- Short_t mDCAzGlobal; // gDCA * 10000 (IMPORTANT: for primaries)
- Float_t mGlobMomX; // Px Global at DCA to pVtx
- Float_t mGlobMomY; // Py Global at DCA to pVtx
- Float_t mGlobMomZ; // Pz Global at DCA to pVtx
- //To get the origin at gDCA (3D): mOrigin = PrimVtxPosition + gDCA
- Float_t mBeta; // ToF beta
- ClassDef(StFemtoTrack, 2)
- };
- #endif
|