CMS 3D CMS Logo

AlCaTestEnable.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 """
3 _AlCaTestEnable_
4 
5 Scenario supporting proton collisions
6 
7 """
8 
10 
11 class AlCaTestEnable(AlCa):
12  def __init__(self):
13  AlCa.__init__(self)
14  self.skims=['TkAlLAS']
15  """
16  _AlCaTestEnable_
17 
18  Implement configuration building for data processing for proton
19  collision data taking
20 
21  """
22 
23  def expressProcessing(self, globalTag, **args):
24  """
25  _expressProcessing_
26 
27  Proton collision data taking express processing
28 
29  """
30  skims = args['skims']
31 
32  options = Options()
33  options.__dict__.update(defaultOptions.__dict__)
34  options.scenario = "pp"
35  options.step = stepALCAPRODUCER(skims)
36 
37  dictIO(options,args)
38  options.conditions = gtNameAndConnect(globalTag, args)
39 
40  options.filein = 'tobeoverwritten.xyz'
41  if 'inputSource' in args:
42  options.filetype = args['inputSource']
43  process = cms.Process('RECO', self.eras)
44 
45  if 'customs' in args:
46  options.customisation_file=args['customs']
47 
48  cb = ConfigBuilder(options, process = process, with_output = True, with_input = True)
49 
50  cb.prepare()
51 
52  addMonitoring(process)
53 
54  return process
55 
56  def alcaHarvesting(self, globalTag, datasetName, **args):
57  """
58  _alcaHarvesting_
59 
60  Proton collisions data taking AlCa Harvesting
61 
62  """
63  skims = []
64  if 'skims' in args:
65  skims = args['skims']
66 
67 
68  if 'alcapromptdataset' in args:
69  skims.append('@'+args['alcapromptdataset'])
70 
71  if len(skims) == 0: return None
72  options = defaultOptions
73  options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__
74  options.step = "ALCAHARVEST:"+('+'.join(skims))
75  options.name = "ALCAHARVEST"
76  options.conditions = gtNameAndConnect(globalTag, args)
77 
78  process = cms.Process("ALCAHARVEST", self.eras)
79  process.source = cms.Source("PoolSource")
80 
81  if 'customs' in args:
82  options.customisation_file=args['customs']
83 
84  configBuilder = ConfigBuilder(options, process = process)
85  configBuilder.prepare()
86 
87  #
88  # customise process for particular job
89  #
90  process.source.processingMode = cms.untracked.string('RunsAndLumis')
91  process.source.fileNames = cms.untracked(cms.vstring())
92  process.maxEvents.input = -1
93  process.dqmSaver.workflow = datasetName
94 
95  return process
def alcaHarvesting(self, globalTag, datasetName, args)
def gtNameAndConnect(globalTag, args)
Definition: Utils.py:137
def expressProcessing(self, globalTag, args)
def dictIO(options, args)
Definition: Utils.py:123
def addMonitoring(process)
Definition: Utils.py:38
def stepALCAPRODUCER(skims)
Definition: Utils.py:9
static std::string join(char **cmd)
Definition: RemoteFile.cc:18