38 {
39
40
41
42
43 SG::ReadHandle< DataVector<JetCMXTopoData> > jettobdata (
m_jetLocation);
44
45 if(!jettobdata.isValid()){
46 ATH_MSG_WARNING(
"No DataVector<JetCMXTopoData> with SG key '" <<
m_jetLocation.key() <<
"' found in the event. No JET input for the L1Topo simulation.");
47 return StatusCode::RECOVERABLE;
48 }
49
50
51 ATH_MSG_DEBUG(
"Filling the input event. Number of jet topo data objects: " << jettobdata->size());
52 for(const JetCMXTopoData * topoData : * jettobdata) {
53
54
55 std::vector< JetTopoTOB > tobs;
56 topoData->tobs(tobs);
57
58 ATH_MSG_DEBUG(
"Jet topo data object has # TOBs: " << tobs.size());
59 for(const JetTopoTOB & tob: tobs) {
60
61 ATH_MSG_DEBUG(
"JET TOB with : et large = " << setw(4) << tob.etLarge() <<
", et small " << tob.etSmall()
62 << ", eta = " << setw(2) << tob.eta() << ", phi = " << tob.phi()
63 << ", ieta = " << setw(2) << tob.ieta() << ", iphi = " << tob.iphi()
64 << ", word = " << hex << tob.roiWord() << dec
65 );
66
67 TCS::JetTOB jet( tob.etLarge(), tob.etSmall(), tob.ieta(), tob.iphi(), tob.roiWord() );
68 jet.setEtaDouble( tob.eta() );
69 jet.setPhiDouble( tob.phi() );
71 auto mon_hPt1 = Monitored::Scalar("TOBPt1", jet.Et1());
72 auto mon_hPt2 = Monitored::Scalar("TOBPt2", jet.Et2());
73 auto mon_hPhi = Monitored::Scalar("TOBPhi", jet.phi());
74 auto mon_hEta = Monitored::Scalar("TOBEta", jet.eta());
75 Monitored::Group(
m_monTool, mon_hPt1, mon_hPt2, mon_hPhi, mon_hEta);
76 }
77 if(topoData->overflow()){
80 }
81 }
82 return StatusCode::SUCCESS;
83}
#define ATH_MSG_WARNING(x)
void setOverflowFromJetInput(bool v)