From 3b45d18f40c282b460df2139815da48228461d74 Mon Sep 17 00:00:00 2001 From: Juraj Smiesko Date: Tue, 22 Sep 2026 11:21:25 +0200 Subject: [PATCH 1/5] Update Delphes+EvtGen sample generation tutorial to latest Key4hep stack Point the Pythia8+EvtGen sample generation section at the rolling "latest" Key4hep stack instead of the 2022-12-23 pinned release, and switch the FCC-config download links to the `pre_summer2026` branch, which has the current Delphes/EDM4hep cards for this workflow. --- .../2-2-fastsim-delphes/README.md | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/2-gen-and-fastsim/2-2-fastsim-delphes/README.md b/2-gen-and-fastsim/2-2-fastsim-delphes/README.md index 1720a8506..ff5b8013e 100644 --- a/2-gen-and-fastsim/2-2-fastsim-delphes/README.md +++ b/2-gen-and-fastsim/2-2-fastsim-delphes/README.md @@ -137,7 +137,7 @@ angular correlations and form-factor models. **EvtGen** is interfaced to through **k4Gen**, so that events generated by **Pythia** can be decayed by **EvtGen** before detector simulation. -We will generate a Monte Carlo sample of 1'000 events, matching the `winter2023` MC campaign, for $e^{+} e^{-} \;\rightarrow\; Z \;\rightarrow\; b\bar{b} \;\rightarrow\; B^{+} \;\rightarrow\; \tau^{+} \nu_{\tau} \;\rightarrow\; 3\pi$. All standard configuration files for FCC-ee Monte Carlo campaigns are provided in the [FCC-config repository (winter2023 branch)](https://github.com/HEP-FCC/FCC-config/tree/winter2023). +We will generate a Monte Carlo sample of 1'000 events for $e^{+} e^{-} \;\rightarrow\; Z \;\rightarrow\; b\bar{b} \;\rightarrow\; B^{+} \;\rightarrow\; \tau^{+} \nu_{\tau} \;\rightarrow\; 3\pi$. All standard configuration files for FCC-ee Monte Carlo campaigns are provided in the [FCC-config repository (`pre_summer2026` branch)](https://github.com/HEP-FCC/FCC-config/tree/pre_summer2026). Open a new lxplus session. Create a working directory and enter it: ```bash @@ -145,10 +145,10 @@ mkdir tutorialGen cd tutorialGen ``` -Since the EDM4hep output card that maps Delphes collections into EDM4hep data structures depends on the software stack, we must use the `winter2023` MC campaign environment: +Make sure you have the latest Key4hep release set up: ```bash -source /cvmfs/sw.hsf.org/spackages6/key4hep-stack/2022-12-23/x86_64-centos7-gcc11.2.0-opt/ll3gi/setup.sh +source /cvmfs/sw.hsf.org/key4hep/setup.sh ``` **Event generation** @@ -159,10 +159,11 @@ correctly set up by running: ```bash which DelphesPythia8EvtGen_EDM4HEP_k4Interface ``` -For our stack output should be: +with a response similar to: ``` -/cvmfs/sw.hsf.org/spackages6/k4simdelphes/00-03-00/x86_64-centos7-gcc11.2.0-opt/pqqvt/bin/DelphesPythia8EvtGen_EDM4HEP_k4Interface +/cvmfs/sw.hsf.org/key4hep/releases/2026-04-08/x86_64-almalinux9-gcc14.2.0-opt/k4simdelphes/00-07-06-36x4ef/bin/DelphesPythia8EvtGen_EDM4HEP_k4Interface ``` +(the output might differ, but shouldn't be empty and the structure should be similar). The executable wrapper that connects Pythia8, EvtGen, and Delphes, and writes output in EDM4hep format. You can inspect its expected argument order by @@ -195,7 +196,7 @@ To start the sample generation, we need to download the configuration files. We begin with the Pythia8 card that defines the hard process $e^{+} e^{-} \;\rightarrow\; Z \;\rightarrow\; b\bar{b}$ and enables the EvtGen interface for hadronic decays. ```bash -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/winter2023/FCCee/Generator/Pythia8/p8_ee_Zbb_ecm91_EVTGEN.cmd +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Generator/Pythia8/p8_ee_Zbb_ecm91_EvtGen_Bu2TauNuTAUHADNU.cmd ``` To limit the number of events for a local test, add: @@ -207,23 +208,23 @@ Main:numberOfEvents = 1000 Next, we download the Delphes detector description and the EDM4hep steering file, which together define the IDEA detector geometry and how Delphes collections (tracks, jets, leptons, etc.) are translated into EDM4hep structures: ```bash -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/winter2023/FCCee/Delphes/card_IDEA.tcl -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/winter2023/FCCee/Delphes/edm4hep_IDEA.tcl +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Delphes/card_IDEA.tcl +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Delphes/edm4hep_IDEA.tcl ``` EvtGen requires a set of text files containing decay tables, particle properties, and our custom decay definition for $B^{+} \;\rightarrow\; \tau^{+} \nu_{\tau} \;\rightarrow\; 3\pi$ channel with a hadronic 3-prong tau decay $\tau^{+} \;\rightarrow\; \pi^{+}\,\pi^{-}\,\pi^{+}\,\bar{\nu}_{\tau}$: ```bash -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/winter2023/FCCee/Generator/EvtGen/DECAY.DEC -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/winter2023/FCCee/Generator/EvtGen/evt.pdl -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/winter2023/FCCee/Generator/EvtGen/Bu2TauNuTAUHADNU.dec +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Generator/EvtGen/DECAY.DEC +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Generator/EvtGen/evt.pdl +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Generator/EvtGen/Bu2TauNuTAUHADNU.dec ``` With all configuration files in place, we can now run the generation step using: ``` DelphesPythia8EvtGen_EDM4HEP_k4Interface card_IDEA.tcl edm4hep_IDEA.tcl \ -p8_ee_Zbb_ecm91_EVTGEN.cmd Bu2TauNuTAUHADNU.root DECAY.DEC evt.pdl \ +p8_ee_Zbb_ecm91_EvtGen_Bu2TauNuTAUHADNU.cmd Bu2TauNuTAUHADNU.root DECAY.DEC evt.pdl \ Bu2TauNuTAUHADNU.dec 521 Bu_SIGNAL 1 ``` From 4bbea1600e13752074c9ab918addc2372e48cf6b Mon Sep 17 00:00:00 2001 From: Juraj Smiesko Date: Tue, 22 Sep 2026 15:00:36 +0200 Subject: [PATCH 2/5] Update DelphesEDM4Hep getting-started section to latest Key4hep stack Refresh the stale sourcing banner and `which DelphesPythia8_EDM4HEP` example path in section 2.2.1, and switch the IDEA Delphes/EDM4hep card download links from `winter2023` to `pre_summer2026`, matching the 2.2.2 update. The ZH/ZZ/WW Pythia8 cards stay on `winter2023`, which has newer versions of those specific files. --- .../2-2-fastsim-delphes/README.md | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/2-gen-and-fastsim/2-2-fastsim-delphes/README.md b/2-gen-and-fastsim/2-2-fastsim-delphes/README.md index ff5b8013e..50d21966e 100644 --- a/2-gen-and-fastsim/2-2-fastsim-delphes/README.md +++ b/2-gen-and-fastsim/2-2-fastsim-delphes/README.md @@ -34,7 +34,7 @@ Then, make sure your **setup of the FCC software** is working correctly. A quick which DelphesPythia8_EDM4HEP ``` -If the above command fails without printing a path like `/cvmfs/sw.hsf.org/spackages7/k4simdelphes/00-03-01/x86_64-centos7-gcc11.2.0-opt/7he4m/bin/DelphesPythia8_EDM4HEP`, you need to setup the FCC software stack +If the above command fails without printing a path like `/cvmfs/sw.hsf.org/key4hep/releases/2026-04-08/x86_64-almalinux9-gcc14.2.0-opt/k4simdelphes/00-07-06-36x4ef/bin/DelphesPythia8_EDM4HEP`, you need to setup the FCC software stack ``` source /cvmfs/fcc.cern.ch/sw/latest/setup.sh @@ -43,15 +43,13 @@ source /cvmfs/fcc.cern.ch/sw/latest/setup.sh When sourcing the stack, you should see a message like: ``` - ... Key4HEP release: key4hep-stack/2023-04-08 - ... Use the following command to reproduce the current environment: - ... - source /cvmfs/sw.hsf.org/spackages7/key4hep-stack/2023-04-08/x86_64-centos7-gcc11.2.0-opt/urwcv/setup.sh - ... - ... done. +Setting up the Key4hep software stack release latest-opt from CVMFS +Use the following command to reproduce the current environment: + + source /cvmfs/sw.hsf.org/key4hep/setup.sh -r 2026-04-08 ``` -which means that the version `2023-04-08` of `key4hep-stack` is sourced. +which means that the release `2026-04-08` of the Key4hep stack is sourced. (delphesedm4hep)= @@ -80,7 +78,7 @@ Other detector cards can be found in the `$DELPHES_DIR/cards` directory, such as But let's download the official one: ```bash -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/winter2023/FCCee/Delphes/card_IDEA.tcl +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Delphes/card_IDEA.tcl ``` To check the arguments ordering, please run the executable: @@ -107,7 +105,7 @@ Before running we need to define the collections that we want to write. The firs We also download the official version of this file: ```bash -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/winter2023/FCCee/Delphes/edm4hep_IDEA.tcl +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Delphes/edm4hep_IDEA.tcl ``` The following commands will run Pythia8 and Delphes and produce the relevant signal and background samples: From 95a095b9c176b1bb3bad87b4735dd41ce8f7b17f Mon Sep 17 00:00:00 2001 From: Juraj Smiesko Date: Tue, 22 Sep 2026 15:00:40 +0200 Subject: [PATCH 3/5] Stop calling /cvmfs/fcc.cern.ch/sw/latest/setup.sh legacy It's no longer a legacy alias: it sets up the Key4hep stack plus FCC-specific additions on top of it. For the purposes of these tutorials the two setup methods remain equivalent, so keep both documented without implying one is deprecated. --- 1-first-steps/prerequisites.md | 4 ++-- 2-gen-and-fastsim/2-1-event-generation/README.md | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/1-first-steps/prerequisites.md b/1-first-steps/prerequisites.md index 9daa9a51a..338f1bc52 100644 --- a/1-first-steps/prerequisites.md +++ b/1-first-steps/prerequisites.md @@ -70,11 +70,11 @@ is available on `cvmfs` and can be set up using: ``` source /cvmfs/sw.hsf.org/key4hep/setup.sh ``` -For compatibility reasons, the previous way of setting up the software +Alternatively, ``` source /cvmfs/fcc.cern.ch/sw/latest/setup.sh ``` -is still available. +sets up the Key4hep stack together with FCC-specific additions on top of it; for the purposes of this tutorial the two are equivalent. ## Special notes or alternative cases / settings ### Bash shell diff --git a/2-gen-and-fastsim/2-1-event-generation/README.md b/2-gen-and-fastsim/2-1-event-generation/README.md index bc15263c2..9837c3faf 100644 --- a/2-gen-and-fastsim/2-1-event-generation/README.md +++ b/2-gen-and-fastsim/2-1-event-generation/README.md @@ -25,12 +25,12 @@ source /cvmfs/sw.hsf.org/key4hep/setup.sh :::{admonition} Nota Bene :class: callout -For legacy reasons the following is still provided, fully equivalent to the above +`/cvmfs/fcc.cern.ch` sets up the Key4hep stack together with FCC-specific additions on top of it: ```bash source /cvmfs/fcc.cern.ch/sw/latest/setup.sh ``` -Note however that not all the `cvmfs` tier-1 centers replicate the -`fcc.cern.ch`, so this may lead to slowdowns or even failures. +For the purposes of this tutorial, the two ways of setting up the stack are equivalent. Note however that not all the `cvmfs` tier-1 centers replicate the +`fcc.cern.ch`, so this endpoint might not be available. ::: :::{admonition} Nota Bene From 95ca3fea5fc2499c3f49a9ddfdb887cf90ccd09b Mon Sep 17 00:00:00 2001 From: Juraj Smiesko Date: Wed, 23 Sep 2026 09:59:51 +0200 Subject: [PATCH 4/5] Point FCC-config downloads at main now that IDEA cards landed there The card_IDEA.tcl/edm4hep_IDEA.tcl and ZH/ZZ/WW generator card update (HEP-FCC/FCC-config#393) is merged into main, so all FCC-config download links in this tutorial can now point to a single branch instead of the mixed winter2023/pre_summer2026 references. --- .../2-2-fastsim-delphes/README.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/2-gen-and-fastsim/2-2-fastsim-delphes/README.md b/2-gen-and-fastsim/2-2-fastsim-delphes/README.md index 50d21966e..9dbd60611 100644 --- a/2-gen-and-fastsim/2-2-fastsim-delphes/README.md +++ b/2-gen-and-fastsim/2-2-fastsim-delphes/README.md @@ -65,9 +65,9 @@ For this tutorial we will consider the following **physics processes**: Let's start by downloading the official pythia cards for the various processes: ```bash -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/winter2023/FCCee/Generator/Pythia8/p8_ee_ZH_ecm240.cmd -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/winter2023/FCCee/Generator/Pythia8/p8_ee_ZZ_ecm240.cmd -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/winter2023/FCCee/Generator/Pythia8/p8_ee_WW_ecm240.cmd +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/main/FCCee/Generator/Pythia8/p8_ee_ZH_ecm240.cmd +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/main/FCCee/Generator/Pythia8/p8_ee_ZZ_ecm240.cmd +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/main/FCCee/Generator/Pythia8/p8_ee_WW_ecm240.cmd ``` @@ -78,7 +78,7 @@ Other detector cards can be found in the `$DELPHES_DIR/cards` directory, such as But let's download the official one: ```bash -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Delphes/card_IDEA.tcl +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/main/FCCee/Delphes/card_IDEA.tcl ``` To check the arguments ordering, please run the executable: @@ -105,7 +105,7 @@ Before running we need to define the collections that we want to write. The firs We also download the official version of this file: ```bash -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Delphes/edm4hep_IDEA.tcl +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/main/FCCee/Delphes/edm4hep_IDEA.tcl ``` The following commands will run Pythia8 and Delphes and produce the relevant signal and background samples: @@ -135,7 +135,7 @@ angular correlations and form-factor models. **EvtGen** is interfaced to through **k4Gen**, so that events generated by **Pythia** can be decayed by **EvtGen** before detector simulation. -We will generate a Monte Carlo sample of 1'000 events for $e^{+} e^{-} \;\rightarrow\; Z \;\rightarrow\; b\bar{b} \;\rightarrow\; B^{+} \;\rightarrow\; \tau^{+} \nu_{\tau} \;\rightarrow\; 3\pi$. All standard configuration files for FCC-ee Monte Carlo campaigns are provided in the [FCC-config repository (`pre_summer2026` branch)](https://github.com/HEP-FCC/FCC-config/tree/pre_summer2026). +We will generate a Monte Carlo sample of 1'000 events for $e^{+} e^{-} \;\rightarrow\; Z \;\rightarrow\; b\bar{b} \;\rightarrow\; B^{+} \;\rightarrow\; \tau^{+} \nu_{\tau} \;\rightarrow\; 3\pi$. All standard configuration files for FCC-ee Monte Carlo campaigns are provided in the [FCC-config repository](https://github.com/HEP-FCC/FCC-config); each production campaign has its own branch, and the `main` branch is used here. Open a new lxplus session. Create a working directory and enter it: ```bash @@ -194,7 +194,7 @@ To start the sample generation, we need to download the configuration files. We begin with the Pythia8 card that defines the hard process $e^{+} e^{-} \;\rightarrow\; Z \;\rightarrow\; b\bar{b}$ and enables the EvtGen interface for hadronic decays. ```bash -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Generator/Pythia8/p8_ee_Zbb_ecm91_EvtGen_Bu2TauNuTAUHADNU.cmd +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/main/FCCee/Generator/Pythia8/p8_ee_Zbb_ecm91_EvtGen_Bu2TauNuTAUHADNU.cmd ``` To limit the number of events for a local test, add: @@ -206,16 +206,16 @@ Main:numberOfEvents = 1000 Next, we download the Delphes detector description and the EDM4hep steering file, which together define the IDEA detector geometry and how Delphes collections (tracks, jets, leptons, etc.) are translated into EDM4hep structures: ```bash -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Delphes/card_IDEA.tcl -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Delphes/edm4hep_IDEA.tcl +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/main/FCCee/Delphes/card_IDEA.tcl +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/main/FCCee/Delphes/edm4hep_IDEA.tcl ``` EvtGen requires a set of text files containing decay tables, particle properties, and our custom decay definition for $B^{+} \;\rightarrow\; \tau^{+} \nu_{\tau} \;\rightarrow\; 3\pi$ channel with a hadronic 3-prong tau decay $\tau^{+} \;\rightarrow\; \pi^{+}\,\pi^{-}\,\pi^{+}\,\bar{\nu}_{\tau}$: ```bash -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Generator/EvtGen/DECAY.DEC -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Generator/EvtGen/evt.pdl -wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/pre_summer2026/FCCee/Generator/EvtGen/Bu2TauNuTAUHADNU.dec +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/main/FCCee/Generator/EvtGen/DECAY.DEC +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/main/FCCee/Generator/EvtGen/evt.pdl +wget https://raw.githubusercontent.com/HEP-FCC/FCC-config/main/FCCee/Generator/EvtGen/Bu2TauNuTAUHADNU.dec ``` With all configuration files in place, we can now run the generation step using: From 048ac8e510f30ee1f5984b25bfc32efdfc3dd9ba Mon Sep 17 00:00:00 2001 From: Juraj Smiesko Date: Thu, 24 Sep 2026 13:14:03 +0200 Subject: [PATCH 5/5] Clarify what fcc.cern.ch cvmfs setup actually provides --- 1-first-steps/prerequisites.md | 2 +- 2-gen-and-fastsim/2-1-event-generation/README.md | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/1-first-steps/prerequisites.md b/1-first-steps/prerequisites.md index 338f1bc52..9aca1269e 100644 --- a/1-first-steps/prerequisites.md +++ b/1-first-steps/prerequisites.md @@ -74,7 +74,7 @@ Alternatively, ``` source /cvmfs/fcc.cern.ch/sw/latest/setup.sh ``` -sets up the Key4hep stack together with FCC-specific additions on top of it; for the purposes of this tutorial the two are equivalent. +also works; `/cvmfs/fcc.cern.ch` hosts alongside the Key4hep stack also FCC-specific software and data, for the purposes of this tutorial sourcing either is equivalent. ## Special notes or alternative cases / settings ### Bash shell diff --git a/2-gen-and-fastsim/2-1-event-generation/README.md b/2-gen-and-fastsim/2-1-event-generation/README.md index 9837c3faf..6eaed8683 100644 --- a/2-gen-and-fastsim/2-1-event-generation/README.md +++ b/2-gen-and-fastsim/2-1-event-generation/README.md @@ -25,11 +25,10 @@ source /cvmfs/sw.hsf.org/key4hep/setup.sh :::{admonition} Nota Bene :class: callout -`/cvmfs/fcc.cern.ch` sets up the Key4hep stack together with FCC-specific additions on top of it: ```bash source /cvmfs/fcc.cern.ch/sw/latest/setup.sh ``` -For the purposes of this tutorial, the two ways of setting up the stack are equivalent. Note however that not all the `cvmfs` tier-1 centers replicate the +also works; `/cvmfs/fcc.cern.ch` hosts alongside the Key4hep stack also FCC-specific software and data, for the purposes of this tutorial sourcing either is equivalent. Note however that not all the `cvmfs` tier-1 centers replicate the `fcc.cern.ch`, so this endpoint might not be available. :::