40 ATH_CHECK( m_Tool_InformationStore.retrieve() );
41 ATH_CHECK( m_Tool_TauConstituentGetter.retrieve() );
42 ATH_CHECK( m_Tool_TauConstituentSelector.retrieve() );
43 ATH_CHECK( m_Tool_FeatureExtractor.retrieve() );
44 ATH_CHECK( m_Tool_DecayModeDeterminator.retrieve() );
45 ATH_CHECK( m_Tool_DetailsArranger.retrieve() );
47 ATH_CHECK( m_Tool_InformationStore->getInfo_VecDouble(
"ModeDiscriminator_BinEdges_Pt", m_Config_PtBins) );
48 m_Config_MinPt = m_Config_PtBins.front();
49 m_Config_MaxPt = m_Config_PtBins.back();
51 return StatusCode::SUCCESS;
56 return StatusCode::SUCCESS;
66 if(curTauJet ==
nullptr) {
68 return StatusCode::FAILURE;
71 fillDefaultValuesToTau(curTauJet);
77 int numTrack = curTauJet->
nTracks();
78 if(numTrack == 0 || numTrack > 5) {
79 ATH_MSG_DEBUG(
"Flagging tau for algorithm CellBased as invalid, because numTrack is " << numTrack);
85 std::vector<TauConstituent*> list_TauConstituents = std::vector<TauConstituent*>(0);
86 std::vector<TauConstituent*> list_SelectedTauConstituents = std::vector<TauConstituent*>(0);
90 ATH_CHECK( m_Tool_TauConstituentGetter->GetTauConstituents(curTauJet, list_TauConstituents) );
91 if(list_TauConstituents.empty()) {
97 ATH_CHECK(m_Tool_TauConstituentSelector->SelectTauConstituents(list_TauConstituents, list_SelectedTauConstituents) );
98 if(list_SelectedTauConstituents.empty()) {
100 ATH_MSG_DEBUG(
"Seed has no associated constituents that pass selection!");
104 bool hasCoreConstituents =
false;
105 for(
unsigned int iConst=0; iConst<list_SelectedTauConstituents.size(); iConst++) {
112 if(!hasCoreConstituents) {
125 if(tauJet_pT < m_Config_MinPt || tauJet_pT > m_Config_MaxPt) {
131 list_SelectedTauConstituents,
132 list_TauConstituents,
133 pantauSeed_TechnicalQuality);
138 ATH_CHECK(m_Tool_FeatureExtractor->execute(curPanTauSeed) );
145 ATH_CHECK( m_Tool_DecayModeDeterminator->execute(curPanTauSeed) );
148 ATH_CHECK( m_Tool_DetailsArranger->execute(curPanTauSeed, pi0Container, neutralPFOContainer) );
150 delete curPanTauSeed;
151 return StatusCode::SUCCESS;
165 std::vector< ElementLink< xAOD::PFOContainer > > pi0PFOLinks = tauJet->
protoPi0PFOLinks();
169 std::vector< ElementLink< xAOD::PFOContainer > > neutralPFOLinks = tauJet->
protoNeutralPFOLinks();