Skip to content
Snippets Groups Projects
Commit 41d43ba5 authored by Dave Casper's avatar Dave Casper
Browse files

Athena 22.0.49 compatibility

parent 5af4d5b6
No related branches found
No related tags found
No related merge requests found
Showing
with 100 additions and 98 deletions
......@@ -25,7 +25,7 @@ build_image:
- mkdir build
- cd build
- set +e && source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh; set -e
- set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.40; set -e
- set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.49; set -e
- cmake ../../calypso
- make -j 3
artifacts:
......@@ -41,7 +41,7 @@ test_unittest:
- yum -y install man
- cd build
- set +e && source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh; set -e
- set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.40; set -e
- set +e && asetup --input=../../calypso/asetup.faser Athena,22.0.49; set -e
- set +e && source `find . -name 'setup.sh'`; set -e
- ctest -j3
dependencies:
......
......@@ -17,5 +17,7 @@ def EcalSensorSDCfg(ConfigFlags, name="EcalSensorSD", **kwargs):
kwargs.setdefault("LogicalVolumeNames", ["Ecal::_dd_Geometry_DownstreamRegion_Ecal_Modules_OutCell"])
kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
# result.merge(acc)
return result, EcalSensorSDTool(name, **kwargs)
result = ComponentAccumulator()
result.setPrivateTools(CompFactory.EcalSensorSDTool(name, **kwargs))
return result
......@@ -89,7 +89,7 @@ asetup
source build/x8*/setup.sh
#
# Do this by hand
# asetup --input="$release_directory/calypso/asetup.faser" Athena,22.0.40
# asetup --input="$release_directory/calypso/asetup.faser" Athena,22.0.49
# source "$release_directory/build/x8*/setup.sh"
#
#
......
......@@ -2,7 +2,7 @@
## Setup
In Athena 22.0.40, the scipy module is missing from the LCG environment for some reason.
In Athena 22.0.49, the scipy module is missing from the LCG environment for some reason.
To use the generator, the following command is required after the usual steps to setup the release:
......
......@@ -17,5 +17,7 @@ def EmulsionSensorSDCfg(ConfigFlags, name="EmulsionSensorSD", **kwargs):
kwargs.setdefault("LogicalVolumeNames", ["Emulsion::FrontFilm", "Emulsion::BackFilm"])
kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
# result.merge(acc)
return result, EmulsionSensorSDTool(name, **kwargs)
result = ComponentAccumulator()
result.setPrivateTools(CompFactory.EmulsionSensorSDTool(name, **kwargs))
return result
......@@ -10,7 +10,7 @@ git clone --recursive https://:@gitlab.cern.ch:8443/$USERNAME/calypso.git
#The next three lines are used to setup the ATLAS release environment
export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh
asetup --input=calypso/asetup.faser Athena,22.0.40
asetup --input=calypso/asetup.faser Athena,22.0.49
#create build directory
mkdir build
......@@ -43,6 +43,4 @@ It can be convenient to alias the "asetup --input=calypso/asetup.faser" to somet
** `ConfigFlags.GeoModel.FaserVersion = "FASER-TB00"` and `ConfigFlags.IOVDb.GlobalTag = OFLCOND-FASER-TB00` enables the 2021 Test-beam setup.
* The "FaserActsKalmanFilter" package is temporarily disabled.
* The command `lsetup "lcgenv -p LCG_98python3_ATLAS_8 x86_64-centos7-gcc8-opt sqlite"` may be necessary to avoid errors when generating a database
......@@ -18,5 +18,7 @@ def PreshowerSensorSDCfg(ConfigFlags, name="PreshowerSensorSD", **kwargs):
kwargs.setdefault("LogicalVolumeNames", ["Preshower::Plate"])
kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
# result.merge(acc)
return result, PreshowerSensorSDTool(name, **kwargs)
result = ComponentAccumulator()
result.setPrivateTools(CompFactory.PreshowerSensorSDTool(name, **kwargs))
return result
......@@ -18,5 +18,7 @@ def TriggerSensorSDCfg(ConfigFlags, name="TriggerSensorSD", **kwargs):
kwargs.setdefault("LogicalVolumeNames", ["Trigger::Plate"])
kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
# result.merge(acc)
return result, TriggerSensorSDTool(name, **kwargs)
result = ComponentAccumulator()
result.setPrivateTools(CompFactory.TriggerSensorSDTool(name, **kwargs))
return result
......@@ -18,5 +18,7 @@ def VetoSensorSDCfg(ConfigFlags, name="VetoSensorSD", **kwargs):
kwargs.setdefault("LogicalVolumeNames", ["Veto::Plate"])
kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
# result.merge(acc)
return result, VetoSensorSDTool(name, **kwargs)
result = ComponentAccumulator()
result.setPrivateTools(CompFactory.VetoSensorSDTool(name, **kwargs))
return result
......@@ -2,7 +2,6 @@
from __future__ import print_function
from AthenaConfiguration.ComponentFactory import CompFactory
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaCommon import CfgMgr
SensitiveDetectorMasterTool=CompFactory.SensitiveDetectorMasterTool
......@@ -21,103 +20,78 @@ def FastSimulationMasterToolCfg(ConfigFlags, **kwargs):
result.setPrivateTools(FastSimulationMasterTool(name="FastSimulationMasterTool", **kwargs))
return result
from EmulsionG4_SD.EmulsionG4_SDToolConfig import EmulsionSensorSDCfg
from VetoG4_SD.VetoG4_SDToolConfig import VetoSensorSDCfg
from TriggerG4_SD.TriggerG4_SDToolConfig import TriggerSensorSDCfg
from PreshowerG4_SD.PreshowerG4_SDToolConfig import PreshowerSensorSDCfg
from FaserSCT_G4_SD.FaserSCT_G4_SDToolConfig import SctSensorSDCfg
from EcalG4_SD.EcalG4_SDToolConfig import EcalSensorSDCfg
def NeutrinoSensitiveDetectorListCfg(ConfigFlags):
result = ComponentAccumulator()
tools = []
if ConfigFlags.Detector.EnableEmulsion:
from EmulsionG4_SD.EmulsionG4_SDToolConfig import EmulsionSensorSDCfg
tools += [ result.popToolsAndMerge(EmulsionSensorSDCfg(ConfigFlags)) ]
result.setPrivateTools(tools)
return result
def generateNeutrinoSensitiveDetectorList(ConfigFlags):
def CaloSensitiveDetectorListCfg(ConfigFlags):
result = ComponentAccumulator()
SensitiveDetectorList=[]
tools = []
if ConfigFlags.Detector.EnableEmulsion:
accEmulsion,toolEmulsion = EmulsionSensorSDCfg(ConfigFlags)
SensitiveDetectorList += [ toolEmulsion ]
result.merge(accEmulsion)
return result, SensitiveDetectorList #List of tools here now! (CALL IT TOOL LIST?)
if ConfigFlags.Detector.EnableEcal:
from EcalG4_SD.EcalG4_SDToolConfig import EcalSensorSDCfg
tools += [ result.popToolsAndMerge(EcalSensorSDCfg(ConfigFlags)) ]
def generateScintSensitiveDetectorList(ConfigFlags):
result.setPrivateTools(tools)
return result
def ScintSensitiveDetectorListCfg(ConfigFlags):
result = ComponentAccumulator()
SensitiveDetectorList=[]
tools = []
if ConfigFlags.Detector.EnableVeto:
accVeto,toolVeto = VetoSensorSDCfg(ConfigFlags)
SensitiveDetectorList += [ toolVeto ]
result.merge(accVeto)
from VetoG4_SD.VetoG4_SDToolConfig import VetoSensorSDCfg
tools += [ result.popToolsAndMerge(VetoSensorSDCfg(ConfigFlags)) ]
if ConfigFlags.Detector.EnableTrigger:
accTrigger,toolTrigger = TriggerSensorSDCfg(ConfigFlags)
SensitiveDetectorList += [ toolTrigger ]
result.merge(accTrigger)
from TriggerG4_SD.TriggerG4_SDToolConfig import TriggerSensorSDCfg
tools += [ result.popToolsAndMerge(TriggerSensorSDCfg(ConfigFlags)) ]
if ConfigFlags.Detector.EnablePreshower:
accPreshower,toolPreshower = PreshowerSensorSDCfg(ConfigFlags)
SensitiveDetectorList += [ toolPreshower ]
result.merge(accPreshower)
return result, SensitiveDetectorList #List of tools here now! (CALL IT TOOL LIST?)
from PreshowerG4_SD.PreshowerG4_SDToolConfig import PreshowerSensorSDCfg
tools += [ result.popToolsAndMerge(PreshowerSensorSDCfg(ConfigFlags)) ]
def generateTrackerSensitiveDetectorList(ConfigFlags):
result.setPrivateTools(tools)
return result
def TrackerSensitiveDetectorListCfg(ConfigFlags):
result = ComponentAccumulator()
SensitiveDetectorList=[]
tools = []
if ConfigFlags.Detector.EnableFaserSCT:
accSCT,toolSCT = SctSensorSDCfg(ConfigFlags)
SensitiveDetectorList += [ toolSCT ]
result.merge(accSCT)
return result, SensitiveDetectorList #List of tools here now! (CALL IT TOOL LIST?)
def generateCaloSensitiveDetectorList(ConfigFlags):
from FaserSCT_G4_SD.FaserSCT_G4_SDToolConfig import SctSensorSDCfg
tools += [ result.popToolsAndMerge(SctSensorSDCfg(ConfigFlags)) ]
result = ComponentAccumulator()
SensitiveDetectorList=[]
if ConfigFlags.Detector.EnableEcal:
accEcal,toolEcal = EcalSensorSDCfg(ConfigFlags)
SensitiveDetectorList += [ toolEcal ]
result.merge(accEcal)
return result, SensitiveDetectorList #List of tools here now! (CALL IT TOOL LIST?)
result.setPrivateTools(tools)
return result
def generateSensitiveDetectorList(ConfigFlags):
def SensitiveDetectorListCfg(ConfigFlags):
result = ComponentAccumulator()
SensitiveDetectorList=[]
# SensitiveDetectorList += generateEnvelopeSensitiveDetectorList(ConfigFlags) # to update
acc_NeutrinoSensitiveDetector, NeutrinoSensitiveDetectorList = generateNeutrinoSensitiveDetectorList(ConfigFlags)
SensitiveDetectorList += NeutrinoSensitiveDetectorList
tools = []
acc_ScintSensitiveDetector, ScintSensitiveDetectorList = generateScintSensitiveDetectorList(ConfigFlags)
SensitiveDetectorList += ScintSensitiveDetectorList
tools += result.popToolsAndMerge(CaloSensitiveDetectorListCfg(ConfigFlags))
tools += result.popToolsAndMerge(ScintSensitiveDetectorListCfg(ConfigFlags))
tools += result.popToolsAndMerge(TrackerSensitiveDetectorListCfg(ConfigFlags))
tools += result.popToolsAndMerge(NeutrinoSensitiveDetectorListCfg(ConfigFlags))
acc_TrackerSensitiveDetector, TrackerSensitiveDetectorList = generateTrackerSensitiveDetectorList(ConfigFlags)
SensitiveDetectorList += TrackerSensitiveDetectorList
acc_CaloSensitiveDetector, CaloSensitiveDetectorList = generateCaloSensitiveDetectorList(ConfigFlags)
SensitiveDetectorList += CaloSensitiveDetectorList
result.merge(acc_NeutrinoSensitiveDetector)
result.merge(acc_ScintSensitiveDetector)
result.merge(acc_TrackerSensitiveDetector)
result.merge(acc_CaloSensitiveDetector)
result.setPrivateTools(SensitiveDetectorList)
result.setPrivateTools(tools)
return result
def SensitiveDetectorMasterToolCfg(ConfigFlags, name="SensitiveDetectorMasterTool", **kwargs):
result = ComponentAccumulator()
accSensitiveDetector = generateSensitiveDetectorList(ConfigFlags)
kwargs.setdefault("SensitiveDetectors", result.popToolsAndMerge(accSensitiveDetector)) #list of tools
kwargs.setdefault("SensitiveDetectors", result.popToolsAndMerge(SensitiveDetectorListCfg(ConfigFlags)))
result.setPrivateTools(SensitiveDetectorMasterTool(name, **kwargs)) #note -this is still a public tool
result.setPrivateTools(CompFactory.SensitiveDetectorMasterTool(name, **kwargs))
return result
def getEmptySensitiveDetectorMasterTool(name="EmptySensitiveDetectorMasterTool", **kwargs):
return CfgMgr.SensitiveDetectorMasterTool(name, **kwargs)
result = ComponentAccumulator()
tool = result.popToolsAndMerge(CompFactory.SensitiveDetectorMasterTool(name, **kwargs))
result.setPrivateTools(tool)
return result
# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
from __future__ import print_function
from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
from AthenaConfiguration.ComponentFactory import CompFactory
......@@ -11,6 +12,8 @@ from G4FaserTools.G4PhysicsRegionConfigNew import NeutrinoPhysicsRegionToolCfg,
#the field config tools
from G4FaserTools.G4FieldConfigNew import FASERFieldManagerToolCfg, EmulsionFieldManagerToolCfg, VetoFieldManagerToolCfg, TriggerFieldManagerToolCfg, PreshowerFieldManagerToolCfg, TrackerFieldManagerToolCfg, DipoleFieldManagerToolCfg, EcalFieldManagerToolCfg
from G4FaserTools.G4FaserToolsConfigNew import SensitiveDetectorMasterToolCfg
GeoDetectorTool=CompFactory.GeoDetectorTool
from EmulsionGeoModel.EmulsionGeoModelConfig import EmulsionGeometryCfg
from VetoGeoModel.VetoGeoModelConfig import VetoGeometryCfg
......@@ -20,7 +23,7 @@ from FaserSCT_GeoModel.FaserSCT_GeoModelConfig import FaserSCT_GeometryCfg
from DipoleGeoModel.DipoleGeoModelConfig import DipoleGeometryCfg
from EcalGeoModel.EcalGeoModelConfig import EcalGeometryCfg
BoxEnvelope, MaterialDescriptionTool, SmartlessnessTool, G4AtlasDetectorConstructionTool = CompFactory.getComps("BoxEnvelope", "MaterialDescriptionTool", "SmartlessnessTool", "G4AtlasDetectorConstructionTool",)
BoxEnvelope, MaterialDescriptionTool, VoxelDensityTool, G4AtlasDetectorConstructionTool = CompFactory.getComps("BoxEnvelope", "MaterialDescriptionTool", "VoxelDensityTool", "G4AtlasDetectorConstructionTool",)
from AthenaCommon.SystemOfUnits import mm
......@@ -163,10 +166,20 @@ def MaterialDescriptionToolCfg(ConfigFlags, name="MaterialDescriptionTool", **kw
return result
def SmartlessnessToolCfg(ConfigFlags, name="SmartlessnessTool", **kwargs):
def VoxelDensityToolCfg(ConfigFlags, name="VoxelDensityTool", **kwargs):
## kwargs.setdefault("SomeProperty", aValue)
voxelDensitySettings = {}
# if ConfigFlags.Detector.GeometryITkPixel:
# voxelDensitySettings["ITkPixelDetector"] = 0.05
# if ConfigFlags.Detector.GeometryITkStrip:
# voxelDensitySettings["ITkStrip::Barrel"] = 0.05
# voxelDensitySettings["ITkStrip::ITkStrip_Forward"] = 0.05
# ##The below is only needed temporarily, while we wait for
# ##improved naming to be propagated to all necessary geo tags
# voxelDensitySettings["ITkStrip::SCT_Forward"] = 0.05
kwargs.setdefault("VolumeVoxellDensityLevel",voxelDensitySettings)
result = ComponentAccumulator()
result.setPrivateTools(SmartlessnessTool(name, **kwargs))
result.setPrivateTools(VoxelDensityTool(name, **kwargs))
return result
def getFASER_RegionCreatorList(ConfigFlags):
......@@ -238,7 +251,7 @@ def getGeometryConfigurationTools(ConfigFlags):
# package containing each tool, so G4FaserTools in this case
result =ComponentAccumulator()
geoConfigToolList += [result.popToolsAndMerge(MaterialDescriptionToolCfg(ConfigFlags))]
geoConfigToolList += [result.popToolsAndMerge(SmartlessnessToolCfg(ConfigFlags))]
geoConfigToolList += [result.popToolsAndMerge(VoxelDensityToolCfg(ConfigFlags))]
return result, geoConfigToolList
......@@ -251,7 +264,9 @@ def G4AtlasDetectorConstructionToolCfg(ConfigFlags, name="G4FaserDetectorConstru
kwargs.setdefault("GeometryConfigurationTools", listOfGeoConfTools)
# Getting this tool by name works, but not if you use getSensitiveDetectorMasterTool()
kwargs.setdefault('SenDetMasterTool', "SensitiveDetectorMasterTool" )
tool = result.popToolsAndMerge(SensitiveDetectorMasterToolCfg(ConfigFlags))
result.addPublicTool(tool)
kwargs.setdefault("SenDetMasterTool", result.getPublicTool(tool.name))
toolGeo = result.popToolsAndMerge(FASEREnvelopeCfg(ConfigFlags))
kwargs.setdefault("World", toolGeo)
......
......@@ -18,5 +18,7 @@ def SctSensorSDCfg(ConfigFlags, name="SctSensorSD", **kwargs):
kwargs.setdefault("LogicalVolumeNames", ["SCT::BRLSensor"])
kwargs.setdefault("OutputCollectionNames", [bare_collection_name])
# result.merge(acc)
return result, FaserSctSensorSDTool(name, **kwargs)
result = ComponentAccumulator()
result.setPrivateTools(CompFactory.FaserSctSensorSDTool(name, **kwargs))
return result
......@@ -29,6 +29,7 @@
#include <QTreeWidgetItem>
#include <vector>
#include <set>
#include <optional>
#include <QList>
#include <QFlags>
......
......@@ -303,7 +303,9 @@ bool TrackPropagationHelper::makePointsCharged( std::vector<Amg::Vector3D >& poi
//get individual surfaces
//TODO - optimise this!
const std::vector< const Trk::Surface * > * bsurfs = volume->volumeBounds ().decomposeToSurfaces (volume->transform ());
const std::vector<const Trk::Surface*>* bsurfs =
const_cast<Trk::VolumeBounds&>(volume->volumeBounds())
.decomposeToSurfaces(volume->transform());
if (bsurfs){
messageVerbose("Has this many surfaces:"+str(bsurfs->size()));
......
22.0.40
22.0.49
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment