Running the PC Reduction

Running the PC Reduction

Kate Scholberg, Duke University

September 2005

Abstract

The purpose of this memo is to document the current PC reduction software tools, without going into the details of the cuts (i.e. "form" as opposed to "content".)

Introduction

The current PC reduction tools are committed to the patcomb module of the cvs repository.

PC Reduction Overview

Here is an outline of the steps. See the multi-GeV and combined papers for more details of the specific cuts at each step.

patall

The central tool for doing PC reduction is the patall.pl script. This script is written in Perl. It takes a list of arguments on the command line which specify the parameters needed, generates the needed rflists, and runs the patall executable. patall.pl is designed to be as flexible as possible: you can specify different input and output areas, and specify a particular range of reduction steps. For instance, you can choose to run only PC 3 on a file, or to run PC 2 through PC 5.

Here's an explanation of the meaning of all of command-line arguments for patall.pl. The first argument is the mode: this specifies how to use the script. The specific list of command-line arguments depends on the mode.

Mode 1 arguments:

patall.pl mode mc firstred lastred exename logdir outdir iunit ounit hbkon filelist

Here is an example of running PC2 through 4 on the files corresponding to run 7813 from MTL.

# patall.pl 1 0 2 4 /home/atmpd/patcomb/patcomb/solaris_sparc/patall /home/atmpd/patcomb/test/logs/ /home/atmpd/patcomb/test/out/ DISK LOCAL 1 /mtl/atmpd/reduc/patrd2/patrd2.run007813*

Mode 2 arguments:

patall.pl mode mc firstred lastred exename logdir outdir iunit ounit hbkon flagdir indir infilestub

The first 10 arguments (mode through ounit) are the same as for mode 1. However the others are different.

Here's an example of running PC 2 through 5 on a list of files specified in flag file directory /home/ocon/atmpd/flag/patrd2.

patall.pl 2 0 2 5 /home/atmpd/patcomb/patcomb/solaris_sparc/patall /home/atmpd/patcomb/test/logs/ /home/atmpd/patcomb/test/out/ DISK LOCAL 1 /home/ocon/atmpd/flag/patrd2 /mtl/atmpd/reduc/patrd2 patrd2

Source code and libraries

Here's a rough guide to the source code. The main routines are listed here.

First the libpclib.a library contains code for the mechanics of PC reduction: calling the separate reduction steps, logging, opening and closing, etc.

The libodlib.a library contains code which is the guts of the PC reduction algorithms. For instance grad_cluster.c contains the PC2 fast clustering (this has been significantly rewritten.)

Please be sure to link against current versions of these libraries.