using gridpack in the local cluster

Asked by Yingjie Wei on 2021-05-30

Hi Madgraph experts:

    I'd like to generate events using gridpack on the local cluster.

Here are my detailed steps:

I use mc.MGPy8EG_N30NLOA14_SMEFTNLO_SM.py (attached at the end) at first to generate gridpack using the local cluster, (successfully). This gridpack can be used on a local computer.

But when I want to use this gridpack to generate events on the local cluster (condor) (not on the panda grid) (is this impossible?). It always sets the me5_configuration.txt: run_mode=0 (single core) automatically, even if I set run_mode=1 (cluster) in mc.MGPy8EG_N30NLOA14_SMEFTNLO_SM.py.

(
08:10:36 Py:MadGraphUtils INFO Setting run_mode to 0
08:10:36 Py:MadGraphUtils INFO Setting nb_core to 1
)

see more in log.generate

The commands I used are:

================start of commands===============

export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh

asetup AthGeneration,21.6.72

Gen_tf.py --ecmEnergy=13000.0 --randomSeed=12345 --jobConfig=../900020 --outputEVNTFile=tmp.EVNT.root --maxEvents=100000

================end of commands===============

and the log.generate is:

================start of log.generate===============

08:10:33 Sun May 30 08:10:33 BST 2021
08:10:33 Preloading tcmalloc_minimal.so
08:10:33 Preloading /cvmfs/atlas.cern.ch/repo/sw/software/21.6/AthGenerationExternals/21.6.72/InstallArea/x86_64-centos7-gcc62-opt/lib/libintlc.so.5:/cvmfs/atlas.cern.ch/repo/sw/software/21.6/AthGenerationExternals/21.6.72/InstallArea/x86_64-centos7-gcc62-opt/lib/libimf.so
08:10:33 Py:Athena INFO including file "AthenaCommon/Preparation.py"
08:10:33 Py:Athena INFO using release [AthGeneration-21.6.72] [x86_64-centos7-gcc62-opt] [21.6/6245161fdac] -- built on [2021-05-22T0933]
08:10:33 Py:Athena INFO including file "AthenaCommon/Bootstrap.py"
08:10:33 Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
08:10:35 Py:Athena INFO executing ROOT6Setup
08:10:35 Py:Athena INFO including file "AthenaCommon/Execution.py"
08:10:35 Py:Athena INFO including file "runargs.generate.py"
08:10:35 Py:Athena INFO including file "EvgenJobTransforms/skel.GENtoEVGEN.py"
08:10:35 Py:Athena INFO including file "AthenaCommon/Atlas_Gen.UnixStandardJob.py"
08:10:35 Py:Athena INFO including file "PartPropSvc/PartPropSvc.py"
08:10:35 Py:Gen_tf INFO ecmEnergy = 13000.0
08:10:36 Using JOBOPTSEARCHPATH (as seen in skeleton) = '../900020:/cvmfs/atlas.cern.ch/repo/sw/Generators/MCJobOptions/common:.:/cvmfs/atlas.cern.ch/repo/sw/software/21.6/AthGeneration/21.6.72/InstallArea/x86_64-centos7-gcc62-opt/jobOptions:/cvmfs/atlas.cern.ch/repo/sw/software/21.6/AthGenerationExternals/21.6.72/InstallArea/x86_64-centos7-gcc62-opt/jobOptions:/cvmfs/atlas.cern.ch/repo/sw/software/21.6/GAUDI/21.6.72/InstallArea/x86_64-centos7-gcc62-opt/jobOptions'
08:10:36 Py:Athena INFO including file "/cvmfs/atlas.cern.ch/repo/sw/Generators/MC16JobOptions/scripts/check_jo_consistency.py"
08:10:36 OK: New jobOption file
08:10:36 OK: name format correct
08:10:36 OK: MGPy8EG_N30NLOA14_SMEFTNLO_SM physicsShort less than 50 characters long
08:10:36 OK: 2 physicsShort parts found
08:10:36 OK: Loading generator list file from cvmfs
08:10:36 OK: No generator full name is found
08:10:36 Generators used: ['MG', 'Py8', 'EG']
08:10:36 Py:Athena INFO including file "mc.MGPy8EG_N30NLOA14_SMEFTNLO_SM.py"
08:10:36 Py:Athena INFO including file "MadGraphControl_Pythia8EvtGen_SMEFTNLO_ZZ.py"
08:10:36 Py:MadGraphUtils INFO Modifying restrict_LO.dat to turn off cpG
08:10:36 Py:MadGraphUtils INFO Modifying restrict_NLO.dat to turn off cpG
08:10:36 Py:MadGraphUtils INFO Located input grid pack area
08:10:36 Py:MadGraphUtils INFO Copying default run_card.dat from madevent/Cards/run_card.dat
08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options. PDFs should be set with an include file. You might be unable to follow the PDF4LHC uncertainty prescription. Let's hope you know what you doing !!!
08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options and you did not specify a LHAPDF yourself -- in the future, this will cause an error !!!
08:10:36 Py:MadGraphUtils INFO Modifying run card located at run_card.tmp.dat
08:10:36 Py:MadGraphUtils INFO Setting nevents = 1100
08:10:36 Py:MadGraphUtils INFO Setting iseed = 12345
08:10:36 Py:MadGraphUtils INFO Setting ebeam1 = 6500.0
08:10:36 Py:MadGraphUtils INFO Setting ebeam2 = 6500.0
08:10:36 Py:MadGraphUtils INFO Setting scalefact = 1.0
08:10:36 Py:MadGraphUtils INFO Setting ptl = 3
08:10:36 Py:MadGraphUtils INFO Setting etal = 3.0
08:10:36 Py:MadGraphUtils INFO Setting drll = 0.04
08:10:36 Py:MadGraphUtils INFO Setting mmll = 0
08:10:36 Py:MadGraphUtils INFO Setting mmnl = 130
08:10:36 Py:MadGraphUtils INFO Setting maxjetflavor = 5
08:10:36 Py:MadGraphUtils INFO Setting use_syst = False
08:10:36 Py:MadGraphUtils INFO Setting auto_ptj_mjj = F
08:10:36 Py:MadGraphUtils INFO Setting ptj = 0
08:10:36 Py:MadGraphUtils INFO Setting ptb = 0
08:10:36 Py:MadGraphUtils INFO Setting pta = 0
08:10:36 Py:MadGraphUtils INFO Setting etaa = -1
08:10:36 Py:MadGraphUtils INFO Setting etab = -1
08:10:36 Py:MadGraphUtils INFO Setting drjl = 0
08:10:36 Py:MadGraphUtils INFO Setting etaj = -1
08:10:36 Py:MadGraphUtils INFO Setting asrwgtflavor = 5
08:10:36 Py:MadGraphUtils INFO Setting draa = 0
08:10:36 Py:MadGraphUtils INFO Setting dral = 0
08:10:36 Py:MadGraphUtils INFO Setting cut_decays = T
08:10:36 Py:MadGraphUtils INFO Setting draj = 0
08:10:36 Py:MadGraphUtils INFO Setting lhe_version = 3.0
08:10:36 Py:MadGraphUtils INFO Setting drjj = 0
08:10:36 Py:MadGraphUtils INFO Setting python_seed = 12345
08:10:36 Py:MadGraphUtils INFO Finished modification of run card.
08:10:36 Py:MadGraphUtils INFO Modifying config card located at madevent/Cards/me5_configuration.txt
08:10:36 Py:MadGraphUtils INFO Setting run_mode to 1
08:10:36 Py:MadGraphUtils INFO Setting cluster_type to condor
08:10:36 Py:MadGraphUtils INFO Setting cluster_queue to tomorrow
08:10:36 Py:MadGraphUtils INFO Finished modification of config card.
08:10:36 Py:MadGraphUtils INFO 1 1000. # Lambda
08:10:36
08:10:36 Py:MadGraphUtils INFO 15 0 # cpt
08:10:36
08:10:36 Py:MadGraphUtils INFO 19 0 # ctp
08:10:36
08:10:36 Py:MadGraphUtils WARNING No proc_card: proc_card_mg5.dat found
08:10:36 Py:MadGraphUtils INFO Default run card in use
08:10:36 Py:MadGraphUtils INFO Default param card in use
08:10:36 Py:MadGraphUtils INFO No madspin card in use
08:10:36 Py:MadGraphUtils INFO No reweight card in use
08:10:36 Py:MadGraphUtils INFO Returning cluster type: condor
08:10:36
08:10:36 Py:MadGraphUtils INFO Located input grid pack area
08:10:36 Py:MadGraphUtils INFO Running event generation from gridpack (using smarter mode from generate() function)
08:10:36 Py:MadGraphUtils INFO Not using LHAPDF
08:10:36 Py:MadGraphUtils INFO Path to fastjet install dir: /cvmfs/atlas.cern.ch/repo/sw/software/21.6/sw/lcg/releases/LCG_88b/fastjet/3.2.0/x86_64-centos7-gcc62-opt
08:10:36 Py:MadGraphUtils INFO fastjet-config --version: 3.2.0
08:10:36 Py:MadGraphUtils INFO fastjet-config --prefix: /cvmfs/atlas.cern.ch/repo/sw/software/21.6/sw/lcg/releases/fastjet/3.2.0-bb0d1/x86_64-centos7-gcc62-opt
08:10:36 Py:MadGraphUtils INFO Setting fastjet = /cvmfs/atlas.cern.ch/repo/sw/software/21.6/sw/lcg/releases/LCG_88b/fastjet/3.2.0/x86_64-centos7-gcc62-opt/bin/fastjet-config in madevent/Cards/me5_configuration.txt
08:10:36 Py:MadGraphParamHelpers INFO The parameters that will be updated are:
08:10:36 Py:MadGraphParamHelpers INFO {'mass': {'24': '8.0379E+01', '25': '1.2510E+02', '13': '1.056583745E-01', '15': '1.77686E+00', '23': '9.11876E+01', '1': '4.67E-03', '3': '9.3E-02', '2': '2.16E-03', '5': '4.180E+00', '4': '1.27E+00', '6': '1.731E+02', '11': '5.109989461E-04'}, 'yukawa': {'6': '1.731E+02'}, 'decay': {'24': 'DECAY 24 2.085E+00', '25': 'DECAY 25 0.E+00', '13': 'DECAY 13 2.9959847E-19', '15': 'DECAY 15 2.267E-12', '23': 'DECAY 23 2.4952E+00', '1': 'DECAY 1 0.E+00', '3': 'DECAY 3 0.E+00', '2': 'DECAY 2 0.E+00', '5': 'DECAY 5 0.E+00', '4': 'DECAY 4 0.E+00', '6': 'DECAY 6 1.42E+00', '11': 'DECAY 11 0.E+00'}}
08:10:36 Py:MadGraphParamHelpers WARNING Block mass needs updates: {'24': '8.0379E+01', '25': '1.2510E+02', '13': '1.056583745E-01', '15': '1.77686E+00', '23': '9.11876E+01', '1': '4.67E-03', '3': '9.3E-02', '2': '2.16E-03', '5': '4.180E+00', '4': '1.27E+00', '6': '1.731E+02', '11': '5.109989461E-04'}
08:10:36 Py:MadGraphParamHelpers WARNING Block yukawa needs updates: {'6': '1.731E+02'}
08:10:36 Py:MadGraphParamHelpers WARNING Block decay needs updates: {'24': 'DECAY 24 2.085E+00', '25': 'DECAY 25 0.E+00', '13': 'DECAY 13 2.9959847E-19', '15': 'DECAY 15 2.267E-12', '23': 'DECAY 23 2.4952E+00', '1': 'DECAY 1 0.E+00', '3': 'DECAY 3 0.E+00', '2': 'DECAY 2 0.E+00', '5': 'DECAY 5 0.E+00', '4': 'DECAY 4 0.E+00', '6': 'DECAY 6 1.42E+00', '11': 'DECAY 11 0.E+00'}
08:10:36 Py:MadGraphUtils INFO Copying default run_card.dat from madevent/Cards/run_card.dat
08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options. PDFs should be set with an include file. You might be unable to follow the PDF4LHC uncertainty prescription. Let's hope you know what you doing !!!
08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options and you did not specify a LHAPDF yourself -- in the future, this will cause an error !!!
08:10:36 Py:MadGraphUtils INFO Modifying run card located at run_card.tmp.dat
08:10:36 Py:MadGraphUtils INFO Setting iseed = 12345
08:10:36 Py:MadGraphUtils INFO Setting python_seed = 12345
08:10:36 Py:MadGraphUtils INFO Finished modification of run card.
08:10:36 Py:MadGraphUtils INFO Generating events from gridpack
08:10:36 Py:MadGraphUtils INFO >>>> FOUND GRIDPACK <<<< <- This will be used for generation
08:10:36 Py:MadGraphUtils INFO Generation of 1100 events will be performed using the supplied gridpack with random seed 12345
08:10:36 Py:MadGraphUtils INFO Started generating events at Sun May 30 08:10:36 2021
08:10:36 Py:MadGraphUtils INFO Setting up for serial run
08:10:36 Py:MadGraphUtils INFO Modifying config card located at madevent/Cards/me5_configuration.txt
08:10:36 Py:MadGraphUtils INFO Setting automatic_html_opening to False
08:10:36 Py:MadGraphUtils INFO Setting run_mode to 0
08:10:36 Py:MadGraphUtils INFO Setting nb_core to 1
08:10:36 Py:MadGraphUtils INFO Finished modification of config card.
08:10:36 Py:MadGraphUtils INFO For your information, ls of /home/weiy/JO_Madgraph/mc.MGPy8EG_N30NLOA14_SMEFTNLO_NLO_gg4l_SM_gridpack_cluster_mode_corrected_using/run_cluster_run_mode_correct_final:
08:10:36 Py:MadGraphUtils INFO ['.asetup.save', 'log', 'log.generate', 'madevent', 'mem.full.generate', 'mem.summary.generate.json_snapshot', 'mgmodels_local', 'run.sh', 'runargs.generate.py', 'runwrapper.generate.sh']
08:10:36 Py:MadGraphUtils INFO For your information, ls of madevent:
08:10:36 Py:MadGraphUtils INFO ['Cards', 'Events', 'HTML', 'MGMEVersion.txt', 'README', 'Source', 'SubProcesses', 'TemplateVersion.txt', 'bin', 'index.html', 'lib']
08:10:36 Py:MadGraphUtils INFO Checking PDF and systematics settings
08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options. PDFs should be set with an include file. You might be unable to follow the PDF4LHC uncertainty prescription. Let's hope you know what you doing !!!
08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options and you did not specify a LHAPDF yourself -- in the future, this will cause an error !!!
08:10:36 Py:MadGraphUtils INFO Finished checking run card - All OK!
08:10:36 Py:MadGraphUtils INFO proc_card:
08:10:36 #************************************************************
08:10:36 #* MadGraph5_aMC@NLO *
08:10:36 #* *
08:10:36 #* * * *
08:10:36 #* * * * * *
08:10:36 #* * * * * 5 * * * * *
08:10:36 #* * * * * *
08:10:36 #* * * *
08:10:36 #* *
08:10:36 #* *
08:10:36 #* VERSION 2.9.3 2021-03-25 *
08:10:36 #* *
08:10:36 #* The MadGraph5_aMC@NLO Development Team - Find us at *
08:10:36 #* https://server06.fynu.ucl.ac.be/projects/madgraph *
08:10:36 #* *
08:10:36 #************************************************************
08:10:36 #* *
08:10:36 #* Command File for MadGraph5_aMC@NLO *
08:10:36 #* *
08:10:36 #* run as ./bin/mg5_aMC filename *
08:10:36 #* *
08:10:36 #************************************************************
08:10:36 set group_subprocesses Auto
08:10:36 set ignore_six_quark_processes False
08:10:36 set max_t_for_channel 99
08:10:36 set loop_optimized_output True
08:10:36 set low_mem_multicore_nlo_generation False
08:10:36 set default_unset_couplings 99
08:10:36 set zerowidth_tchannel True
08:10:36 set loop_color_flows False
08:10:36 set gauge unitary
08:10:36 set complex_mass_scheme False
08:10:36 set max_npoint_for_channel 4
08:10:36 import model /home/weiy/JO_Madgraph/mc.MGPy8EG_N30NLOA14_SMEFTNLO_NLO_\
08:10:36 gg4l_SM_gridpack_cluster_mode_corrected/run_cluster_size_1000/mgmodels\
08:10:36 _local/SMEFTatNLO-cpG_ctp_cpt
08:10:36 define p = g u c d s u~ c~ d~ s~
08:10:36 define j = g u c d s u~ c~ d~ s~
08:10:36 define vl = ve vm vt
08:10:36 define vl~ = ve~ vm~ vt~
08:10:36 define p = 21 2 4 1 3 -2 -4 -1 -3 5 -5 # pass to 5 flavors
08:10:36 define j = p
08:10:36 define p = g u c d s b u~ c~ d~ s~ b~
08:10:36 define j = g u c d s b u~ c~ d~ s~ b~
08:10:36 define l+ = e+ mu+
08:10:36 define l- = e- mu-
08:10:36 generate g g > l+ l- l+ l- / g QCD=2 QED=4 NP=0 [noborn=QCD]
08:10:36 output -f -nojpeg
08:10:36 Py:MadGraphUtils INFO run_card:
08:10:36 #*********************************************************************
08:10:36 # MadGraph5_aMC@NLO *
08:10:36 # *
08:10:36 # run_card.dat MadEvent *
08:10:36 # *
08:10:36 # This file is used to set the parameters of the run. *
08:10:36 # *
08:10:36 # Some notation/conventions: *
08:10:36 # *
08:10:36 # Lines starting with a '# ' are info or comments *
08:10:36 # *
08:10:36 # mind the format: value = variable ! comment *
08:10:36 # *
08:10:36 # To display more options, you can type the command: *
08:10:36 # update full_run_card *
08:10:36 #*********************************************************************
08:10:36 #
08:10:36 #*********************************************************************
08:10:36 # Tag name for the run (one word) *
08:10:36 #*********************************************************************
08:10:36 tag_1 = run_tag ! name of the run
08:10:36 #*********************************************************************
08:10:36 # Number of events and rnd seed *
08:10:36 # Warning: Do not generate more than 1M events in a single run *
08:10:36 #*********************************************************************
08:10:36 1100 = nevents ! Number of unweighted events requested
08:10:36 12345 = iseed ! rnd seed (0=assigned automatically=default))
08:10:36 #*********************************************************************
08:10:36 # Collider type and energy *
08:10:36 # lpp: 0=No PDF, 1=proton, -1=antiproton, 2=photon from proton, *
08:10:36 # 3=photon from electron, 4=photon from muon *
08:10:36 #*********************************************************************
08:10:36 1 = lpp1 ! beam 1 type
08:10:36 1 = lpp2 ! beam 2 type
08:10:36 6500.0 = ebeam1 ! beam 1 total energy in GeV
08:10:36 6500.0 = ebeam2 ! beam 2 total energy in GeV
08:10:36 # To see polarised beam options: type "update beam_pol"
08:10:36
08:10:36 #*********************************************************************
08:10:36 # PDF CHOICE: this automatically fixes also alpha_s and its evol. *
08:10:36 #*********************************************************************
08:10:36 nn23lo1 = pdlabel ! PDF set
08:10:36 230000 = lhaid ! if pdlabel=lhapdf, this is the lhapdf number
08:10:36 # To see heavy ion options: type "update ion_pdf"
08:10:36 #*********************************************************************
08:10:36 # Renormalization and factorization scales *
08:10:36 #*********************************************************************
08:10:36 False = fixed_ren_scale ! if .true. use fixed ren scale
08:10:36 False = fixed_fac_scale ! if .true. use fixed fac scale
08:10:36 91.188 = scale ! fixed ren scale
08:10:36 91.188 = dsqrt_q2fact1 ! fixed fact scale for pdf1
08:10:36 91.188 = dsqrt_q2fact2 ! fixed fact scale for pdf2
08:10:36 -1 = dynamical_scale_choice ! Choose one of the preselected dynamical choices
08:10:36 1.0 = scalefact ! scale factor for event-by-event scales
08:10:36 #*********************************************************************
08:10:36 # Type and output format
08:10:36 #*********************************************************************
08:10:36 True = gridpack !True = setting up the grid pack
08:10:36 -1.0 = time_of_flight ! threshold (in mm) below which the invariant livetime is not written (-1 means not written)
08:10:36 average = event_norm ! average/sum. Normalization of the weight in the LHEF
08:10:36
08:10:36 #*********************************************************************
08:10:36 # Matching parameter (MLM only)
08:10:36 #*********************************************************************
08:10:36 0 = ickkw ! 0 no matching, 1 MLM
08:10:36 1.0 = alpsfact ! scale factor for QCD emission vx
08:10:36 False = chcluster ! cluster only according to channel diag
08:10:36 ! (turn off for VBF and single top processes)
08:10:36 0.0 = xqcut ! minimum kt jet measure between partons
08:10:36
08:10:36
08:10:36 #*********************************************************************
08:10:36 #
08:10:36 #*********************************************************************
08:10:36 # Phase-Space Optimization strategy (basic options)
08:10:36 #*********************************************************************
08:10:36 1 = nhel ! using helicities importance sampling or not.
08:10:36 ! 0: sum over helicity, 1: importance sampling
08:10:36 2 = sde_strategy ! default integration strategy (hep-ph/2021.xxxxx)
08:10:36 ! 1 is old strategy (using amp square)
08:10:36 ! 2 is new strategy (using only the denominator)
08:10:36 # To see advanced option for Phase-Space optimization: type "update psoptim"
08:10:36 #*********************************************************************
08:10:36 # Generation bias, check the wiki page below for more information: *
08:10:36 # 'cp3.irmp.ucl.ac.be/projects/madgraph/wiki/LOEventGenerationBias' *
08:10:36 #*********************************************************************
08:10:36 None = bias_module ! Bias type of bias, [None, ptj_bias, -custom_folder-]
08:10:36 {} = bias_parameters ! Specifies the parameters of the module.
08:10:36 #
08:10:36 #*******************************
08:10:36 # Parton level cuts definition *
08:10:36 #*******************************
08:10:36 #
08:10:36 #
08:10:36 #*********************************************************************
08:10:36 # BW cutoff (M+/-bwcutoff*Gamma) ! Define on/off-shell for "$" and decay
08:10:36 #*********************************************************************
08:10:36 15.0 = bwcutoff ! (M+/-bwcutoff*Gamma)
08:10:36 #*********************************************************************
08:10:36 # Standard Cuts *
08:10:36 #*********************************************************************
08:10:36 # Minimum and maximum pt's (for max, -1 means no cut) *
08:10:36 #*********************************************************************
08:10:36 3 = ptl ! minimum pt for the charged leptons
08:10:36 -1.0 = ptlmax ! maximum pt for the charged leptons
08:10:36 {} = pt_min_pdg ! pt cut for other particles (use pdg code). Applied on particle and anti-particle
08:10:36 {} = pt_max_pdg ! pt cut for other particles (syntax e.g. {6: 100, 25: 50})
08:10:36 #
08:10:36 # For display option for energy cut in the partonic center of mass frame type 'update ecut'
08:10:36 #
08:10:36 #*********************************************************************
08:10:36 # Maximum and minimum absolute rapidity (for max, -1 means no cut) *
08:10:36 #*********************************************************************
08:10:36 3.0 = etal ! max rap for the charged leptons
08:10:36 0.0 = etalmin ! main rap for the charged leptons
08:10:36 {} = eta_min_pdg ! rap cut for other particles (use pdg code). Applied on particle and anti-particle
08:10:36 {} = eta_max_pdg ! rap cut for other particles (syntax e.g. {6: 2.5, 23: 5})
08:10:36 #*********************************************************************
08:10:36 # Minimum and maximum DeltaR distance *
08:10:36 #*********************************************************************
08:10:36 0.04 = drll ! min distance between leptons
08:10:36 -1.0 = drllmax ! max distance between leptons
08:10:36 #*********************************************************************
08:10:36 # Minimum and maximum invariant mass for pairs *
08:10:36 # WARNING: for four lepton final state mmll cut require to have *
08:10:36 # different lepton masses for each flavor! *
08:10:36 #*********************************************************************
08:10:36 0 = mmll ! min invariant mass of l+l- (same flavour) lepton pair
08:10:36 -1.0 = mmllmax ! max invariant mass of l+l- (same flavour) lepton pair
08:10:36 {} = mxx_min_pdg ! min invariant mass of a pair of particles X/X~ (e.g. {6:250})
08:10:36 {'default': False} = mxx_only_part_antipart ! if True the invariant mass is applied only
08:10:36 ! to pairs of particle/antiparticle and not to pairs of the same pdg codes.
08:10:36 #*********************************************************************
08:10:36 # Minimum and maximum invariant mass for all letpons *
08:10:36 #*********************************************************************
08:10:36 130 = mmnl ! min invariant mass for all letpons (l+- and vl)
08:10:36 -1.0 = mmnlmax ! max invariant mass for all letpons (l+- and vl)
08:10:36 #*********************************************************************
08:10:36 # Minimum and maximum pt for 4-momenta sum of leptons / neutrino *
08:10:36 # for pair of lepton includes only same flavor, opposite charge
08:10:36 #*********************************************************************
08:10:36 0.0 = ptllmin ! Minimum pt for 4-momenta sum of leptons(l and vl)
08:10:36 -1.0 = ptllmax ! Maximum pt for 4-momenta sum of leptons(l and vl)
08:10:36 #*********************************************************************
08:10:36 # Inclusive cuts *
08:10:36 #*********************************************************************
08:10:36 0.0 = xptl ! minimum pt for at least one charged lepton
08:10:36 #*********************************************************************
08:10:36 # Control the pt's of leptons sorted by pt *
08:10:36 #*********************************************************************
08:10:36 0.0 = ptl1min ! minimum pt for the leading lepton in pt
08:10:36 0.0 = ptl2min ! minimum pt for the second lepton in pt
08:10:36 0.0 = ptl3min ! minimum pt for the third lepton in pt
08:10:36 0.0 = ptl4min ! minimum pt for the fourth lepton in pt
08:10:36 -1.0 = ptl1max ! maximum pt for the leading lepton in pt
08:10:36 -1.0 = ptl2max ! maximum pt for the second lepton in pt
08:10:36 -1.0 = ptl3max ! maximum pt for the third lepton in pt
08:10:36 -1.0 = ptl4max ! maximum pt for the fourth lepton in pt
08:10:36 #*********************************************************************
08:10:36 # maximal pdg code for quark to be considered as a light jet *
08:10:36 # (otherwise b cuts are applied) *
08:10:36 #*********************************************************************
08:10:36 5 = maxjetflavor ! Maximum jet pdg code
08:10:36 #*********************************************************************
08:10:36 #
08:10:36 #*********************************************************************
08:10:36 # Store info for systematics studies *
08:10:36 # WARNING: Do not use for interference type of computation *
08:10:36 #*********************************************************************
08:10:36 False = use_syst ! Enable systematics studies
08:10:36 #
08:10:36 systematics = systematics_program ! none, systematics [python], SysCalc [depreceted, C++]
08:10:36 ['--pdf=errorset', '--muf=0.5,1,2', '--weight_info=MUR%(mur).1f_MUF%(muf).1f_PDF%(pdf)i', '--mur=0.5,1,2'] = systematics_arguments ! see: https://cp3.irmp.ucl.ac.be/projects/madgraph/wiki/Systematics#Systematicspythonmodule
08:10:36 # Syscalc is deprecated but to see the associate options type'update syscalc'
08:10:36 F = auto_ptj_mjj
08:10:36 0 = ptj
08:10:36 0 = ptb
08:10:36 0 = pta
08:10:36 -1 = etaa
08:10:36 -1 = etab
08:10:36 0 = drjl
08:10:36 -1 = etaj
08:10:36 5 = asrwgtflavor
08:10:36 0 = draa
08:10:36 0 = dral
08:10:36 T = cut_decays
08:10:36 0 = draj
08:10:36 3.0 = lhe_version
08:10:36 0 = drjj
08:10:36 12345 = python_seed
08:10:36 Py:MadGraphUtils INFO param_card:
08:10:36 ######################################################################
08:10:36 ## PARAM_CARD AUTOMATICALY GENERATED BY MG5 FOLLOWING UFO MODEL ####
08:10:36 ######################################################################
08:10:36 ## ##
08:10:36 ## Width set on Auto will be computed following the information ##
08:10:36 ## present in the decay.py files of the model. ##
08:10:36 ## See arXiv:1402.1178 for more details. ##
08:10:36 ## ##
08:10:36 ######################################################################
08:10:36
08:10:36 ###################################
08:10:36 ## INFORMATION FOR DIM6
08:10:36 ###################################
08:10:36 Block dim6
08:10:36 1 1000. # Lambda
08:10:36 8 1.000000e-10 # cpG
08:10:36
08:10:36 ###################################
08:10:36 ## INFORMATION FOR DIM62F
08:10:36 ###################################
08:10:36 Block dim62f
08:10:36 15 0 # cpt
08:10:36 19 0 # ctp
08:10:36
08:10:36 ###################################
08:10:36 ## INFORMATION FOR MASS
08:10:36 ###################################
08:10:36 Block mass
08:10:36 6 1.720000e+02 # MT
08:10:36 23 9.118760e+01 # MZ
08:10:36 24 7.982440e+01 # MW
08:10:36 25 1.250000e+02 # MH
08:10:36 ## Dependent parameters, given by model restrictions.
08:10:36 ## Those values should be edited following the
08:10:36 ## analytical expression. MG5 ignores those values
08:10:36 ## but they are important for interfacing the output of MG5
08:10:36 ## to external program such as Pythia.
08:10:36 1 0.000000e+00 # d : 0.0
08:10:36 2 0.000000e+00 # u : 0.0
08:10:36 3 0.000000e+00 # s : 0.0
08:10:36 4 0.000000e+00 # c : 0.0
08:10:36 5 0.000000e+00 # b : 0.0
08:10:36 11 0.000000e+00 # e- : 0.0
08:10:36 12 0.000000e+00 # ve : 0.0
08:10:36 13 0.000000e+00 # mu- : 0.0
08:10:36 14 0.000000e+00 # vm : 0.0
08:10:36 15 0.000000e+00 # ta- : 0.0
08:10:36 16 0.000000e+00 # vt : 0.0
08:10:36 21 0.000000e+00 # g : 0.0
08:10:36 22 0.000000e+00 # a : 0.0
08:10:36 9000002 9.118760e+01 # ghz : MZ
08:10:36 9000003 7.982440e+01 # ghwp : MW
08:10:36 9000004 7.982440e+01 # ghwm : MW
08:10:36
08:10:36 ###################################
08:10:36 ## INFORMATION FOR RENOR
08:10:36 ###################################
08:10:36 Block renor
08:10:36 1 1.750000e+02 # mueft
08:10:36
08:10:36 ###################################
08:10:36 ## INFORMATION FOR SMINPUTS
08:10:36 ###################################
08:10:36 Block sminputs
08:10:36 2 1.166370e-05 # Gf
08:10:36 3 1.184000e-01 # aS (Note that Parameter not used if you use a PDF set)
08:10:36
08:10:36 ###################################
08:10:36 ## INFORMATION FOR YUKAWA
08:10:36 ###################################
08:10:36 Block yukawa
08:10:36 6 1.720000e+02 # ymt
08:10:36
08:10:36 ###################################
08:10:36 ## INFORMATION FOR DECAY
08:10:36 ###################################
08:10:36 DECAY 6 1.508336e+00 # WT
08:10:36 DECAY 23 2.495200e+00 # WZ
08:10:36 DECAY 24 2.085000e+00 # WW
08:10:36 DECAY 25 5.753088e-03 # WH
08:10:36 ## Dependent parameters, given by model restrictions.
08:10:36 ## Those values should be edited following the
08:10:36 ## analytical expression. MG5 ignores those values
08:10:36 ## but they are important for interfacing the output of MG5
08:10:36 ## to external program such as Pythia.
08:10:36 DECAY 1 0.000000e+00 # d : 0.0
08:10:36 DECAY 2 0.000000e+00 # u : 0.0
08:10:36 DECAY 3 0.000000e+00 # s : 0.0
08:10:36 DECAY 4 0.000000e+00 # c : 0.0
08:10:36 DECAY 5 0.000000e+00 # b : 0.0
08:10:36 DECAY 11 0.000000e+00 # e- : 0.0
08:10:36 DECAY 12 0.000000e+00 # ve : 0.0
08:10:36 DECAY 13 0.000000e+00 # mu- : 0.0
08:10:36 DECAY 14 0.000000e+00 # vm : 0.0
08:10:36 DECAY 15 0.000000e+00 # ta- : 0.0
08:10:36 DECAY 16 0.000000e+00 # vt : 0.0
08:10:36 DECAY 21 0.000000e+00 # g : 0.0
08:10:36 DECAY 22 0.000000e+00 # a : 0.0
08:10:36 DECAY 9000002 2.495200e+00 # ghz : WZ
08:10:36 DECAY 9000003 2.085000e+00 # ghwp : WW
08:10:36 DECAY 9000004 2.085000e+00 # ghwm : WW
08:10:36 #===========================================================
08:10:36 # QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)
08:10:36 #===========================================================
08:10:36
08:10:36 Block QNUMBERS 9000001 # gha
08:10:36 1 0 # 3 times electric charge
08:10:36 2 1 # number of spin states (2S+1)
08:10:36 3 1 # colour rep (1: singlet, 3: triplet, 8: octet)
08:10:36 4 1 # Particle/Antiparticle distinction (0=own anti)
08:10:36 Block QNUMBERS 9000002 # ghz
08:10:36 1 0 # 3 times electric charge
08:10:36 2 1 # number of spin states (2S+1)
08:10:36 3 1 # colour rep (1: singlet, 3: triplet, 8: octet)
08:10:36 4 1 # Particle/Antiparticle distinction (0=own anti)
08:10:36 Block QNUMBERS 9000003 # ghwp
08:10:36 1 3 # 3 times electric charge
08:10:36 2 1 # number of spin states (2S+1)
08:10:36 3 1 # colour rep (1: singlet, 3: triplet, 8: octet)
08:10:36 4 1 # Particle/Antiparticle distinction (0=own anti)
08:10:36 Block QNUMBERS 9000004 # ghwm
08:10:36 1 -3 # 3 times electric charge
08:10:36 2 1 # number of spin states (2S+1)
08:10:36 3 1 # colour rep (1: singlet, 3: triplet, 8: octet)
08:10:36 4 1 # Particle/Antiparticle distinction (0=own anti)
08:10:36 Block QNUMBERS 9000005 # ghg
08:10:36 1 0 # 3 times electric charge
08:10:36 2 1 # number of spin states (2S+1)
08:10:36 3 8 # colour rep (1: singlet, 3: triplet, 8: octet)
08:10:36 4 1 # Particle/Antiparticle distinction (0=own anti)
08:10:36 Py:MadGraphUtils INFO No madspin card in use
08:10:36 Py:MadGraphUtils INFO No reweight card in use
08:10:36 Py:MadGraphUtils INFO Found madevent/bin/gridrun, starting generation.
08:10:36 Py:MadGraphUtils INFO Now generating 1100 events with random seed 12345 and granularity 1
08:10:38 No handlers could be found for logger "madevent.cards"
08:10:38 P0_gg_llll

================end of log.generate================

===============start of mc.MGPy8EG_N30NLOA14_SMEFTNLO_SM.py===================

doNLO=0 # for EFT only, 0: LO, 1: NLO
dogg=1 # production mode, 0: pp, 1: gg
doZZ=0 # 0: off-shell, 1: on-shell ZZ, ZZ->4l/2l2v, 2: h->ZZ, 3: gg->Z no H; -1: gg->H->4l
do2l2v=0 # 0: 4l, 1: 2l2v

QCDmode="[noborn=QCD]" # QCD order: None, for LO; "[QCD]", for NLO; "[noborn=QCD]", for loop-induced only

EFTorder=0 # 0 for SM only, 1 for EFT linear term, 2 for EFT quadratic term, 3 for all
EFTop='cpt,ctp,cpG' # EFT parameter name
EFTval='0,0,0' # value of the EFT parameter, 1 by default

fixModel=1 # turn off cpG via the restriction card

doReweight=0 # 0, no reweighting, 1: linear terms only; 2: quad terms only; 3: both linear and quad terms
              # format is [ 'paramName1_paraValue1', ...] for 1D reweighting
              # or [ 'paramName1_paraValue1--paramName2_paraValue2', ...] for 2D reweighting, etc
reweights=[]

from MadGraphControl.MadGraphUtils import *
from MadGraphControl import MadGraphUtils
MadGraphUtils.MADGRAPH_CATCH_ERRORS=False
import math, os, shutil, copy

### get MC job-options filename
FIRST_DIR = (os.environ['JOBOPTSEARCHPATH']).split(":")[0]
jofiles = [f for f in os.listdir(FIRST_DIR) if (f.startswith('mc') and f.endswith('.py'))]

#---------------------------------------------------------------------------
# General Settings
# need to provide the following in the top JO:
# EFTorder: order of the calculation, 0 for SM only, 1 for EFT linear term, 2 for EFT quadratic term, 3 for all
# EFTop: EFT parameter name
# EFTval: value of the EFT parameter, 1 by default
# dogg: loop-induced or not
# doNLO: LO or NLO model
#---------------------------------------------------------------------------

mode=1 # 0: single core; 2: multicore; 1: cluster;

cluster_type=None
cluster_queue=None

if mode==1:
  cluster_type="condor"
  cluster_queue="tomorrow"

gridpack_mode=True

## safe factor applied to nevents, to account for the filter efficiency
safefactor = 1.1
nevents = runArgs.maxEvents*safefactor if runArgs.maxEvents>0 else safefactor*evgenConfig.nEventsPerJob
nevents = int(nevents)

## EFT parameters
dim6_ops_LO = {
  'dim6' : ['cpG'],
  'dim62f' : ['ctp','cpt']
}

dim6_ops_NLO = {
  'dim6' : ['cpG'],
  'dim62f' : ['ctp','cpt']
}

# the block DIM64F2L not available for NLO, some parameters not available for NLO
if doNLO:
  dim6_ops=copy.deepcopy(dim6_ops_NLO)
else:
  dim6_ops=copy.deepcopy(dim6_ops_LO)

# check user defined EFT operator names
l_EFTop=[]
l_EFTval=[]
if EFTop:
  if "," in EFTop:
    for op in EFTop.split(","): l_EFTop.append(op)
  else: l_EFTop.append(EFTop)

  for op in l_EFTop:
    op_found = 0
    for bl in dim6_ops.keys():
      for aop in dim6_ops[bl]:
        if aop.upper() == op.upper():
          op_found = 1
          break
    if not op_found:
      raise RuntimeError("EFT parameter %s not avaiable." % op)

if EFTval:
  if "," in EFTval:
    for val in EFTval.split(","): l_EFTval.append(val)
  else: l_EFTval.append(EFTval)
else:
  # use default value 1
  for ie, op in enumerate(l_EFTop): l_EFTval.append(1)

#---------------------------------------------------------------------------
# Process
#---------------------------------------------------------------------------

# model with restrictions: SM, LO, NLO
model_name_SM = "SMEFTatNLO-cpG_ctp_cpt"
model_name_LO = model_name_SM+"-cpG_ctp_cpt"
model_name_NLO = model_name_SM+"-cpG_ctp_cpt"
model_name = model_name_SM

# production mode
prod_str = "p p"
if dogg:
  prod_str = "g g"
# lepton final states
decay_str = ""
if doZZ<=0:
  if do2l2v:
    decay_str = "l+ l- vl vl~ / l+ l- vl vl~ w+ w- g"
  else:
    decay_str = "l+ l- l+ l- / g"

if EFTorder==0: ## SM
  if doZZ==1: ## on-shell ZZ
    proc_str = "generate %s > z z QCD=2 QED=2 NP=0" % (prod_str)
  elif doZZ==2: ## HZZ
    proc_str = "generate p p > h > z z QCD=2 QED=2 NP=0"
  elif doZZ==3: ## no Higgs
    proc_str = "generate %s > z z / h QCD=2 QED=2 NP=0" % (prod_str)
  elif doZZ==-1: ## H4l
    proc_str = "generate %s > h > %s QCD=2 QED=4 NP=0" % (prod_str, decay_str)
  else: ## off-shell ll
    proc_str = "generate %s > %s QCD=2 QED=4 NP=0" % (prod_str, decay_str)
else:
  if EFTorder==1: ## linear
    if doZZ==1: ## on-shell ZZ
      proc_str = "generate %s > z z QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
    elif doZZ==2: ## HZZ
      proc_str = "generate %s > h > z z QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
    elif doZZ==3: ## no Higgs
      proc_str = "generate %s > z z / h QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
    elif doZZ==-1: ## H4l
      proc_str = "generate %s > h > %s QCD=2 QED=4 NP=2 NP^2==2" % (prod_str, decay_str)
    else:
      proc_str = "generate %s > %s QCD=2 QED=4 NP=2 NP^2==2" % (prod_str, decay_str)
  elif EFTorder==2: ## quadratic
    if doZZ==1: ## on-shell ZZ
      proc_str = "generate %s > z z QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
    elif doZZ==2: ## HZZ
      proc_str = "generate %s > h > z z QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
    elif doZZ==3: ## no Higgs
      proc_str = "generate %s > z z / h QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
    elif doZZ==-1: ## H4l
      proc_str = "generate %s > h > %s QCD=2 QED=4 NP=2 NP^2==4" % (prod_str, decay_str)
    else:
      proc_str = "generate %s > %s QCD=2 QED=4 NP=2 NP^2==4" % (prod_str, decay_str)
  elif EFTorder==3: ## All
    if doZZ==1: ## on-shell ZZ
      proc_str = "generate %s > z z QCD=2 QED=2 NP=2" % (prod_str)
    elif doZZ==2: ## HZZ
      proc_str = "generate %s > h > z z QCD=2 QED=2 NP=2" % (prod_str)
    elif doZZ==3: ## no Higgs
      proc_str = "generate %s > z z / h QCD=2 QED=2 NP=2" % (prod_str)
    elif doZZ==-1: ## H4l
      proc_str = "generate %s > h > %s QCD=2 QED=4 NP=2" % (prod_str, decay_str)
    else:
      proc_str = "generate %s > %s QCD=2 QED=4 NP=2" % (prod_str, decay_str)

  if doNLO:
    model_name = model_name_NLO
  else:
    model_name = model_name_LO

# QCD order: None, "[QCD]", "[noborn=QCD]"
if QCDmode:
  proc_str += " "+QCDmode

# use model files locally, to fix cpG
#mgmodels='/cvmfs/atlas.cern.ch/repo/sw/Generators/madgraph/models/latest/'
mgmodels='/cvmfs/atlas.cern.ch/repo/sw/Generators/madgraph/models/latest/'
model_name_LO_org = mgmodels+"/" + model_name_SM+"-LO"
model_name_NLO_org = mgmodels+"/" + model_name_SM+"-NLO"
model_name_custom = mgmodels+"/"+model_name_SM+"-cpG_ctp_cpt"

restricted_model=model_name
model_path='/cvmfs/atlas.cern.ch/repo/sw/Generators/madgraph/models/latest/'
if fixModel:
  ## copy model files to local
  model_name_def=model_name.split('-')[0]
  local_dir='mgmodels_local'
  if os.path.exists(local_dir):
    shutil.rmtree(local_dir)
  os.mkdir(local_dir)
  local_model=local_dir+'/'+model_name_def
  shutil.copytree(mgmodels+model_name_def,local_model)

  ## fix cpG
  tmp_cards=['restrict_LO.dat', 'restrict_NLO.dat']
  for tmp_card in tmp_cards:
    rst_card=local_model+'/'+tmp_card
    if os.access(rst_card,os.R_OK):
      rst_card_old = local_model+"/"+tmp_card.replace(".dat", "Full.dat")
      mglog.info('Modifying %s to turn off cpG' % tmp_card)
      os.rename(rst_card, rst_card_old)

      oldCard = open(rst_card_old, 'r')
      newCard = open(rst_card, 'w')
      for line in iter(oldCard):
        if "cpG" in line: line=line.replace('0.8e-04', '0.0e-04')
        newCard.write(line.strip()+'\n')
      oldCard.close()
      newCard.close()

  #model_path="./%s" % local_dir
  model_path="/cvmfs/atlas.cern.ch/repo/sw/Generators/madgraph/models/latest/"
  restricted_model="%s/%s" % (model_path, model_name)
  ## update model names which might be used later for reweighting
  model_path=os.getcwd()+"/" + local_dir
  model_name_LO = model_path+"/" + model_name_SM+"-LO"
  model_name_NLO = model_path+"/" + model_name_SM+"-NLO"

  model_name_LO_org = model_path+"/" + model_name_SM+"-LOFull"
  model_name_NLO_org = model_path+"/" + model_name_SM+"-NLOFull"

  ## remove cpG
  if 'dim6' in dim6_ops and 'cpG' in dim6_ops['dim6']:
    dim6_ops['dim6'].remove('cpG')

restricted_model="%s/%s" % (model_path, model_name)

if not is_gen_from_gridpack():
    process = """
    set max_npoint_for_channel 4
    import model %s
    define p = g u c d s b u~ c~ d~ s~ b~
    define j = g u c d s b u~ c~ d~ s~ b~
    define l+ = e+ mu+
    define l- = e- mu-
    %s
    output -f
    """ % (restricted_model, proc_str)

    process_dir = new_process(process)
else:
    process_dir = MADGRAPH_GRIDPACK_LOCATION

beamEnergy=-999
if hasattr(runArgs,'ecmEnergy'):
  beamEnergy = runArgs.ecmEnergy / 2.
else:
  raise RuntimeError("No center of mass energy found.")

#----------------------------------------------------------------------------
# Random Seed
#----------------------------------------------------------------------------
randomSeed = 0
if hasattr(runArgs,'randomSeed'): randomSeed = runArgs.randomSeed

#---------------------------------------------------------------------------
# Number of Events
#---------------------------------------------------------------------------
skip_events=0
if hasattr(runArgs,'skipEvents'): skip_events=runArgs.skipEvents

#---------------------------------------------------------------------------
# MG5 run Card
#---------------------------------------------------------------------------

extras = {
    'asrwgtflavor':"5",
    'lhe_version':"3.0",
    'ptj':"0",
    'ptb':"0",
    'pta':"0",
    'ptl':"3",
    'etaj':"-1",
    'etab':"-1",
    'etaa':"-1",
    'etal':"3.0",
    'drjj':"0",
    'mmll':"0",
    'draa':"0",
    'draj':"0",
    'use_syst':"False",
    'scalefact':'1.0',
    'drjl':"0",
    'dral':"0",
    'drll':"0.04",
    'maxjetflavor':"5" ,
    'cut_decays' :'T',
    'auto_ptj_mjj': 'F',
    'nevents' : nevents,
}
## m4l cut for 4l
if (doZZ==0 or doZZ==-1) and (not do2l2v):
  extras['mmnl'] = "130"
## settings for NLO
# call MadGraphUtils.is_NLO_run to make sure it's really an NLO run
if is_NLO_run(process_dir=process_dir):
  extras = {
    'lhe_version':"3.0",
    'parton_shower' :'PYTHIA8',
    'ptl':"3",
    'etal':"3.0",
    'ptj':"0",
    'etaj':"-1",
    'mll':"0",
    'mll_sf':"0",
    'drll':"0.04",
    'drll_sf':"0.04",
    'jetalgo':'-1',
    'jetradius' : '0.4',
    'maxjetflavor':"5" ,
    'nevents' : nevents,
  }

modify_run_card(process_dir=process_dir,runArgs=runArgs,settings=extras)

# Set up batch jobs
#if mode==2 and (not is_gen_from_gridpack()):
# modify_config_card(process_dir=process_dir,settings={'cluster_type':cluster_type,'cluster_queue':cluster_queue})
if mode==1 :
  modify_config_card(process_dir=process_dir,settings={'cluster_type':cluster_type,'cluster_queue':cluster_queue,'run_mode':mode})
else:
  modify_config_card(process_dir=process_dir)

#---------------------------------------------------------------------------
# MG5 param Card
#---------------------------------------------------------------------------
if EFTorder>=0:
    # Set SMEFT@NLO parameters
    ## params is a dictionary of dictionaries (each dictionary is a separate block)
    params = dict()

    # initial setting, disable all EFT parameters
    for bl in dim6_ops.keys():
      params[bl] = dict()
      for op in dim6_ops[bl]:
        params[bl][op] = '1.000000e-20'

    params['dim6']['Lambda'] = '1000.'
    # set the EFT operator under test
    for ie, op in enumerate(l_EFTop):
      val = l_EFTval[ie]
      for bl in dim6_ops.keys():
        if op in dim6_ops[bl]:
          params[bl][op] = val

    modify_param_card(process_dir=process_dir,params=params)

# Build reweight_card.dat
if doReweight:
  # Create reweighting card
  reweight_card_loc=process_dir+'/Cards/reweight_card.dat'
  rwcard = open(reweight_card_loc,'w')

  ## parameters to reweight
  # format is [ 'paramName1_paraValue1', ...] for 1D reweighting
  # or [ 'paramName1_paraValue1--paramName2_paraValue2', ...] for 2D reweighting, etc
  dict_para_rwt={}
  for rw_name in reweights:
    dict_para_rwt[rw_name]=[]
    for param in rw_name.split('--'):
      param_name, value = param.split('_')
      dict_para_rwt[rw_name].append([param_name, value])

  ## model
  curr_model_name=model_name ## keep track of the model used for the previous reweighting

  # !!! NLO model has to be used for interference (either tree*loop or loop*loop)
  dim6_ops=copy.deepcopy(dim6_ops_NLO)

  ## linear
  if doReweight==1 or doReweight==3:
    if doZZ==1: ## on-shell ZZ
      proc_str = "%s > z z QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
    elif doZZ==2: ## HZZ
      proc_str = "%s > h > z z QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
    elif doZZ==3: ## no Higgs
      proc_str = "%s > z z / h QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
    elif doZZ==-1: ## H4l
      proc_str = "%s > %s QCD=2 QED=4 NP=2 NP^2==2" % (prod_str, decay_str)
    else:
      proc_str = "%s > %s QCD=2 QED=4 NP=2 NP^2==2" % (prod_str, decay_str)
    ## launch reweighting
    for rw_name in dict_para_rwt.keys():
      # check if the reweighting parameter is included in the model or not
      skipop=1
      hasCPG=False ## special treatment for cpG (tree level)
      for param in dict_para_rwt[rw_name]:
        [param_name, value] = param
        if param_name.upper() == "CPG": hasCPG=True
        for bl in dim6_ops.keys():
          if param_name in dim6_ops[bl]:
            skipop=0
            break
      if skipop and (not hasCPG): continue

      # change process
      ## cpG: tree*loop
      if hasCPG:
        # locally fixed model has cpG removed, need to use the original one
        # only update the model if it's different than the nominal one
        if curr_model_name != model_name_NLO_org:

          curr_model_name=model_name_NLO_org

        rwcard.write("""
change process %s [virt=QCD]
""" % proc_str)

      ## others: loop*loop
      else:
        # use locally fixed model with cpG removed
        # only update the model if it's different than the nominal one
        if curr_model_name != model_name_NLO:
          rwcard.write("""
change model %s
""" % model_name_NLO)
          curr_model_name=model_name_NLO

        rwcard.write("""
change process %s %s
""" % (proc_str, QCDmode))

      # launch reweighting
      rwcard.write("launch --rwgt_name=%s_lin\n" % rw_name)

      params = dict()
      # initial setting, disable all EFT parameters
      for bl in dim6_ops.keys():
        params[bl] = dict()
        for op in dim6_ops[bl]:
          params[bl][op] = '1.000000e-20'

      params['dim6']['Lambda'] = '1000.'
      # set the EFT operator under test
      for param in dict_para_rwt[rw_name]:
        [param_name, value] = param
        for bl in dim6_ops.keys():
          if param_name in dim6_ops[bl] or (bl=="dim6" and param_name.upper() == "CPG"):
            params[bl][param_name] = value

      rwcard.write("set dim6 8 1.0\n")
      rwcard.write("set dim6 15 1.0e-20\n")
      rwcard.write("set dim6 19 1.0e-20")

  ## quadratic
  if doReweight==2 or doReweight==3:
    dim6_ops=copy.deepcopy(dim6_ops_NLO)

    if doZZ==1: ## on-shell ZZ
      proc_str = "%s > z z QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
    elif doZZ==2: ## HZZ
      proc_str = "%s > h > z z QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
    elif doZZ==3: ## no Higgs
      proc_str = "%s > z z / h QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
    elif doZZ==-1: ## H4l
      proc_str = "%s > h > %s QCD=2 QED=4 NP=2 NP^2==4" % (prod_str, decay_str)
    else:
      proc_str = "%s > %s QCD=2 QED=4 NP=2 NP^2==4" % (prod_str, decay_str)
    ## launch reweighting
    for rw_name in dict_para_rwt.keys():
      # check if the reweighting parameter is included in the model or not
      skipop=1
      hasCPG=False ## special treatment for cpG (tree level)
      hasCPGonly=True ## for cpG*cXX (tree*loop)
      for param in dict_para_rwt[rw_name]:
        [param_name, value] = param
        if param_name.upper() == "CPG": hasCPG=True
        else: hasCPGonly=False
        for bl in dim6_ops.keys():
          if param_name in dim6_ops[bl]:
            skipop=0
            break
      if skipop and (not hasCPG): continue

      # change process
      ## cpG: tree*tree
      if hasCPG and hasCPGonly:
        # TODO: this does not work, better to run it directly, not via reweighting
        continue
        # LO or NLO
        ## NLO
        if doNLO:
          rwcard.write("""
change mode NLO
""")
          # locally fixed model has cpG removed, need to use the original one
          # only update the model if it's different than the nominal one
          dim6_ops=copy.deepcopy(dim6_ops_NLO)
          if curr_model_name != model_name_NLO_org:
            rwcard.write("""
change model %s
""" % model_name_NLO_org)
            curr_model_name=model_name_NLO_org

          # change the process accordingly for cpG*cpG at NLO
          if doZZ==1: ## on-shell ZZ
            tmp_proc_str = "p p > z z QCD=2 QED=2 NP=2 NP^2==4 [QCD]"
          elif doZZ==2: ## HZZ
            tmp_proc_str = "p p > h > z z QCD=2 QED=2 NP=2 NP^2==4 [QCD]"
          elif doZZ==3: ## no Higgs
            tmp_proc_str = "p p > z z / h QCD=2 QED=2 NP=2 NP^2==4 [QCD]"
          elif doZZ==-1: ## H4l
            tmp_proc_str = "g g > h > %s QCD=2 QED=4 NP=2 NP^2==4 [QCD]" % (decay_str)
          else:
            tmp_proc_str = "g g > %s QCD=2 QED=4 NP=2 NP^2==4 [QCD]" % (decay_str)

          rwcard.write("""
change process %s
""" % tmp_proc_str)

        ## LO
        else:
          dim6_ops=copy.deepcopy(dim6_ops_LO)
          if curr_model_name != model_name_LO_org:
            rwcard.write("""
change model %s
""" % model_name_LO_org)
            curr_model_name=model_name_LO_org

          rwcard.write("""
change process %s
""" % proc_str)

      ## cpG*cXX: tree*loop
      elif hasCPG:
        # NLO model has to be used here
        # locally fixed model has cpG removed, need to use the original one
        # only update the model if it's different than the nominal one
        dim6_ops=copy.deepcopy(dim6_ops_NLO)
        if curr_model_name != model_name_NLO_org:
          rwcard.write("""
change model %s
""" % model_name_NLO_org)
          curr_model_name=model_name_NLO_org

        rwcard.write("""
change process %s [virt=QCD]
""" % (proc_str))

      ## others: loop*loop
      else:
        # NLO model has to be used here
        dim6_ops=copy.deepcopy(dim6_ops_NLO)
        if curr_model_name != model_name_NLO:
          rwcard.write("""
change model %s
""" % model_name_NLO)
          curr_model_name=model_name_NLO

        rwcard.write("""
change process %s %s
""" % (proc_str, QCDmode))

      # launch reweighting
      rwcard.write("launch --rwgt_name=%s_quad\n" % rw_name)

      params = dict()
      # initial setting, disable all EFT parameters
      for bl in dim6_ops.keys():
        params[bl] = dict()
        for op in dim6_ops[bl]:
          params[bl][op] = '1.000000e-20'

      params['dim6']['Lambda'] = '1000.'
      # set the EFT operator under test
      for param in dict_para_rwt[rw_name]:
        [param_name, value] = param
        for bl in dim6_ops.keys():
          if param_name in dim6_ops[bl] or (bl=="dim6" and param_name.upper() == "CPG"):
            params[bl][param_name] = value

      rwcard.write("set dim6 8 1.0\n")
      rwcard.write("set dim6 15 1.0e-20\n")
      rwcard.write("set dim6 19 1.0e-20")

  rwcard.close()

print_cards()

#---------------------------------------------------------------------------
# MG5 process (lhe) generation
#---------------------------------------------------------------------------

generate(process_dir=process_dir,runArgs=runArgs,grid_pack=gridpack_mode)

arrange_output(process_dir=process_dir,runArgs=runArgs,lhe_version=3,saveProcDir=True)

# Helper for resetting process number
check_reset_proc_number(opts)

#---------------------------------------------------------------------------
# Shower
#---------------------------------------------------------------------------

include("Pythia8_i/Pythia8_A14_NNPDF23LO_EvtGen_Common.py")
include("Pythia8_i/Pythia8_aMcAtNlo.py")

## Z boson decay
if doZZ:
  if do2l2v:
    genSeq.Pythia8.Commands += [
                             '23:onMode = off', #decay of Z
                             '23:mMin = 2.0',
                             '23:onIfAny = 11 13',
                             '23:onIfAny = 12 14 16' ]
  else:
    genSeq.Pythia8.Commands += [
                             '23:onMode = off', #decay of Z
                             '23:mMin = 2.0',
                             '23:onIfAny = 11 13',
                             '23:onIfAny = 11 13' ]

===============end of mc.MGPy8EG_N30NLOA14_SMEFTNLO_SM.py===================

Question information

Language:
English Edit question
Status:
Solved
For:
MadGraph5_aMC@NLO Edit question
Assignee:
No assignee Edit question
Solved by:
Olivier Mattelaer
Solved:
Last query:
Last reply:
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) said :
#1

Hi,

yes gridpack are (by design/request) single core job. You can submit that single core job on a cluster if you want (as a normal single serial job using one core) but we do not have the possibility to use multi-core and/or cluster mode.

Cheers,

Olivier

> On 30 May 2021, at 09:41, Yingjie Wei <email address hidden> wrote:
>
> Question #697314 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/697314
>
> Description changed to:
> Hi Madgraph experts:
>
> I'd like to generate events using gridpack on the local cluster.
>
> Here are my detailed steps:
>
> I use mc.MGPy8EG_N30NLOA14_SMEFTNLO_SM.py (attached at the end) at first
> to generate gridpack using the local cluster, (successfully). This
> gridpack can be used on a local computer.
>
> But when I want to use this gridpack to generate events on the local
> cluster (condor) (not on the panda grid) (is this impossible?). It
> always sets the me5_configuration.txt: run_mode=0 (single core)
> automatically, even if I set run_mode=1 (cluster) in
> mc.MGPy8EG_N30NLOA14_SMEFTNLO_SM.py.
>
> (
> 08:10:36 Py:MadGraphUtils INFO Setting run_mode to 0
> 08:10:36 Py:MadGraphUtils INFO Setting nb_core to 1
> )
>
> see more in log.generate
>
> The commands I used are:
>
> ================start of commands===============
>
> export ATLAS_LOCAL_ROOT_BASE=/cvmfs/atlas.cern.ch/repo/ATLASLocalRootBase
> source ${ATLAS_LOCAL_ROOT_BASE}/user/atlasLocalSetup.sh
>
> asetup AthGeneration,21.6.72
>
> Gen_tf.py --ecmEnergy=13000.0 --randomSeed=12345 --jobConfig=../900020
> --outputEVNTFile=tmp.EVNT.root --maxEvents=100000
>
> ================end of commands===============
>
>
> and the log.generate is:
>
> ================start of log.generate===============
>
> 08:10:33 Sun May 30 08:10:33 BST 2021
> 08:10:33 Preloading tcmalloc_minimal.so
> 08:10:33 Preloading /cvmfs/atlas.cern.ch/repo/sw/software/21.6/AthGenerationExternals/21.6.72/InstallArea/x86_64-centos7-gcc62-opt/lib/libintlc.so.5:/cvmfs/atlas.cern.ch/repo/sw/software/21.6/AthGenerationExternals/21.6.72/InstallArea/x86_64-centos7-gcc62-opt/lib/libimf.so
> 08:10:33 Py:Athena INFO including file "AthenaCommon/Preparation.py"
> 08:10:33 Py:Athena INFO using release [AthGeneration-21.6.72] [x86_64-centos7-gcc62-opt] [21.6/6245161fdac] -- built on [2021-05-22T0933]
> 08:10:33 Py:Athena INFO including file "AthenaCommon/Bootstrap.py"
> 08:10:33 Py:Athena INFO including file "AthenaCommon/Atlas.UnixStandardJob.py"
> 08:10:35 Py:Athena INFO executing ROOT6Setup
> 08:10:35 Py:Athena INFO including file "AthenaCommon/Execution.py"
> 08:10:35 Py:Athena INFO including file "runargs.generate.py"
> 08:10:35 Py:Athena INFO including file "EvgenJobTransforms/skel.GENtoEVGEN.py"
> 08:10:35 Py:Athena INFO including file "AthenaCommon/Atlas_Gen.UnixStandardJob.py"
> 08:10:35 Py:Athena INFO including file "PartPropSvc/PartPropSvc.py"
> 08:10:35 Py:Gen_tf INFO ecmEnergy = 13000.0
> 08:10:36 Using JOBOPTSEARCHPATH (as seen in skeleton) = '../900020:/cvmfs/atlas.cern.ch/repo/sw/Generators/MCJobOptions/common:.:/cvmfs/atlas.cern.ch/repo/sw/software/21.6/AthGeneration/21.6.72/InstallArea/x86_64-centos7-gcc62-opt/jobOptions:/cvmfs/atlas.cern.ch/repo/sw/software/21.6/AthGenerationExternals/21.6.72/InstallArea/x86_64-centos7-gcc62-opt/jobOptions:/cvmfs/atlas.cern.ch/repo/sw/software/21.6/GAUDI/21.6.72/InstallArea/x86_64-centos7-gcc62-opt/jobOptions'
> 08:10:36 Py:Athena INFO including file "/cvmfs/atlas.cern.ch/repo/sw/Generators/MC16JobOptions/scripts/check_jo_consistency.py"
> 08:10:36 OK: New jobOption file
> 08:10:36 OK: name format correct
> 08:10:36 OK: MGPy8EG_N30NLOA14_SMEFTNLO_SM physicsShort less than 50 characters long
> 08:10:36 OK: 2 physicsShort parts found
> 08:10:36 OK: Loading generator list file from cvmfs
> 08:10:36 OK: No generator full name is found
> 08:10:36 Generators used: ['MG', 'Py8', 'EG']
> 08:10:36 Py:Athena INFO including file "mc.MGPy8EG_N30NLOA14_SMEFTNLO_SM.py"
> 08:10:36 Py:Athena INFO including file "MadGraphControl_Pythia8EvtGen_SMEFTNLO_ZZ.py"
> 08:10:36 Py:MadGraphUtils INFO Modifying restrict_LO.dat to turn off cpG
> 08:10:36 Py:MadGraphUtils INFO Modifying restrict_NLO.dat to turn off cpG
> 08:10:36 Py:MadGraphUtils INFO Located input grid pack area
> 08:10:36 Py:MadGraphUtils INFO Copying default run_card.dat from madevent/Cards/run_card.dat
> 08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options. PDFs should be set with an include file. You might be unable to follow the PDF4LHC uncertainty prescription. Let's hope you know what you doing !!!
> 08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options and you did not specify a LHAPDF yourself -- in the future, this will cause an error !!!
> 08:10:36 Py:MadGraphUtils INFO Modifying run card located at run_card.tmp.dat
> 08:10:36 Py:MadGraphUtils INFO Setting nevents = 1100
> 08:10:36 Py:MadGraphUtils INFO Setting iseed = 12345
> 08:10:36 Py:MadGraphUtils INFO Setting ebeam1 = 6500.0
> 08:10:36 Py:MadGraphUtils INFO Setting ebeam2 = 6500.0
> 08:10:36 Py:MadGraphUtils INFO Setting scalefact = 1.0
> 08:10:36 Py:MadGraphUtils INFO Setting ptl = 3
> 08:10:36 Py:MadGraphUtils INFO Setting etal = 3.0
> 08:10:36 Py:MadGraphUtils INFO Setting drll = 0.04
> 08:10:36 Py:MadGraphUtils INFO Setting mmll = 0
> 08:10:36 Py:MadGraphUtils INFO Setting mmnl = 130
> 08:10:36 Py:MadGraphUtils INFO Setting maxjetflavor = 5
> 08:10:36 Py:MadGraphUtils INFO Setting use_syst = False
> 08:10:36 Py:MadGraphUtils INFO Setting auto_ptj_mjj = F
> 08:10:36 Py:MadGraphUtils INFO Setting ptj = 0
> 08:10:36 Py:MadGraphUtils INFO Setting ptb = 0
> 08:10:36 Py:MadGraphUtils INFO Setting pta = 0
> 08:10:36 Py:MadGraphUtils INFO Setting etaa = -1
> 08:10:36 Py:MadGraphUtils INFO Setting etab = -1
> 08:10:36 Py:MadGraphUtils INFO Setting drjl = 0
> 08:10:36 Py:MadGraphUtils INFO Setting etaj = -1
> 08:10:36 Py:MadGraphUtils INFO Setting asrwgtflavor = 5
> 08:10:36 Py:MadGraphUtils INFO Setting draa = 0
> 08:10:36 Py:MadGraphUtils INFO Setting dral = 0
> 08:10:36 Py:MadGraphUtils INFO Setting cut_decays = T
> 08:10:36 Py:MadGraphUtils INFO Setting draj = 0
> 08:10:36 Py:MadGraphUtils INFO Setting lhe_version = 3.0
> 08:10:36 Py:MadGraphUtils INFO Setting drjj = 0
> 08:10:36 Py:MadGraphUtils INFO Setting python_seed = 12345
> 08:10:36 Py:MadGraphUtils INFO Finished modification of run card.
> 08:10:36 Py:MadGraphUtils INFO Modifying config card located at madevent/Cards/me5_configuration.txt
> 08:10:36 Py:MadGraphUtils INFO Setting run_mode to 1
> 08:10:36 Py:MadGraphUtils INFO Setting cluster_type to condor
> 08:10:36 Py:MadGraphUtils INFO Setting cluster_queue to tomorrow
> 08:10:36 Py:MadGraphUtils INFO Finished modification of config card.
> 08:10:36 Py:MadGraphUtils INFO 1 1000. # Lambda
> 08:10:36
> 08:10:36 Py:MadGraphUtils INFO 15 0 # cpt
> 08:10:36
> 08:10:36 Py:MadGraphUtils INFO 19 0 # ctp
> 08:10:36
> 08:10:36 Py:MadGraphUtils WARNING No proc_card: proc_card_mg5.dat found
> 08:10:36 Py:MadGraphUtils INFO Default run card in use
> 08:10:36 Py:MadGraphUtils INFO Default param card in use
> 08:10:36 Py:MadGraphUtils INFO No madspin card in use
> 08:10:36 Py:MadGraphUtils INFO No reweight card in use
> 08:10:36 Py:MadGraphUtils INFO Returning cluster type: condor
> 08:10:36
> 08:10:36 Py:MadGraphUtils INFO Located input grid pack area
> 08:10:36 Py:MadGraphUtils INFO Running event generation from gridpack (using smarter mode from generate() function)
> 08:10:36 Py:MadGraphUtils INFO Not using LHAPDF
> 08:10:36 Py:MadGraphUtils INFO Path to fastjet install dir: /cvmfs/atlas.cern.ch/repo/sw/software/21.6/sw/lcg/releases/LCG_88b/fastjet/3.2.0/x86_64-centos7-gcc62-opt
> 08:10:36 Py:MadGraphUtils INFO fastjet-config --version: 3.2.0
> 08:10:36 Py:MadGraphUtils INFO fastjet-config --prefix: /cvmfs/atlas.cern.ch/repo/sw/software/21.6/sw/lcg/releases/fastjet/3.2.0-bb0d1/x86_64-centos7-gcc62-opt
> 08:10:36 Py:MadGraphUtils INFO Setting fastjet = /cvmfs/atlas.cern.ch/repo/sw/software/21.6/sw/lcg/releases/LCG_88b/fastjet/3.2.0/x86_64-centos7-gcc62-opt/bin/fastjet-config in madevent/Cards/me5_configuration.txt
> 08:10:36 Py:MadGraphParamHelpers INFO The parameters that will be updated are:
> 08:10:36 Py:MadGraphParamHelpers INFO {'mass': {'24': '8.0379E+01', '25': '1.2510E+02', '13': '1.056583745E-01', '15': '1.77686E+00', '23': '9.11876E+01', '1': '4.67E-03', '3': '9.3E-02', '2': '2.16E-03', '5': '4.180E+00', '4': '1.27E+00', '6': '1.731E+02', '11': '5.109989461E-04'}, 'yukawa': {'6': '1.731E+02'}, 'decay': {'24': 'DECAY 24 2.085E+00', '25': 'DECAY 25 0.E+00', '13': 'DECAY 13 2.9959847E-19', '15': 'DECAY 15 2.267E-12', '23': 'DECAY 23 2.4952E+00', '1': 'DECAY 1 0.E+00', '3': 'DECAY 3 0.E+00', '2': 'DECAY 2 0.E+00', '5': 'DECAY 5 0.E+00', '4': 'DECAY 4 0.E+00', '6': 'DECAY 6 1.42E+00', '11': 'DECAY 11 0.E+00'}}
> 08:10:36 Py:MadGraphParamHelpers WARNING Block mass needs updates: {'24': '8.0379E+01', '25': '1.2510E+02', '13': '1.056583745E-01', '15': '1.77686E+00', '23': '9.11876E+01', '1': '4.67E-03', '3': '9.3E-02', '2': '2.16E-03', '5': '4.180E+00', '4': '1.27E+00', '6': '1.731E+02', '11': '5.109989461E-04'}
> 08:10:36 Py:MadGraphParamHelpers WARNING Block yukawa needs updates: {'6': '1.731E+02'}
> 08:10:36 Py:MadGraphParamHelpers WARNING Block decay needs updates: {'24': 'DECAY 24 2.085E+00', '25': 'DECAY 25 0.E+00', '13': 'DECAY 13 2.9959847E-19', '15': 'DECAY 15 2.267E-12', '23': 'DECAY 23 2.4952E+00', '1': 'DECAY 1 0.E+00', '3': 'DECAY 3 0.E+00', '2': 'DECAY 2 0.E+00', '5': 'DECAY 5 0.E+00', '4': 'DECAY 4 0.E+00', '6': 'DECAY 6 1.42E+00', '11': 'DECAY 11 0.E+00'}
> 08:10:36 Py:MadGraphUtils INFO Copying default run_card.dat from madevent/Cards/run_card.dat
> 08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options. PDFs should be set with an include file. You might be unable to follow the PDF4LHC uncertainty prescription. Let's hope you know what you doing !!!
> 08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options and you did not specify a LHAPDF yourself -- in the future, this will cause an error !!!
> 08:10:36 Py:MadGraphUtils INFO Modifying run card located at run_card.tmp.dat
> 08:10:36 Py:MadGraphUtils INFO Setting iseed = 12345
> 08:10:36 Py:MadGraphUtils INFO Setting python_seed = 12345
> 08:10:36 Py:MadGraphUtils INFO Finished modification of run card.
> 08:10:36 Py:MadGraphUtils INFO Generating events from gridpack
> 08:10:36 Py:MadGraphUtils INFO >>>> FOUND GRIDPACK <<<< <- This will be used for generation
> 08:10:36 Py:MadGraphUtils INFO Generation of 1100 events will be performed using the supplied gridpack with random seed 12345
> 08:10:36 Py:MadGraphUtils INFO Started generating events at Sun May 30 08:10:36 2021
> 08:10:36 Py:MadGraphUtils INFO Setting up for serial run
> 08:10:36 Py:MadGraphUtils INFO Modifying config card located at madevent/Cards/me5_configuration.txt
> 08:10:36 Py:MadGraphUtils INFO Setting automatic_html_opening to False
> 08:10:36 Py:MadGraphUtils INFO Setting run_mode to 0
> 08:10:36 Py:MadGraphUtils INFO Setting nb_core to 1
> 08:10:36 Py:MadGraphUtils INFO Finished modification of config card.
> 08:10:36 Py:MadGraphUtils INFO For your information, ls of /home/weiy/JO_Madgraph/mc.MGPy8EG_N30NLOA14_SMEFTNLO_NLO_gg4l_SM_gridpack_cluster_mode_corrected_using/run_cluster_run_mode_correct_final:
> 08:10:36 Py:MadGraphUtils INFO ['.asetup.save', 'log', 'log.generate', 'madevent', 'mem.full.generate', 'mem.summary.generate.json_snapshot', 'mgmodels_local', 'run.sh', 'runargs.generate.py', 'runwrapper.generate.sh']
> 08:10:36 Py:MadGraphUtils INFO For your information, ls of madevent:
> 08:10:36 Py:MadGraphUtils INFO ['Cards', 'Events', 'HTML', 'MGMEVersion.txt', 'README', 'Source', 'SubProcesses', 'TemplateVersion.txt', 'bin', 'index.html', 'lib']
> 08:10:36 Py:MadGraphUtils INFO Checking PDF and systematics settings
> 08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options. PDFs should be set with an include file. You might be unable to follow the PDF4LHC uncertainty prescription. Let's hope you know what you doing !!!
> 08:10:36 Py:MadGraphSysUtils WARNING !!! No pdf base fragment was included in your job options and you did not specify a LHAPDF yourself -- in the future, this will cause an error !!!
> 08:10:36 Py:MadGraphUtils INFO Finished checking run card - All OK!
> 08:10:36 Py:MadGraphUtils INFO proc_card:
> 08:10:36 #************************************************************
> 08:10:36 #* MadGraph5_aMC@NLO *
> 08:10:36 #* *
> 08:10:36 #* * * *
> 08:10:36 #* * * * * *
> 08:10:36 #* * * * * 5 * * * * *
> 08:10:36 #* * * * * *
> 08:10:36 #* * * *
> 08:10:36 #* *
> 08:10:36 #* *
> 08:10:36 #* VERSION 2.9.3 2021-03-25 *
> 08:10:36 #* *
> 08:10:36 #* The MadGraph5_aMC@NLO Development Team - Find us at *
> 08:10:36 #* https://server06.fynu.ucl.ac.be/projects/madgraph *
> 08:10:36 #* *
> 08:10:36 #************************************************************
> 08:10:36 #* *
> 08:10:36 #* Command File for MadGraph5_aMC@NLO *
> 08:10:36 #* *
> 08:10:36 #* run as ./bin/mg5_aMC filename *
> 08:10:36 #* *
> 08:10:36 #************************************************************
> 08:10:36 set group_subprocesses Auto
> 08:10:36 set ignore_six_quark_processes False
> 08:10:36 set max_t_for_channel 99
> 08:10:36 set loop_optimized_output True
> 08:10:36 set low_mem_multicore_nlo_generation False
> 08:10:36 set default_unset_couplings 99
> 08:10:36 set zerowidth_tchannel True
> 08:10:36 set loop_color_flows False
> 08:10:36 set gauge unitary
> 08:10:36 set complex_mass_scheme False
> 08:10:36 set max_npoint_for_channel 4
> 08:10:36 import model /home/weiy/JO_Madgraph/mc.MGPy8EG_N30NLOA14_SMEFTNLO_NLO_\
> 08:10:36 gg4l_SM_gridpack_cluster_mode_corrected/run_cluster_size_1000/mgmodels\
> 08:10:36 _local/SMEFTatNLO-cpG_ctp_cpt
> 08:10:36 define p = g u c d s u~ c~ d~ s~
> 08:10:36 define j = g u c d s u~ c~ d~ s~
> 08:10:36 define vl = ve vm vt
> 08:10:36 define vl~ = ve~ vm~ vt~
> 08:10:36 define p = 21 2 4 1 3 -2 -4 -1 -3 5 -5 # pass to 5 flavors
> 08:10:36 define j = p
> 08:10:36 define p = g u c d s b u~ c~ d~ s~ b~
> 08:10:36 define j = g u c d s b u~ c~ d~ s~ b~
> 08:10:36 define l+ = e+ mu+
> 08:10:36 define l- = e- mu-
> 08:10:36 generate g g > l+ l- l+ l- / g QCD=2 QED=4 NP=0 [noborn=QCD]
> 08:10:36 output -f -nojpeg
> 08:10:36 Py:MadGraphUtils INFO run_card:
> 08:10:36 #*********************************************************************
> 08:10:36 # MadGraph5_aMC@NLO *
> 08:10:36 # *
> 08:10:36 # run_card.dat MadEvent *
> 08:10:36 # *
> 08:10:36 # This file is used to set the parameters of the run. *
> 08:10:36 # *
> 08:10:36 # Some notation/conventions: *
> 08:10:36 # *
> 08:10:36 # Lines starting with a '# ' are info or comments *
> 08:10:36 # *
> 08:10:36 # mind the format: value = variable ! comment *
> 08:10:36 # *
> 08:10:36 # To display more options, you can type the command: *
> 08:10:36 # update full_run_card *
> 08:10:36 #*********************************************************************
> 08:10:36 #
> 08:10:36 #*********************************************************************
> 08:10:36 # Tag name for the run (one word) *
> 08:10:36 #*********************************************************************
> 08:10:36 tag_1 = run_tag ! name of the run
> 08:10:36 #*********************************************************************
> 08:10:36 # Number of events and rnd seed *
> 08:10:36 # Warning: Do not generate more than 1M events in a single run *
> 08:10:36 #*********************************************************************
> 08:10:36 1100 = nevents ! Number of unweighted events requested
> 08:10:36 12345 = iseed ! rnd seed (0=assigned automatically=default))
> 08:10:36 #*********************************************************************
> 08:10:36 # Collider type and energy *
> 08:10:36 # lpp: 0=No PDF, 1=proton, -1=antiproton, 2=photon from proton, *
> 08:10:36 # 3=photon from electron, 4=photon from muon *
> 08:10:36 #*********************************************************************
> 08:10:36 1 = lpp1 ! beam 1 type
> 08:10:36 1 = lpp2 ! beam 2 type
> 08:10:36 6500.0 = ebeam1 ! beam 1 total energy in GeV
> 08:10:36 6500.0 = ebeam2 ! beam 2 total energy in GeV
> 08:10:36 # To see polarised beam options: type "update beam_pol"
> 08:10:36
> 08:10:36 #*********************************************************************
> 08:10:36 # PDF CHOICE: this automatically fixes also alpha_s and its evol. *
> 08:10:36 #*********************************************************************
> 08:10:36 nn23lo1 = pdlabel ! PDF set
> 08:10:36 230000 = lhaid ! if pdlabel=lhapdf, this is the lhapdf number
> 08:10:36 # To see heavy ion options: type "update ion_pdf"
> 08:10:36 #*********************************************************************
> 08:10:36 # Renormalization and factorization scales *
> 08:10:36 #*********************************************************************
> 08:10:36 False = fixed_ren_scale ! if .true. use fixed ren scale
> 08:10:36 False = fixed_fac_scale ! if .true. use fixed fac scale
> 08:10:36 91.188 = scale ! fixed ren scale
> 08:10:36 91.188 = dsqrt_q2fact1 ! fixed fact scale for pdf1
> 08:10:36 91.188 = dsqrt_q2fact2 ! fixed fact scale for pdf2
> 08:10:36 -1 = dynamical_scale_choice ! Choose one of the preselected dynamical choices
> 08:10:36 1.0 = scalefact ! scale factor for event-by-event scales
> 08:10:36 #*********************************************************************
> 08:10:36 # Type and output format
> 08:10:36 #*********************************************************************
> 08:10:36 True = gridpack !True = setting up the grid pack
> 08:10:36 -1.0 = time_of_flight ! threshold (in mm) below which the invariant livetime is not written (-1 means not written)
> 08:10:36 average = event_norm ! average/sum. Normalization of the weight in the LHEF
> 08:10:36
> 08:10:36 #*********************************************************************
> 08:10:36 # Matching parameter (MLM only)
> 08:10:36 #*********************************************************************
> 08:10:36 0 = ickkw ! 0 no matching, 1 MLM
> 08:10:36 1.0 = alpsfact ! scale factor for QCD emission vx
> 08:10:36 False = chcluster ! cluster only according to channel diag
> 08:10:36 ! (turn off for VBF and single top processes)
> 08:10:36 0.0 = xqcut ! minimum kt jet measure between partons
> 08:10:36
> 08:10:36
> 08:10:36 #*********************************************************************
> 08:10:36 #
> 08:10:36 #*********************************************************************
> 08:10:36 # Phase-Space Optimization strategy (basic options)
> 08:10:36 #*********************************************************************
> 08:10:36 1 = nhel ! using helicities importance sampling or not.
> 08:10:36 ! 0: sum over helicity, 1: importance sampling
> 08:10:36 2 = sde_strategy ! default integration strategy (hep-ph/2021.xxxxx)
> 08:10:36 ! 1 is old strategy (using amp square)
> 08:10:36 ! 2 is new strategy (using only the denominator)
> 08:10:36 # To see advanced option for Phase-Space optimization: type "update psoptim"
> 08:10:36 #*********************************************************************
> 08:10:36 # Generation bias, check the wiki page below for more information: *
> 08:10:36 # 'cp3.irmp.ucl.ac.be/projects/madgraph/wiki/LOEventGenerationBias' *
> 08:10:36 #*********************************************************************
> 08:10:36 None = bias_module ! Bias type of bias, [None, ptj_bias, -custom_folder-]
> 08:10:36 {} = bias_parameters ! Specifies the parameters of the module.
> 08:10:36 #
> 08:10:36 #*******************************
> 08:10:36 # Parton level cuts definition *
> 08:10:36 #*******************************
> 08:10:36 #
> 08:10:36 #
> 08:10:36 #*********************************************************************
> 08:10:36 # BW cutoff (M+/-bwcutoff*Gamma) ! Define on/off-shell for "$" and decay
> 08:10:36 #*********************************************************************
> 08:10:36 15.0 = bwcutoff ! (M+/-bwcutoff*Gamma)
> 08:10:36 #*********************************************************************
> 08:10:36 # Standard Cuts *
> 08:10:36 #*********************************************************************
> 08:10:36 # Minimum and maximum pt's (for max, -1 means no cut) *
> 08:10:36 #*********************************************************************
> 08:10:36 3 = ptl ! minimum pt for the charged leptons
> 08:10:36 -1.0 = ptlmax ! maximum pt for the charged leptons
> 08:10:36 {} = pt_min_pdg ! pt cut for other particles (use pdg code). Applied on particle and anti-particle
> 08:10:36 {} = pt_max_pdg ! pt cut for other particles (syntax e.g. {6: 100, 25: 50})
> 08:10:36 #
> 08:10:36 # For display option for energy cut in the partonic center of mass frame type 'update ecut'
> 08:10:36 #
> 08:10:36 #*********************************************************************
> 08:10:36 # Maximum and minimum absolute rapidity (for max, -1 means no cut) *
> 08:10:36 #*********************************************************************
> 08:10:36 3.0 = etal ! max rap for the charged leptons
> 08:10:36 0.0 = etalmin ! main rap for the charged leptons
> 08:10:36 {} = eta_min_pdg ! rap cut for other particles (use pdg code). Applied on particle and anti-particle
> 08:10:36 {} = eta_max_pdg ! rap cut for other particles (syntax e.g. {6: 2.5, 23: 5})
> 08:10:36 #*********************************************************************
> 08:10:36 # Minimum and maximum DeltaR distance *
> 08:10:36 #*********************************************************************
> 08:10:36 0.04 = drll ! min distance between leptons
> 08:10:36 -1.0 = drllmax ! max distance between leptons
> 08:10:36 #*********************************************************************
> 08:10:36 # Minimum and maximum invariant mass for pairs *
> 08:10:36 # WARNING: for four lepton final state mmll cut require to have *
> 08:10:36 # different lepton masses for each flavor! *
> 08:10:36 #*********************************************************************
> 08:10:36 0 = mmll ! min invariant mass of l+l- (same flavour) lepton pair
> 08:10:36 -1.0 = mmllmax ! max invariant mass of l+l- (same flavour) lepton pair
> 08:10:36 {} = mxx_min_pdg ! min invariant mass of a pair of particles X/X~ (e.g. {6:250})
> 08:10:36 {'default': False} = mxx_only_part_antipart ! if True the invariant mass is applied only
> 08:10:36 ! to pairs of particle/antiparticle and not to pairs of the same pdg codes.
> 08:10:36 #*********************************************************************
> 08:10:36 # Minimum and maximum invariant mass for all letpons *
> 08:10:36 #*********************************************************************
> 08:10:36 130 = mmnl ! min invariant mass for all letpons (l+- and vl)
> 08:10:36 -1.0 = mmnlmax ! max invariant mass for all letpons (l+- and vl)
> 08:10:36 #*********************************************************************
> 08:10:36 # Minimum and maximum pt for 4-momenta sum of leptons / neutrino *
> 08:10:36 # for pair of lepton includes only same flavor, opposite charge
> 08:10:36 #*********************************************************************
> 08:10:36 0.0 = ptllmin ! Minimum pt for 4-momenta sum of leptons(l and vl)
> 08:10:36 -1.0 = ptllmax ! Maximum pt for 4-momenta sum of leptons(l and vl)
> 08:10:36 #*********************************************************************
> 08:10:36 # Inclusive cuts *
> 08:10:36 #*********************************************************************
> 08:10:36 0.0 = xptl ! minimum pt for at least one charged lepton
> 08:10:36 #*********************************************************************
> 08:10:36 # Control the pt's of leptons sorted by pt *
> 08:10:36 #*********************************************************************
> 08:10:36 0.0 = ptl1min ! minimum pt for the leading lepton in pt
> 08:10:36 0.0 = ptl2min ! minimum pt for the second lepton in pt
> 08:10:36 0.0 = ptl3min ! minimum pt for the third lepton in pt
> 08:10:36 0.0 = ptl4min ! minimum pt for the fourth lepton in pt
> 08:10:36 -1.0 = ptl1max ! maximum pt for the leading lepton in pt
> 08:10:36 -1.0 = ptl2max ! maximum pt for the second lepton in pt
> 08:10:36 -1.0 = ptl3max ! maximum pt for the third lepton in pt
> 08:10:36 -1.0 = ptl4max ! maximum pt for the fourth lepton in pt
> 08:10:36 #*********************************************************************
> 08:10:36 # maximal pdg code for quark to be considered as a light jet *
> 08:10:36 # (otherwise b cuts are applied) *
> 08:10:36 #*********************************************************************
> 08:10:36 5 = maxjetflavor ! Maximum jet pdg code
> 08:10:36 #*********************************************************************
> 08:10:36 #
> 08:10:36 #*********************************************************************
> 08:10:36 # Store info for systematics studies *
> 08:10:36 # WARNING: Do not use for interference type of computation *
> 08:10:36 #*********************************************************************
> 08:10:36 False = use_syst ! Enable systematics studies
> 08:10:36 #
> 08:10:36 systematics = systematics_program ! none, systematics [python], SysCalc [depreceted, C++]
> 08:10:36 ['--pdf=errorset', '--muf=0.5,1,2', '--weight_info=MUR%(mur).1f_MUF%(muf).1f_PDF%(pdf)i', '--mur=0.5,1,2'] = systematics_arguments ! see: https://cp3.irmp.ucl.ac.be/projects/madgraph/wiki/Systematics#Systematicspythonmodule
> 08:10:36 # Syscalc is deprecated but to see the associate options type'update syscalc'
> 08:10:36 F = auto_ptj_mjj
> 08:10:36 0 = ptj
> 08:10:36 0 = ptb
> 08:10:36 0 = pta
> 08:10:36 -1 = etaa
> 08:10:36 -1 = etab
> 08:10:36 0 = drjl
> 08:10:36 -1 = etaj
> 08:10:36 5 = asrwgtflavor
> 08:10:36 0 = draa
> 08:10:36 0 = dral
> 08:10:36 T = cut_decays
> 08:10:36 0 = draj
> 08:10:36 3.0 = lhe_version
> 08:10:36 0 = drjj
> 08:10:36 12345 = python_seed
> 08:10:36 Py:MadGraphUtils INFO param_card:
> 08:10:36 ######################################################################
> 08:10:36 ## PARAM_CARD AUTOMATICALY GENERATED BY MG5 FOLLOWING UFO MODEL ####
> 08:10:36 ######################################################################
> 08:10:36 ## ##
> 08:10:36 ## Width set on Auto will be computed following the information ##
> 08:10:36 ## present in the decay.py files of the model. ##
> 08:10:36 ## See arXiv:1402.1178 for more details. ##
> 08:10:36 ## ##
> 08:10:36 ######################################################################
> 08:10:36
> 08:10:36 ###################################
> 08:10:36 ## INFORMATION FOR DIM6
> 08:10:36 ###################################
> 08:10:36 Block dim6
> 08:10:36 1 1000. # Lambda
> 08:10:36 8 1.000000e-10 # cpG
> 08:10:36
> 08:10:36 ###################################
> 08:10:36 ## INFORMATION FOR DIM62F
> 08:10:36 ###################################
> 08:10:36 Block dim62f
> 08:10:36 15 0 # cpt
> 08:10:36 19 0 # ctp
> 08:10:36
> 08:10:36 ###################################
> 08:10:36 ## INFORMATION FOR MASS
> 08:10:36 ###################################
> 08:10:36 Block mass
> 08:10:36 6 1.720000e+02 # MT
> 08:10:36 23 9.118760e+01 # MZ
> 08:10:36 24 7.982440e+01 # MW
> 08:10:36 25 1.250000e+02 # MH
> 08:10:36 ## Dependent parameters, given by model restrictions.
> 08:10:36 ## Those values should be edited following the
> 08:10:36 ## analytical expression. MG5 ignores those values
> 08:10:36 ## but they are important for interfacing the output of MG5
> 08:10:36 ## to external program such as Pythia.
> 08:10:36 1 0.000000e+00 # d : 0.0
> 08:10:36 2 0.000000e+00 # u : 0.0
> 08:10:36 3 0.000000e+00 # s : 0.0
> 08:10:36 4 0.000000e+00 # c : 0.0
> 08:10:36 5 0.000000e+00 # b : 0.0
> 08:10:36 11 0.000000e+00 # e- : 0.0
> 08:10:36 12 0.000000e+00 # ve : 0.0
> 08:10:36 13 0.000000e+00 # mu- : 0.0
> 08:10:36 14 0.000000e+00 # vm : 0.0
> 08:10:36 15 0.000000e+00 # ta- : 0.0
> 08:10:36 16 0.000000e+00 # vt : 0.0
> 08:10:36 21 0.000000e+00 # g : 0.0
> 08:10:36 22 0.000000e+00 # a : 0.0
> 08:10:36 9000002 9.118760e+01 # ghz : MZ
> 08:10:36 9000003 7.982440e+01 # ghwp : MW
> 08:10:36 9000004 7.982440e+01 # ghwm : MW
> 08:10:36
> 08:10:36 ###################################
> 08:10:36 ## INFORMATION FOR RENOR
> 08:10:36 ###################################
> 08:10:36 Block renor
> 08:10:36 1 1.750000e+02 # mueft
> 08:10:36
> 08:10:36 ###################################
> 08:10:36 ## INFORMATION FOR SMINPUTS
> 08:10:36 ###################################
> 08:10:36 Block sminputs
> 08:10:36 2 1.166370e-05 # Gf
> 08:10:36 3 1.184000e-01 # aS (Note that Parameter not used if you use a PDF set)
> 08:10:36
> 08:10:36 ###################################
> 08:10:36 ## INFORMATION FOR YUKAWA
> 08:10:36 ###################################
> 08:10:36 Block yukawa
> 08:10:36 6 1.720000e+02 # ymt
> 08:10:36
> 08:10:36 ###################################
> 08:10:36 ## INFORMATION FOR DECAY
> 08:10:36 ###################################
> 08:10:36 DECAY 6 1.508336e+00 # WT
> 08:10:36 DECAY 23 2.495200e+00 # WZ
> 08:10:36 DECAY 24 2.085000e+00 # WW
> 08:10:36 DECAY 25 5.753088e-03 # WH
> 08:10:36 ## Dependent parameters, given by model restrictions.
> 08:10:36 ## Those values should be edited following the
> 08:10:36 ## analytical expression. MG5 ignores those values
> 08:10:36 ## but they are important for interfacing the output of MG5
> 08:10:36 ## to external program such as Pythia.
> 08:10:36 DECAY 1 0.000000e+00 # d : 0.0
> 08:10:36 DECAY 2 0.000000e+00 # u : 0.0
> 08:10:36 DECAY 3 0.000000e+00 # s : 0.0
> 08:10:36 DECAY 4 0.000000e+00 # c : 0.0
> 08:10:36 DECAY 5 0.000000e+00 # b : 0.0
> 08:10:36 DECAY 11 0.000000e+00 # e- : 0.0
> 08:10:36 DECAY 12 0.000000e+00 # ve : 0.0
> 08:10:36 DECAY 13 0.000000e+00 # mu- : 0.0
> 08:10:36 DECAY 14 0.000000e+00 # vm : 0.0
> 08:10:36 DECAY 15 0.000000e+00 # ta- : 0.0
> 08:10:36 DECAY 16 0.000000e+00 # vt : 0.0
> 08:10:36 DECAY 21 0.000000e+00 # g : 0.0
> 08:10:36 DECAY 22 0.000000e+00 # a : 0.0
> 08:10:36 DECAY 9000002 2.495200e+00 # ghz : WZ
> 08:10:36 DECAY 9000003 2.085000e+00 # ghwp : WW
> 08:10:36 DECAY 9000004 2.085000e+00 # ghwm : WW
> 08:10:36 #===========================================================
> 08:10:36 # QUANTUM NUMBERS OF NEW STATE(S) (NON SM PDG CODE)
> 08:10:36 #===========================================================
> 08:10:36
> 08:10:36 Block QNUMBERS 9000001 # gha
> 08:10:36 1 0 # 3 times electric charge
> 08:10:36 2 1 # number of spin states (2S+1)
> 08:10:36 3 1 # colour rep (1: singlet, 3: triplet, 8: octet)
> 08:10:36 4 1 # Particle/Antiparticle distinction (0=own anti)
> 08:10:36 Block QNUMBERS 9000002 # ghz
> 08:10:36 1 0 # 3 times electric charge
> 08:10:36 2 1 # number of spin states (2S+1)
> 08:10:36 3 1 # colour rep (1: singlet, 3: triplet, 8: octet)
> 08:10:36 4 1 # Particle/Antiparticle distinction (0=own anti)
> 08:10:36 Block QNUMBERS 9000003 # ghwp
> 08:10:36 1 3 # 3 times electric charge
> 08:10:36 2 1 # number of spin states (2S+1)
> 08:10:36 3 1 # colour rep (1: singlet, 3: triplet, 8: octet)
> 08:10:36 4 1 # Particle/Antiparticle distinction (0=own anti)
> 08:10:36 Block QNUMBERS 9000004 # ghwm
> 08:10:36 1 -3 # 3 times electric charge
> 08:10:36 2 1 # number of spin states (2S+1)
> 08:10:36 3 1 # colour rep (1: singlet, 3: triplet, 8: octet)
> 08:10:36 4 1 # Particle/Antiparticle distinction (0=own anti)
> 08:10:36 Block QNUMBERS 9000005 # ghg
> 08:10:36 1 0 # 3 times electric charge
> 08:10:36 2 1 # number of spin states (2S+1)
> 08:10:36 3 8 # colour rep (1: singlet, 3: triplet, 8: octet)
> 08:10:36 4 1 # Particle/Antiparticle distinction (0=own anti)
> 08:10:36 Py:MadGraphUtils INFO No madspin card in use
> 08:10:36 Py:MadGraphUtils INFO No reweight card in use
> 08:10:36 Py:MadGraphUtils INFO Found madevent/bin/gridrun, starting generation.
> 08:10:36 Py:MadGraphUtils INFO Now generating 1100 events with random seed 12345 and granularity 1
> 08:10:38 No handlers could be found for logger "madevent.cards"
> 08:10:38 P0_gg_llll
>
>
> ================end of log.generate================
>
>
>
> ===============start of mc.MGPy8EG_N30NLOA14_SMEFTNLO_SM.py===================
>
>
> doNLO=0 # for EFT only, 0: LO, 1: NLO
> dogg=1 # production mode, 0: pp, 1: gg
> doZZ=0 # 0: off-shell, 1: on-shell ZZ, ZZ->4l/2l2v, 2: h->ZZ, 3: gg->Z no H; -1: gg->H->4l
> do2l2v=0 # 0: 4l, 1: 2l2v
>
> QCDmode="[noborn=QCD]" # QCD order: None, for LO; "[QCD]", for NLO;
> "[noborn=QCD]", for loop-induced only
>
> EFTorder=0 # 0 for SM only, 1 for EFT linear term, 2 for EFT quadratic term, 3 for all
> EFTop='cpt,ctp,cpG' # EFT parameter name
> EFTval='0,0,0' # value of the EFT parameter, 1 by default
>
> fixModel=1 # turn off cpG via the restriction card
>
> doReweight=0 # 0, no reweighting, 1: linear terms only; 2: quad terms only; 3: both linear and quad terms
> # format is [ 'paramName1_paraValue1', ...] for 1D reweighting
> # or [ 'paramName1_paraValue1--paramName2_paraValue2', ...] for 2D reweighting, etc
> reweights=[]
>
>
> from MadGraphControl.MadGraphUtils import *
> from MadGraphControl import MadGraphUtils
> MadGraphUtils.MADGRAPH_CATCH_ERRORS=False
> import math, os, shutil, copy
>
> ### get MC job-options filename
> FIRST_DIR = (os.environ['JOBOPTSEARCHPATH']).split(":")[0]
> jofiles = [f for f in os.listdir(FIRST_DIR) if (f.startswith('mc') and f.endswith('.py'))]
>
> #---------------------------------------------------------------------------
> # General Settings
> # need to provide the following in the top JO:
> # EFTorder: order of the calculation, 0 for SM only, 1 for EFT linear term, 2 for EFT quadratic term, 3 for all
> # EFTop: EFT parameter name
> # EFTval: value of the EFT parameter, 1 by default
> # dogg: loop-induced or not
> # doNLO: LO or NLO model
> #---------------------------------------------------------------------------
>
> mode=1 # 0: single core; 2: multicore; 1: cluster;
>
> cluster_type=None
> cluster_queue=None
>
> if mode==1:
> cluster_type="condor"
> cluster_queue="tomorrow"
>
> gridpack_mode=True
>
> ## safe factor applied to nevents, to account for the filter efficiency
> safefactor = 1.1
> nevents = runArgs.maxEvents*safefactor if runArgs.maxEvents>0 else safefactor*evgenConfig.nEventsPerJob
> nevents = int(nevents)
>
> ## EFT parameters
> dim6_ops_LO = {
> 'dim6' : ['cpG'],
> 'dim62f' : ['ctp','cpt']
> }
>
> dim6_ops_NLO = {
> 'dim6' : ['cpG'],
> 'dim62f' : ['ctp','cpt']
> }
>
> # the block DIM64F2L not available for NLO, some parameters not available for NLO
> if doNLO:
> dim6_ops=copy.deepcopy(dim6_ops_NLO)
> else:
> dim6_ops=copy.deepcopy(dim6_ops_LO)
>
> # check user defined EFT operator names
> l_EFTop=[]
> l_EFTval=[]
> if EFTop:
> if "," in EFTop:
> for op in EFTop.split(","): l_EFTop.append(op)
> else: l_EFTop.append(EFTop)
>
> for op in l_EFTop:
> op_found = 0
> for bl in dim6_ops.keys():
> for aop in dim6_ops[bl]:
> if aop.upper() == op.upper():
> op_found = 1
> break
> if not op_found:
> raise RuntimeError("EFT parameter %s not avaiable." % op)
>
> if EFTval:
> if "," in EFTval:
> for val in EFTval.split(","): l_EFTval.append(val)
> else: l_EFTval.append(EFTval)
> else:
> # use default value 1
> for ie, op in enumerate(l_EFTop): l_EFTval.append(1)
>
> #---------------------------------------------------------------------------
> # Process
> #---------------------------------------------------------------------------
>
> # model with restrictions: SM, LO, NLO
> model_name_SM = "SMEFTatNLO-cpG_ctp_cpt"
> model_name_LO = model_name_SM+"-cpG_ctp_cpt"
> model_name_NLO = model_name_SM+"-cpG_ctp_cpt"
> model_name = model_name_SM
>
> # production mode
> prod_str = "p p"
> if dogg:
> prod_str = "g g"
> # lepton final states
> decay_str = ""
> if doZZ<=0:
> if do2l2v:
> decay_str = "l+ l- vl vl~ / l+ l- vl vl~ w+ w- g"
> else:
> decay_str = "l+ l- l+ l- / g"
>
>
> if EFTorder==0: ## SM
> if doZZ==1: ## on-shell ZZ
> proc_str = "generate %s > z z QCD=2 QED=2 NP=0" % (prod_str)
> elif doZZ==2: ## HZZ
> proc_str = "generate p p > h > z z QCD=2 QED=2 NP=0"
> elif doZZ==3: ## no Higgs
> proc_str = "generate %s > z z / h QCD=2 QED=2 NP=0" % (prod_str)
> elif doZZ==-1: ## H4l
> proc_str = "generate %s > h > %s QCD=2 QED=4 NP=0" % (prod_str, decay_str)
> else: ## off-shell ll
> proc_str = "generate %s > %s QCD=2 QED=4 NP=0" % (prod_str, decay_str)
> else:
> if EFTorder==1: ## linear
> if doZZ==1: ## on-shell ZZ
> proc_str = "generate %s > z z QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
> elif doZZ==2: ## HZZ
> proc_str = "generate %s > h > z z QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
> elif doZZ==3: ## no Higgs
> proc_str = "generate %s > z z / h QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
> elif doZZ==-1: ## H4l
> proc_str = "generate %s > h > %s QCD=2 QED=4 NP=2 NP^2==2" % (prod_str, decay_str)
> else:
> proc_str = "generate %s > %s QCD=2 QED=4 NP=2 NP^2==2" % (prod_str, decay_str)
> elif EFTorder==2: ## quadratic
> if doZZ==1: ## on-shell ZZ
> proc_str = "generate %s > z z QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
> elif doZZ==2: ## HZZ
> proc_str = "generate %s > h > z z QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
> elif doZZ==3: ## no Higgs
> proc_str = "generate %s > z z / h QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
> elif doZZ==-1: ## H4l
> proc_str = "generate %s > h > %s QCD=2 QED=4 NP=2 NP^2==4" % (prod_str, decay_str)
> else:
> proc_str = "generate %s > %s QCD=2 QED=4 NP=2 NP^2==4" % (prod_str, decay_str)
> elif EFTorder==3: ## All
> if doZZ==1: ## on-shell ZZ
> proc_str = "generate %s > z z QCD=2 QED=2 NP=2" % (prod_str)
> elif doZZ==2: ## HZZ
> proc_str = "generate %s > h > z z QCD=2 QED=2 NP=2" % (prod_str)
> elif doZZ==3: ## no Higgs
> proc_str = "generate %s > z z / h QCD=2 QED=2 NP=2" % (prod_str)
> elif doZZ==-1: ## H4l
> proc_str = "generate %s > h > %s QCD=2 QED=4 NP=2" % (prod_str, decay_str)
> else:
> proc_str = "generate %s > %s QCD=2 QED=4 NP=2" % (prod_str, decay_str)
>
> if doNLO:
> model_name = model_name_NLO
> else:
> model_name = model_name_LO
>
> # QCD order: None, "[QCD]", "[noborn=QCD]"
> if QCDmode:
> proc_str += " "+QCDmode
>
> # use model files locally, to fix cpG
> #mgmodels='/cvmfs/atlas.cern.ch/repo/sw/Generators/madgraph/models/latest/'
> mgmodels='/cvmfs/atlas.cern.ch/repo/sw/Generators/madgraph/models/latest/'
> model_name_LO_org = mgmodels+"/" + model_name_SM+"-LO"
> model_name_NLO_org = mgmodels+"/" + model_name_SM+"-NLO"
> model_name_custom = mgmodels+"/"+model_name_SM+"-cpG_ctp_cpt"
>
> restricted_model=model_name
> model_path='/cvmfs/atlas.cern.ch/repo/sw/Generators/madgraph/models/latest/'
> if fixModel:
> ## copy model files to local
> model_name_def=model_name.split('-')[0]
> local_dir='mgmodels_local'
> if os.path.exists(local_dir):
> shutil.rmtree(local_dir)
> os.mkdir(local_dir)
> local_model=local_dir+'/'+model_name_def
> shutil.copytree(mgmodels+model_name_def,local_model)
>
> ## fix cpG
> tmp_cards=['restrict_LO.dat', 'restrict_NLO.dat']
> for tmp_card in tmp_cards:
> rst_card=local_model+'/'+tmp_card
> if os.access(rst_card,os.R_OK):
> rst_card_old = local_model+"/"+tmp_card.replace(".dat", "Full.dat")
> mglog.info('Modifying %s to turn off cpG' % tmp_card)
> os.rename(rst_card, rst_card_old)
>
> oldCard = open(rst_card_old, 'r')
> newCard = open(rst_card, 'w')
> for line in iter(oldCard):
> if "cpG" in line: line=line.replace('0.8e-04', '0.0e-04')
> newCard.write(line.strip()+'\n')
> oldCard.close()
> newCard.close()
>
> #model_path="./%s" % local_dir
> model_path="/cvmfs/atlas.cern.ch/repo/sw/Generators/madgraph/models/latest/"
> restricted_model="%s/%s" % (model_path, model_name)
> ## update model names which might be used later for reweighting
> model_path=os.getcwd()+"/" + local_dir
> model_name_LO = model_path+"/" + model_name_SM+"-LO"
> model_name_NLO = model_path+"/" + model_name_SM+"-NLO"
>
> model_name_LO_org = model_path+"/" + model_name_SM+"-LOFull"
> model_name_NLO_org = model_path+"/" + model_name_SM+"-NLOFull"
>
>
> ## remove cpG
> if 'dim6' in dim6_ops and 'cpG' in dim6_ops['dim6']:
> dim6_ops['dim6'].remove('cpG')
>
> restricted_model="%s/%s" % (model_path, model_name)
>
> if not is_gen_from_gridpack():
> process = """
> set max_npoint_for_channel 4
> import model %s
> define p = g u c d s b u~ c~ d~ s~ b~
> define j = g u c d s b u~ c~ d~ s~ b~
> define l+ = e+ mu+
> define l- = e- mu-
> %s
> output -f
> """ % (restricted_model, proc_str)
>
> process_dir = new_process(process)
> else:
> process_dir = MADGRAPH_GRIDPACK_LOCATION
>
>
> beamEnergy=-999
> if hasattr(runArgs,'ecmEnergy'):
> beamEnergy = runArgs.ecmEnergy / 2.
> else:
> raise RuntimeError("No center of mass energy found.")
>
> #----------------------------------------------------------------------------
> # Random Seed
> #----------------------------------------------------------------------------
> randomSeed = 0
> if hasattr(runArgs,'randomSeed'): randomSeed = runArgs.randomSeed
>
> #---------------------------------------------------------------------------
> # Number of Events
> #---------------------------------------------------------------------------
> skip_events=0
> if hasattr(runArgs,'skipEvents'): skip_events=runArgs.skipEvents
>
> #---------------------------------------------------------------------------
> # MG5 run Card
> #---------------------------------------------------------------------------
>
> extras = {
> 'asrwgtflavor':"5",
> 'lhe_version':"3.0",
> 'ptj':"0",
> 'ptb':"0",
> 'pta':"0",
> 'ptl':"3",
> 'etaj':"-1",
> 'etab':"-1",
> 'etaa':"-1",
> 'etal':"3.0",
> 'drjj':"0",
> 'mmll':"0",
> 'draa':"0",
> 'draj':"0",
> 'use_syst':"False",
> 'scalefact':'1.0',
> 'drjl':"0",
> 'dral':"0",
> 'drll':"0.04",
> 'maxjetflavor':"5" ,
> 'cut_decays' :'T',
> 'auto_ptj_mjj': 'F',
> 'nevents' : nevents,
> }
> ## m4l cut for 4l
> if (doZZ==0 or doZZ==-1) and (not do2l2v):
> extras['mmnl'] = "130"
> ## settings for NLO
> # call MadGraphUtils.is_NLO_run to make sure it's really an NLO run
> if is_NLO_run(process_dir=process_dir):
> extras = {
> 'lhe_version':"3.0",
> 'parton_shower' :'PYTHIA8',
> 'ptl':"3",
> 'etal':"3.0",
> 'ptj':"0",
> 'etaj':"-1",
> 'mll':"0",
> 'mll_sf':"0",
> 'drll':"0.04",
> 'drll_sf':"0.04",
> 'jetalgo':'-1',
> 'jetradius' : '0.4',
> 'maxjetflavor':"5" ,
> 'nevents' : nevents,
> }
>
> modify_run_card(process_dir=process_dir,runArgs=runArgs,settings=extras)
>
>
> # Set up batch jobs
> #if mode==2 and (not is_gen_from_gridpack()):
> # modify_config_card(process_dir=process_dir,settings={'cluster_type':cluster_type,'cluster_queue':cluster_queue})
> if mode==1 :
> modify_config_card(process_dir=process_dir,settings={'cluster_type':cluster_type,'cluster_queue':cluster_queue,'run_mode':mode})
> else:
> modify_config_card(process_dir=process_dir)
>
>
> #---------------------------------------------------------------------------
> # MG5 param Card
> #---------------------------------------------------------------------------
> if EFTorder>=0:
> # Set SMEFT@NLO parameters
> ## params is a dictionary of dictionaries (each dictionary is a separate block)
> params = dict()
>
> # initial setting, disable all EFT parameters
> for bl in dim6_ops.keys():
> params[bl] = dict()
> for op in dim6_ops[bl]:
> params[bl][op] = '1.000000e-20'
>
> params['dim6']['Lambda'] = '1000.'
> # set the EFT operator under test
> for ie, op in enumerate(l_EFTop):
> val = l_EFTval[ie]
> for bl in dim6_ops.keys():
> if op in dim6_ops[bl]:
> params[bl][op] = val
>
> modify_param_card(process_dir=process_dir,params=params)
>
>
> # Build reweight_card.dat
> if doReweight:
> # Create reweighting card
> reweight_card_loc=process_dir+'/Cards/reweight_card.dat'
> rwcard = open(reweight_card_loc,'w')
>
> ## parameters to reweight
> # format is [ 'paramName1_paraValue1', ...] for 1D reweighting
> # or [ 'paramName1_paraValue1--paramName2_paraValue2', ...] for 2D reweighting, etc
> dict_para_rwt={}
> for rw_name in reweights:
> dict_para_rwt[rw_name]=[]
> for param in rw_name.split('--'):
> param_name, value = param.split('_')
> dict_para_rwt[rw_name].append([param_name, value])
>
> ## model
> curr_model_name=model_name ## keep track of the model used for the previous reweighting
>
> # !!! NLO model has to be used for interference (either tree*loop or loop*loop)
> dim6_ops=copy.deepcopy(dim6_ops_NLO)
>
> ## linear
> if doReweight==1 or doReweight==3:
> if doZZ==1: ## on-shell ZZ
> proc_str = "%s > z z QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
> elif doZZ==2: ## HZZ
> proc_str = "%s > h > z z QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
> elif doZZ==3: ## no Higgs
> proc_str = "%s > z z / h QCD=2 QED=2 NP=2 NP^2==2" % (prod_str)
> elif doZZ==-1: ## H4l
> proc_str = "%s > %s QCD=2 QED=4 NP=2 NP^2==2" % (prod_str, decay_str)
> else:
> proc_str = "%s > %s QCD=2 QED=4 NP=2 NP^2==2" % (prod_str, decay_str)
> ## launch reweighting
> for rw_name in dict_para_rwt.keys():
> # check if the reweighting parameter is included in the model or not
> skipop=1
> hasCPG=False ## special treatment for cpG (tree level)
> for param in dict_para_rwt[rw_name]:
> [param_name, value] = param
> if param_name.upper() == "CPG": hasCPG=True
> for bl in dim6_ops.keys():
> if param_name in dim6_ops[bl]:
> skipop=0
> break
> if skipop and (not hasCPG): continue
>
> # change process
> ## cpG: tree*loop
> if hasCPG:
> # locally fixed model has cpG removed, need to use the original one
> # only update the model if it's different than the nominal one
> if curr_model_name != model_name_NLO_org:
>
> curr_model_name=model_name_NLO_org
>
> rwcard.write("""
> change process %s [virt=QCD]
> """ % proc_str)
>
> ## others: loop*loop
> else:
> # use locally fixed model with cpG removed
> # only update the model if it's different than the nominal one
> if curr_model_name != model_name_NLO:
> rwcard.write("""
> change model %s
> """ % model_name_NLO)
> curr_model_name=model_name_NLO
>
> rwcard.write("""
> change process %s %s
> """ % (proc_str, QCDmode))
>
>
> # launch reweighting
> rwcard.write("launch --rwgt_name=%s_lin\n" % rw_name)
>
> params = dict()
> # initial setting, disable all EFT parameters
> for bl in dim6_ops.keys():
> params[bl] = dict()
> for op in dim6_ops[bl]:
> params[bl][op] = '1.000000e-20'
>
> params['dim6']['Lambda'] = '1000.'
> # set the EFT operator under test
> for param in dict_para_rwt[rw_name]:
> [param_name, value] = param
> for bl in dim6_ops.keys():
> if param_name in dim6_ops[bl] or (bl=="dim6" and param_name.upper() == "CPG"):
> params[bl][param_name] = value
>
> rwcard.write("set dim6 8 1.0\n")
> rwcard.write("set dim6 15 1.0e-20\n")
> rwcard.write("set dim6 19 1.0e-20")
>
> ## quadratic
> if doReweight==2 or doReweight==3:
> dim6_ops=copy.deepcopy(dim6_ops_NLO)
>
> if doZZ==1: ## on-shell ZZ
> proc_str = "%s > z z QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
> elif doZZ==2: ## HZZ
> proc_str = "%s > h > z z QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
> elif doZZ==3: ## no Higgs
> proc_str = "%s > z z / h QCD=2 QED=2 NP=2 NP^2==4" % (prod_str)
> elif doZZ==-1: ## H4l
> proc_str = "%s > h > %s QCD=2 QED=4 NP=2 NP^2==4" % (prod_str, decay_str)
> else:
> proc_str = "%s > %s QCD=2 QED=4 NP=2 NP^2==4" % (prod_str, decay_str)
> ## launch reweighting
> for rw_name in dict_para_rwt.keys():
> # check if the reweighting parameter is included in the model or not
> skipop=1
> hasCPG=False ## special treatment for cpG (tree level)
> hasCPGonly=True ## for cpG*cXX (tree*loop)
> for param in dict_para_rwt[rw_name]:
> [param_name, value] = param
> if param_name.upper() == "CPG": hasCPG=True
> else: hasCPGonly=False
> for bl in dim6_ops.keys():
> if param_name in dim6_ops[bl]:
> skipop=0
> break
> if skipop and (not hasCPG): continue
>
> # change process
> ## cpG: tree*tree
> if hasCPG and hasCPGonly:
> # TODO: this does not work, better to run it directly, not via reweighting
> continue
> # LO or NLO
> ## NLO
> if doNLO:
> rwcard.write("""
> change mode NLO
> """)
> # locally fixed model has cpG removed, need to use the original one
> # only update the model if it's different than the nominal one
> dim6_ops=copy.deepcopy(dim6_ops_NLO)
> if curr_model_name != model_name_NLO_org:
> rwcard.write("""
> change model %s
> """ % model_name_NLO_org)
> curr_model_name=model_name_NLO_org
>
> # change the process accordingly for cpG*cpG at NLO
> if doZZ==1: ## on-shell ZZ
> tmp_proc_str = "p p > z z QCD=2 QED=2 NP=2 NP^2==4 [QCD]"
> elif doZZ==2: ## HZZ
> tmp_proc_str = "p p > h > z z QCD=2 QED=2 NP=2 NP^2==4 [QCD]"
> elif doZZ==3: ## no Higgs
> tmp_proc_str = "p p > z z / h QCD=2 QED=2 NP=2 NP^2==4 [QCD]"
> elif doZZ==-1: ## H4l
> tmp_proc_str = "g g > h > %s QCD=2 QED=4 NP=2 NP^2==4 [QCD]" % (decay_str)
> else:
> tmp_proc_str = "g g > %s QCD=2 QED=4 NP=2 NP^2==4 [QCD]" % (decay_str)
>
> rwcard.write("""
> change process %s
> """ % tmp_proc_str)
>
> ## LO
> else:
> dim6_ops=copy.deepcopy(dim6_ops_LO)
> if curr_model_name != model_name_LO_org:
> rwcard.write("""
> change model %s
> """ % model_name_LO_org)
> curr_model_name=model_name_LO_org
>
> rwcard.write("""
> change process %s
> """ % proc_str)
>
> ## cpG*cXX: tree*loop
> elif hasCPG:
> # NLO model has to be used here
> # locally fixed model has cpG removed, need to use the original one
> # only update the model if it's different than the nominal one
> dim6_ops=copy.deepcopy(dim6_ops_NLO)
> if curr_model_name != model_name_NLO_org:
> rwcard.write("""
> change model %s
> """ % model_name_NLO_org)
> curr_model_name=model_name_NLO_org
>
> rwcard.write("""
> change process %s [virt=QCD]
> """ % (proc_str))
>
> ## others: loop*loop
> else:
> # NLO model has to be used here
> dim6_ops=copy.deepcopy(dim6_ops_NLO)
> if curr_model_name != model_name_NLO:
> rwcard.write("""
> change model %s
> """ % model_name_NLO)
> curr_model_name=model_name_NLO
>
> rwcard.write("""
> change process %s %s
> """ % (proc_str, QCDmode))
>
> # launch reweighting
> rwcard.write("launch --rwgt_name=%s_quad\n" % rw_name)
>
> params = dict()
> # initial setting, disable all EFT parameters
> for bl in dim6_ops.keys():
> params[bl] = dict()
> for op in dim6_ops[bl]:
> params[bl][op] = '1.000000e-20'
>
> params['dim6']['Lambda'] = '1000.'
> # set the EFT operator under test
> for param in dict_para_rwt[rw_name]:
> [param_name, value] = param
> for bl in dim6_ops.keys():
> if param_name in dim6_ops[bl] or (bl=="dim6" and param_name.upper() == "CPG"):
> params[bl][param_name] = value
>
> rwcard.write("set dim6 8 1.0\n")
> rwcard.write("set dim6 15 1.0e-20\n")
> rwcard.write("set dim6 19 1.0e-20")
>
> rwcard.close()
>
> print_cards()
>
>
> #---------------------------------------------------------------------------
> # MG5 process (lhe) generation
> #---------------------------------------------------------------------------
>
> generate(process_dir=process_dir,runArgs=runArgs,grid_pack=gridpack_mode)
>
> arrange_output(process_dir=process_dir,runArgs=runArgs,lhe_version=3,saveProcDir=True)
>
> # Helper for resetting process number
> check_reset_proc_number(opts)
>
> #---------------------------------------------------------------------------
> # Shower
> #---------------------------------------------------------------------------
>
> include("Pythia8_i/Pythia8_A14_NNPDF23LO_EvtGen_Common.py")
> include("Pythia8_i/Pythia8_aMcAtNlo.py")
>
> ## Z boson decay
> if doZZ:
> if do2l2v:
> genSeq.Pythia8.Commands += [
> '23:onMode = off', #decay of Z
> '23:mMin = 2.0',
> '23:onIfAny = 11 13',
> '23:onIfAny = 12 14 16' ]
> else:
> genSeq.Pythia8.Commands += [
> '23:onMode = off', #decay of Z
> '23:mMin = 2.0',
> '23:onIfAny = 11 13',
> '23:onIfAny = 11 13' ]
>
> ===============end of
> mc.MGPy8EG_N30NLOA14_SMEFTNLO_SM.py===================
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Yingjie Wei (yingjiewei) said (last edit ):
#2

Hi Olivier:

     Thanks a lot for the prompt reply,

Cheers,
Yingjie

Revision history for this message
Best Olivier Mattelaer (olivier-mattelaer) said :
#3

You have to write your own submission script in this case.

Cheers,

Olivier

> On 30 May 2021, at 10:45, Yingjie Wei <email address hidden> wrote:
>
> Question #697314 on MadGraph5_aMC@NLO changed:
> https://answers.launchpad.net/mg5amcnlo/+question/697314
>
> Status: Answered => Open
>
> Yingjie Wei is still having a problem:
> Hi Olivier:
>
> Thanks a lot for the prompt reply.
>
> I was wondering whether I could set the cluster_type: condor to
> submit the gridpack (using gridpack) job to the local cluster (like when
> I generate the gridpack) or I have to write the condor script by myself.
>
> Cheers,
> Yingjie
>
> --
> You received this question notification because you are an answer
> contact for MadGraph5_aMC@NLO.

Revision history for this message
Yingjie Wei (yingjiewei) said :
#4

Thanks Olivier Mattelaer, that solved my question.