1 #include "StMuFwdTrack.h"
4 #include "StEvent/StFwdTrack.h"
6 StMuFwdTrack::StMuFwdTrack() {
10 void StMuFwdTrack::set(
StFwdTrack * evTrack) {
11 mDidFitConverge = evTrack->didFitConverge();
12 mDidFitConvergeFully = evTrack->didFitConvergeFully();
13 mNumberOfFailedPoints = evTrack->numberOfFailedPoints();
14 mNumberOfSeedPoints = evTrack->numberOfSeedPoints();
15 mNumberOfFitPoints = evTrack->numberOfFitPoints();
16 mChi2 = evTrack->chi2();
17 mNDF = evTrack->ndf();
18 mPval = evTrack->pval();
19 mCharge = evTrack->charge();
20 mPrimaryMomentum = TVector3( evTrack->momentum().x(), evTrack->momentum().y(), evTrack->momentum().z() );
23 for (
auto proj : evTrack->mProjections ){
24 mProjections.push_back(
25 StMuFwdTrackProjection( proj.mDetId, TVector3( proj.mXYZ.x(), proj.mXYZ.y(), proj.mXYZ.z() ), TVector3( proj.mMom.x(), proj.mMom.y(), proj.mMom.z() ), proj.mCov )
30 for (
auto sp : evTrack->mFTTPoints ){
32 StMuFwdTrackSeedPoint( TVector3( sp.mXYZ.x(), sp.mXYZ.y(), sp.mXYZ.z() ), sp.mSector, sp.mTrackId, sp.mCov )
37 for (
auto sp : evTrack->mFSTPoints ){
39 StMuFwdTrackSeedPoint( TVector3( sp.mXYZ.x(), sp.mXYZ.y(), sp.mXYZ.z() ), sp.mSector, sp.mTrackId, sp.mCov )
43 setDCA(evTrack->dca().x(), evTrack->dca().y(), evTrack->dca().z());
44 mIdTruth = evTrack->idTruth();
45 mQATruth = evTrack->qaTruth();
46 mVtxIndex = evTrack->vertexIndex();
52 int n=mEcalClusters.GetSize();
53 for(
int i=0; i<n; i++)
if(mEcalClusters[i]==clu)
return;
54 mEcalClusters.Add(clu);
57 int n=mHcalClusters.GetSize();
58 for(
int i=0; i<n; i++)
if(mHcalClusters[i]==clu)
return;
59 mHcalClusters.Add(clu);
65 TVector3 StMuFwdTrack::momentum()
const{
66 return mPrimaryMomentum;
72 TVector3 StMuFwdTrack::momentumAt(
size_t _id)
const{
73 if ( _id >= mProjections.size() )
74 return TVector3( 0, 0, 0 );
76 return mProjections[_id].mMom;
79 char StMuFwdTrack::charge()
const{
83 bool StMuFwdTrack::didFitConverge()
const {
84 return mDidFitConverge;
87 bool StMuFwdTrack::didFitConvergeFully()
const {
88 return mDidFitConvergeFully;
91 short StMuFwdTrack::numberOfFailedPoints()
const {
92 return mNumberOfFailedPoints;
95 double StMuFwdTrack::chi2()
const {
99 double StMuFwdTrack::ndf()
const {
103 double StMuFwdTrack::pval()
const {
107 short StMuFwdTrack::numberOfFitPoints()
const {
108 return mNumberOfFitPoints;
111 short StMuFwdTrack::numberOfSeedPoints()
const {
112 return mNumberOfSeedPoints;
134 bool StMuFwdTrack::getProjectionFor(
int detectorId,
138 for (
auto proj : mProjections ){
139 if (proj.mDetId == detectorId){
141 if ( count == index )