Phriction HEPForge Herwig Tutorial Second run: Z production and jets at the LHC History Version 12 vs 13
Version 12 vs 13
Version 12 vs 13
Content Changes
Content Changes
This is the simulation of a dijet production event at the LHC for 7 TeV center-of-mass energy, using the [[ https://rivet.hepforge.org/analyses/ATLAS_2012_I1082936.html | ATLAS_2012_I1082936 ]] Rivet plugin for data analysis.
Please download the following input file and move it to your work directory:
Input file:
{F543045}
Alternatively, you can use the following command-line codes:
```
mkdir LHC-dijet
cd LHC-dijet
wget https://phab-files.hepforge.org/file/data/3qz45nyin5rhuvfodd33/PHID-FILE-ojxy7x5j4xd4desqb4k6/LHC-dijet.in
```
and run the dijet event, using
```
Herwig read LHC-dijet.in
```
You should see an error message appearing on your console
```
Error: MatchboxFactory: No matrix elements have been found.
Please check if your order of Alpha_s and Alpha_ew have the right value.
```
This indicated that the Matchbox does not contain this specific process and you must use either an external matrix element (ME) provider or a [[ https://phab.hepforge.org/w/mcnet2019/leshouches/ | Les Houches input file ]]. Let us consider the former option at the moment. We will return to the Les Houches case later.
There is a section in the input files for choosing the possible external ME providers:
```
##################################################
## 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
```
Please uncomment the "read Matchbox/MadGraph-OpenLoops.in" option. This would tell the event handler to use MadGraph and OpenLoops for the tree-level and one-loop MEs, respectively. You can see that there are a number of different options to choose from, based on the event that you want to simulate.
Now you are in a position to run your event correctly, using an external ME provider.This process may take several minutes to complete, based on the number of channels involved in the event. You can reduce the run time by changing the shower selection options:
```
##################################################
## 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 speed up the process with the price of lowering the accuracy.
Now, you can try running the event again:
```
Herwig read LHC-dijet.in
```
You will see a message, informing you that the external ME provider is engaged and will create a parton level amplitude for you:
```
Initializing external amplitudes.
>>> Compiling MadGraph amplitudes. This may take some time -- please be patient.
>>> In case of problems see ./Herwig-scratch/Build/MadGraphAmplitudes/MG.log for details.
```
After the "read" command is completed, you can run the event by:
```
Herwig run LHC-dijet.run -N 10000
```
and plot the results by
```
rivet-mkhtml LHC-dijet.yoda
```
Now, rename the yoda file with
```
mv LHC-dijet.yoda LHC-dijet-AO.yoda
```
and then, switch from "read Matchbox/MCatLO-DefaultShower.in" to "read Matchbox/MCatLO-DipoleShower.in" for your shower option. This would change the default angular ordered parton shower to a dipole parton shower.
Now, rerun the event with
```
rm -rf Herwig-scratch
Herwig read LHC-dijet.in
Herwig run LHC-dijet.run -N 10000
mv LHC-dijet.yoda LHC-dijet-Dipole.yoda
rivet-mkhtml LHC-dijet-AO.yoda:AO-shower LHC-dijet-Dipole.yoda:Dipole-shower
```
The first line is to delete the remnants of your previous ME calculation, which was stored in the "Herwig-scratch" folder inside your work directory.
You can 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-dijet.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 EventHandler:CascadeHandler NULL
```
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 dijet production event, "set Factory:ScaleChoice Scales/HTScale", is pre-selected here. You can choose other options and see the effect.
```
cd /Herwig/MatrixElements/Matchbox/
# set Factory:ScaleChoice Scales/FixedScale
# set Scales/FixedScale:FixedScale 91.1876*GeV
set Factory:ScaleChoice Scales/HTScale
# set Factory:ScaleChoice Scales/HTPrimeScale
# set Factory:ScaleChoice Scales/LeptonPairMassScale
# set Factory:ScaleChoice Scales/LeptonPairPtScale
# set Factory:ScaleChoice Scales/MaxJetPtScale
# set Factory:ScaleChoice Scales/SHatScale
# set Factory:ScaleChoice Scales/TopPairMassScale
# 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
```
This is the simulation of a dijet production event at the LHC for 7 TeV center-of-mass energy, using the [[ https://rivet.hepforge.org/analyses/ATLAS_2012_I1082936.html | ATLAS_2012_I1082936 ]] Rivet plugin for data analysis.
Please download the following input file and move it to your work directory:
Input file:
{F543045}
Alternatively, you can use the following command-line codes:
```
mkdir LHC-dijet
cd LHC-dijet
wget https://phab-files.hepforge.org/file/data/3qz45nyin5rhuvfodd33/PHID-FILE-ojxy7x5j4xd4desqb4k6/LHC-dijet.in
```
and run the dijet event, using
```
Herwig read LHC-dijet.in
```
You should see an error message appearing on your console
```
Error: MatchboxFactory: No matrix elements have been found.
Please check if your order of Alpha_s and Alpha_ew have the right value.
```
This indicated that the Matchbox does not contain this specific process and you must use either an external matrix element (ME) provider or a [[ https://phab.hepforge.org/w/mcnet2019/leshouches/ | Les Houches input file ]]. Let us consider the former option at the moment. We will return to the Les Houches case later.
There is a section in the input files for choosing the possible external ME providers:
```
##################################################
## 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
```
Please uncomment the "read Matchbox/MadGraph-OpenLoops.in" option. This would tell the event handler to use MadGraph and OpenLoops for the tree-level and one-loop MEs, respectively. You can see that there are a number of different options to choose from, based on the event that you want to simulate.
Now you are in a position to run your event correctly, using an external ME provider. This process may take several minutes to complete, based on the number of channels involved in the event. You can reduce the run time by changing the shower selection options:
```
##################################################
## 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 speed up the process with the price of lowering the accuracy.
Now, you can try running the event again:
```
Herwig read LHC-dijet.in
```
You will see a message, informing you that the external ME provider is engaged and will create a parton level amplitude for you:
```
Initializing external amplitudes.
>>> Compiling MadGraph amplitudes. This may take some time -- please be patient.
>>> In case of problems see ./Herwig-scratch/Build/MadGraphAmplitudes/MG.log for details.
```
After the "read" command is completed, you can run the event by:
```
Herwig run LHC-dijet.run -N 10000
```
and plot the results by
```
rivet-mkhtml LHC-dijet.yoda
```
Now, rename the yoda file with
```
mv LHC-dijet.yoda LHC-dijet-AO.yoda
```
and then, switch from "read Matchbox/MCatLO-DefaultShower.in" to "read Matchbox/MCatLO-DipoleShower.in" for your shower option. This would change the default angular ordered parton shower to a dipole parton shower.
Now, rerun the event with
```
rm -rf Herwig-scratch
Herwig read LHC-dijet.in
Herwig run LHC-dijet.run -N 10000
mv LHC-dijet.yoda LHC-dijet-Dipole.yoda
rivet-mkhtml LHC-dijet-AO.yoda:AO-shower LHC-dijet-Dipole.yoda:Dipole-shower
```
The first line is to delete the remnants of your previous ME calculation, which was stored in the "Herwig-scratch" folder inside your work directory.
You can 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-dijet.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 EventHandler:CascadeHandler NULL
```
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 dijet production event, "set Factory:ScaleChoice Scales/HTScale", is pre-selected here. You can choose other options and see the effect.
```
cd /Herwig/MatrixElements/Matchbox/
# set Factory:ScaleChoice Scales/FixedScale
# set Scales/FixedScale:FixedScale 91.1876*GeV
set Factory:ScaleChoice Scales/HTScale
# set Factory:ScaleChoice Scales/HTPrimeScale
# set Factory:ScaleChoice Scales/LeptonPairMassScale
# set Factory:ScaleChoice Scales/LeptonPairPtScale
# set Factory:ScaleChoice Scales/MaxJetPtScale
# set Factory:ScaleChoice Scales/SHatScale
# set Factory:ScaleChoice Scales/TopPairMassScale
# 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
```
This is the simulation of a dijet production event at the LHC for 7 TeV center-of-mass energy, using the [[ https://rivet.hepforge.org/analyses/ATLAS_2012_I1082936.html | ATLAS_2012_I1082936 ]] Rivet plugin for data analysis.
Please download the following input file and move it to your work directory:
Input file:
{F543045}
Alternatively, you can use the following command-line codes:
```
mkdir LHC-dijet
cd LHC-dijet
wget https://phab-files.hepforge.org/file/data/3qz45nyin5rhuvfodd33/PHID-FILE-ojxy7x5j4xd4desqb4k6/LHC-dijet.in
```
and run the dijet event, using
```
Herwig read LHC-dijet.in
```
You should see an error message appearing on your console
```
Error: MatchboxFactory: No matrix elements have been found.
Please check if your order of Alpha_s and Alpha_ew have the right value.
```
This indicated that the Matchbox does not contain this specific process and you must use either an external matrix element (ME) provider or a [[ https://phab.hepforge.org/w/mcnet2019/leshouches/ | Les Houches input file ]]. Let us consider the former option at the moment. We will return to the Les Houches case later.
There is a section in the input files for choosing the possible external ME providers:
```
##################################################
## 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
```
Please uncomment the "read Matchbox/MadGraph-OpenLoops.in" option. This would tell the event handler to use MadGraph and OpenLoops for the tree-level and one-loop MEs, respectively. You can see that there are a number of different options to choose from, based on the event that you want to simulate.
Now you are in a position to run your event correctly, using an external ME provider. This process may take several minutes to complete, based on the number of channels involved in the event. You can reduce the run time by changing the shower selection options:
```
##################################################
## 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. pPlease choose the "read Matchbox/MCatLO-DefaultShower.in" option, to speed up the process with the price of lowering the accuracy.
Now, you can try running the event again:
```
Herwig read LHC-dijet.in
```
You will see a message, informing you that the external ME provider is engaged and will create a parton level amplitude for you:
```
Initializing external amplitudes.
>>> Compiling MadGraph amplitudes. This may take some time -- please be patient.
>>> In case of problems see ./Herwig-scratch/Build/MadGraphAmplitudes/MG.log for details.
```
After the "read" command is completed, you can run the event by:
```
Herwig run LHC-dijet.run -N 10000
```
and plot the results by
```
rivet-mkhtml LHC-dijet.yoda
```
Now, rename the yoda file with
```
mv LHC-dijet.yoda LHC-dijet-AO.yoda
```
and then, switch from "read Matchbox/MCatLO-DefaultShower.in" to "read Matchbox/MCatLO-DipoleShower.in" for your shower option. This would change the default angular ordered parton shower to a dipole parton shower.
Now, rerun the event with
```
rm -rf Herwig-scratch
Herwig read LHC-dijet.in
Herwig run LHC-dijet.run -N 10000
mv LHC-dijet.yoda LHC-dijet-Dipole.yoda
rivet-mkhtml LHC-dijet-AO.yoda:AO-shower LHC-dijet-Dipole.yoda:Dipole-shower
```
The first line is to delete the remnants of your previous ME calculation, which was stored in the "Herwig-scratch" folder inside your work directory.
You can 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-dijet.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 EventHandler:CascadeHandler NULL
```
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 dijet production event, "set Factory:ScaleChoice Scales/HTScale", is pre-selected here. You can choose other options and see the effect.
```
cd /Herwig/MatrixElements/Matchbox/
# set Factory:ScaleChoice Scales/FixedScale
# set Scales/FixedScale:FixedScale 91.1876*GeV
set Factory:ScaleChoice Scales/HTScale
# set Factory:ScaleChoice Scales/HTPrimeScale
# set Factory:ScaleChoice Scales/LeptonPairMassScale
# set Factory:ScaleChoice Scales/LeptonPairPtScale
# set Factory:ScaleChoice Scales/MaxJetPtScale
# set Factory:ScaleChoice Scales/SHatScale
# set Factory:ScaleChoice Scales/TopPairMassScale
# 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
```