00001
00002 #include "StJet.h"
00003 #include "TrackToJetIndex.h"
00004
00005 ClassImp(TrackToJetIndex)
00006
00007 TrackToJetIndex::TrackToJetIndex(int jetIndex, int trackIndex, StDetectorId detId, StJet* jet)
00008 : mJetIndex(jetIndex)
00009 , mTrackIndex(trackIndex)
00010 , mDetId(detId)
00011 , mCharge(0)
00012 , mNhits(0)
00013 , mNhitsPoss(0)
00014 , mNhitsDedx(0)
00015 , mNhitsFit(0)
00016 , mNsigmaPion(0)
00017 , mTdca(0)
00018 , mTdcaz(0)
00019 , mTdcaxy(0)
00020 , metaext(0)
00021 , mphiext(0)
00022 , mdEdx(0)
00023 , mTrackId(0)
00024 , mJet(jet)
00025 {
00026 }
00027
00028 TVector3 TrackToJetIndex::localMomentum() const
00029 {
00030 TVector3 longUnit = jet()->Vect().Unit();
00031 TVector3 normUnit = TVector3(0,0,1).Cross(longUnit).Unit();
00032 TVector3 sideUnit = longUnit.Cross(normUnit);
00033 TVector3 mom = momentum();
00034 return TVector3(mom.Dot(sideUnit),mom.Dot(normUnit),mom.Dot(longUnit));
00035 }
00036
00037 double TrackToJetIndex::frag() const
00038 {
00039 return Vect().Mag() / jet()->Vect().Mag();
00040 }