This page shows how to generate, simulate (using AltfastII
), and reconstruct events. It assumes you have installed and set up release 14. If not, see Gustaaf's tutorial for setting up a release at Nevis: RunningAnalysis
or for setting up a release at BNL: RunningAnalysisAtBNL
. You can also set up a release on lxplus at cern by following cern's computing workbook
. It may be a good idea to go through the workbook anyway, however, if you intend to do a lot of production, you will not be able to do it on lxplus because of disc space issues. Also, the workbook production runs through the full chain which takes an order of magnitude longer to get through than using Atlfast II.
After your release has been installed and setup, you will need to create a place where you can do your production. For example, mine is
. Once created,
to that directory.
The event generation job transform is
. The main difference (from what I can tell) between a job options file and a job transform file is that the transform accepts arguments (for example for the number of events, so that you don't have to physically change the contents of the file as with job options). You will also need a job options file which specifies the pythia cards for your event. An example job options file can be copied from
. This job options file contains W' events decaying to a W and a Z. The W then decays to an electron and its neutrino, and the Z hadronically.
The part where you specify your decay begins after the line
Pythia.PythiaCommand = [
. Everything after this switches on the W' production, specifies its mass, forces a decay to WZ, and then specifies what the W and Z decay to (see comments in the file). For example to make the W decay hadronically, first turn off the leptonic decay by switching the line
"pydat3 mdme 206 1 1"
"pydat3 mdme 206 1 0"
. Then turn on the hadronic modes (for example, changing
"pydat3 mdme 190 1 0"
"pydat3 mdme 190 1 1"
will turn on the W-]d-bar u mode). In short, the last number in each line specifies if the process is on (1) or off (0).
Once you have the job options file, simply enter the following line, specifying your own parameters:
csc_evgen_trf.py -t [runNumber] [firstEvent] [maxEvents] [randomSeed] [jobConfig] [outputEvgenFile] [histogramFile] [ntupleFile] [inputGeneratorFile]
As an example:
csc_evgen_trf.py -t 8999 0 100 54298752
This generates 100 W'->WZ->enuqq events and stores them in the file
. This should go rather quickly (around 5 min for 100 events).
The next step is simulation/digitization using Atlfast II. The transform file used here is
. This takes an input evgen file and first simulates what each particle does to the detector, and outputs a file containing a record of where each particle traversed the detector as well as how much energy was deposited in that detector component. The user can save this record as a root file (called a HITS file) if he or she chooses.
This transform also digitizes events, i.e. simulates the digital output of the detector in response to each event. The result is called an RDO file which stands for Raw Data Object. This is in principle similar to real data that one would expect to get out of the detector. To run simulation, enter this line at the command line:
csc_simul_trf.py [options] [inputevgenfile] [outputhitsfile] [outputrdofile] [maxevents] [skipevents][randomseed] [geometryversion] [physicslist] [jobconfig] [dbrelease]
100 0 12 "ATLAS-GEO-01-01-00" 1 2 QGSP_EMV jobConfig.FastIDKiller.py
Note that this can take a while to complete (~2 hours for 100 events)
The last step is reconstruction (converting the raw data into objects like jets, electrons, etc.). In the Atlas Event Data Model, there are two data formats: the Event Summary Data (ESD) and the Analysis Object Data (AOD). The ESD contains more information than the AOD (for example, the ESD provides full access to the calorimeter cells whereas the AOD does not). The relevant transform file is
. This file will create both an ESD and an AOD. It also creates an ntuple which is readable in root, but you'll likely just want to create your own ntuple anyway using AnalysisSkeleton
, for example. Also, see the physics workbook
for more info on how to do analyses with an ESD or AOD.
Before you begin with this step, note that there is a bug which causes crashes while reconstructing in release 14.2.10. This should not be true for 14.2.11 or 14.1.0, but those are not yet installed at Nevis. The details are here
if you're interested. The fix (I believe) is simply to check out and compile the following packages:
To do this, set up cvs as specified in the RunningAnalysis
page. Then do:
cmt co -r
cmt bro make
and similarly for the other package. Once you've done this, the reconstruction should work without crashing. You may also have to source the setup.sh script in each package's cmt directory each time you open a new shell for the fix to work.
The command to run reconstruction is:
csc_reco_trf.py [options] [inputrdofile] [outputesdfile] [outputaodfile] [ntuplefile] [maxevents] [skipevents] [geometryversion] [triggerconfig] [jobconfig] [dbrelease] [conditionstag]
csc_reco_trf.py WprWZenuqq.RDO.root WprWZenuqq.ESD.root WprWZenuqq.AOD.root NONE 100 0 "ATLAS-GEO-01-01-00" NONE
This creates a 100 event ESD and AOD that you can then run an analysis on.
- 08 Aug 2008