wmass_util/wmass_util/CAFEMObj.hpp Bool_t has_spatial_track_match(Float_t Chi2Cut=0.01) const {return _tmbemcluster_ptr->has_spatial_track_match(Chi2Cut);} /tmb_tree/p21-br-53/tmb_tree/TMBEMCluster.hpp Bool_t has_spatial_track_match(Float_t Chi2Cut=0.01) const {return (_SpatialTrMatchChi2ProbBest>Chi2Cut);} tmb_tree/p21-br-53/src/TMBEMCluster.cpp void TMBEMCluster::Set1(Bool_t is_in_phi_fiducial, ...,Float_t SpatialTrMatchChi2ProbBest): _SpatialTrMatchChi2ProbBest = SpatialTrMatchChi2ProbBest; Set1 function is called from tmb_tree_maker tmb_tree_maker/p21-br-19/src/TMBEmclMaker.cpp ... const emid::EMparticle* em_objptr=&(*em_v)[iem]; el_SpatialTrMatchChi2ProbBest = em_objptr->track_match_spatialchi2prob(); TMBEMCluster* pobj = (TMBEMCluster*)emref.GetObject(); pobj->Set1(..., el_SpatialTrMatchChi2ProbBest, ...); p20.13.00/em_evt/src/EMparticle.cpp float EMparticle::track_match_spatialchi2prob() const { return track_match_chi2prob(false); } float EMparticle::track_match_chi2prob(bool use_Eoverp) const { if( use_Eoverp ) { const EMQualityInfo::TrackMatchInfo & trkInfo = TrackInfoSpatialEoP(); return trkInfo._chi2prob; } else { const EMQualityInfo::TrackMatchInfo & trkInfo = TrackInfoSpatial(); return trkInfo._chi2prob; } } p20.13.00/em_evt/em_evt/EMQualityInfo.hpp // methods to get/set new track realted quantites struct TrackMatchInfo { TrackMatchInfo() : _chi2prob(-1.), _ntrkConeSmall(0), _ntrkConeLarge(0), _pttrkConeSmall(0), _pttrkConeLarge(0) {;} chi^2 is calculated in emreco/src/EMTrackFinder.cpp