def main(): """Run a functional test if module is executed""" log = logging.getLogger('ByteStreamConfig') Configurable.configurableRun3Behavior = True config_flags = AthenaConfiguration.AllConfigFlags.ConfigFlags config_flags.Input.Files = defaultTestFiles.RAW config_flags.Output.doWriteBS = True config_flags.lock() read = ByteStreamReadCfg(config_flags) read.store(open("test.pkl", "wb")) print("All OK") write = ByteStreamWriteCfg(config_flags) write.printConfig() log.info("Write setup OK") acc = MainServicesCfg(config_flags) acc.merge(read) acc.merge(write) acc.printConfig() log.info("Config OK") acc.run(10)
def skip_test_sequences_merging(self): from AthenaConfiguration.AllConfigFlags import ConfigFlags ConfigFlags.lock() from AthenaCommon.Logging import logging logging.getLogger('ComponentAccumulator').setLevel(DEBUG) print("ca1") ca1 = ComponentAccumulator() ca1.addEventAlgo(TestAlgo("alg1")) ca1.printConfig() ca1.addSequence(seqAND("someSequence")) print("ca2") from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg ca2 = OutputStreamCfg(ConfigFlags, "RDO", ItemList=[ "SCT_RDO_Container#SCT_RDOs", "InDetSimDataCollection#SCT_SDO_Map" ]) ca2.printConfig() print("after merge") ca1.merge(ca2) ca1.printConfig() self.assertEqual(len(ca1._allSequences), 2, "Dangling sequences not maintained") print("Instantiating top CA") from AthenaConfiguration.MainServicesConfig import MainServicesCfg topca = MainServicesCfg(ConfigFlags) topca.printConfig() print("Merging to the top level CA") topca.merge(ca1) topca.printConfig() topca.wasMerged()
# Setup logs from AthenaCommon.Logging import log from AthenaCommon.Constants import INFO log.setLevel(INFO) # Set the Athena configuration flags from AthenaConfiguration.AllConfigFlags import ConfigFlags path = '/afs/cern.ch/work/j/jodafons/public/valid_sampleA/AOD.20745922._000041.pool.root.1' ConfigFlags.Input.Files = [path] ConfigFlags.Input.isMC = False ConfigFlags.Output.HISTFileName = 'TrigEgammaMonitorOutput.root' ConfigFlags.lock() # Initialize configuration object, add accumulator, merge, and run. from AthenaConfiguration.MainServicesConfig import MainServicesCfg from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg cfg = MainServicesCfg(ConfigFlags) cfg.merge(PoolReadCfg(ConfigFlags)) trigEgammaMonitorAcc = TrigEgammaMonConfig(ConfigFlags) cfg.merge(trigEgammaMonitorAcc) # If you want to turn on more detailed messages ... #trigEgammaMonitorAcc.getEventAlgo('TrigEgammaMonAlg').OutputLevel = 2 # DEBUG cfg.printConfig(withDetails=False) # set True for exhaustive info cfg.run(10) #use cfg.run(20) to only run on first 20 events
createLArMonConfigFlags() ConfigFlags.Input.Files = ["/eos/atlas/atlastier0/rucio/data20_calib/calibration_LArElec-Delay-32s-Medium-Em/00374740/data20_calib.00374740.calibration_LArElec-Delay-32s-Medium-Em.daq.RAW/data20_calib.00374740.calibration_LArElec-Delay-32s-Medium-Em.daq.RAW._lb0000._SFO-2._0001.data"] ConfigFlags.Output.HISTFileName = 'LArCalibMonOutput.root' ConfigFlags.DQ.enableLumiAccess = False ConfigFlags.DQ.useTrigger = False ConfigFlags.Beam.Type = 'collisions' ConfigFlags.DQ.DataType = 'collisions' ConfigFlags.AtlasVersion = 'ATLAS-R2-2016-01-00-01' ConfigFlags.Detector.GeometryCSC=False ConfigFlags.Detector.GeometrysTGC=False ConfigFlags.Detector.GeometryMM=False ConfigFlags.lock() from AthenaConfiguration.MainServicesConfig import MainServicesCfg cfg = MainServicesCfg(ConfigFlags) from LArByteStream.LArRawCalibDataReadingConfig import LArRawCalibDataReadingCfg cfg.merge(LArRawCalibDataReadingCfg(ConfigFlags,gain="MEDIUM",doAccCalibDigit=True)) cfg.merge(LArCalibMonConfig(ConfigFlags, gain="MEDIUM",doAccCalibDigit=True)) cfg.printConfig() ConfigFlags.dump() f=open("LArCalibPedMon.pkl","w") cfg.store(f) f.close() cfg.run(500,OutputLevel=DEBUG)
# Setup logs from AthenaCommon.Logging import log from AthenaCommon.Constants import INFO log.setLevel(INFO) # Set the Athena configuration flags from AthenaConfiguration.AllConfigFlags import ConfigFlags TestFiles = [ '/eos/atlas/atlascerngroupdisk/det-rpc/data/DESDM_MCP/data18_13TeV.00358615.physics_Main.merge.DESDM_MCP.f961_m2024/data18_13TeV.00358615.physics_Main.merge.DESDM_MCP.f961_m2024._0084.1' ] ConfigFlags.Input.Files = TestFiles ConfigFlags.Output.HISTFileName = 'RPCMonitoringOutput.root' ConfigFlags.lock() # Initialize configuration object, add accumulator, merge and run. from AthenaConfiguration.MainServicesConfig import MainServicesCfg from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg cfg = MainServicesCfg(ConfigFlags) cfg.merge(PoolReadCfg(ConfigFlags)) acc = RpcMonitoringConfig(ConfigFlags) cfg.merge(acc) # If you want to turn on more detailed messages ... #acc.getEventAlgo('RPCMonitorAlgorithmAlg').OutputLevel = 2 # DEBUG cfg.printConfig(withDetails=False) cfg.run(20)
ConfigFlags.DQ.useTrigger = False ConfigFlags.DQ.enableLumiAccess = False ConfigFlags.lock() # Initialize configuration object, add accumulator, merge, and run. from AthenaConfiguration.MainServicesConfig import MainServicesCfg from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg cfg = MainServicesCfg(ConfigFlags) cfg.merge(PoolReadCfg(ConfigFlags)) l1Triggers = [ 'bit0_RNDM', 'bit1_ZeroBias', 'bit2_L1Cal', 'bit3_Muon', 'bit4_RPC', 'bit5_FTK', 'bit6_CTP', 'bit7_Calib', 'AnyPhysTrig' ] cfg.merge( TileCellMonitoringConfig(ConfigFlags, fillHistogramsForL1Triggers=l1Triggers, fillTimeAndEnergyDiffHistograms=True)) cfg.printConfig(withDetails=True, summariseProps=True) ConfigFlags.dump() cfg.store(open('TileCellMonitorAlgorithm.pkl', 'wb')) sc = cfg.run(maxEvents=3) import sys # Success should be 0 sys.exit(not sc.isSuccess())
from AthenaCommon.Configurable import Configurable from AthenaConfiguration.TestDefaults import defaultTestFiles from AthenaConfiguration.MainServicesConfig import MainServicesCfg from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg from AthenaConfiguration.AllConfigFlags import ConfigFlags from MuonConfig.CSC_DigitizationConfig import CSC_DigitBuilderDigitToRDOCfg # Set up logging and new style config log.setLevel(DEBUG) Configurable.configurableRun3Behavior = True # Configure ConfigFlags.Input.Files = defaultTestFiles.HITS ConfigFlags.Output.RDOFileName = "myRDO.pool.root" ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-16" ConfigFlags.lock() # Function tests # Construct our accumulator to run acc = MainServicesCfg(ConfigFlags) acc.merge(PoolReadCfg(ConfigFlags)) acc.merge(CSC_DigitBuilderDigitToRDOCfg(ConfigFlags)) # Dump config acc.getService("StoreGateSvc").Dump = True acc.getService("ConditionStore").Dump = True acc.printConfig(withDetails=True) ConfigFlags.dump() # Execute and finish sc = acc.run(maxEvents=3) # Success should be 0 sys.exit(not sc.isSuccess())
SimDataMapNameSCT = "", TruthNameSCT = "") acc = ComponentAccumulator() acc.addEventAlgo(CompFactory.InDet.PRD_MultiTruthMakerSiPU(name = "InDetPRD_MultiTruthMakerSi", **kwargs)) return acc ''' if __name__ == "__main__": import IDTestFlags flags = IDTestFlags.IDTestFlags_q221() from AthenaCommon.Configurable import Configurable Configurable.configurableRun3Behavior = 1 from AthenaConfiguration.MainServicesConfig import MainServicesCfg acc = MainServicesCfg(flags) if flags.InDetFlags.doSpacePointFormation: acc.merge(InDetSiElementPropertiesTableCondAlgCfg(flags)) acc.merge(InDetSiTrackerSpacePointFinderCfg(flags)) ''' if flags.InDetFlags.doPRDFormation and flags.InDetFlags.doSpacePointFormation: if flags.InDetFlags.doTruth: acc.merge(InDetPRD_MultiTruthMakerSiCfg(flags)) acc.merge(InDetPRD_MultiTruthMakerSiPUCfg(flags)) ''' acc.printConfig() #print(acc.getPublicTool("InDetSiSpacePointMakerTool"))
cfg.merge(dq) # Force loading of conditions in MT mode if ConfigFlags.Concurrency.NumThreads > 0: from AthenaConfiguration.ComponentFactory import CompFactory if len([ _ for _ in cfg._conditionsAlgs if _.name == "PixelDetectorElementCondAlg" ]) > 0: beginseq = cfg.getSequence("AthBeginSeq") beginseq.Members.append( CompFactory.ForceIDConditionsAlg("ForceIDConditionsAlg")) if len([ _ for _ in cfg._conditionsAlgs if _.name == "MuonAlignmentCondAlg" ]) > 0: beginseq = cfg.getSequence("AthBeginSeq") beginseq.Members.append( CompFactory.ForceMSConditionsAlg("ForceMSConditionsAlg")) # any last things to do? if args.postExec: log.info('Executing postExec: %s', args.postExec) exec(args.postExec) cfg.printConfig( withDetails=args.printDetailedConfig) # set True for exhaustive info sc = cfg.run() sys.exit(0 if sc.isSuccess() else 1)
from AthenaConfiguration.MainServicesConfig import MainServicesCfg cfg = MainServicesCfg(cfgFlags) from CaloRec.CaloTopoClusterConfig import CaloTopoClusterCfg tccfg = CaloTopoClusterCfg(cfgFlags, doLCCalib=True) tcalg = tccfg.getPrimary() tcalg.ClustersOutputName = "CaloCalTopoClustersNew" cfg.merge(tccfg) cfg.addEventAlgo(tcalg, sequenceName="AthAlgSeq") from AthenaPoolCnvSvc.PoolReadConfig import PoolReadCfg cfg.merge(PoolReadCfg(cfgFlags)) cfg.merge(PFCfg(cfgFlags)) cfg.printConfig() # (summariseProps=True) outputlist = [ "xAOD::CaloClusterContainer#CaloCalTopoClusters*", "xAOD::CaloClusterAuxContainer#*CaloCalTopoClusters*Aux.", "xAOD::PFOContainer#*ParticleFlowObjects", "xAOD::PFOAuxContainer#*ParticleFlowObjectsAux." ] from OutputStreamAthenaPool.OutputStreamConfig import OutputStreamCfg cfg.merge(OutputStreamCfg(cfgFlags, "xAOD", ItemList=outputlist)) from pprint import pprint pprint(cfg.getEventAlgo("OutputStreamxAOD").ItemList) histSvc = CompFactory.THistSvc( Output=["EXPERT DATAFILE='expert-monitoring.root', OPT='RECREATE'"]) cfg.addService(histSvc)
#ConfigFlags.Sim.Vertex.Source = "VertexOverrideFile.txt"# Vertex.OverrideFile/Vertex.OverrideEventFile ConfigFlags.Sim.Vertex.Source = "CondDB" # Vertex.FromCondD #ConfigFlags.Sim.Vertex.Source = "LongBeamspotVertexPositioner" #included to stop segmentation error - TODO see why it's failing ConfigFlags.Input.isMC = True ConfigFlags.IOVDb.GlobalTag = "OFLCOND-MC16-SDR-14" #conditions tag for conddb (which one to use - old one for simulation) ConfigFlags.Input.RunNumber = 284500 # run test job with and without run number and 222510 # Finalize ConfigFlags.lock() ## Initialize a new component accumulator cfg = MainServicesCfg(ConfigFlags) #use this syntax for storegate # Add configuration to read EVNT pool file cfg.merge(PoolReadCfg(ConfigFlags)) # Make use of our defiend function cfg.popToolsAndMerge(BeamEffectsAlgCfg(ConfigFlags)) cfg.getService("StoreGateSvc").Dump = True cfg.printConfig(withDetails=True) ConfigFlags.dump() # Run it in athena cfg.run(maxEvents=20) # Store in a pickle file with open("BeamEffectsAlg.pkl", "wb") as f: cfg.store(f)