Beispiel #1
0
    def expressProcessing(self, globalTag, **args):
        """
        _expressProcessing_

        Proton collision data taking express processing

        """
        step = stepALCAPRODUCER(args["skims"])
        dqmStep = dqmSeq(args, "")
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = self.cbSc
        options.step = "RAW2DIGI,L1Reco,RECO" + step + ",DQM" + dqmStep + ",ENDJOB"
        dictIO(options, args)
        options.conditions = globalTag

        process = cms.Process("RECO")
        cb = ConfigBuilder(options, process=process, with_output=True)

        # Input source
        process.source = cms.Source("NewEventStreamFileReader", fileNames=cms.untracked.vstring())
        cb.prepare()

        addMonitoring(process)

        return process
Beispiel #2
0
    def alcaSkim(self, skims, **args):
        """
        _alcaSkim_

        AlcaReco processing & skims for proton collisions

        """
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = "ALCAOUTPUT:"+('+'.join(skims))
        options.conditions = args['globaltag'] if 'globaltag' in args else 'None'
        options.triggerResultsProcess = 'RECO'
        
        process = cms.Process('ALCA')
        cb = ConfigBuilder(options, process = process)

        # Input source
        process.source = cms.Source(
           "PoolSource",
           fileNames = cms.untracked.vstring()
        )

        cb.prepare() 

        return process
Beispiel #3
0
    def promptReco(self, globalTag, **args):
        """
        _promptReco_

        Proton collision data taking prompt reco

        """
        step = stepALCAPRODUCER(args['skims'])
        dqmStep= dqmSeq(args,'')
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = self.cbSc
        options.step = 'RAW2DIGI,L1Reco,RECO'+self.recoSeq+step+',DQM'+dqmStep+',ENDJOB'
        dictIO(options,args)
        options.conditions = globalTag
        
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process, with_output = True)

        # Input source
        process.source = cms.Source("PoolSource",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare()

        addMonitoring(process)
        
        return process
Beispiel #4
0
    def expressProcessing(self, globalTag, **args):
        """
        _expressProcessing_

        Proton collision data taking express processing

        """
        step = stepALCAPRODUCER(args['skims'])
        dqmStep = dqmSeq(args, '')
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = self.cbSc
        options.step = 'RAW2DIGI,L1Reco,RECO' + step + ',DQM' + dqmStep + ',ENDJOB'
        dictIO(options, args)
        options.conditions = globalTag

        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process=process, with_output=True)

        # Input source
        process.source = cms.Source("NewEventStreamFileReader",
                                    fileNames=cms.untracked.vstring())
        cb.prepare()

        addMonitoring(process)

        return process
Beispiel #5
0
    def promptReco(self, globalTag, writeTiers = ['RECO'], **args):
        """
        _promptReco_

        Prompt reco for RelVal MC production

        """
        
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = 'RAW2DIGI,L1Reco,RECO,VALIDATION,DQM,ENDJOB'
        options.isMC = True
        options.isData = False
        options.beamspot = None
        options.eventcontent = ','.join(writeTiers)
        options.datatier = ','.join(writeTiers)
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag

        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process, with_output = True)

        # Input source
        process.source = cms.Source("PoolSource",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare()

        return process
Beispiel #6
0
    def expressProcessing(self, globalTag, **args):
        """
        _expressProcessing_

        Heavy-ion collision data taking express processing

        """

        skims = ['SiStripCalZeroBias',
                 'TkAlMinBiasHI']
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "HeavyIons"
        options.step = 'RAW2DIGI,L1Reco,RECO'+step+',DQM,ENDJOB'
        options.isRepacked = True
        dictIO(options,args)
        options.conditions = globalTag
        
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process, with_output=True)

        # Input source
        process.source = cms.Source("NewEventStreamFileReader",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare() 

        customiseExpressHI(process)
        addMonitoring(process)
        
        return process
Beispiel #7
0
    def promptReco(self, globalTag, **args):
        """
        _promptReco_

        Collision data, data scouting (dst stream).
        This method provides the scheleton process for the dataScouting.
        dpiparo 17-7-2012
        I follow the structure of the package.
        """
        options = Options()
        options.scenario = self.cbSc
        options.__dict__.update(defaultOptions.__dict__)
        options.step = 'DQM:DQM/DataScouting/dataScouting_cff.dataScoutingDQMSequence,ENDJOB'
        dictIO(options, args)
        options.conditions = globalTag

        process = cms.Process('DataScouting')
        cb = ConfigBuilder(options, process=process, with_output=True)

        # Input source
        process.source = cms.Source("PoolSource",
                                    fileNames=cms.untracked.vstring())
        cb.prepare()

        return process
Beispiel #8
0
    def alcaSkim(self, skims, **args):
        """
        _alcaSkim_

        AlcaReco processing & skims for heavy-ion collisions

        """

        globalTag = None
        if 'globaltag' in args:
            globalTag = args['globaltag']

        step = ""
        if 'PromptCalibProd' in skims:
            step = "ALCA:PromptCalibProd" 
            skims.remove('PromptCalibProd')
        
        if len( skims ) > 0:
            if step != "":
                step += ","
            step += "ALCAOUTPUT:"
                
        for skim in skims:
          step += (skim+"+")
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "HeavyIons"
        options.step = step.rstrip('+')
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = None
        options.relval = None
        if globalTag != None :
            options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.triggerResultsProcess = 'RECO'
        
        process = cms.Process('ALCA')
        cb = ConfigBuilder(options, process = process)

        # Input source
        process.source = cms.Source(
           "PoolSource",
           fileNames = cms.untracked.vstring()
        )

        cb.prepare() 

        # FIXME: dirty hack..any way around this?
        # Tier0 needs the dataset used for ALCAHARVEST step to be a different data-tier
        if 'PromptCalibProd' in step:
            process.ALCARECOStreamPromptCalibProd.dataset.dataTier = cms.untracked.string('ALCAPROMPT')

        return process
Beispiel #9
0
    def alcaReco(self, skims, **args):
        """
        _alcaReco_

        AlcaReco processing & skims for RelVal MC production

        """
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = 'ALCA:MuAlStandAloneCosmics,ENDJOB'
        options.isMC = True
        options.isData = False
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.beamspot = None
        options.eventcontent = None
        options.relval = None

        process = cms.Process('ALCA')
        cb = ConfigBuilder(options, process=process)

        # Input source
        process.source = cms.Source("PoolSource",
                                    fileNames=cms.untracked.vstring())

        cb.prepare()

        #  //
        # // Verify and Edit the list of skims to be written out
        #//  by this job
        availableStreams = process.outputModules_().keys()

        #  //
        # // First up: Verify skims are available by output module name
        #//
        for skim in skims:
            if skim not in availableStreams:
                msg = "Skim named: %s not available " % skim
                msg += "in Alca Reco Config:\n"
                msg += "Known Skims: %s\n" % availableStreams
                raise RuntimeError, msg

        #  //
        # // Prune any undesired skims
        #//
        for availSkim in availableStreams:
            if availSkim not in skims:
                self.dropOutputModule(process, availSkim)

        return process
Beispiel #10
0
    def alcaReco(self, skims, **args):
        """
        _alcaReco_

        AlcaReco processing & skims for RelVal MC production

        """
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = 'ALCA:MuAlStandAloneCosmics+DQM,ENDJOB'
        options.isMC = True
        options.isData = False
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.beamspot = None
        options.eventcontent = None
        options.relval = None
        
        process = cms.Process('ALCA')
        cb = ConfigBuilder(options, process = process)

        # Input source
        process.source = cms.Source(
           "PoolSource",
           fileNames = cms.untracked.vstring()
        )

        cb.prepare() 

        #  //
        # // Verify and Edit the list of skims to be written out
        #//  by this job
        availableStreams = process.outputModules_().keys()

        #  //
        # // First up: Verify skims are available by output module name
        #//
        for skim in skims:
            if skim not in availableStreams:
                msg = "Skim named: %s not available " % skim
                msg += "in Alca Reco Config:\n"
                msg += "Known Skims: %s\n" % availableStreams
                raise RuntimeError, msg

        #  //
        # // Prune any undesired skims
        #//
        for availSkim in availableStreams:
            if availSkim not in skims:
                self.dropOutputModule(process, availSkim)

        return process
Beispiel #11
0
    def expressProcessing(self, globalTag, **args):
        """
        _expressProcessing_

        Proton collision data taking express processing

        """
        step = stepALCAPRODUCER(args['skims'])
        dqmStep = dqmSeq(args, '')
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = self.cbSc
        options.step = 'RAW2DIGI,L1Reco,RECO' + step + ',DQM' + dqmStep + ',ENDJOB'
        dictIO(options, args)
        options.conditions = globalTag
        options.filein = 'tobeoverwritten.xyz'
        if 'inputSource' in args:
            options.filetype = args['inputSource']
        process = cms.Process('RECO')
        cb = ConfigBuilder(options,
                           process=process,
                           with_output=True,
                           with_input=True)

        cb.prepare()

        addMonitoring(process)

        return process
Beispiel #12
0
    def alcaSkim(self, skims, **args):
        """
        _alcaSkim_

        AlcaReco processing & skims for proton collisions

        """

        step = ""
        if 'PromptCalibProd' in skims:
            step = "ALCA:PromptCalibProd" 
            skims.remove('PromptCalibProd')
        
        if len( skims ) > 0:
            if step != "":
                step += ","
            step += "ALCAOUTPUT:"+('+'.join(skims))
                
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = self.cbSc
        options.step = step
        options.conditions = args['globaltag'] if 'globaltag' in args else 'None'
        options.triggerResultsProcess = 'RECO'
        
        process = cms.Process('ALCA')
        cb = ConfigBuilder(options, process = process)

        # Input source
        process.source = cms.Source(
           "PoolSource",
           fileNames = cms.untracked.vstring()
        )

        cb.prepare() 

        # FIXME: dirty hack..any way around this?
        # Tier0 needs the dataset used for ALCAHARVEST step to be a different data-tier
        if 'PromptCalibProd' in step:
            process.ALCARECOStreamPromptCalibProd.dataset.dataTier = cms.untracked.string('ALCAPROMPT')

        return process
Beispiel #13
0
    def promptReco(self, globalTag, **args):
        if not 'skims' in args:
            args['skims'] = self.skims
        step = stepALCAPRODUCER(args['skims'])
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = step
        dictIO(options, args)
        options.conditions = globalTag

        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process=process, with_output=True)

        # Input source
        process.source = cms.Source("PoolSource",
                                    fileNames=cms.untracked.vstring())
        cb.prepare()

        return process
Beispiel #14
0
    def promptReco(self, globalTag, **args):
        if not 'skims' in args:
            args['skims']=self.skims
        step = stepALCAPRODUCER(args['skims'])
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = step
        dictIO(options,args)
        options.conditions = globalTag
        
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process, with_output = True)

        # Input source
        process.source = cms.Source("PoolSource",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare()

        return process
Beispiel #15
0
    def alcaSkim(self, skims, **args):
        """
        _alcaSkim_

        AlcaReco processing & skims for proton collisions

        """

        globalTag = None
        if 'globaltag' in args:
            globalTag = args['globaltag']
        
        step = "ALCAOUTPUT:"
        for skim in skims:
          step += (skim+"+")
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = step.rstrip('+')
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = None
        options.relval = None
        if globalTag != None :
            options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.triggerResultsProcess = 'RECO'
        
        process = cms.Process('ALCA')
        cb = ConfigBuilder(options, process = process)

        # Input source
        process.source = cms.Source(
           "PoolSource",
           fileNames = cms.untracked.vstring()
        )

        cb.prepare() 

        return process
Beispiel #16
0
    def alcaSkim(self, skims, **args):
        """
        _alcaSkim_

        AlcaReco processing & skims for proton collisions

        """
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = "ALCAOUTPUT:" + ('+'.join(skims))
        options.conditions = args[
            'globaltag'] if 'globaltag' in args else 'None'
        options.triggerResultsProcess = 'RECO'

        process = cms.Process('ALCA')
        cb = ConfigBuilder(options, process=process)

        # Input source
        process.source = cms.Source("PoolSource",
                                    fileNames=cms.untracked.vstring())

        cb.prepare()

        return process
Beispiel #17
0
    def expressProcessing(self, globalTag, **args):
        """
        _expressProcessing_

        Proton collision data taking express processing

        """
        step = stepALCAPRODUCER(args['skims'])
        dqmStep= dqmSeq(args,'')
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = self.cbSc
        options.step = 'RAW2DIGI,L1Reco,RECO'+step+',DQM'+dqmStep+',ENDJOB'
        dictIO(options,args)
        options.conditions = globalTag
        options.filein = 'tobeoverwritten.xyz'
        if 'inputSource' in args:
            options.filetype = args['inputSource']
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process, with_output = True, with_input = True)

        cb.prepare()

        addMonitoring(process)
                
        return process
Beispiel #18
0
    def expressProcessing(self, globalTag, **args):
        """
        _expressProcessing_

        Heavy-ion collision data taking express processing

        """

        skims = ['SiStripCalZeroBias', 'TkAlMinBiasHI']
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "HeavyIons"
        options.step = 'RAW2DIGI,L1Reco,RECO' + step + ',DQM,ENDJOB'
        options.isRepacked = True
        dictIO(options, args)
        options.conditions = globalTag

        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process=process, with_output=True)

        # Input source
        process.source = cms.Source("NewEventStreamFileReader",
                                    fileNames=cms.untracked.vstring())
        cb.prepare()

        customiseExpressHI(process)
        addMonitoring(process)

        return process
Beispiel #19
0
    def expressProcessing(self, globalTag, writeTiers = [], **args):
        """
        _expressProcessing_

        Heavy-ion collision data taking express processing

        """

        skims = []
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "HeavyIons"
        options.step = 'RAW2DIGI,L1Reco,RECO'+step+',L1HwVal,DQM,ENDJOB'
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = None
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False
        
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process)

        # Input source
        process.source = cms.Source("NewEventStreamFileReader",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare()

        for tier in writeTiers: 
          addOutputModule(process, tier, tier)        

        #add the former top level patches here
        customiseExpress(process)
        
        return process
Beispiel #20
0
    def promptReco(self, globalTag, **args):
        """
        _promptReco_

        Collision data, data scouting (dst stream).
        This method provides the scheleton process for the dataScouting.
        dpiparo 17-7-2012
        I follow the structure of the package.
        """
        options = Options()
        options.scenario = self.cbSc
        options.__dict__.update(defaultOptions.__dict__)
        options.step = "DQM:DQM/DataScouting/dataScouting_cff.dataScoutingDQMSequence,ENDJOB"
        dictIO(options, args)
        options.conditions = globalTag

        process = cms.Process("DataScouting")
        cb = ConfigBuilder(options, process=process, with_output=True)

        # Input source
        process.source = cms.Source("PoolSource", fileNames=cms.untracked.vstring())
        cb.prepare()

        return process
Beispiel #21
0
    def alcaSkim(self, skims, **args):
        """
        _alcaSkim_

        AlcaReco processing & skims for proton collisions

        """

        step = ""
        if 'PromptCalibProd' in skims:
            step = "ALCA:PromptCalibProd"
            skims.remove('PromptCalibProd')

        if len(skims) > 0:
            if step != "":
                step += ","
            step += "ALCAOUTPUT:" + ('+'.join(skims))

        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = self.cbSc
        options.step = step
        options.conditions = args[
            'globaltag'] if 'globaltag' in args else 'None'
        options.triggerResultsProcess = 'RECO'

        process = cms.Process('ALCA')
        cb = ConfigBuilder(options, process=process)

        # Input source
        process.source = cms.Source("PoolSource",
                                    fileNames=cms.untracked.vstring())

        cb.prepare()

        # FIXME: dirty hack..any way around this?
        # Tier0 needs the dataset used for ALCAHARVEST step to be a different data-tier
        if 'PromptCalibProd' in step:
            process.ALCARECOStreamPromptCalibProd.dataset.dataTier = cms.untracked.string(
                'ALCAPROMPT')

        return process
Beispiel #22
0
Datei: pp.py Projekt: tuos/cmssw
    def promptReco(self, globalTag, writeTiers = ['RECO'], **args):
        """
        _promptReco_

        Proton collision data taking prompt reco

        """

        skims = ['SiStripCalZeroBias',
                 'TkAlMinBias',
                 'TkAlMuonIsolated',
                 'MuAlCalIsolatedMu',
                 'MuAlOverlaps',
                 'HcalCalIsoTrk',
                 'HcalCalDijets',
                 'SiStripCalMinBias',
                 'EcalCalElectron',
                 'DtCalib',
                 'TkAlJpsiMuMu',
                 'TkAlUpsilonMuMu',
                 'TkAlZMuMu']
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = 'RAW2DIGI,L1Reco,RECO'+step+',L1HwVal,DQM,ENDJOB'
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = ','.join(writeTiers)
        options.datatier = ','.join(writeTiers)
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False
        
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process, with_output = True)

        # Input source
        process.source = cms.Source("PoolSource",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare()

        #add the former top level patches here
        customisePrompt(process)
        
        return process
Beispiel #23
0
    def promptReco(self, globalTag, writeTiers = ['RECO'], **args):
        """
        _promptReco_

        Heavy-ion collision data taking prompt reco

        """

        skims = ['SiStripCalZeroBias',
                 'SiStripCalMinBias',
                 'TkAlMinBiasHI']
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "HeavyIons"
        options.step = 'RAW2DIGI,L1Reco,RECO'+step+',L1HwVal,DQM,ENDJOB'
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = None
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False
        
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process)

        # Input source
        process.source = cms.Source("PoolSource",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare()

        for tier in writeTiers: 
          addOutputModule(process, tier, tier)
          
        #add the former top level patches here
        customiseAlcaOnlyPromptHI(process)
        
        return process
Beispiel #24
0
    def expressProcessing(self, globalTag, writeTiers = [], **args):
        """
        _expressProcessing_

        Cosmic data taking express processing

        """

        skims = ['SiStripCalZeroBias',
                 'MuAlCalIsolatedMu']
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "cosmics"
        options.step = 'RAW2DIGI,L1Reco,RECO'+step+',L1HwVal,DQM,ENDJOB'
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = ','.join(writeTiers)
        options.datatier = ','.join(writeTiers)
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False
        
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process, with_output = True)

        # Input source
        process.source = cms.Source("NewEventStreamFileReader",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare()

        customiseCosmicData(process)  
        return process
Beispiel #25
0
    def promptReco(self, globalTag, writeTiers=['RECO'], **args):
        """
        _promptReco_

        Prompt reco for RelVal MC FastSim production

        """

        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = 'RAW2DIGI,L1Reco,RECO,VALIDATION,ENDJOB'
        options.isMC = True
        options.isData = False
        options.beamspot = None
        options.eventcontent = ','.join(writeTiers)
        options.datatier = ','.join(writeTiers)
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag

        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process=process, with_output=True)

        # Input source
        process.source = cms.Source("PoolSource",
                                    fileNames=cms.untracked.vstring())
        cb.prepare()

        return process
Beispiel #26
0
    def promptReco(self, globalTag, writeTiers = ['RECO'], **args):
        """
        _promptReco_

        Proton collision data taking prompt reco

        """

        skims = ['HcalCalMinBias']
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = 'RAW2DIGI,L1Reco,RECO:reconstruction_HcalNZS'+step+',DQM,ENDJOB'
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = ','.join(writeTiers)
        options.datatier = ','.join(writeTiers)
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False
        
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process, with_output = True)

        # Input source
        process.source = cms.Source("PoolSource",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare()


        #add the former top level patches here
        customisePrompt(process)
        
        return process
Beispiel #27
0
    def promptReco(self, globalTag, writeTiers = ['RECO'], **args):
        """
        _promptReco_

        Cosmic data taking prompt reco

        """

        skims = ['TkAlBeamHalo',
                 'MuAlBeamHaloOverlaps',
                 'MuAlBeamHalo',
                 'TkAlCosmics0T',
                 'MuAlGlobalCosmics',
                 'MuAlCalIsolatedMu',
                 'HcalCalHOCosmics',
                 'DtCalib']
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "cosmics"
        options.step = 'RAW2DIGI,L1Reco,RECO'+step+',L1HwVal,DQM,ENDJOB'
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = ','.join(writeTiers)
        options.datatier = ','.join(writeTiers)
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False
        
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process, with_output = True)

        # Input source
        process.source = cms.Source("PoolSource",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare()

        customiseCosmicData(process)  
        return process
Beispiel #28
0
    def expressProcessing(self, globalTag, writeTiers = [], **args):
        """
        _expressProcessing_

        Proton collision data taking express processing

        """

        skims = ['EcalCalPi0Calib',
                 'EcalCalEtaCalib']
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = step
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = ','.join(writeTiers)
        options.datatier = ','.join(writeTiers)
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False
        
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process, with_output = True)

        # Input source
        process.source = cms.Source("PoolSource",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare()

        #add the former top level patches here
        customisePrompt(process)
        
        return process
Beispiel #29
0
    def alcaSkim(self, skims, **args):
        """
        _alcaSkim_

        AlcaReco processing & skims for proton collisions

        """

        globalTag = None
        if 'globaltag' in args:
            globalTag = args['globaltag']

        step = ""
        if 'PromptCalibProd' in skims:
            step = "ALCA:PromptCalibProd"
            skims.remove('PromptCalibProd')

        if len(skims) > 0:
            if step != "":
                step += ","
            step += "ALCAOUTPUT:"

        for skim in skims:
            step += (skim + "+")
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = step.rstrip('+')
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = None
        options.relval = None
        if globalTag != None:
            options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.triggerResultsProcess = 'RECO'

        process = cms.Process('ALCA')
        cb = ConfigBuilder(options, process=process)

        # Input source
        process.source = cms.Source("PoolSource",
                                    fileNames=cms.untracked.vstring())

        cb.prepare()

        # FIXME: dirty hack..any way around this?
        # Tier0 needs the dataset used for ALCAHARVEST step to be a different data-tier
        if 'PromptCalibProd' in step:
            process.ALCARECOStreamPromptCalibProd.dataset.dataTier = cms.untracked.string(
                'ALCAPROMPT')

        return process
Beispiel #30
0
    def expressProcessing(self, globalTag, writeTiers = [], **args):
        """
        _expressProcessing_

        Proton collision data taking express processing

        """

        skims = ['TkAlLAS']
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = step
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = ','.join(writeTiers)
        options.datatier = ','.join(writeTiers)
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False
        
        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process = process, with_output = True)

        # Input source
        process.source = cms.Source("PoolSource",
            fileNames = cms.untracked.vstring()
        )
        cb.prepare()

        #add the former top level patches here
        customisePrompt(process)
        
        return process
Beispiel #31
0
    def alcaSkim(self, skims, **args):
        """
        _alcaSkim_

        AlcaReco processing & skims for proton collisions

        """

        globalTag = None
        if 'globaltag' in args:
            globalTag = args['globaltag']
        
        step = "ALCAOUTPUT:"
        for skim in skims:
          step += (skim+"+")
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = step.rstrip('+')
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = None
        options.relval = None
        if globalTag != None :
            options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.triggerResultsProcess = 'RECO'
        
        process = cms.Process('ALCA')
        cb = ConfigBuilder(options, process = process)

        # Input source
        process.source = cms.Source(
           "PoolSource",
           fileNames = cms.untracked.vstring()
        )

        cb.prepare() 

        return process
Beispiel #32
0
    def promptReco(self, globalTag, writeTiers=['RECO'], **args):
        """
        _promptReco_

        Proton collision data taking prompt reco

        """

        skims = [
            'SiStripCalZeroBias', 'TkAlMinBias', 'TkAlMuonIsolated',
            'MuAlCalIsolatedMu', 'MuAlOverlaps', 'HcalCalIsoTrk',
            'HcalCalDijets', 'SiStripCalMinBias', 'EcalCalElectron', 'DtCalib',
            'TkAlJpsiMuMu', 'TkAlUpsilonMuMu', 'TkAlZMuMu'
        ]
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = 'RAW2DIGI,L1Reco,RECO' + step + ',L1HwVal,DQM,ENDJOB'
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = ','.join(writeTiers)
        options.datatier = ','.join(writeTiers)
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False

        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process=process, with_output=True)

        # Input source
        process.source = cms.Source("PoolSource",
                                    fileNames=cms.untracked.vstring())
        cb.prepare()

        #add the former top level patches here
        customisePrompt(process)

        return process
Beispiel #33
0
    def expressProcessing(self, globalTag, writeTiers=[], **args):
        """
        _expressProcessing_

        Proton collision data taking express processing

        """

        skims = [
            'SiStripCalZeroBias', 'TkAlMinBias', 'DtCalib', 'MuAlCalIsolatedMu'
        ]
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "pp"
        options.step = 'RAW2DIGI,L1Reco,RECO' + step + ',L1HwVal,DQM,ENDJOB'
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = ','.join(writeTiers)
        options.datatier = ','.join(writeTiers)
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False

        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process=process, with_output=True)

        # Input source
        process.source = cms.Source("NewEventStreamFileReader",
                                    fileNames=cms.untracked.vstring())
        cb.prepare()

        #add the former top level patches here
        customiseExpress(process)

        return process
Beispiel #34
0
    def promptReco(self, globalTag, writeTiers=['RECO'], **args):
        """
        _promptReco_

        Cosmic data taking prompt reco

        """

        skims = [
            'TkAlBeamHalo', 'MuAlBeamHaloOverlaps', 'MuAlBeamHalo',
            'TkAlCosmics0T', 'MuAlGlobalCosmics', 'MuAlCalIsolatedMu',
            'HcalCalHOCosmics', 'DtCalib'
        ]
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "cosmics"
        options.step = 'RAW2DIGI,L1Reco,RECO' + step + ',L1HwVal,DQM,ENDJOB'
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = ','.join(writeTiers)
        options.datatier = ','.join(writeTiers)
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False

        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process=process, with_output=True)

        # Input source
        process.source = cms.Source("PoolSource",
                                    fileNames=cms.untracked.vstring())
        cb.prepare()

        customiseCosmicData(process)
        return process
Beispiel #35
0
    def expressProcessing(self, globalTag, writeTiers=[], **args):
        """
        _expressProcessing_

        Heavy-ion collision data taking express processing

        """

        skims = []
        step = stepALCAPRODUCER(skims)
        options = Options()
        options.__dict__.update(defaultOptions.__dict__)
        options.scenario = "HeavyIons"
        options.step = 'RAW2DIGI,L1Reco,RECO' + step + ',L1HwVal,DQM,ENDJOB'
        options.isMC = False
        options.isData = True
        options.beamspot = None
        options.eventcontent = None
        options.magField = 'AutoFromDBCurrent'
        options.conditions = "FrontierConditions_GlobalTag,%s" % globalTag
        options.relval = False

        process = cms.Process('RECO')
        cb = ConfigBuilder(options, process=process)

        # Input source
        process.source = cms.Source("NewEventStreamFileReader",
                                    fileNames=cms.untracked.vstring())
        cb.prepare()

        for tier in writeTiers:
            addOutputModule(process, tier, tier)

        #add the former top level patches here
        customiseExpress(process)

        return process