return super(RuntimeStrictness, self)._do_action(*args, **kwds) ##----------------------------------------------------------------------------- ## 2nd step ## Definition of the AthenaCommon flag container class AthenaCommonFlags(JobPropertyContainer): """Container for the common flags """ pass ##----------------------------------------------------------------------------- ## 3rd step ## adding the container to the general top-level container jobproperties.add_Container(AthenaCommonFlags) ##----------------------------------------------------------------------------- ## 4th step ## adding athena common flags to the AthenaCommonFlags container jobproperties.AthenaCommonFlags.add_JobProperty(EvtMax) jobproperties.AthenaCommonFlags.add_JobProperty(SkipEvents) jobproperties.AthenaCommonFlags.add_JobProperty(FilesInput) jobproperties.AthenaCommonFlags.add_JobProperty(PoolEvgenInput) jobproperties.AthenaCommonFlags.add_JobProperty(PoolEvgenOutput) jobproperties.AthenaCommonFlags.add_JobProperty(PoolHitsInput) jobproperties.AthenaCommonFlags.add_JobProperty(PoolHitsOutput) jobproperties.AthenaCommonFlags.add_JobProperty(PoolRDOInput) jobproperties.AthenaCommonFlags.add_JobProperty(PoolRDOOutput) jobproperties.AthenaCommonFlags.add_JobProperty(BSRDOInput) jobproperties.AthenaCommonFlags.add_JobProperty(BSRDOOutput)
# will be acted upon over the course of theApp.setup() return super( RuntimeStrictness, self )._do_action( *args, **kwds ) ##----------------------------------------------------------------------------- ## 2nd step ## Definition of the AthenaCommon flag container class AthenaCommonFlags(JobPropertyContainer): """Container for the common flags """ pass ##----------------------------------------------------------------------------- ## 3rd step ## adding the container to the general top-level container jobproperties.add_Container(AthenaCommonFlags) ##----------------------------------------------------------------------------- ## 4th step ## adding athena common flags to the AthenaCommonFlags container jobproperties.AthenaCommonFlags.add_JobProperty(EvtMax) jobproperties.AthenaCommonFlags.add_JobProperty(SkipEvents) jobproperties.AthenaCommonFlags.add_JobProperty(FilesInput ) jobproperties.AthenaCommonFlags.add_JobProperty(PoolEvgenInput ) jobproperties.AthenaCommonFlags.add_JobProperty(PoolEvgenOutput) jobproperties.AthenaCommonFlags.add_JobProperty(PoolHitsInput ) jobproperties.AthenaCommonFlags.add_JobProperty(PoolHitsOutput) jobproperties.AthenaCommonFlags.add_JobProperty(PoolRDOInput ) jobproperties.AthenaCommonFlags.add_JobProperty(PoolRDOOutput) jobproperties.AthenaCommonFlags.add_JobProperty(BSRDOInput ) jobproperties.AthenaCommonFlags.add_JobProperty(BSRDOOutput)
class DebugWorkers(JobProperty): """ stops the worker in bootstratp until a SIGUSR1 is recieved. Used as debug hook """ statusOn = True allowedTypes = ['bool'] StoredValue = False class ConcurrencyFlags(JobPropertyContainer): """ The global ConcurrencyFlags job property container. """ pass # add the concurrency flags container to the top container jobproperties.add_Container(ConcurrencyFlags) # I want always the following flags in the Concurrency container list_jobproperties = [ NumProcs, NumThreads, DebugWorkers, ] for i in list_jobproperties: jobproperties.ConcurrencyFlags.add_JobProperty(i) del list_jobproperties #=======================================================================
allowedTypes = ['bool'] StoredValue = True class endcapToroidOn(JobProperty): """ True wether endcap toroid are on """ statusOn = True allowedTypes = ['bool'] StoredValue = True # Defines a sub-container for the algorithm switches class BField(JobPropertyContainer): """ Beam information """ # computes on the fly the expected luminosity def allToroidOn(self): return jobproperties.BField.barrelToroidOn( ) and jobproperties.BField.endcapToroidOn() # add the beam flags container to the top container jobproperties.add_Container(BField) # I want always the following flags in the BField container for j in [override, solenoidOn, barrelToroidOn, endcapToroidOn]: jobproperties.BField.add_JobProperty(j) #=======================================================================
# class isOverlay(JobProperty): """ if data is overlayed """ statusOn=True allowedTypes=['bool'] StoredValue=False # Defines the container for the reconstruction flags class Global(JobPropertyContainer): """ The global flag/job property container. """ # add the reconstruction flags container to the top container jobproperties.add_Container(Global) # I want always the following flags in the Global container list_jobproperties=[DetGeo,DataSource,InputFormat,Luminosity,DetDescrVersion,ConditionsTag,DatabaseInstance,isOverlay] for i in list_jobproperties: jobproperties.Global.add_JobProperty(i) # The short name (carefull do not select same name as shot name as well. # otherwise problems with pickle) globalflags=jobproperties.Global ############################################################################### ## OLD code that will be completely replaced by globalflags based on JobProperties ###############################################################################
# # class Beam(JobPropertyContainer): """ Beam information """ # computes on the fly the expected luminosity def estimatedLuminosity(self): return 1E33 * (jobproperties.Beam.numberOfCollisions() / 2.3) * (25. / jobproperties.Beam.bunchSpacing()) # true if luminosity is zero def zeroLuminosity(self): if jobproperties.Beam.numberOfCollisions() > 0: return False else: return True # add the beam flags container to the top container jobproperties.add_Container(Beam) # I want always the following flags in the Beam container _list_Beam = [override, bunchSpacing, numberOfCollisions, beamType, energy] for j in _list_Beam: jobproperties.Beam.add_JobProperty(j) del _list_Beam #=======================================================================
class endcapToroidOn (JobProperty): """ True wether endcap toroid are on """ statusOn=True allowedTypes=['bool'] StoredValue=True # Defines a sub-container for the algorithm switches class BField(JobPropertyContainer): """ Beam information """ # computes on the fly the expected luminosity def allToroidOn(self): return jobproperties.BField.barrelToroidOn() and jobproperties.BField.endcapToroidOn() # add the beam flags container to the top container jobproperties.add_Container(BField) # I want always the following flags in the BField container for j in [override,solenoidOn,barrelToroidOn,endcapToroidOn]: jobproperties.BField.add_JobProperty(j) #=======================================================================
class isOverlay(JobProperty): """ if data is overlayed """ statusOn = True allowedTypes = ['bool'] StoredValue = False # Defines the container for the reconstruction flags class Global(JobPropertyContainer): """ The global flag/job property container. """ # add the reconstruction flags container to the top container jobproperties.add_Container(Global) # I want always the following flags in the Global container list_jobproperties = [ DetGeo, DataSource, InputFormat, Luminosity, DetDescrVersion, ConditionsTag, DatabaseInstance, isOverlay ] for i in list_jobproperties: jobproperties.Global.add_JobProperty(i) # The short name (carefull do not select same name as shot name as well. # otherwise problems with pickle) globalflags = jobproperties.Global ############################################################################### ## OLD code that will be completely replaced by globalflags based on JobProperties
# # class Beam(JobPropertyContainer): """ Beam information """ # computes on the fly the expected luminosity def estimatedLuminosity(self): return 1E33*(jobproperties.Beam.numberOfCollisions()/2.3)*(25./jobproperties.Beam.bunchSpacing()) # true if luminosity is zero def zeroLuminosity(self): if jobproperties.Beam.numberOfCollisions()>0: return False else: return True # add the beam flags container to the top container jobproperties.add_Container(Beam) # I want always the following flags in the Beam container _list_Beam=[override,bunchSpacing,numberOfCollisions,beamType,energy] for j in _list_Beam: jobproperties.Beam.add_JobProperty(j) del _list_Beam #=======================================================================