Overview
This page will guide you through the process of installing and using some of the software we use to generate, fully simulate and reconstruct events in the MCDRCal01 detector for a Higgs Factory Muon Collider. We assume a Linux/UNIX environment.
We start with the MadGraph5 matrix element generator, a simple program that allows you to define a process or group of processes, calculate their cross sections, generate events and seamlessly interface with Pythia for Monte Carlo shower simulation (hadronization).
We then fully simulate these events in our detector with SLIC and reconstruct them with algorithms provided by PandoraPFA and LCFIVertex.
Required Software
For this tutorial you will need to have the following programs already installed:
- Java
- Python 2
- SVN
- CVS
Other ilcSoft packages not covered in this tutorial will require installations of
- ROOT
- MYSQL
- CERNLIB
Event Generation With MadGraph and Pythia
Download and Install MadGraph5 and Pythia
Download MadGraph 5 from the MadGraph 5 downloads page after making a free account and unpack the file somewhere.
$ tar xzvf MadGraph5_v1_5_11.tar.gz
Next, use MadGraph to download and install Pythia:
$ cd MadGraph5_v1_5_11 $ ./bin/mg5 mg5> install pythia
Note: If you have Python 3 installed on your system you may need to run MadGraph and associated programs with Python 2, eg.
$ python2 ./bin/mg5
Generate Events:
For this tutorial we will be simulating the process of two muons colliding with a center of mass energy of 125 GeV, creating a Z* boson which decays into two light quarks. This data will be used to generate detector-specific information that is used by the PandoraPFA photon reconstruction algorithm. A copy of this 'likelihood data' will be provided for the mcdrcal01 detector. For a more complete introduction to MadGraph, simply type mg5> tutorial
or refer to the MadGraph 5 Wiki.
mg5> define uds = u d s u~ d~ s~ # define the multiparticle uds as any one of the u, d and s quarks or their antiparticles mg5> generate mu+ mu- > Z > uds uds # calculate the diagrams for the process mg5> output my-mumu-z-uds # create a folder in the current directory. mg5> open index.html # optional; view the generated diagrams and other information mg5> exit
Now we can generate events and simulate their hadronization with Pythia.
$ cd my-mumu-z-uds $ ./bin/madevent MGME5> launch MGME5> 2 # select to run MadEvent and Pythia MGME5> 2 # edit run card. eg. Change beam type (0 for muons or electrons, ie. no PDF), # set energy (62.5GeV each), edit cuts, number of events MGME5> 0 # Launches event generator and then runs Pythia. MGME5> exit $ gzip -d Events/run_01/tag_1_pythia_events.hep.gz
Now we have a .hep file which can be read into SLIC for full detector simulation.
Event Simulation With SLIC
Now we will use the ilcinstall program to install the various ilcSoft packages we will need. These will be:
- slic
- slicPandora
- PandoraSettings
- lcfiplus
Note: Installing slic will involve compiling several programs, including Geant4 which is quite large. This will take a while even on a fast machine.
(...Installation of SLIC via ILCInstall...)
(...Link to mcdrcal01 file...)
SLIC Script:
/physics/select FTFP_BERT /lcio/path /path/to/eventdata /lcio/fileneame Z_uds_125GeV_iso /lcio/fileExists delete /lcdd/url /path/to/mcdrcal01/mcdrcal01.lcdd /run/initialize /generator/select stdhep /generator/filename /path/to/MadGraph5_v1_5_11/my-mumu-z-uds/tag_1_pythia_events.hep /run/beamOn 5000
(...Running on mcdrd or OSG?...)
<mcdrd.fnal.gov> nohup nice -m ~/path/to/slic/script
Event Reconstruction with PandoraPFA
(...Installation of slicPandora and PandoraSettings...)
<\!-\- Standalone photon clustering \--> <algorithm type = "PhotonReconstruction"> <algorithm type = "ConeClustering" description = "PhotonClusterFormation"> <ClusterSeedStrategy>0</ClusterSeedStrategy> <ShouldUseTrackSeed>false</ShouldUseTrackSeed> <ShouldUseOnlyECalHits>true</ShouldUseOnlyECalHits> <ConeApproachMaxSeparation>250.</ConeApproachMaxSeparation> </algorithm> <ClusterListName>PhotonClusters</ClusterListName> <ShouldMakePdfHistograms>true</ShouldMakePdfHistograms> <NEnergyBins>9</NEnergyBins> <EnergyBinLowerEdges>0 0.5 1 1.5 2.5 5 10 20 50 </EnergyBinLowerEdges> <HistogramFile>MyPath/MyLikelihoodData9EBins.xml</HistogramFile> </algorithm>
...Link to LikelihoodData I generated...