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{
44}
45
47
49 m_clusters.push_back(cluster);
51}
52
54 m_eEms.push_back(eEm);
56}
57
59 m_jEms.push_back(jEm);
61}
62
64 m_eTaus.push_back(eTau);
66}
67
69 TCS::cTauTOB cTau(eTau.Et(), eTau.eta(), eTau.phi(), TCS::ETAU);
70 cTau.setEtDouble( eTau.EtDouble() );
71 cTau.setEtaDouble( eTau.etaDouble() );
72 cTau.setPhiDouble( eTau.phiDouble() );
73 cTau.setRCore( eTau.rCore() );
74 cTau.setRHad( eTau.rHad() );
75 m_cTaus.push_back(cTau);
77}
78
80 m_taus.push_back(tau);
82}
83
88
90 m_jTaus.push_back(tau);
92}
93
95 TCS::cTauTOB cTau(jTau.Et(), jTau.eta(), jTau.phi(), TCS::JTAU);
96 cTau.setEtDouble( jTau.EtDouble() );
97 cTau.setEtaDouble( jTau.etaDouble() );
98 cTau.setPhiDouble( jTau.phiDouble() );
99 cTau.setEtIso( jTau.EtIso() );
100 m_cTaus.push_back(cTau);
101 return StatusCode::SUCCESS;
102}
103
108
113
118
123
125 m_muons.push_back(muon);
126 return StatusCode::SUCCESS;
127}
128
130 m_lateMuons.push_back(muon);
131 return StatusCode::SUCCESS;
132}
133
138
140 m_met.clear();
141 m_met.push_back(met);
142 return StatusCode::SUCCESS;
143}
144
146 m_jxe.clear();
147 m_jxe.push_back(jxe);
148 return StatusCode::SUCCESS;
149}
150
152 m_jxec.clear();
153 m_jxec.push_back(jxec);
154 return StatusCode::SUCCESS;
155}
156
158 m_jte.clear();
159 m_jte.push_back(jte);
160 return StatusCode::SUCCESS;
161}
162
164 m_jtec.clear();
165 m_jtec.push_back(jtec);
166 return StatusCode::SUCCESS;
167}
168
170 m_jtefwd.clear();
171 m_jtefwd.push_back(jtefwd);
172 return StatusCode::SUCCESS;
173}
174
180
186
188 m_gxejwoj.clear();
189 m_gxejwoj.push_back(gxejwoj);
190 return StatusCode::SUCCESS;
191}
192
194 m_gmht.clear();
195 m_gmht.push_back(gmht);
196 return StatusCode::SUCCESS;
197}
198
200 m_gxenc.clear();
201 m_gxenc.push_back(gxenc);
202 return StatusCode::SUCCESS;
203}
204
206 m_gxerho.clear();
207 m_gxerho.push_back(gxerho);
208 return StatusCode::SUCCESS;
209}
210
212 m_gte.clear();
213 m_gte.push_back(gte);
214 return StatusCode::SUCCESS;
215}
216
218 m_cxe.clear();
219 m_cxe.push_back(cxe);
220 return StatusCode::SUCCESS;
221}
222
228
229StatusCode TopoInputEvent::setEventInfo(const uint32_t runNo, const uint32_t evtNo, const uint32_t lumiB, const uint32_t BCID) {
230 m_runNo = runNo;
231 m_evtNo = evtNo;
232 m_lumiB = lumiB;
233 m_BCID = BCID;
234 return StatusCode::SUCCESS;
235}
236
241
246
251
256
261
266
271
276
281
286
291
296
301
306
311
316
321
326
331
336
341
346
351
356
361
366
371
376
377// access to data for the steering
378const InputTOBArray *
380 switch(tobType) {
381 case CLUSTER: return &m_clusters;
382 case EEM: return &m_eEms;
383 case JEM: return &m_jEms;
384 case CTAU: return &m_cTaus;
385 case JET: return &m_jets;
386 case ETAU: return &m_eTaus;
387 case JTAU: return &m_jTaus;
388 case JJET: return &m_jJets;
389 case GJET: return &m_gJets;
390 case JLJET: return &m_jLJets;
391 case GLJET: return &m_gLJets;
392 case MUON: return &m_muons;
393 case LATEMUON: return &m_lateMuons;
394 case MUONNEXTBC: return &m_muonsNextBC;
395 case TAU: return &m_taus;
396 case MET: return &m_met;
397 case JXE: return &m_jxe;
398 case JXEC: return &m_jxec;
399 case JXEPERF: return &m_jxeperf;
400 case JTE: return &m_jte;
401 case JTEC: return &m_jtec;
402 case JTEFWD: return &m_jtefwd;
403 case JTEFWDA: return &m_jtefwda;
404 case JTEFWDC: return &m_jtefwdc;
405 case GXEJWOJ: return &m_gxejwoj;
406 case GXENC: return &m_gxenc;
407 case GXERHO: return &m_gxerho;
408 case GMHT: return &m_gmht;
409 case GTE: return &m_gte;
410 case CXE: return &m_cxe;
411 case GESPRESSO: return &m_gespresso;
412 }
413 return 0;
414}
415
417{
418 //Not using or setting the overflow bits in practice. We will need to get back to this in 2022.
419 bool inputOverflow = false;
420 switch(tobType) {
421 case CLUSTER: inputOverflow = overflowFromEmtauInput(); break;
422 case EEM: inputOverflow = overflowFromeEmInput(); break;
423 case JEM: inputOverflow = overflowFromjEmInput(); break;
424 case CTAU: inputOverflow = overflowFromcTauInput(); break;
425 case JET: inputOverflow = overflowFromJetInput(); break;
426 case ETAU: inputOverflow = overflowFromeTauInput(); break;
427 case JTAU: inputOverflow = overflowFromjTauInput(); break;
428 case JJET: inputOverflow = overflowFromjJetInput(); break;
429 case GJET: inputOverflow = overflowFromgJetInput(); break;
430 case JLJET: inputOverflow = overflowFromjLJetInput(); break;
431 case GLJET: inputOverflow = overflowFromgLJetInput(); break;
432 case MUON: inputOverflow = overflowFromMuonInput(); break;
433 case LATEMUON: inputOverflow = overflowFromLateMuonInput(); break;
434 case MUONNEXTBC: inputOverflow = overflowFromMuonNextBCInput(); break;
435 case TAU: inputOverflow = overflowFromEmtauInput(); break;
436 case MET: inputOverflow = overflowFromEnergyInput(); break;
437 case JXE: inputOverflow = overflowFromjXEInput(); break;
438 case JXEC: inputOverflow = overflowFromjXEInput(); break;
439 case JXEPERF: inputOverflow = overflowFromjXEInput(); break;
440 case JTE: inputOverflow = overflowFromjTEInput(); break;
441 case JTEC: inputOverflow = overflowFromjTECInput(); break;
442 case JTEFWD: inputOverflow = overflowFromjTEFWDInput(); break;
443 case JTEFWDA: inputOverflow = overflowFromjTEFWDAInput(); break;
444 case JTEFWDC: inputOverflow = overflowFromjTEFWDCInput(); break;
445 case GXEJWOJ: inputOverflow = overflowFromgXEJWOJInput(); break;
446 case GXENC: inputOverflow = overflowFromgXEJWOJInput(); break;
447 case GXERHO: inputOverflow = overflowFromgXEJWOJInput(); break;
448 case GMHT: inputOverflow = overflowFromgMHTInput(); break;
449 case GTE: inputOverflow = overflowFromgTEInput(); break;
450 case CXE: inputOverflow = overflowFromcXEInput(); break;
451 case GESPRESSO: inputOverflow = overflowFromgESPRESSOInput(); break;
452 default: inputOverflow = false;
453 }
454 return inputOverflow;
455}
456
459 // only need to clear the vectors since the objects themselves are
460 // collected on the ClusterTOB::heap and reset by the
461 // TopoSteering::reset
462 m_clusters.clear();
463 m_eEms.clear();
464 m_jEms.clear();
465 m_eTaus.clear();
466 m_cTaus.clear();
467 m_jets.clear();
468 m_jTaus.clear();
469 m_jLJets.clear();
470 m_gLJets.clear();
471 m_jJets.clear();
472 m_gJets.clear();
473 m_taus.clear();
474 m_muons.clear();
475 m_lateMuons.clear();
476 m_muonsNextBC.clear();
477 m_met.clear();
478 m_jxe.clear();
479 m_jxec.clear();
480 m_jxeperf.clear();
481 m_jte.clear();
482 m_jtec.clear();
483 m_jtefwd.clear();
484 m_jtefwda.clear();
485 m_jtefwdc.clear();
486 m_gxejwoj.clear();
487 m_gxenc.clear();
488 m_gxerho.clear();
489 m_gmht.clear();
490 m_gte.clear();
491 m_cxe.clear();
492 m_gespresso.clear();
493 m_runNo = 0;
494 m_evtNo = 0;
495 m_lumiB = 0;
496 m_BCID = 0;
497 setMET(MetTOB(0,0,0)); // default MET
498 setjXE(jXETOB(0,0,0)); // default jXE
499 setjXEC(jXETOB(0,0,0)); // default jXEC
500 setjTE(jTETOB(0)); // default jTE
501 setjTEC(jTETOB(0)); // default jTEC
502 setjTEFWD(jTETOB(0)); // default jTEFWD
503 setjTEFWDA(jTETOB(0)); // default jTEFWDA
504 setjTEFWDC(jTETOB(0)); // default jTEFWDC
505 setgXEJWOJ(gXETOB(0,0,0)); // default gXEJWOJ
506 setgXENC(gXETOB(0,0,0)); // default gXENC
507 setgXERHO(gXETOB(0,0,0)); // default gXERHO
508 setgMHT(gXETOB(0,0,0)); // default gMHT
509 setgTE(gTETOB(0)); // default gTE
510 setcXE(jXETOB(0,0,0)); // default cXE
511 setgESPRESSO(gTETOB(0)); // default gESPRESSO
513
514 return StatusCode::SUCCESS;
515}
516
517void
518TopoInputEvent::enableInputDump( const std::string& filename, bool enable ) {
519 m_dumpEnabled = enable;
520 m_inputDumpFile = filename;
521}
522
523
524void
526
527 if( ! m_dumpEnabled ) return;
528
529 std::ofstream file(m_inputDumpFile, std::ios_base::out | std::ios_base::app );
530 file << "<event>" << std::endl;
531
532 file << "<cluster>" << std::endl;
533 for(ClusterTOB* cluster : m_clusters) {
534 file << cluster->Et() << " " << cluster->isolation() << " " << cluster->eta() << " " << cluster->phi() << " " << cluster->etaDouble() << " " << cluster->phiDouble() << std::endl;
535 }
536 file << "</cluster>" << std::endl;
537
538 file << "<eEm>" << std::endl;
539 for(eEmTOB* em : m_eEms) {
540 file << em->Et() << " " << em->Reta() << " " << em->Rhad() << " " << em->Wstot() << " " << em->eta() << " " << em->phi() << " " << em->etaDouble() << " " << em->phiDouble() << std::endl;
541 }
542 file << "</eEm>" << std::endl;
543
544 file << "<jEm>" << std::endl;
545 for(jEmTOB* em : m_jEms) {
546 file << em->Et() << " " << em->eta() << " " << em->phi() << " " << em->etaDouble() << " " << em->phiDouble() << std::endl;
547 }
548 file << "</jEm>" << std::endl;
549
550 file << "<eTau>" << std::endl;
551 for(eTauTOB* tau : m_eTaus) {
552 file << tau->Et() << " " << tau->rCore() << " " << tau->rHad() << " " << tau->eta() << " " << tau->phi() << " " << tau->etaDouble() << " " << tau->phiDouble() << std::endl;
553 }
554 file << "</eTau>" << std::endl;
555
556 file << "<tau>" << std::endl;
557 for(ClusterTOB* tau : m_taus) {
558 file << tau->Et() << " " << tau->isolation() << " " << tau->eta() << " " << tau->phi() << " " << tau->etaDouble() << " " << tau->phiDouble() << std::endl;
559 }
560 file << "</tau>" << std::endl;
561
562 file << "<jet>" << std::endl;
563 for(JetTOB* jet : m_jets) {
564 file << jet->Et1() << " " << jet->Et2() << " " << jet->eta() << " " << jet->phi() << " " << jet->etaDouble() << " " << jet->phiDouble() << std::endl;
565 }
566 file << "</jet>" << std::endl;
567
568 file << "<jTau>" << std::endl;
569 for(jTauTOB* tau : m_jTaus) {
570 file << tau->Et() << " " << tau->eta() << " " << tau->phi() << " " << tau->etaDouble() << " " << tau->phiDouble() << std::endl;
571 }
572 file << "</jTau>" << std::endl;
573
574 file << "<jLJet>" << std::endl;
575 for(jLJetTOB* jet : m_jLJets) {
576 file << jet->Et() << " " << jet->eta() << " " << jet->phi() << " " << jet->etaDouble() << " " << jet->phiDouble() << std::endl;
577 }
578 file << "</jLJet>" << std::endl;
579
580 file << "<gLJet>" << std::endl;
581 for(gLJetTOB* jet : m_gLJets) {
582 file << jet->Et() << " " << jet->eta() << " " << jet->phi() << " " << jet->etaDouble() << " " << jet->phiDouble() << std::endl;
583 }
584 file << "</gLJet>" << std::endl;
585
586 file << "<jJet>" << std::endl;
587 for(jJetTOB* jet : m_jJets) {
588 file << jet->Et() << " " << jet->eta() << " " << jet->phi() << " " << jet->etaDouble() << " " << jet->phiDouble() << std::endl;
589 }
590 file << "</jJet>" << std::endl;
591
592 file << "<gJet>" << std::endl;
593 for(gJetTOB* jet : m_gJets) {
594 file << jet->Et() << " " << jet->eta() << " " << jet->phi() << " " << jet->etaDouble() << " " << jet->phiDouble() << std::endl;
595 }
596 file << "</gJet>" << std::endl;
597
598 file << "<muon>" << std::endl;
599 for(MuonTOB* muon : m_muons) {
600 file << muon->Et() << " " << muon->eta() << " " << muon->phi() << " " << muon->EtaDouble() << " " << muon->PhiDouble() << std::endl;
601 }
602 file << "</muon>" << std::endl;
603
604 file << "<lateMuon>" << std::endl;
605 for(LateMuonTOB* lateMuon : m_lateMuons) {
606 file << lateMuon->Et() << " " << lateMuon->eta() << " " << lateMuon->phi() << " " << lateMuon->EtaDouble() << " " << lateMuon->PhiDouble() << std::endl;
607 }
608 file << "</lateMuon>" << std::endl;
609
610 file << "<muonNextBC>" << std::endl;
611 for(MuonNextBCTOB* muonNextBC : m_muonsNextBC) {
612 file << muonNextBC->Et() << " " << muonNextBC->eta() << " " << muonNextBC->phi() << " " << muonNextBC->EtaDouble() << " " << muonNextBC->PhiDouble() << std::endl;
613 }
614 file << "</muonNextBC>" << std::endl;
615
616 file << "<jxe>" << std::endl;
617 for(const jXETOB* jxe : m_jxe) {
618 file << jxe->Ex() << " " << jxe->Ey() << " " << jxe->Et() << std::endl;
619 }
620 file << "</jxe>" << std::endl;
621
622 file << "<jte>" << std::endl;
623 for(const jTETOB* jte : m_jte) {
624 file << jte->sumEt() << std::endl;
625 }
626 file << "</jte>" << std::endl;
627
628 file << "<jtec>" << std::endl;
629 for(const jTETOB* jtec : m_jtec) {
630 file << jtec->sumEt() << std::endl;
631 }
632 file << "</jtec>" << std::endl;
633
634 file << "<jtefwd>" << std::endl;
635 for(const jTETOB* jtefwd : m_jtefwd) {
636 file << jtefwd->sumEt() << std::endl;
637 }
638 file << "</jtefwd>" << std::endl;
639
640 file << "<jtefwda>" << std::endl;
641 for(const jTETOB* jtefwda : m_jtefwda) {
642 file << jtefwda->sumEt() << std::endl;
643 }
644 file << "</jtefwda>" << std::endl;
645
646 file << "<jtefwdc>" << std::endl;
647 for(const jTETOB* jtefwdc : m_jtefwdc) {
648 file << jtefwdc->sumEt() << std::endl;
649 }
650 file << "</jtefwdc>" << std::endl;
651
652 file << "<gxejwoj>" << std::endl;
653 for(const gXETOB* gxejwoj : m_gxejwoj) {
654 file << gxejwoj->Ex() << " " << gxejwoj->Ey() << " " << gxejwoj->Et() << std::endl;
655 }
656 file << "</gxejwoj>" << std::endl;
657
658 file << "<gmht>" << std::endl;
659 for(const gXETOB* gmht : m_gmht) {
660 file << gmht->Ex() << " " << gmht->Ey() << " " << gmht->Et() << std::endl;
661 }
662 file << "</gmht>" << std::endl;
663
664 file << "<gxenc>" << std::endl;
665 for(const gXETOB* gxenc : m_gxenc) {
666 file << gxenc->Ex() << " " << gxenc->Ey() << " " << gxenc->Et() << std::endl;
667 }
668 file << "</gxenc>" << std::endl;
669
670 file << "<gxerho>" << std::endl;
671 for(const gXETOB* gxerho : m_gxerho) {
672 file << gxerho->Ex() << " " << gxerho->Ey() << " " << gxerho->Et() << std::endl;
673 }
674 file << "</gxerho>" << std::endl;
675
676 file << "<gte>" << std::endl;
677 for(const gTETOB* gte : m_gte) {
678 file << gte->sumEt() << std::endl;
679 }
680 file << "</gte>" << std::endl;
681
682 file << "<cxe>" << std::endl;
683 for(const jXETOB* cxe : m_cxe) {
684 file << cxe->Ex() << " " << cxe->Ey() << " " << cxe->Et() << std::endl;
685 }
686 file << "</cxe>" << std::endl;
687
688 file << "<gespresso>" << std::endl;
689 for(const gTETOB* gespresso : m_gespresso) {
690 file << gespresso->sumEt() << std::endl;
691 }
692 file << "</gespresso>" << std::endl;
693
694
695
696 file << "<met>" << std::endl;
697 for(MetTOB* met : m_met) {
698 file << met->Ex() << " " << met->Ey() << " " << met->Et() << std::endl;
699 }
700 file << "</met>" << std::endl;
701 file << "<info>" << std::endl;
702 file << m_runNo << " " << m_evtNo << " " << m_lumiB << " " << m_BCID << std::endl;
703 file << "</info>" << std::endl;
704 file << "</event>" << std::endl;
705 file.close();
706}
707
708void
710 if( ! m_dumpEnabled ) return;
711 std::ofstream file(m_inputDumpFile);
712 file << "<file>" << std::endl;
713 file.close();
714}
715
716void
718 if( ! m_dumpEnabled ) return;
719 std::ofstream file(m_inputDumpFile, std::ios_base::out | std::ios_base::app);
720 file << "</file>" << std::endl;
721 file.close();
722}
723
724
725
726namespace TCS {
727
728
729std::ostream & operator<<(std::ostream &o, const TCS::TopoInputEvent &evt) {
730 o << "Event:" << std::endl;
731 o << " #clusters: " << evt.clusters().size() << " (capacity: " << evt.clusters().capacity() << ")" << std::endl;
732 o << " #eEms : " << evt.eEms().size() << " (capacity: " << evt.eEms().capacity() << ")" << std::endl;
733 o << " #eTaus : " << evt.eTaus().size() << " (capacity: " << evt.eTaus().capacity() << ")" << std::endl;
734 o << " #taus : " << evt.taus().size() << " (capacity: " << evt.taus().capacity() << ")" << std::endl;
735 o << " #jets : " << evt.jets().size() << " (capacity: " << evt.jets().capacity() << ")" << std::endl;
736 o << " #jJets : " << evt.jJets().size() << " (capacity: " << evt.jJets().capacity() << ")" << std::endl;
737 o << " #muons : " << evt.muons().size() << " (capacity: " << evt.muons().capacity() << ")" << std::endl;
738 o << " #latemuons : " << evt.lateMuons().size() << " (capacity: " << evt.lateMuons().capacity() << ")" << std::endl;
739 o << " #muonsNextBC : " << evt.muonsNextBC().size() << " (capacity: " << evt.muonsNextBC().capacity() << ")" << std::endl;
740 o << " #jxe : " << evt.m_jxe.size() << " (capacity: " << evt.m_jxe.capacity() << ")" << std::endl;
741 o << " #jte : " << evt.m_jte.size() << " (capacity: " << evt.m_jte.capacity() << ")" << std::endl;
742 o << " #jtec : " << evt.m_jtec.size() << " (capacity: " << evt.m_jtec.capacity() << ")" << std::endl;
743 o << " #jtefwd : " << evt.m_jtefwd.size() << " (capacity: " << evt.m_jtefwd.capacity() << ")" << std::endl;
744 o << " #jtefwda : " << evt.m_jtefwda.size() << " (capacity: " << evt.m_jtefwda.capacity() << ")" << std::endl;
745 o << " #jtefwdc : " << evt.m_jtefwdc.size() << " (capacity: " << evt.m_jtefwdc.capacity() << ")" << std::endl;
746 o << " #gxejwoj : " << evt.m_gxejwoj.size() << " (capacity: " << evt.m_gxejwoj.capacity() << ")" << std::endl;
747 o << " #gmht : " << evt.m_gmht.size() << " (capacity: " << evt.m_gmht.capacity() << ")" << std::endl;
748 o << " #gxenc : " << evt.m_gxenc.size() << " (capacity: " << evt.m_gxenc.capacity() << ")" << std::endl;
749 o << " #gxerho : " << evt.m_gxerho.size() << " (capacity: " << evt.m_gxerho.capacity() << ")" << std::endl;
750 o << " #gte : " << evt.m_gte.size() << " (capacity: " << evt.m_gte.capacity() << ")" << std::endl;
751 o << " #cxe : " << evt.m_cxe.size() << " (capacity: " << evt.m_cxe.capacity() << ")" << std::endl;
752 o << " #gespresso : " << evt.m_gespresso.size() << " (capacity: " << evt.m_gespresso.capacity() << ")" << std::endl;
753 o << " #met : " << evt.m_met.size() << " (capacity: " << evt.m_met.capacity() << ")" << std::endl;
754 o << " #info : runNo, evtNo, lumiBlock and BCID" << std::endl;
755
756 o << "Details:" << std::endl;
757 o << "Cluster input vector (" << evt.clusters().name() << "):" << std::endl << evt.clusters();
758 o << "eEm input vector (" << evt.eEms().name() << "):" << std::endl << evt.eEms();
759 o << "eTau input vector (" << evt.eTaus().name() << "):" << std::endl << evt.eTaus();
760 o << "Tau input vector (" << evt.taus().name() << "):" << std::endl << evt.taus();
761 o << "Jet input vector (" << evt.jets().name() << "):" << std::endl << evt.jets();
762 o << "jJet input vector (" << evt.jJets().name() << "):" << std::endl << evt.jJets();
763 o << "Muon input vector (" << evt.muons().name() << "):" << std::endl << evt.muons();
764 o << "LateMuon input vector (" << evt.lateMuons().name() << "):" << std::endl << evt.lateMuons();
765 o << "MuonNextBC input vector (" << evt.muonsNextBC().name() << "):" << std::endl << evt.muonsNextBC();
766 o << "jXE input (" << evt.m_jxe.name() << "):" << std::endl << evt.m_jxe;
767 o << "jTE input (" << evt.m_jte.name() << "):" << std::endl << evt.m_jte;
768 o << "jTEC input (" << evt.m_jtec.name() << "):" << std::endl << evt.m_jtec;
769 o << "jTEFWD input (" << evt.m_jtefwd.name() << "):" << std::endl << evt.m_jtefwd;
770 o << "jTEFWDA input (" << evt.m_jtefwda.name() << "):" << std::endl << evt.m_jtefwda;
771 o << "jTEFWDC input (" << evt.m_jtefwdc.name() << "):" << std::endl << evt.m_jtefwdc;
772 o << "gXEJWOJ input (" << evt.m_gxejwoj.name() << "):" << std::endl << evt.m_gxejwoj;
773 o << "gMHT input (" << evt.m_gmht.name() << "):" << std::endl << evt.m_gmht;
774 o << "gXENC input (" << evt.m_gxenc.name() << "):" << std::endl << evt.m_gxenc;
775 o << "gXERHO input (" << evt.m_gxerho.name() << "):" << std::endl << evt.m_gxerho;
776 o << "gTE input (" << evt.m_gte.name() << "):" << std::endl << evt.m_gte;
777 o << "cXE input (" << evt.m_cxe.name() << "):" << std::endl << evt.m_cxe;
778 o << "gESPRESSO input (" << evt.m_gespresso.name() << "):" << std::endl << evt.m_gespresso;
779 o << "MET input (" << evt.m_met.name() << "):" << std::endl << evt.m_met;
780 o << "Overflow from:"
781 <<" EmtauInput "<<evt.overflowFromEmtauInput()
782 <<" JetInput "<<evt.overflowFromJetInput()
783 <<" EnergyInput "<<evt.overflowFromEnergyInput()
784 <<" MuonInput "<<evt.overflowFromMuonInput()
785 << std::endl;
786 o << "Event info: " << evt.run_number() << " " << evt.event_number() << " " << evt.lumi_block() << " " << evt.bunch_crossing_id();
787
788 return o;
789}
790
791}
792
793
794void
796 TRG_MSG_INFO("Event:");
797 TRG_MSG_INFO(" #clusters: " << clusters().size() << " (capacity: " << clusters().capacity() << ")");
798 TRG_MSG_INFO(" #eEms : " << eEms().size() << " (capacity: " << eEms().capacity() << ")");
799 TRG_MSG_INFO(" #eTaus : " << eTaus().size() << " (capacity: " << eTaus().capacity() << ")");
800 TRG_MSG_INFO(" #taus : " << taus().size() << " (capacity: " << taus().capacity() << ")");
801 TRG_MSG_INFO(" #jets : " << jets().size() << " (capacity: " << jets().capacity() << ")");
802 TRG_MSG_INFO(" #jJets : " << jJets().size() << " (capacity: " << jJets().capacity() << ")");
803 TRG_MSG_INFO(" #muons : " << muons().size() << " (capacity: " << muons().capacity() << ")");
804 TRG_MSG_INFO(" #latemuons : " << lateMuons().size() << " (capacity: " << lateMuons().capacity() << ")");
805 TRG_MSG_INFO(" #muonsNextBC: " << muonsNextBC().size() << " (capacity: " << muonsNextBC().capacity() << ")");
806 TRG_MSG_INFO(" #jxe : " << m_jxe.size() << " (capacity: " << m_jxe.capacity() << ")");
807 TRG_MSG_INFO(" #jte : " << m_jte.size() << " (capacity: " << m_jte.capacity() << ")");
808 TRG_MSG_INFO(" #jtec : " << m_jtec.size() << " (capacity: " << m_jtec.capacity() << ")");
809 TRG_MSG_INFO(" #jtefwd : " << m_jtefwd.size() << " (capacity: " << m_jtefwd.capacity() << ")");
810 TRG_MSG_INFO(" #jtefwda : " << m_jtefwda.size() << " (capacity: " << m_jtefwda.capacity() << ")");
811 TRG_MSG_INFO(" #jtefwdc : " << m_jtefwdc.size() << " (capacity: " << m_jtefwdc.capacity() << ")");
812 TRG_MSG_INFO(" #gxejwoj : " << m_gxejwoj.size() << " (capacity: " << m_gxejwoj.capacity() << ")");
813 TRG_MSG_INFO(" #gmht : " << m_gmht.size() << " (capacity: " << m_gmht.capacity() << ")");
814 TRG_MSG_INFO(" #gxenc : " << m_gxenc.size() << " (capacity: " << m_gxenc.capacity() << ")");
815 TRG_MSG_INFO(" #gxerho : " << m_gxerho.size() << " (capacity: " << m_gxerho.capacity() << ")");
816 TRG_MSG_INFO(" #gte : " << m_gte.size() << " (capacity: " << m_gte.capacity() << ")");
817 TRG_MSG_INFO(" #cxe : " << m_cxe.size() << " (capacity: " << m_cxe.capacity() << ")");
818 TRG_MSG_INFO(" #gespresso : " << m_gespresso.size() << " (capacity: " << m_gespresso.capacity() << ")");
819 TRG_MSG_INFO(" #met : " << m_met.size() << " (capacity: " << m_met.capacity() << ")");
820
821 TRG_MSG_DEBUG("Details:");
822 TRG_MSG_DEBUG("Cluster input vector (" << clusters().name() << "):");
823 for(auto * x : clusters()) TRG_MSG_DEBUG(" " << *x);
824 TRG_MSG_DEBUG("eEm input vector (" << eEms().name() << "):");
825 for(auto * x : eEms()) TRG_MSG_DEBUG(" " << *x);
826 TRG_MSG_DEBUG("eTau input vector (" << eTaus().name() << "):");
827 for(auto * x : eTaus()) TRG_MSG_DEBUG(" " << *x);
828 TRG_MSG_DEBUG("Tau input vector (" << taus().name() << "):");// << std::endl << taus();
829 for(auto * x : taus()) TRG_MSG_DEBUG(" " << *x);
830 TRG_MSG_DEBUG("Jet input vector (" << jets().name() << "):");// << std::endl << jets();
831 for(auto * x : jets()) TRG_MSG_DEBUG(" " << *x);
832 TRG_MSG_DEBUG("jJet input vector (" << jJets().name() << "):");
833 for(auto * x : jJets()) TRG_MSG_DEBUG(" " << *x);
834 TRG_MSG_DEBUG("Muon input vector (" << muons().name() << "):");// << std::endl << muons();
835 for(auto * x : muons()) TRG_MSG_DEBUG(" " << *x);
836 TRG_MSG_DEBUG("LateMuon input vector (" << lateMuons().name() << "):");// << std::endl << latemuons();
837 for(auto * x : lateMuons()) TRG_MSG_DEBUG(" " << *x);
838 TRG_MSG_DEBUG("MuonsNextBC input vector (" << muonsNextBC().name() << "):");// << std::endl << muonsNextBC();
839 for(auto * x : muonsNextBC()) TRG_MSG_DEBUG(" " << *x);
840 TRG_MSG_DEBUG("jXE input (" << m_jxe.name() << "):");
841 for(auto * x : m_jxe) TRG_MSG_DEBUG(" " << *x);
842 TRG_MSG_DEBUG("jTE input (" << m_jte.name() << "):");
843 for(auto * x : m_jte) TRG_MSG_DEBUG(" " << *x);
844 TRG_MSG_DEBUG("jTEC input (" << m_jtec.name() << "):");
845 for(auto * x : m_jtec) TRG_MSG_DEBUG(" " << *x);
846 TRG_MSG_DEBUG("jTEFWD input (" << m_jtefwd.name() << "):");
847 for(auto * x : m_jtefwd) TRG_MSG_DEBUG(" " << *x);
848 TRG_MSG_DEBUG("jTEFWDA input (" << m_jtefwda.name() << "):");
849 for(auto * x : m_jtefwda) TRG_MSG_DEBUG(" " << *x);
850 TRG_MSG_DEBUG("jTEFWDC input (" << m_jtefwdc.name() << "):");
851 for(auto * x : m_jtefwdc) TRG_MSG_DEBUG(" " << *x);
852 TRG_MSG_DEBUG("gXEJWOJ input (" << m_gxejwoj.name() << "):");
853 for(auto * x : m_gxejwoj) TRG_MSG_DEBUG(" " << *x);
854 TRG_MSG_DEBUG("gMHT input (" << m_gmht.name() << "):");
855 for(auto * x : m_gmht) TRG_MSG_DEBUG(" " << *x);
856 TRG_MSG_DEBUG("gXENC input (" << m_gxenc.name() << "):");
857 for(auto * x : m_gxenc) TRG_MSG_DEBUG(" " << *x);
858 TRG_MSG_DEBUG("gXERHO input (" << m_gxerho.name() << "):");
859 for(auto * x : m_gxerho) TRG_MSG_DEBUG(" " << *x);
860 TRG_MSG_DEBUG("gTE input (" << m_gte.name() << "):");
861 for(auto * x : m_gte) TRG_MSG_DEBUG(" " << *x);
862 TRG_MSG_DEBUG("cXE input (" << m_cxe.name() << "):");
863 for(auto * x : m_cxe) TRG_MSG_DEBUG(" " << *x);
864 TRG_MSG_DEBUG("gESPRESSO input (" << m_gespresso.name() << "):");
865 for(auto * x : m_gespresso) TRG_MSG_DEBUG(" " << *x);
866 TRG_MSG_DEBUG("MET input (" << m_met.name() << "):");// << std::endl << m_met;
867 for(auto * x : m_met) TRG_MSG_DEBUG(" " << *x);
868 TRG_MSG_DEBUG("Overflow bits from:"
869 <<" emtau "<<m_overflowFromEmtauInput
870 <<" jet "<<m_overflowFromJetInput
871 <<" jxe "<<m_overflowFromjXEInput
872 <<" energy "<<m_overflowFromEnergyInput
873 <<" muon "<<m_overflowFromMuonInput);
874 TRG_MSG_DEBUG("Event info:");
875 TRG_MSG_DEBUG(" runNo: " << run_number() << " evtNo: " << event_number() << " lumiBlock: " << lumi_block() << " BCID: " << bunch_crossing_id());
876}
877
878
#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
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 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 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 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