CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_5_3_3/src/Configuration/DataProcessing/python/Impl/AlCa.py

Go to the documentation of this file.
00001 #!/usr/bin/env python
00002 """
00003 _AlCa_
00004 
00005 Scenario supporting proton collisions
00006 
00007 """
00008 
00009 import os
00010 import sys
00011 
00012 from Configuration.DataProcessing.Scenario import Scenario
00013 from Configuration.DataProcessing.Utils import stepALCAPRODUCER,dqmIOSource,harvestingMode,dictIO
00014 import FWCore.ParameterSet.Config as cms
00015 from Configuration.PyReleaseValidation.ConfigBuilder import ConfigBuilder
00016 from Configuration.PyReleaseValidation.ConfigBuilder import Options
00017 from Configuration.PyReleaseValidation.ConfigBuilder import defaultOptions
00018 
00019 class AlCa(Scenario):
00020     """
00021     _AlCa_
00022 
00023     Implement configuration building for data processing for proton
00024     collision data taking
00025 
00026     """
00027 
00028     def skimsIfNotGiven(self,args,sl):
00029         if not 'skims' in args:
00030             args['skims']=sl
00031 
00032     def promptReco(self, globalTag, **args):
00033         if not 'skims' in args:
00034             args['skims']=self.skims
00035         step = stepALCAPRODUCER(args['skims'])
00036         options = Options()
00037         options.__dict__.update(defaultOptions.__dict__)
00038         options.scenario = "pp"
00039         options.step = step
00040         dictIO(options,args)
00041         options.conditions = globalTag
00042         
00043         process = cms.Process('RECO')
00044         cb = ConfigBuilder(options, process = process, with_output = True)
00045 
00046         # Input source
00047         process.source = cms.Source("PoolSource",
00048             fileNames = cms.untracked.vstring()
00049         )
00050         cb.prepare()
00051 
00052         return process
00053 
00054     def alcaSkim(self, skims, **args):
00055         """
00056         _alcaSkim_
00057 
00058         AlcaReco processing & skims for proton collisions
00059 
00060         """
00061         options = Options()
00062         options.__dict__.update(defaultOptions.__dict__)
00063         options.scenario = "pp"
00064         options.step = "ALCAOUTPUT:"+('+'.join(skims))
00065         options.conditions = args['globaltag'] if 'globaltag' in args else 'None'
00066         options.triggerResultsProcess = 'RECO'
00067         
00068         process = cms.Process('ALCA')
00069         cb = ConfigBuilder(options, process = process)
00070 
00071         # Input source
00072         process.source = cms.Source(
00073            "PoolSource",
00074            fileNames = cms.untracked.vstring()
00075         )
00076 
00077         cb.prepare() 
00078 
00079         return process
00080 
00081 
00082     def dqmHarvesting(self, datasetName, runNumber, globalTag, args):
00083         """
00084         _dqmHarvesting_
00085 
00086         Proton collisions data taking DQM Harvesting
00087 
00088         """
00089         options = defaultOptions
00090         options.scenario = "pp"
00091         options.step = "HARVESTING:alcaHarvesting"
00092         options.name = "EDMtoMEConvert"
00093         options.conditions = globalTag
00094  
00095         process = cms.Process("HARVESTING")
00096         process.source = dqmIOSource(args)
00097         configBuilder = ConfigBuilder(options, process = process)
00098         configBuilder.prepare()
00099 
00100         #
00101         # customise process for particular job
00102         #
00103         #process.source.processingMode = cms.untracked.string('RunsAndLumis')
00104         #process.source.fileNames = cms.untracked(cms.vstring())
00105         #process.maxEvents.input = -1
00106         #process.dqmSaver.workflow = datasetName
00107         #process.dqmSaver.saveByLumiSection = 1
00108         #if args.has_key('referenceFile') and args.get('referenceFile', ''):
00109         #    process.DQMStore.referenceFileName = \
00110         #                        cms.untracked.string(args['referenceFile'])
00111         harvestingMode(process,datasetName,args)
00112         
00113         return process