Root demo 3 for DIAL 0.94 David Adams November 2004 Makes use of the analysis service specified in rootlogon.C. User must have a grid proxy. 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) and CERN lxplus. 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. For the current status of the DIAL web service, please see http://www.usatlas.bnl.gov/~dladams/dial/service. ------------------------------------------------------------------------ Here are instructions for running the demo: 1. 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/dadams/apps/dial If you want a particular version specify it on the command line. 2. Create an empty working directory and cd there. 3. To install the files for this demo: > $DIAL_ROOT_DIR/demos/setup demo3 5. Obtain a grid proxy with > grid-proxy-init If the command fails, you may not have a grid certificate. See http://www.usatlas.bnl.gov/ADA/dels/authentication for links to instructions for obtaining and registering certificates. 6. Start ROOT (should be version 3.10.02) and and use the submit macro to submit a job: > root.exe root> submit(); This will use dial_cbnt to process the default virtual dataset. The applications aodhisto or atlasreco may also be used. To choose another application or dataset, find the dataset name in the DSC and provide it and the application names as arguments: root> submit("my_application_name", "my_dataset_name"); The ID of the submitted job will be in the variable jid. To display: root> cout << jid.to_string() << endl; For atlasreco or any application with long-running jobs, do not use the default scheduler--see item 2 in "Reconfiguring". 7. Display the new job status with root> cout << msch.job(jid) << endl << endl; and, when it is done or an intermediate result is available, examine the result with: root> cout << msch.job(jid).result() << endl << endl; If the application is dial_cbnt, the result will include a filled HBOOK logical file, most likely in a LocalFileCatalog or AfsFileCatalog. The ID of that logical file gives the location of the output HBOOK file. (Note: Unlike root demo 1, there is need to update the job. This is done automatically in the service side.). 8. The macro open_hbook may be used to extract the filled HBOOK file from the result, convert if to ROOT format and open the ROOT file: root> open_hbook(); The job status and a listing of histograms will be displayed. The histograms may be manipulated in the usual manner, e.g. root> h5.Draw(); to draw a histogram of event ID's ------------------------------------------------------------------------ Reconfiguring ------------- 1. The task may be modified by replacing task.xml or editing the relevant files and deleting the exiting task.xml. For dial_cbnt, the relevant files are init.kumac and cbnt.f. If absent, task.xml, is automatically created the next time test.C is run. 2. To modify the scheduler configuration, e.g. to change the service address, edit rootlogon.C.