Exemple #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
Exemple #2
0
options.register("year", 2018, VarParsing.multiplicity.singleton,
                 VarParsing.varType.int)
options.register("maxEventsIn", -1, VarParsing.multiplicity.singleton,
                 VarParsing.varType.int)
options.parseArguments()

# choose particle
options._pdgid = 0
if options.particle == "electron": options._pdgid = 11
elif options.particle == "photon": options._pdgid = 22
else: raise ValueError("Unsupported particle: " + options.particle)

# check options
if options.streams == 0: options.streams = options.threads
if options.sim != "Geant4" and options.sim != "GeantV":
    raise ValueError("Unsupported sim: " + options.sim)
if options.year != 2018 and options.year != 2023:
    raise ValueError("Unsupported year: " + str(options.year))
if options.maxEventsIn == -1: options.maxEventsIn = options.maxEvents

# basic name definition
nametmp = options.particle + "_pt" + str(options.pt) + "_mult" + str(
    options.mult)
# gen name definition
options._genname = "gen_" + nametmp + "_n" + str(options.maxEventsIn)
# sim name definition
options._simname = "sim_" + options.sim + "_year" + str(
    options.year) + "_" + nametmp + "_n" + str(
        options.maxEvents) + "_th" + str(options.threads) + "_st" + str(
            options.streams)