![]() |
ATLAS Offline Software
|
A GenModule algorithm to produce beam halo HepMC records from input ASCII files produced with MARS or FLUKA beam background simulations. More...
#include <BeamHaloGeneratorAlg.h>
Public Member Functions | |
| BeamHaloGeneratorAlg (const std::string &name, ISvcLocator *svcLocator) | |
| virtual | ~BeamHaloGeneratorAlg ()=default |
| virtual StatusCode | genInitialize () |
| For initializing the generator, if required. | |
| virtual StatusCode | genFinalize () |
| For finalising the generator, if required. | |
| virtual StatusCode | callGenerator () |
| Read one event from the selected input and convert it into GenEvent format. | |
| virtual StatusCode | fillEvt (HepMC::GenEvent *evt) |
| Fill the GenEvent pointer with the contents of the GenEvent cache. | |
| virtual StatusCode | sysInitialize () override |
| Override sysInitialize. | |
| virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. | |
| virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. | |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. | |
| virtual bool | filterPassed (const EventContext &ctx) const |
| Get filter decision: | |
| virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
| Set filter decision: | |
| 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 |
Event loop algorithm methods: not to be overloaded | |
| StatusCode | initialize () |
| StatusCode | execute (const EventContext &ctx) |
| Execute method. | |
| StatusCode | finalize () |
Gen-specific event loop methods: to be overloaded | |
| virtual StatusCode | genuserInitialize () |
| For initialization of user code, if required. Called after genInitialize. | |
Event collection accessors (const and non-const) | |
| HepMC::GenEvent *event | ATLAS_NOT_CONST_THREAD_SAFE () |
| Access the current signal event (first in the McEventCollection). | |
| McEventCollection *events | ATLAS_NOT_CONST_THREAD_SAFE () |
| Access the current event's McEventCollection. | |
| const HepMC::GenEvent * | event_const (const EventContext &ctx) const |
| Access the current signal event (const). | |
| const McEventCollection * | events_const (const EventContext &ctx) const |
| Access the current event's McEventCollection (const). | |
Particle data accessors | |
| const ServiceHandle< IPartPropSvc > | partPropSvc () const |
| Access the particle property service. | |
| const HepPDT::ParticleDataTable & | particleTable () const |
| Get a particle data table. | |
| const HepPDT::ParticleDataTable & | pdt () const |
| Shorter alias to get a particle data table. | |
| const HepPDT::ParticleData * | particleData (int pid) const |
| Access an element in the particle data table. | |
Protected Member Functions | |
| virtual bool | isReEntrant () const override final |
| Legacy algorithms are not thread-safe. | |
| 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 | |
| enum | validationPlotsEnum { PRI_R , PRI_Z , PRI_Z_TCT , SP_R_ALL , SP_E_ALL , SP_PZ_ALL , SP_PT_ALL , SP_R_PROTONS , SP_E_PROTONS , SP_PZ_PROTONS , SP_PT_PROTONS , SP_R_MUONS , SP_E_MUONS , SP_PZ_MUONS , SP_PT_MUONS , NPLOTS } |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| StringProperty | m_inputTypeStr {this, "inputType", "MARS-NM"} |
| Input file type and therefore associated beam halo generator that should be used. | |
| StringProperty | m_inputFile {this, "inputFile", "bgi-b2l1.1"} |
| Input file name. | |
| DoubleProperty | m_interfacePlane {this, "interfacePlane", 20850.0} |
| The position of the interface plane in mm. | |
| BooleanProperty | m_enableFlip {this, "enableFlip", false} |
| Flag for flipping event. | |
| FloatProperty | m_flipProbability {this, "flipProbability", 0.0} |
| Flip probability. | |
| BooleanProperty | m_enableSampling {this, "enableSampling", false} |
| Flag to enable or disable sampling. | |
| StringProperty | m_bufferFileName {this, "bufferFileName", "BinaryBuffer.bin"} |
| The name of the binary buffer file, needed for sampling from a converted file. | |
| StringArrayProperty | m_generatorSettings {this, "generatorSettings", {}, "A set of cuts to be applied to generated particles."} |
| A vector of strings defining generator settings. | |
| BooleanProperty | m_doMonitoringPlots {this, "doMonitoringPlots", false} |
| A flag to allow monitoring plots to be turned on or off. | |
| ServiceHandle< ITHistSvc > | m_tHistSvc {this, "THistSvc", "THistSvc"} |
| A pointer to the THist service for validation plots. | |
| StringProperty | m_randomStream {this, "randomStream", "BeamHalo"} |
| Name of the random number stream. | |
| BeamHaloGenerator * | m_beamHaloGenerator {} |
| A pointer to the beam halo generator. | |
| HepMC::GenEvent | m_evt {} |
| An empty GenEvent to cache the generate output between callGenerator and fillEvt. | |
| TH1F * | m_validationPlots [NPLOTS] |
| An array of TH1F pointers for validation plots. | |
| DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. | |
| 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 |
Features for derived classes to use internally | |
| ServiceHandle< IAthRNGSvc > | m_rndmSvc {this, "RndmSvc", "AthRNGSvc"} |
| Data members. | |
| ServiceHandle< IIncidentSvc > | m_incidentSvc {this, "IncidentSvc", "IncidentSvc"} |
| Handle on the incident service. | |
| IntegerProperty | m_randomSeed {this, "RandomSeed", 1234567, "Random seed for the built-in random engine"} |
| Seed for random number engine. | |
| BooleanProperty | m_isAfterburner {this, "IsAfterburner", false, "Set true if generator modifies existing events rather than creating new ones"} |
| Flag for normal vs. afterburner generators. | |
| std::shared_ptr< HepMC3::GenRunInfo > | m_runinfo {} |
| The run info for HepMC3. | |
| CLHEP::HepRandomEngine * | getRandomEngine (const std::string &streamName, const EventContext &ctx) const |
| CLHEP::HepRandomEngine * | getRandomEngine (const std::string &streamName, unsigned long int randomSeedOffset, const EventContext &ctx) const |
| CLHEP::HepRandomEngine * | getRandomEngineDuringInitialize (const std::string &streamName, unsigned long int randomSeedOffset, unsigned int conditionsRun=1, unsigned int lbn=1) const |
Properties | |
| ServiceHandle< IPartPropSvc > | m_ppSvc {this, "PartPropSvc", "PartPropSvc"} |
| Handle on the particle property service. | |
| SG::ReadHandleKey< McEventCollection > | m_mcevents_const { this, "McEventKey", "GEN_EVENT", "StoreGate key of the MC event collection" } |
| Const handle to the MC event collection. | |
| std::string | m_mcEventKey {} |
| StoreGate key for the MC event collection (defaults to GEN_EVENT). | |
| BooleanProperty | m_mkMcEvent {this, "MakeMcEvent", false, "Create a new MC event collection if it doesn't exist"} |
| Flag to determine if a new MC event collection should be made if it doesn't exist. | |
A GenModule algorithm to produce beam halo HepMC records from input ASCII files produced with MARS or FLUKA beam background simulations.
Definition at line 26 of file BeamHaloGeneratorAlg.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
private |
| Enumerator | |
|---|---|
| PRI_R | |
| PRI_Z | |
| PRI_Z_TCT | |
| SP_R_ALL | |
| SP_E_ALL | |
| SP_PZ_ALL | |
| SP_PT_ALL | |
| SP_R_PROTONS | |
| SP_E_PROTONS | |
| SP_PZ_PROTONS | |
| SP_PT_PROTONS | |
| SP_R_MUONS | |
| SP_E_MUONS | |
| SP_PZ_MUONS | |
| SP_PT_MUONS | |
| NPLOTS | |
Definition at line 87 of file BeamHaloGeneratorAlg.h.
| BeamHaloGeneratorAlg::BeamHaloGeneratorAlg | ( | const std::string & | name, |
| ISvcLocator * | svcLocator ) |
Definition at line 16 of file BeamHaloGeneratorAlg.cxx.
|
virtualdefault |
|
inherited |
Access the current event's McEventCollection.
|
inlineinherited |
Access the current signal event (first in the McEventCollection).
Definition at line 76 of file GenBase.h.
|
virtual |
Read one event from the selected input and convert it into GenEvent format.
If the end of file is reached the status code returned will not be success.
Reimplemented from GenModule.
Definition at line 147 of file BeamHaloGeneratorAlg.cxx.
|
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 |
Access the current signal event (const).
Definition at line 83 of file GenBase.h.
|
inlineinherited |
Access the current event's McEventCollection (const).
Definition at line 97 of file GenBase.h.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
virtualinherited |
Execute method.
Reimplemented from GenBase.
Definition at line 70 of file GenModule.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 89 of file AthCommonAlgorithm.cxx.
|
virtual |
Fill the GenEvent pointer with the contents of the GenEvent cache.
The GenEvent cache is filled by calling callGenerator()
Implements GenModule.
Definition at line 211 of file BeamHaloGeneratorAlg.cxx.
|
inlinevirtualinherited |
Get filter decision:
Definition at line 93 of file AthCommonAlgorithm.h.
|
inlineinherited |
Definition at line 55 of file GenModule.h.
|
virtual |
For finalising the generator, if required.
Reimplemented from GenModule.
Definition at line 218 of file BeamHaloGeneratorAlg.cxx.
|
virtual |
For initializing the generator, if required.
Reimplemented from GenModule.
Definition at line 26 of file BeamHaloGeneratorAlg.cxx.
|
inlinevirtualinherited |
For initialization of user code, if required. Called after genInitialize.
Reimplemented in Pythia8B_i.
Definition at line 64 of file GenModule.h.
|
protectedinherited |
Definition at line 34 of file GenModule.cxx.
|
protectedinherited |
Definition at line 44 of file GenModule.cxx.
|
protectedinherited |
Definition at line 53 of file GenModule.cxx.
|
virtualinherited |
Reimplemented from GenBase.
Definition at line 21 of file GenModule.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.
|
inlineoverridevirtualinherited |
Specify if the algorithm is clonable.
Only relevant for non-reentrant algorithms. Actual number of clones needs to be set via the "Cardinality" property.
Reimplemented in AFP_DigiTop, AlgB, AlgT, BCM_Digitization, CscDigitBuilder, CscDigitToCscRDO, G4AtlasAlg, G4RunAlg, HGTD_Digitization, HiveAlgBase, InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ISF::SimKernelMT, ITk::StripDigitization, ITkPixelCablingAlg, ITkStripCablingAlg, LArHitEMapMaker, LArTTL1Maker, LUCID_DigiTop, LVL1::L1TopoSimulation, MergeCalibHits, MergeGenericMuonSimHitColl, MergeHijingPars, MergeMcEventCollection, MergeTrackRecordCollection, MergeTruthJets, MergeTruthParticles, MuonDigitizer, PileUpMTAlg, PixelDigitization, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_Digitization, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, SGInputLoader, Simulation::BeamEffectsAlg, TileHitVecToCnt, TileMuonFitter, TilePulseForTileMuonReceiver, TileRawChannelMaker, TRTDigitization, and ZDC_DigiTop.
Definition at line 68 of file AthCommonAlgorithm.h.
|
inlinefinaloverrideprotectedvirtualinherited |
Legacy algorithms are not thread-safe.
Definition at line 47 of file AthAlgorithm.h.
|
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.
|
inlineinherited |
Access an element in the particle data table.
Definition at line 124 of file GenBase.h.
|
inlineinherited |
Get a particle data table.
Definition at line 116 of file GenBase.h.
|
inlineinherited |
|
inlineinherited |
|
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.
|
inlinevirtualinherited |
Set filter decision:
Reimplemented in AthFilterAlgorithm.
Definition at line 99 of file AthCommonAlgorithm.h.
|
overridevirtualinherited |
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Reimplemented in AthAnalysisAlgorithm.
Definition at line 80 of file AthCommonAlgorithm.cxx.
|
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< Gaudi::Algorithm > >.
Reimplemented in AthAnalysisAlgorithm, AthFilterAlgorithm, AthHistogramAlgorithm, HypoBase, InputMakerBase, and PyAthena::Alg.
Definition at line 60 of file AthCommonAlgorithm.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 |
|
private |
The name of the binary buffer file, needed for sampling from a converted file.
Definition at line 66 of file BeamHaloGeneratorAlg.h.
|
privateinherited |
Pointer to StoreGate (detector store by default).
Definition at line 393 of file AthCommonDataStore.h.
|
private |
A flag to allow monitoring plots to be turned on or off.
Definition at line 72 of file BeamHaloGeneratorAlg.h.
|
private |
Flag for flipping event.
Definition at line 56 of file BeamHaloGeneratorAlg.h.
|
private |
Flag to enable or disable sampling.
Definition at line 62 of file BeamHaloGeneratorAlg.h.
|
private |
An empty GenEvent to cache the generate output between callGenerator and fillEvt.
Definition at line 85 of file BeamHaloGeneratorAlg.h.
|
privateinherited |
Pointer to StoreGate (event store by default).
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 108 of file AthCommonAlgorithm.h.
|
private |
Flip probability.
Definition at line 59 of file BeamHaloGeneratorAlg.h.
|
private |
A vector of strings defining generator settings.
Definition at line 69 of file BeamHaloGeneratorAlg.h.
|
privateinherited |
Handle on the incident service.
Definition at line 99 of file GenModule.h.
|
private |
Input file name.
Definition at line 50 of file BeamHaloGeneratorAlg.h.
|
private |
Input file type and therefore associated beam halo generator that should be used.
Definition at line 47 of file BeamHaloGeneratorAlg.h.
|
private |
The position of the interface plane in mm.
Definition at line 53 of file BeamHaloGeneratorAlg.h.
|
protectedinherited |
Flag for normal vs. afterburner generators.
Definition at line 87 of file GenModule.h.
|
protectedinherited |
|
privateinherited |
|
privateinherited |
|
protectedinherited |
Seed for random number engine.
Definition at line 84 of file GenModule.h.
|
private |
Name of the random number stream.
Definition at line 78 of file BeamHaloGeneratorAlg.h.
|
privateinherited |
|
protectedinherited |
|
private |
A pointer to the THist service for validation plots.
Definition at line 75 of file BeamHaloGeneratorAlg.h.
|
private |
An array of TH1F pointers for validation plots.
Definition at line 106 of file BeamHaloGeneratorAlg.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.