
HCAL/JET/MET Ntuple Maker &
JetMetFast
![]()
The content of the ntuples :
Version 2.08 forcoming (tag : under construction )
Version 2.07 Summer'02 production ( tag : jma207_orca620_10Jul2002 )
Version 2.06 FNAL Dec '01 - Feb '02 reproduction ( tag : jma206_orca534_19Dec2001 )
Version 2.05 FNAL Fall 2001 production
How to get ready ntuples :
FNAL Spring 2002 production
Winter 2001 Big Minimum Bias Production
How to create the executable :
ORCA_6_2_3 ( ntp_maker_2_0_7 ):Use the checkout623.csh script otherwise follow the instructions below.
ORCA_6_2_0 ( ntp_maker_2_0_7 ):Use the checkout620.csh script otherwise follow the instructions below.
ORCA_5_3_4 ( ntp_maker_2_0_7 ):Use the checkout534.csh script otherwise follow the instructions below.
ORCA_5_3_1 ( ntp_maker_2_0_6 ):Use the checkout531.csh script otherwise follow the instructions below.If you need only JetMetFast then use the checkout_fast531.csh script
ORCA_4_5_4 ( ntp_maker_2_0_5 ):Use the check-out script otherwise follow the instructions below.
ORCA_4_4_0_optimised :Use the check-out script otherwise follow the instructions below.
ORCA_4_5_1 ( ntp_maker_2_0_2 ):There is a check-out script which creates an ORCA_4_5_1 tree in your $SCRATCH area and then builds the Ntuple maker executable named JetMet in $SCRATCH/ORCA_4_5_1/bin/Linux__2.2/ or in $SCRATCH/ORCA_4_5_1/bin/SunOS__5.6/, depending on which architecture you use.One needs to copy the script to one of your directories and run it. It will not destroy your existing ORCA tree, only updates it. If you want to remove your existing ORCA tree for some reason you can "source" this script with the "new_orca" parameter added (i.e. "source checkout451.csh new_orca").
How to rebuild the executable in case of you have modified the code:
You will find our code in the directory tree under $SCRATCH/ORCA_4_5_1/src/JetMetAnalysis . The analysis code which you are interested in is in JetMetAnalysis . The header files are in */interface , and the implementation (source) files are in */src . The JetMet.cpp file, from which the executable is created is in JetMetPackage/test .If you modified the analysis code, then first you have to rebuild its library going to $SCRATCH/ORCA_4_5_1/src/JetMetAnalysis/* , where * is one of the packages of JetMetAnalysis : JetMetPackage, JetMetCollection, etc. You will find a file called rebuild . Execute it with source , and as a result, the libraries will be created in $SCRATCH/ORCA_4_5_1/lib/Linux__2.2/ or $SCRATCH/ORCA_4_5_1/lib/SunOS__5.6/ . Off the rebuild file you hav just executed, you will find the output of rebuilding. It is build.txt . Also there will be two other output files (warning.txt and error.txt). If you had compilation or linking errors, then it is useful to look at the second one.
Finally you have to rebuild the executable going to $SCRATCH/ORCA_4_5_1/src/JetMetAnalysis/domain/test where the very simple JetMet.cpp file is. There is a rebuild file here as well, source it, and your JetMet executable will be rebuild. You will get the same output files (build.txt , warning.txt , error.txt ) in Workspace as for the library creation previously.
![]()
How to run the executable :
Interactive mode:The check-out script puts the interactive run_db.csh script off your executable, which you can run anywhere in your ORCA tree, e.g. you can put several copies in subdirectories.You have no longer to edit it, you can "source" it both at cern and fnal, writing parameters (cern/fnal, data) after the script name. If you "source" it without parameters, it will print the necessary information and examples.
Examples :
Place Owner File Run# #Events to jump #Events to process source run_db.csh cern 1034Pileup hlt1015 6 10 2 source run_db.csh fnal lumi1030 jm_pi_pt30 0 500 2 Selecting run number as 0 will take all the runs.
Run only one job on wonder.fnal.gov except you want to kill it. If you have several jobs ("source run_db.csh ...") then put them ( these lines ) in a script, and source that script.
Multiple jobs (batch at CERN, background at FNAL)The check-out script puts the run_db_batch.job off your executable, which you can run, wherever you want. It calls the run_db.csh script described previously. You have to set the appropriate parameters inside the job script, then you have to "bsub" or "source" the job script. It will copy your whole ORCA tree with the executable local to the batch machine (to $WORKDIR if "bsub"-bed at CERN), run locally and then copy back the results wherever you want. If you want to run multiple jobs, run the script outside your ORCA tree. You need one copy of the script for each job, but you can have several copies in the same directory.The ORCA check out, and the output area should be seen by the batch machines. For example afs is seen, also the "data-d2" and "data-d3" scratch disks, but these latter ones often cause NFS error.
Ntuple productionThe previous method allows you to create and run several jobs simultaneously. But you have to edit several files for that, so one can afford it only for a few dozen of jobs or so. While production usually means to run several hundreds of jobs. The create_ntup_prod.csh_example script creates job scripts in a much more perspicuous way. It reads the prod_job_body.csh script , which you do not have to edit, and where most of the ugly details are hidden. And if you want to type even less (only a few characters) then use makecreate.pl , which will make your "create" script.You can run the job scripts in the same way as it is explained in the previous "Multiple jobs" section.
How to report problems :
Most of the problems are Objectivity or data staging ( CASTOR, enstore ) problems like
Lock server is not running or crazy
AMS server is not running or crazy
boot file is not found
storage manager can not open file
deferred stage in failed
In case of Objectivity or data staging problems
at CERN Tony's page gives general instructions .
at FNAL contact Shafqat Aziz ,
If you need help, you must give help. In an error report the necessary minimum information is ( look at the running script for some help ) .
the boot file name ( e.g. snickers.fnal.gov::/data/Federation/UserFederation/jet0900.boot )
the owner name ( e.g. 2e33_jetDigis120_452_FNAL_D )
the file name ( e.g. jm_hlt2030 )
the error message
How to analyze ntuples :
More coming soon ... until then have a look at /afs/fnal.gov/files/home/room2/hidaspal/public/jetmet/kumacs
There is an overflow in the packed variable IDAgenpart, which makes the first daughter pointer undefined in cases, when there are nonzero number of vertices in the event. It makes it harder to find the mother of a particle. To cure this you can use the following mother.f fortran code doing your PAW analysis. You have to attach this file to the end of each of your fortran files called by your kumacs. It contains a subroutine that can be called from a fortran file, which is in the same file as your calling routine.
In this directory you will find some scripts, which make the access to the ntuples automatic for you. Put them into your analysis directory, create 2 directories ( "mkdir links", "mkdir chains" ) before using them. Also if you use them at cern, then change some things (e.g. the top directory of the ntuples ) in them. Then do "source refresh_all.csh" that will do the job running all the other scripts. Your analysis kumacs should be in subdirectories, and you can acces e.g. all the "jm_hlt010" ntuples with simply "cd //jm_hlt010" in you kumacs. See /afs/fnal.gov/files/home/room2/hidaspal/public/jetmet/kumacs/met_01 for working examples.
How to access existing databases :
CERN production page
FNAL production page
How to produce a private database (tested at FNAL only) :
If public data bases are not available because of Christmas break, or system crash, or do not contain the physics channel you analyze, then you can create your own data base, which will be the input of the ntuple maker. This is a CPU consuming procedure, it is only recommended to produce a few thousand events for users. So generate signal samples, and not minimum bias or hlt background samples.
Check out from ORCA the necessary code and build the executables with checkdbtools.csh
Initialize your Objectivity data base user federation with init_federation.csh
Populate your database with fzhd.csh running it with run_fzhd.csh_example
JetMetAnalysis documentation :
ORCA_5_3_4 documentation
![]()
Tests of ORCA :
Verification of ORCA with the ntuple maker
![]()
![]()
Author: Pal Hidas , last update : July 17, 2002.