diff --git a/setup/configs/2jetfc.fnl3832-fc-v2_luigi.cfg b/setup/configs/2jetfc.fnl3832-fc-v2_luigi.cfg new file mode 100644 index 0000000000000000000000000000000000000000..50850644536b9ea734fa794297c8dc81d5b79675 --- /dev/null +++ b/setup/configs/2jetfc.fnl3832-fc-v2_luigi.cfg @@ -0,0 +1,642 @@ +[core] +no_lock = True +# Set local scheduler +local_scheduler = True +#default-scheduler-host = condorcentral.etp.kit.edu +#default-scheduler-port = 8082 + +[scheduler] +retry_count = 0 +retry_delay = 86400 + +[worker] +keep_alive = False +ping_interval = 20 +wait_interval = 20 +max_reschedules = 1 + +[DEFAULT] +# Switch my debugging on/off (not yet implemented in most tasks) +#my_debug = True + +# Name of your analysis +name = fnl3832-fc-v2 + +# If known, set proper Rivet_Id for data comparison plots +rivetid = CMS_2017_I1598460 + +# NNLOJET process and job name (the jobname is $channel-$jobnameext), and technical cutoff with leading 'y' +process = 2jetfc +jobnameext = CMS8-ak07 +cutoff = y1.00E-08 +multi_channel = .false. .false. .false. 5 5 5 5 + +# NNLOJET channels +# Complete LIST to be used in production; serves to create dictionary with settings per channel; settings must have same lengths! +allchannels = ["LO", "R", "V", "RRa", "RRb", "RV", "VV"] +# Default space-separated list of channels to be used in specific tasks; can be used as command line option. +# With coloured particles in final state (jets): 7 channels +channels = LO R V RRa RRb RV VV +# No coloured particle in final state (W,Z,H): 6 channels +# channels = LO R V RR RV VV + +# Grid merging setup as defined in combine.ini; check compatibility +final_tables = { + "LO": ["LO"], +# Use the following lines when NLO is ready to be merged in as well (don't forget to add/remove a comma above) + "NLO": ["LO", "R", "V"], + "NLO_only": ["R", "V"], +# Use the following lines when NNLO is ready to be merged in as well (don't forget to add/remove a comma above) + "NNLO_only": ["RRa", "RRb", "RV", "VV"], + "NNLO": ["LO", "R", "V", "RRa", "RRb", "RV", "VV"] + } + +# List of all observables (APPLfast grid names for NNLOJET histograms) +observables = [ + "fnl3832-fc-v2_yb0_ys0_ptavgj12", + "fnl3832-fc-v2_yb0_ys1_ptavgj12", + "fnl3832-fc-v2_yb0_ys2_ptavgj12", + "fnl3832-fc-v2_yb1_ys0_ptavgj12", + "fnl3832-fc-v2_yb1_ys1_ptavgj12", + "fnl3832-fc-v2_yb2_ys0_ptavgj12" + ] + +# Default htcondor job submission configuration (modifiable for each task) +htcondor_accounting_group = cms.jet +#htcondor_accounting_group = cms.production +htcondor_requirements = (TARGET.ProvidesCPU==true) +htcondor_remote_job = True +#htcondor_user_proxy = /tmp/x509up_u12010 +htcondor_user_proxy = /home/rabbertz/.globus/x509_proxy +# Time in seconds +htcondor_walltime = 84000 +htcondor_request_cpus = 1 +htcondor_use_cpus = 1 1 1 1 1 1 1 +# For all cores in total +htcondor_request_memory = 4096 +htcondor_universe = docker +htcondor_docker_image = mschnepf/slc7-condocker +# Disk usage on WN (def = 1000000) +htcondor_request_disk = 2000000 + +# Create log files in htcondor jobs +transfer_logs = True + +# Set tolerance for workflow success with failed branches +tolerance = 0 + +# Submit only missing htcondor workflow branches (should always be true) +only_missing = True + +# Do not resubmit automatically (default is 5); important for debugging! +retries = 7 + +# Bootstrap file to be sourced at beginning of htcondor jobs +bootstrap_file = bootstrap_NNLOJET_modules2_rev6591_bridge-1.0.0_202309.sh + +# Local directories, defaults are 'grids', 'plots', 'tags', 'warmups' +# - unpacking and merging of grids in local directories $merge_dir/$name/[$channel|Combined] +#merge_dir = grids +# - production of plots in local directories $plots_dir/$name +#plots_dir = plots +# - storing tags to mark tasks as finished in separate local directories $tags_dir/[Combine|FnloCppread] +#tags_dir = tags +# - unpacking of NNLOJET and fastNLO warmups into local directories $warm_dir/[warmup|rewarmup|fastwarm|mergefastwarm]/$name +#warm_dir = warmups + +# fastNLO cppread options for grid/table comparison to NNLOJET original +# Confer the NNLOJET run file +# PDF choice for production +pdf = NNPDF31_nnlo_as_0118 +# Central scale choice for grid closure, cf. NNLOJET run file & nnlobridge setup [kScale1, kScale2, scale12, scale21, kProd = scale1*scale2] +# Either one scale for all or one per observable +scale = kScale1 +# Central scale choice(s) for flex-table evaluation, cf. fastNLO enumerator EScaleFunctionalForm: "0"=kScale1, "1"=kScale2, "2"=kQuadraticSum, ..., "9"=kProd, ... +# For now one number for both, mur and muf; fixed-scale tables must have 0 here +scaleindex = 0 +# Central plus scale variations, cf. NNLOJET run file & nnlobridge setup +# None: --> 1; fixed-scale: --> 7; flex-scale low pT: --> -6; flex-scale high pT: --> -12 +# Either one number for all or one per observable +scalecombs = 7 7 7 7 7 7 +ascode = LHAPDF +norm = no + +# Included in analysis.tar.gz +# Path to base runcard file +base_runcard = 2jetfc.fnl3832-fc-v2.run +# Local directory with all steering files +steer_dir = steeringfiles + +# +# START of the ACTION +# + +[Warmup] +# produced @ grid storage under Warmup + +# Override some defaults for this task +# htcondor config +# If BWFORCLUSTER is too full +#htcondor_requirements = (TARGET.ProvidesCPU==true) +#htcondor_requirements = (TARGET.CloudSite=="blade") +#htcondor_request_cpus = 1 +#htcondor_use_cpus = 1 1 1 1 1 1 1 +#htcondor_requirements = (TARGET.CloudSite=="topas") +#htcondor_request_cpus = 42 +#htcondor_use_cpus = 28 28 28 28 28 28 28 +htcondor_requirements = (TARGET.CloudSite=="BWFORCLUSTER") +#htcondor_request_cpus = 20 +#htcondor_use_cpus = 20 20 20 20 20 20 20 +# for all cores in total +#htcondor_request_memory = 8000 + +# Set multicore usage per channel +htcondor_request_cpus = 4 +htcondor_use_cpus = 4 4 4 4 4 4 4 + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV +# NNLOJET event count and integration steps for every channel +# MUST be of the same length as channels! +#starting_seed = 0 + +# 1st test setup, <~ 5 minutes +# (main integration may have run separately ...; +# see also luigi_warmup_nemo and luigi_warmup_topas, if existing, configs for settings) +# first seed for first branch, counting upwards +warmup_events = 10000 10000 10000 1000 1000 1000 1000 +warmup_iterations = 3 3 3 3 3 3 3 +# time in seconds +htcondor_walltime = 3600 + +# Make warmup unusable without explicit editing to avoid reproducing 'lost' warmups on-the-fly! +# Such jobs would either run for a long time or be of very low quality. +# With seeds starting below zero, NNLOJET reports an error, but unfortunately with return code=0. +# This is captured in the Warmup task. +starting_seed = -9 + +# Real warmup is from git@github.com:neorobin88/APPLfast2.git: ProcessRuncards/CMS8TeVJets1705.02628/ptavg3DR07/modules2/FC/warmupgridwithColourSample + +[CopyWarmup] +# untar'ed to local storage under $warm_dir/warmup/$name + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV + +# Up to NLO only +#channels = LO R V + +[PlotVegasGrids] +# produced @ local storage under $plots_dir + +# gnuplotted into local storage $warm_dir/warmup/$name +# Needs gnuplot version > 4.6 --> does not work on Centos7 portal machines + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV + +# Up to NLO only +#channels = LO R V + +[Rewarmup] +# produced @ grid storage under Rewarmup + +# Override some defaults for this task +# htcondor config +#htcondor_requirements = (TARGET.CloudSite=="blade") +htcondor_request_cpus = 1 +htcondor_use_cpus = 1 1 1 1 1 1 1 +#htcondor_requirements = (TARGET.CloudSite=="topas") +#htcondor_request_cpus = 42 +#htcondor_use_cpus = 28 28 28 28 28 28 28 +htcondor_requirements = (TARGET.CloudSite=="BWFORCLUSTER") +#htcondor_request_cpus = 20 +#htcondor_use_cpus = 20 20 20 20 20 20 20 +# for all cores in total +htcondor_request_memory = 8000 + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV +# NNLOJET event count and integration steps for every channel +# MUST be of the same length as channels! + +# Test setup +# first seed for first branch, counting upwards +starting_seed = 10 +warmup_events = 1000 1000 1000 1000 1000 1000 1000 +warmup_iterations = 3 3 3 3 3 3 3 +# time in seconds +htcondor_walltime = 1800 + +# No rewarmup was run! + +[CopyRewarmup] +# untar'ed to local storage under $warm_dir/rewarmup/$name + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV + +[FastWarm] +# produced @ grid storage under FastWarm + +# override some defaults for this task +# accept as complete at 95% +acceptance = 0.95 +# htcondor config +htcondor_request_memory = 2000 +# If BWFORCLUSTER is too full +#htcondor_requirements = (TARGET.ProvidesCPU==true) +# If ETP blades are too slow +#htcondor_requirements = (TARGET.CloudSite=="BWFORCLUSTER") +# Everything fast +htcondor_requirements = ((TARGET.CloudSite=="BWFORCLUSTER")||(TARGET.CloudSite=="schnepf")||(TARGET.CloudSite=="topas")) +# Up to 6h +#htcondor_requirements = ((TARGET.CloudSite=="schnepf")||(TARGET.CloudSite=="topas")||(TARGET.CloudSite=="forHLR2")) + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV +# NNLOJET event count and number of jobs for each channel +starting_seeds = 1000 2000 3000 4000 5000 6000 7000 + +# 1st test setup, <~ 5 minutes +#fastwarm_events = 1000 200 1000 100 250 200 1000 +#fastwarm_events = 1000000 200000 1000000 25000 250000 200000 1000000 +#fastwarm_jobs = 1 1 1 1 1 1 1 +#fastwarm_jobs = 2 2 2 2 2 2 2 +# time in seconds +#htcondor_walltime = 180 + +# 2nd test setup, <~ 20-30 minutes (22, 30, 22, 51, 51, 30, 22 min) +#fastwarm_events = 20000000 4000000 20000000 500000 5000000 4000000 20000000 +#fastwarm_jobs = 2 2 2 2 2 2 2 +# time in seconds +#htcondor_walltime = 1800 + +# Final setup, ~12 hours (15, 21, 15, 18, 19, 22, 15) +fastwarm_events = 600000000 90000000 600000000 7000000 70000000 90000000 600000000 +fastwarm_jobs = 20 20 20 20 20 20 20 +# time in seconds +htcondor_walltime = 44000 + +[CopyFastWarm] +# untar'ed to local storage under $warm_dir/fastwarm/$name + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV + +[MergeFastWarm] +# produced @ grid storage under MergeFastWarm + +# Reuse merged fast warmup from fnl2412e for fix- and flex-scale tables + +[CopyMergeFastWarm] +# untar'ed to local storage under $warm_dir/mergefastwarm/$name + +[FastProd] +# produced @ grid storage under FastProd +# Uncomment to define subdirectory per allchannel to delimit file numbers; default '.' +# fastprod_subdirs = LO R V ... + +# override some defaults for this task +# accept as complete at 95% +acceptance = 0.95 +# If BWFORCLUSTER is too full +#htcondor_requirements = (TARGET.ProvidesCPU==true) +#htcondor_requirements = (TARGET.Cloudsite=="blade") +#htcondor_requirements = (TARGET.CloudSite=="topas") +# If ETP blades are too slow +#htcondor_requirements = (TARGET.CloudSite=="BWFORCLUSTER") +# Everything fast +#htcondor_requirements = (TARGET.CloudSite=="BWFORCLUSTER") +#htcondor_requirements = ((TARGET.CloudSite=="BWFORCLUSTER")||(TARGET.CloudSite=="topas")) +htcondor_requirements = ((TARGET.CloudSite=="BWFORCLUSTER")||(TARGET.CloudSite=="topas")||(TARGET.CloudSite=="mdm")) +#htcondor_requirements = ((TARGET.CloudSite=="BWFORCLUSTER")||(TARGET.CloudSite=="schnepf")||(TARGET.CloudSite=="topas")) +#htcondor_request_memory = 7500 +htcondor_request_memory = 4000 + +# Set multicore usage per channel +htcondor_request_cpus = 1 +htcondor_use_cpus = 1 1 1 1 1 1 1 +#htcondor_request_cpus = 4 +#htcondor_use_cpus = 4 4 4 4 4 4 4 + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV +#fastprod_subdirs = LO R . . . . . +# NNLOJET seeds, event count, and number of jobs for each channel +starting_seeds = 10000 20000 30000 40000 50000 60000 70000 + +# 1st test setup, 1 core, ~20 min (60, 100, 116, 116, 25, 26, 82) min, (nemo, topas) +#fastprod_events = 20000000 176000 650000 16000 17000 24000 650000 + +# 2nd test setup, 1 cores, ~60 min (15, 24, 37, 61, 26, 27, 38) min, (nemo, topas) +# --> kev/min/core: 333, 2.1, 5.4, 0.13, 0.67, 0.93, 8.6 +#fastprod_events = 5000000 50000 200000 8000 17500 25000 325000 +# 2nd test setup, 4 cores, ~60 min (18, 19, 19, 34, 16, 15, 24) min, (nemo, topas) +# --> kev/min/core: 139, 1.3, 5.3, 0.12, 0.55, 0.83, 6.8 --> speed 1-core/4-core: 2.4, 1.6, 1.1, 1.1, 1.2, 1.1, 1.3 +#fastprod_events = 10000000 100000 400000 16000 35000 50000 650000 +#fastprod_jobs = 2 2 2 2 2 2 2 +# time in seconds +#htcondor_walltime = 3600 + +# Final setup, ~22 h, 1,1,1,4,4,4,4 cores (14->16->?, 11->20->?, 13->19->?, 12->18->?, 12->20->21, 10->21->?, 10->21->?) h +#fastprod_events = 240000000 1250000 4000000 335000 1500000 2000000 18000000 +#fastprod_events = 300000000 2500000 6500000 500000 2750000 4400000 40000000 +#fastprod_events = 300000000 2500000 6500000 600000 3000000 4400000 40000000 +fastprod_events = 380000000 2700000 7200000 600000 3000000 4600000 42000000 +#fastprod_jobs = 10 10 10 0 0 0 0 +#fastprod_jobs = 0 0 0 10 10 10 10 +#fastprod_jobs = 10 10 10 10 10 10 10 +#fastprod_jobs = 0 0 0 100 100 100 50 +#fastprod_jobs = 15 20 20 0 0 0 0 +#fastprod_jobs = 15 20 20 100 100 100 50 +#fastprod_jobs = 25 250 50 0 0 0 0 +#fastprod_jobs = 25 500 100 0 0 0 0 +#fastprod_jobs = 0 0 0 500 250 500 75 +#fastprod_jobs = 0 0 0 1000 250 2000 75 +#fastprod_jobs = 25 250 50 500 250 500 75 +#fastprod_jobs = 25 500 100 1000 250 1000 75 +#fastprod_jobs = 25 1000 100 1000 250 1000 75 +fastprod_jobs = 25 1081 100 9101 250 9101 75 +# Jobs from Klaus: LO : s10000-10024, V : s30000-30099, VV : s70000-70074, RRb: s50000-50249 +# Jobs from Klaus: R : s20000-20999, RRa: s40000-40999, RV : s60000-61999 +# Jobs from Lucas: R : s25001-25080, RRa: s45001-49100, RV : s65001-69100 +htcondor_walltime = 86000 + +[CopyTables] +# copied to local storage under $merge_dir/$name/CHANNEL, see above + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV + +# Up to LO/NLO only +#channels = LO +#channels = LO R V + +# accept as complete at 95% +acceptance = 0.95 + +# Uncomment the following line to have this task ignore the level +# of completeness of the previous required task (FastProd). +# In that case this task works on whatever is ready to be treated, +# but interrupts the chain of requirements in the workflow. +force = True + +[FnloCppread] +# produced @ local storage under $merge_dir/$name/CHANNEL +# ATTENTION: Combine now requires FnloCppread instead of CopyTables such that all grids have been checked for readability beforehand! +# ATTENTION: Incomplete table availability with unlimited branches and mutiple workers leads to unending task +# --> Needs to be stopped/killed manually + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV + +# Up to LO/NLO only +#channels = LO +#channels = LO R V + +# Accept as complete at 95% +acceptance = 0.95 + +# Uncomment the following line to have this task ignore the level +# of completeness of the previous required task (CopyTables). +# In that case this task works on whatever is ready to be treated, +# but interrupts the chain of requirements in the workflow. +force = True + +[Combine] +# produced @ local storage under $merge_dir/$name/Combined +# Always consumes only one worker, but uses multiple threads inside the script by NNLOJET as set below by number of cores + +# Always needs all channels up to some order LO, NLO, or NNLO +channels = LO R V RRa RRb RV VV +#channels = LO R V +#channels = LO + +# Path to combine.ini config; check compatibility to desired order +combine_ini = combine.ini +#combine_ini = combine-LO.ini +#combine_ini = combine-NLO.ini +# Update of only part of the contributions +#combine_ini = combine-Real.ini +#combine_ini = combine-RRaRV.ini + +# Number of cores for NNLOJET combine script +cores = 20 + +[Recombine] +# produced @ local storage under $merge_dir/$name/Combined +# Produces the files for adding stat. uncertainties to the grids; profits from multiple workers + +# Needs all input channels up to some order plus combined channels as defined in combine_ini +channels = LO R V RRa RRb RV VV NLO NLO_only NNLO NNLO_only +#channels = LO R V +#channels = LO + +# Path to combine.ini config; check compatibility to desired order +combine_ini = combine.ini +#combine_ini = combine-LO.ini +#combine_ini = combine-NLO.ini +# Update of only part of the contributions +#combine_ini = combine-Real.ini +#combine_ini = combine-RRaRV.ini + +# Number of cores for NNLOJET combine script +cores = 20 + +[MergeFastProd] +# produced @ local storage under $merge_dir/$name/Combined/Final + +# Always needs all channels up to some order LO, NLO, or NNLO +#channels = LO R V RRa RRb RV VV + +# Up to LO/NLO only +#channels = LO +#channels = LO R V + +# NNLOJET weight file to use for merging (LO, NLO, or NNLO) +weightorder = NNLO + +# Accept as complete at 95% +acceptance = 0.95 + +# Execute workflow as local workflow instead of htcondor workflow (useful for merging small amount of grids, to be removed later) +workflow = local + +[MergeFinal] +# produced @ local storage under $merge_dir/$name/Combined/Final + +# Channels are set via final_tables dictionary +final_tables = { + "LO": ["LO"], +# Use the following lines when NLO is ready to be merged in as well (don't forget to add/remove a comma above) + "NLO": ["LO", "R", "V"], + "NLO_only": ["R", "V"], +# Use the following lines when NNLO is ready to be merged in as well (don't forget to add/remove a comma above) + "NNLO_only": ["RRa", "RRb", "RV", "VV"], + "NNLO": ["LO", "R", "V", "RRa", "RRb", "RV", "VV"] + } + +[AddStatunc] +# produced @ local storage under $merge_dir/$name/Combined/Final +# Requires Recombine and MergeFinal to have run +# ATTENTION: Requires fastNLO v2.5! + +# Should be added for each order +orders = [ "LO", "NLO", "NNLO" ] +#orders = [ "LO", "NLO" ] +#orders = [ "LO" ] + +# Rivet_Id must have been defined in default section. +# Make sure SteerModify.str contains a scenario description with RIVET_ID= +# Then provide here the histogram identifiers for data comparison plots if possible +histoids = ["d01-x01-y01", "d03-x01-y01", "d05-x01-y01", "d07-x01-y01", "d09-x01-y01", "d11-x01-y01" ] + +[FnloCppreadFinal] +# produced @ local storage under $merge_dir/$name/Combined/Final + +# Needs all input channels up to some order plus combined channels as defined in combine_ini +channels = LO R V RRa RRb RV VV NLO NLO_only NNLO NNLO_only +#channels = LO R V NLO NLO_only +#channels = LO + +####################### +# New plotting setup! # +####################### + +[PlotRuntime] +# produced @ local storage under $plots_dir +# Only requires CopyTables to have run + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV + +# Up to LO/NLO only +#channels = LO +#channels = LO R V + +# Uncomment the following line to have this task ignore the level +# of completeness of the previous required task (CopyTables). +# In that case this task works on whatever is ready to be treated, +# but interrupts the chain of requirements in the workflow. +force = True + +[SingleGridClosure] +# produced @ local storage under $plots_dir +# Requires FnloCppread to have run + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV + +# Up to LO/NLO only +#channels = LO +#channels = LO R V + +# Uncomment the following line to have this task ignore the level +# of completeness of the previous required task (FnloCppread). +# In that case this task works on whatever is ready to be treated, +# but interrupts the chain of requirements in the workflow. +force = True + +[MultiGridClosure] +# produced @ local storage under $plots_dir +# Requires FnloCppread to have run + +# Uncomment the following line to have only channels changing with jet size R to complement other analysis +#channels = R RRa RRb RV + +# Up to LO/NLO only +#channels = LO +#channels = LO R V +# Needs correct fastNLO 'scalecombs' parameter to be set, see above + +# Uncomment the following line to have this task ignore the level +# of completeness of the previous required task (FnloCppread). +# In that case this task works on whatever is ready to be treated, +# but interrupts the chain of requirements in the workflow. +force = True + +[MergedGridClosure] +# produced @ local storage under $plots_dir +# Requires FnloCppreadFinal to have run + +# Needs all input channels up to some order plus combined channels as defined in combine_ini +channels = LO R V RRa RRb RV VV NLO NLO_only NNLO NNLO_only + +# Up to LO/NLO only +#channels = LO +#channels = LO R V + +# Only subset available +#channels = NNLO + +[StatUncertainty] +# produced @ local storage under $plots_dir + +# Highest available order (if NNLO too imprecise, maybe just up to NLO as well) +orders = [ "NNLO" ] +# Only needs one grid to read scenario info; numbers are from NNLOJET dat files + +# Uncomment to show statistical uncertainties only for summed up channels per order (LO, NLO_only, NNLO_only) +#channellist = sum + +[Absolute] +# produced @ local storage under $plots_dir + +# Needs all input channels up to some order plus combined channels as defined in combine_ini +channels = LO R V RRa RRb RV VV NLO NLO_only NNLO NNLO_only +#channels = LO R V NLO NLO_only +#channels = LO + +# Only subset available +#channels = NNLO + +[KfacComparison] +# produced @ local storage under $plots_dir + +# Highest available order +orders = ["NNLO"] + +[ScaleUncertainty] +# produced @ local storage under $plots_dir + +# Highest available order (if NNLO too imprecise, maybe just up to NLO as well) +orders = [ "NNLO" ] +# Needs correct fastNLO 'scaleindex' parameter to be set +# Only one scale choice in this production +scaleindex = 0 +# Show statistical uncertainties from corresponding NNLOJET dat files directly, "", or re-evaluated from fastNLO grid, "0" +# Note: '0' needs '_v25' tables (output of task AddStatunc) +#datfiles = [ "", "0" ] +datfiles = [ "" ] + +[PdfUncertainty] +# produced @ local storage under $plots_dir + +# Might be interesting for each order (Attention: ME and PDF orders are not matched!) +orders = [ "NNLO" ] +pdfsets = CT14nnlo,MMHT2014nnlo68cl,NNPDF31_nnlo_as_0118,ABMP16als118_5_nnlo +# Needs correct fastNLO 'scaleindex' parameter to be set +# One scale choice fully sufficient here +scaleindex = 0 + +[DataComparison] +# produced @ local storage under $plots_dir +# Requires AddStatunc to have run +# Produces Rivet-like comparison plots to data, if available. +# Rivet_Id must have been defined in default section. +# ATTENTION: Requires fastNLO + YODA + Rivet setup with Python2 because of malfunction in Rivet with Python3 + +# Show comparison to all orders +orders = [ "LO", "NLO", "NNLO" ] +#orders = [ "LO", "NLO" ] +#orders = [ "LO" ] + +# Needs correct fastNLO 'scalename' parameter to be set +scalenames = [ "kScale1" ] + +# Select theory uncertainty to show, default is 6P scale uncertainty, alternatives are: +# NN, 2P, 6P, HS, HA, HP, HC, MC, L6, AS, ST (see `fnlo-tk-yodaout -h` for details) +#uncertainty = ST +# Rescale uncertainties to be shown by factor, default=1 +#dxsrescale = 10 diff --git a/setup/runcards/2jetfc.fnl3832-fc-v2.run b/setup/runcards/2jetfc.fnl3832-fc-v2.run new file mode 100644 index 0000000000000000000000000000000000000000..73149a9ed72bc49aa08d5923fbf0fff9707d7c80 --- /dev/null +++ b/setup/runcards/2jetfc.fnl3832-fc-v2.run @@ -0,0 +1,123 @@ +!###############################################! +!## ##! +!## _ ___ ____ ____ ____________ ##! +!## / |/ / |/ / / / __ \__ / / __/_ __/ ##! +!## / / / /__/ /_/ / // / _/ / / ##! +!## /_/|_/_/|_/____/\____/\___/___/ /_/ ##! +!## ##! +!## RUNCARD ##! +!###############################################! + + +PROCESS 2jetfc + collider = pp + sqrts = 8000 + jet = antikt[0.7] + jet_exclusive = .false. ! inclusive or exclusive Njet + jet_recomb = V4 ! recombination scheme: V4 is 4-vector addition + decay_type = 0 ! 0 no decay? +END_PROCESS + + +RUN @CHANNEL@-CMS8-ak07 ! job name + PDF = NNPDF31_nnlo_as_0118[0] ! PDFset[member] + tcut = 1d-8 ! y0, appears in filenames of warmup + iseed = @SEED@ ! seed index + cache_kinematics = .true. ! caching for kinematics; normally true + reset_vegas_grid = .true. ! normally true + lips_reduce = .true. ! optimisation for identical particles in FS; normally true + angular_average = .true. ! azimuthal rotation; only relevant for NNLO; can always be true; might be false for RR + multi_channel = @MULTI_CHANNEL@ ! color sampling; true faster, less precise; true/false must be consistent between warmup & production; can be set to 5 instead of true + @RUNMODE@ = @EVENTS@[@ITERATIONS@] ! Normally #iterations is 1 for production +END_RUN + + +PARAMETERS + MASS[H] = 125 + WIDTH[H] = 0.004029643852 + MASS[Z] = 91.1876 + WIDTH[Z] = 2.4952 + MASS[W] = 80.398 + WIDTH[W] = 2.1054 + MASS[t] = 173.2 + WIDTH[t] = 1.41 + MASS[b] = 4.18 + MASS[c] = 1.275 + MASS[tau] = 1.777 +END_PARAMETERS + + +@UNIT_PHASE@ + + +SELECTORS +! Base event selection + select jets_pt min = 50.0 + select jets_abs_y max = 5.0 + select njets min = 2 +! Leading jets + select abs_yj1 max = 3.0 + select abs_yj2 max = 3.0 +END_SELECTORS + + +HISTOGRAMS + + ptavg_j12 > fnl3832-fc-v2_yb0_ys0_ptavgj12 [133,153,174,196,220,245,272,300,330,362,395,430,468,507,548,592,638,686,737,790,846,905,967,1032,1101,1172,1248,1327,1410,1497,1588,1784] grid=fnl3832-fc-v2_yb0_ys0_ptavgj12.fast + HISTOGRAM_SELECTORS + select yboost min=0.0 max=1.0 + select ystar min=0.0 max=1.0 + END_HISTOGRAM_SELECTORS + + ptavg_j12 > fnl3832-fc-v2_yb0_ys1_ptavgj12 [133,153,174,196,220,245,272,300,330,362,395,430,468,507,548,592,638,686,737,790,846,905,967,1032,1101,1172,1248] grid=fnl3832-fc-v2_yb0_ys1_ptavgj12.fast + HISTOGRAM_SELECTORS + select yboost min=0.0 max=1.0 + select ystar min=1.0 max=2.0 + END_HISTOGRAM_SELECTORS + + ptavg_j12 > fnl3832-fc-v2_yb0_ys2_ptavgj12 [133,153,174,196,220,245,272,300,330,362,395,430,468,507,548] grid=fnl3832-fc-v2_yb0_ys2_ptavgj12.fast + HISTOGRAM_SELECTORS + select yboost min=0.0 max=1.0 + select ystar min=2.0 max=3.0 + END_HISTOGRAM_SELECTORS + + ptavg_j12 > fnl3832-fc-v2_yb1_ys0_ptavgj12 [133,153,174,196,220,245,272,300,330,362,395,430,468,507,548,592,638,686,737,790,846,905,967,1032] grid=fnl3832-fc-v2_yb1_ys0_ptavgj12.fast + HISTOGRAM_SELECTORS + select yboost min=1.0 max=2.0 + select ystar min=0.0 max=1.0 + END_HISTOGRAM_SELECTORS + + ptavg_j12 > fnl3832-fc-v2_yb1_ys1_ptavgj12 [133,153,174,196,220,245,272,300,330,362,395,430,468,507,548,592,638,686] grid=fnl3832-fc-v2_yb1_ys1_ptavgj12.fast + HISTOGRAM_SELECTORS + select yboost min=1.0 max=2.0 + select ystar min=1.0 max=2.0 + END_HISTOGRAM_SELECTORS + + ptavg_j12 > fnl3832-fc-v2_yb2_ys0_ptavgj12 [133,153,174,196,220,245,272,300,330,362,395,430] grid=fnl3832-fc-v2_yb2_ys0_ptavgj12.fast + HISTOGRAM_SELECTORS + select yboost min=2.0 max=3.0 + select ystar min=0.0 max=1.0 + END_HISTOGRAM_SELECTORS + +END_HISTOGRAMS + + +SCALES +! Central scale followed by 6 scale-factor variations +! To correspond to fastNLO, order must be: + muf = 1.0 * m12 mur = 1.0 * m12 + muf = 0.5 * m12 mur = 0.5 * m12 + muf = 2.0 * m12 mur = 2.0 * m12 + muf = 1.0 * m12 mur = 0.5 * m12 + muf = 0.5 * m12 mur = 1.0 * m12 + muf = 2.0 * m12 mur = 1.0 * m12 + muf = 1.0 * m12 mur = 2.0 * m12 +END_SCALES + + +REWEIGHT ptj1**6 + + +CHANNELS + @CHANNEL@ ! LO, R, V, RRa, RRb, RV, VV ! no region entry anymore! No coloured particle in FS (W,Z,H) --> RR; +END_CHANNELS diff --git a/setup/steerings/2jetfc.fnl3832-fc-v2.SteerModify.str b/setup/steerings/2jetfc.fnl3832-fc-v2.SteerModify.str new file mode 100644 index 0000000000000000000000000000000000000000..d8e5c7ecd554975e34c41097629ad237682c94a8 --- /dev/null +++ b/setup/steerings/2jetfc.fnl3832-fc-v2.SteerModify.str @@ -0,0 +1,80 @@ +#---------------------- +# Input and output +#---------------------- +#InTable TableToModify.tab.gz +#OutTable ModifiedTable.tab.gz +# or define via command line + +#-------------------- +# Info print out +#-------------------- +Verbosity INFO # Set print out verbosity +PrintSteeringCard true # Print steering provided on command line or within this file +PrintInputA1 true # Print table header of input table +PrintInputA2 true # Print table scenario of input table +#PrintOutputA1 true # Print table header of output table +#PrintOutputA2 true # Print table scenario of output table + +#------------------------------------------- +# Modify parameters of the table header +# Leave value empty for no modification +#------------------------------------------- +Itabversion 25000 # Change table version (Expert option!) +#ScenName fnlabcd # Change scenario name + +# -------------------------------------------- +# Modify parameters of the table scenario +# Leave value empty for no modification +# -------------------------------------------- +AttachScDescription false # Append to (true) or replace (false) existing scenario description +ScDescript { + "d3sigma-dijet_dpTavg_dyb_dys_[pb_GeV]" + "CMS_Collaboration" + "Dijet_pTavg_yb0-2_ys0-2" + "anti-kT_R=0.7" + "CMS-PAPER-SMP-16-011, arXiv:1705.02628, Eur. Phys. J. C 77, 746 (2017)." + "RIVET_ID=,INSPIRE_RECORD=1598460" + "THEORY_LABEL=NNLOJET modules2 FC" + "provided by:" + "fastNLO_2.5.1" + "If you use this table, please cite:" + " D. Britzger, K. Rabbertz, F. Stober, M. Wobisch, Proc. DIS 2012, 217 (2012), arXiv:1208.3641." +} + +# -------------------------------------------- +# Modify the table contributions +# -------------------------------------------- + +#-------------------------------------------------------------------- +# Modify code description +# (Same description for all perturbative contributions!) +#-------------------------------------------------------------------- +CodeDescript { + "NNLOJET_rev5918, please cite: T. Gehrmann et al., PoS RADCOR2017, 074 (2018), arXiv:1801.06415." + "Dijet production, please cite: J. Currie et al., Phys. Rev. Lett. 119, 152001 (2017), arXiv:1705.10271." + "Dijet scale choice, please cite: A. Gehrmann-de Ridder et al., Phys. Rev. Lett. 123, 102001 (2019), arXiv:1905.09047." + "APPLfast interface, please cite: D. Britzger et al., Eur. Phys. J. C79, 845 (2019), arXiv:1906.05303." +} + +#-------------------------------------------------------------------- +# Add InfoBlocks with statistical/numerical uncertainty +#-------------------------------------------------------------------- +InfoBlockFlag1 0 # Default: 0 Statistical/numerical uncertainty +InfoBlockFlag2 1 # Default: 1 = quadratic addition; else: 0 = linear addition + +InfoBlockDescr { # Same description for each contribution + "Default statistical uncertainties from NNLOJET." +} + +# For NNLOJET dat files also add: +# +#InfoBlockFiles { # For each order separately: NNLOJET dat files, fastNLO statunc log files, txt files using 1 or 2 columns +# *.LO.*.dat +# *.NLO_only.*.dat +# *.NNLO_only.*.dat +#} +#InfoBlockOrders { # Attribution of dat files to respective orders +# "LO" +# "NLO" +# "NNLO" +#} diff --git a/setup/steerings/2jetfc.fnl3832-fc-v2.str b/setup/steerings/2jetfc.fnl3832-fc-v2.str new file mode 100644 index 0000000000000000000000000000000000000000..41e2216fa286c17cb5dbfba5ec8db6c1f04a8826 --- /dev/null +++ b/setup/steerings/2jetfc.fnl3832-fc-v2.str @@ -0,0 +1,250 @@ +# -*-sh-*- +# ==================================================================== # +# +# A steering file for creating a fastNLO table/grid (with NNLOJET) +# This is an example for a global steering for ALL tables/grids of a scenario +# +# The grid production is performed in three steps: +# I. A warmup run for NNLOJET to perform essential integrations +# See NNLOJET for details. fastNLO is not used or called at this stage. +# II. A warmup run for fastNLO that determines the accessed phase space +# in momentum fraction x and process scale mu_r, mu_f. +# Only a few fastNLO settings are used here, see below. +# The output is written into a warmup file named after the +# the NNLOJET process name, e.g. 'ZJ', the NNLOJET job name, e.g. +# 'LO-CMS13-ak07', and the NNLOJET grid name, e.g. +# ptz > ZJtriple_yb0_ystar0_ptz [30, 100, 200, 300, 400, 1000] grid = ZJtriple_yb0_ystar0_ptz.fast +# NNLOJET histo fastNLO grid +# ==> ZJ.LO-CMS13-ak07.ZJtriple_yb0_ystar0_ptz.wrm +# This warmup file stores some settings for fastNLO in addition to +# the accessed phase space (with number of events per bin!) for +# each order of NNLOJET run (LO, R, V, RRa, RRb, RV, VV). +# For a later combination ALL production runs in step III below +# MUST use the SAME warmup file. The latter should be the largest +# accessed phase space as combined from any order in NNLOJET! +# ==> the expected filename for this unique warmup file is +# ZJ.ZJtriple_yb0_ystar0_ptz.wrm +# without the job name info. +# III. Many production runs filling fastNLO grids for various orders +# of a process from NNLOJET that later must be combined. +# See NNLOJET for details. +# Most fastNLO settings are taken into account here. +# +# This steering file has to be used in combination with a NNLOJET +# run card, where most of the essential seetings like the +# observable and its binning are defined. +# Modifications or additional settings respect the following hierarchy: +# 1. From the interface package nnlo-bridge default settings for +# fastNLO with NNLOJET are made and information from NNLOJET is +# passed to fastNLO. +# 2. A steering file named after the NNLOJET grid name for fastNLO, +# e.g. from the example above +# ==> ZJ.ZJtriple_yb0_ystar0_ptz.str +# can be used to set steer parameters individually for each fastNLO grid. +# Settings from step 1 can be overwritten. Be careful not to make +# changes inconsistent with what is defined in the NNLOJET run card +# or what is mandatory for the interface to work! +# 3a. In production runs the previously derived warmup file is read. +# 3b. A global steering file named after only the first part of +# the NNLOJET grid name for fastNLO, 'ZJtriple', which is also used +# as fastNLO scenario name, +# ==> ZJ.ZJtriple.str +# can be used to set steer parameters globally for all fastNLO grids. +# Settings from step 2 are not overwritten, but lead to warnings. +# 4. In principal, parameters can also be set on the command line, but +# this has not been tested yet. +# +##### TODO: The special scale-factor settings are not necessary anymore with the modules2 interface +##### TODO: The method how to set two different scales in flex-scale grids needs to be tested +# +##### BEGIN OF DESCRIPTION NEEDING UPDATE +# +# Special remarks on scale settings: +# ---------------------------------- +# Lacking sufficient scale choice information from NNLOJET the following +# settings are assumed for flexible-scale tables that allow two central +# scale choices to be stored simultaneously: +# DIS pp +# - the 1st scale set for muf defines scale1 scale2 +# - the 1st scale set for mur defines scale2 scale1 +# To check the closure between NNLOJET and fastNLO the proper +# ASYMMETRIC central scale choice must be used when evaluating a +# fastNLO grid with fnlo-tk-cppread, either scale12 or scale21. +# +# It is recommended to set ScaleDescriptionScale1 and +# ScaleDescriptionScale2 accordingly. +# +# If multiple entries per event are requested using NNLOJET COMPOSITE +# histos AND a scale definition varying with each entry is desired, +# then one central scale, e.g. ptmax=ptj1, must be defined for both +# muf and mur, and the InclusiveJets flag must be set in the fastNLO +# steering file. +# +# DIS pp +# - the 1st scale set for muf&mur defines scale1 scale2 +# - the stored observable defines scale2 scale1 +# To check the closure between NNLOJET and fastNLO the proper +# SYMMETRIC central scale choice must be used when evaluating a +# fastNLO grid with fnlo-tk-cppread, either scale1 or scale2. +# +# DIS(?) pp +# - the 1st scale set for muf&mur defines scale1 scale2=mu/obs(!) +# - the stored observable defines scale2 scale1 +# To check the closure between NNLOJET and fastNLO the proper +# SYMMETRIC central scale choice must be used when evaluating a +# fastNLO grid with fnlo-tk-cppread, i.e. for pp scale1*scale2. +# +##### END OF DESCRIPTION NEEDING UPDATE +# +# ==================================================================== # + +# ==================================================================== # +# +# Scenario specific settings +# +# Either set individually for each fastNLO grid or globally for all +# +# ==================================================================== # + +# -------------------------------------------------------------------- # +# Settings to be modified already for Warmup +# (These are stored in the warmup file!) +# -------------------------------------------------------------------- # +#CheckScaleLimitsAgainstBins true # (def.=true) Set limits for scale nodes to bin borders, if possible. Good if scale equals the binned observable. + # Scales and scale factors must be set in the NNLOJET run card +ScaleDescriptionScale1 "m12_[GeV]" # (def.='scale1') Reset the 1st scale name and unit, e.g. "<pT_1,2>_[GeV]" (Note: The 1st scale must always be in units of [GeV]!) +ScaleDescriptionScale2 "m12_[GeV]" # (def.='scale2') Reset the 2nd scale name and unit (ONLY for flexible-scale tables) +#DifferentialDimension 1 # (must be 1) So far the interface to NNLOJET supports only 1-dim histograms. DO NOT CHANGE! +DimensionLabels { # Labels (symbol and unit) for the measurement dimension (from outer to inner "loop") + "ptavgj12_[GeV]" # The default following the example above would be: "ptz" +} +#DimensionIsDifferential { # (must be 2) Specify for each dimension whether +# 2 # 0 : the cross section is NOT differential, i.e. there are two bin borders, +#} # but NO division (normalization) by bin width + # 1 : the cross section is point-wise differential, i.e. only one point is given + # 2 : the cross section is bin-wise differential, i.e. there are two bin borders + # Since NNLOJET provides bin-wise differential distributions use option 2. DO NOT CHANGE! + +# -------------------------------------------------------------------- # +# Description of scenario +# +# (Write each line of description in quotation marks) +# -------------------------------------------------------------------- # +ScenarioName fnl3832-fc-v2 # (def.=NNLOJET process name) No white space allowed here! +ScenarioDescription { # Replace generic one-line text by desired (multi-line) description + "d3sigma-dijet_dpTavg_dyb_dys_[pb_GeV]" + "CMS_Collaboration" + "Dijet_pTavg_yb0-2_ys0-2" + "anti-kT_R=0.7" + "CMS-PAPER-SMP-16-011, arXiv:1705.02628, Eur. Phys. J. C 77, 746 (2017)." + "INSPIRE_RECORD=1598460" + "THEORY_LABEL=NNLOJET modules2 FC" + "provided by:" + "fastNLO_2.5.1" + "If you use this table, please cite:" + " D. Britzger, K. Rabbertz, F. Stober, M. Wobisch, Proc. DIS 2012, 217 (2012), arXiv:1208.3641." +} +PublicationUnits 12 # (def.=12) Cross section unit to be used for output (negative power of 10, e.g. 12->pb, 15->fb) + # For comparison, e.g. via Rivet, should correspond to published data cross sections + +# -------------------------------------------------------------------- # +# Cuts +# -------------------------------------------------------------------- # +# To bet set via NNLOJET run card + +# -------------------------------------------------------------------- # +# Observable normalization +# -------------------------------------------------------------------- # +#CalculateBinSize true # (def.=true) Calculate bin width from lower and upper bin boundaries +#BinSizeFactor 1. # (def.=1.) Possibility to provide additional normalization factor, e.g. of 2. for bins in |y| +#BinSize { x1 x2 x3 ... } # (def. not set) If 'CalculateBinSize' is 'false' provide table with bin widths 'by hand' for normalization + +# -------------------------------------------------------------------- # +# Observable binning +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Use either 'SingleDifferentialBinning' or +# 'DoubleDifferentialBinning' or +# 'TripleDifferentialBinning' +# in accord with 'DifferentialDimension' above +# -------------------------------------------------------------------- # +# To bet set via the NNLOJET run card + +# ==================================================================== # +# +# Process specific and therefore at least partially theory-code +# dependent settings +# +# ==================================================================== # +# To bet set directly from NNLOJET interface and via the NNLOJET run card + +# ==================================================================== # +# +# A few special settings only used with NNLOJET so far +# +# ==================================================================== # +#InclusiveJets true # (def.=false) Flag to vary the mur, muf scale per entry, not just per event +# # Must be set in accordance with NNLOJET run card! +# # Only possible with flexible-scale grids + +# ==================================================================== # +# +# General fastNLO settings +# +# ==================================================================== # +GlobalVerbosity INFO # (def.=WARNING) Global output verbosity of fastNLO toolkit, + # (and of user scenario code if implemented). + # Possible values are: DEBUG, MANUAL, INFO, WARNING, ERROR, SILENT +FlexibleScaleTable true # (def.=false) Create table fully flexible in mu_f (larger size), true, or + # table with fixed number of mu_f scale factors +CacheType 2 # Default caching settings +CacheMax 30 +CacheCompare 10 + +# ==================================================================== # +# +# Specific fastNLO settings (normally do not need to be changed) +# Only change when you know what you are doing ...! +# +# ==================================================================== # +#OutputFilename fastNLO.tab # Overwrites default filename of fastNLO output table, e.g. ZJ.LO-CMS13.vBa.ZJtriple_yb0_ystar0_ptz.s92394.tab.gz +#OutputPrecision 8 # (def.=8) Number of decimal digits to store in output table +#OutputCompression true # (def.=true) Write out fastNLO table/grid in gzipped format (requires zlib) +#ScaleVariationFactors { # (def.=1.0 0.5 2.0) Must be set in accordance with NNLOJET run card! Factorization scale variations (only needed for fixed-scale tables) +# 1.0 0.5 2.0 # List of scale factors must include factor '1.0' +#} # Scale factors will be ordered according to fastNLO convention: (1, min, ... , max) +#ReadBinningFromSteering false # (must be true) Specify where the binning is defined. +#ApplyPDFReweighting true # (def.=true) Apply reweighting of PDFs for an optimized interpolation + +# -------------------------------------------------------------------- # +# Choose fastNLO interpolation kernels and distance measures +# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +# Currently implemented interpolation kernels +# Catmull +# Lagrange +# OneNode +# Linear +# +# Currently implemented distance measures +# linear +# loglog025 eq. to (log(log(4*x))) +# log10 +# sqrtlog10 eq. to sqrt(log_10(x)) +# +# For a constant scale like M_Z use e.g. +# Mu1_Kernel OneNode +# Mu1_DistanceMeasure "log10" +# Mu1_NNodes 1 +# -------------------------------------------------------------------- # +#X_Kernel Lagrange # (def.= pp: Lagrange; DIS: Catmull) +#X_DistanceMeasure sqrtlog10 # (def.= pp: sqrtlog10; DIS: log10) +#X_NNodes 20 # (def.= pp: 20; DIS: 18) +#X_NNodeCounting NodesPerBin # (def.=NodesPerBin) + +#Mu1_Kernel Lagrange # (def.=Lagrange) +#Mu1_DistanceMeasure "loglog025" # (def.=loglog025) +#Mu1_NNodes 6 # (def.=6) + +# Scale2 not used for fixed-scale tables +Mu2_Kernel OneNode # (def.=Lagrange) +Mu2_DistanceMeasure "loglog025" # (def.=loglog025) +Mu2_NNodes 1 # (def.=6)