~maus-scifi/maus/tracker_devel

« back to all changes in this revision

Viewing changes to src/common_cpp/Recon/SciFi/PatternRecognition.cc

  • Committer: cheid001
  • Date: 2015-02-05 14:01:31 UTC
  • mfrom: (1137.1.9 tracker_devel)
  • Revision ID: cheid001-20150205140131-9lsjdptw4pn146rp
more mergin'

Show diffs side-by-side

added added

removed removed

Lines of Context:
474
474
        LeastSquaresFitter::linear_fit(z, x, x_err, line_x, cov_x);
475
475
        LeastSquaresFitter::linear_fit(z, y, y_err, line_y, cov_y);
476
476
 
477
 
        // Squash the covariances of each fit into one vector
 
477
        // Squash the covariances of each fit into one matrix
 
478
        cov_x.ResizeTo(4,4);
 
479
        for ( int i = 0; i < 2; ++i ) {
 
480
          for ( int j = 0; j < 2; ++j ) {
 
481
            cov_x(i+2, j+2) = cov_y(i, j);
 
482
          }
 
483
        }
478
484
        double* a1 = cov_x.GetMatrixArray();
479
 
        std::vector<double> covariance(a1, a1 + sizeof a1 / sizeof a1[0]);
480
 
        double* a2 = cov_y.GetMatrixArray();
481
 
        std::vector<double> v2(a2, a2 + sizeof a2 / sizeof a2[0]);
482
 
        covariance.insert(covariance.end(), v2.begin(), v2.end());
 
485
        std::vector<double> covariance(a1, &a1[16]);
483
486
 
484
487
        // Check track passes chisq test, then create SciFiStraightPRTrack
485
488
        if ( ( line_x.get_chisq() / ( n_points - 2 ) < _straight_chisq_cut ) &&
609
612
    return NULL;
610
613
  }
611
614
 
612
 
  // Squash the two covariances matrices from the fits into a vector
 
615
  // Squash the covariances of each fit into one matrix
 
616
  cov_circle.ResizeTo(5,5);
 
617
  for ( int i = 0; i < 2; ++i ) {
 
618
    for ( int j = 0; j < 2; ++j ) {
 
619
      cov_circle(i+3, j+3) = cov_sz(i, j);
 
620
    }
 
621
  }
613
622
  double* a1 = cov_circle.GetMatrixArray();
614
 
  std::vector<double> covariance(a1, a1 + sizeof a1 / sizeof a1[0]);
615
 
  double* a2 = cov_sz.GetMatrixArray();
616
 
  std::vector<double> v2(a2, a2 + sizeof a2 / sizeof a2[0]);
617
 
  covariance.insert(covariance.end(), v2.begin(), v2.end());
 
623
  std::vector<double> covariance(a1, &a1[25]);
618
624
 
619
625
  // Set all the good sp to used and set the track seeds with them
620
626
  for ( int i = 0; i < static_cast<int>(spnts.size()); ++i ) {