Skip to content
Snippets Groups Projects
Commit 9c9d7b7d authored by Edward Moyse's avatar Edward Moyse
Browse files

Merge branch 'TRT_OccupancyCacheUseKey' into 'master'

TRT_Occupancy, avoid re-creating the handles from strings in each function call

See merge request atlas/athena!39088
parents 52a893af a8b18789
No related branches found
No related tags found
No related merge requests found
......@@ -126,6 +126,8 @@ namespace InDet
SG::ReadHandleKey<TRT_DriftCircleContainer> m_trt_driftcircles{ this, "TRT_DriftCircleCollection", "TRT_DriftCircles", "m_trt_driftcircles" };
SG::ReadCondHandleKey<TRTCond::AliveStraws> m_strawReadKey{this,"AliveStraws","AliveStraws","AliveStraws in-key"};
SG::ReadHandleKey<OccupancyData> m_occupancyCacheRead{"OccupancyData"};
SG::WriteHandleKey<OccupancyData> m_occupancyCacheWrite{"OccupancyData"};
bool m_isTrigger;
bool m_T0Shift; // choice to use T0shift or not
float m_lowGate;
......
......@@ -86,6 +86,12 @@ StatusCode TRT_LocalOccupancy::initialize()
ATH_CHECK( m_trt_driftcircles.initialize(!m_trt_driftcircles.empty()) );
ATH_CHECK( m_strawReadKey.initialize() );
std::string OccupancyCacheName = name() + "OccupancyData";
m_occupancyCacheRead = OccupancyCacheName;
m_occupancyCacheWrite = OccupancyCacheName;
ATH_CHECK(m_occupancyCacheRead.initialize());
ATH_CHECK(m_occupancyCacheWrite.initialize());
return StatusCode::SUCCESS;
}
......@@ -492,11 +498,12 @@ int TRT_LocalOccupancy::mapEtaToPartition(const double t_eta) const {
const TRT_LocalOccupancy::OccupancyData* TRT_LocalOccupancy::getData(const EventContext& ctx) const
{
SG::ReadHandle<OccupancyData> rh (name() + "OccupancyData");
if (rh.isValid())
SG::ReadHandle<OccupancyData> rh (m_occupancyCacheRead,ctx);
if (rh.isValid()){
return rh.cptr();
}
SG::WriteHandle<OccupancyData> wh (name() + "OccupancyData");
SG::WriteHandle<OccupancyData> wh (m_occupancyCacheWrite,ctx);
return wh.put (makeData(ctx), true);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment