![]() |
ATLAS Offline Software
|
This is the purely sequential simulation kernel, executed once per event. More...
#include <SimKernel.h>
Public Member Functions | |
| SimKernel (const std::string &name, ISvcLocator *pSvcLocator) | |
| Constructor with parameters. | |
| virtual | ~SimKernel () |
| Destructor. | |
| StatusCode | initialize () |
| Athena algorithm's interface method initialize() | |
| StatusCode | execute () |
| Athena algorithm's interface method execute() | |
| StatusCode | finalize () |
| Athena algorithm's interface method finalize() | |
| virtual StatusCode | sysInitialize () override |
| Override sysInitialize. | |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. | |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
| void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
| Add StoreName to extra input/output deps as needed. | |
Private Types | |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| StatusCode | initSimSvcs (SimSelectorToolArray &simSelectorTools) |
| StatusCode | prepareInput (SG::ReadHandle< McEventCollection > &inputTruth, SG::WriteHandle< McEventCollection > &outputTruth, std::unique_ptr< McEventCollection > &shadowTruth, ISFParticleContainer &simParticles) const |
| Convert input generator particles to ISFParticles and copy input generator truth collection into output simulation truth collection. | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| SG::ReadHandle< McEventCollection > | m_inputHardScatterEvgen |
| Input/output truth collections and input conversion. | |
| SG::ReadHandle< McEventCollection > | m_inputPileupEvgen |
| input pileup collection | |
| SG::WriteHandle< McEventCollection > | m_outputHardScatterTruth |
| output hard scatter truth collection | |
| SG::WriteHandle< McEventCollection > | m_outputPileupTruth |
| output pileup truth collection | |
| ServiceHandle< IInputConverter > | m_inputConverter |
| input->ISFParticle converter | |
| ToolHandle< IGenEventFilter > | m_truthPreselectionTool {this, "TruthPreselectionTool", "", "Tool for filtering out quasi-stable particle daughters"} |
| BooleanProperty | m_useShadowEvent {this, "UseShadowEvent", false, "New approach to selecting particles for simulation" } |
| ServiceHandle< IParticleBroker > | m_particleBroker |
| Central particle broker service. | |
| ServiceHandle< ITruthSvc > | m_truthRecordSvc |
| Central truth service. | |
| ToolHandleArray< ISimulationSelector > | m_simSelectors [AtlasDetDescr::fNumAtlasRegions] |
| The Simulation Selector Chains. | |
| ServiceHandle< Simulation::IZeroLifetimePatcher > | m_qspatcher |
| Quasi-Stable Particle Simulation Patcher. | |
| ToolHandleArray< IEventFilterTool > | m_eventFilters |
| The Event Filters. | |
| bool | m_doMemMon |
| The Memory Info Tool. | |
| ToolHandle< IMonitoringTool > | m_memMon |
| unsigned int | m_memUsageEvts |
| std::vector< ISimulationSvc * > | m_simSvcs |
| Simulators to be used. | |
| std::vector< std::string > | m_simSvcNames |
| SimSvc names. | |
| ISF::SimSvcID | m_numSimSvcs |
| total number of SimSvcs used | |
| unsigned int | m_numISFEvents |
| keep track of the number of events processed | |
| bool | m_doCPUMon |
| CPU Benchmarking. | |
| PMonUtils::CustomBenchmark * | m_benchSimID |
| long int | m_numParticles |
| Statistics. | |
| size_t | m_maxParticleVectorSize |
| tuning | |
| DataObjIDColl | m_extendedExtraObjects |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
This is the purely sequential simulation kernel, executed once per event.
The ISF::SimKernel is configured by providing:
The AthAlgorithm::initialize() framework call triggers:
The AthAlgorithm::execute() framework call triggers the following sequence of calls :
Definition at line 68 of file SimKernel.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
| ISF::SimKernel::SimKernel | ( | const std::string & | name, |
| ISvcLocator * | pSvcLocator ) |
Constructor with parameters.
Definition at line 39 of file SimKernel.cxx.
|
virtual |
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 95 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
| StatusCode ISF::SimKernel::execute | ( | ) |
Athena algorithm's interface method execute()
Definition at line 329 of file SimKernel.cxx.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 50 of file AthAlgorithm.cxx.
| StatusCode ISF::SimKernel::finalize | ( | ) |
Athena algorithm's interface method finalize()
Definition at line 195 of file SimKernel.cxx.
| StatusCode ISF::SimKernel::initialize | ( | ) |
Athena algorithm's interface method initialize()
Definition at line 107 of file SimKernel.cxx.
|
private |
Definition at line 277 of file SimKernel.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
private |
Convert input generator particles to ISFParticles and copy input generator truth collection into output simulation truth collection.
Definition at line 566 of file SimKernel.cxx.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Algorithm > >.
Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, and PyAthena::Alg.
Definition at line 66 of file AthAlgorithm.cxx.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 137 of file SimKernel.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
|
private |
The Memory Info Tool.
Definition at line 121 of file SimKernel.h.
|
private |
The Event Filters.
Definition at line 118 of file SimKernel.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 79 of file AthAlgorithm.h.
|
private |
input->ISFParticle converter
Definition at line 100 of file SimKernel.h.
|
private |
Input/output truth collections and input conversion.
input hard scatter collection
Definition at line 96 of file SimKernel.h.
|
private |
input pileup collection
Definition at line 97 of file SimKernel.h.
|
private |
tuning
number of particles simultaneously sent to simulator
Definition at line 143 of file SimKernel.h.
|
private |
Definition at line 122 of file SimKernel.h.
|
private |
Definition at line 123 of file SimKernel.h.
|
private |
keep track of the number of events processed
Definition at line 131 of file SimKernel.h.
|
private |
|
private |
total number of SimSvcs used
Definition at line 128 of file SimKernel.h.
|
private |
output hard scatter truth collection
Definition at line 98 of file SimKernel.h.
|
private |
output pileup truth collection
Definition at line 99 of file SimKernel.h.
|
private |
Central particle broker service.
Definition at line 107 of file SimKernel.h.
|
private |
Quasi-Stable Particle Simulation Patcher.
Definition at line 115 of file SimKernel.h.
|
private |
The Simulation Selector Chains.
Definition at line 112 of file SimKernel.h.
|
private |
SimSvc names.
Definition at line 127 of file SimKernel.h.
|
private |
|
private |
Definition at line 102 of file SimKernel.h.
|
private |
Central truth service.
Definition at line 109 of file SimKernel.h.
|
private |
Definition at line 104 of file SimKernel.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.