ATLAS Offline Software
MuonPRD_MultiTruthMaker.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // Algorithm producing truth info for PrepRawData, keeping all MC particles contributed to a PRD.
6 // A. Gaponenko, 2006
7 
8 #ifndef PRD_MULTITRUTHMAKER_H
9 #define PRD_MULTITRUTHMAKER_H
10 
11 #include <string>
12 
14 #include "GaudiKernel/ServiceHandle.h"
26 
28 public:
29  MuonPRD_MultiTruthMaker(const std::string &name, ISvcLocator *pSvcLocator);
30 
31  virtual StatusCode initialize();
32  virtual StatusCode execute();
33 
34 private:
35  ServiceHandle<Muon::IMuonIdHelperSvc> m_idHelperSvc{this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"};
36 
43 
50 
57 
58  //----------------------------------------------------------------
59  template <class PrepDataContainer, class SIMDATACOLLECTION>
62 
63  template <class PRD_Container_Iterator, class SIMDATACOLLECTION>
64  void addPRDCollections(SG::WriteHandle<PRD_MultiTruthCollection>& prdTruth, PRD_Container_Iterator collections_begin,
65  PRD_Container_Iterator collections_end, SG::ReadHandle<SIMDATACOLLECTION> simDataMap);
66 
67  template <class PRD_Collection_Iterator, class SIMDATACOLLECTION>
68  void addPRDRange(SG::WriteHandle<PRD_MultiTruthCollection>& prdTruth, PRD_Collection_Iterator range_begin,
69  PRD_Collection_Iterator range_end, SG::ReadHandle<SIMDATACOLLECTION> simDataMap);
70 
71  // An analogue of this comes from a tool in InDet
72  template <class SIMDATACOLLECTION>
75 };
76 
77 #endif // PRD_MULTITRUTHMAKER_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
MuonPRD_MultiTruthMaker::m_MDT_SimDataMapName
SG::ReadHandleKey< MuonSimDataCollection > m_MDT_SimDataMapName
Definition: MuonPRD_MultiTruthMaker.h:44
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
CscSimDataCollection.h
MuonPRD_MultiTruthMaker::m_MM_ContainerName
SG::ReadHandleKey< Muon::MMPrepDataContainer > m_MM_ContainerName
Definition: MuonPRD_MultiTruthMaker.h:42
MuonPRD_MultiTruthMaker::m_MM_SimDataMapName
SG::ReadHandleKey< MuonSimDataCollection > m_MM_SimDataMapName
Definition: MuonPRD_MultiTruthMaker.h:49
MuonPRD_MultiTruthMaker::MuonPRD_MultiTruthMaker
MuonPRD_MultiTruthMaker(const std::string &name, ISvcLocator *pSvcLocator)
Definition: MuonPRD_MultiTruthMaker.cxx:14
MuonPRD_MultiTruthMaker::m_CSC_PRD_TruthName
SG::WriteHandleKey< PRD_MultiTruthCollection > m_CSC_PRD_TruthName
Definition: MuonPRD_MultiTruthMaker.h:52
MuonPRD_MultiTruthMaker::m_MM_PRD_TruthName
SG::WriteHandleKey< PRD_MultiTruthCollection > m_MM_PRD_TruthName
Definition: MuonPRD_MultiTruthMaker.h:56
MMPrepDataContainer.h
MuonPRD_MultiTruthMaker::addPRDRange
void addPRDRange(SG::WriteHandle< PRD_MultiTruthCollection > &prdTruth, PRD_Collection_Iterator range_begin, PRD_Collection_Iterator range_end, SG::ReadHandle< SIMDATACOLLECTION > simDataMap)
Definition: MuonPRD_MultiTruthMaker.cxx:137
MuonPrepDataContainer.h
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
MuonPRD_MultiTruthMaker::m_TGC_SimDataMapName
SG::ReadHandleKey< MuonSimDataCollection > m_TGC_SimDataMapName
Definition: MuonPRD_MultiTruthMaker.h:47
MuonPRD_MultiTruthMaker::m_STGC_PRD_TruthName
SG::WriteHandleKey< PRD_MultiTruthCollection > m_STGC_PRD_TruthName
Definition: MuonPRD_MultiTruthMaker.h:55
MuonPRD_MultiTruthMaker::m_TGC_ContainerName
SG::ReadHandleKey< Muon::TgcPrepDataContainer > m_TGC_ContainerName
Definition: MuonPRD_MultiTruthMaker.h:40
sTgcPrepDataContainer.h
AthAlgorithm.h
MuonPRD_MultiTruthMaker::addPRDCollections
void addPRDCollections(SG::WriteHandle< PRD_MultiTruthCollection > &prdTruth, PRD_Container_Iterator collections_begin, PRD_Container_Iterator collections_end, SG::ReadHandle< SIMDATACOLLECTION > simDataMap)
Definition: MuonPRD_MultiTruthMaker.cxx:126
MuonPRD_MultiTruthMaker::m_TGC_PRD_TruthName
SG::WriteHandleKey< PRD_MultiTruthCollection > m_TGC_PRD_TruthName
Definition: MuonPRD_MultiTruthMaker.h:54
TileDigitizationConfig.outputKey
outputKey
Definition: TileDigitizationConfig.py:104
MuonPRD_MultiTruthMaker::m_STGC_SimDataMapName
SG::ReadHandleKey< MuonSimDataCollection > m_STGC_SimDataMapName
Definition: MuonPRD_MultiTruthMaker.h:48
SG::WriteHandleKey< PRD_MultiTruthCollection >
MuonPrepDataCollection.h
MuonPRD_MultiTruthMaker::execute
virtual StatusCode execute()
Definition: MuonPRD_MultiTruthMaker.cxx:65
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
MuonPRD_MultiTruthMaker::m_STGC_ContainerName
SG::ReadHandleKey< Muon::sTgcPrepDataContainer > m_STGC_ContainerName
Definition: MuonPRD_MultiTruthMaker.h:41
AthAlgorithm
Definition: AthAlgorithm.h:47
MuonPRD_MultiTruthMaker::m_CSC_SimDataMapName
SG::ReadHandleKey< CscSimDataCollection > m_CSC_SimDataMapName
Definition: MuonPRD_MultiTruthMaker.h:45
Trk::PrepRawData
Definition: PrepRawData.h:62
WriteHandleKey.h
Property holding a SG store/key/clid from which a WriteHandle is made.
MuonPRD_MultiTruthMaker::m_RPC_SimDataMapName
SG::ReadHandleKey< MuonSimDataCollection > m_RPC_SimDataMapName
Definition: MuonPRD_MultiTruthMaker.h:46
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MuonPRD_MultiTruthMaker::buildPRD_Truth
StatusCode buildPRD_Truth(SG::ReadHandleKey< PrepDataContainer > prepDataKey, SG::ReadHandleKey< SIMDATACOLLECTION > sdoKey, const SG::WriteHandleKey< PRD_MultiTruthCollection > &outputKey)
Definition: MuonPRD_MultiTruthMaker.cxx:95
MuonPRD_MultiTruthMaker::m_MDT_PRD_TruthName
SG::WriteHandleKey< PRD_MultiTruthCollection > m_MDT_PRD_TruthName
Definition: MuonPRD_MultiTruthMaker.h:51
MuonPRD_MultiTruthMaker::m_RPC_PRD_TruthName
SG::WriteHandleKey< PRD_MultiTruthCollection > m_RPC_PRD_TruthName
Definition: MuonPRD_MultiTruthMaker.h:53
SG::WriteHandle
Definition: StoreGate/StoreGate/WriteHandle.h:76
MuonPRD_MultiTruthMaker::addPrepRawDatum
void addPrepRawDatum(SG::WriteHandle< PRD_MultiTruthCollection > &prdTruth, const Trk::PrepRawData *prd, SG::ReadHandle< SIMDATACOLLECTION > simDataMap)
Definition: MuonPRD_MultiTruthMaker.cxx:146
MuonPRD_MultiTruthMaker
Definition: MuonPRD_MultiTruthMaker.h:27
MuonPRD_MultiTruthMaker::m_MDT_ContainerName
SG::ReadHandleKey< Muon::MdtPrepDataContainer > m_MDT_ContainerName
Definition: MuonPRD_MultiTruthMaker.h:37
MuonPRD_MultiTruthMaker::initialize
virtual StatusCode initialize()
Definition: MuonPRD_MultiTruthMaker.cxx:40
MuonPRD_MultiTruthMaker::m_CSC_ContainerName
SG::ReadHandleKey< Muon::CscPrepDataContainer > m_CSC_ContainerName
Definition: MuonPRD_MultiTruthMaker.h:38
MuonPRD_MultiTruthMaker::m_RPC_ContainerName
SG::ReadHandleKey< Muon::RpcPrepDataContainer > m_RPC_ContainerName
Definition: MuonPRD_MultiTruthMaker.h:39
PRD_MultiTruthCollection.h
MuonPRD_MultiTruthMaker::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MuonPRD_MultiTruthMaker.h:35
MuonSimDataCollection.h
IMuonIdHelperSvc.h
MuonSimData.h
ServiceHandle< Muon::IMuonIdHelperSvc >