ATLAS Offline Software
Loading...
Searching...
No Matches
TopoInputEvent.cxx
Go to the documentation of this file.
1// Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2
4#include <fstream>
5#include <pthread.h>
6
7using namespace TCS;
8
9//Current input list size for gFEX tobs and jEM might be not accurate
11 TrigConfMessaging("TopoInputEvent"),
12 m_clusters("InputClusters",120),
13 m_eEms("InputeEms",120),
14 m_jEms("InputjEms",60),
15 m_eTaus("InputeTaus",120),
16 m_jTaus("InputjTaus",60),
17 m_cTaus("InputcTaus",120),
18 m_taus("InputTaus",120),
19 m_jets("InputJets",60),
20 m_jLJets("InputjLJets",60),
21 m_gLJets("InputgLJets",60),
22 m_jJets("InputjJets",60),
23 m_gJets("InputgJets",60),
24 m_muons("InputMuons",32),
25 m_lateMuons("InputLateMuons",32),
26 m_muonsNextBC("InputMuonsNextBC",32),
27 m_met("InputMet",1),
28 m_jxe("InputjXE",1),
29 m_jxec("InputjXEC",1),
30 m_jxeperf("InputjXEPERF",1),
31 m_jte("InputjTE",1),
32 m_jtec("InputjTEC",1),
33 m_jtefwd("InputjTEFWD",1),
34 m_jtefwda("InputjTEFWDA",1),
35 m_jtefwdc("InputjTEFWDC",1),
36 m_gxejwoj("InputgXEJWOJ",1),
37 m_gxenc("InputgXENC",1),
38 m_gxerho("InputgXERHO",1),
39 m_gmht("InputgMHT",1),
40 m_gte("InputgTE",1),
41 m_cxe("InputcXE",1),
42 m_gespresso("InputgESPRESSO",1),
43 m_gristretto("InputgRISTRETTO",1)
44{
45}
46
48
50 m_clusters.push_back(cluster);
52}
53
55 m_eEms.push_back(eEm);
57}
58
60 m_jEms.push_back(jEm);
62}
63
65 m_eTaus.push_back(eTau);
67}
68
70 TCS::cTauTOB cTau(eTau.Et(), eTau.eta(), eTau.phi(), TCS::ETAU);
71 cTau.setEtDouble( eTau.EtDouble() );
72 cTau.setEtaDouble( eTau.etaDouble() );
73 cTau.setPhiDouble( eTau.phiDouble() );
74 cTau.setRCore( eTau.rCore() );
75 cTau.setRHad( eTau.rHad() );
76 m_cTaus.push_back(cTau);
78}
79
81 m_taus.push_back(tau);
83}
84
89
91 m_jTaus.push_back(tau);
93}
94
96 TCS::cTauTOB cTau(jTau.Et(), jTau.eta(), jTau.phi(), TCS::JTAU);
97 cTau.setEtDouble( jTau.EtDouble() );
98 cTau.setEtaDouble( jTau.etaDouble() );
99 cTau.setPhiDouble( jTau.phiDouble() );
100 cTau.setEtIso( jTau.EtIso() );
101 m_cTaus.push_back(cTau);
102 return StatusCode::SUCCESS;
103}
104
109
114
119
124
126 m_muons.push_back(muon);
127 return StatusCode::SUCCESS;
128}
129
131 m_lateMuons.push_back(muon);
132 return StatusCode::SUCCESS;
133}
134
139
141 m_met.clear();
142 m_met.push_back(met);
143 return StatusCode::SUCCESS;
144}
145
147 m_jxe.clear();
148 m_jxe.push_back(jxe);
149 return StatusCode::SUCCESS;
150}
151
153 m_jxec.clear();
154 m_jxec.push_back(jxec);
155 return StatusCode::SUCCESS;
156}
157
159 m_jte.clear();
160 m_jte.push_back(jte);
161 return StatusCode::SUCCESS;
162}
163
165 m_jtec.clear();
166 m_jtec.push_back(jtec);
167 return StatusCode::SUCCESS;
168}
169
171 m_jtefwd.clear();
172 m_jtefwd.push_back(jtefwd);
173 return StatusCode::SUCCESS;
174}
175
181
187
189 m_gxejwoj.clear();
190 m_gxejwoj.push_back(gxejwoj);
191 return StatusCode::SUCCESS;
192}
193
195 m_gmht.clear();
196 m_gmht.push_back(gmht);
197 return StatusCode::SUCCESS;
198}
199
201 m_gxenc.clear();
202 m_gxenc.push_back(gxenc);
203 return StatusCode::SUCCESS;
204}
205
207 m_gxerho.clear();
208 m_gxerho.push_back(gxerho);
209 return StatusCode::SUCCESS;
210}
211
213 m_gte.clear();
214 m_gte.push_back(gte);
215 return StatusCode::SUCCESS;
216}
217
219 m_cxe.clear();
220 m_cxe.push_back(cxe);
221 return StatusCode::SUCCESS;
222}
223
229
235
236
237StatusCode TopoInputEvent::setEventInfo(const uint32_t runNo, const uint32_t evtNo, const uint32_t lumiB, const uint32_t BCID) {
238 m_runNo = runNo;
239 m_evtNo = evtNo;
240 m_lumiB = lumiB;
241 m_BCID = BCID;
242 return StatusCode::SUCCESS;
243}
244
249
254
259
264
269
274
279
284
289
294
299
304
309
314
319
324
329
334
339
344
349
354
359
364
369
374
379
384
389
390// access to data for the steering
391const InputTOBArray *
393 switch(tobType) {
394 case CLUSTER: return &m_clusters;
395 case EEM: return &m_eEms;
396 case JEM: return &m_jEms;
397 case CTAU: return &m_cTaus;
398 case JET: return &m_jets;
399 case ETAU: return &m_eTaus;
400 case JTAU: return &m_jTaus;
401 case JJET: return &m_jJets;
402 case GJET: return &m_gJets;
403 case JLJET: return &m_jLJets;
404 case GLJET: return &m_gLJets;
405 case MUON: return &m_muons;
406 case LATEMUON: return &m_lateMuons;
407 case MUONNEXTBC: return &m_muonsNextBC;
408 case TAU: return &m_taus;
409 case MET: return &m_met;
410 case JXE: return &m_jxe;
411 case JXEC: return &m_jxec;
412 case JXEPERF: return &m_jxeperf;
413 case JTE: return &m_jte;
414 case JTEC: return &m_jtec;
415 case JTEFWD: return &m_jtefwd;
416 case JTEFWDA: return &m_jtefwda;
417 case JTEFWDC: return &m_jtefwdc;
418 case GXEJWOJ: return &m_gxejwoj;
419 case GXENC: return &m_gxenc;
420 case GXERHO: return &m_gxerho;
421 case GMHT: return &m_gmht;
422 case GTE: return &m_gte;
423 case CXE: return &m_cxe;
424 case GESPRESSO: return &m_gespresso;
425 case GRISTRETTO: return &m_gristretto;
426 }
427 return 0;
428}
429
431{
432 //Not using or setting the overflow bits in practice. We will need to get back to this in 2022.
433 bool inputOverflow = false;
434 switch(tobType) {
435 case CLUSTER: inputOverflow = overflowFromEmtauInput(); break;
436 case EEM: inputOverflow = overflowFromeEmInput(); break;
437 case JEM: inputOverflow = overflowFromjEmInput(); break;
438 case CTAU: inputOverflow = overflowFromcTauInput(); break;
439 case JET: inputOverflow = overflowFromJetInput(); break;
440 case ETAU: inputOverflow = overflowFromeTauInput(); break;
441 case JTAU: inputOverflow = overflowFromjTauInput(); break;
442 case JJET: inputOverflow = overflowFromjJetInput(); break;
443 case GJET: inputOverflow = overflowFromgJetInput(); break;
444 case JLJET: inputOverflow = overflowFromjLJetInput(); break;
445 case GLJET: inputOverflow = overflowFromgLJetInput(); break;
446 case MUON: inputOverflow = overflowFromMuonInput(); break;
447 case LATEMUON: inputOverflow = overflowFromLateMuonInput(); break;
448 case MUONNEXTBC: inputOverflow = overflowFromMuonNextBCInput(); break;
449 case TAU: inputOverflow = overflowFromEmtauInput(); break;
450 case MET: inputOverflow = overflowFromEnergyInput(); break;
451 case JXE: inputOverflow = overflowFromjXEInput(); break;
452 case JXEC: inputOverflow = overflowFromjXEInput(); break;
453 case JXEPERF: inputOverflow = overflowFromjXEInput(); break;
454 case JTE: inputOverflow = overflowFromjTEInput(); break;
455 case JTEC: inputOverflow = overflowFromjTECInput(); break;
456 case JTEFWD: inputOverflow = overflowFromjTEFWDInput(); break;
457 case JTEFWDA: inputOverflow = overflowFromjTEFWDAInput(); break;
458 case JTEFWDC: inputOverflow = overflowFromjTEFWDCInput(); break;
459 case GXEJWOJ: inputOverflow = overflowFromgXEJWOJInput(); break;
460 case GXENC: inputOverflow = overflowFromgXEJWOJInput(); break;
461 case GXERHO: inputOverflow = overflowFromgXEJWOJInput(); break;
462 case GMHT: inputOverflow = overflowFromgMHTInput(); break;
463 case GTE: inputOverflow = overflowFromgTEInput(); break;
464 case CXE: inputOverflow = overflowFromcXEInput(); break;
465 case GESPRESSO: inputOverflow = overflowFromgESPRESSOInput(); break;
466 case GRISTRETTO: inputOverflow = overflowFromgRISTRETTOInput(); break;
467 default: inputOverflow = false;
468 }
469 return inputOverflow;
470}
471
474 // only need to clear the vectors since the objects themselves are
475 // collected on the ClusterTOB::heap and reset by the
476 // TopoSteering::reset
477 m_clusters.clear();
478 m_eEms.clear();
479 m_jEms.clear();
480 m_eTaus.clear();
481 m_cTaus.clear();
482 m_jets.clear();
483 m_jTaus.clear();
484 m_jLJets.clear();
485 m_gLJets.clear();
486 m_jJets.clear();
487 m_gJets.clear();
488 m_taus.clear();
489 m_muons.clear();
490 m_lateMuons.clear();
491 m_muonsNextBC.clear();
492 m_met.clear();
493 m_jxe.clear();
494 m_jxec.clear();
495 m_jxeperf.clear();
496 m_jte.clear();
497 m_jtec.clear();
498 m_jtefwd.clear();
499 m_jtefwda.clear();
500 m_jtefwdc.clear();
501 m_gxejwoj.clear();
502 m_gxenc.clear();
503 m_gxerho.clear();
504 m_gmht.clear();
505 m_gte.clear();
506 m_cxe.clear();
507 m_gespresso.clear();
508 m_gristretto.clear();
509 m_runNo = 0;
510 m_evtNo = 0;
511 m_lumiB = 0;
512 m_BCID = 0;
513 setMET(MetTOB(0,0,0)); // default MET
514 setjXE(jXETOB(0,0,0)); // default jXE
515 setjXEC(jXETOB(0,0,0)); // default jXEC
516 setjTE(jTETOB(0)); // default jTE
517 setjTEC(jTETOB(0)); // default jTEC
518 setjTEFWD(jTETOB(0)); // default jTEFWD
519 setjTEFWDA(jTETOB(0)); // default jTEFWDA
520 setjTEFWDC(jTETOB(0)); // default jTEFWDC
521 setgXEJWOJ(gXETOB(0,0,0)); // default gXEJWOJ
522 setgXENC(gXETOB(0,0,0)); // default gXENC
523 setgXERHO(gXETOB(0,0,0)); // default gXERHO
524 setgMHT(gXETOB(0,0,0)); // default gMHT
525 setgTE(gTETOB(0)); // default gTE
526 setcXE(jXETOB(0,0,0)); // default cXE
527 setgESPRESSO(gTETOB(0)); // default gESPRESSO
528 setgRISTRETTO(gTETOB(0)); // default gRISTRETTO
530
531 return StatusCode::SUCCESS;
532}
533
534void
535TopoInputEvent::enableInputDump( const std::string& filename, bool enable ) {
536 m_dumpEnabled = enable;
537 m_inputDumpFile = filename;
538}
539
540
541void
543
544 if( ! m_dumpEnabled ) return;
545
546 std::ofstream file(m_inputDumpFile, std::ios_base::out | std::ios_base::app );
547 file << "<event>" << std::endl;
548
549 file << "<cluster>" << std::endl;
550 for(ClusterTOB* cluster : m_clusters) {
551 file << cluster->Et() << " " << cluster->isolation() << " " << cluster->eta() << " " << cluster->phi() << " " << cluster->etaDouble() << " " << cluster->phiDouble() << std::endl;
552 }
553 file << "</cluster>" << std::endl;
554
555 file << "<eEm>" << std::endl;
556 for(eEmTOB* em : m_eEms) {
557 file << em->Et() << " " << em->Reta() << " " << em->Rhad() << " " << em->Wstot() << " " << em->eta() << " " << em->phi() << " " << em->etaDouble() << " " << em->phiDouble() << std::endl;
558 }
559 file << "</eEm>" << std::endl;
560
561 file << "<jEm>" << std::endl;
562 for(jEmTOB* em : m_jEms) {
563 file << em->Et() << " " << em->eta() << " " << em->phi() << " " << em->etaDouble() << " " << em->phiDouble() << std::endl;
564 }
565 file << "</jEm>" << std::endl;
566
567 file << "<eTau>" << std::endl;
568 for(eTauTOB* tau : m_eTaus) {
569 file << tau->Et() << " " << tau->rCore() << " " << tau->rHad() << " " << tau->eta() << " " << tau->phi() << " " << tau->etaDouble() << " " << tau->phiDouble() << std::endl;
570 }
571 file << "</eTau>" << std::endl;
572
573 file << "<tau>" << std::endl;
574 for(ClusterTOB* tau : m_taus) {
575 file << tau->Et() << " " << tau->isolation() << " " << tau->eta() << " " << tau->phi() << " " << tau->etaDouble() << " " << tau->phiDouble() << std::endl;
576 }
577 file << "</tau>" << std::endl;
578
579 file << "<jet>" << std::endl;
580 for(JetTOB* jet : m_jets) {
581 file << jet->Et1() << " " << jet->Et2() << " " << jet->eta() << " " << jet->phi() << " " << jet->etaDouble() << " " << jet->phiDouble() << std::endl;
582 }
583 file << "</jet>" << std::endl;
584
585 file << "<jTau>" << std::endl;
586 for(jTauTOB* tau : m_jTaus) {
587 file << tau->Et() << " " << tau->eta() << " " << tau->phi() << " " << tau->etaDouble() << " " << tau->phiDouble() << std::endl;
588 }
589 file << "</jTau>" << std::endl;
590
591 file << "<jLJet>" << std::endl;
592 for(jLJetTOB* jet : m_jLJets) {
593 file << jet->Et() << " " << jet->eta() << " " << jet->phi() << " " << jet->etaDouble() << " " << jet->phiDouble() << std::endl;
594 }
595 file << "</jLJet>" << std::endl;
596
597 file << "<gLJet>" << std::endl;
598 for(gLJetTOB* jet : m_gLJets) {
599 file << jet->Et() << " " << jet->eta() << " " << jet->phi() << " " << jet->etaDouble() << " " << jet->phiDouble() << std::endl;
600 }
601 file << "</gLJet>" << std::endl;
602
603 file << "<jJet>" << std::endl;
604 for(jJetTOB* jet : m_jJets) {
605 file << jet->Et() << " " << jet->eta() << " " << jet->phi() << " " << jet->etaDouble() << " " << jet->phiDouble() << std::endl;
606 }
607 file << "</jJet>" << std::endl;
608
609 file << "<gJet>" << std::endl;
610 for(gJetTOB* jet : m_gJets) {
611 file << jet->Et() << " " << jet->eta() << " " << jet->phi() << " " << jet->etaDouble() << " " << jet->phiDouble() << std::endl;
612 }
613 file << "</gJet>" << std::endl;
614
615 file << "<muon>" << std::endl;
616 for(MuonTOB* muon : m_muons) {
617 file << muon->Et() << " " << muon->eta() << " " << muon->phi() << " " << muon->EtaDouble() << " " << muon->PhiDouble() << std::endl;
618 }
619 file << "</muon>" << std::endl;
620
621 file << "<lateMuon>" << std::endl;
622 for(LateMuonTOB* lateMuon : m_lateMuons) {
623 file << lateMuon->Et() << " " << lateMuon->eta() << " " << lateMuon->phi() << " " << lateMuon->EtaDouble() << " " << lateMuon->PhiDouble() << std::endl;
624 }
625 file << "</lateMuon>" << std::endl;
626
627 file << "<muonNextBC>" << std::endl;
628 for(MuonNextBCTOB* muonNextBC : m_muonsNextBC) {
629 file << muonNextBC->Et() << " " << muonNextBC->eta() << " " << muonNextBC->phi() << " " << muonNextBC->EtaDouble() << " " << muonNextBC->PhiDouble() << std::endl;
630 }
631 file << "</muonNextBC>" << std::endl;
632
633 file << "<jxe>" << std::endl;
634 for(const jXETOB* jxe : m_jxe) {
635 file << jxe->Ex() << " " << jxe->Ey() << " " << jxe->Et() << std::endl;
636 }
637 file << "</jxe>" << std::endl;
638
639 file << "<jte>" << std::endl;
640 for(const jTETOB* jte : m_jte) {
641 file << jte->sumEt() << std::endl;
642 }
643 file << "</jte>" << std::endl;
644
645 file << "<jtec>" << std::endl;
646 for(const jTETOB* jtec : m_jtec) {
647 file << jtec->sumEt() << std::endl;
648 }
649 file << "</jtec>" << std::endl;
650
651 file << "<jtefwd>" << std::endl;
652 for(const jTETOB* jtefwd : m_jtefwd) {
653 file << jtefwd->sumEt() << std::endl;
654 }
655 file << "</jtefwd>" << std::endl;
656
657 file << "<jtefwda>" << std::endl;
658 for(const jTETOB* jtefwda : m_jtefwda) {
659 file << jtefwda->sumEt() << std::endl;
660 }
661 file << "</jtefwda>" << std::endl;
662
663 file << "<jtefwdc>" << std::endl;
664 for(const jTETOB* jtefwdc : m_jtefwdc) {
665 file << jtefwdc->sumEt() << std::endl;
666 }
667 file << "</jtefwdc>" << std::endl;
668
669 file << "<gxejwoj>" << std::endl;
670 for(const gXETOB* gxejwoj : m_gxejwoj) {
671 file << gxejwoj->Ex() << " " << gxejwoj->Ey() << " " << gxejwoj->Et() << std::endl;
672 }
673 file << "</gxejwoj>" << std::endl;
674
675 file << "<gmht>" << std::endl;
676 for(const gXETOB* gmht : m_gmht) {
677 file << gmht->Ex() << " " << gmht->Ey() << " " << gmht->Et() << std::endl;
678 }
679 file << "</gmht>" << std::endl;
680
681 file << "<gxenc>" << std::endl;
682 for(const gXETOB* gxenc : m_gxenc) {
683 file << gxenc->Ex() << " " << gxenc->Ey() << " " << gxenc->Et() << std::endl;
684 }
685 file << "</gxenc>" << std::endl;
686
687 file << "<gxerho>" << std::endl;
688 for(const gXETOB* gxerho : m_gxerho) {
689 file << gxerho->Ex() << " " << gxerho->Ey() << " " << gxerho->Et() << std::endl;
690 }
691 file << "</gxerho>" << std::endl;
692
693 file << "<gte>" << std::endl;
694 for(const gTETOB* gte : m_gte) {
695 file << gte->sumEt() << std::endl;
696 }
697 file << "</gte>" << std::endl;
698
699 file << "<cxe>" << std::endl;
700 for(const jXETOB* cxe : m_cxe) {
701 file << cxe->Ex() << " " << cxe->Ey() << " " << cxe->Et() << std::endl;
702 }
703 file << "</cxe>" << std::endl;
704
705 file << "<gespresso>" << std::endl;
706 for(const gTETOB* gespresso : m_gespresso) {
707 file << gespresso->sumEt() << std::endl;
708 }
709 file << "</gespresso>" << std::endl;
710
711 file << "<gristretto>" << std::endl;
712 for(const gTETOB* gristretto : m_gristretto) {
713 file << gristretto->sumEt() << std::endl;
714 }
715 file << "</gristretto>" << std::endl;
716
717
718
719 file << "<met>" << std::endl;
720 for(MetTOB* met : m_met) {
721 file << met->Ex() << " " << met->Ey() << " " << met->Et() << std::endl;
722 }
723 file << "</met>" << std::endl;
724 file << "<info>" << std::endl;
725 file << m_runNo << " " << m_evtNo << " " << m_lumiB << " " << m_BCID << std::endl;
726 file << "</info>" << std::endl;
727 file << "</event>" << std::endl;
728 file.close();
729}
730
731void
733 if( ! m_dumpEnabled ) return;
734 std::ofstream file(m_inputDumpFile);
735 file << "<file>" << std::endl;
736 file.close();
737}
738
739void
741 if( ! m_dumpEnabled ) return;
742 std::ofstream file(m_inputDumpFile, std::ios_base::out | std::ios_base::app);
743 file << "</file>" << std::endl;
744 file.close();
745}
746
747
748
749namespace TCS {
750
751
752std::ostream & operator<<(std::ostream &o, const TCS::TopoInputEvent &evt) {
753 o << "Event:" << std::endl;
754 o << " #clusters: " << evt.clusters().size() << " (capacity: " << evt.clusters().capacity() << ")" << std::endl;
755 o << " #eEms : " << evt.eEms().size() << " (capacity: " << evt.eEms().capacity() << ")" << std::endl;
756 o << " #eTaus : " << evt.eTaus().size() << " (capacity: " << evt.eTaus().capacity() << ")" << std::endl;
757 o << " #taus : " << evt.taus().size() << " (capacity: " << evt.taus().capacity() << ")" << std::endl;
758 o << " #jets : " << evt.jets().size() << " (capacity: " << evt.jets().capacity() << ")" << std::endl;
759 o << " #jJets : " << evt.jJets().size() << " (capacity: " << evt.jJets().capacity() << ")" << std::endl;
760 o << " #muons : " << evt.muons().size() << " (capacity: " << evt.muons().capacity() << ")" << std::endl;
761 o << " #latemuons : " << evt.lateMuons().size() << " (capacity: " << evt.lateMuons().capacity() << ")" << std::endl;
762 o << " #muonsNextBC : " << evt.muonsNextBC().size() << " (capacity: " << evt.muonsNextBC().capacity() << ")" << std::endl;
763 o << " #jxe : " << evt.m_jxe.size() << " (capacity: " << evt.m_jxe.capacity() << ")" << std::endl;
764 o << " #jte : " << evt.m_jte.size() << " (capacity: " << evt.m_jte.capacity() << ")" << std::endl;
765 o << " #jtec : " << evt.m_jtec.size() << " (capacity: " << evt.m_jtec.capacity() << ")" << std::endl;
766 o << " #jtefwd : " << evt.m_jtefwd.size() << " (capacity: " << evt.m_jtefwd.capacity() << ")" << std::endl;
767 o << " #jtefwda : " << evt.m_jtefwda.size() << " (capacity: " << evt.m_jtefwda.capacity() << ")" << std::endl;
768 o << " #jtefwdc : " << evt.m_jtefwdc.size() << " (capacity: " << evt.m_jtefwdc.capacity() << ")" << std::endl;
769 o << " #gxejwoj : " << evt.m_gxejwoj.size() << " (capacity: " << evt.m_gxejwoj.capacity() << ")" << std::endl;
770 o << " #gmht : " << evt.m_gmht.size() << " (capacity: " << evt.m_gmht.capacity() << ")" << std::endl;
771 o << " #gxenc : " << evt.m_gxenc.size() << " (capacity: " << evt.m_gxenc.capacity() << ")" << std::endl;
772 o << " #gxerho : " << evt.m_gxerho.size() << " (capacity: " << evt.m_gxerho.capacity() << ")" << std::endl;
773 o << " #gte : " << evt.m_gte.size() << " (capacity: " << evt.m_gte.capacity() << ")" << std::endl;
774 o << " #cxe : " << evt.m_cxe.size() << " (capacity: " << evt.m_cxe.capacity() << ")" << std::endl;
775 o << " #gespresso : " << evt.m_gespresso.size() << " (capacity: " << evt.m_gespresso.capacity() << ")" << std::endl;
776 o << " #gristretto : " << evt.m_gristretto.size() << " (capacity: " << evt.m_gristretto.capacity() << ")" << std::endl;
777 o << " #met : " << evt.m_met.size() << " (capacity: " << evt.m_met.capacity() << ")" << std::endl;
778 o << " #info : runNo, evtNo, lumiBlock and BCID" << std::endl;
779
780 o << "Details:" << std::endl;
781 o << "Cluster input vector (" << evt.clusters().name() << "):" << std::endl << evt.clusters();
782 o << "eEm input vector (" << evt.eEms().name() << "):" << std::endl << evt.eEms();
783 o << "eTau input vector (" << evt.eTaus().name() << "):" << std::endl << evt.eTaus();
784 o << "Tau input vector (" << evt.taus().name() << "):" << std::endl << evt.taus();
785 o << "Jet input vector (" << evt.jets().name() << "):" << std::endl << evt.jets();
786 o << "jJet input vector (" << evt.jJets().name() << "):" << std::endl << evt.jJets();
787 o << "Muon input vector (" << evt.muons().name() << "):" << std::endl << evt.muons();
788 o << "LateMuon input vector (" << evt.lateMuons().name() << "):" << std::endl << evt.lateMuons();
789 o << "MuonNextBC input vector (" << evt.muonsNextBC().name() << "):" << std::endl << evt.muonsNextBC();
790 o << "jXE input (" << evt.m_jxe.name() << "):" << std::endl << evt.m_jxe;
791 o << "jTE input (" << evt.m_jte.name() << "):" << std::endl << evt.m_jte;
792 o << "jTEC input (" << evt.m_jtec.name() << "):" << std::endl << evt.m_jtec;
793 o << "jTEFWD input (" << evt.m_jtefwd.name() << "):" << std::endl << evt.m_jtefwd;
794 o << "jTEFWDA input (" << evt.m_jtefwda.name() << "):" << std::endl << evt.m_jtefwda;
795 o << "jTEFWDC input (" << evt.m_jtefwdc.name() << "):" << std::endl << evt.m_jtefwdc;
796 o << "gXEJWOJ input (" << evt.m_gxejwoj.name() << "):" << std::endl << evt.m_gxejwoj;
797 o << "gMHT input (" << evt.m_gmht.name() << "):" << std::endl << evt.m_gmht;
798 o << "gXENC input (" << evt.m_gxenc.name() << "):" << std::endl << evt.m_gxenc;
799 o << "gXERHO input (" << evt.m_gxerho.name() << "):" << std::endl << evt.m_gxerho;
800 o << "gTE input (" << evt.m_gte.name() << "):" << std::endl << evt.m_gte;
801 o << "cXE input (" << evt.m_cxe.name() << "):" << std::endl << evt.m_cxe;
802 o << "gESPRESSO input (" << evt.m_gespresso.name() << "):" << std::endl << evt.m_gespresso;
803 o << "gRISTRETTO input (" << evt.m_gristretto.name() << "):" << std::endl << evt.m_gristretto;
804 o << "MET input (" << evt.m_met.name() << "):" << std::endl << evt.m_met;
805 o << "Overflow from:"
806 <<" EmtauInput "<<evt.overflowFromEmtauInput()
807 <<" JetInput "<<evt.overflowFromJetInput()
808 <<" EnergyInput "<<evt.overflowFromEnergyInput()
809 <<" MuonInput "<<evt.overflowFromMuonInput()
810 << std::endl;
811 o << "Event info: " << evt.run_number() << " " << evt.event_number() << " " << evt.lumi_block() << " " << evt.bunch_crossing_id();
812
813 return o;
814}
815
816}
817
818
819void
821 TRG_MSG_INFO("Event:");
822 TRG_MSG_INFO(" #clusters: " << clusters().size() << " (capacity: " << clusters().capacity() << ")");
823 TRG_MSG_INFO(" #eEms : " << eEms().size() << " (capacity: " << eEms().capacity() << ")");
824 TRG_MSG_INFO(" #eTaus : " << eTaus().size() << " (capacity: " << eTaus().capacity() << ")");
825 TRG_MSG_INFO(" #taus : " << taus().size() << " (capacity: " << taus().capacity() << ")");
826 TRG_MSG_INFO(" #jets : " << jets().size() << " (capacity: " << jets().capacity() << ")");
827 TRG_MSG_INFO(" #jJets : " << jJets().size() << " (capacity: " << jJets().capacity() << ")");
828 TRG_MSG_INFO(" #muons : " << muons().size() << " (capacity: " << muons().capacity() << ")");
829 TRG_MSG_INFO(" #latemuons : " << lateMuons().size() << " (capacity: " << lateMuons().capacity() << ")");
830 TRG_MSG_INFO(" #muonsNextBC: " << muonsNextBC().size() << " (capacity: " << muonsNextBC().capacity() << ")");
831 TRG_MSG_INFO(" #jxe : " << m_jxe.size() << " (capacity: " << m_jxe.capacity() << ")");
832 TRG_MSG_INFO(" #jte : " << m_jte.size() << " (capacity: " << m_jte.capacity() << ")");
833 TRG_MSG_INFO(" #jtec : " << m_jtec.size() << " (capacity: " << m_jtec.capacity() << ")");
834 TRG_MSG_INFO(" #jtefwd : " << m_jtefwd.size() << " (capacity: " << m_jtefwd.capacity() << ")");
835 TRG_MSG_INFO(" #jtefwda : " << m_jtefwda.size() << " (capacity: " << m_jtefwda.capacity() << ")");
836 TRG_MSG_INFO(" #jtefwdc : " << m_jtefwdc.size() << " (capacity: " << m_jtefwdc.capacity() << ")");
837 TRG_MSG_INFO(" #gxejwoj : " << m_gxejwoj.size() << " (capacity: " << m_gxejwoj.capacity() << ")");
838 TRG_MSG_INFO(" #gmht : " << m_gmht.size() << " (capacity: " << m_gmht.capacity() << ")");
839 TRG_MSG_INFO(" #gxenc : " << m_gxenc.size() << " (capacity: " << m_gxenc.capacity() << ")");
840 TRG_MSG_INFO(" #gxerho : " << m_gxerho.size() << " (capacity: " << m_gxerho.capacity() << ")");
841 TRG_MSG_INFO(" #gte : " << m_gte.size() << " (capacity: " << m_gte.capacity() << ")");
842 TRG_MSG_INFO(" #cxe : " << m_cxe.size() << " (capacity: " << m_cxe.capacity() << ")");
843 TRG_MSG_INFO(" #gespresso : " << m_gespresso.size() << " (capacity: " << m_gespresso.capacity() << ")");
844 TRG_MSG_INFO(" #gristretto : " << m_gristretto.size() << " (capacity: " << m_gristretto.capacity() << ")");
845 TRG_MSG_INFO(" #met : " << m_met.size() << " (capacity: " << m_met.capacity() << ")");
846
847 TRG_MSG_DEBUG("Details:");
848 TRG_MSG_DEBUG("Cluster input vector (" << clusters().name() << "):");
849 for(auto * x : clusters()) TRG_MSG_DEBUG(" " << *x);
850 TRG_MSG_DEBUG("eEm input vector (" << eEms().name() << "):");
851 for(auto * x : eEms()) TRG_MSG_DEBUG(" " << *x);
852 TRG_MSG_DEBUG("eTau input vector (" << eTaus().name() << "):");
853 for(auto * x : eTaus()) TRG_MSG_DEBUG(" " << *x);
854 TRG_MSG_DEBUG("Tau input vector (" << taus().name() << "):");// << std::endl << taus();
855 for(auto * x : taus()) TRG_MSG_DEBUG(" " << *x);
856 TRG_MSG_DEBUG("Jet input vector (" << jets().name() << "):");// << std::endl << jets();
857 for(auto * x : jets()) TRG_MSG_DEBUG(" " << *x);
858 TRG_MSG_DEBUG("jJet input vector (" << jJets().name() << "):");
859 for(auto * x : jJets()) TRG_MSG_DEBUG(" " << *x);
860 TRG_MSG_DEBUG("Muon input vector (" << muons().name() << "):");// << std::endl << muons();
861 for(auto * x : muons()) TRG_MSG_DEBUG(" " << *x);
862 TRG_MSG_DEBUG("LateMuon input vector (" << lateMuons().name() << "):");// << std::endl << latemuons();
863 for(auto * x : lateMuons()) TRG_MSG_DEBUG(" " << *x);
864 TRG_MSG_DEBUG("MuonsNextBC input vector (" << muonsNextBC().name() << "):");// << std::endl << muonsNextBC();
865 for(auto * x : muonsNextBC()) TRG_MSG_DEBUG(" " << *x);
866 TRG_MSG_DEBUG("jXE input (" << m_jxe.name() << "):");
867 for(auto * x : m_jxe) TRG_MSG_DEBUG(" " << *x);
868 TRG_MSG_DEBUG("jTE input (" << m_jte.name() << "):");
869 for(auto * x : m_jte) TRG_MSG_DEBUG(" " << *x);
870 TRG_MSG_DEBUG("jTEC input (" << m_jtec.name() << "):");
871 for(auto * x : m_jtec) TRG_MSG_DEBUG(" " << *x);
872 TRG_MSG_DEBUG("jTEFWD input (" << m_jtefwd.name() << "):");
873 for(auto * x : m_jtefwd) TRG_MSG_DEBUG(" " << *x);
874 TRG_MSG_DEBUG("jTEFWDA input (" << m_jtefwda.name() << "):");
875 for(auto * x : m_jtefwda) TRG_MSG_DEBUG(" " << *x);
876 TRG_MSG_DEBUG("jTEFWDC input (" << m_jtefwdc.name() << "):");
877 for(auto * x : m_jtefwdc) TRG_MSG_DEBUG(" " << *x);
878 TRG_MSG_DEBUG("gXEJWOJ input (" << m_gxejwoj.name() << "):");
879 for(auto * x : m_gxejwoj) TRG_MSG_DEBUG(" " << *x);
880 TRG_MSG_DEBUG("gMHT input (" << m_gmht.name() << "):");
881 for(auto * x : m_gmht) TRG_MSG_DEBUG(" " << *x);
882 TRG_MSG_DEBUG("gXENC input (" << m_gxenc.name() << "):");
883 for(auto * x : m_gxenc) TRG_MSG_DEBUG(" " << *x);
884 TRG_MSG_DEBUG("gXERHO input (" << m_gxerho.name() << "):");
885 for(auto * x : m_gxerho) TRG_MSG_DEBUG(" " << *x);
886 TRG_MSG_DEBUG("gTE input (" << m_gte.name() << "):");
887 for(auto * x : m_gte) TRG_MSG_DEBUG(" " << *x);
888 TRG_MSG_DEBUG("cXE input (" << m_cxe.name() << "):");
889 for(auto * x : m_cxe) TRG_MSG_DEBUG(" " << *x);
890 TRG_MSG_DEBUG("gESPRESSO input (" << m_gespresso.name() << "):");
891 for(auto * x : m_gespresso) TRG_MSG_DEBUG(" " << *x);
892 TRG_MSG_DEBUG("gRISTRETTO input (" << m_gristretto.name() << "):");
893 for(auto * x : m_gristretto) TRG_MSG_DEBUG(" " << *x);
894 TRG_MSG_DEBUG("MET input (" << m_met.name() << "):");// << std::endl << m_met;
895 for(auto * x : m_met) TRG_MSG_DEBUG(" " << *x);
896 TRG_MSG_DEBUG("Overflow bits from:"
897 <<" emtau "<<m_overflowFromEmtauInput
898 <<" jet "<<m_overflowFromJetInput
899 <<" jxe "<<m_overflowFromjXEInput
900 <<" energy "<<m_overflowFromEnergyInput
901 <<" muon "<<m_overflowFromMuonInput);
902 TRG_MSG_DEBUG("Event info:");
903 TRG_MSG_DEBUG(" runNo: " << run_number() << " evtNo: " << event_number() << " lumiBlock: " << lumi_block() << " BCID: " << bunch_crossing_id());
904}
905
906
size_t size() const
Number of registered mappings.
#define x
const jTETOB & jtec() const
void enableInputDump(const std::string &filename, bool enable=true)
const jXETOB & cxe() const
StatusCode addjEm(const jEmTOB &jEm)
StatusCode addjJet(const jJetTOB &jet)
MuonNextBCTOBArray m_muonsNextBC
StatusCode setgMHT(const gXETOB &gMHT)
StatusCode addTau(const ClusterTOB &tau)
StatusCode addjLJet(const jLJetTOB &jet)
StatusCode addgLJet(const gLJetTOB &jet)
StatusCode setMET(const MetTOB &met)
gLJetTOBArray m_gLJets
const ClusterTOBArray & clusters() const
const eTauTOBArray & eTaus() const
StatusCode setjTEFWDC(const jTETOB &jTEFWDC)
const jJetTOBArray & jJets() const
LateMuonTOBArray m_lateMuons
const gTETOB & gristretto() const
StatusCode setjXEC(const jXETOB &jXEC)
const InputTOBArray * inputTOBs(TCS::inputTOBType_t) const
const jTETOB & jtefwda() const
const JetTOBArray & jets() const
StatusCode addgJet(const gJetTOB &jet)
const jTETOB & jte() const
StatusCode addMuonNextBC(const MuonNextBCTOB &muon)
const gXETOB & gmht() const
StatusCode setcXE(const jXETOB &cXE)
const gTETOB & gte() const
const jTETOB & jtefwdc() const
const gXETOB & gxenc() const
StatusCode setgXENC(const gXETOB &gXENC)
const ClusterTOBArray & taus() const
uint32_t run_number() const
StatusCode addjTau(const jTauTOB &tau)
uint32_t bunch_crossing_id() const
StatusCode addcTau(const eTauTOB &eTau)
std::string m_inputDumpFile
StatusCode addCluster(const ClusterTOB &cluster)
bool hasInputOverflow(TCS::inputTOBType_t) const
whether there are input overflows from Mioct for muon and from CMX for calo
const MuonTOBArray & muons() const
StatusCode setgESPRESSO(const gTETOB &gESPRESSO)
uint32_t event_number() const
const eEmTOBArray & eEms() const
StatusCode addMuon(const MuonTOB &muon)
StatusCode setjTE(const jTETOB &jTE)
const gXETOB & gxerho() const
StatusCode setjTEFWD(const jTETOB &jTEFWD)
StatusCode setjXE(const jXETOB &jXE)
ClusterTOBArray m_clusters
StatusCode addeEm(const eEmTOB &eEm)
const MuonNextBCTOBArray & muonsNextBC() const
StatusCode setEventInfo(const uint32_t runNo, const uint32_t evtNo, const uint32_t lumiB, const uint32_t BCID)
StatusCode setjTEC(const jTETOB &jTEC)
StatusCode addeTau(const eTauTOB &eTau)
const LateMuonTOBArray & lateMuons() const
StatusCode setgXEJWOJ(const gXETOB &gXEJWOJ)
ClusterTOBArray m_taus
StatusCode setgXERHO(const gXETOB &gXERHO)
uint32_t lumi_block() const
jLJetTOBArray m_jLJets
StatusCode setgRISTRETTO(const gTETOB &gRISTRETTO)
StatusCode addJet(const JetTOB &jet)
const jTETOB & jtefwd() const
StatusCode setjTEFWDA(const jTETOB &jTEFWDA)
StatusCode addLateMuon(const LateMuonTOB &muon)
const gTETOB & gespresso() const
const jXETOB & jxe() const
StatusCode setgTE(const gTETOB &gTE)
void setEtaDouble(double eta)
Definition cTauTOB.h:52
void setRHad(unsigned int rHad)
Definition cTauTOB.h:56
void setPhiDouble(double phi)
Definition cTauTOB.h:53
void setRCore(unsigned int rCore)
Definition cTauTOB.h:55
void setEtDouble(double et)
Definition cTauTOB.h:51
void setEtIso(unsigned int etIso)
Definition cTauTOB.h:58
unsigned int rHad() const
Definition eTauTOB.h:42
double phiDouble() const
Definition eTauTOB.h:39
int eta() const
Definition eTauTOB.h:34
double etaDouble() const
Definition eTauTOB.h:38
unsigned int phi() const
Definition eTauTOB.h:35
unsigned int rCore() const
Definition eTauTOB.h:41
double EtDouble() const
Definition eTauTOB.h:37
unsigned int Et() const
Definition eTauTOB.h:33
double etaDouble() const
Definition jTauTOB.h:37
int eta() const
Definition jTauTOB.h:33
unsigned int EtIso() const
Definition jTauTOB.h:40
double phiDouble() const
Definition jTauTOB.h:38
unsigned phi() const
Definition jTauTOB.h:34
unsigned int Et() const
Definition jTauTOB.h:32
double EtDouble() const
Definition jTauTOB.h:36
TrigConfMessaging(const std::string &name)
Constructor with parameters.
bool overflowFromjTECInput() const
bool overflowFromjXEInput() const
bool overflowFromjTEFWDInput() const
bool overflowFromjEmInput() const
bool overflowFromgLJetInput() const
bool overflowFromJetInput() const
bool overflowFromgXEJWOJInput() const
bool overflowFromEnergyInput() const
bool overflowFromjLJetInput() const
bool overflowFromjTEFWDCInput() const
bool overflowFromjJetInput() const
bool overflowFromjTEFWDAInput() const
bool overflowFromgRISTRETTOInput() const
bool overflowFromEmtauInput() const
bool overflowFromgTEInput() const
bool overflowFromMuonInput() const
bool overflowFromLateMuonInput() const
bool overflowFromMuonNextBCInput() const
bool overflowFromgJetInput() const
bool overflowFromcTauInput() const
bool overflowFromgESPRESSOInput() const
bool overflowFromeEmInput() const
bool overflowFromeTauInput() const
bool overflowFromcXEInput() const
bool overflowFromjTauInput() const
bool overflowFromgMHTInput() const
bool overflowFromjTEInput() const
void setOverflowFromgXENCInput(bool v)
void setOverflowFromeEmInput(bool v)
void setOverflowFromjTEFWDAInput(bool v)
void setOverflowFromjTECInput(bool v)
void setOverflowFromcXEInput(bool v)
void setOverflowFromgJetInput(bool v)
void setOverflowFromjEmInput(bool v)
void setOverflowFromgXERHOInput(bool v)
void setOverflowFromJetInput(bool v)
void setOverflowFromLateMuonInput(bool v)
void setOverflowFromjJetInput(bool v)
void setOverflowFromjTEInput(bool v)
void setOverflowFromgXEJWOJInput(bool v)
void setOverflowFromgRISTRETTOInput(bool v)
void setOverflowFromjLJetInput(bool v)
void setOverflowFromeTauInput(bool v)
void setOverflowFromgMHTInput(bool v)
void setOverflowFromjTEFWDCInput(bool v)
void setOverflowFromMuonInput(bool v)
void setOverflowFromjTEFWDInput(bool v)
void setOverflowFromEnergyInput(bool v)
void setOverflowFromjTauInput(bool v)
void setOverflowFromgESPRESSOInput(bool v)
void setOverflowFromMuonNextBCInput(bool v)
void setOverflowFromEmtauInput(bool v)
void setOverflowFromcTauInput(bool v)
void setOverflowFromgTEInput(bool v)
void setOverflowFromjXEInput(bool v)
void setOverflowFromgLJetInput(bool v)
Definition MET.py:1
std::ostream & operator<<(std::ostream &os, const TCS::Bin &bin)
TFile * file