CMS 3D CMS Logo

List of all members | Public Member Functions | Public Attributes
DTCalibrationWorker.DTCalibrationWorker Class Reference
Inheritance diagram for DTCalibrationWorker.DTCalibrationWorker:

Public Member Functions

def __init__ (self, options)
 
def add_arguments (cls, parser)
 
def has_crab3_env (self)
 
def run (self)
 
def setup_crab_env (self)
 

Public Attributes

 options
 

Detailed Description

This class serves as a top level helper to perform all available
    workflows. Additional workflow classes should use the naming scheme
    DT${WORKFLOWNAME}Workflow and implement a classmethod function add_parser_options.

Definition at line 14 of file DTCalibrationWorker.py.

Constructor & Destructor Documentation

def DTCalibrationWorker.DTCalibrationWorker.__init__ (   self,
  options 
)

Member Function Documentation

def DTCalibrationWorker.DTCalibrationWorker.add_arguments (   cls,
  parser 
)

Definition at line 54 of file DTCalibrationWorker.py.

54  def add_arguments(cls, parser):
55  workflow_parser = DTWorkflow.add_parser_options(parser)
56  for workflow in cls.available_workflows:
57  class_name = "DT" + workflow + "Workflow"
58  try:
59  workflow_class = eval( class_name )
60  workflow_class.add_parser_options(workflow_parser)
61  except:
62  log.error("No class with name: %s exists bot workflow exists in %s" %
63  (class_name, DTCalibrationWorker)
64  )
65 
def DTCalibrationWorker.DTCalibrationWorker.has_crab3_env (   self)

Definition at line 34 of file DTCalibrationWorker.py.

34  def has_crab3_env(self):
35  if not "/crabclient/3" in os.environ["PATH"]:
36  return False
37  return True
38 
def DTCalibrationWorker.DTCalibrationWorker.run (   self)

Definition at line 25 of file DTCalibrationWorker.py.

References DTCalibrationWorker.DTCalibrationWorker.options, and validateAlignments.ValidationJobMultiIOV.options.

Referenced by DTWorkflow.DTWorkflow.all(), Types.EventID.cppID(), Types.LuminosityBlockID.cppID(), and o2olib.O2OTool.execute().

25  def run(self):
26  # get class object dependent on workflow
27  class_name = "DT" + self.options.workflow + "Workflow"
28  workflow_class = eval(class_name)
29  workflow_class_instance = workflow_class(self.options)
30  workflow_class_instance.run()
31  return workflow_class_instance.local_path
32 
def DTCalibrationWorker.DTCalibrationWorker.setup_crab_env (   self)

Definition at line 39 of file DTCalibrationWorker.py.

References edm.print(), and cms::dd.split().

39  def setup_crab_env(self):
40  # following
41  #http://.com/questions/3503719/emulating-bash-source-in-python
42  command = ['bash', '-c', 'unset module;source /cvmfs/cms.cern.ch/crab3/crab.sh && env']
43  proc = subprocess.Popen(command, stdout = subprocess.PIPE)
44 
45  print('setting up crab')
46  for line in proc.stdout:
47  (key, _, value) = line.partition("=")
48  os.environ[key] = value.replace("\n","")
49  for path in os.environ['PYTHONPATH'].split(':'):
50  sys.path.append(path)
51  proc.communicate()
52 
std::vector< std::string_view > split(std::string_view, const char *)
S & print(S &os, JobReport::InputFile const &f)
Definition: JobReport.cc:66

Member Data Documentation

DTCalibrationWorker.DTCalibrationWorker.options

Definition at line 21 of file DTCalibrationWorker.py.

Referenced by DOTExport.DotProducer.__call__(), betterConfigParser.BetterConfigParser.__updateDict(), DTWorkflow.DTWorkflow.add_local_custom_db(), confdb.HLTProcess.buildOptions(), DTWorkflow.DTWorkflow.check_missing_options(), betterConfigParser.BetterConfigParser.checkInput(), DOTExport.DotProducer.connectTags(), CrabHelper.CrabHelper.crab_config_filename(), CrabHelper.CrabHelper.crab_taskname(), DTWorkflow.DTWorkflow.dump_options(), DOTExport.DotExport.export(), CrabHelper.CrabHelper.fill_options_from_crab_config(), confdb.HLTProcess.fixPrescales(), confdb.HLTProcess.getRawConfigurationFromDB(), confdb.HLTProcess.getSetupConfigurationFromDB(), DOTExport.DotProducer.getTopLevel(), DTWorkflow.DTWorkflow.load_options(), DOTExport.DotProducer.makePath(), DOTExport.DotProducer.nodeLabel(), DOTExport.DotProducer.nodeURL(), DTWorkflow.DTWorkflow.prepare_common_submit(), DOTExport.DotProducer.produceLegend(), DOTExport.DotProducer.produceNodes(), DOTExport.DotProducer.producePaths(), DOTExport.DotProducer.produceServices(), DOTExport.DotProducer.produceSource(), edmIntegrityCheck.IntegrityCheck.query(), DTCalibrationWorker.DTCalibrationWorker.run(), cmsswPreprocessor.CmsswPreprocessor.run(), DTWorkflow.DTWorkflow.run(), production_tasks.BaseDataset.run(), production_tasks.GenerateMask.run(), production_tasks.RunCMSBatch.run(), production_tasks.MonitorJobs.run(), production_tasks.CheckJobStatus.run(), production_tasks.CleanJobFiles.run(), DOTExport.DotProducer.seqRecurseChildren(), FileExportPlugin.FileExportPlugin.setOption(), DTWorkflow.DTWorkflow.user(), and DOTExport.DotExport.write_output().