diff --git a/Reconstruction/tauRec/python/TauRecBuilder.py b/Reconstruction/tauRec/python/TauRecBuilder.py index bed71a88cc3d285ffbc4676b2d5291e87e435a45..8382dbf396264cd2ef2d96eb276bf407baf842c3 100644 --- a/Reconstruction/tauRec/python/TauRecBuilder.py +++ b/Reconstruction/tauRec/python/TauRecBuilder.py @@ -109,7 +109,7 @@ class TauRecCoreBuilder ( TauRecConfigured ) : tools.append(taualgs.getTauVertexFinder(doUseTJVA=self.do_TJVA)) tools.append(taualgs.getTauAxis()) tools.append(taualgs.getTauTrackFinder(removeDuplicateTracks=(not doMVATrackClassification) )) - #if doMVATrackClassification : tools.append(taualgs.getTauTrackClassifier()) + if doMVATrackClassification : tools.append(taualgs.getTauTrackClassifier()) #tools.append(taualgs.getEnergyCalibrationLC(correctEnergy=True, correctAxis=False, postfix='_onlyEnergy')) #tools.append(taualgs.getCellVariables()) #tools.append(taualgs.getElectronVetoVars()) diff --git a/Reconstruction/tauRecTools/Root/TauTrackClassifier.cxx b/Reconstruction/tauRecTools/Root/TauTrackClassifier.cxx index 0a255cb891d572ed87d19543e53da4534ab49cc1..5f746292118d0934e618c9599595a31bee486599 100644 --- a/Reconstruction/tauRecTools/Root/TauTrackClassifier.cxx +++ b/Reconstruction/tauRecTools/Root/TauTrackClassifier.cxx @@ -35,7 +35,6 @@ TauTrackClassifier::TauTrackClassifier(const std::string& sName) { declareProperty("Classifiers", m_vClassifier ); declareProperty("ClassifierNames", m_vClassifierNames ); - declareProperty("TauTrackContainerName", m_tauTrackConName="TauTracks"); } //______________________________________________________________________________ @@ -69,8 +68,16 @@ StatusCode TauTrackClassifier::initialize() //______________________________________________________________________________ StatusCode TauTrackClassifier::execute(xAOD::TauJet& xTau) { + // Get track container via link from tau - instead of using read handle (not written to store yet) + // Check that size > 0 + // ATH_MSG_INFO("track links size = " << xTau.allTauTrackLinks().size() ); + ElementLink< xAOD::TauTrackContainer > link; xAOD::TauTrackContainer* tauTrackCon = 0; - ATH_CHECK(evtStore()->retrieve(tauTrackCon, m_tauTrackConName)); + if (xTau.allTauTrackLinks().size() > 0) { + link = xTau.allTauTrackLinks().at(0);//we don't care about this specific link, just the container + tauTrackCon = link.getDataNonConstPtr(); + } + std::vector<xAOD::TauTrack*> vTracks = xAOD::TauHelpers::allTauTracksNonConst(&xTau, tauTrackCon); for (xAOD::TauTrack* xTrack : vTracks) { diff --git a/Reconstruction/tauRecTools/tauRecTools/TauTrackClassifier.h b/Reconstruction/tauRecTools/tauRecTools/TauTrackClassifier.h index bd17243ff71b42b05753ec862d8b9d9c26cd4597..94c9c00a85b564e7ab17ed06130031d610ebfba9 100644 --- a/Reconstruction/tauRecTools/tauRecTools/TauTrackClassifier.h +++ b/Reconstruction/tauRecTools/tauRecTools/TauTrackClassifier.h @@ -48,7 +48,6 @@ public: private: ToolHandleArray<TrackMVABDT> m_vClassifier; - std::string m_tauTrackConName; std::vector<std::string> m_vClassifierNames;//optional }; // class TauTrackClassifier