From ebf168b0334adff518d19124707e2a2a1966e7aa Mon Sep 17 00:00:00 2001 From: Lottie Cavanagh <ccavanagh@hep.ph.liv.ac.uk> Date: Mon, 31 Jan 2022 11:40:00 +0000 Subject: [PATCH] FaserParticleGun modified to include radial position sampler --- .../python/FaserParticleGunConfig.py | 32 ++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-) diff --git a/Generators/FaserParticleGun/python/FaserParticleGunConfig.py b/Generators/FaserParticleGun/python/FaserParticleGunConfig.py index f5ba68bc..c303469f 100644 --- a/Generators/FaserParticleGun/python/FaserParticleGunConfig.py +++ b/Generators/FaserParticleGun/python/FaserParticleGunConfig.py @@ -12,6 +12,10 @@ from AthenaConfiguration.ComponentFactory import CompFactory from AthenaCommon.SystemOfUnits import TeV from AthenaCommon.PhysicalConstants import pi +### add radial pos sampler ### with gaussian beam implemented +from FaserParticleGun.RadialPosSampler import RadialPosSampler + + def FaserParticleGunCommonCfg(ConfigFlags, **kwargs) : cfg = ComponentAccumulator(AthSequencer("AthBeginSeq", Sequential = True)) @@ -46,6 +50,32 @@ def FaserParticleGunSingleParticleCfg(ConfigFlags, **kwargs) : return cfg +def FaserParticleGunSingleEcalParticleCfg(ConfigFlags, **kwargs) : + cfg = FaserParticleGunCommonCfg(ConfigFlags, **kwargs) + + pg = cfg.getPrimary() + + pg.sampler.pid = kwargs.setdefault("pid", 13) + pg.sampler.mom = PG.EThetaMPhiSampler(energy = kwargs.setdefault("energy", 1*TeV), + theta = kwargs.setdefault("theta", 0.0), + phi = kwargs.setdefault("phi", 0.0), + mass = kwargs.setdefault("mass", 105.7) ) + + if "radius" in kwargs: + pg.sampler.pos = RadialPosSampler(x = kwargs.setdefault("x", 0.0), + y = kwargs.setdefault("y", 0.0), + z = kwargs.setdefault("z", 0.0), + r = kwargs.setdefault("radius", 1.0), + t = kwargs.setdefault("t", 0.0) ) + else: + pg.sampler.pos = PG.PosSampler(x = kwargs.setdefault("x", 0.0), + y = kwargs.setdefault("y", 0.0), + z = kwargs.setdefault("z", 0.0), + t = kwargs.setdefault("t", 0.0) ) + + return cfg + +''' def FaserParticleGunSingleEcalParticleCfg(ConfigFlags, **kwargs) : cfg = FaserParticleGunCommonCfg(ConfigFlags, **kwargs) @@ -62,7 +92,7 @@ def FaserParticleGunSingleEcalParticleCfg(ConfigFlags, **kwargs) : t = kwargs.setdefault("t", 0.0) ) return cfg - +''' def FaserParticleGunCosmicsCfg(ConfigFlags, **kwargs) : # Supported keyword arguments: # -- GitLab