Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

/nfs/farm/g/glast/u13/MC-tasks/

the task configuration information is in the <task-name>/config directory.

Caveats at time of writing

  • a modified GlastSvc is needed to use an environment variable in the job options file for the run number. It is available in GlastSvc v9r12p1, and appeared in GlastRelease as of HEAD1.403; it is not in EngineeringModel yet!

Configuring the pipeline

Configuration is done from the glast-ground web server:

http://glast-ground.slac.stanford.edu/

Here is a sample xml file for upload to Gino:

Code Block
xml
xml
<?xml version="1.0" encoding="UTF-8"?>
<pipeline
	xmlns="http://glast-ground.slac.stanford.edu/pipeline"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://glast-ground.slac.stanford.edu/pipeline http://glast-ground.slac.stanford.edu/pipeline/pipeline.xsd">

	<name>allGamma-GR-HEAD1.403</name>
	<type>SimReconDigi</type>
	<dataset-base-path>/nfs/farm/g/glast/u13/MC-tasks/allGamma-GR-HEAD1.403/rootData/$(RUN_NAME)</dataset-base-path>
	<run-log-path>/temp/</run-log-path>

	<executable name="GleamWrapper" version="v1r0">
		/nfs/farm/g/glast/u13/MC-tasks/allGamma-GR-HEAD1.403/config/GleamWrapper.pl
	</executable>

	<batch-job-configuration name="long-job"  group="glastgrp" queue="long">
	<working-directory>/nfs/farm/g/glast/u13/MC-tasks/allGamma-GR-HEAD1.403/config</working-directory>
		<log-file-path>/nfs/farm/g/glast/u13/MC-tasks/allGamma-GR-HEAD1.403/rootData/$(RUN_NAME)/log</log-file-path>
	</batch-job-configuration>

	<file name="digi" type="DIGI" file-type="root"/>
	<file name="merit" type="merit" file-type="root"/>
	<file name="recon" type="RECON" file-type="root"/>
	<file name="mc" type="MC" file-type="root"/>

	<processing-step name="gleam" executable="GleamWrapper" batch-job-configuration="long-job">
		<output-file name="digi"/>
		<output-file name="merit"/>
		<output-file name="recon"/>
		<output-file name="mc"/>
	</processing-step>
</pipeline>

...

  • allGamma.txt - job options file
    • the only items to modify are the source name and number of events
    • note that the run identifier is a character string (even though you don't have to do anything with it at this stage)
  • allGamma.sh - shell script that launches Gleam
    • modify the CMTCONFIG and GlastRelease and Gleam versions

Submitting Jobs

A perl script is available to meter jobs into the pipeline (this allows bumping against the database connection limit). It will soon be available in the glast account directory, but is now in ~richard/GLAST/Pipeline/submitTasks.pl

export PDB_HOME=/u/gl/glast/pdb
and make sure it is in your path.

submitTasks.pl <max-run> <taskName> <maxNum2submitNow> <padLength>

createRun.pl <taskName> <runName>
deleteRun.pl <taskName> <runName>

are other handy commands. Note that deleteRun does not clean the output files off disk.

Accessing files via the pipeline catalogue

A Root class has been written to query the database to find requested files and create a TChain of them. These are in cvs at

http://www-glast.stanford.edu/cgi-bin/viewcvs/users/richard/pipelineDatasets/#dirlistImage Removed

bash-2.05b$ source ~/GLAST/Pipeline/setupOracleRoot3/nfs/farm/g/glast/u13/MC-tasks/utilities/setupOracleRoot.sh
bash-2.05b$ export TWO_TASK=SLACPROD
bash-2.05b$ root -l
root 0 .L ~/GLAST/Pipeline/nfs/farm/g/glast/u13/MC-tasks/utilities/pipelineDatasets/v0/rh9_gcc32/libpipelineDatasets.so
root 1 pipelineDatasets* p = new pipelineDatasets();
root 2 int sc = p->selectDatasets("allGamma-GR-HEAD1.403","merit");
root 3 TChain* c = p->makeChain("MeritTuple");

...

Pruning/concatenating Ntuple files

The Root code also lives on disk at SLAC at

/nfs/farm/g/glast/u13/MC-tasks/utilities

There is a handy-dandy perl script now to do the pruning

$ source setupOracleRoot.sh
$ runPrune.pl '<taskName>' '<cut>'

this will fire up Root in batch mode and run RUN_Prune.cxx, producing an tuple file named <taskName>-This macro applies a TCut and creates an ntuple-prune.root file. At the moment, the TCut is hardwired into the function. It is not in cvs yet.in the current working directory. It is not have to be run from the utilities directory (and is best not to!).

The standard cut is

TkrNumTracks>0root 4 .L ~richard/GLAST/Pipeline/PruneTuple.C
root 5 PruneTuple(c);