You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

Processing Data in Batch Mode using LCSim XML

Basics

This tutorial explains how to run org.lcsim in a batch computing environment, such as on a unix command line or from a shell script, which could be run on the grid.

If you have not gotten here by following the lcsim Tutorials, then backup and read or review as necessary.

Setup

Follow the instructions for building lcsim software using maven2.

You can now run lcsim from the command-line using the java command.

java -jar ./lib/lcsim-[VERSION].jar [XML]

The VERSION is replaced by your lcsim build version. And XML is a file in the lcsim recon XML format.

java -jar ./lib/lcsim-1.11-SNAPSHOT.jar ./myJob.xml

LCSim XML Format

The JobManager class processes your job, which is written in an xml format.

This is best explained with examples. We will start very simple and get more complicated, adding options and so forth.

<lcsim>
    <inputFiles>
        <file>./myEvents.slcio</file>
    </inputFiles>
    <control>
        <numberOfEvents>100</numberOfEvents>
    </control>
    <execute>
        <driver name="EventMarkerDriver"/>
    </execute>
    <drivers>
        <driver name="EventMarkerDriver"
                type="org.lcsim.job.EventMarkerDriver">
            <eventInterval>1</eventInterval>
        </driver>
    </drivers>
</lcsim>

The inputFiles section is a list of one or more LCIO input file paths that will be processed.

The control section sets the jobs run parameters. Here we set the maximum numberOfEvents.

The execute section is a list of drivers to be executed in order. The name field of the driver element must correspond with a valid driver.

Finally, the drivers section describes the drivers that will be run on the input file. Certain types of Driver parameters can be set in this section. Here the interval for event printing is set as eventInterval, which is an integer.

The signature for this method looks like this.

public void setEventInterval(int eventInterval);

The JobManager is able to convert from xml to these simple setters using Javabeans. All Java primitive types are accepted, as are 1d arrays of these types. The method must have a single argument only.

  • No labels