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.6.5, with the setup -tag=16.6.5,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 MC11 now, here:

http://alxr.usatlas.bnl.gov/lxr/source/atlas/Generators/MC11JobOptions/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.6.5
> 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 EvgenCorrAtlfast_trf.py
> get_files Evgen_trf.py

Then you are ready to make your first sample. Using "EvgenCorrAtlfast_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.Gee01_1000.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 your institutes local server 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 (or minimal) 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. I have attached below an example script for doing this:

MCProduction.cxx
MCProduction.h
MCProduction.py

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

Release E CM G* Mass k/Mpl N Evts xsec x BR Validation plots
15.2.0 10 TeV 500 GeV 0.01 5 000 79.5 fb Electron pt, electron eta, G Mass
15.2.0 10 TeV 1000 GeV 0.01 5 000 2.17 fb Electron pt, electron eta, G Mass
15.2.0 10 TeV 1000 GeV 0.1 5 000 214.2 fb Electron pt, electron eta, G Mass

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!

Semi-Automated Process

First of all I want to thank Peter Waller for his coding expertise which helped me 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, i.e. for MC10.0700000.Pythia_Gee01_500.py, I make a subfolder called Gee01_500 and so on...), 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 (or minimal) cuts as I previously described. 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 subfolder, and then simply open a terminal, navigate to the main folder containing all of the downloaded pieces of code above, and your subfolders with jobOptions in, and then 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!

Fully-Automated Process

In some instance you will want to create a lot of samples, but perhaps just to find the cross-sections of a range of mass points using pythia. This is what I did for the Graviton at various couplings, and as good as the process above works, I still had to make each folder and jobOptions which would have taken a while, therefore I wrote this fully automated process. You will need the files above, as well as:

MakeFolders.sh
CollectXS.sh
Extract.py
XSCollection.txt

Once you have these files, you can edit MakeFolders.sh to create the various jobOptions files you want using the iterator to change the mass point (or anything else you care to program). This script will also create the required folders, as well as write your joblist.txt for you. So the whole process can then be run using:

./MakeFolders.sh
./run_all.sh

Once all of your files have been run with pythia, you should be in the state of having all your folders filled with the cross-section lines filtered out into a text file. The final step is to iterate over these to make your XSCollection.txt file which can be done by appropriately editing and then running:

./CollectXS.sh

Note: This process I describe is only really for collecting cross-sections but you can turn on the Validation plot making part in the run_one_job.sh to also make validation for each sample (Warning! This will take much more time if turned on!).

Links

Edit | Attach | Watch | Print version | History: r25 < r24 < r23 < r22 < r21 | Backlinks | Raw View | Raw edit | More topic actions

Physics WebpagesRHUL WebpagesCampus Connect • Royal Holloway, University of London, Egham, Surrey TW20 0EX; Tel/Fax +44 (0)1784 434455/437520

Topic revision: r25 - 18 Aug 2011 - DanielHayden

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding RHUL Physics Department TWiki? Send feedback