From 8744da780eb9e9b249a12c30fcf47a91c1027cdd Mon Sep 17 00:00:00 2001 From: Tomasz Bold <tomasz.bold@cern.ch> Date: Fri, 16 Feb 2024 19:57:08 +0100 Subject: [PATCH] Added module ID to space points info Added module ID to space points info --- .../HIGlobal/python/RecordExtraInfoConfig.py | 2 +- .../HIGlobal/src/SpacePointCopier.cxx | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Reconstruction/HeavyIonRec/HIGlobal/python/RecordExtraInfoConfig.py b/Reconstruction/HeavyIonRec/HIGlobal/python/RecordExtraInfoConfig.py index a62f037a035d..917dfef98cb0 100644 --- a/Reconstruction/HeavyIonRec/HIGlobal/python/RecordExtraInfoConfig.py +++ b/Reconstruction/HeavyIonRec/HIGlobal/python/RecordExtraInfoConfig.py @@ -6,7 +6,7 @@ from AthenaConfiguration.Enums import ProductionStep from AthenaConfiguration.ComponentFactory import CompFactory from OutputStreamAthenaPool.OutputStreamConfig import addToAOD, addToESD -spacePointKeys = [ "xAOD::BaseContainer#SpacePoints", "xAOD::AuxContainerBase#SpacePointsAux.x.y.z.tot.csize" ] +spacePointKeys = [ "xAOD::BaseContainer#SpacePoints", "xAOD::AuxContainerBase#SpacePointsAux.x.y.z.tot.csize.module1.module2" ] mbtsBitsKeys = [ "xAOD::TrigT2MbtsBitsContainer#MBTSBits", "xAOD::TrigT2MbtsBitsAuxContainer#MBTSBitsAux." ] def _inRecoOrLater(flags): diff --git a/Reconstruction/HeavyIonRec/HIGlobal/src/SpacePointCopier.cxx b/Reconstruction/HeavyIonRec/HIGlobal/src/SpacePointCopier.cxx index 61bc43250d35..d0a0a77b8f54 100644 --- a/Reconstruction/HeavyIonRec/HIGlobal/src/SpacePointCopier.cxx +++ b/Reconstruction/HeavyIonRec/HIGlobal/src/SpacePointCopier.cxx @@ -3,6 +3,8 @@ */ #include <algorithm> #include "InDetPrepRawData/PixelCluster.h" +#include "InDetIdentifier/PixelID.h" +#include "InDetIdentifier/SCT_ID.h" #include "SpacePointCopier.h" SpacePointCopier::SpacePointCopier(const std::string& name, ISvcLocator* pSvcLocator) : @@ -64,6 +66,14 @@ StatusCode SpacePointCopier::execute(const EventContext& context) const static const SG::AuxElement::Accessor< float > z ("z"); static const SG::AuxElement::Accessor< float > tot ("tot"); static const SG::AuxElement::Accessor< short > csize ("csize"); + static const SG::AuxElement::Accessor< unsigned int > module1 ("module1"); + static const SG::AuxElement::Accessor< unsigned int > module2 ("module2"); + + const PixelID *pixelID = nullptr; + const SCT_ID *stripID = nullptr; + + ATH_CHECK(detStore()->retrieve(pixelID, "PixelID")); + ATH_CHECK(detStore()->retrieve(stripID, "SCT_ID")); for ( auto coll: *pixelSPContainer ) { @@ -76,6 +86,9 @@ StatusCode SpacePointCopier::execute(const EventContext& context) const const InDet::PixelCluster* cluster = static_cast<const InDet::PixelCluster *>(sp->clusterList().first); tot(*item) = float(cluster->totalToT()); csize(*item) = short(cluster->totList().size()); + auto[hashId1, hashId2] = sp->elementIdList(); + module1(*item) = hashId1; + module2(*item) = hashId2; } } @@ -90,7 +103,10 @@ StatusCode SpacePointCopier::execute(const EventContext& context) const z(*item) = float(sp->globalPosition().z()); tot(*item) = 0; csize(*item) = 0; - + + auto[hashId1, hashId2] = sp->elementIdList(); + module1(*item) = hashId1; + module2(*item) = hashId2; } } for ( size_t i = 0; i < std::min(10ul, output->size()); ++i ) { -- GitLab