Beam Test Pipeline Application
|
![]() |
Generally stated, a pipeline consists of tasks and processes created and chained together to implement a multitasking environment on a server. Major components normally include such things as:
GLAST Pipeline. The current GLAST Pipeline (a.k.a. Pipeline I) is a system for scheduling and tracking the execution of data processing jobs on SLAC's CPU farm.
Terms used in Pipeline processing:
Two pipeline applications have been created in support of the Beam Test:
The Beam Test Pipeline application consists of a configuration of data processing jobs submitted to the Pipeline I scheduler. (See Beam Test Pipeline flow chart.)
Once the first task (updateELogDB) is started and exported from Pisa or CERN, it's all automatic unless something fails.
All online data produced by LATTE (currently stored in directories associated with runs numbers) are automatically retrieved and FASTCopied to the SLAC farm. After that, an ORACLE database is populated which provides queries to the data. The pipeline also creates reports, and launches data processing/reconstruction code to produce data files and high level analysis ntuples.
The normal sequence can be summarized as follows:
Notes:
The Beam Test Pipeline Application is a part of the Beam Test Processing Chain shown below and consists of a configuration of data processing jobs submitted to the Pipeline I scheduler.
Note that the Beam Test Pipeline submits jobs to the Pipeline I scheduler which then schedules the jobs on the SLAC CPU farm. Once the first task (updateELogDB) is started and exported from Pisa or CERN, it's all automatic unless something fails.
Beam Test Data Processing Chain
Ancillary data fields are read from rcReport, but they are not put in a file. However, they can be read by a database query (e.g., ./lib/queryElogReportTable.pl 700000597 beam_momentum), but only on SLAC machines.
Note: Runs prior to 700000529 did not have any of the new fields entered.
To see if a run is processed:
Also see: GLAST Pipeline Front End (PFE) tutorial.
To test a new version of a script:
source ~glast/pdb_config/dpf_config_test.csh
$beamtestPlRoot/online/BeamTestLaunch.pl $runId
Tip: Everything should be set up in: $beamtestPlRoot/setup/svacPlSetup.cshrc
Note: Instructions for installing a new version of the scripts can be found in:
$beamtestPlRoot/doc/install.txt
Tip: A failure is often due to a transient problem and can be fixed by:
$PDB_HOME/rollBackFailedRun.pl $task $run
Note: If the failure is due to a bug in the pipeline code, and you choose to check the code out and modify it:
It is safe to turn off injection by touching the "halted" file while runs are being processed. Runs that were already injected will continue to be processed, but new runs will not be injected until the file is removed.
Caution! Do not change the "current" link while runs are being processed.
SVAC and Beamtest Pipelines:
To cleanup the SVAC and Beamtest pipelines after a failed recon "chunk" run on a noric machine, run either of the following scripts:
$svacPlRoot/lib/cleanupRecon.csh
or
$beamtestPlRoot/lib/cleanupRecon.csh
Note: Either script will cleanup both the SVAC and Beamtest pipelines. However, while they will try, they cannot cleanup the test pipeline due to permission settings.
Test Pipeline:
To cleanup the test pipeline, run it ast glast.dpt (using the same password as for glast/glastdpf).
To reprocess a run:
$beamtestPlRoot/lib/deleteLinks.csh $run
$beamtestPlRoot/online/BeamTestLaunch.pl $run
Note: If reprocessing runs stored on an older disk, create a script to reprocess runs stored on the old disk by copying BeamTestLaunch.pl, then create links to the old data before launching createRun.pl. BeamTestLaunch.pl only works for runs where the LDF file is on the current raw data disk.
For example, at the time this document was written, the current disk was u37; however, the ldf files taken to date were written to u30, and a script ($beamtestPlRoot/online/u30Launch.pl) was created to reprocess those runs.
Tips:
- Code can be checked out from:
/afs/slac.stanford.edu/g/glast/ground/PipelineConfig/BeamTest-tasks/beamtestPipeline/versionNumber
(e.g., v1r030603p4)
- To view install.txt, go to the CVS Repository, Index of /BeamTestPipeline/doc
Notes:
- Do not set the environmental variable for PIPELINE_HOME; that variable is used only within the installation instructions.
- However, do set the following variable:
setenv beamtestPlRoot /afs/slac.stanford.edu/g/glast/ground/PipelineConfig
/BeamTest-tasks/beamtestPipeline/versionNumber
(e.g., v1r030603p4)(The line shown above is wrapped.)
Owned by: | Tom Glanzman and Warren Focke |
Last updated by: Chuck Patterson 08/28/2006-> |