Skip to content

Commit

Permalink
The StPicoTrack class memebers were changed: 1) mCharge is moved into…
Browse files Browse the repository at this point in the history
… (Char_r)mHitsFit (which is mCharge*mHitsFit) and the rest mHitsVariables are of the UChar_t type; 2) dN/dx related information is commented out; 3) nHits() method is added (which only uses mNHitsFit information)
  • Loading branch information
gnigmat committed Dec 15, 2017
1 parent c594de3 commit 42cdd05
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 21 deletions.
18 changes: 9 additions & 9 deletions StPicoEvent/StPicoTrack.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,9 @@
StPicoTrack::StPicoTrack() : TObject(),
mId(0),
mChi2(std::numeric_limits<unsigned short>::max()),
mPMomentum(0., 0., 0.), mGMomentum(0., 0., 0.), mOrigin(0., 0., 0.),
mDedx(0.), mDnDx(0.), mDnDxError(0.), mNHitsFit(0), mNHitsMax(0), mNHitsDedx(0), mCharge(0),
mPMomentum(0., 0., 0.), mGMomentum(0., 0., 0.), mOrigin(0., 0., 0.),
mDedx(0.), /* mDnDx(0.), mDnDxError(0.), */
mNHitsFit(0), mNHitsMax(0), mNHitsDedx(0),
mNSigmaPion(std::numeric_limits<short>::max()),
mNSigmaKaon(std::numeric_limits<short>::max()),
mNSigmaProton(std::numeric_limits<short>::max()),
Expand Down Expand Up @@ -49,30 +50,29 @@ StPicoTrack::StPicoTrack(StMuTrack const* const gTrk, StMuTrack const* const pTr
mOrigin = gHelix.origin();

mDedx = gTrk->dEdx() * 1.e6;
mDnDx = gTrk->probPidTraits().dNdxFit();
mDnDxError = gTrk->probPidTraits().dNdxErrorFit();
//mDnDx = gTrk->probPidTraits().dNdxFit();
//mDnDxError = gTrk->probPidTraits().dNdxErrorFit();

int flag = gTrk->flag();
if (flag / 100 < 7) // TPC tracks
{
mNHitsFit = (Char_t)(gTrk->nHitsFit(kTpcId));
mNHitsFit = (Char_t)(gTrk->nHitsFit(kTpcId) * gTrk->charge());
mNHitsMax = (UChar_t)(gTrk->nHitsPoss(kTpcId));
}
else // FTPC tracks
{
if (gTrk->helix().momentum(B * kilogauss).pseudoRapidity() > 0.)
{
mNHitsFit = (Char_t)(gTrk->nHitsFit(kFtpcWestId));
mNHitsFit = (Char_t)(gTrk->nHitsFit(kFtpcWestId) * gTrk->charge());
mNHitsMax = (UChar_t)(gTrk->nHitsPoss(kFtpcWestId));
}
else
{
mNHitsFit = (Char_t)(gTrk->nHitsFit(kFtpcEastId));
mNHitsFit = (Char_t)(gTrk->nHitsFit(kFtpcEastId) * gTrk->charge());
mNHitsMax = (UChar_t)(gTrk->nHitsPoss(kFtpcEastId));
}
}
mNHitsDedx = (Char_t)(gTrk->nHitsDedx());
mCharge = (Char_t)(gTrk->charge());
mNHitsDedx = (UChar_t)(gTrk->nHitsDedx());
mNSigmaPion = (fabs(gTrk->nSigmaPion() * 100.) > std::numeric_limits<short>::max()) ? std::numeric_limits<short>::max() : (Short_t)(TMath::Nint(gTrk->nSigmaPion() * 100.));
mNSigmaKaon = (fabs(gTrk->nSigmaKaon() * 100.) > std::numeric_limits<short>::max()) ? std::numeric_limits<short>::max() : (Short_t)(TMath::Nint(gTrk->nSigmaKaon() * 100.));
mNSigmaProton = (fabs(gTrk->nSigmaProton() * 100.) > std::numeric_limits<short>::max()) ? std::numeric_limits<short>::max() : (Short_t)(TMath::Nint(gTrk->nSigmaProton() * 100.));
Expand Down
26 changes: 14 additions & 12 deletions StPicoEvent/StPicoTrack.h
Original file line number Diff line number Diff line change
Expand Up @@ -40,16 +40,18 @@ class StPicoTrack : public TObject
StThreeVectorF gMom(StThreeVectorF const& pVtx, float B) const;
/// origin at DCA to StPicoEvent::mPrimaryVertex
StThreeVectorF const& origin() const;
/// dca point to StPicoEvent::mPrimaryVertex in global coordinates
/// dca point to StPicoEvent::mPrimaryVertex in global coordinates .
/// It is the same as origin. To get gDCA = origin(or dcaPoint) + prim.vtx.position
StThreeVectorF const& dcaPoint() const;
Short_t charge() const;
Int_t nHits() const; //if(isPrimary)? nHitsFit-1 : nHits=nHitsFit
Int_t nHitsFit() const;
Int_t nHitsMax() const;
Int_t nHitsDedx() const;
UInt_t hftHitsMap() const;
Float_t dEdx() const;
Float_t dNdx() const;
Float_t dNdxError() const;
//Float_t dNdx() const;
//Float_t dNdxError() const;
Float_t nSigmaPion() const;
Float_t nSigmaKaon() const;
Float_t nSigmaProton() const;
Expand Down Expand Up @@ -87,12 +89,11 @@ class StPicoTrack : public TObject
StThreeVectorF mGMomentum; // global momentum at point of DCA to StPicoEvent::mPrimaryVertex
StThreeVectorF mOrigin; // origin at dca to primary vertex
Float_t mDedx; // dEdx in KeV/cm.
Float_t mDnDx; // fitted dN/dx
Float_t mDnDxError; // fitted dN/dx error
Char_t mNHitsFit; // nHitsFit - TPC
Char_t mNHitsMax; // nHitsMax - TPC
//Float_t mDnDx; // fitted dN/dx
//Float_t mDnDxError; // fitted dN/dx error
Char_t mNHitsFit; // charge * nHitsFit - TPC; if(pTrk) ? nHitsFit=nHits+1 : nHitsFit=nHits
UChar_t mNHitsMax; // nHitsMax - TPC
UChar_t mNHitsDedx; // nHitsDedx - TPC
Char_t mCharge;
Short_t mNSigmaPion; // nsigmaPi * 100
Short_t mNSigmaKaon; // nsigmaK * 100
Short_t mNSigmaProton; // nsigmaP * 100
Expand All @@ -104,7 +105,7 @@ class StPicoTrack : public TObject
Short_t mBTofPidTraitsIndex; // index of the BTOF pidTratis in the event
Short_t mMtdPidTraitsIndex; // index of the MTD pidTratis in the event

ClassDef(StPicoTrack, 1)
ClassDef(StPicoTrack, 2)
};

inline void StPicoTrack::setBEmcPidTraitsIndex(Int_t index) { mBEmcPidTraitsIndex = (Short_t)index; }
Expand All @@ -118,14 +119,15 @@ inline StThreeVectorF const& StPicoTrack::pMom() const { return mPMomentum; }
inline StThreeVectorF const& StPicoTrack::gMom() const { return mGMomentum; }
inline StThreeVectorF const& StPicoTrack::origin() const { return mOrigin; }
inline StThreeVectorF const& StPicoTrack::dcaPoint() const { return mOrigin; }
inline Short_t StPicoTrack::charge() const { return static_cast<Short_t>(mCharge); }
inline Short_t StPicoTrack::charge() const { return (mNHitsFit > 0) ? 1 : -1; }
inline Int_t StPicoTrack::nHits() const { return ( isPrimary() ) ? (nHitsFit() - 1) : nHitsFit(); }
inline Int_t StPicoTrack::nHitsFit() const { return (mNHitsFit > 0) ? (Int_t)mNHitsFit : (Int_t)(-1 * mNHitsFit); }
inline Int_t StPicoTrack::nHitsMax() const { return mNHitsMax; }
inline Int_t StPicoTrack::nHitsDedx() const { return mNHitsDedx; }
inline UInt_t StPicoTrack::hftHitsMap() const { return topologyMap(0) >> 1 & 0x7F; }
inline Float_t StPicoTrack::dEdx() const { return mDedx;}
inline Float_t StPicoTrack::dNdx() const { return mDnDx;}
inline Float_t StPicoTrack::dNdxError() const { return mDnDxError;}
//inline Float_t StPicoTrack::dNdx() const { return mDnDx;}
//inline Float_t StPicoTrack::dNdxError() const { return mDnDxError;}

This comment has been minimized.

Copy link
@plexoos

plexoos Dec 19, 2017

Member

@nigmatkulov What's wrong with simply deleting the lines? Please don't generate garbage by adding commented code. It helps to use a decent version control framework in order to track changes instead of commenting lines for future reference or whatever...

inline Float_t StPicoTrack::nSigmaPion() const { return mNSigmaPion / 100.f; }
inline Float_t StPicoTrack::nSigmaKaon() const { return mNSigmaKaon / 100.f; }
inline Float_t StPicoTrack::nSigmaProton() const { return mNSigmaProton / 100.f; }
Expand Down

0 comments on commit 42cdd05

Please sign in to comment.