1 #ifndef JORCASHOWERPOSITIONFIT_INCLUDE 
    2 #define JORCASHOWERPOSITIONFIT_INCLUDE 
   63     std::shared_ptr<JRegressor_t> 
fit0_;
 
   64     std::shared_ptr<JRegressor_t> 
fit_;
 
   86                            const std::string pdfFile):
 
   90       TFile* pdf_file = 
new TFile(pdfFile.c_str());
 
   91       TH2D* hpdf = (TH2D*)pdf_file->Get(
"hPDF2Dist");
 
   94       JRegressor_t::MAXIMUM_ITERATIONS = 10000;
 
   96       fit0_ = std::make_shared<JRegressor_t>(
true);
 
   99       fit_ = std::make_shared<JRegressor_t>(hpdf, 
false);
 
  141       if ( InPreFits.empty() ) 
return;
 
  160       JEvt::iterator __end = InPreFits.end();
 
  161       if (numberOfPrefits > 0) {
 
  162         std::advance(__end = InPreFits.begin(), std::min(static_cast<std::size_t>(numberOfPrefits), InPreFits.size()));
 
  164       std::partial_sort(InPreFits.begin(), __end, InPreFits.end(), 
qualitySorter);
 
  166       if(!InPreFits.empty()) {
 
  168         std::copy(InPreFits.begin(), __end, std::back_inserter(OutFits));
 
  171         JDataL0_t dataL0_selected;
 
  174         buildL0(timeSliceBuildL0, *
moduleRouter_, std::back_inserter(dataL0));  
 
  175         buildL2(timeSliceBuildL2,*
moduleRouter_, std::back_inserter(data));
 
  177         for (JEvt::const_iterator shower = InPreFits.begin(); shower != __end; ++shower) {
 
  181           for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
 
  186             const double t_res = hit.
getT() - vertex.getT(hit_pos);
 
  191               if(D < Dmax_m && (t_res > -40 && t_res < 40) && (cosT >= -1 && cosT <= 0.1)){
 
  192                 dataL0_selected.push_back(hit);
 
  195               if(D < Dmax_m && (t_res > -50 && t_res < 50) && (cosT >= -1 && cosT <= 0.1)){
 
  196                 dataL0_selected.push_back(hit);
 
  202           if(dataL0_selected.size() != 0){
 
  221                     const JFIT::JPoint4D point_shifted(pos_shifted, vertex.getT() + t);
 
  223                     for(JDataL0_t::const_iterator i = dataL0_selected.begin(); i != dataL0_selected.end(); ++i){
 
  225                       chi2 += (*fit0_)(point_shifted, hit);
 
  228                     vertex_hypothesis.
LogLik = chi2;
 
  229                     vertex_hypothesis.
Vertex = point_shifted;
 
  231                     vertex_hypotheses.push_back(vertex_hypothesis);
 
  239             std::partial_sort(vertex_hypotheses.begin(), __end2, vertex_hypotheses.end(), 
sortLogLik);
 
  243               double simplex_step = 1;
 
  244               fit0_->step.resize(4);
 
  250               chi2 = (*fit0_)(
JPoint4D(hp->Vertex), dataL0_selected.begin(), dataL0_selected.end());
 
  256               fit_->step.resize(4);
 
  262               chi2 = (*fit_)(pt, dataL0_selected.begin(), dataL0_selected.end());
 
  264               const int NDF = dataL0_selected.size() - 
fit_->step.size();
 
  269               const double energy(0);
 
  274               OutFits.push_back(outFit);
 
  275               OutFits.rbegin()->setW(13, chi2);
 
  276               OutFits.rbegin()->setW(14, NDF);
 
  279             std::cout<<
"Too few hits " << std::endl;