Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Before the simulated LCIO events can be run through Pandora, the LCSim tracking needs to run in order to add a collection of tracks. LCSim can be run using the steering file, sidloi3_tracking_steering.xml.

No Format

java -jar ./lcsim.jar sidloi3_tracking_steering.xml

The input files section needs to be changed to point to your local simulated SLIC events.

If you don't have a working LCSim setup, follow know how LCSim batch mode works, then review the LCSim XML instructions to set one up.

The LCSim job must accomplish three tasks before the events can be read into Pandora, in this order.

  1. Generation of a Tracks collection using an appropriate Seed Tracker Driver.
  2. Adding TrackState collections using the SeedTrackerTrackState Driver.
  3. Writing out the necessary LCIO collections to a data file to be read into Pandora.

To generate the Tracks, a top-level Driver should be run that covers subdetector setup, digitization, and track finding and fitting. This top-level Driver will likely be specific to a certain detector design.

For instance, this simple Driver definition is sufficient to generate tracks in the sidloi3 detector.

No Format

 <driver name="MainTrackingDriver"
         type="org.lcsim.recon.tracking.seedtracker.trackingdrivers.sidloi3.MainTrackingDriver"/>

Three TrackState collections need to be added to the LCIO output to provide Pandora with track information at the track origins, the ECal, and the end point.

The following Driver in the Seed Tracker package will add these necessary TrackState collections. This Driver also requires that another Driver be run beforehand to cache Calorimeter subdetector data.

No Format

<driver name="CalInfoDriver"   
        type="org.lcsim.recon.util.CalInfoDriver"/>
<driver name="TrackStateDriver"
        type="org.lcsim.recon.tracking.seedtracker.SeedTrackerTrackStateDriver"/>

Finally, an LCIODriver should be added to the end of the event processing to output the appropriate collections.

No Format

<driver name="Writer"
        type="org.lcsim.util.loop.LCIODriver">
            <outputFilePath>OUTPUT_FILE</outputFilePath>
            <writeOnlyCollections>BeamCalHits EcalBarrelHits EcalEndcapHits HcalBarrelHits HcalEndcapHits MuonBarrelHits MuonEndcapHits Tracks StateAtECal StateAtEnd StateAtStart MCParticle MCParticleEndPointEnergy SiVertexBarrelHits SiVertexEndcapHits SiTrackerBarrelHits SiTrackerEndcapHits SiTrackerForwardHits LumiCalHits</writeOnlyCollections>
</driver>

The OUTPUT_FILE argument needs to be replaced with the actual name of the LCIO output file to be fed to Pandora.

Once these Drivers are defined in the <driver> section of your LCSim XML file, the execution order should look like the following.

No Format

<execute>
    <driver name="CalInfoDriver"/>
    <driver name="MainTrackingDriver"/>
    <driver name="TrackStateDriver"/>
    <driver name="Writer"/>
</execute>

Now that tracks and track states have been added to the events, we are ready to use Pandora itself.

The final LCSim XML file should look something like the example below.

.

Tracking Steering File

Below is an example XML steering file for LCSim to generate the Tracks and TrackStates for the sidloi3 detector.

No Format
<lcsim xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
        xs:noNamespaceSchemaLocation="http://www.lcsim.org/schemas/lcsim/1.0/lcsim.xsd">
    <inputFiles>
        <file>/u/ey/jeremym/work/jobs/2010-04-09_slicPandora_single_particles/lcio/slic/pi_Theta90_10GeV-0-1000_SLIC-v2r8p3_geant4-v9r3p1_QGSP_BERT_sidloi3.slcio</file>
    </inputFiles>
    <control>
        <numberOfEvents>1000</numberOfEvents>
        <verbose>true</verbose>
        <printSystemProperties>false</printSystemProperties>
    </control>
    <execute>
        <driver name="EventMarkerDriver"/>
        <driver name="CalInfoDriver"/>
        <driver name="MainTrackingDriver"/>
        <driver name="TrackStateDriver"/>
        <driver name="Writer"/>
    </execute>
    <drivers>
        <driver name="CalInfoDriver"   
                type="org.lcsim.recon.util.CalInfoDriver"/>
        <driver name="MainTrackingDriver"
                type="org.lcsim.recon.tracking.seedtracker.trackingdrivers.sidloi2.MainTrackingDriver"/>
        <driver name="EventMarkerDriver" 
                type="org.lcsim.job.EventMarkerDriver">
            <eventInterval>10</eventInterval>
        </driver>
        <driver name="TrackStateDriver"
                type="org.lcsim.recon.tracking.seedtracker.SeedTrackerTrackStateDriver"/>
        <driver name="Writer"
                type="org.lcsim.util.loop.LCIODriver">
            <outputFilePath>/u/ey/jeremym/work/jobs/2010-04-09_slicPandora_single_particles/lcio/lcsimTracking/pi_Theta90_10GeV-0-1000_SLIC-v2r8p3_geant4-v9r3p1_QGSP_BERT_sidloi3_lcsimTracking.slcio</outputFilePath>
            <writeOnlyCollections>BeamCalHits EcalBarrelHits EcalEndcapHits HcalBarrelHits HcalEndcapHits MuonBarrelHits MuonEndcapHits Tracks StateAtECal StateAtEnd StateAtStart MCParticle MCParticleEndPointEnergy SiVertexBarrelHits SiVertexEndcapHits SiTrackerBarrelHits SiTrackerEndcapHits SiTrackerForwardHits LumiCalHits</writeOnlyCollections>
        </driver>
    </drivers>
</lcsim>

The input files section needs to be changed to point to your local simulated SLIC events.

More LCSim Tracking Details

The LCSim job must accomplish three tasks before the events can be read into Pandora, in this order.

  1. Generation of a Tracks collection using an appropriate Seed Tracker Driver.
  2. Adding TrackState collections using the SeedTrackerTrackState Driver.
  3. Writing out the necessary LCIO collections to a data file to be read into Pandora.

To generate the Tracks, a top-level Driver should be run that covers subdetector setup, digitization, and track finding and fitting. This top-level Driver will likely be specific to a certain detector design.

For instance, this simple Driver definition is sufficient to generate tracks in the sidloi3 detector.

No Format

 <driver name="MainTrackingDriver"
         type="org.lcsim.recon.tracking.seedtracker.trackingdrivers.sidloi3.MainTrackingDriver"/>

Three TrackState collections need to be added to the LCIO output to provide Pandora with track information at the track origins, the ECal, and the end point.

The following Driver in the Seed Tracker package will add these necessary TrackState collections. This Driver also requires that another Driver be run beforehand to cache Calorimeter subdetector data.

No Format

<driver name="CalInfoDriver"   
        type="org.lcsim.recon.util.CalInfoDriver"/>
<driver name="TrackStateDriver"
        type="org.lcsim.recon.tracking.seedtracker.SeedTrackerTrackStateDriver"/>

Finally, an LCIODriver should be added to the end of the event processing to output the appropriate collections.

No Format

<driver name="Writer"
        type="org.lcsim.util.loop.LCIODriver">
            <outputFilePath>OUTPUT_FILE</outputFilePath>
            <writeOnlyCollections>BeamCalHits EcalBarrelHits EcalEndcapHits HcalBarrelHits HcalEndcapHits MuonBarrelHits MuonEndcapHits Tracks StateAtECal StateAtEnd StateAtStart MCParticle MCParticleEndPointEnergy SiVertexBarrelHits SiVertexEndcapHits SiTrackerBarrelHits SiTrackerEndcapHits SiTrackerForwardHits LumiCalHits</writeOnlyCollections>
</driver>

The OUTPUT_FILE argument needs to be replaced with the actual name of the LCIO output file to be fed to Pandora.

Once these Drivers are defined in the <driver> section of your LCSim XML file, the execution order should look like the following.

No Format

<execute>
    <driver name="CalInfoDriver"/>
    <driver name="MainTrackingDriver"/>
    <driver name="TrackStateDriver"/>
    <driver name="Writer"/>
</execute>

Now that tracks and track states have been added to the events, we are ready to use Pandora itselfThe above example will likely not work in your environment. The data file names should be changed to match those that you have available.

PandoraFrontend

The PandoraFrontend binary provides a simple frontend to slicPandora.

...

The above command requires that the input events were generated in the sidloi2 detector and that a symlink has been setup pointing from "input.slcio" to your input event file.

Using GeomConverter to Output the Pandora Geometry Format

The GeomConverter package can convert from compact detector descriptions to various output formats, including one for input to slicPandora. (Installation of GeomConverter is not covered here.)

...