CMS 3D CMS Logo

List of all members | Public Member Functions
Impl.AlCa.AlCa Class Reference
Inheritance diagram for Impl.AlCa.AlCa:

Public Member Functions

def __init__ (self)
 
def alcaHarvesting (self, globalTag, datasetName, args)
 
def alcaSkim (self, skims, args)
 
def dqmHarvesting (self, datasetName, runNumber, globalTag, args)
 
def expressProcessing (self, globalTag, args)
 
def promptReco (self, globalTag, args)
 
def skimsIfNotGiven (self, args, sl)
 

Detailed Description

Definition at line 16 of file AlCa.py.

Constructor & Destructor Documentation

def Impl.AlCa.AlCa.__init__ (   self)

Definition at line 17 of file AlCa.py.

17  def __init__(self):
18  Scenario.__init__(self)
19 
def __init__(self)
Definition: AlCa.py:17

Member Function Documentation

def Impl.AlCa.AlCa.alcaHarvesting (   self,
  globalTag,
  datasetName,
  args 
)
_alcaHarvesting_

Proton collisions data taking AlCa Harvesting

Definition at line 136 of file AlCa.py.

References Impl.cosmics.cosmics.cbSc, Impl.hcalnzs.hcalnzs.cbSc, Impl.hcalnzsEra_Run2_2017.hcalnzsEra_Run2_2017.cbSc, Impl.hcalnzsEra_Run2_2018.hcalnzsEra_Run2_2018.cbSc, Impl.hcalnzsEra_Run2_2016.hcalnzsEra_Run2_2016.cbSc, Impl.hcalnzsEra_Run2_25ns.hcalnzsEra_Run2_25ns.cbSc, Impl.pp.pp.cbSc, Impl.trackingOnly.trackingOnly.cbSc, Impl.HeavyIons.HeavyIons.cbSc, Impl.ppEra_Run2_2018.ppEra_Run2_2018.cbSc, Impl.ppEra_Run2_2016.ppEra_Run2_2016.cbSc, Impl.ppEra_Run2_25ns.ppEra_Run2_25ns.cbSc, Impl.ppEra_Run2_50ns.ppEra_Run2_50ns.cbSc, Impl.ppEra_Run2_2016_pA.ppEra_Run2_2016_pA.cbSc, Impl.ppEra_Run2_2016_trackingLowPU.ppEra_Run2_2016_trackingLowPU.cbSc, Reco.Reco.cbSc, Impl.ppEra_Run2_2017.ppEra_Run2_2017.cbSc, Impl.ppEra_Run2_2017_pp_on_XeXe.ppEra_Run2_2017_pp_on_XeXe.cbSc, Impl.ppEra_Run2_2017_ppRef.ppEra_Run2_2017_ppRef.cbSc, Impl.ppEra_Run2_2017_trackingLowPU.ppEra_Run2_2017_trackingLowPU.cbSc, Impl.ppEra_Run2_2017_trackingOnly.ppEra_Run2_2017_trackingOnly.cbSc, Impl.trackingOnlyEra_Run2_2017.trackingOnlyEra_Run2_2017.cbSc, Impl.trackingOnlyEra_Run2_2018.trackingOnlyEra_Run2_2018.cbSc, Impl.AlCaLumiPixels.AlCaLumiPixels.eras, Impl.cosmicsEra_Run2_50ns.cosmicsEra_Run2_50ns.eras, Impl.cosmicsEra_Run2_2016.cosmicsEra_Run2_2016.eras, Impl.cosmicsEra_Run2_2017.cosmicsEra_Run2_2017.eras, Impl.cosmicsEra_Run2_2018.cosmicsEra_Run2_2018.eras, Impl.cosmicsEra_Run2_25ns.cosmicsEra_Run2_25ns.eras, Impl.hcalnzsEra_Run2_2016.hcalnzsEra_Run2_2016.eras, Impl.hcalnzsEra_Run2_2017.hcalnzsEra_Run2_2017.eras, Impl.hcalnzsEra_Run2_2018.hcalnzsEra_Run2_2018.eras, Impl.HeavyIonsEra_Run2_HI.HeavyIonsEra_Run2_HI.eras, Impl.hcalnzsEra_Run2_25ns.hcalnzsEra_Run2_25ns.eras, Impl.ppEra_Run2_2017_trackingLowPU.ppEra_Run2_2017_trackingLowPU.eras, Impl.ppEra_Run2_25ns.ppEra_Run2_25ns.eras, Impl.ppEra_Run2_2016.ppEra_Run2_2016.eras, Impl.ppEra_Run2_50ns.ppEra_Run2_50ns.eras, Impl.ppEra_Run2_2017_ppRef.ppEra_Run2_2017_ppRef.eras, Impl.ppEra_Run2_2017.ppEra_Run2_2017.eras, Impl.ppEra_Run2_2016_pA.ppEra_Run2_2016_pA.eras, Impl.ppEra_Run2_2016_trackingLowPU.ppEra_Run2_2016_trackingLowPU.eras, Impl.ppEra_Run2_2018.ppEra_Run2_2018.eras, Impl.ppEra_Run2_2017_pp_on_XeXe.ppEra_Run2_2017_pp_on_XeXe.eras, Impl.trackingOnlyEra_Run2_2018.trackingOnlyEra_Run2_2018.eras, Impl.trackingOnlyEra_Run2_2017.trackingOnlyEra_Run2_2017.eras, Impl.ppEra_Run2_2017_trackingOnly.ppEra_Run2_2017_trackingOnly.eras, Scenario.Scenario.eras, options.HLTProcessOptions.eras, Utils.gtNameAndConnect(), and join().

136  def alcaHarvesting(self, globalTag, datasetName, **args):
137  """
138  _alcaHarvesting_
139 
140  Proton collisions data taking AlCa Harvesting
141 
142  """
143  skims = []
144  if 'skims' in args:
145  skims = args['skims']
146 
147 
148  if 'alcapromptdataset' in args:
149  skims.append('@'+args['alcapromptdataset'])
150 
151  if len(skims) == 0: return None
152  options = defaultOptions
153  options.scenario = self.cbSc if hasattr(self,'cbSc') else self.__class__.__name__
154  options.step = "ALCAHARVEST:"+('+'.join(skims))
155  options.name = "ALCAHARVEST"
156  options.conditions = gtNameAndConnect(globalTag, args)
157 
158  process = cms.Process("ALCAHARVEST", self.eras)
159  process.source = cms.Source("PoolSource")
160 
161  if 'customs' in args:
162  options.customisation_file=args['customs']
163 
164  configBuilder = ConfigBuilder(options, process = process)
165  configBuilder.prepare()
166 
167  #
168  # customise process for particular job
169  #
170  process.source.processingMode = cms.untracked.string('RunsAndLumis')
171  process.source.fileNames = cms.untracked(cms.vstring())
172  process.maxEvents.input = -1
173  process.dqmSaver.workflow = datasetName
174 
175  return process
176 
def gtNameAndConnect(globalTag, args)
Definition: Utils.py:137
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def alcaHarvesting(self, globalTag, datasetName, args)
Definition: AlCa.py:136
def Impl.AlCa.AlCa.alcaSkim (   self,
  skims,
  args 
)
_alcaSkim_

AlcaReco processing & skims for proton collisions

Definition at line 54 of file AlCa.py.

References Impl.AlCaLumiPixels.AlCaLumiPixels.eras, Impl.cosmicsEra_Run2_2016.cosmicsEra_Run2_2016.eras, Impl.cosmicsEra_Run2_50ns.cosmicsEra_Run2_50ns.eras, Impl.cosmicsEra_Run2_2017.cosmicsEra_Run2_2017.eras, Impl.cosmicsEra_Run2_2018.cosmicsEra_Run2_2018.eras, Impl.cosmicsEra_Run2_25ns.cosmicsEra_Run2_25ns.eras, Impl.hcalnzsEra_Run2_2016.hcalnzsEra_Run2_2016.eras, Impl.hcalnzsEra_Run2_2017.hcalnzsEra_Run2_2017.eras, Impl.hcalnzsEra_Run2_2018.hcalnzsEra_Run2_2018.eras, Impl.hcalnzsEra_Run2_25ns.hcalnzsEra_Run2_25ns.eras, Impl.HeavyIonsEra_Run2_HI.HeavyIonsEra_Run2_HI.eras, Impl.ppEra_Run2_2016_trackingLowPU.ppEra_Run2_2016_trackingLowPU.eras, Impl.ppEra_Run2_2017.ppEra_Run2_2017.eras, Impl.ppEra_Run2_2017_ppRef.ppEra_Run2_2017_ppRef.eras, Impl.ppEra_Run2_2016_pA.ppEra_Run2_2016_pA.eras, Impl.ppEra_Run2_2018.ppEra_Run2_2018.eras, Impl.ppEra_Run2_2017_trackingLowPU.ppEra_Run2_2017_trackingLowPU.eras, Impl.ppEra_Run2_25ns.ppEra_Run2_25ns.eras, Impl.ppEra_Run2_50ns.ppEra_Run2_50ns.eras, Impl.ppEra_Run2_2016.ppEra_Run2_2016.eras, Impl.ppEra_Run2_2017_pp_on_XeXe.ppEra_Run2_2017_pp_on_XeXe.eras, Impl.trackingOnlyEra_Run2_2018.trackingOnlyEra_Run2_2018.eras, Impl.ppEra_Run2_2017_trackingOnly.ppEra_Run2_2017_trackingOnly.eras, Impl.trackingOnlyEra_Run2_2017.trackingOnlyEra_Run2_2017.eras, Scenario.Scenario.eras, options.HLTProcessOptions.eras, ALCARECOTkAlBeamHalo_cff.filter, and join().

54  def alcaSkim(self, skims, **args):
55  """
56  _alcaSkim_
57 
58  AlcaReco processing & skims for proton collisions
59 
60  """
61  step = ""
62  pclWflws = [x for x in skims if "PromptCalibProd" in x]
63  skims = filter(lambda x: x not in pclWflws, skims)
64 
65  if len(pclWflws):
66  step += 'ALCA:'+('+'.join(pclWflws))
67 
68  if len(skims) > 0:
69  if step != "":
70  step += ","
71  step += "ALCAOUTPUT:"+('+'.join(skims))
72 
73  options = Options()
74  options.__dict__.update(defaultOptions.__dict__)
75  options.scenario = "pp"
76  options.step = step
77  options.conditions = args['globaltag'] if 'globaltag' in args else 'None'
78  if 'globalTagConnect' in args and args['globalTagConnect'] != '':
79  options.conditions += ','+args['globalTagConnect']
80 
81  options.triggerResultsProcess = 'RECO'
82 
83  process = cms.Process('ALCA', self.eras)
84  cb = ConfigBuilder(options, process=process)
85 
86  # Input source
87  process.source = cms.Source(
88  "PoolSource",
89  fileNames=cms.untracked.vstring()
90  )
91 
92  cb.prepare()
93 
94  # FIXME: dirty hack..any way around this?
95  # Tier0 needs the dataset used for ALCAHARVEST step to be a different data-tier
96  for wfl in pclWflws:
97  methodToCall = getattr(process, 'ALCARECOStream'+wfl)
98  methodToCall.dataset.dataTier = cms.untracked.string('ALCAPROMPT')
99 
100  return process
101 
102 
def alcaSkim(self, skims, args)
Definition: AlCa.py:54
static std::string join(char **cmd)
Definition: RemoteFile.cc:18
def Impl.AlCa.AlCa.dqmHarvesting (   self,
  datasetName,
  runNumber,
  globalTag,
  args 
)
_dqmHarvesting_

Proton collisions data taking DQM Harvesting

Definition at line 103 of file AlCa.py.

References Utils.dqmIOSource(), Impl.AlCaLumiPixels.AlCaLumiPixels.eras, Impl.cosmicsEra_Run2_2017.cosmicsEra_Run2_2017.eras, Impl.cosmicsEra_Run2_2018.cosmicsEra_Run2_2018.eras, Impl.cosmicsEra_Run2_25ns.cosmicsEra_Run2_25ns.eras, Impl.cosmicsEra_Run2_2016.cosmicsEra_Run2_2016.eras, Impl.cosmicsEra_Run2_50ns.cosmicsEra_Run2_50ns.eras, Impl.hcalnzsEra_Run2_2016.hcalnzsEra_Run2_2016.eras, Impl.hcalnzsEra_Run2_2017.hcalnzsEra_Run2_2017.eras, Impl.hcalnzsEra_Run2_2018.hcalnzsEra_Run2_2018.eras, Impl.hcalnzsEra_Run2_25ns.hcalnzsEra_Run2_25ns.eras, Impl.HeavyIonsEra_Run2_HI.HeavyIonsEra_Run2_HI.eras, Impl.ppEra_Run2_50ns.ppEra_Run2_50ns.eras, Impl.ppEra_Run2_2017.ppEra_Run2_2017.eras, Impl.ppEra_Run2_2017_ppRef.ppEra_Run2_2017_ppRef.eras, Impl.ppEra_Run2_2018.ppEra_Run2_2018.eras, Impl.ppEra_Run2_2016_pA.ppEra_Run2_2016_pA.eras, Impl.ppEra_Run2_25ns.ppEra_Run2_25ns.eras, Impl.ppEra_Run2_2017_trackingLowPU.ppEra_Run2_2017_trackingLowPU.eras, Impl.ppEra_Run2_2016.ppEra_Run2_2016.eras, Impl.ppEra_Run2_2016_trackingLowPU.ppEra_Run2_2016_trackingLowPU.eras, Impl.ppEra_Run2_2017_pp_on_XeXe.ppEra_Run2_2017_pp_on_XeXe.eras, Impl.ppEra_Run2_2017_trackingOnly.ppEra_Run2_2017_trackingOnly.eras, Impl.trackingOnlyEra_Run2_2018.trackingOnlyEra_Run2_2018.eras, Impl.trackingOnlyEra_Run2_2017.trackingOnlyEra_Run2_2017.eras, Scenario.Scenario.eras, options.HLTProcessOptions.eras, Utils.gtNameAndConnect(), and Utils.harvestingMode().

103  def dqmHarvesting(self, datasetName, runNumber, globalTag, **args):
104  """
105  _dqmHarvesting_
106 
107  Proton collisions data taking DQM Harvesting
108 
109  """
110  options = defaultOptions
111  options.scenario = "pp"
112  options.step = "HARVESTING:alcaHarvesting"
113  options.name = "EDMtoMEConvert"
114  options.conditions = gtNameAndConnect(globalTag, args)
115 
116  process = cms.Process("HARVESTING", self.eras)
117  process.source = dqmIOSource(args)
118  configBuilder = ConfigBuilder(options, process = process)
119  configBuilder.prepare()
120 
121  #
122  # customise process for particular job
123  #
124  #process.source.processingMode = cms.untracked.string('RunsAndLumis')
125  #process.source.fileNames = cms.untracked(cms.vstring())
126  #process.maxEvents.input = -1
127  #process.dqmSaver.workflow = datasetName
128  #process.dqmSaver.saveByLumiSection = 1
129  #if args.has_key('referenceFile') and args.get('referenceFile', ''):
130  # process.DQMStore.referenceFileName = \
131  # cms.untracked.string(args['referenceFile'])
132  harvestingMode(process,datasetName,args)
133 
134  return process
135 
def harvestingMode(process, datasetName, args, rANDl=True)
Definition: Utils.py:114
def gtNameAndConnect(globalTag, args)
Definition: Utils.py:137
def dqmHarvesting(self, datasetName, runNumber, globalTag, args)
Definition: AlCa.py:103
def dqmIOSource(args)
Definition: Utils.py:103
def Impl.AlCa.AlCa.expressProcessing (   self,
  globalTag,
  args 
)
_expressProcessing_

Proton collision data taking express processing

Definition at line 177 of file AlCa.py.

References Utils.addMonitoring(), Impl.AlCaLumiPixels.AlCaLumiPixels.eras, Impl.cosmicsEra_Run2_2016.cosmicsEra_Run2_2016.eras, Impl.cosmicsEra_Run2_50ns.cosmicsEra_Run2_50ns.eras, Impl.cosmicsEra_Run2_2017.cosmicsEra_Run2_2017.eras, Impl.cosmicsEra_Run2_2018.cosmicsEra_Run2_2018.eras, Impl.cosmicsEra_Run2_25ns.cosmicsEra_Run2_25ns.eras, Impl.hcalnzsEra_Run2_2016.hcalnzsEra_Run2_2016.eras, Impl.hcalnzsEra_Run2_2017.hcalnzsEra_Run2_2017.eras, Impl.hcalnzsEra_Run2_2018.hcalnzsEra_Run2_2018.eras, Impl.hcalnzsEra_Run2_25ns.hcalnzsEra_Run2_25ns.eras, Impl.HeavyIonsEra_Run2_HI.HeavyIonsEra_Run2_HI.eras, Impl.ppEra_Run2_2016_trackingLowPU.ppEra_Run2_2016_trackingLowPU.eras, Impl.ppEra_Run2_2017.ppEra_Run2_2017.eras, Impl.ppEra_Run2_2017_ppRef.ppEra_Run2_2017_ppRef.eras, Impl.ppEra_Run2_2016_pA.ppEra_Run2_2016_pA.eras, Impl.ppEra_Run2_2018.ppEra_Run2_2018.eras, Impl.ppEra_Run2_2017_trackingLowPU.ppEra_Run2_2017_trackingLowPU.eras, Impl.ppEra_Run2_25ns.ppEra_Run2_25ns.eras, Impl.ppEra_Run2_50ns.ppEra_Run2_50ns.eras, Impl.ppEra_Run2_2016.ppEra_Run2_2016.eras, Impl.ppEra_Run2_2017_pp_on_XeXe.ppEra_Run2_2017_pp_on_XeXe.eras, Impl.trackingOnlyEra_Run2_2018.trackingOnlyEra_Run2_2018.eras, Impl.ppEra_Run2_2017_trackingOnly.ppEra_Run2_2017_trackingOnly.eras, Impl.trackingOnlyEra_Run2_2017.trackingOnlyEra_Run2_2017.eras, Scenario.Scenario.eras, options.HLTProcessOptions.eras, Utils.gtNameAndConnect(), and Utils.stepALCAPRODUCER().

177  def expressProcessing(self, globalTag, **args):
178  """
179  _expressProcessing_
180 
181  Proton collision data taking express processing
182 
183  """
184  skims = []
185  if 'skims' in args:
186  skims = args['skims']
187  pclWkflws = [x for x in skims if "PromptCalibProd" in x]
188  for wfl in pclWkflws:
189  skims.remove(wfl)
190 
191  options = Options()
192  options.__dict__.update(defaultOptions.__dict__)
193  options.scenario = "pp"
194  options.step = stepALCAPRODUCER(skims)
195 
196  if 'outputs' in args:
197  # the RAW data-tier needs a special treatment since the event-content as defined in release is not good enough
198  outputs_Raw = [x for x in args['outputs'] if x['dataTier'] == 'RAW']
199  outputs_noRaw = [x for x in args['outputs'] if x['dataTier'] != 'RAW']
200  if len(outputs_Raw) == 1:
201  print 'RAW data-tier requested'
202  options.outputDefinition = outputs_noRaw.__str__()
203 
204  # dictIO(options,args)
205  options.conditions = gtNameAndConnect(globalTag, args)
206 
207  options.filein = 'tobeoverwritten.xyz'
208  if 'inputSource' in args:
209  options.filetype = args['inputSource']
210  process = cms.Process('RECO', self.eras)
211 
212  if 'customs' in args:
213  options.customisation_file=args['customs']
214 
215  cb = ConfigBuilder(options, process = process, with_output = True, with_input = True)
216 
217  cb.prepare()
218 
219  addMonitoring(process)
220 
221  for output in outputs_Raw:
222  print output
223  moduleLabel = output['moduleLabel']
224  selectEvents = output.get('selectEvents', None)
225  maxSize = output.get('maxSize', None)
226 
227  outputModule = cms.OutputModule(
228  "PoolOutputModule",
229  fileName = cms.untracked.string("%s.root" % moduleLabel)
230  )
231 
232  outputModule.dataset = cms.untracked.PSet(dataTier = cms.untracked.string("RAW"))
233 
234  if maxSize != None:
235  outputModule.maxSize = cms.untracked.int32(maxSize)
236 
237  if selectEvents != None:
238  outputModule.SelectEvents = cms.untracked.PSet(
239  SelectEvents = cms.vstring(selectEvents)
240  )
241  outputModule.outputCommands = cms.untracked.vstring('drop *',
242  'keep *_*_*_HLT')
243 
244  setattr(process, moduleLabel, outputModule)
245  # outputModule=getattr(self.process,theModuleLabel)
246  setattr(process, moduleLabel+'_step', cms.EndPath(outputModule))
247  path = getattr(process, moduleLabel+'_step')
248  process.schedule.append(path)
249 
250  return process
251 
def expressProcessing(self, globalTag, args)
Definition: AlCa.py:177
def gtNameAndConnect(globalTag, args)
Definition: Utils.py:137
def addMonitoring(process)
Definition: Utils.py:38
def stepALCAPRODUCER(skims)
Definition: Utils.py:9
def Impl.AlCa.AlCa.promptReco (   self,
  globalTag,
  args 
)

Definition at line 32 of file AlCa.py.

References Utils.dictIO(), Impl.AlCaLumiPixels.AlCaLumiPixels.eras, Impl.cosmicsEra_Run2_2016.cosmicsEra_Run2_2016.eras, Impl.cosmicsEra_Run2_2017.cosmicsEra_Run2_2017.eras, Impl.cosmicsEra_Run2_2018.cosmicsEra_Run2_2018.eras, Impl.cosmicsEra_Run2_25ns.cosmicsEra_Run2_25ns.eras, Impl.cosmicsEra_Run2_50ns.cosmicsEra_Run2_50ns.eras, Impl.hcalnzsEra_Run2_2018.hcalnzsEra_Run2_2018.eras, Impl.hcalnzsEra_Run2_25ns.hcalnzsEra_Run2_25ns.eras, Impl.HeavyIonsEra_Run2_HI.HeavyIonsEra_Run2_HI.eras, Impl.hcalnzsEra_Run2_2016.hcalnzsEra_Run2_2016.eras, Impl.hcalnzsEra_Run2_2017.hcalnzsEra_Run2_2017.eras, Impl.ppEra_Run2_2017_trackingLowPU.ppEra_Run2_2017_trackingLowPU.eras, Impl.ppEra_Run2_2016.ppEra_Run2_2016.eras, Impl.ppEra_Run2_2016_pA.ppEra_Run2_2016_pA.eras, Impl.ppEra_Run2_2016_trackingLowPU.ppEra_Run2_2016_trackingLowPU.eras, Impl.ppEra_Run2_2017.ppEra_Run2_2017.eras, Impl.ppEra_Run2_50ns.ppEra_Run2_50ns.eras, Impl.ppEra_Run2_2017_ppRef.ppEra_Run2_2017_ppRef.eras, Impl.ppEra_Run2_2018.ppEra_Run2_2018.eras, Impl.ppEra_Run2_25ns.ppEra_Run2_25ns.eras, Impl.ppEra_Run2_2017_pp_on_XeXe.ppEra_Run2_2017_pp_on_XeXe.eras, Impl.trackingOnlyEra_Run2_2017.trackingOnlyEra_Run2_2017.eras, Impl.ppEra_Run2_2017_trackingOnly.ppEra_Run2_2017_trackingOnly.eras, Impl.trackingOnlyEra_Run2_2018.trackingOnlyEra_Run2_2018.eras, Scenario.Scenario.eras, options.HLTProcessOptions.eras, Utils.gtNameAndConnect(), Impl.AlCaP0.AlCaP0.skims, Impl.AlCaTestEnable.AlCaTestEnable.skims, Impl.AlCaPhiSymEcal.AlCaPhiSymEcal.skims, Impl.AlCaLumiPixels.AlCaLumiPixels.skims, and Utils.stepALCAPRODUCER().

32  def promptReco(self, globalTag, **args):
33  if not 'skims' in args:
34  args['skims']=self.skims
35  step = stepALCAPRODUCER(args['skims'])
36  options = Options()
37  options.__dict__.update(defaultOptions.__dict__)
38  options.scenario = "pp"
39  options.step = step
40  dictIO(options,args)
41  options.conditions = gtNameAndConnect(globalTag, args)
42 
43  process = cms.Process('RECO', self.eras)
44  cb = ConfigBuilder(options, process = process, with_output = True)
45 
46  # Input source
47  process.source = cms.Source("PoolSource",
48  fileNames = cms.untracked.vstring()
49  )
50  cb.prepare()
51 
52  return process
53 
def gtNameAndConnect(globalTag, args)
Definition: Utils.py:137
def dictIO(options, args)
Definition: Utils.py:123
def promptReco(self, globalTag, args)
Definition: AlCa.py:32
def stepALCAPRODUCER(skims)
Definition: Utils.py:9
def Impl.AlCa.AlCa.skimsIfNotGiven (   self,
  args,
  sl 
)

Definition at line 28 of file AlCa.py.

28  def skimsIfNotGiven(self,args,sl):
29  if not 'skims' in args:
30  args['skims']=sl
31 
def skimsIfNotGiven(self, args, sl)
Definition: AlCa.py:28