Data Samples
Samples & Cross-Sections
We maintain a list of Samples and all relevant information on
This Page
How To Make a MC Production Request
To Start & Overview
This might vary slightly depending what group you are in. But having gone through the process now, I think a guide would be very useful, hope it helps!
On your groups home Twiki page, there should be a page dedicated to how to make Monte Carlo requests, but in general you can go to the Monte Carlo Working Group page, where they list the relevant contacts for every group:
https://twiki.cern.ch/twiki/bin/view/AtlasProtected/AtlasMcProduction
The General List of Pre-requisites for a MC Production Request are:
Note, before any of the below steps, you should contact your group convenors, and the MC Production Contact for your group, to let them know of your intentions, and ask if it would be okay to go ahead and start making the request.
- Provide a joboptions file
- Provide relevant cross-sections, evgen efficiencies, and number of events requested, along with centre of mass energy, and code version you are setup in, also the event generator version you are using.
- Make Validation Plots, from a small sample you make with your joboptions file. I.e. Provide relevant plots that show the joboptions file produces what you would expect.
- Put the Joboptions files, Validation plots, and all information so far on your groups relevant "Validation Plot" page under the process for which you are asking for samples, if there isn't one, create a new twiki page that is for your process.
- Contact your groups Monte Carlo Production Contact, sending them the link to the Twiki page, along with the joboptions files attached to the e-mail, and all the information so far requested (even though it is already on the Twiki). They will take the request from here, and let you know the outcome.
Setup Area
First of all, you need to setup your work area, this is best done on lxplus. Make your cmthome area and download a package to work in such as UserAnalysis. This is explained how to do so on the coding tips and tricks page. I am writing here assuming the use of 16.0.2, with the setup -tag=16.0.2,setup,32.
Get joboptions files to use/modify
You can find the joboptions files for all of the Official Monte Carlo Samples here:
http://alxr.usatlas.bnl.gov/lxr/source/atlas/Generators/EvgenJobOptions/share/
Or more importantly for MC9 now, here:
https://svnweb.cern.ch/trac/atlasoff/browser/Generators/MC09JobOptions/trunk/share
All I did, was find the Particle and Decay I was interested in, take the joboptions file, and modify it for my own needs. Most of the time this just involves changing the Mass or some Coupling, that is well documented in the joboptions file itself. If you want to do something more drastic however, like make a new sample that has not even been roughly coded before, then I have not done this, but I would suggest you start by looking at multiple joboptions files, such as if you wanted to simulate G->ee and G->mumu, where currently there are only seperate files that do this; Take the two seperate files, and copy the lines which correspond to the decaying of each process into a new file, start building your joboptions that way, and after testing with a well known joboptions to see what you would expect, test yours and see if it makes sense.
Making a Test Sample
Once you have your area setup, sourced, and have made your joboptions file:
Go to your run directory such as:
>
cd testarea/16.0.2
>
cd PhysicsAnalysis/AnalysisCommon/UserAnalysis/run
You need to obtain the following two files via, although the latter most is really just an example file:
>
get_files PDGTABLE.!MeV
>
get_files Evgen_trf.py (Importantly for MC10)
Then you are ready to make your first sample. Using Evgen_trf.py, you can type this with the -h command after to see what the following tags mean, but to summarise in order they are; CentreOfMassE / RunNumber (Has to match your jobOption) / Starting Event / Number of Events / Random 10 Digit Seed / JobOptions / Output Filename.
In Reality if you ONLY want the Electron Container information etc without Jet Info and other things, then you only need to run the EvgenCorrAtlfast_trf.py.
>
Evgen_trf.py 7000 0700000 1 5000 1234567812 MC10.0700000.Pythia_Gee01_1000.py Output.pool.root
>
EvgenCorrAtlfast_trf.py 7000 0700000 1 5000 1234567812 MC10.0700000.Pythia_Gee01_1000.py Output.pool.root AOD.pool.root ntuple.pool.root
Note here, that MC10.070000.template.py is your joboptions file, and 5000, is the number of events you are going to make in your sample. The other file names are your output. I would recommend redirecting these to your tmp directory on lxplus as they can be 100mb big or so. Just remember to send them to linappserv1 or somewhere before you next log off so they don't disappear!
Making Validation Plots & Collecting Information
The next step is to take one of your no doubt already existing analysis programs, and strip it down so all it does it create plots of basic things like the, et spectrum, eta spectrum, and invariant mass, as an example. Apply no cuts, as you just want to see what the sample looks like. Save these plots, and include them with all the other information that you will eventually upload.
Important! When the job finishes running, you will be left with a number of log files, namely EvgenCorrAtlfast_trf.log for Evgen.log, you will want to keep these files as they contain all of your cross section information!!! Also remember to take note of the event generator efficiency, which is usually set to about 0.90, and can be found on the last line of your joboptions file usually. You will also want to look through them to see exactly what version of Pythia you are using, if you haven't taken note of it before now.
Finishing up
Now you have all your relevant information, go to the Validation Plot Twiki Page, and upload all of your information, this looks best in a table, you can just do what I did and look at a previous request, and take their format. The basic format you want though would be something like this:
Validation
Joboption for generation under Pythia 6.420 :
MC8.0000001.Pythia_Gee001_500.py
MC8.0000001.Pythia_Gee001_1000.py
MC8.0000001.Pythia_Gee01_1000.py
Generator Efficiency = 0.90
Now all that's left to do is send all of this information, along with the joboptions file(s), and a link to the Twiki page along to your MC Production representative, and everything should be taken out of your hands from there!
Automated Process
First of all I want to thank Peter Waller for his coding expertise which enabled me to realise this Process. I was faced with having to do all of the above, for 15 samples, and I thought there must be a simpler way of doing things, which led me to come up with this idea.
First of all you have to have set up most of the above steps, i.e. you need to:
- Install your work area to make test samples (16.0.2).
- Install an area to run over your test sample and make validation plots, i.e. Pt, Eta, and InvMass Histograms.
- Copy this Macro to the run directory of the above.
- Follow the steps below.
Now you will need to make a folder (I put it on my Desktop) and inside the folder do two things; Make a folder for every sample (Named Accordingly), and download the files below into the main folder.
run_one_job.sh
run_all.sh
parse_evgen_log.py
joblist.txt
You will have to change the paths in these files (namely joblist.txt and run_one_job.sh) to match and make sense for your own setup, but the files are self explanatory and I have added comments where necessary to make it a fairly trivial process. Also I have named a jobOptions called MCProduction.py in the macro but have omitted it here. This file simply runs over the .root output file and outputs the histograms you require for validation (usually; Pt, Eta, and Invariant Mass) without any cuts. I have not included it here as everyones setup / needed plots will be slightly different, it is easy to make, and as different releases come out the code might change where as what I have provided should always be true.
The final step is to put a JobOptions File into each respective folder, and then simply open a terminal, navigate to the folder and run with ./run_all.sh.
The result should be that each sample folder is filled with the needed validation plots, and cross-section text file, thus simplifying and automating the whole process to the nth degree!
Links