219 JLimit_t& numberOfEvents = inputFile.getLimit();
232 JParser<> zap(
"Example program to test performance of various hit filters.");
242 zap[
'c'] =
make_field(cluster) =
'A',
'B',
'C',
'D',
'E',
'F';
248 catch(
const exception &error) {
249 FATAL(error.what() << endl);
278 if (histogram == 1) {
284 for ( ; x < 30.0; x += 1.0)
287 for ( ; x < 50.0; x += 2.0)
290 for ( ; x < 100.0; x += 5.0)
293 for ( ; x < 200.0; x += 10.0)
296 he =
new TProfile(
"he", NULL, X.size() - 1, X.data());
297 hp =
new TProfile(
"hp", NULL, X.size() - 1, X.data());
301 he =
new TProfile(
"he", NULL, 28, 0.0, 7.0);
302 hp =
new TProfile(
"hp", NULL, 28, 0.0, 7.0);
305 TH1D ht1(
"ht1", NULL, 550, -50.0, +500.0);
306 TH1D ht2(
"ht2", NULL, 550, -50.0, +500.0);
307 TH1D hd1(
"hd1", NULL, 100, -1.0, +1.0);
308 TH1D hd2(
"hd2", NULL, 100, -1.0, +1.0);
309 TH1D hx1(
"hx1", NULL, 100, 0.0, +250.0);
310 TH1D hx2(
"hx2", NULL, 100, 0.0, +250.0);
311 TH1D hw1(
"hw1", NULL, 100, -0.5, +99.5);
312 TH1D hw2(
"hw2", NULL, 100, -0.5, +99.5);
323 const JHorizon horizon(0.2, 2);
335 const Evt*
event = ps;
340 const double E = neutrino.
E;
343 vector<Trk>::const_iterator muon =
event->mc_trks.end();
348 for (vector<Trk>::const_iterator track = event->mc_trks.begin(); track != event->mc_trks.end(); ++track) {
352 if (
is_muon(*track) && track->E > Emax) {
359 if (muon != event->mc_trks.end()) {
376 for (vector<Hit>::const_iterator i = hitlist.begin(); i != hitlist.end(); ++i) {
385 for (JMap_t::iterator i = zmap.begin(); i != zmap.end(); ) {
387 i->second.compile(Tmax_ns, 2);
389 if (i->second.empty())
395 const int L1mc = zmap.size();
405 for (JDAQTimeslice::const_iterator i = timeslice.begin(); i != timeslice.end(); ++i) {
409 buildL2(*i, moduleRouter.
getModule(i->getModuleID()), back_inserter(zbuf));
415 dataL1.push_back(*zbuf.begin());
422 JDataL1_t::iterator __end = dataL1.begin();
436 __end =
clusterize(dataL1.begin(), dataL1.end(), match3B);
445 for (JDataL1_t::iterator i = dataL1.begin(); i != dataL1.end(); ++i)
450 for (JDataL1_t::iterator i = dataL1.begin(); i != dataL1.end(); ++i)
459 for (JDataL1_t::iterator i = dataL1.begin(); i != dataL1.end(); ++i)
462 __end = partition(dataL1.begin(), __end, horizon);
465 for (JDataL1_t::iterator i = dataL1.begin(); i != dataL1.end(); ++i)
471 __end = dataL1.end();
478 JDataL1_t::iterator __q = __end;
485 L1.insert(hit->getModuleID());
487 const double t1 = converter.
getTime(hit->getT());
489 if (zmap[hit->getModuleID()].has(
JTimeRange(t1 - 0.5*Tmax_ns, t1 + 0.5*Tmax_ns))) {
491 L1ok.insert(hit->getModuleID());
497 iter_swap(hit, --__q);
502 if (L1mc != 0 && !L1.empty()) {
504 Double_t x = numeric_limits<Double_t>::max();
511 he->Fill(x, (Double_t) L1ok.size() / (Double_t) L1mc);
512 hp->Fill(x, (Double_t) L1ok.size() / (Double_t) L1.size());
517 for (JDataL1_t::iterator hit = dataL1.begin(); hit != __end; ++hit) {
518 hit->transform(R, pos);
522 for (JDataL1_t::iterator hit = dataL1.begin(); hit != __end; ++hit) {
528 for (JHitL1::const_iterator i = hit->begin(); i != hit->end(); ++i) {
529 if (i->getDot(
gui) < dot)
530 dot = i->getDot(
gui);
533 const double w = (hit->rbegin()->getT() - hit->begin()->getT());
536 ht1.Fill(converter.
getTime(hit->getT()) - t1);
538 hx1.Fill(hit->getX());
541 ht2.Fill(converter.
getTime(hit->getT()) - t1);
543 hx2.Fill(hit->getX());