diff --git a/Reconstruction/tauRec/python/TauRecConfigured.py b/Reconstruction/tauRec/python/TauRecConfigured.py index 97190f34fd3809e0b7bb0f05f8f94f689dee5ef8..0223e9b48becf0fcf3933f529e299082c1edb472 100644 --- a/Reconstruction/tauRec/python/TauRecConfigured.py +++ b/Reconstruction/tauRec/python/TauRecConfigured.py @@ -46,7 +46,6 @@ class TauRecConfigured ( Configured ) : #MaxEta = 2.5, MaxEta = tauFlags.tauRecSeedMaxEta(), MinPt = 10.*GeV, - doCreateTauContainers = True, CellMakerTool = TauCellContainerFinalizer) Configured.__init__(self, ignoreExistingDataObject=ignoreExistingDataObject) diff --git a/Reconstruction/tauRec/src/TauProcessorAlg.cxx b/Reconstruction/tauRec/src/TauProcessorAlg.cxx index 8c71bd17e784ddd016a8f22ad1585f75c4788aeb..d3651b3ab2d0440ddb8a67c5c2de897068a57a02 100644 --- a/Reconstruction/tauRec/src/TauProcessorAlg.cxx +++ b/Reconstruction/tauRec/src/TauProcessorAlg.cxx @@ -32,14 +32,12 @@ AthAlgorithm(name, pSvcLocator), m_tools(this), //make tools private m_maxEta(2.5), m_minPt(10000), -m_doCreateTauContainers(false), m_data(), m_cellMakerTool("",this) { declareProperty("Tools", m_tools); declareProperty("MaxEta", m_maxEta); declareProperty("MinPt", m_minPt); - declareProperty("doCreateTauContainers", m_doCreateTauContainers); declareProperty("CellMakerTool", m_cellMakerTool); } @@ -140,41 +138,21 @@ StatusCode TauProcessorAlg::execute() { const EventContext& ctx = Gaudi::Hive::currentContext(); StatusCode sc; - - // Declare containers - xAOD::TauJetContainer * pContainer = 0; - xAOD::TauJetAuxContainer* pAuxContainer = 0; - xAOD::TauTrackContainer* pTauTrackCont = 0; - xAOD::TauTrackAuxContainer* pTauTrackAuxCont = 0; + //------------------------------------------------------------------------- + // Create and Record containers + //------------------------------------------------------------------------- + auto pContainer = std::make_unique<xAOD::TauJetContainer>(); + auto pAuxContainer = std::make_unique<xAOD::TauJetAuxContainer>(); + pContainer->setStore( pAuxContainer.get() ); + + auto pTauTrackCont = std::make_unique<xAOD::TauTrackContainer>(); + auto pTauTrackAuxCont = std::make_unique<xAOD::TauTrackAuxContainer>(); + pTauTrackCont->setStore( pTauTrackAuxCont.get() ); // Declare write handles SG::WriteHandle<xAOD::TauJetContainer> tauHandle( m_tauOutputContainer, ctx ); SG::WriteHandle<xAOD::TauTrackContainer> tauTrackHandle( m_tauTrackOutputContainer, ctx ); - if (m_doCreateTauContainers) { - //------------------------------------------------------------------------- - // Create and Record containers - //------------------------------------------------------------------------- - pContainer = new xAOD::TauJetContainer(); - pAuxContainer = new xAOD::TauJetAuxContainer(); - pContainer->setStore( pAuxContainer ); - - pTauTrackCont = new xAOD::TauTrackContainer(); - pTauTrackAuxCont = new xAOD::TauTrackAuxContainer(); - pTauTrackCont->setStore( pTauTrackAuxCont ); - - } else { - //------------------------------------------------------------------------- - // retrieve Tau Containers from StoreGate - //------------------------------------------------------------------------- - // replace with read handles - sc = evtStore()->retrieve(pContainer, "TauJets"); - if (sc.isFailure()) { - ATH_MSG_FATAL("Failed to retrieve " << "TauJets"); - return StatusCode::FAILURE; - } - } - //------------------------------------------------------------------------- // Initialize tools for this event //------------------------------------------------------------------------- @@ -249,7 +227,7 @@ StatusCode TauProcessorAlg::execute() { pTau->setJet(pSeedContainer, pSeed); // This sets one track and link. Need to have at least 1 track linked to retrieve track container - setEmptyTauTrack(pTau, pTauTrackCont); + setEmptyTauTrack(pTau, pTauTrackCont.get()); //----------------------------------------------------------------- // Loop stops when Failure indicated by one of the tools @@ -323,16 +301,16 @@ StatusCode TauProcessorAlg::execute() { // Write the completed tau and track containers ATH_MSG_DEBUG(" write: " << tauHandle.key() << " = " << "..." ); - ATH_CHECK(tauHandle.record(std::unique_ptr<xAOD::TauJetContainer>{pContainer}, std::unique_ptr<xAOD::TauJetAuxContainer>{pAuxContainer})); + ATH_CHECK(tauHandle.record( std::move(pContainer), std::move(pAuxContainer) )); ATH_MSG_DEBUG(" write: " << tauTrackHandle.key() << " = " << "..." ); - ATH_CHECK(tauTrackHandle.record(std::unique_ptr<xAOD::TauTrackContainer>{pTauTrackCont}, std::unique_ptr<xAOD::TauTrackAuxContainer>{pTauTrackAuxCont})); + ATH_CHECK(tauTrackHandle.record( std::move(pTauTrackCont), std::move(pTauTrackAuxCont) )); return StatusCode::SUCCESS; } void TauProcessorAlg::setEmptyTauTrack(xAOD::TauJet* &pTau, - xAOD::TauTrackContainer* &tauTrackContainer) + xAOD::TauTrackContainer* tauTrackContainer) { // Make a new tau track, add to container xAOD::TauTrack* pTrack = new xAOD::TauTrack(); diff --git a/Reconstruction/tauRec/tauRec/TauProcessorAlg.h b/Reconstruction/tauRec/tauRec/TauProcessorAlg.h index d5860147fe2eb48ae67b4f74daf314dc5bfb1f86..aaeb69918d471a010529667e7690311004a7271a 100644 --- a/Reconstruction/tauRec/tauRec/TauProcessorAlg.h +++ b/Reconstruction/tauRec/tauRec/TauProcessorAlg.h @@ -49,16 +49,13 @@ class TauProcessorAlg: public AthAlgorithm private: void setEmptyTauTrack( xAOD::TauJet* &tauJet, - xAOD::TauTrackContainer* &tauTrackCont); + xAOD::TauTrackContainer* tauTrackCont); ToolHandleArray<ITauToolBase> m_tools {this, "TauProcessorTools", {}, "Tools processing taus"}; double m_maxEta; //!< only build taus with eta_seed < m_maxeta double m_minPt; //!< only build taus with pt_seed > m_minpt - bool m_doCreateTauContainers; - - //ToolHandleArray<ITauToolExecBase> m_tools; TauEventData m_data; /** @brief tool handles */