17 m_Tool_InformationStore(
"PanTau::Tool_InformationStore/Tool_InformationStore")
32 ATH_CHECK( m_Tool_InformationStore.retrieve() );
34 ATH_CHECK( m_Tool_InformationStore->getInfo_Int(
"TauConstituents_UsePionMass", m_Config_UsePionMass) );
35 ATH_CHECK( m_Tool_InformationStore->getInfo_Int(
"TauConstituents_UseShrinkingCone", m_Config_TauConstituents_UseShrinkingCone) );
36 ATH_CHECK( m_Tool_InformationStore->getInfo_Double(
"TauConstituents_Types_DeltaRCore", m_Config_TauConstituents_Types_DeltaRCore) );
37 ATH_CHECK( m_Tool_InformationStore->getInfo_Double(
"TauConstituents_PreselectionMinEnergy", m_Config_TauConstituents_PreselectionMinEnergy) );
38 ATH_CHECK( m_Tool_InformationStore->getInfo_VecDouble(
"CellBased_BinEdges_Eta", m_Config_CellBased_BinEdges_Eta) );
39 ATH_CHECK( m_Tool_InformationStore->getInfo_VecDouble(
"CellBased_EtaBinned_Pi0MVACut_1prong", m_Config_CellBased_EtaBinned_Pi0MVACut_1prong) );
40 ATH_CHECK( m_Tool_InformationStore->getInfo_VecDouble(
"CellBased_EtaBinned_Pi0MVACut_3prong", m_Config_CellBased_EtaBinned_Pi0MVACut_3prong) );
42 return StatusCode::SUCCESS;
47 return energy >= m_Config_TauConstituents_PreselectionMinEnergy;
57 if (pfo->
eta() != pfo->
eta() || pfo->
phi() != pfo->
phi() || pfo->
e() != pfo->
e()) {
58 ATH_MSG_ERROR(
"Will not convert PFO with eta value of " << pfo->
eta() <<
" -> return to Tool_TauConstituentGetter");
59 return StatusCode::FAILURE;
67 ATH_MSG_ERROR(
"Input neutral PFO should have null mass. If reconstruction runs from AOD, PFOs must be rebuilt!");
68 return StatusCode::FAILURE;
72 if (!passesPreselectionEnergy(pfo->
e())) {
73 ATH_MSG_DEBUG(
"EFO of charge " <<
static_cast<int>(pfo->
charge()) <<
" and energy " << pfo->
e() <<
" does not pass presel Energy cut of " << m_Config_TauConstituents_PreselectionMinEnergy);
74 return StatusCode::SUCCESS;
78 double constituentMass = pfo->
m();
79 if (m_Config_UsePionMass) {
83 constituentMass = 134.98;
88 PanTau::SetP4EEtaPhiM(
momentum, pfo->
e(), pfo->
eta(), pfo->
phi(), constituentMass);
98 double deltaR_toTauJet = tlv_intAxis.DeltaR( pfo->
p4() );
100 if (deltaR_toTauJet > m_Config_TauConstituents_Types_DeltaRCore) {
110 if (deltaR_toTauJet <= m_Config_TauConstituents_Types_DeltaRCore) {
123 int nPi0sPerCluster = 0;
125 ATH_MSG_WARNING(
"WARNING: Could not retrieve nPi0Proto. Will set it to 1.");
138 std::vector<const xAOD::IParticle*> list_TauShots = std::vector<const xAOD::IParticle*>(0);
140 ATH_MSG_DEBUG(
"WARNING: Could not get shots from current pfo");
143 for (
unsigned int iShot=0; iShot<list_TauShots.size(); iShot++) {
145 if (list_TauShots.at(iShot) ==
nullptr) {
151 TLorentzVector shotMomentum;
152 PanTau::SetP4EEtaPhiM( shotMomentum, curShot->
e(), curShot->
eta(), curShot->
phi(), curShot->
m());
160 ATH_MSG_DEBUG(
"WARNING: Could not get nPhotons for this shot! Set to -1");
163 tauConstituent->
addShot(shotConstituent);
166 return StatusCode::SUCCESS;