Exemple #1
0
                         process.flashggDiPhotonSystematics +
                         process.flashggDiPhotonMVA + process.sampleInfo +
                         process.hltFilter + process.pho_sequence +
                         process.allTagsAndProbes +
                         process.pileupReweightingProducer +
                         process.mc_sequence + process.tree_sequence)
else:
    process.p = cms.Path(process.flashggUpdatedIdMVADiPhotons +
                         process.flashggDiPhotonSystematics +
                         process.flashggDiPhotonMVA +
                         #process.sampleInfo +
                         process.hltFilter + process.pho_sequence +
                         process.allTagsAndProbes +
                         process.pileupReweightingProducer +
                         process.mc_sequence + process.tree_sequence)

process.TFileService = cms.Service(
    "TFileService",
    #fileName = cms.string(myoptions['OUTPUT_FILE_NAME']),
    fileName=cms.string("TnP.root"),
    closeFileFast=cms.untracked.bool(True))

from flashgg.MetaData.JobConfig import JobConfig

customize = JobConfig(crossSections=[
    "$CMSSW_BASE/src/flashgg/MetaData/data/cross_sections.json"
])
customize.setDefault("maxEvents", -1)
customize.setDefault("targetLumi", 1)
customize(process)
Exemple #2
0
from flashgg.MetaData.JobConfig import JobConfig

customize = JobConfig(#metaDataSrc="diphotons",
                      crossSections=["$CMSSW_BASE/src/flashgg/MetaData/data/cross_sections.json",
                                     "$CMSSW_BASE/src/diphotons/MetaData/data/cross_sections.json",
                                     "$CMSSW_BASE/src/diphotons/MetaData/data/cross_sections_gen_grid.json"])

Exemple #3
0
    def checkCrossSections(self):
        # checks if all cross sections (apart from data)
        # were specified

        import re
        from flashgg.MetaData.samples_utils import SamplesManager
        from flashgg.MetaData.JobConfig import JobConfig

        # ignore any escaping etc.
        kwargs = {}
        for part in re.split('\s+', self.options.cmdLine):
            key, value = part.split('=', 1)
            kwargs[key] = value

        if not kwargs.has_key('campaign'):
            print >> sys.stderr, "WARNING: campaign not set"

        # automatically get metadata locations right for both high-mass and SM Higgs
        try:
            from diphotons.MetaData.JobConfig import customize
        except ImportError:
            from flashgg.MetaData.JobConfig import customize
        if not kwargs.has_key("metaDataSrc"):
            kwargs["metaDataSrc"] = customize.metaDataSrc
        if not kwargs.has_key("crossSections"):
            kwargs["crossSections"] = customize.crossSections

        # TODO: the following line is duplicated from
        #       JobConfig(..) but we can't make JobConfig.options.parseArguments()
        #       to parse anything other than sys.argv without modifying sys.argv temporarily...
        campaign = kwargs.get('campaign', "")

        jobConfig = JobConfig(**kwargs)

        sm = SamplesManager(
            "$CMSSW_BASE/src/%s/MetaData/data/%s/datasets.json" %
            (jobConfig.metaDataSrc, campaign),
            jobConfig.crossSections,
        )

        hasProblem = False

        # loop over all types of processes (data, signal, background)
        for dsList in self.options.processes.values():
            for idsName in dsList:
                #if args were provided for this dataset, then it is a list...
                if isinstance(idsName, list):
                    dsName = idsName[0]
                #... or just a string
                else:
                    dsName = idsName

                # check if this datasets was selected
                if not self.isSelectedDataset(dsName):
                    # skip this dataset
                    continue

                #----------
                try:
                    name, xsec, totEvents, files, maxEvents = sm.getDatasetMetaData(
                        jobConfig.maxEvents,
                        dsName,
                        jobId=-1,
                        nJobs=jobConfig.nJobs)

                    if xsec == None:
                        print >> sys.stderr, "cross section for", dsName, "not found in", jobConfig.crossSections
                        hasProblem = True

                except Exception, ex:
                    if type(ex) == Exception and (
                            ex.message.startswith(
                                'No dataset matched the request:')
                            or ex.message.startswith(
                                'More then one dataset matched the request:')):
                        print >> sys.stderr, ex.message
                    else:
                        raise
Exemple #4
0
from flashgg.MetaData.JobConfig import JobConfig

customize = JobConfig(
    metaDataSrc="diphotons",
    crossSections=[
        "$CMSSW_BASE/src/diphotons/MetaData/data/cross_sections.json"
    ])