More runs, switching things on and off¶
Now, having an idea how to read the input files, we are going to
modify our copy of the LHC-Matchbox.in
input file and
make a few more runs.
Analysis Handlers¶
As you have seen in the previous section, the event generator has an
event handler that handles single events. This in turn has several
so-called StepHandler
s that each simulate one part of the event.
Look at the log-file again to see which steps are being generated.
Each step usually conserves energy and momentum. A special set of
handlers, that can be called are so-called AnalysisHandler
s.
They are called, once the event is finished. Every analysis handler
has access to the whole event record and can compute some of its
properties and book them into histograms. At the end of the run, it
could write its output into an output file, a histogram file, for
instance.
BasisConsistency AnalysisHandler¶
One AnalysisHandler
you have already got to know is the
BasicConsistency
Handler. This checks for conservation of charge,
momentum, energy and looks for coloured particles in the final state.
In case something goes wrong it will write a lot of warning messages.
In case you want to look at parton-level results for studying purposes
you can e.g. switch off the check for coloured final states as
otherwise you get a warning for every quark and gluon in the final
state by stating
cd /Herwig/Analysis
set Basics:CheckQuark No
in your own LHC-Matchbox.in
file.
Note: If your using either the
read Matchbox/NLO-NoShower.in
or
read Matchbox/LO-NoShower.in
snippet, the BasisConsistency
Handler is automatically switched off.
GraphViz AnalysisHandler¶
Another analysis handler of interest for the following could be one
for the graphical representation of single events. Please add the
following lines to your LHC-Matchbox.in
file to make use
of it:
##################################################
## Analyses
##################################################
cd /Herwig/Generators
set /Herwig/Analysis/Plot:EventNumber 42
insert EventGenerator:AnalysisHandlers 0 /Herwig/Analysis/Plot
This handler will write a dot
file of event number 42 to your
working directory. The program dot
is needed to create a nice
graphical representation of this event. This can be very useful to
understand the event flow. Insert the above lines to your input file
and run the generator for at least 42 events. This should have
produced the file LHC-Matchbox-Plot-42.dot
. If you have installed
GraphViz
you can then run
[example] $ dot -Tpng LHC-Matchbox-Plot-42.dot > plot.png
and view the resulting plot.png
e.g. with eog
or any other
viewer.
If you fail at this point or it takes very long, then this is perhaps because there are simply too many particles in event 42. Repeat this after you have switched off some parts of the simulation, as explained below.
Switching simple things on and off¶
A very prolific source of additional particles is the underlying event. Particularly if you have already cranked your LHC up to 13 TeV CM energy!
We can switch off the multiple interaction handler of the
ShowerHandler
by explicitly setting it to NULL
. Therefore you
have to add the following lines to your own copy of the
LHC-Matchbox.in
file:
##################################################
## ShowerHandler(s)
##################################################
cd /Herwig/EventHandlers
set EventHandler:CascadeHandler:MPIHandler NULL
Likewise you can set other StepHandler
s to NULL
set EventHandler:DecayHandler NULL
set EventHandler:HadronizationHandler NULL
set EventHandler:CascadeHandler NULL
Have a look on the FAQ section to get more information about possible switches.
At this point you might also want to go back to the default input file
HerwigDefaults.in
and see whether you understand where these
modules are inserted to the generator. Browse a few files and follow
the setup of individual modules.
A short cut for quick modifications¶
At this point, when you start to try different things like using different
AnalysisHandler
, it is a bit annoying to always wait for the integration
during the read step. There is a simple way to add a few lines to the
configuration when you think these will not affect the adaption and generation
of the hard subprocess. This is definitely the case for what we are doing at the
moment.
You can skip the read
phase altogether and pass a small (or not so
small) file with additional input commands to the generator. The setup of
the hard process is skipped and only the few switches you wanted to
flick are added to the configuration.
[example] $ Herwig run LHC-Matchbox.run -N 1000 -d 1 --setupfile==short.in
Note, that your output files now also carry the name of the setupfile.
Also, if you find unexpected behaviour with this short cut, you might
have broken parts of the repository configuration. In this case go back
to modify what you had in mind directly in the input file. For our
examples you must e.g. switch of the MPIHandler
already in the main
input file.
With these switches at hand, you should be able to produce some graphical views of the event with only the hard process, then plus parton showers etc. Try a few possibilities.