diff --git a/Generators/EvgenProdTools/share/G4particle_whitelist_Mesons.txt b/Generators/EvgenProdTools/share/G4particle_whitelist_Mesons.txt deleted file mode 100644 index 7c72028787fb345967753044cc04fd85e79026e2..0000000000000000000000000000000000000000 --- a/Generators/EvgenProdTools/share/G4particle_whitelist_Mesons.txt +++ /dev/null @@ -1,22 +0,0 @@ -413 D_star(2010)+ 2010.26 (MeV/c) meson D 0 --413 D_star(2010)- 2010.26 (MeV/c) meson D 0 -423 D_star(2007)0 2006.85 (MeV/c) meson D 0 --423 anti_D_star(2007)0 2006.85 (MeV/c) meson D 0 -10421 D0_star(2300)0 2300 (MeV/c) meson D 0 --10421 anti_D0_star(2300)0 2300 (MeV/c) meson D 0 -10423 D1(2420)0 2420.8 (MeV/c) meson D 0 --10423 anti_D1(2420)0 2420.8 (MeV/c) meson D 0 -425 D2_star(2460)0 2460.7 (MeV/c) meson D 0 --425 anti_D2_star(2460)0 2460.7 (MeV/c) meson D 0 -415 D2_star(2460)+ 2465.4 (MeV/c) meson D 0 --415 D2_star(2460)- 2465.4 (MeV/c) meson D 0 -513 B_star0 5324.70 (MeV/c) meson B 0 --513 anti_B_star0 5324.70 (MeV/c) meson B 0 -10523 B1(5721)+ 5725.9 (MeV/c) meson B 0 --10523 B1(5721)- 5725.9 (MeV/c) meson B 0 -10513 B1(5721)0 5726.1 (MeV/c) meson B 0 --10513 anti_B1(5721)0 5726.1 (MeV/c) meson B 0 -525 B2_star(5747)+ 5737.2 (MeV/c) meson B 0 --525 B2_star(5747)- 5737.2 (MeV/c) meson B 0 -515 B2_star(5747)0 5739.5 (MeV/c) meson B 0 --515 anti_B2_star(5747)0 5739.5 (MeV/c) meson B 0 diff --git a/Simulation/G4Extensions/Mesons/CMakeLists.txt b/Simulation/G4Extensions/Mesons/CMakeLists.txt deleted file mode 100644 index 34d859f51c3b4bb66e3c74849e4cce92b8025fba..0000000000000000000000000000000000000000 --- a/Simulation/G4Extensions/Mesons/CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ -################################################################################ -# Package: Mesons -################################################################################ - -# Declare the package name: -atlas_subdir( Mesons ) - -# Declare the package's dependencies: -atlas_depends_on_subdirs( PUBLIC - GaudiKernel - PRIVATE - Control/AthenaBaseComps - Simulation/G4Atlas/G4AtlasInterfaces ) - -# External dependencies: -find_package( CLHEP ) -find_package( Geant4 ) -find_package( XercesC ) - -# Component(s) in the package: -atlas_add_component( Mesons - src/*.cxx - src/components/*.cxx - INCLUDE_DIRS ${GEANT4_INCLUDE_DIRS} ${XERCESC_INCLUDE_DIRS} ${CLHEP_INCLUDE_DIRS} - LINK_LIBRARIES ${GEANT4_LIBRARIES} ${XERCESC_LIBRARIES} ${CLHEP_LIBRARIES} GaudiKernel AthenaBaseComps G4AtlasInterfaces ) - -# Install files from the package: -atlas_install_python_modules( python/*.py ) - diff --git a/Simulation/G4Extensions/Mesons/python/MesonsConfig.py b/Simulation/G4Extensions/Mesons/python/MesonsConfig.py deleted file mode 100644 index 55e04ef30b45967f3cee83eafc74229289ab654b..0000000000000000000000000000000000000000 --- a/Simulation/G4Extensions/Mesons/python/MesonsConfig.py +++ /dev/null @@ -1,11 +0,0 @@ -# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration - -from AthenaCommon import CfgMgr -from Mesons.MesonsList import createMesonsList - -def getMesonsPhysicsTool(name="MesonsPhysicsTool", **kwargs): - kwargs.setdefault("OutputLevel", 1) - kwargs.setdefault("MesonsConfig", createMesonsList()) - - return CfgMgr.MesonsPhysicsTool(name, **kwargs) - diff --git a/Simulation/G4Extensions/Mesons/python/MesonsConfigDb.py b/Simulation/G4Extensions/Mesons/python/MesonsConfigDb.py deleted file mode 100644 index 82a8975cc23128d213be8c08e62a4af5a24d61c0..0000000000000000000000000000000000000000 --- a/Simulation/G4Extensions/Mesons/python/MesonsConfigDb.py +++ /dev/null @@ -1,4 +0,0 @@ -# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration - -from AthenaCommon.CfgGetter import addTool -addTool("Mesons.MesonsConfig.getMesonsPhysicsTool" , "MesonsPhysicsTool" ) diff --git a/Simulation/G4Extensions/Mesons/python/MesonsList.py b/Simulation/G4Extensions/Mesons/python/MesonsList.py deleted file mode 100644 index 7576124389f644654484c34252d9762d04f5bf78..0000000000000000000000000000000000000000 --- a/Simulation/G4Extensions/Mesons/python/MesonsList.py +++ /dev/null @@ -1,201 +0,0 @@ -# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration - -from AthenaCommon.SystemOfUnits import keV, MeV, ns - -""" -Pythong configuration file for additional mesons. - -The 'mesons' dictionary holds variables related to particles -and anti-particles are automatically created. - -Eventually everything is passed into a -std::map<std::string, std::vector<double>> m_mesonsConfig C++ -object where G4ParticleDefinition pointers get created. - -""" -mesons = {} - -## Additional D mesons -# source: -# http://pdg.lbl.gov/2019/tables/rpp2019-tab-mesons-charm.pdf -#______________________________________________________________ -mesons.update({ - 'D_star(2007)0' : { - 'mass' : 2006.85 * MeV, - 'width' : 2.1 * MeV, - 'charge' : 0, - 'spin' : 1, - 'parity' : -1, - 'PDG' : 423, - 'lifetime' : 3.13e-13 * ns, - }, - 'D_star(2010)+' : { - 'mass' : 2010.26 * MeV, - 'width' : 83.4 * keV, - 'charge' : 1, - 'spin' : 1, - 'parity' : -1, - 'PDG' : 413, - 'lifetime' : 7.892e-12 * ns, - }, - 'D0_star(2300)0' : { - 'mass' : 2300 * MeV, - 'width' : 274 * MeV, - 'charge' : 0, - 'spin' : 0, - 'parity' : +1, - 'PDG' : 10421, - 'lifetime' : 2.402e-15 * ns, - }, - 'D1(2420)0' : { - 'mass' : 2420.8 * MeV, - 'width' : 31.7 * MeV, - 'charge' : 0, - 'spin' : 1, - 'parity' : +1, - 'PDG' : 10423, - 'lifetime' : 2.076e-14 * ns, - }, - 'D2_star(2460)0' : { - 'mass' : 2460.7 * MeV, - 'width' : 47.5 * MeV, - 'charge' : 0, - 'spin' : 2, - 'parity' : +1, - 'PDG' : 425, - 'lifetime' : 1.386e-14 * ns, - }, - 'D2_star(2460)+' : { - 'mass' : 2465.4 * MeV, - 'width' : 46.7 * MeV, - 'charge' : 1, - 'spin' : 2, - 'parity' : +1, - 'PDG' : 415, - 'lifetime' : 1.409e-14 * ns, - }, -}) - -## Additional B mesons -# source: -# http://pdg.lbl.gov/2019/tables/rpp2019-tab-mesons-bottom.pdf -#______________________________________________________________ -mesons.update({ - 'B_star0' : { - 'mass' : 5324.70 * MeV, - 'width' : 45 * MeV, - 'charge' : 0, - 'spin' : 1, - 'parity' : -1, - 'PDG' : 513, - 'lifetime' : 1.463e-14 * ns, - }, - 'B1(5721)+' : { - 'mass' : 5725.9 * MeV, - 'width' : 31 * MeV, - 'charge' : 1, - 'spin' : 1, - 'parity' : +1, - 'PDG' : 10523, - 'lifetime' : 2.123e-14 * ns, - }, - 'B1(5721)0' : { - 'mass' : 5726.1 * MeV, - 'width' : 27.5 * MeV, - 'charge' : 0, - 'spin' : 1, - 'parity' : +1, - 'PDG' : 10513, - 'lifetime' : 2.393e-14 * ns, - }, - 'B2_star(5747)+' : { - 'mass' : 5737.2 * MeV, - 'width' : 20 * MeV, - 'charge' : 1, - 'spin' : 2, - 'parity' : +1, - 'PDG' : 525, - 'lifetime' : 3.291e-14 * ns, - }, - 'B2_star(5747)0' : { - 'mass' : 5739.5 * MeV, - 'width' : 24.2 * MeV, - 'charge' : 0, - 'spin' : 2, - 'parity' : +1, - 'PDG' : 515, - 'lifetime' : 2.72e-14 * ns, - }, -}) - - -def createMesonsList(): - """ - Creates a compact object that holds configuration - for the MesonsPhysicsTool. - - Gaudi cannot parse* nested std::map objects, so the 'mesons' - dictionary is converted into a - - std::map< std::string, std::vector< double > > - - object and ordering of values therefore important--- - - Rows are: - name - mass [MeV] - width [MeV] - charge - 2*spin - parity - 2*isospin3 - PDG - lifetime [ns] - - *: see Gaudi/GaudiKernel/GaudiKernel/Parsers.h - """ - - mesonsList = {} - for meson in mesons: - mesonProperties = mesons[meson] - - # sanity check - verifyProperties(meson) - - # meson - mesonsList[meson] = ( - mesonProperties['mass'], - mesonProperties['width'], - mesonProperties['charge'], - mesonProperties['spin'], - mesonProperties['parity'], - -1/2., - mesonProperties['PDG'], - mesonProperties['lifetime'], - ) - # anti-meson - antiName = "anti_" + meson - if meson[-1] == '+': - antiName = meson.replace('+', '-') - mesonsList[antiName] = ( - mesonProperties['mass'], - mesonProperties['width'], - -mesonProperties['charge'], - mesonProperties['spin'], - mesonProperties['parity'], - +1/2., - -mesonProperties['PDG'], - mesonProperties['lifetime'], - ) - return mesonsList - -def verifyProperties(meson): - mesonProperties = mesons[meson] - if (mesonProperties['lifetime'] <= 0): - raise ValueError('Lifetime of %s is not positive' % meson) - if (mesonProperties['mass'] <= 0): - raise ValueError('Mass of %s is not positive' % meson) - if (mesonProperties['width'] <= 0): - raise ValueError('Width of %s is not positive' % meson) - if (mesonProperties['spin'] < 0): - raise ValueError('Spin of %s is negative' % meson) diff --git a/Simulation/G4Extensions/Mesons/src/CustomMeson.cxx b/Simulation/G4Extensions/Mesons/src/CustomMeson.cxx deleted file mode 100644 index de75981b4ed24100ecf709ccac9e6b807028643a..0000000000000000000000000000000000000000 --- a/Simulation/G4Extensions/Mesons/src/CustomMeson.cxx +++ /dev/null @@ -1,29 +0,0 @@ -/* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -*/ - -#include "CustomMeson.hh" - -// ###################################################################### -// ### CustomMeson ### -// ###################################################################### - -CustomMeson::CustomMeson(const G4String &name, G4double mass, G4double width, - G4int charge, G4double spin, G4int parity, - G4int isospin3, G4int PDG, G4double lifetime, - const G4String &subType) - -// Arguments for constructor are as follows -// name mass width charge -// 2*spin parity C-conjugation -// 2*Isospin 2*Isospin3 G-parity -// type lepton number baryon number PDG encoding -// stable lifetime decay table -// shortlived subType anti_encoding - - : G4ParticleDefinition( name, mass, width, charge, - 2*spin, parity, 0, - 1, 2*isospin3, 0, - "meson", 0, 0, PDG, - false, lifetime, NULL, - false, subType) {} diff --git a/Simulation/G4Extensions/Mesons/src/CustomMeson.hh b/Simulation/G4Extensions/Mesons/src/CustomMeson.hh deleted file mode 100644 index 93c6f042bcf6be15d85408f75457c9a81f25a474..0000000000000000000000000000000000000000 --- a/Simulation/G4Extensions/Mesons/src/CustomMeson.hh +++ /dev/null @@ -1,25 +0,0 @@ -/* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef CustomMeson_h -#define CustomMeson_h 1 - -#include "G4ParticleDefinition.hh" -#include "globals.hh" - -// ###################################################################### -// ### CustomMeson ### -// ###################################################################### - -class CustomMeson : public G4ParticleDefinition { - - public: - CustomMeson(const G4String &name, G4double mass, G4double width, - G4int charge, G4double spin, G4int parity, G4int isospin3, - G4int PDG, G4double lifetime, const G4String &subType); - - virtual ~CustomMeson() {} -}; - -#endif diff --git a/Simulation/G4Extensions/Mesons/src/MesonsPhysicsTool.cxx b/Simulation/G4Extensions/Mesons/src/MesonsPhysicsTool.cxx deleted file mode 100644 index b9b314baa1bd72e0e0b6db6617973a5564f12737..0000000000000000000000000000000000000000 --- a/Simulation/G4Extensions/Mesons/src/MesonsPhysicsTool.cxx +++ /dev/null @@ -1,116 +0,0 @@ -/* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -*/ - -// Include files - -// local -#include "MesonsPhysicsTool.h" -#include "CustomMeson.hh" - -// Geant4 headers -#include "G4MuIonisation.hh" -#include "G4ProcessManager.hh" -#include "G4Transportation.hh" -#include "G4Version.hh" -#include "G4hIonisation.hh" -#include "G4hMultipleScattering.hh" - -// CLHEP headers -#include "CLHEP/Units/SystemOfUnits.h" - -//----------------------------------------------------------------------------- -// Implementation file for class : MesonsPhysicsTool -// -// 01-July-2019 : Miha Muskinja -//----------------------------------------------------------------------------- - -//============================================================================= -// Standard constructor, initializes variables -//============================================================================= -MesonsPhysicsTool::MesonsPhysicsTool(const std::string &type, - const std::string &name, - const IInterface *parent) - : base_class(type, name, parent) { - - declareProperty("MesonsConfig", m_mesonsConfig); -} - -//============================================================================= -// Destructor -//============================================================================= -MesonsPhysicsTool::~MesonsPhysicsTool() {} - -//============================================================================= -// Initialize -//============================================================================= -StatusCode MesonsPhysicsTool::initialize() { - ATH_MSG_DEBUG("initializing..."); - this->SetPhysicsName(this->name()); - return StatusCode::SUCCESS; -} - -//============================================================================= -// GetPhysicsOption -//============================================================================= -MesonsPhysicsTool *MesonsPhysicsTool::GetPhysicsOption() { return this; } - -//============================================================================= -// ConstructParticle -//============================================================================= -void MesonsPhysicsTool::ConstructParticle() { - ATH_MSG_DEBUG("ConstructParticle for the Mesons being run"); - - for (const auto& meson : m_mesonsConfig) { - /* Unpack the config: - values must be in the same order as in - the 'MesonsList.py' config file. - */ - G4String name = meson.first; - G4double mass = meson.second[0]; - G4double width = meson.second[1]; - G4int charge = meson.second[2]; - G4double spin = meson.second[3]; - G4int parity = meson.second[4]; - G4int isospin3 = meson.second[5]; - G4int PDG = meson.second[6]; - G4double lifetime = meson.second[7]; - G4String subType = "meson"; - if (name.find("D") == 0 || name.find("anti_D") == 0) - subType = "D"; - else if (name.find("B") == 0 || name.find("anti_B") == 0) - subType = "B"; - - // debug printout - ATH_MSG_DEBUG("Constructing meson " << name); - ATH_MSG_DEBUG(" mass: " << mass); - ATH_MSG_DEBUG(" width: " << width); - ATH_MSG_DEBUG(" charge: " << charge); - ATH_MSG_DEBUG(" spin: " << spin); - ATH_MSG_DEBUG(" parity: " << parity); - ATH_MSG_DEBUG(" isospin3: " << isospin3); - ATH_MSG_DEBUG(" PDG: " << PDG); - ATH_MSG_DEBUG(" lifetime: " << lifetime); - ATH_MSG_DEBUG(" subType: " << subType); - - // create the new meson - m_setOfMesons.insert(new CustomMeson(name, mass, width, charge, spin, - parity, isospin3, PDG, lifetime, - subType)); - } -} - -//============================================================================= -// ConstructProcess -//============================================================================= -void MesonsPhysicsTool::ConstructProcess() { - for (auto *meson : m_setOfMesons) { - if (meson->GetPDGCharge() != 0) { - ATH_MSG_DEBUG("Adding EM processes for " - << meson->GetParticleName()); - G4ProcessManager *proc = meson->GetProcessManager(); - proc->AddProcess(new G4hMultipleScattering, -1, 1, 1); - proc->AddProcess(new G4hIonisation, -1, 2, 2); - } - } -} diff --git a/Simulation/G4Extensions/Mesons/src/MesonsPhysicsTool.h b/Simulation/G4Extensions/Mesons/src/MesonsPhysicsTool.h deleted file mode 100644 index a0017dc0f2dac6582896a8b740aa5d1742409c94..0000000000000000000000000000000000000000 --- a/Simulation/G4Extensions/Mesons/src/MesonsPhysicsTool.h +++ /dev/null @@ -1,46 +0,0 @@ -/* - Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration -*/ - -#ifndef MESONS_MESONSPHYSICSTOOL_H -#define MESONS_MESONSPHYSICSTOOL_H - -// Include files -#include "AthenaBaseComps/AthAlgTool.h" -#include "G4AtlasInterfaces/IPhysicsOptionTool.h" -#include "G4VPhysicsConstructor.hh" - -/** @class MesonsPhysicsTool MesonsPhysicsTool.h - * "G4AtlasInfrstructure/MesonsPhysicsTool.h" - * - * Tool for the concrete implementation of a Physics List selection class - * - * @author Miha Muskinja - * @date 01-July-2019 - */ -class MesonsPhysicsTool : public G4VPhysicsConstructor, - public extends<AthAlgTool, IPhysicsOptionTool> { - public: - /// Standard constructor - MesonsPhysicsTool(const std::string &type, const std::string &name, - const IInterface *parent); - - virtual ~MesonsPhysicsTool(); ///< Destructor - - /// Initialize method - virtual StatusCode initialize() override final; - virtual void ConstructParticle() override final; - virtual void ConstructProcess() override final; - - /** Implements */ - virtual MesonsPhysicsTool *GetPhysicsOption() override final; - - protected: - /// a set of parameters for Meson building - std::map<std::string, std::vector<double>> m_mesonsConfig; - - /// a set to hold the newly created mesons - std::set<G4ParticleDefinition *> m_setOfMesons; -}; - -#endif // MESONS_MESONSPHYSICSTOOL_H diff --git a/Simulation/G4Extensions/Mesons/src/components/Mesons_entries.cxx b/Simulation/G4Extensions/Mesons/src/components/Mesons_entries.cxx deleted file mode 100644 index 63253ea4d9d96e522aabf18316c06902d2e29f99..0000000000000000000000000000000000000000 --- a/Simulation/G4Extensions/Mesons/src/components/Mesons_entries.cxx +++ /dev/null @@ -1,3 +0,0 @@ -#include "../MesonsPhysicsTool.h" - -DECLARE_COMPONENT( MesonsPhysicsTool ) diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfig.py b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfig.py index b51865b70487019ed5e132028438ca42f094428d..d6b5064d8cdfd3a42d83dfbe195865683c5087bf 100644 --- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfig.py +++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfig.py @@ -31,11 +31,6 @@ def getParticleSimWhiteList_ExtraParticles(name="ISF_ParticleSimWhiteList_ExtraP kwargs.setdefault('WhiteLists' , ['G4particle_whitelist.txt', 'G4particle_whitelist_ExtraParticles.txt'] ) return CfgMgr.ISF__GenParticleSimWhiteList(name, **kwargs) -def getParticleSimWhiteList_LongLived(name="ISF_ParticleSimWhiteList_LongLived", **kwargs): - # GenParticleSimWhiteList_LongLived - kwargs.setdefault('WhiteLists' , ['G4particle_whitelist.txt', 'G4particle_whitelist_Mesons.txt'] ) - return CfgMgr.ISF__GenParticleSimWhiteList(name, **kwargs) - def getParticlePositionFilter(name="ISF_ParticlePositionFilter", **kwargs): # ParticlePositionFilter kwargs.setdefault('GeoIDService' , 'ISF_GeoIDSvc' ) diff --git a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigDb.py b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigDb.py index 72ee8ab1c3eaf6b51f6d7380c227a8fa3ef90a09..2ba6a997c58d80ba6a86f7c5dbc407deb9b7c406 100644 --- a/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigDb.py +++ b/Simulation/ISF/ISF_HepMC/ISF_HepMC_Tools/python/ISF_HepMC_ToolsConfigDb.py @@ -5,7 +5,6 @@ from AthenaCommon.CfgGetter import addTool addTool("ISF_HepMC_Tools.ISF_HepMC_ToolsConfig.getParticleFinalStateFilter", "ISF_ParticleFinalStateFilter") addTool("ISF_HepMC_Tools.ISF_HepMC_ToolsConfig.getParticleSimWhiteList", "ISF_ParticleSimWhiteList") addTool("ISF_HepMC_Tools.ISF_HepMC_ToolsConfig.getParticleSimWhiteList_ExtraParticles", "ISF_ParticleSimWhiteList_ExtraParticles") -addTool("ISF_HepMC_Tools.ISF_HepMC_ToolsConfig.getParticleSimWhiteList_LongLived", "ISF_ParticleSimWhiteList_LongLived") addTool("ISF_HepMC_Tools.ISF_HepMC_ToolsConfig.getParticlePositionFilterID", "ISF_ParticlePositionFilterID") addTool("ISF_HepMC_Tools.ISF_HepMC_ToolsConfig.getParticlePositionFilterCalo", "ISF_ParticlePositionFilterCalo") addTool("ISF_HepMC_Tools.ISF_HepMC_ToolsConfig.getParticlePositionFilterMS", "ISF_ParticlePositionFilterMS") diff --git a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Mesons.py b/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Mesons.py deleted file mode 100644 index 824b7ff3aa6b62abec06f45448b88ff0b37c9c5b..0000000000000000000000000000000000000000 --- a/Simulation/SimulationJobOptions/share/specialConfig/preInclude.Mesons.py +++ /dev/null @@ -1,18 +0,0 @@ -######################################################### -# -# SimulationJobOptions/preInclude.Mesons.py -# Miha Muskinja -# -# Adds extra mesons to the Geant4 particle list. Mesons -# are configured in Mesons.MesonsList module. -# -# -######################################################### - -## Add the physics tool for new mesons -simFlags.PhysicsOptions += ['MesonsPhysicsTool'] - -## Add the additional mesons to the white list -from G4AtlasApps.SimFlags import SimFlags -if hasattr(simFlags, 'ParticleSimWhiteList'): - SimFlags.ParticleSimWhiteList.set_Value_and_Lock('ISF_ParticleSimWhiteList_LongLived')