330 section(
"Extra information for threholds");
331 cout <<
"These threshold types have extra information" << endl <<
" ";
332 for(
const string &
tt :
l1menu.thresholdTypes()) {
333 if(
l1menu.thrExtraInfo().hasInfo(
tt) ) {
337 cout << endl <<
"going to print details of the extra threshold information" << endl;
339 auto & exEM =
l1menu.thrExtraInfo().EM();
340 cout <<
" EM" << endl;
341 cout <<
" energy resolution (MeV) " << exEM.resolutionMeV() << endl;
342 cout <<
" ptMinToTopo " << exEM.ptMinToTopo() << endl;
343 for(
const std::string
tt : {
"HAIsoForEMthr",
"EMIsoForEMthr"} ) {
344 cout <<
" Isolation " <<
tt << endl;
345 for(
size_t bit = 1; bit <= 5; bit++) {
346 auto & iso = exEM.isolation(
tt, bit);
347 cout <<
" " << iso << endl;
352 auto & ex =
l1menu.thrExtraInfo().JET();
353 cout <<
" JET" << endl;
354 cout <<
" jetScale " << ex.jetScale() << endl;
355 cout <<
" energy resolution (MeV) " << ex.resolutionMeV() << endl;
356 cout <<
" ptMinToTopoSmallWindow " << ex.ptMinToTopoSmallWindow() << endl;
357 cout <<
" ptMinToTopoLargeWindow " << ex.ptMinToTopoLargeWindow() << endl;
358 cout <<
" ptMinToTopoSmallWindow (MeV) " << ex.ptMinToTopoSmallWindowMeV() << endl;
359 cout <<
" ptMinToTopoLargeWindow (MeV) " << ex.ptMinToTopoLargeWindowMeV() << endl;
360 cout <<
" ptMinToTopoSmallWindow (counts) " << ex.ptMinToTopoSmallWindowCounts() << endl;
361 cout <<
" ptMinToTopoLargeWindow (counts) " << ex.ptMinToTopoLargeWindowCounts() << endl;
364 auto & ex =
l1menu.thrExtraInfo().TAU();
365 cout <<
" TAU" << endl;
366 cout <<
" energy resolution (MeV) " << ex.resolutionMeV() << endl;
367 cout <<
" ptMinToTopo " << ex.ptMinToTopo() << endl;
368 cout <<
" ptMinToTopo (MeV) " << ex.ptMinToTopoMeV() << endl;
369 cout <<
" ptMinToTopo (counts)" << ex.ptMinToTopoCounts() << endl;
370 cout <<
" Isolation EMIsoForTAUthr" << endl;
371 for(
size_t bit = 1; bit <= 5; bit++) {
372 cout <<
" " << ex.isolation(
"EMIsoForTAUthr", bit) << endl;
376 auto & ex =
l1menu.thrExtraInfo().eEM();
377 cout <<
" eEM" << endl;
378 cout <<
" iso maxEt (GeV) " << ex.maxEt() << endl;
379 cout <<
" iso maxEt (MeV) " << ex.maxEtMeV() << endl;
380 cout <<
" iso maxEt (Counts) " << ex.maxEtCounts(ex.resolutionMeV()) << endl;
381 cout <<
" energy resolution (MeV) " << ex.resolutionMeV() << endl;
382 cout <<
" ptMinToTopo " << ex.ptMinToTopo() << endl;
383 cout <<
" ptMinToTopo (MeV) " << ex.ptMinToTopoMeV() << endl;
384 cout <<
" ptMinToTopo (counts)" << ex.ptMinToTopoCounts() << endl;
385 cout <<
" working point Loose" << endl;
387 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
388 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
389 <<
", isolation=" << iso.value() << endl;
391 cout <<
" working point Medium" << endl;
393 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
394 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
395 <<
", isolation=" << iso.value() << endl;
397 cout <<
" working point Tight" << endl;
399 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
400 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
401 <<
", isolation=" << iso.value() << endl;
406 for(
int ieta : { -30, -20, -10, 0, 10, 20, 30 } ) {
408 int reta_loose_fw = iso_loose.reta_fw();
409 int rhad_loose_fw = iso_loose.rhad_fw();
410 int wstot_loose_fw = iso_loose.wstot_fw();
411 int reta_loose_d = iso_loose.reta_d();
412 int rhad_loose_d = iso_loose.rhad_d();
413 int wstot_loose_d = iso_loose.wstot_d();
414 cout <<
"ieta=" << ieta <<
" loose => reta_fw=" << reta_loose_fw <<
", rhad_fw=" << rhad_loose_fw <<
", wstot_fw=" << wstot_loose_fw << endl;
415 cout <<
"ieta=" << ieta <<
" loose => reta_d=" << reta_loose_d <<
", rhad_d=" << rhad_loose_d <<
", wstot_d=" << wstot_loose_d << endl;
420 auto & ex =
l1menu.thrExtraInfo().jEM();
421 cout <<
" jEM" << endl;
422 cout <<
" energy resolution (MeV) " << ex.resolutionMeV() << endl;
423 cout <<
" ptMinToTopo " << ex.ptMinToTopo(
"1A") << endl;
424 cout <<
" ptMinToTopo (MeV) " << ex.ptMinToTopoMeV(
"1A") << endl;
425 cout <<
" ptMinToTopo (counts)" << ex.ptMinToTopoCounts(
"1A") << endl;
426 cout <<
" ptMinxTOB " << ex.ptMinxTOB(
"1A") << endl;
427 cout <<
" ptMinxTOB (MeV) " << ex.ptMinxTOBMeV(
"1A") << endl;
428 cout <<
" ptMinxTOB (counts) " << ex.ptMinxTOBCounts(
"1A") << endl;
429 cout <<
" working point Loose" << endl;
431 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
432 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
433 <<
", isolation=" << iso.value() << endl;
435 cout <<
" working point Medium" << endl;
437 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
438 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
439 <<
", isolation=" << iso.value() << endl;
441 cout <<
" working point Tight" << endl;
443 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
444 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
445 <<
", isolation=" << iso.value() << endl;
451 auto & ex =
l1menu.thrExtraInfo().jJ();
452 cout <<
" jJ" << endl;
453 cout <<
" energy resolution (MeV) " << ex.resolutionMeV() << endl;
454 cout <<
" ptMinToTopo " << ex.ptMinToTopo(
"1A") << endl;
455 cout <<
" ptMinToTopo (MeV) " << ex.ptMinToTopoMeV(
"1A") << endl;
456 cout <<
" ptMinToTopo (counts) " << ex.ptMinToTopoCounts(
"1A") << endl;
457 cout <<
" ptMinxTOB " << ex.ptMinxTOB(
"1A") << endl;
458 cout <<
" ptMinxTOB (MeV) " << ex.ptMinxTOBMeV(
"1A") << endl;
459 cout <<
" ptMinxTOB (counts) " << ex.ptMinxTOBCounts(
"1A") << endl;
462 auto & ex =
l1menu.thrExtraInfo().jLJ();
463 cout <<
" jLJ" << endl;
464 cout <<
" energy resolution (MeV) " << ex.resolutionMeV() << endl;
465 cout <<
" ptMinToTopo " << ex.ptMinToTopo(
"1A") << endl;
466 cout <<
" ptMinToTopo (MeV) " << ex.ptMinToTopoMeV(
"1A") << endl;
467 cout <<
" ptMinToTopo (counts) " << ex.ptMinToTopoCounts(
"1A") << endl;
468 cout <<
" ptMinxTOB " << ex.ptMinxTOB(
"1A") << endl;
469 cout <<
" ptMinxTOB (MeV) " << ex.ptMinxTOBMeV(
"1A") << endl;
470 cout <<
" ptMinxTOB (counts) " << ex.ptMinxTOBCounts(
"1A") << endl;
473 auto & ex =
l1menu.thrExtraInfo().gLJ();
474 cout <<
" gLJ" << endl;
475 cout <<
" energy resolution (MeV) " << ex.resolutionMeV() << endl;
476 cout <<
" ptMinToTopo (eta range "<<
std::to_string(1)<<
") in GeV " << ex.ptMinToTopo(1) << endl;
477 cout <<
" ptMinToTopo (MeV) " << ex.ptMinToTopoMeV(1) << endl;
478 cout <<
" ptMinToTopo (counts) " << ex.ptMinToTopoCounts(1) << endl;
479 cout <<
" seedThr(A) " << ex.seedThr(
'A') << endl;
480 cout <<
" seedThr(A) (MeV) " << ex.seedThrMeV(
'A') << endl;
481 cout <<
" rhoTowerMin(B) " << ex.rhoTowerMin(
'B') << endl;
482 cout <<
" rhoTowerMin(B) (MeV) " << ex.rhoTowerMinMeV(
'B') << endl;
483 cout <<
" rhoTowerMax(C) " << ex.rhoTowerMax(
'C') << endl;
484 cout <<
" rhoTowerMax(C) (MeV) " << ex.rhoTowerMaxMeV(
'C') << endl;
487 auto & ex =
l1menu.thrExtraInfo().gXE();
488 cout <<
" gXE" << endl;
489 cout <<
" energy resolution (MeV) " << ex.resolutionMeV() << endl;
490 cout <<
" seedThr(A) " << ex.seedThr(
'A') << endl;
491 cout <<
" seedThr(A) (MeV) " << ex.seedThrMeV(
'A') << endl;
492 cout <<
" XERHO_sigmaPosA " << ex.XERHO_param(
'A',
true) << endl;
493 cout <<
" XERHO_sigmaNegB " << ex.XERHO_param(
'B',
false) << endl;
494 cout <<
" XEJWOJ_a_C " << ex.JWOJ_param(
'C',
'a') << endl;
495 cout <<
" XEJWOJ_b_B " << ex.JWOJ_param(
'B',
'b') << endl;
496 cout <<
" XEJWOJ_c_A " << ex.JWOJ_param(
'A',
'c') << endl;
499 auto & ex =
l1menu.thrExtraInfo().eTAU();
500 cout <<
" eTAU" << endl;
501 cout <<
" energy resolution (MeV) " << ex.resolutionMeV() << endl;
502 cout <<
" ptMinToTopo " << ex.ptMinToTopo() << endl;
503 cout <<
" ptMinToTopo (MeV) " << ex.ptMinToTopoMeV() << endl;
504 cout <<
" ptMinToTopo (counts)" << ex.ptMinToTopoCounts() << endl;
505 cout <<
" working point Loose" << endl;
507 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
508 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
509 <<
", isolation=" << iso.value() << endl;
511 cout <<
" working point Medium" << endl;
513 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
514 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
515 <<
", isolation=" << iso.value() << endl;
517 cout <<
" working point Tight" << endl;
519 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
520 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
521 <<
", isolation=" << iso.value() << endl;
525 auto & ex =
l1menu.thrExtraInfo().jTAU();
526 cout <<
" jTAU" << endl;
527 cout <<
" energy resolution (MeV) " << ex.resolutionMeV() << endl;
528 cout <<
" ptMinToTopo " << ex.ptMinToTopo(
"1A") << endl;
529 cout <<
" ptMinToTopo (MeV) " << ex.ptMinToTopoMeV(
"1A") << endl;
530 cout <<
" ptMinToTopo (counts)" << ex.ptMinToTopoCounts(
"1A") << endl;
531 cout <<
" ptMinxTOB " << ex.ptMinxTOB(
"1A") << endl;
532 cout <<
" ptMinxTOB (MeV) " << ex.ptMinxTOBMeV(
"1A") << endl;
533 cout <<
" ptMinxTOB (counts) " << ex.ptMinxTOBCounts(
"1A") << endl;
534 cout <<
" working point Loose" << endl;
536 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
537 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
538 <<
", isolation=" << iso.value() << endl;
540 cout <<
" working point Medium" << endl;
542 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
543 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
544 <<
", isolation=" << iso.value() << endl;
546 cout <<
" working point Tight" << endl;
548 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
549 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
550 <<
", isolation=" << iso.value() << endl;
554 auto & ex =
l1menu.thrExtraInfo().cTAU();
555 cout <<
" cTAU" << endl;
556 cout <<
" working point Loose" << endl;
558 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
559 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
560 <<
", isolation=" << iso.value() << endl;
562 cout <<
" working point Medium" << endl;
564 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
565 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
566 <<
", isolation=" << iso.value() << endl;
568 cout <<
" working point Tight" << endl;
570 cout <<
" range etaMin=" << iso.etaMin() <<
", etaMax=" << iso.etaMax()
571 <<
", priority=" << iso.priority() <<
", symmetric=" << (iso.symmetric() ?
"yes" :
"no")
572 <<
", isolation=" << iso.value() << endl;
576 auto & exMU =
l1menu.thrExtraInfo().MU();
577 cout <<
" MU" << endl;
578 cout <<
" known pt values for rpc ";
579 for(
auto pt : exMU.knownRpcPtValues()) cout <<
pt <<
" ";
580 cout << endl <<
" known pt values for tgc ";
581 for(
auto pt : exMU.knownTgcPtValues()) cout <<
pt <<
" ";
583 cout <<
" RPC pt value for index 2: "<< exMU.ptForRpcIdx(2) << endl;
584 cout <<
" TGC pt value for index 2: "<< exMU.ptForTgcIdx(2) << endl;
585 cout <<
" TGC index for RPC index 2: "<< exMU.tgcIdxForRpcIdx(2) << endl;
587 cout <<
" exclusionList 'rpcFeet'" << endl;
588 for(
auto &
x : exMU.exclusionList(
"rpcFeet")) {
589 cout <<
" sector " <<
x.first <<
": ";
590 for(
auto roi :
x.second ) cout << roi <<
" ";