Exemplo n.º 1
0
    else:
        options._params.append(getattr(pm,p)())
        options._params[-1].setValues(options.paramValues[paramValueCounter:paramValueCounter+options._params[-1].nparams])
        _pnames.append(p+','.join(str(pp) for pp in options._params[-1].params))
        paramValueCounter += options._params[-1].nparams
if paramValueCounter != len(options.paramValues):
    raise ValueError("Used {} paramValues, but {} were provided".format(paramValueCounter,len(options.paramValues)))
_pnametmp = '_'.join(_pnames)

# basic name definition
nametmp = options.particle+"_energy"+str(options.minenergy)+("to"+str(options.maxenergy) if options.minenergy!=options.maxenergy else "")+"_mult"+str(options.mult)
if any([defaults[x] != getattr(options,x) for x in defaults]):
    nametmp = nametmp+"_eta"+str(options.mineta)+("to"+str(options.maxeta) if options.mineta!=options.maxeta else "")+"_phi"+str(options.minphi)+("to"+str(options.maxphi) if options.minphi!=options.maxphi else "")
_partname = "_part"+str(options.part) if options.part>0 else ""
# gen name definition: does not include parameter variations
options._genname = "gen_"+nametmp+"_n"+str(options.maxEventsIn)+_partname
# sim name definition
if len(_pnametmp)>0:
    nametmp += "_"+_pnametmp
options._simname = "sim_"+nametmp+"_n"+str(options.maxEvents)+_partname
# ntuple name definition
options._ntupname = "ntup_"+nametmp+"_n"+str(options.maxEvents)+_partname

def resetSeeds(process,options):
    # reset all random numbers to ensure statistically distinct but reproducible jobs
    from IOMC.RandomEngine.RandomServiceHelper import RandomNumberServiceHelper
    randHelper = RandomNumberServiceHelper(process.RandomNumberGeneratorService)
    randHelper.resetSeeds(options.maxEvents+options.part)
    if process.source.type_()=='EmptySource' and options.part>0: process.source.firstEvent = cms.untracked.uint32((options.part-1)*options.maxEvents+1)
    return process