32 ATH_CHECK( m_Tool_InformationStore.retrieve() );
33 ATH_CHECK( m_Tool_TauConstituentGetter.retrieve() );
34 ATH_CHECK( m_Tool_TauConstituentSelector.retrieve() );
35 ATH_CHECK( m_Tool_FeatureExtractor.retrieve() );
36 ATH_CHECK( m_Tool_DecayModeDeterminator.retrieve() );
37 ATH_CHECK( m_Tool_DetailsArranger.retrieve() );
39 ATH_CHECK( m_Tool_InformationStore->getInfo_VecDouble(
"ModeDiscriminator_BinEdges_Pt", m_Config_PtBins) );
40 m_Config_MinPt = m_Config_PtBins.front();
41 m_Config_MaxPt = m_Config_PtBins.back();
43 return StatusCode::SUCCESS;
48 return StatusCode::SUCCESS;
58 if(curTauJet ==
nullptr) {
60 return StatusCode::FAILURE;
63 fillDefaultValuesToTau(curTauJet);
69 int numTrack = curTauJet->
nTracks();
70 if(numTrack == 0 || numTrack > 5) {
71 ATH_MSG_DEBUG(
"Flagging tau for algorithm CellBased as invalid, because numTrack is " << numTrack);
77 std::vector<TauConstituent*> list_TauConstituents = std::vector<TauConstituent*>(0);
78 std::vector<TauConstituent*> list_SelectedTauConstituents = std::vector<TauConstituent*>(0);
82 ATH_CHECK( m_Tool_TauConstituentGetter->GetTauConstituents(curTauJet, list_TauConstituents) );
83 if(list_TauConstituents.empty()) {
89 ATH_CHECK(m_Tool_TauConstituentSelector->SelectTauConstituents(list_TauConstituents, list_SelectedTauConstituents) );
90 if(list_SelectedTauConstituents.empty()) {
92 ATH_MSG_DEBUG(
"Seed has no associated constituents that pass selection!");
96 bool hasCoreConstituents =
false;
97 for(
unsigned int iConst=0; iConst<list_SelectedTauConstituents.size(); iConst++) {
104 if(!hasCoreConstituents) {
117 if(tauJet_pT < m_Config_MinPt || tauJet_pT > m_Config_MaxPt) {
123 list_SelectedTauConstituents,
124 list_TauConstituents,
125 pantauSeed_TechnicalQuality);
130 ATH_CHECK(m_Tool_FeatureExtractor->execute(curPanTauSeed) );
137 ATH_CHECK( m_Tool_DecayModeDeterminator->execute(curPanTauSeed) );
140 ATH_CHECK( m_Tool_DetailsArranger->execute(curPanTauSeed, pi0Container, neutralPFOContainer) );
142 delete curPanTauSeed;
143 return StatusCode::SUCCESS;
157 std::vector< ElementLink< xAOD::PFOContainer > > pi0PFOLinks = tauJet->
protoPi0PFOLinks();
161 std::vector< ElementLink< xAOD::PFOContainer > > neutralPFOLinks = tauJet->
protoNeutralPFOLinks();