diff --git a/src/algorithms/tracking/TrackSeeding.cc b/src/algorithms/tracking/TrackSeeding.cc index 1da682b221..e0e06058fa 100644 --- a/src/algorithms/tracking/TrackSeeding.cc +++ b/src/algorithms/tracking/TrackSeeding.cc @@ -181,8 +181,18 @@ std::unique_ptr eicrecon::TrackSeeding::make } auto slopeZ0 = lineFit(rzHitPositions); + const auto xypos = findPCA(RX0Y0); + + //Determine charge + std::vector> xyrelPos; + + for ( const auto& spptr : seed.sp() ) + { + xyrelPos.emplace_back(spptr->x()-xypos.first, spptr->y()-xypos.second); + } + + int charge = determineCharge(xyrelPos); - int charge = determineCharge(xyHitPositions); float theta = atan(1./std::get<0>(slopeZ0)); // normalize to 0 eicrecon::TrackSeeding::make float p = pt * cosh(eta); float qOverP = charge / p; - const auto xypos = findPCA(RX0Y0); - //Calculate phi at xypos auto xpos = xypos.first; auto ypos = xypos.second;