Phriction HEPForge Herwig Tutorial Second run: Z production and jets at the LHC History Version 21 vs 39
Version 21 vs 39
Version 21 vs 39
Content Changes
Content Changes
This is the simulation of a `P + P -> Z + jet` production event at the LHC for 7 TeV center-of-mass energy, using the [[ https://rivet.hepforge.org/analyses/ATLAS_2011_I945498.html | ATLAS_2011_I945498 ]] and [[ https://rivet.hepforge.org/analyses/MC_ZINC.html | MC_ZINC ]] Rivet plugins for data analysis.
Please download the following input file and move it to your work directory:
Input file:
{F543489}
Alternatively, you can use the following command-line codes:
```
mkdir LHC-Z+jet
cd LHC-Z+jet
wget https://phab-files.hepforge.org/file/data/anlew6fe4akjsrh5hgyq/PHID-FILE-m6junuevaqpbly67nbaw/LHC-Z_jet.in
```
Before running this event, let us take a look at the input file
```
vi LHC-Z+jet.in
```
As you can see, the process selection section has been completely deactivated. This is because for a process like `P + P -> Z + jet`, Herwig needs to use the external matrix element (ME) providers. However, the use of these tools in the docker/VM would be problematic. In an installed version of the Herwig, one can easily use these external ME providers by selecting the hard-process in the `Process selection` and choosing the ME providers from `Matrix element library selection`.
```
##################################################
## Process selection
##################################################
## Model assumptions
# read Matchbox/StandardModelLike.in
# read Matchbox/DiagonalCKM.in
## Set the order of the couplings
# cd /Herwig/MatrixElements/Matchbox
# set Factory:OrderInAlphaS 1
# set Factory:OrderInAlphaEW 1
## Select the process
# do Factory:Process p p -> Z0 j
##################################################
## Matrix element library selection
##################################################
## Select a generic tree/loop combination or a
## specialized NLO package
# read Matchbox/MadGraph-GoSam.in
# read Matchbox/MadGraph-MadGraph.in
# read Matchbox/MadGraph-NJet.in
# read Matchbox/MadGraph-OpenLoops.in
```
Fortunately, Herwig comes equipped with a set of Pre-calculated ME (you can see the complete list of these at Herwig_directory/share/Herwig/LHC.in):
```
##################################################
# Pre-calculated ME for hadron-hadron collisions
##################################################
cd /Herwig/MatrixElements/
# Z+jet
insert SubProcess:MatrixElements[0] MEZJet
```
Now, we can run the Z+jet event using
```
Herwig read LHC-Z+jet.in
Herwig run LHC-Z+jet.run -N 10000
```
and plot the results by
```
rivet-mkhtml LHC-Z+jet.yoda
```
Please change the name of the produced yoda files
```
mv LHC-Z+jet.yoda Z+jet_MCNLO.yoda
```
and take a look at the parton shower selection section
```
##################################################
## Matching and shower selection
##################################################
read Matchbox/MCatNLO-DefaultShower.in
# read Matchbox/Powheg-DefaultShower.in
## use for strict LO/NLO comparisons
# read Matchbox/MCatLO-DefaultShower.in
## use for improved LO showering
# read Matchbox/LO-DefaultShower.in
# read Matchbox/MCatNLO-DipoleShower.in
# read Matchbox/Powheg-DipoleShower.in
## use for strict LO/NLO comparisons
# read Matchbox/MCatLO-DipoleShower.in
## use for improved LO showering
# read Matchbox/LO-DipoleShower.in
# read Matchbox/NLO-NoShower.in
# read Matchbox/LO-NoShower.in
```
The "read Matchbox/MCatNLO-DefaultShower.in" option is chosen by default, activating an MC@NLO matched angular ordered parton shower. Please choose the "read Matchbox/MCatLO-DefaultShower.in" option, to choose the MC@LO and try running the event again:
```
Herwig read LHC-Z+jet.in
Herwig run LHC-Z+jet.run -N 10000
mv LHC-Z+jet.yoda Z+jet_MCLO.yoda
```
Repeat this process again, this time with "read Matchbox/LO-NoShower.in" option and rename the yoda file as
```
mv LHC-Z+jet.yoda Z+jet_NOPS.yoda
```
At this point, you are in the position of 3 separate Z+jet production events, each with different parton shower settings. You can compare your findings by plotting these yoda files altogether:
```
rivet-mkhtml Z+jet_MCNLO.yoda:MC_NLO Z+jet_MCLO.yoda:MC_LO Z+jet_NOPS.yoda:NO_PS
```
and check out your result by
```
firefox rivet-plots/index.html
```
Switching things on and off
-------------------------------
At this point, we are going to modify our copy of the LHC-Z+jet.in input file and make a few more runs.
1. [[ https://herwig.hepforge.org/tutorials/gettingstarted/onoffthings.html | Shower handlers ]]
These commands control the major modules of the event generator. You can switch them on and off, rerun the event and observe the produced effects of the results.
```
##################################################
## ShowerHandler(s)
##################################################
cd /Herwig/EventHandlers
set EventHandler:CascadeHandler:MPIHandler NULL
# set EventHandler:DecayHandler NULL
# set EventHandler:HadronizationHandler NULL
set /Herwig/Shower/ShowerHandler:Interactions QCDandQED
```
- The Multy Particle Interaction (MPIHandler) is switched off by default. Turn it on and off, and run the event in each state and see what changes in the results.
- You can change the type of parton shoer by changing the value in
```
set /Herwig/Shower/ShowerHandler:Interactions QCDandQED
```
The options are `QCDandQED`, `QCD` and `QED`. Try to check out the difference they make in the event.
2. [[ https://herwig.hepforge.org/tutorials/hardprocess/matchbox.html#scale-choices | Scale choices ]]
Your choice for the scale of the hard-process is made in this section. The primary option for a Z+jet production event, "the fixed scale option", is pre-selected here. You can choose other options and/or change the value of the fixed scale and see the effect.
```
##################################################
## Scale choice
##################################################
cd /Herwig/MatrixElements/Matchbox/
## Fixed scale
set Factory:ScaleChoice Scales/FixedScale
set Scales/FixedScale:FixedScale 91.1876*GeV
## The transverse momenta of coloured particles
# set Factory:ScaleChoice Scales/HTScale
## The transverse momenta of all outgoing non-jet particles
# set Factory:ScaleChoice Scales/HTPrimeScale
## For processes involving a pair of final-state leptons
# set Factory:ScaleChoice Scales/LeptonPairMassScale
## The transverse component of the momentum of the lepton pair
# set Factory:ScaleChoice Scales/LeptonPairPtScale
## The transverse momentum of the hardest jet
# set Factory:ScaleChoice Scales/MaxJetPtScale
## The partonic centre-of-mass energy
# set Factory:ScaleChoice Scales/SHatScale
## For processes involving the production of a t-tbar pair
# set Factory:ScaleChoice Scales/TopPairMassScale
## The transverse mass of the t-tbar pair
# set Factory:ScaleChoice Scales/TopMTScale
```
3. [[ https://herwig.hepforge.org/tutorials/hardprocess/matchbox.html#cuts | Cuts ]]
You can impose any constraint that you want on your event. To find out the compete list of cuts and how to use them, see Herwig documentaion on [[ https://herwig.hepforge.org/tutorials/hardprocess/matchbox.html#cuts | cuts ]].
```
##################################################
## Cut selection
## See the documentation for more options
##################################################
cd /Herwig/Cuts/
## cuts on jets
# read Matchbox/DefaultPPJets.in
# insert JetCuts:JetRegions 0 FirstJet
# insert JetCuts:JetRegions 1 SecondJet
# set /Herwig/Cuts/JetFinder:Variant Kt
# set /Herwig/Cuts/JetFinder:ConeRadius 0.4
# set /Herwig/Cuts/FirstJet:PtMin 20.*GeV
# do /Herwig/Cuts/FirstJet:YRange -5.0 5.0
```
In this section, we will simulate the 'P + P -> Z+X' process at 7 TeV center-of-mass energy and study the properties of the Z-boson with the help of the [[https://rivet.hepforge.org/analyses/MC_ZINC.html | MC_ZINC ]] Rivet analysis.
There are different stages of event generation, each of which plays a crucial role in the correct simulation of Z-bosons at the LHC:
* Hard matrix element
* Parton Shower
* Initial and final state radiation
* Multiple parton interactions
* Hadronizaion
During this exercise, we will see the different contributions to the Z shape observables, like the Z pT spectrum.
Download the following input file and move it to your work directory:
Input file:{F545117}
Alternatively, you can use the following command-line code:
```
wget https://phab-files.hepforge.org/file/download/q5by5q5tocxpquklfi34/PHID-FILE-ekoleb6f3inpmsz6xmbl/LHC-Matchbox.in
```
The input file can be used for Z production and Z+Jets production. For now, all parts except for the hard matrix element are commented out. We will uncomment the necessary parts as we progress with the exercise.
Run the input file without any modifications
```
Herwig read LHC-Matchbox.in
Herwig run LHC-Matchbox.run -N 10000
```
It is recommended to change the name of the newly created .yoda file to something meaningful after every new run s.t. you don't have to repeat runs in the end when we compare them with each other.
```
mv LHC-Matchbox.yoda LHC-noShower.yoda
```
Now plot the results with
```
rivet-mkhtml LHC-noShower.yoda
```
Have a look at the produced histograms and try to explain why there is no Z pT and why in the peak region Z pT is just a delta function. You should also have a look at the .log file and understand the first few events.
To have a more realistic simulation of the Z-boson, we uncomment some sections in the input file. Include the LO Parton shower BUT without initial and final state radiations.
The relevant section in the input file should look like this:
```
##################################################
## ShowerHandler(s)
##################################################
# Initial and final state radiation
set /Herwig/Shower/ShowerHandler:DoFSR No
set /Herwig/Shower/ShowerHandler:DoISR No
cd /Herwig/EventHandlers
#set EventHandler:CascadeHandler NULL
set EventHandler:CascadeHandler:MPIHandler NULL # switches off multi parton interactions
set EventHandler:DecayHandler NULL # switches off particle decays
set EventHandler:HadronizationHandler NULL # switches off hadronization
```
Now activate initial and final state radiation and repeat the run.
```
set /Herwig/Shower/ShowerHandler:DoFSR Yes
set /Herwig/Shower/ShowerHandler:DoISR Yes
```
Compare your results with the first run. Why do pT spectra change but the reconstructed mass of the Z boson looks roughly the same?
For the next task, we use a parton shower matched to NLO. Look at the parton shower selection section from the input file
```
##################################################
## Matching and shower selection
##################################################
#read Matchbox/MCatNLO-DefaultShower.in
# read Matchbox/Powheg-DefaultShower.in
## use for strict LO/NLO comparisons
# read Matchbox/MCatLO-DefaultShower.in
## use for improved LO showering
read Matchbox/LO-DefaultShower.in
# read Matchbox/MCatNLO-DipoleShower.in
# read Matchbox/Powheg-DipoleShower.in
## use for strict LO/NLO comparisons
# read Matchbox/MCatLO-DipoleShower.in
## use for improved LO showering
# read Matchbox/LO-DipoleShower.in
# read Matchbox/NLO-NoShower.in
# read Matchbox/LO-NoShower.in
```
In the input file, we choose the "read Matchbox/LO-DefaultShower.in" option activating a LO angular ordered parton shower. Now choose the "read Matchbox/MCatNLO-DefaultShower.in" option, to activate the MC@NLO matched shower and run the event again.
By now, you should have created several .yoda files. You can compare the corresponding calculations with
```
rivet-mkhtml *.yoda
```
For the final task in this section, activate multiple parton interactions, decays and hadronization options by uncommenting the relevant lines in the input file and compare the LO and the NLO matched shower simulations.
You have finished all the main parts of the Herwig tutorial.
You can choose to [[https://herwig.hepforge.org/tutorials/gettingstarted/matrixelements.html#some-scale-variations | dive deeper]] into parton shower variations, play around with different cuts and scales
or continue with [[https://phab.hepforge.org/w/mcnet2019/thirdrun/ | Third run: minimum bias events and soft physics]].
==A note on matrix elements==
As you can see, the process selection section has been completely deactivated. This is because for a process like `P + P -> Z + X`, Herwig needs to use the external matrix element (ME) providers. However, the use of these tools in the docker/VM would be problematic due to some linking issues. In an installed (and properly linked) version of Herwig, one can easily use these external ME providers by selecting the hard-process in the `Process selection` and choosing the ME providers from the `Matrix element library selection`.
```
##################################################
## Process selection
##################################################
## Model assumptions
# read Matchbox/StandardModelLike.in
# read Matchbox/DiagonalCKM.in
## Set the order of the couplings
# cd /Herwig/MatrixElements/Matchbox
# set Factory:OrderInAlphaS 1
# set Factory:OrderInAlphaEW 1
## Select the process
# do Factory:Process p p -> Z0 j
##################################################
## Matrix element library selection
##################################################
## Select a generic tree/loop combination or a
## specialized NLO package
# read Matchbox/MadGraph-GoSam.in
# read Matchbox/MadGraph-MadGraph.in
# read Matchbox/MadGraph-NJet.in
# read Matchbox/MadGraph-OpenLoops.in
```
This is the simulation of a `P + P -> Z + jet` production event at the LHC for 7 TeV center-of-mass energyIn this section, using the [[ https://rivet.hepforge.org/analyses/ATLAS_2011_I945498.html | ATLAS_2011_I945498 ]] and [[ we will simulate the 'P + P -> Z+X' process at 7 TeV center-of-mass energy and study the properties of the Z-boson with the help of the [[https://rivet.hepforge.org/analyses/MC_ZINC.html | MC_ZINC ]] Rivet plugins for datat analysis.
Please download the following input file and move it to your work directory:
Input fileThere are different stages of event generation, each of which plays a crucial role in the correct simulation of Z-bosons at the LHC:
{F543489} * Hard matrix element
* Parton Shower
* Initial and final state radiation
* Multiple parton interactions
* Hadronizaion
AlternativelyDuring this exercise, we will see the different contributions to the Z shape observables, you can uslike the following command-line codes:Z pT spectrum.
```
mkdir LHC-Z+jetDownload the following input file and move it to your work directory:
cd LHC-Z+jetInput file:{F545117}
Alternatively, you can use the following command-line code:
wget https://phab-files.hepforge.org/file/data/anlew6fe4akjsrh5hgyq/PHID-FILE-m6junuevaqpbly67nbaw/LHC-Z_jet.in
```
Before running this event, let us take a look at the input filewget https://phab-files.hepforge.org/file/download/q5by5q5tocxpquklfi34/PHID-FILE-ekoleb6f3inpmsz6xmbl/LHC-Matchbox.in
```
The input file can be used for Z production and Z+Jets production. For now, all parts except for the hard matrix element are commented out. We will uncomment the necessary parts as we progress with the exercise.
Run the input file without any modifications
```
viHerwig read LHC-Z+jetMatchbox.in
Herwig run LHC-Matchbox.run -N 10000
```
As you can see, the process selection section has been completely deactivated. This is because for a process like `P + P -> Z + jet`, Herwig needs to use the external matrix element (ME) providers. However, the use of these tools in the docker/VM would be problematic. In an installed version of the Herwig,It is recommended to change the name of the newly created .yoda file to something meaningful after every new run s.t. one can easily use these external ME providers by selecting the hard-process in the `Process selection` and choosing the ME providers from `Matrix element library selection`you don't have to repeat runs in the end when we compare them with each other.
```
##################################################
## Process selection
##################################################
## Model assumptions
# read Matchbox/StandardModelLike.inmv LHC-Matchbox.yoda LHC-noShower.yoda
```
# read Matchbox/DiagonalCKM.inNow plot the results with
## Set the order of the couplings```
# cd /Herwig/MatrixElements/Matchboxrivet-mkhtml LHC-noShower.yoda
# set Factory:OrderInAlphaS 1```
# set Factory:OrderInAlphaEW 1Have a look at the produced histograms and try to explain why there is no Z pT and why in the peak region Z pT is just a delta function. You should also have a look at the .log file and understand the first few events.
## Select the process
# do Factory:Process p p -> Z0 jTo have a more realistic simulation of the Z-boson, we uncomment some sections in the input file. Include the LO Parton shower BUT without initial and final state radiations.
##################################################The relevant section in the input file should look like this:
## Matrix element library selection```
##################################################
## Select a generic tree/loop combination or a
## specialized NLO package
# read Matchbox/MadGraph-GoSam.in
# read Matchbox/MadGraph-MadGraph.in## ShowerHandler(s)
# read Matchbox/MadGraph-NJet.in##################################################
# read Matchbox/MadGraph-OpenLoops.in
# Initial and final state radiation
```set /Herwig/Shower/ShowerHandler:DoFSR No
Fortunately, Herwig comes equipped with a set of Pre-calculated ME (you can see the complete list of these at Herwig_directory/share/Herwig/LHC.in):
```set /Herwig/Shower/ShowerHandler:DoISR No
##################################################
cd /Herwig/EventHandlers
# Pre-calculated ME for hadron-hadron collisions
##################################################
cd /Herwig/MatrixElements/
# Z+jetset EventHandler:CascadeHandler NULL
insert SubProcess:MatrixElements[0] MEZJetset EventHandler:CascadeHandler:MPIHandler NULL # switches off multi parton interactions
```
Now, we can run the Z+jet event usingset EventHandler:DecayHandler NULL # switches off particle decays
set EventHandler:HadronizationHandler NULL # switches off hadronization
```
Herwig read LHC-Z+jet.in
Herwig run LHC-Z+jet.run -N 10000Now activate initial and final state radiation and repeat the run.
```
and plot the results by
```set /Herwig/Shower/ShowerHandler:DoFSR Yes
rivet-mkhtml LHC-Z+jet.yodaset /Herwig/Shower/ShowerHandler:DoISR Yes
```
Please change the name of the produced yoda files
```
mv LHC-Z+jet.yoda Z+jet_MCNLO.yoda
```
and take a lCompare your results with the first run. Why do pT spectra change but the reconstructed mass of the Z boson looks roughly the same?
For the next task, we use a parton shower matched to NLO. Look at the parton shower selection section from the input file
```
##################################################
## Matching and shower selection
##################################################
#read Matchbox/MCatNLO-DefaultShower.in
# read Matchbox/Powheg-DefaultShower.in
## use for strict LO/NLO comparisons
# read Matchbox/MCatLO-DefaultShower.in
## use for improved LO showering
# read Matchbox/LO-DefaultShower.in
# read Matchbox/MCatNLO-DipoleShower.in
# read Matchbox/Powheg-DipoleShower.in
## use for strict LO/NLO comparisons
# read Matchbox/MCatLO-DipoleShower.in
## use for improved LO showering
# read Matchbox/LO-DipoleShower.in
# read Matchbox/NLO-NoShower.in
# read Matchbox/LO-NoShower.in
```
TIn the input file, we choose the "read Matchbox/MCatNLO-DefaultShower.in" option is chosen by default,ion activating an MC@NLO matched LO angular ordered parton shower. PleaseNow choose the "read Matchbox/MCatNLO-DefaultShower.in" option, to choosto activate the MC@LO and try running the event again:
```
Herwig read LHC-Z+jet.in
HerwigNLO matched shower and run LHC-Z+jet.run -N 10000the event again.
mv LHC-Z+jetBy now, you should have created several .yoda Z+jet_MCLO.yodaa files. You can compare the corresponding calculations with
```
Repeat this process again, this time with "read Matchbox/LO-NoShower.in" option and rename the yoda file asrivet-mkhtml *.yoda
```
mv LHC-Z+jet.yoda Z+jet_NOPS.yoda
```For the final task in this section, activate multiple parton interactions, decays and hadronization options by uncommenting the relevant lines in the input file and compare the LO and the NLO matched shower simulations.
At this point, you are in the position of 3 separate Z+jet production events, each with different parton shower settings. You can compare your findings by plotting these yoda files altogether:
```
rivet-mkhtml Z+jet_MCNLO.yoda:MC_NLO Z+jet_MCLO.yoda:MC_LO Z+jet_NOPS.yoda:NO_PS
```
and check out your result by
```
firefox rivet-plots/index.html
```
Switching things on and off
-------------------------------
At this point, we are going to modify our copy of the LHC-Z+jet.in input file and make a few more runs.
1. [[ https://herwig.hepforge.org/tutorials/gettingstarted/onoffthings.html | Shower handlers ]]
These commands control the major modules of the event generator. You can switch them on and off, rerun the event and observe the produced effects of the results.
```
##################################################
## ShowerHandler(s)
##################################################
cd /Herwig/EventHandlers
set EventHandler:CascadeHandler:MPIHandler NULL
# set EventHandler:DecayHandler NULL
# set EventHandler:HadronizationHandler NULL
set /Herwig/Shower/ShowerHandler:Interactions QCDandQED
```
- The Multy Particle Interaction (MPIHandler) is switched off by default. Turn it on and off, and run the event in each state and see what changes in the results.
- You can change the type of parton shoer by changing the value inYou have finished all the main parts of the Herwig tutorial.
```
set /Herwig/Shower/ShowerHandler:Interactions QCDandQED
```
The options are `QCDandQED`, `QCD` and `QED`. Try to check out the difference they make in the event.
2. [[ You can choose to [[https://herwig.hepforge.org/tutorials/hardprocess/matchbox.html#scale-choices | Scale choices ]]
Your choice for the scale of the hard-process is made in this section. The primary option for a Z+jet production event, "the fixed scale option", is pre-selected here.gettingstarted/matrixelements.html#some-scale-variations | dive deeper]] into parton shower variations, You can choose other options and/or change the value of the fixeplay around with different cuts and scale and see the effect.s
or continue with [[https://phab.hepforge.org/w/mcnet2019/thirdrun/ | Third run: minimum bias events and soft physics]].
==A note on matrix elements==
As you can see, the process selection section has been completely deactivated. This is because for a process like `P + P -> Z + X`, Herwig needs to use the external matrix element (ME) providers. However, the use of these tools in the docker/VM would be problematic due to some linking issues. In an installed (and properly linked) version of Herwig, one can easily use these external ME providers by selecting the hard-process in the `Process selection` and choosing the ME providers from the `Matrix element library selection`.
```
##################################################
## Scale choice## Process selection
##################################################
cd /Herwig/MatrixElements/Matchbox/
## Fixed scale
set Factory:ScaleChoice Scales/FixedScale
set Scales/FixedScale:FixedScale 91.1876*GeV
## The transverse momenta of coloured particles
# set Factory:ScaleChoice Scales/HTScale
## The transverse momenta of all outgoing non-jet particles
# set Factory:ScaleChoice Scales/HTPrimeScale
## For processes involving a pair of final-state lept## Model assumptions
# set Factory:ScaleChoice Scales/LeptonPairMassScale
## The transverse component of the momentum of the lepton pair# read Matchbox/StandardModelLike.in
# set Factory:ScaleChoice Scales/LeptonPairPtScale# read Matchbox/DiagonalCKM.in
## The transverse momentum## Set the order of the hardest jetcouplings
# set Factory:ScaleChoice Scales/MaxJetPtScale
## The partonic centre-of-mass energy# cd /Herwig/MatrixElements/Matchbox
# set Factory:ScaleChoice Scales/SHatScale
## For processes involving the production of a t-tbar pairOrderInAlphaS 1
# set Factory:ScaleChoice Scales/TopPairMassScaleOrderInAlphaEW 1
## The transverse mass of## Select the t-tbar pair
# set Factory:ScaleChoice Scales/TopMTScale
```process
3. [[ https://herwig.hepforge.org/tutorials/hardp# do Factory:Process/matchbox.html#cuts | Cuts ]] p p -> Z0 j
You can impose any constraint that you want on your event. To find out the compete list of cuts and how to use them, see Herwig documentaion on [[ https://herwig.hepforge.org/tutorials/hardprocess/matchbox.html#cuts | cuts ]].
```
##################################################
## Cut selection
## See the docu## Matrix elementation for more op library selections
##################################################
cd /Herwig/Cuts/
## cuts on jets
# read Matchbox/DefaultPPJets.in
# insert JetCuts:JetRegions 0 FirstJet## Select a generic tree/loop combination or a
# insert JetCuts:JetRegions 1 SecondJet## specialized NLO package
# set /Herwig/Cuts/JetFinder:Variant Kt# read Matchbox/MadGraph-GoSam.in
# set /Herwig/Cuts/JetFinder:ConeRadius 0.4
# set /Herwig/Cuts/FirstJet:PtMin 20.*GeV# read Matchbox/MadGraph-MadGraph.in
# do /Herwig/Cuts/FirstJet:YRange -5.0 5.0# read Matchbox/MadGraph-NJet.in
# read Matchbox/MadGraph-OpenLoops.in
```