Declaration of Member function that actually performs the reconstruction.
144 const int FACTORY_LIMIT = 40;
145 const double STANDARD_DEVIATIONS = 1.0;
146 const int NUMBER_OF_L1HITS = (useL0 ? 1 : 4);
158 JDataL0_t dataL0_selected;
161 buildL0(timeSliceBuildL0, *
moduleRouter_, back_inserter(dataL0));
162 buildL2(timeSliceBuildL1, *
moduleRouter_, back_inserter(data));
164 JDataL1_t::iterator __end =
clusterizeWeight(data.begin(), data.end(), match3G);
169 std::copy(data.begin(), data.end(), std::back_inserter(dataL1));
170 JDataL1_t::iterator __end1 = dataL1.end();
176 dataL1.erase(__end1, dataL1.end());
177 dataL1.reserve(dataL1.size() + dataL0.size());
178 __end1 = dataL1.end();
180 for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
184 if (std::count_if(dataL1.begin(), __end1,
JTRIGGER::JBind2nd(match3G,hit)) >= NUMBER_OF_L1HITS){
185 dataL1.push_back(hit);
189 std::sort(__end1, dataL1.end(), compare);
190 __end1 =
clusterize(__end1, dataL1.end(), match3G);
197 double chi2 = std::numeric_limits<double>::max();
203 double ymin = std::numeric_limits<double>::max();
205 JDataL1_t::iterator __end2 = __end1;
207 for (
int n = 0;
n <= numberOfOutliers &&
std::distance(dataL1.begin(), __end2) >
210 std::sort(dataL1.begin(), __end1, compare);
215 fit(dataL1.begin(), __end2);
216 double y =
JFIT::getChi2(fit, dataL1.begin(), __end2, sigma_ns);
219 std::cout <<
"chi2(1) " << y << std::endl;
220 }
else if (y < ymin) {
232 ymin -= STANDARD_DEVIATIONS * STANDARD_DEVIATIONS;
238 fit(dataL1.begin(), __end1);
257 dataL0_selected.clear();
262 for (JDataL0_t::const_iterator i = dataL0.begin(); i != dataL0.end(); ++i) {
267 dataL0_selected.push_back(hit);
271 double simplex_step = 2;
272 fit2_->step.resize(4);
278 chi2 = (*fit2_)(point_shifted, dataL0_selected.begin(), dataL0_selected.end());
283 const double energy(0);
285 fitResult,
getQuality(chi2, (useL0 ? N : NDF)),
288 OutFits.push_back(outFit);
289 OutFits.rbegin()->setW(13, chi2);
290 OutFits.rbegin()->setW(14, NDF);
299 std::cout<<
"Too few hits " << std::endl;