diff --git a/Generators/Epos_i/CMakeLists.txt b/Generators/Epos_i/CMakeLists.txt index f64e338c2b2a1db974f7390631627d4ae66071b6..df94dbba212d7a7abdb082cfcd9251cea62e1a16 100644 --- a/Generators/Epos_i/CMakeLists.txt +++ b/Generators/Epos_i/CMakeLists.txt @@ -43,3 +43,6 @@ atlas_add_component( Epos_i atlas_install_joboptions( share/*.py ) atlas_install_runtime( share/epos_crmc.param ) +set( EposEnvironment_DIR ${CMAKE_CURRENT_SOURCE_DIR} + CACHE PATH "Location of EposEnvironment.cmake" ) +find_package( EposEnvironment ) diff --git a/Generators/Epos_i/EposEnvironmentConfig.cmake b/Generators/Epos_i/EposEnvironmentConfig.cmake new file mode 100644 index 0000000000000000000000000000000000000000..a44dffcdb5fe380bbb70439445d060a7175a98ed --- /dev/null +++ b/Generators/Epos_i/EposEnvironmentConfig.cmake @@ -0,0 +1,18 @@ +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# +# This module is used to set up the environment for Epos +# +# + +# Set the environment variable(s): +find_package( CRMC ) + +if( CRMC_FOUND ) + set( EPOSENVIRONMENT_ENVIRONMENT + FORCESET EPOSVER ${CRMC_VERSION} ) +endif() + +# Silently declare the module found: +set( EPOSENVIRONMENT_FOUND TRUE ) + + diff --git a/Generators/EvgenJobTransforms/python/EvgenConfig.py b/Generators/EvgenJobTransforms/python/EvgenConfig.py index c2dbfc83d9db798889d95b499ae511677037831c..c67958c809a927d10dd1dbec959ca0e688d4f09f 100644 --- a/Generators/EvgenJobTransforms/python/EvgenConfig.py +++ b/Generators/EvgenJobTransforms/python/EvgenConfig.py @@ -1,12 +1,13 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# ## Generators providing input events via the LHEF format (MC@NLO produces LHEF ## when used in connection with Herwig++, which is fine since this variable is ## just used to determine the input file dummy-naming strategy for C++ generators) lhefGenerators = ["Lhef", # generic name: prefer to use the names below - "aMcAtNlo", "McAtNlo", "Powheg", "PowHel", "MadGraph", "CompHep", "CalcHep", - "Whizard", "MCFM", "JHU", "MEtop", "Charybdis", "Charybdis2","BCVEGPY", "Dire4Pythia8", - "BlackMax", "QBH", "gg2ww", "gg2zz", "gg2vv", "HvyN", "VBFNLO", "FPMC", "ProtosLHEF"] + "aMcAtNlo", "McAtNlo", "Powheg", "PowHel", "MadGraph", "CompHep", "CalcHep","Geneva", + "Whizard", "MCFM", "JHU", "MEtop", "Charybdis", "Charybdis2", "BCVEGPY", "Dire4Pythia8", + "BlackMax", "QBH", "gg2ww", "gg2zz", "gg2vv", "HvyN", "VBFNLO", "FPMC", "ProtosLHEF", + "BCVEGPY"] ## A more general list of generators which provide partonic input, including non-LHEF ones inputGenerators = lhefGenerators + ["Alpgen", "Protos"] @@ -111,6 +112,7 @@ class EvgenConfig(TransformConfig): notes = String("Extra information about this process e.g. known current problems") contact = ListOfStrings("Contact person for this dataset. Leave empty for 'MC group'") keywords = ListOfStrings("Search keywords for this dataset, e.g. 'QCD', 'EW', 'minbias', ...") + categories = ListOfStrings("Category keywords for this dataset, e.g. 'L1:Top', 'L2:RareTop'") inputfilecheck = String("A regex to check that the input file needed for some generators has a valid name") inputconfcheck = String("A regex to check that the config file needed for some generators has a valid name") specialConfig = String("Special configuration for subsequent prod steps") @@ -119,6 +121,7 @@ class EvgenConfig(TransformConfig): findJets = Boolean("Schedule jet finding algorithms for each defined jet container", False) doNotSaveItems = ListOfStrings("List of StreamEVGEN items to NOT save in output file - note occurs BEFORE extraSaveItems are added") extraSaveItems = ListOfStrings("List of extra StreamEVGEN items to save in output file - note occurs AFTER doNotSaveItems are removed") + inputFilesPerJob = Integer("number of input files per job",0, AllowedExpression("value >= 0")) def __init__(self, name="evgenConfig"): TransformConfig.__init__(self, name) diff --git a/Generators/EvgenJobTransforms/scripts/AfterBurner_tf.py b/Generators/EvgenJobTransforms/scripts/AfterBurner_tf.py index 232d15d400552a8deb98af2631a9740b45d0d6cc..502107d577da801e7f294c2b8d706d5383c69058 100755 --- a/Generators/EvgenJobTransforms/scripts/AfterBurner_tf.py +++ b/Generators/EvgenJobTransforms/scripts/AfterBurner_tf.py @@ -1,5 +1,5 @@ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration - +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# #! /usr/bin/env python """ @@ -14,7 +14,6 @@ from PyJobTransforms.trfArgs import addAthenaArguments from PyJobTransforms.trfDecorators import stdTrfExceptionHandler, sigUsrStackTrace from EvgenJobTransforms.evgenTrfArgs import addStdEvgenArgs import PyJobTransforms.trfArgClasses as trfArgClasses -from EvgenJobTransforms.jo_proxy import mk_jo_proxy ## Prodsys1 hack... @@ -47,6 +46,36 @@ class EvgenExecutor(athenaExecutor): zf.extractall() zf.close() + def get_immediate_subdirectories(a_dir): + return [name for name in os.listdir(a_dir) + if os.path.isdir(os.path.join(a_dir, name))] + + def mk_jo_proxy(targetbasepath, pkgname, proxypath, addtosearch=True): + "Make a JO proxy dir such that the MCxxJobOptions/dddd dirs contents are found via include(MCxxJobOptions/yyyy)" + if proxypath: + if os.path.exists(proxypath): + shutil.rmtree(proxypath) + os.mkdir(proxypath) + os.environ['LOCAL_INSTALL_DIR'] = (os.environ['JOBOPTSEARCHPATH']).split(":")[0] + comdir = os.path.join(targetbasepath, "common") + subdirlist = get_immediate_subdirectories(comdir) + subdirlist1 = ['common/%s' % item for item in subdirlist] + dirlist = ['common','share','gencontrol','susycontrol'] + for d in (dirlist+subdirlist1): + # TODO: we could _maybe_ add the appropriate share/DSIDxxxx/ dir to the path based on the jobConfig arg... too much magic? + if (d != 'common/.svn'): + dpath = os.path.join(proxypath, d) + + if proxypath: + os.mkdir(dpath) + os.symlink(os.path.join(targetbasepath, d), os.path.join(dpath, pkgname)) + if addtosearch: + os.environ["JOBOPTSEARCHPATH"] = dpath+":"+os.environ["JOBOPTSEARCHPATH"] + os.environ["DATAPATH"] =os.path.join(targetbasepath, d)+":"+os.environ["DATAPATH"] + + os.environ["JOBOPTSEARCHPATH"] = os.environ['LOCAL_INSTALL_DIR']+":"+os.environ["JOBOPTSEARCHPATH"] + + ## Handle locating of evgen job options / fragments, either from a tarball or CVMFS if "evgenJobOpts" in self._trf.argdict: ## Use a specified JO tarball tarball = self._trf.argdict["evgenJobOpts"].value diff --git a/Generators/EvgenJobTransforms/scripts/Generate_tf.py b/Generators/EvgenJobTransforms/scripts/Generate_tf.py index 3b2645e5aeea29d04bec48aabd8ea294587d65dd..d06132bc750fdd5981ed5b058d8e51328ac3f4a4 100755 --- a/Generators/EvgenJobTransforms/scripts/Generate_tf.py +++ b/Generators/EvgenJobTransforms/scripts/Generate_tf.py @@ -1,8 +1,9 @@ #! /usr/bin/env python +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# """ -# Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration -Run event simulation and produce an EVNT file. +# Run event simulation and produce an EVNT file. """ import os, sys, time, shutil @@ -13,7 +14,7 @@ from PyJobTransforms.trfArgs import addAthenaArguments from PyJobTransforms.trfDecorators import stdTrfExceptionHandler, sigUsrStackTrace from EvgenJobTransforms.evgenTrfArgs import addStdEvgenArgs import PyJobTransforms.trfArgClasses as trfArgClasses -from EvgenJobTransforms.jo_proxy import mk_jo_proxy + ## Prodsys1 hack... # TODO: Remove! @@ -44,6 +45,49 @@ class EvgenExecutor(athenaExecutor): zf.extractall() zf.close() + def get_immediate_subdirectories(a_dir): + return [name for name in os.listdir(a_dir) + if os.path.isdir(os.path.join(a_dir, name))] + + def mk_jo_proxy(targetbasepath, pkgname, proxypath, addtosearch=True): + "Make a JO proxy dir such that the MCxxJobOptions/dddd dirs contents are found via include(MCxxJobOptions/yyyy)" + if proxypath: + if os.path.exists(proxypath): + shutil.rmtree(proxypath) + os.mkdir(proxypath) + os.environ['LOCAL_INSTALL_DIR'] = (os.environ['JOBOPTSEARCHPATH']).split(":")[0] + os.environ['LOCAL_DATA_DIR'] = (os.environ['DATAPATH']).split(":")[0] + + dirlist = get_immediate_subdirectories(targetbasepath) + subdirlist=dirlist; + for dd in (dirlist): + if (('.svn' not in dd) and ('cmt' not in dd) and ('_joproxy' not in dd)): + deepdir = os.path.join(targetbasepath, dd) + subdirlist1 = get_immediate_subdirectories(deepdir) + subdirlist = subdirlist+["%s" % dd+"/%s" % item for item in subdirlist1] + for d in (subdirlist): + # TODO: we could _maybe_ add the appropriate share/DSIDxxxx/ dir to the path based on the jobConfig arg... too much magic? + if (('.svn' not in d) and ('cmt' not in d) and ('_joproxy' not in d) and ('share/' not in d)): + dpath = os.path.join(proxypath, d) + if proxypath: + os.mkdir(dpath) + + if ('nonStandard' in dpath): + dpath_ex = os.path.join(dpath,pkgname) + if proxypath: + os.mkdir(dpath_ex) + + os.symlink(os.path.join(targetbasepath, d), os.path.join(dpath_ex, "nonStandard")) + else : + os.symlink(os.path.join(targetbasepath, d), os.path.join(dpath, pkgname)) + if addtosearch: + os.environ["JOBOPTSEARCHPATH"] = dpath+":"+os.environ["JOBOPTSEARCHPATH"] + os.environ["DATAPATH"] =os.path.join(targetbasepath, d)+":"+os.environ["DATAPATH"] + + os.environ["JOBOPTSEARCHPATH"] = os.environ['LOCAL_INSTALL_DIR']+":"+os.environ["JOBOPTSEARCHPATH"] + os.environ["DATAPATH"] = os.environ['LOCAL_DATA_DIR']+":"+os.environ["DATAPATH"] + + ## Handle locating of evgen job options / fragments, either from a tarball or CVMFS # read the JO used joparam = self._trf.argdict["jobConfig"].value @@ -180,16 +224,13 @@ def main(): msg.info("%s stopped at %s, trf exit code %d" % (sys.argv[0], time.asctime(), trf.exitCode)) -# if "outputTXTFile" in trf.argdict: -# whitelist_out.append('TXT') - # read files/dirs that should be saved and if present in cwd - remove if (("cleanOut" in trf.argdict) and (trf.argdict["cleanOut"].value!=0)): # print("mamy cleanOut !!!",trf.argdict["cleanOut"].value) whitelist_out = ['log.generate','.root'] if "outputTXTFile" in trf.argdict: - whitelist_out.append('TXT') + whitelist_out.append('TXT') if "saveList" in trf.argdict: saveList_dic= trf.argdict["saveList"].value saveList_str= str(saveList_dic) @@ -213,8 +254,16 @@ def main(): shutil.rmtree(tmp_dir, ignore_errors=True) # elif firstSaveList!=1: elif not saveList[0].isdigit(): - shutil.rmtree(tmp_dir, ignore_errors=True) - + shutil.rmtree(tmp_dir, ignore_errors=True) +# if cleanOut is not defined and multipleinput preset, remove the merged file + elif ("inputGeneratorFile" in trf.argdict): + myinputfiles = trf.argdict["inputGeneratorFile"].value + genInputFiles = myinputfiles.split(',') + numberOfFiles = len(genInputFiles) + merge_file = 'merged_lhef._0.events' + if((numberOfFiles>1) and (os.path.exists(merge_file))): + os.remove(merge_file) +# if (("lheOnly" in trf.argdict ) and (trf.argdict["lheOnly"].value == 1)): outputName = ''.join(trf.argdict["outputEVNTFile"].value) os.remove(outputName) diff --git a/Generators/EvgenJobTransforms/share/skeleton.GENtoEVGEN.py b/Generators/EvgenJobTransforms/share/skeleton.GENtoEVGEN.py index ac90513e3feca7730be3047ebcc4229000f36fc3..5a16b4638818a817b7959692e12bad80b27b07cb 100644 --- a/Generators/EvgenJobTransforms/share/skeleton.GENtoEVGEN.py +++ b/Generators/EvgenJobTransforms/share/skeleton.GENtoEVGEN.py @@ -1,4 +1,5 @@ -# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# """Functionality core of the Generate_tf transform""" ##============================================================== @@ -7,6 +8,7 @@ ## Create sequences for generators, clean-up algs, filters and analyses ## and import standard framework objects with standard local scope names +import ast import os, re, string, subprocess import AthenaCommon.AlgSequence as acas import AthenaCommon.AppMgr as acam @@ -52,6 +54,10 @@ svcMgr += AtRanluxGenSvc() ## Jobs should stop if an include fails. jobproperties.AthenaCommonFlags.AllowIgnoreConfigError = False +## Compatibility with jets +from RecExConfig.RecConfFlags import jobproperties +jobproperties.RecConfFlags.AllowBackNavigation = True + ## Set up a standard logger from AthenaCommon.Logging import logging evgenLog = logging.getLogger('Generate') @@ -259,10 +265,10 @@ if joparts[0].startswith("MC"): #< if this is an "official" JO # TODO: add EvtGen to this normalization for MC14? return s.replace("Photospp", "").replace("Photos", "").replace("TauolaPP", "").replace("Tauolapp", "").replace("Tauola", "") def _norm2(s): - return s.replace("Py", "Pythia").replace("MG","MadGraph").replace("Ph","Powheg").replace("Hpp","Herwigpp").replace("H7","Herwig7").replace("Sh","Sherpa").replace("Ag","Alpgen").replace("EG","EvtGen").replace("PG","ParticleGun") + return s.replace("Py", "Pythia").replace("MG","MadGraph").replace("Ph","Powheg").replace("Hpp","Herwigpp").replace("H7","Herwig7").replace("Sh","Sherpa").replace("Ag","Alpgen").replace("EG","EvtGen").replace("PG","ParticleGun").replace("Gva","Geneva") def _short2(s): - return s.replace("Pythia","Py").replace("MadGraph","MG").replace("Powheg","Ph").replace("Herwigpp","Hpp").replace("Herwig7","H7").replace("Sherpa","Sh").replace("Alpgen","Ag").replace("EvtGen","EG").replace("PG","ParticleGun") + return s.replace("Pythia","Py").replace("MadGraph","MG").replace("Powheg","Ph").replace("Herwigpp","Hpp").replace("Herwig7","H7").replace("Sherpa","Sh").replace("Alpgen","Ag").replace("EvtGen","EG").replace("PG","ParticleGun").replace("Geneva","Gva") # if genpart != expectedgenpart and _norm(genpart) != _norm(expectedgenpart) and _norm2(genpart) != expectedgenpart and _norm2(genpart) != _norm(expectedgenpart): # evgenLog.error("Expected first part of JO name to be '%s' or '%s' or '%s', but found '%s'" % (_norm(expectedgenpart), expectedgenpart, _short2(expectedgenpart), genpart)) @@ -290,7 +296,7 @@ if gen_require_steering(gennames): ## Check that the evgenConfig.minevents setting is acceptable -## minevents defines the production event sizes and must be sufficiently "round" +## minevents defines the production event sizes and must be sufficiently "round" rounding = 0 if hasattr(runArgs,'inputGeneratorFile') and ',' in runArgs.inputGeneratorFile: multiInput = runArgs.inputGeneratorFile.count(',')+1 else: @@ -301,39 +307,39 @@ if evgenConfig.minevents < 1: else: allowed_minevents_lt1000 = [1, 2, 5, 10, 20, 25, 50, 100, 200, 500, 1000] msg = "evgenConfig.minevents = %d: " % evgenConfig.minevents - if multiInput !=0 : - dummy_minevents = evgenConfig.minevents*(multiInput) - evgenLog.info('Replacing input minevents '+str(evgenConfig.minevents)+' with calculated '+str(dummy_minevents)) - evgenConfig.minevents = dummy_minevents +# introduced due to PRODSYS-788, commented out on 06.07.18 obo Dominic +# if multiInput !=0 : +# dummy_minevents = evgenConfig.minevents*(multiInput) +# evgenLog.info('Replacing input minevents '+str(evgenConfig.minevents)+' with calculated '+str(dummy_minevents)) +# evgenConfig.minevents = dummy_minevents if evgenConfig.minevents >= 1000 and evgenConfig.minevents % 1000 != 0: - rest1000 = evgenConfig.minevents % 1000 - if multiInput !=0 : - rounding=1 - if rest1000 < 1000-rest1000: - evgenLog.info('Replacing minevents '+str(evgenConfig.minevents)+' with roundeded '+str(evgenConfig.minevents-rest1000)) - evgenConfig.minevents = evgenConfig.minevents-rest1000 - else: - evgenLog.info('Replacing input minevents '+str(evgenConfig.minevents)+' with calculated '+str(evgenConfig.minevents-rest1000+1000)) - evgenConfig.minevents = evgenConfig.minevents-rest1000+1000 - else: +# introduced due to PRODSYS-788, commented out on 06.07.18 obo Dominic +# rest1000 = evgenConfig.minevents % 1000 +# if multiInput !=0 : +# rounding=1 +# if rest1000 < 1000-rest1000: +# evgenLog.info('Replacing minevents '+str(evgenConfig.minevents)+' with roundeded '+str(evgenConfig.minevents-rest1000)) +# evgenConfig.minevents = evgenConfig.minevents-rest1000 +# else: +# evgenLog.info('Replacing input minevents '+str(evgenConfig.minevents)+' with calculated '+str(evgenConfig.minevents-rest1000+1000)) +# evgenConfig.minevents = evgenConfig.minevents-rest1000+1000 +# else: msg += "minevents in range >= 1000 must be a multiple of 1000" raise RuntimeError(msg) elif evgenConfig.minevents < 1000 and evgenConfig.minevents not in allowed_minevents_lt1000: - if multiInput !=0: - rounding=1 -# minimum_list = [abs(variable - evgenConfig.minevents) for variable in allowed_minevents_lt1000] -# from operator import itemgetter -# evgenLog.info("Minimum list: %s" % minimum_list) -# evgenLog.info("index of the min. value: " + str(min(enumerate(minimum_list), key=itemgetter(1))[0]) + " and the value is: " + str(allowed_minevents_lt1000[min(enumerate(minimum_list), key=itemgetter(1))[0]])) - round_minevents=min(allowed_minevents_lt1000,key=lambda x:abs(x-evgenConfig.minevents)) - evgenLog.info('Replacing minevents lt 1000 '+str(evgenConfig.minevents)+' with rounded '+str(round_minevents)) - evgenConfig.minevents=round_minevents - else: +# introduced due to PRODSYS-788, commented out on 06.07.18 obo Dominic +# if multiInput !=0: +# rounding=1 +# round_minevents=min(allowed_minevents_lt1000,key=lambda x:abs(x-evgenConfig.minevents)) +# evgenLog.info('Replacing minevents lt 1000 '+str(evgenConfig.minevents)+' with rounded '+str(round_minevents)) +# evgenConfig.minevents=round_minevents +# else: msg += "minevents in range <= 1000 must be one of %s" % allowed_minevents_lt1000 raise RuntimeError(msg) # else: - postSeq.CountHepMC.RequestedOutput = evgenConfig.minevents if runArgs.maxEvents == -1 or rounding==1 else runArgs.maxEvents +# postSeq.CountHepMC.RequestedOutput = evgenConfig.minevents if runArgs.maxEvents == -1 or rounding==1 else runArgs.maxEvents + postSeq.CountHepMC.RequestedOutput = evgenConfig.minevents if runArgs.maxEvents == -1 else runArgs.maxEvents evgenLog.info('Requested output events '+str(postSeq.CountHepMC.RequestedOutput)) ## Check that the keywords are in the list of allowed words (and exit if processing an official JO) @@ -368,6 +374,51 @@ if evgenConfig.keywords: else: evgenLog.warning("Could not find evgenkeywords.txt file %s in $JOBOPTSEARCHPATH" % kwfile) +## Check that the L1 and L2 keywords pairs are in the list of allowed words pairs (and exit if processing an official JO) +if evgenConfig.categories: + ## Get the allowed categories file from the JO package if possibe + # TODO: Make the package name configurable + lkwfile = "MC15JobOptions/CategoryList.txt" + lkwpath = None + for p in os.environ["JOBOPTSEARCHPATH"].split(":"): + lkwpath = os.path.join(p, lkwfile) + if os.path.exists(lkwpath): + break + lkwpath = None +## Load the allowed categories names from the file + allowed_cat = [] + if lkwpath: + with open(lkwpath, 'r') as catlist: + for line in catlist: + allowed_list = ast.literal_eval(line) + allowed_cat.append(allowed_list) +# Print allowed categories and categories read from the JOs +# print "allowed categories", allowed_list +# print "evgenConfig.categories", evgenConfig.categories + + ## Check the JO categories against the allowed ones + bad_cat =[] + it = iter(evgenConfig.categories) + for x in it: + l1 = x + l2 = next(it) + if "L1:" in l2 and "L2:" in l1: + l1, l2 = l2, l1 + print "first",l1,"second",l2 + bad_cat.extend([l1, l2]) + for a1,a2 in allowed_cat: +# print "a1 ",a1,"l1 ",l1, "a2 ",a2,"l2 ",l2 + if l1.strip().lower()==a1.strip().lower() and l2.strip().lower()==a2.strip().lower(): + bad_cat=[] + if bad_cat: + msg = "evgenConfig.categories contains non-standard category: %s. " % ", ".join(bad_cat) + msg += "Please check the allowed categories list and fix." + evgenLog.error(msg) + if officialJO: + sys.exit(1) + else: + evgenLog.warning("Could not find CategoryList.txt file %s in $JOBOPTSEARCHPATH" % lkwfile) + ## Configure and schedule jet finding algorithms ## NOTE: This generates algorithms for jet containers defined in the user's JO fragment if evgenConfig.findJets: @@ -662,12 +713,14 @@ if _checkattr("description", required=True): msg += " " + evgenConfig.notes print "MetaData: %s = %s" % ("physicsComment", msg) if _checkattr("generators", required=True): +# print "MetaData: %s = %s" % ("generatorName", "+".join(gennames)) gennamesvers=[] for item in gennames: genera = item.upper() generat = genera+"VER" if (generat in os.environ): gennamesvers.append(item+"(v."+os.environ[generat]+")") +# gennamesvers.append(item+"."+os.environ[generat]) else: gennamesvers.append(item) print "MetaData: %s = %s" % ("generatorName", "+".join(gennamesvers)) @@ -681,6 +734,8 @@ if _checkattr("softPDF"): print "MetaData: %s = %s" % ("softPDF", evgenConfig.softPDF) if _checkattr("keywords"): print "MetaData: %s = %s" % ("keywords", ", ".join(evgenConfig.keywords).lower()) +if _checkattr("categories"): + print "MetaData: %s = %s" % ("categories", ", ".join(evgenConfig.categories)) if _checkattr("specialConfig"): print "MetaData: %s = %s" % ("specialConfig", evgenConfig.specialConfig) # TODO: Require that a contact / JO author is always set diff --git a/Generators/EvgenJobTransforms/test/test_epos.sh b/Generators/EvgenJobTransforms/test/test_epos.sh index a3a6bffd1fb58cc86edd552cca45d973c5500138..c5ee969f32e43aa1f80c49ae266f8a90aeb04c2a 100755 --- a/Generators/EvgenJobTransforms/test/test_epos.sh +++ b/Generators/EvgenJobTransforms/test/test_epos.sh @@ -10,7 +10,7 @@ Generate_tf.py --ecmEnergy=8000 --runNumber=129080 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC14JobOptions/latest/share/tests/MC14.129080.Epos_minbias_inelastic.py \ --outputEVNTFile=test_epos_minbias_inelastic.EVNT.pool.root \ -rm -fr _joproxy14 echo "art-result: $? generate" +rm -fr _joproxy14 diff --git a/Generators/EvgenJobTransforms/test/test_herwig7_minbias.sh b/Generators/EvgenJobTransforms/test/test_herwig7_minbias.sh index 3479c3ec21a4c9b58d982df5887c7811e2ad13f6..c259cd21096442d8c3edc500bb5dc831a14cb3f0 100755 --- a/Generators/EvgenJobTransforms/test/test_herwig7_minbias.sh +++ b/Generators/EvgenJobTransforms/test/test_herwig7_minbias.sh @@ -10,8 +10,10 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=429700 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID429xxx/MC15.429700.Herwig7_MinBias.py \ --outputEVNTFile=test_herwig7_minbias_inelastic.EVNT.pool.root \ +echo "art-result: $? generate" + rm -rf _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_herwig7_zjets.sh b/Generators/EvgenJobTransforms/test/test_herwig7_zjets.sh index 42bfeb4c989b00ebeefbd2cfe51908941f72e638..654b4d7d94433df26123d396de7d4c876a6acdb2 100755 --- a/Generators/EvgenJobTransforms/test/test_herwig7_zjets.sh +++ b/Generators/EvgenJobTransforms/test/test_herwig7_zjets.sh @@ -10,7 +10,8 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=429721 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID429xxx/MC15.429721.Herwig7_H7UE_MMHT2014lo68cl_Zjets.py \ --outputEVNTFile=test_herwig7_zjets_inelastic.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_herwig7dijet.sh b/Generators/EvgenJobTransforms/test/test_herwig7dijet.sh index b775582946b3d9103e2caa0275a5eed1f2e0e6f0..7e2a77756b3c45a1aeee108660dfd3a06af6ce26 100755 --- a/Generators/EvgenJobTransforms/test/test_herwig7dijet.sh +++ b/Generators/EvgenJobTransforms/test/test_herwig7dijet.sh @@ -10,6 +10,7 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=429699 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID429xxx/MC15.429699.Herwig7_Dijet.py \ --outputEVNTFile=test_herwig7_dijet.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_mgpythia8_Zmumu.sh b/Generators/EvgenJobTransforms/test/test_mgpythia8_Zmumu.sh index 49127b78300bd79f3545460ff4067a32ca2ad12e..d5519127aaa217d8558625e3f04dd3fffef5bf5b 100755 --- a/Generators/EvgenJobTransforms/test/test_mgpythia8_Zmumu.sh +++ b/Generators/EvgenJobTransforms/test/test_mgpythia8_Zmumu.sh @@ -12,6 +12,7 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=361505 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID361xxx/MC15.361505.MadGraphPythia8EvtGen_A14NNPDF23LO_Zmumu_Np0.py \ --outputEVNTFile=test_mgpythia8_Zmumu.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_mgpythia8_ttW.sh b/Generators/EvgenJobTransforms/test/test_mgpythia8_ttW.sh index 462325c94fd3178e05f60505b456a37053ed45ca..6e8d90c6576feef7e487abff897ff4d3d154f73d 100755 --- a/Generators/EvgenJobTransforms/test/test_mgpythia8_ttW.sh +++ b/Generators/EvgenJobTransforms/test/test_mgpythia8_ttW.sh @@ -12,6 +12,7 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=410066 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID410xxx/MC15.410066.MadGraphPythia8EvtGen_A14NNPDF23LO_ttW_Np0.py \ --outputEVNTFile=test_mgpythia8_ttW.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_ph8TauolappEG_ztautau.sh b/Generators/EvgenJobTransforms/test/test_ph8TauolappEG_ztautau.sh index e0e3926adfeb20afd32704fca4bb19ec6ab399b7..ea89e0a0e8c2216e5641882cdd2f946a231d7dd2 100755 --- a/Generators/EvgenJobTransforms/test/test_ph8TauolappEG_ztautau.sh +++ b/Generators/EvgenJobTransforms/test/test_ph8TauolappEG_ztautau.sh @@ -11,9 +11,10 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=429697 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID429xxx/MC15.429697.Pythia8EvtGen_A14NNPDF23LO_DYtautau_120M180.py \ --outputEVNTFile=test_DYZtautau.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_powheg_pythia_evtgen_wt.sh b/Generators/EvgenJobTransforms/test/test_powheg_pythia_evtgen_wt.sh index de48d7830d97081f088d05c0b2aba963a4fb94b7..a0e2bde15a5331b7a667d1e8281a237b52cefb04 100755 --- a/Generators/EvgenJobTransforms/test/test_powheg_pythia_evtgen_wt.sh +++ b/Generators/EvgenJobTransforms/test/test_powheg_pythia_evtgen_wt.sh @@ -11,8 +11,9 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=410013 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID410xxx/MC15.410013.PowhegPythiaEvtGen_P2012_Wt_inclusive_top.py --steering=afterburn \ --outputEVNTFile=test_powheg_wt_inelastic.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_powheg_ttbar.sh b/Generators/EvgenJobTransforms/test/test_powheg_ttbar.sh index 984a7ef414e3204071825adc61fed297a90abb51..b198c13b2640f6e83c7bf048a6465db85de27d56 100755 --- a/Generators/EvgenJobTransforms/test/test_powheg_ttbar.sh +++ b/Generators/EvgenJobTransforms/test/test_powheg_ttbar.sh @@ -10,7 +10,8 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=410006 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID410xxx/MC15.410006.PowhegPythia8EvtGen_A14_ttbar_hdamp172p5_nonallhad.py \ --outputEVNTFile=test_powheg_ttbar.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_powheg_wenu.sh b/Generators/EvgenJobTransforms/test/test_powheg_wenu.sh index 63b45185daed0a38196c86a1b0a638828f27a146..7e882608d1ce2a7ca099274c4bf7eea0479d4eb6 100755 --- a/Generators/EvgenJobTransforms/test/test_powheg_wenu.sh +++ b/Generators/EvgenJobTransforms/test/test_powheg_wenu.sh @@ -11,8 +11,9 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=361100 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID361xxx/MC15.361100.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Wplusenu.py \ --outputEVNTFile=test_powheg_wenu_inelastic.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_powhegpy8TauolaPPEG.sh b/Generators/EvgenJobTransforms/test/test_powhegpy8TauolaPPEG.sh index 716fbc5e7a68a9e5913655f54a717aff95cee981..853754d3b010899146650035ae2c59e2622176d9 100755 --- a/Generators/EvgenJobTransforms/test/test_powhegpy8TauolaPPEG.sh +++ b/Generators/EvgenJobTransforms/test/test_powhegpy8TauolaPPEG.sh @@ -10,8 +10,9 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=429696 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID429xxx/MC15.429696.PowhegPythia8EvtGen_AZNLOCTEQ6L1_Ztautau.py \ --outputEVNTFile=test_JZ0_evtgen.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_pythia8_minbias.sh b/Generators/EvgenJobTransforms/test/test_pythia8_minbias.sh index 97cb2f038729d5a43ea5d4b89576d1eb73d36883..fbb307c70cc6846405444a2c3214ae390597c2fc 100755 --- a/Generators/EvgenJobTransforms/test/test_pythia8_minbias.sh +++ b/Generators/EvgenJobTransforms/test/test_pythia8_minbias.sh @@ -13,7 +13,7 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=361033 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID361xxx/MC15.361033.Pythia8EvtGen_A2MSTW2008LO_minbias_inelastic.py \ --outputEVNTFile=test_minbias_inelastic.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" #rm -fr MC15.361033.Pythia8EvtGen_A2MSTW2008LO_minbias_inelastic.py diff --git a/Generators/EvgenJobTransforms/test/test_pythia8_minbias_high.sh b/Generators/EvgenJobTransforms/test/test_pythia8_minbias_high.sh index e9803e5a0e32887b3b0b09dcf5dd8cbe9d8d1e42..11775b422bff5879b1d5faeccbd50699b228d029 100755 --- a/Generators/EvgenJobTransforms/test/test_pythia8_minbias_high.sh +++ b/Generators/EvgenJobTransforms/test/test_pythia8_minbias_high.sh @@ -11,8 +11,8 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=361035 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID361xxx/MC15.361035.Pythia8EvtGen_A2MSTW2008LO_minbias_inelastic_high.py \ --outputEVNTFile=test_minbias_high.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" diff --git a/Generators/EvgenJobTransforms/test/test_pythia8_powheg.sh b/Generators/EvgenJobTransforms/test/test_pythia8_powheg.sh index 454392130913db0ec19619977194dc9b03eedc46..f779c3fbd9937f243718e8c8b80857fb488075fa 100755 --- a/Generators/EvgenJobTransforms/test/test_pythia8_powheg.sh +++ b/Generators/EvgenJobTransforms/test/test_pythia8_powheg.sh @@ -12,6 +12,7 @@ Generate_tf.py --ecmEnergy=8000 --runNumber=429695 --maxEvents=10 \ --inputGeneratorFile=/afs/cern.ch/atlas/offline/ProdData/17.2.X/group.phys-gener.Powheg_CT10.147800.Wplusenu_8TeV.TXT.mc12_v2._00001.tar.gz \ --outputEVNTFile=test_powhegpythia8_Wpluswnu.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_pythia8_ztautau.sh b/Generators/EvgenJobTransforms/test/test_pythia8_ztautau.sh index 8d3df7798e766c3da2c9a0c28aeb5fdd569d4354..f92b789b71886be9edc5ead8f8fe986aacab51ce 100755 --- a/Generators/EvgenJobTransforms/test/test_pythia8_ztautau.sh +++ b/Generators/EvgenJobTransforms/test/test_pythia8_ztautau.sh @@ -11,6 +11,7 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=429708 --maxEvents=10 \ --jobConfig=/afs/cern.ch/atlas/groups/Generators/MC15JobOptions/latest/share/DSID429xxx/MC15.429708.Pythia8EvtGen_A14NNPDF23LO_Ztautau.py \ --outputEVNTFile=test_Ztautau.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_qgsjet.sh b/Generators/EvgenJobTransforms/test/test_qgsjet.sh index ba3a92119617062e6bc59357c1752baa9cb5cc7e..1d5351637504954a8d9984ba121f8c8ab47fc20a 100755 --- a/Generators/EvgenJobTransforms/test/test_qgsjet.sh +++ b/Generators/EvgenJobTransforms/test/test_qgsjet.sh @@ -11,8 +11,9 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=361235 --maxEvents=10 \ --jobConfig=/cvmfs/atlas.cern.ch/repo/sw/Generators/MC15JobOptions/latest/share/DSID361xxx/MC15.361235.QGSJet_minbias_inelastic.py \ --outputEVNTFile=test_qgsjet_minbias_inelastic.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy15 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_sherpa_dy.sh b/Generators/EvgenJobTransforms/test/test_sherpa_dy.sh index 3b810e17c3cbf03b1592da24ca38b1c4cb2760a9..bca75324e4826081ddfeadee0dfa9ee404d58843 100755 --- a/Generators/EvgenJobTransforms/test/test_sherpa_dy.sh +++ b/Generators/EvgenJobTransforms/test/test_sherpa_dy.sh @@ -11,7 +11,8 @@ Generate_tf.py --ecmEnergy=13000 --runNumber=191919 --maxEvents=10 \ --jobConfig=/afs/cern.ch/atlas/groups/Generators/MC14JobOptions/latest/share/tests/MC14.191919.Sherpa_NNPDF30NNLO_DrellYan.py \ --outputEVNTFile=test_sherpa_dy_inelastic.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy14 -echo "art-result: $? generate" + diff --git a/Generators/EvgenJobTransforms/test/test_single.sh b/Generators/EvgenJobTransforms/test/test_single.sh index ee298704f4441defe128453172c04153289b37e2..b5f4eb07153e061622deb253af47de4bb596404d 100755 --- a/Generators/EvgenJobTransforms/test/test_single.sh +++ b/Generators/EvgenJobTransforms/test/test_single.sh @@ -11,9 +11,10 @@ Generate_tf.py --ecmEnergy=8000 --runNumber=999999 --maxEvents=10 \ --jobConfig=/afs/cern.ch/atlas/groups/Generators/MC14JobOptions/latest/share/tests/MC14.999999.ParticleGun_single_nu.py \ --outputEVNTFile=test_single_nu.EVNT.pool.root \ +echo "art-result: $? generate" rm -fr _joproxy14 -echo "art-result: $? generate" + diff --git a/Generators/EvtGen_i/CMakeLists.txt b/Generators/EvtGen_i/CMakeLists.txt index cbe2d6dd5114effed937920b7ec412ec1a2a2aff..21e1f4b07ed6cd50fa868cd80af9ad78eba799e6 100644 --- a/Generators/EvtGen_i/CMakeLists.txt +++ b/Generators/EvtGen_i/CMakeLists.txt @@ -67,3 +67,8 @@ atlas_add_component( EvtGen_i atlas_install_joboptions( share/*.py ) atlas_install_runtime( share/*.DEC share/*.table share/*.dec share/*.pdt share/*.dat ) +set( EvtGenEnvironment_DIR ${CMAKE_CURRENT_SOURCE_DIR} + CACHE PATH "Location of EvtGenEnvironment.cmake" ) +find_package( EvtGenEnvironment ) + + diff --git a/Generators/EvtGen_i/EvtGenEnvironmentConfig.cmake b/Generators/EvtGen_i/EvtGenEnvironmentConfig.cmake new file mode 100644 index 0000000000000000000000000000000000000000..1459ce76c9163ca2101f9f3dcdae1ef44634faf7 --- /dev/null +++ b/Generators/EvtGen_i/EvtGenEnvironmentConfig.cmake @@ -0,0 +1,18 @@ +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# +# This module is used to set up the environment for EvtGen +# +# + +# Set the environment variable(s): +find_package( EvtGen ) + +if( EVTGEN_FOUND ) + set( EVTGENENVIRONMENT_ENVIRONMENT + FORCESET EVTGENVER ${EVTGEN_VERSION} ) +endif() + +# Silently declare the module found: +set( EVTGENENVIRONMENT_FOUND TRUE ) + + diff --git a/Generators/Herwig7_i/Herwig7EnvironmentConfig.cmake b/Generators/Herwig7_i/Herwig7EnvironmentConfig.cmake index 0752df9a193f19330af1ea57dd5645254ae3c7bb..8cc592826481d8242f7dad132827f81f4088e7b7 100644 --- a/Generators/Herwig7_i/Herwig7EnvironmentConfig.cmake +++ b/Generators/Herwig7_i/Herwig7EnvironmentConfig.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration # # This module is used to set up the environment for Herwig7 # @@ -6,11 +6,14 @@ # Set the environment variable(s): find_package( Herwig3 ) +find_package ( ThePEG ) -if( HERWIG3_FOUND ) +if( HERWIG3_FOUND AND THEPEG_FOUND ) get_filename_component( _herwig3Path "${HERWIG3_ROOT}" DIRECTORY ) set( HERWIG7ENVIRONMENT_ENVIRONMENT - FORCESET HERWIG7_PATH ${_herwig3Path}/${LCG_PLATFORM} ) + FORCESET HERWIG7_PATH ${_herwig3Path}/${LCG_PLATFORM} + FORCESET HERWIG7VER ${HERWIG3_VERSION} + FORCESET THEPEGVER ${THEPEG_VERSION}) unset( _herwig3Path ) endif() diff --git a/Generators/MadGraphControl/MadGraphControlEnvironmentConfig.cmake b/Generators/MadGraphControl/MadGraphControlEnvironmentConfig.cmake index 82479e593d3c68b0cb18c595a4c6a0329bdd9a44..fb5c7a7f8658d1fe99f864181fa1bc0e4bb7cbba 100644 --- a/Generators/MadGraphControl/MadGraphControlEnvironmentConfig.cmake +++ b/Generators/MadGraphControl/MadGraphControlEnvironmentConfig.cmake @@ -7,10 +7,11 @@ # Set the environment variable(s): find_package( FastJet ) -if( FASTJET_FOUND ) +if( FASTJET_FOUND AND MADGRAPH_FOUND ) get_filename_component( _fastjetPath "${FASTJET_INCLUDE_DIR}" DIRECTORY ) set( MADGRAPHCONTROLENVIRONMENT_ENVIRONMENT - FORCESET FASTJETPATH ${_fastjetPath} ) + FORCESET FASTJETPATH ${_fastjetPath} + FORCESET MADGRAPHVER ${MADGRAPH5AMC_VERSION}) unset( _fastjetPath ) endif() diff --git a/Generators/Photospp_i/CMakeLists.txt b/Generators/Photospp_i/CMakeLists.txt index 4544311cea3bbaa2ed079b5722c3efa7848ae674..9cfc34b30ed4fdc0b0c208313187e739428aa8c4 100644 --- a/Generators/Photospp_i/CMakeLists.txt +++ b/Generators/Photospp_i/CMakeLists.txt @@ -44,3 +44,7 @@ atlas_add_component( Photospp_i # Install files from the package: atlas_install_joboptions( share/*.py ) +set( PhotosppEnvironment_DIR ${CMAKE_CURRENT_SOURCE_DIR} + CACHE PATH "Location of PhotosppEnvironment.cmake" ) +find_package( PhotosppEnvironment ) + diff --git a/Generators/Photospp_i/PhotosppEnvironmentConfig.cmake b/Generators/Photospp_i/PhotosppEnvironmentConfig.cmake new file mode 100644 index 0000000000000000000000000000000000000000..f561d30d1efe43d860999050c05d62c3374b0cf2 --- /dev/null +++ b/Generators/Photospp_i/PhotosppEnvironmentConfig.cmake @@ -0,0 +1,17 @@ +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# +# This module is used to set up the environment for Photospp +# +# + +# Set the environment variable(s): +find_package( Photospp ) + +if( PHOTOSPP_FOUND ) + set( PHOTOSPPENVIRONMENT_ENVIRONMENT + FORCESET PHOTOSPPVER ${PHOTOSPP_VERSION}) +endif() + +# Silently declare the module found: +set( PHOTOSPPENVIRONMENT_FOUND TRUE ) + diff --git a/Generators/Pythia8_i/CMakeLists.txt b/Generators/Pythia8_i/CMakeLists.txt index f5699dc3b16a61c3d02c050bbdba38330269165a..3ba9a3724b04db54c20845622497b94f55a67da2 100644 --- a/Generators/Pythia8_i/CMakeLists.txt +++ b/Generators/Pythia8_i/CMakeLists.txt @@ -75,3 +75,6 @@ atlas_add_component( Pythia8_i # Install files from the package: atlas_install_joboptions( share/*.py ) +set( Pythia8Environment_DIR ${CMAKE_CURRENT_SOURCE_DIR} + CACHE PATH "Location of Pythia8Environment.cmake" ) +find_package( Pythia8Environment ) diff --git a/Generators/Pythia8_i/Pythia8EnvironmentConfig.cmake b/Generators/Pythia8_i/Pythia8EnvironmentConfig.cmake new file mode 100644 index 0000000000000000000000000000000000000000..3cd161210343ce00eb8f69418bc39ad9d3d7d58d --- /dev/null +++ b/Generators/Pythia8_i/Pythia8EnvironmentConfig.cmake @@ -0,0 +1,19 @@ +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# +# This module is used to set up the environment for Pythia8 +# +# + +# Set the environment variable(s): +find_package( Pythia8 ) +find_package( Lhapdf ) + +if( PYTHIA8_FOUND AND LHAPDF_FOUND ) + set( PYTHIA8ENVIRONMENT_ENVIRONMENT + FORCESET PYTHIA8VER ${PYTHIA8_VERSION} + FORCESET LHAPDFVER ${LHAPDF_VERSION} ) +endif() + +# Silently declare the module found: +set( PYTHIA8ENVIRONMENT_FOUND TRUE ) + diff --git a/Generators/QGSJet_i/CMakeLists.txt b/Generators/QGSJet_i/CMakeLists.txt index 26c660914d307ba56b28104961172b2904453601..4f52c3a7b0498b05a21c5aac519eb6b5ba66333b 100644 --- a/Generators/QGSJet_i/CMakeLists.txt +++ b/Generators/QGSJet_i/CMakeLists.txt @@ -42,3 +42,6 @@ atlas_add_component( QGSJet_i # Install files from the package: atlas_install_runtime( share/qgsjet_crmc.param ) +set( QGSJetEnvironment_DIR ${CMAKE_CURRENT_SOURCE_DIR} + CACHE PATH "Location of QGSJetEnvironment.cmake" ) +find_package( QGSJetEnvironment ) diff --git a/Generators/QGSJet_i/QGSJetEnvironmentConfig.cmake b/Generators/QGSJet_i/QGSJetEnvironmentConfig.cmake new file mode 100644 index 0000000000000000000000000000000000000000..6aea6aaa23f19bfce20391fcff2a69906d9670a4 --- /dev/null +++ b/Generators/QGSJet_i/QGSJetEnvironmentConfig.cmake @@ -0,0 +1,18 @@ +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# +# This module is used to set up the environment for QGSJet +# +# + +# Set the environment variable(s): +find_package( CRMC ) + +if( CRMC_FOUND ) + set( QGSJETENVIRONMENT_ENVIRONMENT + FORCESET QGSJETVER ${CRMC_VERSION} ) +endif() + +# Silently declare the module found: +set( QGSJETENVIRONMENT_FOUND TRUE ) + + diff --git a/Generators/Rivet_i/CMakeLists.txt b/Generators/Rivet_i/CMakeLists.txt index c018ff34c60f1fe4c889e9b8048e03cc51428d23..892ad2bc958113261bb121679f80631970167890 100644 --- a/Generators/Rivet_i/CMakeLists.txt +++ b/Generators/Rivet_i/CMakeLists.txt @@ -40,3 +40,6 @@ atlas_add_component( Rivet_i INCLUDE_DIRS ${Boost_INCLUDE_DIRS} ${ROOT_INCLUDE_DIRS} ${HEPMC_INCLUDE_DIRS} ${YODA_INCLUDE_DIRS} ${FASTJET_INCLUDE_DIRS} ${RIVET_INCLUDE_DIRS} ${GSL_INCLUDE_DIRS} LINK_LIBRARIES ${Boost_LIBRARIES} ${GSL_LIBRARIES} ${ROOT_LIBRARIES} ${HEPMC_LIBRARIES} ${YODA_LIBRARIES} ${FASTJET_LIBRARIES} ${RIVET_LIBRARIES} AthenaBaseComps GaudiKernel AthenaKernel GeneratorObjects PathResolver Rivet_iLib ) +set( RivetEnvironment_DIR ${CMAKE_CURRENT_SOURCE_DIR} + CACHE PATH "Location of RivetEnvironment.cmake" ) +find_package( RivetEnvironment ) diff --git a/Generators/Rivet_i/RivetEnvironmentConfig.cmake b/Generators/Rivet_i/RivetEnvironmentConfig.cmake new file mode 100644 index 0000000000000000000000000000000000000000..044de29ec62e41b70af3dfae2b0fa6cf11052311 --- /dev/null +++ b/Generators/Rivet_i/RivetEnvironmentConfig.cmake @@ -0,0 +1,20 @@ +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# +# This module is used to set up the environment for Rivet +# +# + +# Set the environment variable(s): +find_package( Rivet ) +find_package( Yoda ) + +if( RIVET_FOUND AND YODA_FOUND ) + set( RIVETENVIRONMENT_ENVIRONMENT + FORCESET RIVETVER ${RIVET_VERSION} + FORCESET YODAVER ${YODA_VERSION}) +endif() + +# Silently declare the module found: +set( RIVETENVIRONMENT_FOUND TRUE ) + + diff --git a/Generators/Sherpa_i/CMakeLists.txt b/Generators/Sherpa_i/CMakeLists.txt index d90d8d3dfdbcee489ddb60ecde222c1fc55270f5..3daccaa57a25f3d9d3c343622cd2c088d208b9c3 100644 --- a/Generators/Sherpa_i/CMakeLists.txt +++ b/Generators/Sherpa_i/CMakeLists.txt @@ -39,3 +39,7 @@ atlas_add_component( Sherpa_i add_definitions(-DSHERPA_ROOT="${SHERPA_ROOT}") atlas_install_joboptions( share/common/*.py ) + +set( SherpaEnvironment_DIR ${CMAKE_CURRENT_SOURCE_DIR} + CACHE PATH "Location of SherpaEnvironment.cmake" ) +find_package( SherpaEnvironment ) diff --git a/Generators/Sherpa_i/SherpaEnvironmentConfig.cmake b/Generators/Sherpa_i/SherpaEnvironmentConfig.cmake new file mode 100644 index 0000000000000000000000000000000000000000..e493adf490a29fe3e5d78d404a5ce0c2a63adeab --- /dev/null +++ b/Generators/Sherpa_i/SherpaEnvironmentConfig.cmake @@ -0,0 +1,18 @@ +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# +# This module is used to set up the environment for Sherpa +# +# + +# Set the environment variable(s): +find_package( Sherpa ) + +if( SHERPA_FOUND ) + set( SHERPAENVIRONMENT_ENVIRONMENT + FORCESET SHERPAVER ${SHERPA_VERSION} ) +endif() + +# Silently declare the module found: +set( SHERPAENVIRONMENT_FOUND TRUE ) + + diff --git a/Generators/Starlight_i/CMakeLists.txt b/Generators/Starlight_i/CMakeLists.txt index 77e71a2504d67e65f272294b2814ce9410fdc2e8..7048762e1ca92d90cceb9a3d703c97611d7f0a98 100644 --- a/Generators/Starlight_i/CMakeLists.txt +++ b/Generators/Starlight_i/CMakeLists.txt @@ -42,3 +42,8 @@ atlas_add_component( Starlight_i # Install files from the package: atlas_install_joboptions( share/*.py ) + +set( StarlightEnvironment_DIR ${CMAKE_CURRENT_SOURCE_DIR} + CACHE PATH "Location of StarlightEnvironment.cmake" ) +find_package( StarlightEnvironment ) + diff --git a/Generators/Starlight_i/StarlightEnvironmentConfig.cmake b/Generators/Starlight_i/StarlightEnvironmentConfig.cmake new file mode 100644 index 0000000000000000000000000000000000000000..6d138e4a3ed77c60199eca426365727c005df889 --- /dev/null +++ b/Generators/Starlight_i/StarlightEnvironmentConfig.cmake @@ -0,0 +1,18 @@ +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# +# This module is used to set up the environment for Starlight +# +# + +# Set the environment variable(s): +find_package( Starlight ) + +if( STARLIGHT_FOUND ) + set( STARLIGHTENVIRONMENT_ENVIRONMENT + FORCESET STARLIGHTVER ${HERWIG3_VERSION} ) +endif() + +# Silently declare the module found: +set( STARLIGHTENVIRONMENT_FOUND TRUE ) + + diff --git a/Generators/Tauolapp_i/CMakeLists.txt b/Generators/Tauolapp_i/CMakeLists.txt index b0d43aed2d20ca296241a44a12f0c6040f22533d..9b975928ab985b872f45ee1e3edc2b5cd52ffabb 100644 --- a/Generators/Tauolapp_i/CMakeLists.txt +++ b/Generators/Tauolapp_i/CMakeLists.txt @@ -35,3 +35,8 @@ atlas_add_component( Tauolapp_i atlas_install_headers( Tauolapp_i ) atlas_install_joboptions( share/*.py ) +set( TauolappEnvironment_DIR ${CMAKE_CURRENT_SOURCE_DIR} + CACHE PATH "Location of TauolappEnvironment.cmake" ) +find_package( TauolappEnvironment ) + + diff --git a/Generators/Tauolapp_i/TauolaEnvironmentConfig.cmake b/Generators/Tauolapp_i/TauolaEnvironmentConfig.cmake new file mode 100644 index 0000000000000000000000000000000000000000..79dd410ff61bc916659e3af855b7a64002d3b6bb --- /dev/null +++ b/Generators/Tauolapp_i/TauolaEnvironmentConfig.cmake @@ -0,0 +1,18 @@ +# Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration +# +# This module is used to set up the environment for Tauolapp +# +# + +# Set the environment variable(s): +find_package( Tauolapp ) + +if( TAUOLAPP_FOUND ) + set( TAUOLAPPENVIRONMENT_ENVIRONMENT + FORCESET TAUOLAPPVER ${THEPEG_VERSION}) +endif() + +# Silently declare the module found: +set( TAUOLAPPENVIRONMENT_FOUND TRUE ) + +