Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions 1-first-steps/prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
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
Expand Down
5 changes: 2 additions & 3 deletions 2-gen-and-fastsim/2-1-event-generation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,11 @@ 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
```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.
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.
:::

:::{admonition} Nota Bene
Expand Down
49 changes: 24 additions & 25 deletions 2-gen-and-fastsim/2-2-fastsim-delphes/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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)=
Expand All @@ -67,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
```


Expand All @@ -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/main/FCCee/Delphes/card_IDEA.tcl
```

To check the arguments ordering, please run the executable:
Expand All @@ -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/main/FCCee/Delphes/edm4hep_IDEA.tcl
```

The following commands will run Pythia8 and Delphes and produce the relevant signal and background samples:
Expand Down Expand Up @@ -137,18 +135,18 @@ 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](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
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**
Expand All @@ -159,10 +157,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
Expand Down Expand Up @@ -195,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/winter2023/FCCee/Generator/Pythia8/p8_ee_Zbb_ecm91_EVTGEN.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:
Expand All @@ -207,23 +206,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/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/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/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:

```
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
```

Expand Down
Loading