from AthenaCommon.Logging import log from AthenaCommon.Constants import * log.setLevel(INFO) # Set the Athena configuration flags from AthenaConfiguration.AutoConfigFlags import GetFileMD # default input if nothing specified ConfigFlags.Input.Files = [ '/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/AthenaMonitoring/q431/21.0/f946/myESD.pool.root' ] ConfigFlags.Output.HISTFileName = 'ExampleMonitorOutput.root' if args.dqOffByDefault: from AthenaMonitoring.DQConfigFlags import allSteeringFlagsOff allSteeringFlagsOff() ConfigFlags.fillFromArgs(parser=parser) # override Input.Files with result from our own arguments # if --filesInput was specified as well (!) this will override if args.inputFiles is not None: ConfigFlags.Input.Files = args.inputFiles.split(',') # if --evtMax was specified as well this will override if args.maxEvents is not None: ConfigFlags.Exec.MaxEvents = args.maxEvents isReadingRaw = (GetFileMD(ConfigFlags.Input.Files).get( 'file_type', 'POOL') == 'BS') if isReadingRaw: if ConfigFlags.DQ.Environment not in ('tier0', 'tier0Raw', 'online'): log.warning('Reading RAW file, but DQ.Environment set to %s', ConfigFlags.DQ.Environment) log.warning('Will proceed but best guess is this is an error') log.info('Will schedule reconstruction, as best we know')
if __name__ == "__main__": from AthenaCommon.Configurable import Configurable Configurable.configurableRun3Behavior = True from AthenaConfiguration.AllConfigFlags import ConfigFlags from AthenaConfiguration.TestDefaults import defaultTestFiles from AthenaCommon.Logging import log from AthenaCommon.Constants import DEBUG # Test setup log.setLevel(DEBUG) ConfigFlags.Input.Files = defaultTestFiles.RAW ConfigFlags.fillFromArgs() ConfigFlags.Output.ESDFileName = "myESD.pool.root" ConfigFlags.lock() # Construct our accumulator to run from AthenaConfiguration.MainServicesConfig import MainServicesCfg acc = MainServicesCfg(ConfigFlags) from ByteStreamCnvSvc.ByteStreamConfig import ByteStreamReadCfg acc.merge( ByteStreamReadCfg(ConfigFlags, ["TileRawChannelContainer/TileRawChannelCnt"])) acc.merge(TileRawChannelToL2OutputCfg(ConfigFlags, streamName='ESD')) acc.getService('StoreGateSvc').Dump = True
parser.add_argument('flags', nargs='*', help='Config flag overrides') args = parser.parse_args() # Setup the Run III behavior from AthenaCommon.Configurable import Configurable Configurable.configurableRun3Behavior = 1 # Set the Athena configuration flags from AthenaConfiguration.AllConfigFlags import ConfigFlags # Set the Athena configuration flags ConfigFlags.Input.Files = [ "root://eosatlas.cern.ch//eos/atlas/atlasdatadisk/rucio/data16_13TeV/8d/de/AOD.10654269._000566.pool.root.1" ] ConfigFlags.fillFromArgs(args.flags) from PyUtils import AthFile af = AthFile.fopen(ConfigFlags.Input.Files[0]) isMC = ('IS_SIMULATION' in af.fileinfos['evt_type']) runNumber = af.fileinfos['run_number'][0] ConfigFlags.Input.isMC = isMC useBunchCrossingTool = (args.doRatesVsPositionInTrain or args.vetoStartOfTrain > 0) ConfigFlags.lock() # Initialize configuration object, add accumulator, merge, and run. from AthenaConfiguration.MainServicesConfig import MainServicesCfg from AthenaConfiguration.ComponentFactory import CompFactory