29 ATH_CHECK( m_Tool_InformationStore.retrieve() );
31 ATH_CHECK( m_Tool_InformationStore->getInfo_Int(
"TauConstituents_UsePionMass", m_Config_UsePionMass) );
32 ATH_CHECK( m_Tool_InformationStore->getInfo_Double(
"TauConstituents_Types_DeltaRCore", m_Config_TauConstituents_Types_DeltaRCore) );
33 ATH_CHECK( m_Tool_InformationStore->getInfo_Double(
"TauConstituents_PreselectionMinEnergy", m_Config_TauConstituents_PreselectionMinEnergy) );
34 ATH_CHECK( m_Tool_InformationStore->getInfo_VecDouble(
"CellBased_BinEdges_Eta", m_Config_CellBased_BinEdges_Eta) );
35 ATH_CHECK( m_Tool_InformationStore->getInfo_VecDouble(
"CellBased_EtaBinned_Pi0MVACut_1prong", m_Config_CellBased_EtaBinned_Pi0MVACut_1prong) );
36 ATH_CHECK( m_Tool_InformationStore->getInfo_VecDouble(
"CellBased_EtaBinned_Pi0MVACut_3prong", m_Config_CellBased_EtaBinned_Pi0MVACut_3prong) );
38 return StatusCode::SUCCESS;
43 return energy >= m_Config_TauConstituents_PreselectionMinEnergy;
53 if (pfo->
eta() != pfo->
eta() || pfo->
phi() != pfo->
phi() || pfo->
e() != pfo->
e()) {
54 ATH_MSG_ERROR(
"Will not convert PFO with eta value of " << pfo->
eta() <<
" -> return to Tool_TauConstituentGetter");
55 return StatusCode::FAILURE;
63 ATH_MSG_ERROR(
"Input neutral PFO should have null mass. If reconstruction runs from AOD, PFOs must be rebuilt!");
64 return StatusCode::FAILURE;
68 if (!passesPreselectionEnergy(pfo->
e())) {
69 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);
70 return StatusCode::SUCCESS;
74 double constituentMass = pfo->
m();
75 if (m_Config_UsePionMass) {
79 constituentMass = 134.98;
84 PanTau::SetP4EEtaPhiM(
momentum, pfo->
e(), pfo->
eta(), pfo->
phi(), constituentMass);
94 double deltaR_toTauJet = tlv_intAxis.DeltaR( pfo->
p4() );
96 if (deltaR_toTauJet > m_Config_TauConstituents_Types_DeltaRCore) {
106 if (deltaR_toTauJet <= m_Config_TauConstituents_Types_DeltaRCore) {
117 int nPi0sPerCluster = 0;
119 ATH_MSG_WARNING(
"WARNING: Could not retrieve nPi0Proto. Will set it to 1.");
132 std::vector<const xAOD::IParticle*> list_TauShots = std::vector<const xAOD::IParticle*>(0);
134 ATH_MSG_DEBUG(
"WARNING: Could not get shots from current pfo");
137 for (
unsigned int iShot=0; iShot<list_TauShots.size(); iShot++) {
139 if (list_TauShots.at(iShot) ==
nullptr) {
145 TLorentzVector shotMomentum;
146 PanTau::SetP4EEtaPhiM( shotMomentum, curShot->
e(), curShot->
eta(), curShot->
phi(), curShot->
m());
154 ATH_MSG_DEBUG(
"WARNING: Could not get nPhotons for this shot! Set to -1");
157 tauConstituent->
addShot(shotConstituent);
160 return StatusCode::SUCCESS;