ATLAS Offline Software
PatternCnvAlg.h
Go to the documentation of this file.
1 
2 /*
3  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 */
5 #ifndef MUONPATTERNCNV_MUONPATTERNCNVALG_H
6 #define MUONPATTERNCNV_MUONPATTERNCNVALG_H
7 
12 
18 namespace MuonR4{
23  public:
24 
26 
27  StatusCode initialize() override final;
28 
29  StatusCode execute(const EventContext& ctx) const override final;
30 
31  private:
32 
39  template <class ContType>
40  StatusCode retrieveContainer(const EventContext& ctx,
42  const ContType*& contPtr) const;
43  /*** @brief Fetches a MuonPrepData object from the PrepData container by matching the parsed Identifier.
44  * Nullptr is returned if the object does not exist and an error message is printed
45  * @param prdId: Identifier of the measurement to fetch
46  * @param prdContainer: Pointer to the MuonPrepData container to fetch the object from.
47  */
48  template <class PrdType>
49  const PrdType* fetchPrd(const Identifier& prdId,
50  const Muon::MuonPrepDataContainerT<PrdType>* prdContainer) const;
51 
59  StatusCode convertSeed(const EventContext& ctx,
60  const SegmentSeedContainer& seedContainer,
61  ::MuonPatternCombinationCollection& patternContainer,
62  Muon::HoughDataPerSectorVec& houghDataSec) const;
63 
66  Muon::HoughDataPerSectorVec& houghDataSec)const;
67 
68 
69 
70 
72  "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
74  SG::ReadHandleKey<Muon::TgcPrepDataContainer> m_keyTgc{this, "TgcKey", "TGC_MeasurementsAllBCs"};
75  SG::ReadHandleKey<Muon::RpcPrepDataContainer> m_keyRpc{this, "RpcKey", "RPC_Measurements"};
76  SG::ReadHandleKey<Muon::MdtPrepDataContainer> m_keyMdt{this, "MdtKey", "MDT_DriftCircles"};
77  SG::ReadHandleKey<Muon::sTgcPrepDataContainer> m_keysTgc{this, "sTgcKey", "STGC_Measurements"};
78  SG::ReadHandleKey<Muon::MMPrepDataContainer> m_keyMM{this, "MmKey", "MM_Measurements"};
79 
80  SG::ReadHandleKeyArray<SegmentSeedContainer> m_readKeys{this, "Patterns", {"MuonHoughStationSegmentSeeds"}};
81  SG::ReadHandleKey<ActsGeometryContext> m_geoCtxKey{this, "AlignmentKey", "ActsAlignment", "cond handle key"};
82 
83  SG::WriteHandleKey<::MuonPatternCombinationCollection> m_combiKey{this, "PatternCombiKey", "MuonLayerHoughCombis"};
85  "HoughDataPerSectorVec", "HoughDataPerSectorVec key"};
86 
87  };
88 
89 }
90 
91 #endif
ReadHandleKeyArray.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
MuonR4::PatternCnvAlg::convertSeed
StatusCode convertSeed(const EventContext &ctx, const SegmentSeedContainer &seedContainer, ::MuonPatternCombinationCollection &patternContainer, Muon::HoughDataPerSectorVec &houghDataSec) const
Converts each segment seed first into a PatternCombination - serving as input for the legacy segment ...
Definition: PatternCnvAlg.cxx:70
Muon::MuonPrepDataContainer
Template for Muon PRD containers (which are basically collections of MuonPrepDataCollections).
Definition: MuonPrepDataContainer.h:42
MuonR4::PatternCnvAlg::m_geoCtxKey
SG::ReadHandleKey< ActsGeometryContext > m_geoCtxKey
Definition: PatternCnvAlg.h:81
MuonR4::PatternCnvAlg::m_keyTgc
SG::ReadHandleKey< Muon::TgcPrepDataContainer > m_keyTgc
Prep data container keys.
Definition: PatternCnvAlg.h:74
MuonR4::PatternCnvAlg::m_dataPerSecKey
SG::WriteHandleKey< Muon::HoughDataPerSectorVec > m_dataPerSecKey
Definition: PatternCnvAlg.h:84
MuonR4::PatternCnvAlg::m_readKeys
SG::ReadHandleKeyArray< SegmentSeedContainer > m_readKeys
Definition: PatternCnvAlg.h:80
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
MuonPrepDataContainer.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
AthReentrantAlgorithm
An algorithm that can be simultaneously executed in multiple threads.
Definition: AthReentrantAlgorithm.h:83
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
MuonR4::PatternCnvAlg::fetchPrd
const PrdType * fetchPrd(const Identifier &prdId, const Muon::MuonPrepDataContainerT< PrdType > *prdContainer) const
Definition: PatternCnvAlg.cxx:190
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
Muon::MuonPatternChamberIntersect
This class holds information needed for the Moore and MoMu pattern recognition for a muon chamber.
Definition: MuonPatternChamberIntersect.h:38
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonR4::PatternCnvAlg::retrieveContainer
StatusCode retrieveContainer(const EventContext &ctx, const SG::ReadHandleKey< ContType > &key, const ContType *&contPtr) const
Loads a container from the StoreGate and returns whether the retrieval is successful.
MuonPatternContainer.h
MuonPatternCombinationCollection.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
MuonR4::PatternCnvAlg::m_combiKey
SG::WriteHandleKey<::MuonPatternCombinationCollection > m_combiKey
Definition: PatternCnvAlg.h:83
AthReentrantAlgorithm.h
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
MuonR4::PatternCnvAlg::m_keyRpc
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_keyRpc
Definition: PatternCnvAlg.h:75
MuonR4
This header ties the generic definitions in this package.
Definition: HoughEventData.h:16
Muon::HoughDataPerSectorVec
Definition: HoughDataPerSec.h:65
HoughDataPerSec.h
MuonR4::PatternCnvAlg::convertMaximum
void convertMaximum(const Muon::MuonPatternChamberIntersect &intersect, Muon::HoughDataPerSectorVec &houghDataSec) const
: Converts the maximum back into the HoughDataPersector
Definition: PatternCnvAlg.cxx:148
MuonR4::PatternCnvAlg::m_keyMM
SG::ReadHandleKey< Muon::MMPrepDataContainer > m_keyMM
Definition: PatternCnvAlg.h:78
Amg::intersect
std::optional< double > intersect(const AmgVector(N)&posA, const AmgVector(N)&dirA, const AmgVector(N)&posB, const AmgVector(N)&dirB)
Calculates the point B' along the line B that's closest to a second line A.
Definition: GeoPrimitivesHelpers.h:347
MuonR4::PatternCnvAlg::initialize
StatusCode initialize() override final
Definition: PatternCnvAlg.cxx:17
MuonR4::PatternCnvAlg::m_keyMdt
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_keyMdt
Definition: PatternCnvAlg.h:76
MuonR4::PatternCnvAlg::execute
StatusCode execute(const EventContext &ctx) const override final
Definition: PatternCnvAlg.cxx:48
MuonR4::PatternCnvAlg::m_keysTgc
SG::ReadHandleKey< Muon::sTgcPrepDataContainer > m_keysTgc
Definition: PatternCnvAlg.h:77
MuonR4::PatternCnvAlg
The MuonPatternCnvAlg converts the SegmentSeeds produced by the R4 pattern recognition chain into the...
Definition: PatternCnvAlg.h:22
IMuonIdHelperSvc.h
MuonR4::PatternCnvAlg::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: PatternCnvAlg.h:71
ServiceHandle< Muon::IMuonIdHelperSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37
Identifier
Definition: IdentifierFieldParser.cxx:14