Root Demo 1 for DIAL 0.92 David Adams August 2004 Uses LocalScheduler to run a job as a single process on the local node. Any of the applications described on the application page at http://www.usatlas.bnl.gov/~dladams/dial/releases/0.92/apps.html may be used. The default is dial_cbnt. Tested on the BNL ACF (ATLAS Computing Facility). Should work on any RedHat 7.3 machine where DIAL is installed. For ATLAS dataset catalogs see http://www.usatlas.bnl.gov/~dladams/dataset/atlas_catalog. ------------------------------------------------------------------------ Here are instructions for running the demo: 1. Define the location where you want DIAL to write its tasks and jobs: > DIAL_PRIVATE_DIR=$HOME/dial_private There is no longer a default for this variable. If undefined, you will not be able to run this demo. There may be problems with task ID's if you delete this directory or change the setting the next time you run the demo. 2. Set up the DIAL environment. From a bash shell, run > . $DIALSETDIR/setup.sh [VERSION] DIALSETDIR is the location of the DIAL setup script. At BNL, set > DIALSETDIR=/afs/usatlas.bnl.gov/users/dladams/apps/dial At CERN, set > DIALSETDIR=/afs/cern.ch/user/d/dial/apps/dial If you want a particular version specify it on the command line. 3. Create an empty working directory and cd there. 4. To install the files for this demo: > $DIAL_ROOT_DIR/demos/setup demo1 5. Start ROOT (should be version 3.10.02) and issue the commands root> test("appname") to submit a job to the scheduler. The argument is the name of the application you wish to run: dial_cbnt, atlasreco or aodhisto. If you omit the argument you will get dial_cbnt. The script will automatically choose an appropriate dataset. 6. Save a reference to your job with root> dial::Job& job = lsch.job(jid); and update the job and (repeatedly) display the job status with root> job.update(); cout << endl << job << endl; When the job is done (or before), examine the result with. root> cout << job.result() << endl << endl; The type of the output dataset depends on the application. If the result is an HBOOK or PAW histogram dataset, then the name of the file holding the histograms will appear in this description. 7. For application dial_cbnt, the result holds HBOOK histograms which may be converted to root format and read into the session as follows: root> open_hbook(); A listing of histograms will appear. The histograms may be manipulated in the usual manner, e.g. root> h2.Draw(); to draw a histogram of event ID's 8. The result can be saved in a local file with the command: root> XmlParser().write("result.xml", *job.result().xml()) ------------------------------------------------------------------------ Reconfiguring ------------- 1. The task may be modified by editing the relevant files in the local directory (init.kumac and cbnt.f for dial_cbnt) and deleting task_APPNAME.xml (APPNAME is the name of your application). The task will be constructed the next time the test script is run. 2. The input dataset may be changed by modifying the assignment to the dataset ID did in test.C. A (very long) list of single-file datasets may be found in the DFC at http://www.usatlas.bnl.gov/~dladams/dataset/atlas_catalogs. Be sure to choose a dataset with the appropriate content for your task and application. 3. To do distributed processing for datasets with multiple files, use the master scheduler. See dial_root demo 2 or 3.