In this tutorial, we will construct an LHC Olympics-style Black Box to analyze and then try to build an OSET to match that Black Box. Please give us suggestions for usability!
We assume that MARMOSET is installed. You should have about 30 executables in the ${BASE_DIR}/Marmoset/bin/ directory and about 5 executables in the ${BASE_DIR}/MPotato/bin/ directory.
If you type the name of a Marmoset executable without any command line options, then you will get usage information. If you run the marmosetHelp script, you will get usage information for all of the relevant executables.
In order to streamline workflow, we have opted to use a fixed directory structure. Though this will limit where you can and cannot put files, it greatly simplifies command line arguments and such.
The directory structure is based on ${BASE_DIR}/Marmoset/runDir. However, the runDir directory should not be modified. Rather, you should create your own runDir wherever you want. You should get in the habit of creating different runDirs for different projects. We are going to specify a directory structure for you.
cd ${BASE_DIR}
makeRunDir MarmosetTutorial
In order to use the HPGS/MPotato machinery, you need to convert typical Pythia .par files into the format that HPGS expects. There are some existing .par files in the MarmosetTutorial/osets/par directory that you can do tests on. All signal files must be placed in the MarmosetTutorial/data folder. You can then use the processData script to make and analyze your blackbox.
cd ${BASE_DIR}/MarmosetTutorial
cp osets/par/debug_bb.par data/bbBox.par
processData --pgs -n 10000 data/bbBox
You should now have a series of data/bbBox.* files.
As part of the processData script, MPotato plots have been put in the analysis/plots directory. You can look at bbBox_plots.ps for default signatures generated by MPotato. At this point, it is challenging to change what signatures are displayed, so you may want to use a different tool for real blackbox analysis.
You can run the processData script on a preexisting .lhco.gz file. In fact, if you have a series of .lhco.gz files in the data directory, you can just type
processData --all
to generate .sigs files for all .par and .lhco.gz files.
Now, you want to try to match the Black Box with an OSET. We've already made a guess for you in osets/debug_bb.oset. So go with that one. We'll teach you model syntax later.
Given the OSET debug_bb.oset, you want to create approximate monte carlo files. First, we need to create all of the monte carlo input files, as well as some meta information for later fits. The parseOSET script populates the meta/ and processes/ directories.
cd ${BASE_DIR}/MarmosetTutorial
parseOSET osets/debug_bb.oset
This is a particularly simple model that has just one process. To make monte carlo for all processes type
generateProcess --all -n 10000.
This will generate 10000 monte carlo events for each process.
The generateProcess script should have also generated one or more .sigs files in the processes/ directory. We want to fit this signature file to the blackbox signature file bbBox.sigs
fitOSET --makePlots osets/debug_bb.oset data/bbBox.sigs
Go to analysis/plots/debug_bb.ps to see how you did.