Versions Compared

Key

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

...

What groups are involved with ILC detector simulations?

...

Which labs are the primary ones involved with ILC detector simulations?

...

What (US) schools and universities are involved with ILC detector

...

simulations?

Groups.

Labs and Universities.

And many others.

...

Where can I get additional information about software packages?

The LCSim Software Index has links to all the primary tools for ILC Detector Simulations. The Portals Section lists sites that cover full suites of software.

What conference

...

cover ILC detector

...

simulations?

LCWS
ALCPG Workshops
ECFA workshops
ACFA Workshops

Where can I find documents about ILC detector simulations aside from workshop talks?

ILC Wikilcws
alcpg workshops
efca workshops
acfa workshops
NICADD agenda server
CALICE agenda server ILC Agenda
LCNotes

Is there a more complete list of ILC groups/links?

List of ILC Groups, Conferences, and other Resources

TODO: Update the resources list

Feedback

Is there an forum for ILC detector simulation issues?

...

Are there mailing lists for questions or announcements about ILC detector simulation?

lcd-l
lcd-dev
lcd-sim (Is this still active?)
TODO: Which of the lcd lists are still active? --JMcalice-sw (active and useful for tbeam people)

Detector Concepts

What are the proposed detector concepts?

There are now four proposed detector designs for the ILC, each of which has an an outline document.

(above based on slide from Hitoshi Yamamoto)

What is the SiD?

  • Silicon Detector (SiD) (American origin)
      Silicon Detector (SiD) (American origin)
      • Silicon tracker, 5T field
      • SiW ECAL
      • 4 'coordinators' (2 Americans, 1 Asian, 1 European)

    From the SiD homepage, "The Silicon Detector Design Study is being organized to develop the SiD Detector Concept into a detailed, optimized, and fully integrated detector design on a roughly one year time scale. The SiD concept incorporates Si/W calorimetry and Si tracking in a Linear Collider detector design which attempts to optimize physics performance while realistically constraining costs."

    SiD Detector Outline Document
    SiD Meeting Agendas - with documents

    What is the GLD?

    GLD Detector Outline Document

    GLD Detector Outline Document Kickoff

    • GLD (Asian Large Detector Concept (LDC) (European origin)
      • TPC (+Large Silicon IT), 4T 3T field
      • SiW W/Scintillator ECAL ("mediumlarge" radius)
      • 6 'contact persons': (2 Americans, 2 Asians, 2 Europeans)
      GLD (Asian

    What is the LDC?

    • Large Detector Concept (LDC) (European origin)
      • TPC (+Large Silicon IT), 3T 4T field
      • W/Scintillator SiW ECAL ("largemedium" radius)
      • 6 'contact persons': (2 Americans, 2 Asians, 2 Europeans)

    LDC Detector Outline Document

    What is the fourth concept

    ...

    ?

    Fourth Concept Outline Document

    Subsystems

    Where can I go for information about ILC detector R&D programs?

    LCRD UCLC FY06
    ILC Detector R&D - mostly archival materials

    What are the main subsytems of an ILC detector?

    vertexing
    foward tracking
    central tracking
    calorimetry (ECAL, HCAL)
    muon system
    magnet
    DAQ, electronics, detector integration

    (from slide of Ties Behnke)

    Calorimetry

    What technologies are being considered for the HCAL?

    RPC - Stainless Steel (SS)
    GEM - SS
    scintillator - SS
    DREAM
    hybrid

    What technologies are being considered for the ECAL?

    Si - W
    Si - Pb
    scintillator - W, Pb
    lead tungstate crystals
    hybrid

    What technologies are being considered for the MUON subsystem or tailcatcher?

    RPC
    scintillator

    Tracking

    What technologies are being considered for the tracking system?

    Silicon
    TPC

    Vertexing

    What technologies are being considered for the vertexing system?

    Forward Region

    luminosity monitor
    beam monitor
    photon calorimeter

    Software Frameworks

    What tools are available for detector simulation and related research?

    Program

    Description

    Detector

    Language

    IOFormat

    Region

    Simdet

    fast Monte Carlo

    TeslaTDR

    Fortran

    StdHep/LCIO

    EU

    SGV

    fast Monte Carlo

    simple Geometry, flexible

    Fortran

    None (LCIO)

    EU

    Lelaps

    fast Monte Carlo

    SiD, flexible

    C++

    SIO, LCIO

    US

    Mokka

    full simulation - Geant4

    TeslaTDR, LDC, flexible

    C++

    ASCI, LCIO

    EU

    BrahmsSi

    Geant3 -

    (above based on slide from Hitoshi Yamamoto)

    What is the SiD?

    From the SiD homepage, "The Silicon Detector Design Study is being organized to develop the SiD Detector Concept into a detailed, optimized, and fully integrated detector design on a roughly one year time scale. The SiD concept incorporates Si/W calorimetry and Si tracking in a Linear Collider detector design which attempts to optimize physics performance while realistically constraining costs."

    SiD Detector Outline Document

    What is the GLD?

    GLD Detector Outline Document

    GLD Detector Outline Document Kickoff

    What is the LDC?

    LDC Detector Outline Document

    What is the fourth concept?

    Fourth Concept Outline Document

    Subsystems

    Where can I go for information about ILC detector R&D programs?

    LCRD UCLC FY06
    ILC Detector R&D - mostly archival materials

    What are the main subsytems of an ILC detector?

    vertexing
    Forward Tracking
    central tracking
    calorimetry (ECAL and HCAL)
    forward calorimetry
    muon system
    magnet
    DAQ, electronics, detector integration
    (from slide of Ties Behnke)

    Calorimetry

    What technologies are being considered for the HCAL?

    RPC - Stainless Steel (SS)
    GEM - SS
    scintillator - SS
    DREAM
    hybrid

    What technologies are being considered for the ECAL?

    Si - W
    Si - Pb
    scintillator - W, Pb
    lead tungstate crystals
    hybrid

    What technologies are being considered for the MUON subsystem or tailcatcher?

    Test Beam

    Who is involved with test beam?

    What data has been taken so far?

    What are plans for test beam?

    What software is used by test beam?

    CALICE

    Where can I go for more information about test beam?

    Tracking

    What technologies are being considered for the tracking system?

    Silicon
    TPC

    Vertexing

    What technologies are being considered for the vertexing system?

    Forward Region

    luminosity monitor
    beam monitor
    photon calorimeter

    Machine Detector Interface and Beam Delivery System (MDI-BDS)

    DiD
    field maps
    masks

    Software Frameworks

    What tools are available for detector simulation and related research?

    Program

    Description

    Detector

    Language

    IOFormat

    Region

    Simdet

    fast Monte Carlo

    TeslaTDR

    Fortran

    StdHep/LCIO

    EU

    SGV

    fast Monte Carlo

    simple Geometry, flexible

    Fortran

    None (LCIO)

    EU

    Lelaps

    fast Monte Carlo

    SiD, flexible

    C++

    SIO, LCIO

    US

    Mokka

    full simulation - Geant4

    TeslaTDR, LDC, flexible

    C++

    ASCI, LCIO

    EU

    BrahmsSi

    Geant3 - full simulation

    TeslaTDR

    Fortran

    LCIO

    EU

    SLIC

    full simulation - Geant4

    SiD, flexible

    C++

    LCIO

    US

    LCDG4

    full simulation - Geant4

    SiD, flexible

    C++

    SIO, LCIO

    US

    Jupiter

    full simulation - Geant4

    JLD (GDL)

    C++

    Root (LCIO)

    AS

    BrahmsRec

    reconstruction

    TeslaTDR

    Fortran

    LCIO

    EU

    Marlin

    reconstruction

    Flexible

    C++

    LCIO

    EU

    hep.lcd

    reconstruction

    SiD (flexible)

    Java

    SIO

    US

    org.lcsim

    reconstruction

    SiD (flexible)

    Java

    LCIO

    US

    JupiterSatelites

    reconstruction

    JLD (GDL)

    C++

    Root

    AS

    LCCD

    Conditions Data Toolkit

    All

    C++

    MySQL, LCIO

    EU

    GEAR

    Geometry description

    Flexible

    C++ (Java?)

    XML

    EU

    LCIO

    Persistency and data model

    All

    C++, Java, Python, FORTRAN

    SIO, LCIO

    AS,EU,US

    JAS3/WIRED

    Analysis Tool / Event Display

    All

    Java

    LCIO, StdHep, HepRep

    US,EU

    (above from slide of Tony Johnson)

    Isn't there one main software framework for ILC detector simulation that I can use?

    There are three (and soon-to-be four) separate software frameworks corresponding to each of Each of the major detector concepts uses a separate software framework, with LCIO providing interoperability.TODO:

    What

    ...

    What frameworks are available for ILC Detector Simulations?

    There are three four differents toolchains that can be used, corresponding to the LDC, SiD, GLD, and GLD detectors"fourth detector" concepts. The software suites corresponding to the first two detectors can simulate all 3 of the detector concepts, so there is no strict division on which tools should be used for a certain detector study.

    ...

    The ALCPG and SLAC use the SLIC Simulations Package (C++) with the org.lcsim for reconstruction and analysis using Java. This system also uses the JAS3 graphical analysis environment. Much of the functionality within org.lcsim comes from the FreeHep Java Library.slic
    lcdd
    gdml
    GeomConverter
    org.lcsim
    SlicDiagnostics
    Maven Netbeans
    JAS3
    WIRED
    AIDA

    Which software tools are associated with GLD?

    Finally, the ACFA group has a suite of softare based on the ROOT framework.

    Jupiter and satellites
    Root

    Which software tools are associated with LDC?

    ...

    What software is associated with the fourth concept?

    I think the fourth The 4th concept is using ILCROOT, which is itself based on AliRoot.

    Info

    The remainder of this FAQ focuses on the US/ALCPG/SLAC software suite based on SLIC and org.lcsim. There is also some basic discussion of Mokka and Marlin and CALICE software. I do not discuss the GLD or fourth 4th concept frameworks. --JM

    Bug Reports

    ...

    You can checkout projects with this command.

    No Format
    
    cvs -d :pserver:anonymous@cvs.freehep.org:/cvs/lcd co [module]
    

    ...

    Windows users should look at Tortoise CVS which adds extensions to Explorer for easily checking out and managing CVS projects.

    ...

    Geant4 and CLHEP

    What is

    ...

    Geant4?

    SLIC stands for "Simulator for the Linear Collider". It is a full simulation package that uses the Geant4 Monte Carlo toolkit to simulate Geant4 is the core Monte Carlo simulator used by all ILC detector simulations programs. It tracks the passage of particles through the detector. SLIC outputs LCIO files that can be analysed using a variety of frameworks and language bindings. SLIC uses a separate backend for the input of detector data called Linear Collider Detector Description (LCDD), which itself is based on the GDML project from CERN.

    Where is SLIC's homepage?

    The SLIC Confluence page is the best source for up-to-date information on this software package.

    Who is the primary maintainer of SLIC?

    matter and simulates the particle interactions.

    How do I build Geant4?

    Before installing Geant4, you need to download and build http://proj-clhep.web.cern.ch/proj-clhep/.

    Then download the Geant4 sources from the distribution page.

    Once you have obtained the sources, please read the Installation Guide carefully.

    The following sequence of commands should get you up and running on Linux (using bash shell).

    No Format
    export CLHEP_BASE_DIR=/your/path/to/clhep
    tar -zxvf geant4.x.tar.gz
    cd geant4.x
    export G4INSTALL=$(pwd)
    export G4WORKDIR=$(pwd)
    export G4SYSTEM=Linux-g++
    cd geant4.x/source
    make
    make includes
    cd ../physics_lists/hadronic
    make
    

    This will take up to several hours depending on the speed of your machine.

    Next, try to build an example application.

    No Format
    cd geant4.x/examples/novice/N03
    export G4WORKDIR=$(pwd)
    make all
    

    Now you should have the ./bin/Linux-g++/N03 binary.

    How do I rebuild just the Geant4 visualization libraries?

    After reconfiguring your environment using the G4VIS variables, rebuild the Geant4 visualization as follows.

    No Format
    cd $G4INSTALL/source/visualization
    gmake clean
    gmake
    cd $G4INSTALL/source/interfaces
    gmake clean
    gmake
    cd $G4INSTALL/source
    gmake libmap
    

    SLIC

    What is SLIC?

    SLIC stands for "Simulator for the Linear Collider". It is a full simulation package that uses the Geant4 Monte Carlo toolkit to simulate the passage of particles through the detector. SLIC outputs LCIO files that can be analysed using a variety of frameworks and language bindings. SLIC uses a separate backend for the input of detector data called Linear Collider Detector Description (LCDD), which itself is based on the GDML project from CERN.

    Where is SLIC's homepage?

    The SLIC Confluence page is the best source for up-to-date information on this software package.

    Who is the primary maintainer of SLIC?

    Jeremy McCormick <jeremym@slac.stanford.edu> is the primary author and maintainer of SLIC. The handling of MCParticles in SLIC was based on earlier work by Ron Cassell <cassell@slac.stanford.edu> from a package called Linear Collider Simulator (LCS). Much work has also been Jeremy McCormick <jeremym@slac.stanford.edu> is the primary author and maintainer of SLIC. The handling of MCParticles in SLIC was based on earlier work by Ron Cassell <cassell@slac.stanford.edu> from a package called Linear Collider Simulator (LCS). Much work has also been done by Ron to verify and debug the LCIO output files.

    ...

    These are located at ...

    No Format
    
    http://www.lcsim.org/dist/slic/
    

    To download a Linux release, use these commands.

    No Format
    
    wget http://www.lcsim.org/dist/slic/slic-1_13_3-Linux-g%2B%2B-bin.tar.gz
    tar -zxvf slic-1_13_3-Linux-g++-bin.tar.gz
    

    ...

    It is useable from anywhere on the host where it was installed.

    No Format
    
    /path/to/my/SimDist/scripts/slic.sh [options]
    

    ...

    Assuming you are within the slic package's top directory you would run it with this command.

    No Format
    
    ./bin/$G4SYSTEM/slic [options]
    

    The G4SYSTEM variable depends on your platform. For instance, on Linux, it is set to Linux-g++, so the command would be ...

    No Format
    
    ./bin/Linux-g++/slic [options]
    

    ...

    If you installed SLIC in the recommended way, the only runtime dependency would be the Xerces C++ shared library. The Xerces library directory needs to be added to the LD_LIBRARY_PATH (bash), so that the loader can find this library when slic executes.

    No Format
    
    export LD_LIBRARY_PATH=/path/to/my/xerces/install/lib:$LD_LIBRARY_PATH
    

    If you see this error, it means that the LD_LIBRARY_PATH has not been set correctly.

    No Format
    
    ./slic/bin/Linux-g++/slic: error while loading shared libraries: libxerces-c.so.27: cannot open shared object file: No such file or directory
    

    ...

    To see explanations of slic's command-line options, use the "-h" option.

    No Format
    
    slic -h
    

    This will print slic usage and exit.

    ...

    Typing slic -h will print the available command-line options.

    No Format
    
    ************************
    * Command Line Options *
    ************************
    
    Option  Full Name       Min Args  Max Args  Macro Command           Description
    ---------------------------------------------------------------------------------------------------------------------------
    -h      --help          0         0         /slic/usage             Print SLIC usage.
    -n      --interactive   0         0         /control/interactive    Start a Geant4 interactive session.
    -v      --version       0         0         /slic/version           Print SLIC version.
    -m      --macro         1         1         /control/execute        Execute Geant4 commands from a file.
    -g      --lcdd-url      1         1         /lcdd/url               Set LCDD geometry file URL.
    -i      --event-file    1         1         /generator/filename     Set event input file full path.
    -o      --lcio-file     1         1         /lcio/filename          Set name of LCIO output file.
    -p      --lcio-path     1         1         /lcio/path              Set directory for LCIO output.
    -O      --autoname      0         1         /lcio/autoname          Automatically name the LCIO output file.
    -x      --lcio-delete   0         0         /lcio/fileExists delete Delete an existing LCIO file.
    -r      --run-events    1         1         /run/beamOn             Run # of events.
    -s      --skip-events   1         1         /generator/skipEvents   Set number of events to skip.
    -l      --physics-list  1         1         /physics/select         Set Geant4 physics list.
    -L      --log-file      0         0         /log/filename           Set logfile name.
    -d      --seed          0         1         /random/seed            Set the random seed.  (No argument seeds with time.)
    

    ...

    prints the SLIC version, along with a lot of other information (probably too much).

    No Format
    
    Simulator for the Linear Collider; SLIC; v1r13p6; Jeremy McCormick and Ron Cassell; SLAC; Tue Apr  4 17:32:07 PDT 2006
    

    ...

    SLIC prints a splash screen as it starts up with the version, build date, and other information.

    No Format
    
    *************************************************************
     App     : Simulator for the Linear Collider (SLIC)
     Version : v1r13p6
     Date    : Tue Apr  4 17:32:07 PDT 2006
     Authors : Jeremy McCormick and Ron Cassell
     Inst    : SLAC
     WWW     : http://www.lcsim.org/software/slic
     Contact : jeremym@slac.stanford.edu
    *************************************************************
    

    ...

    The Geant4 toolkit prints a splash screen that SLIC displays when it starts up.

    No Format
    
    *************************************************************
     Geant4 version Name: geant4-08-00-patch-01    (10-February-2006)
                          Copyright : Geant4 Collaboration
                          Reference : NIM A 506 (2003), 250-303
                                WWW : http://cern.ch/geant4
    *************************************************************
    

    ...

    SLIC commands are added into various directories within the Geant4 UI hierarchy. From interactive mode, use this command to print information on a SLIC or LCDD command.

    No Format
    
    help [command]
    

    Those directories containing only SLIC or LCDD commands are marked with SLIC or LCDD.

    No Format
    
    /lcio/   LCIO output commands. [SLIC]
    

    ...

    You can put Geant4 UI commands into one or more macro files that slic can execute. This is done with the "-m" switch. There can be any number of these switches given to slic at the commandline. For instance, this command will execute the two macros init.mac and run.mac.

    No Format
    
    slic -m init.mac -m run.mac
    

    ...

    If macros are interspersed throughout the command switches, then SLIC will also execute each command in order.

    No Format
    
    slic -m init.mac -x -o output -p myDir -m run.mac
    

    ...

    This command will start Geant4 in PreInit mode where the geometry is not loaded.

    No Format
    
    slic -n
    

    Other commands may also be executed before the interactive mode starts.

    No Format
    
    slic -g myGeom.lcdd -n
    

    The LCDD file will be constructed, so the simulator will start in Idle mode.

    ...

    The following command illustrates some of the options that could be used in a typical batch run.

    No Format
    
    slic -g myGeom.lcdd \              # geometry file
         -i events.stdhep \            # StdHep input file
         -p lcio/ \                    # path for LCIO output file
         -o output.slcio \             # name of LCIO output file
         -x \                          # delete existing LCIO file
         -r 1234 \                     # seed the random engine
         -s 100 \                      # number of events to skip
         -r 1000                       # number of events to run
    

    ...

    In bash, direct all output to a file, as follows.

    No Format
    
    slic &> job.log &
    

    Now use the tail command to look at the output file as the job progresses.

    No Format
    
    tail -f job.log
    

    The BeginEvent and EndEvent markers are the best indicators of the job's progress.

    ...

    This is an example of submitting a job to run 1000 events through the sid00 detector on the xlong batch queue.

    No Format
    
    bsub -q xlong -o `pwd`/job.log -e `pwd`/err.log time slic -g sid00.lcdd -i events.stdhep -o events_sid00 -r 1000
    

    LSF accepts plain bash scripts to start jobs. Mine usually use a few for loops to run combinations of geometries with StdHep files.

    No Format
    
    for g in $(ls *.lcdd); do
      for s in $(ls stdhep/*.stdhep); do
        fname=$(basename ${s%.*})_$(basename ${g%.*})
        bsub -o `pwd`/$fname.log -e `pwd`/$fname.err -q xlong time slic -g $g -i $i -o $fname
      done
    done 
    

    ...

    Example LSF submission scripts can be found in Jeremy McCormick's jobs directory on the SLAC Linux machines at ~jeremym/work/jobs.

    How do I run SLIC on the Condor batch system?

    TODO: An old version works on Condor but probably not SimDist. I will get this running at NICADD.

    Can I run SLIC on the Grid?

    No. But I am working on it.

    Why not?

    Because getting things to run on the Grid is hard.

    How can I make SLIC look for XML schemas in a local directory?

    ...

    The following command illustrates the autoname feature.

    No Format
    
    /lcio/autoname event application version geometry
    

    ...

    Turn on the save feature.

    No Format
    
    /random/setSavingFlag true
    

    ...

    To save the current event to a unique file, use this command.

    No Format
    
    /random/saveThisEvent
    

    This copies currentEvent.rndm to runXXXevtYYY.rndm.

    To do this for every event, put the saveThisEvent command in a macro called rndmSave.mac and run events in this fashion.

    No Format
    
    /run/beamOn 1000 rndmSave.mac
    

    ...

    To restore the random state, use this Geant4 UI command.

    No Format
    
    /random/resetEngineFrom currentEvent.rndm
    

    This can be used to "replay" events of interest. This feature will probably be used with SLIC's skipEvents feature in order to jump to the event first before restoring its random state.

    No Format
    
    /random/resetEngineFrom run0event1000.rndm
    /generator/skipEvents 1000
    

    ...

    The -l option or /physics/select command takes the name of the physics list to use as an argument.

    No Format
    
    /physics/select LHEP
    

    This must happen in the PreInit stage. Once the simulator is in Idle state, the physics list is set permanently for that run, and SLIC must be restarted to use a different list.

    ...

    The command selectStepper sets the integrator, where the argument can be one of the following.

    No Format
    
    G4ClassicalRK4
    G4ExplicitEuler
    G4HelixExplicitEuler
    G4HelixHeum
    G4HelixImplicitEuler
    G4HelixSimpleRunge
    G4ImplicitEuler
    G4CashKarpRKF45
    G4SimpleHeum
    G4SimpleRunge
    

    ...

    Execute this command to select GPS as the event source.

    No Format
    
    /generator/select gps
    

    Actually, GPS is the default, but this can be used to switch if another generator is being used (e.g. in interactive mode).

    ...

    Geant4 includes a simple particle gun that can be selected with this command.

    No Format
    
    /generator/select gun
    

    However, GPS is the recommended single particle source, and the G4ParticleGun should be considered deprecated, in my opinion.

    ...

    SLIC Runner is a Java program that uses Swing.

    TODO: Fix SLIC Runner to work with latest SLIC.

    The built-in GUIs of Geant4 are available, including the XM interface.

    ...

    SLIC Runner to work with latest SLIC.

    The built-in GUIs of Geant4 are available, including the XM interface.

    If I have a problem with SLIC or find a bug, what information should I include in my report?

    Please include the following information in bug reports.

    • Your name and institutional affiliation
    • Operating system and version
    • Version of gcc compiler

      Code Block
      gcc -v
      
    • Versions of all SimDist software packages

      Code Block
      cat SimDist/packages/*/VERSION &> myversions.txt
      
    • If not using SimDist, please provide at least the SLIC and GEANT4 version numbers.
    • Run macro for reproducing the bugged LCIO file
    • Publically accessible location of the StdHep input file (if any)
    • Versions of GeomConverter and org.lcsim that you are using (if applicable)

    Geometry using GDML and LCDD

    ...

    How do I dump the current Geant4 geometry to GDML using SLIC?

    No Format
    
    /lcdd/dumpGDML mygeom.gdml
    

    ...

    This is an example of reading a local file from the command line.

    No Format
    
    slic -g /path/to/myGeom.lcdd
    

    This command reads the geometry from a URL.

    No Format
    
    slic -g http://www.lcsim.org/detectors/sid00/sid00.lcdd
    

    ...

    To read in a "plain" GDML file, simply use the "-g" option as you normally would ...

    No Format
    
    slic -g myGeom.gdml
    

    The LCDD system will use the GDML schema instead of LCDD and the geometry should be loaded successfully.

    How do I check my Geant4 geometry for overlaps?

    No Format
    
    /geometry/test/recursive_test
    

    ...

    The Geant4 OpenGL visualization driver can be used to immediately visualize the detector and events. The following command can be used to visualize the detector geometry plus hits and trajectories from the event.

    No Format
    
    /vis/scene/create
    /vis/scene/add/volume
    /vis/scene/add/hits
    /vis/scene/add/trajectories
    /vis/open OGLSX
    

    ...

    A command similar to this will write out a HepRep zip file to the current directory.

    No Format
    
    /vis/scene/create 
    /vis/open HepRepXML
    /vis/viewer/set/culling global false
    /vis/scene/add/volume 
    /vis/scene/add/trajectories
    /vis/scene/add/hits
    

    How do I use DAWN from within Geant4?

    No Format
    
    /vis/open DAWNFILE
    

    How can I make cuts using DAWN?

    ...

    LCIO comes with the dumpevent tool that dumps an LCIO file's contents from the command-line. Typically, this would be used with a pager.

    No Format
    
    $LCIO/bin/dumpevent outfile.slcio 0 1 | less
    

    ...

    Compact detectors are kept at this base url in zip files named with the detector tag.

    No Format
    
    http://www.lcsim.org/detectors
    

    For instance, this is the location of the sid00 detector's resource file.

    No Format
    
    http://www.lcsim.org/detectors/sid00.zip
    

    ...

    A list of available compact detectors is kept at this URL.

    No Format
    
    http://www.lcsim.org/detectors/taglist.txt 
    

    ...

    Add an alias to ~/.lcsim/alias.properties which points to your detector's resources.

    A zip file.

    No Format
    
    mydet: file:///path/to/mydet.zip
    

    Or the directory.

    No Format
    
    mydet: file:///path/to/mydet/
    

    ...

    How do I convert compact detectors into LCDD using GeomConverter?

    No Format
    
    GeomConverter/bin/GeomConverter -o lcdd compact.xml mydet.lcdd
    

    ...

    All attribute values are evaluated by the JDOM expression factory.

    No Format
    
    <constant name="myval" value="2.0 * cm"/>    
    

    ...

    What "magic" constants are expected by the compact reader?

    No Format
    
    <define>
    
      <!-- centimeters -->
      <constant name="cm" value="10"/>
    
      <!-- world -->
      <constant name="world_side" value="30000" />
      <constant name="world_x" value="world_side" />
      <constant name="world_y" value="world_side" />
      <constant name="world_z" value="world_side" />
    
      <!-- tracking region -->
      <constant name="tracking_region_radius" value="175.*cm"/>
      <constant name="tracking_region_zmax" value="282.*cm"/>
    
    </define>
    

    ...

    Cylindrical calorimeter barrel.

    No Format
    
    <detector id="1" name="EMBarrel" type="CylindricalBarrelCalorimeter" readout="EcalBarrHits">
      <dimensions inner_r = "ecal_barrel_inner_r" outer_z = "ecal_barrel_outer_z" />
      <layer repeat="30">
        <slice material = "Tungsten" thickness = "ecal_absorber_thickness" />
        <slice material = "Silicon" thickness = "ecal_sensor_thickness" />
      </layer>
    </detector>
    

    Cylindrical endcap calorimeter.

    No Format
    
    <detector id="2" name="EMEndcap" reflect="true" type="CylindricalEndcapCalorimeter" readout="EcalEndcapHits">
      <dimensions inner_r = "ecal_endcap_inner_r" inner_z = "ecal_endcap_inner_z" outer_r = "ecal_endcap_outer_r" />
      <layer repeat="30">
        <slice material = "Tungsten" thickness = "ecal_absorber_thickness" />
        <slice material = "Silicon" thickness = "ecal_sensor_thickness" />
      </layer>
    </detector>
    

    ...

    Polyhedra calorimeter barrel.

    No Format
    
    <detector id="3" name="EMBarrel" type="PolyhedraBarrelCalorimeter" readout="EcalBarrHits">
      <dimensions z="ecal_barrel_full_z" numsides="8" rmin="ecal_barrel_rmin"/>
        <layer repeat="30">
          <slice material="Tungsten" thickness="ecal_absorber_thickness"/>
          <slice material="Silicon" thickness="ecal_sensor_thickness" sensitive="yes"/>
        </layer>
    </detector>
    

    Polyhedra endcap calorimeter.

    No Format
    
    <detector id="4" name="EMEndcap" reflect="true" type="PolyhedraEndcapCalorimeter" readout="EcalEndcapHits">
      <dimensions numsides="8" rmin="ecal_endcap_rmin" rmax="ecal_endcap_rmax" zmin="ecal_endcap_zmin"/>
      <layer repeat="30">
        <slice material="Tungsten" thickness="ecal_absorber_thickness"/>
        <slice material="Silicon" thickness="ecal_sensor_thickness" sensitive="yes"/>
      </layer>
    </detector>
    

    ...

    GridXYZ segmentation.

    No Format
    
    <readout name="HcalBarrHits">
      <segmentation type="GridXYZ" gridSizeX="10.0" gridSizeY="10.0"/>
      <id>layer:7,system:6,barrel:3,x:32:-16,y:-16</id>
    </readout>
    

    Nonprojective cylinder.

    No Format
    
    <readout name="EcalBarrHits">
      <segmentation type="NonprojectiveCylinder" gridSizePhi="0.35*cm" gridSizeZ="0.35*cm" />
      <id>system:8,layer:8,barrel:3,phi:32:16,z:-16</id>
    </readout>
    

    Projective Z plane (projective endcap).

    No Format
    
    <readout name="HcalEndcapHits">
      <segmentation type="ProjectiveZPlane" thetaBins="600" phiBins="1200"/>
      <id>layer:7,system:6,barrel:3,theta:32:11,phi:11</id>
    </readout>
    

    Projective cylinder.

    No Format
    
    <readout name="HcalBarrHits">
      <segmentation type="ProjectiveCylinder" thetaBins="600" phiBins="1200"/>
      <id>layer:7,system:6,barrel:3,theta:32:11,phi:11</id>
    </readout>
    

    How do I define a silicon tracker?

    Tracker barrel.

    No Format
    
    <detector id="1" name="TrackerBarrel" type="MultiLayerTracker" readout="TkrBarrHits">
      <layer id="1" inner_r = "20.000*cm" outer_z = "26.7*cm">
      <slice material = "Silicon" thickness = "0.00048*cm" />
      <!-- N layers can go here -->
    </layer>
    

    Tracker endcap.

    No Format
    
    <detector id="14" name="TrackerEndcap" type="DiskTracker" reflect="true" readout="TkrEndcapHits">
      <layer id="1" inner_r = "4.0*cm" inner_z = "30.0*cm" outer_r = "25.000*cm">
        <slice material = "Silicon" thickness = "0.03*cm" sensitive = "yes" />
      </layer>
      <!-- N layers can go here -->
    </detector>
    

    How do I define a TPC?

    No Format
    
    <detector id="2" name="TPC" type="TPC" readout="TPCHits">
      <dimensions inner_r = "36.2*cm" outer_z = "250.0*cm" />
      <layer repeat="200">
        <slice material="P10" thickness="tpc_gas_thickness" sensitive="yes" />
      </layer>
    </detector>
    

    ...

    Unlike calorimeters, tracker hits are written out "in the raw" without any digitization (or binning), so no segmentation is used at the simulation level.

    No Format
    
    <readout name="TkrBarrHits">
      <id>layer:10,system:6,barrel:3</id>
    </readout>
    

    How do I define a simple magnetic field?

    No Format
    
    <fields>
      <field type="Solenoid" name="GlobalSolenoid"
             inner_field="5.0"
             outer_field="-0.6"
             zmax="1000"
             outer_radius="144*cm+(2+1)*34*cm"/>
    </fields>
    

    ...

    The org.lcsim package can parse a field map with a line-oriented format. This gives the magnetic field strength at a given radius (r) and z.

    No Format
    
    r z Br Bz
    

    Reference a field map from the compact description.

    No Format
    
    <fields>
      <field type="RZFieldMap" name="RZFieldMapTest"
             gridSizeZ="10.0"
             gridSizeR="10.0"             
             numBinsZ="64"
             numBinsR="67"
             url="http://www.lcsim.org/test/solenoid_5tesla.dat"/>
    </fields>
    

    How do I define a new material?

    No Format
    
    <material name="ArgonGas">
      <D type="density" value="0.00178" unit="g/cm3"/>
      <composite n="1"  ref="Ar" />
    </material>
    
    <material name="MethaneGas">
      <D type="density" value="0.000717" unit="g/cm3"/>
      <composite n="1"  ref="C" />
      <composite n="4" ref="H" />
    </material>
    
    <material name="P10">
      <D type="density" value="0.00178" unit="g/cm3"/>
      <fraction n=".9"  ref="ArgonGas" />
      <fraction n=".1"  ref="MethaneGas" />
    </material>
    

    How do I set physics limits?

    No Format
    
    <limits>
      <limitset name="MyLimits">
        <limit name="step_length_max" particles="*" value="1.0" unit="mm" />
      </limitset> 
    </limits>
    

    Reference from a slice element within layer.

    No Format
    
    <slice limits="MyLimits" ... />
    

    How do I set the range cut?

    No Format
    
    <regions>
      <region name="MyRegion" store_secondaries="true" cut="0.1" lunit="mm" threshold="0.001" eunit="GeV" />
    </regions>
    

    Reference from a slice element within layer.

    No Format
    
    <slice limits="MyRegion" ... />
    

    ...

    What tools do I need to use org.lcsim?

    No Format
    
    Java     1.5
    Maven    1.0
    JAS3     0.8.3 (optional)
    Netbeans 5.0 (optional)
    

    ...

    • physics utilities
      • stdhep reader
      • 3, 4-vector utilities
      • space geometry
      • diagnostic generator
      • Jet finder, event shape utilities
    • conditions framework
      • read detector constants from zip files
      • define new detectors with zip files on the web
      • local caching
      • reading compact geometry files
    • driver framework
    • fast MC
      • parameterized track and cluster smearing
      • smearing constants from conditions system
      • produces ReconstructedParticles
    • IO framework
    • event access (EventHeader)
    • event display interface (WIRED)
    • digitization
      • Digisim calorimeter digi
      • tracker, vertex digitization
    • clustering
      • cheater
      • cone
      • nearest neighbor (NN)
      • minimal spanning tree (MST)
      • MIP
    • tracking
      • SLDWeightMatrix, TRF, Garfield
    • vertexing
      • ZVTop4
    • analysis examples
      • cluster diagnostics
      • SlicDiagnostics
      • PFA
      • ClusterID
      • ParticleID
    • AIDA plotting interface

    How do I get started with writing my own analysis code in org.lcsim?

    Follow the lcsim Developer Tutorial.

    How can I contribute code to org.lcsim?

    Where can I go for more information on org.lcsim?

    How do I use the contrib area?

    Event Generation

    What tools are used for ILC event generation?

    How do I use Pandora-Pythia?

    How do I use HERWIG?

    How do I use WHIZARD?

    Grid

    What Grids are available for ILC users?

    ILC Grid at DESY

    What virtual organizations (VO) are associated with the ILC grid?

    ilc
    calice

    Which tools are available on the Grid?

    • Mokka

    How do I get a Grid certificate?

    SLAC users should get a PPDG-sponsored certificate.

    registration form

    Doug Olson <dlolson@lbl.gov> is responsible for the PPDG registration authority.

    request ILC VO membership at DESY

    create a loadable Grid certificate

    What tools do I need to install to use the Grid?

    How do I download files from the Grid?

    Use the lcg-cp command.

    No Format
    
    lcg-cp --vo ilc lfn:{LFNfromDB} file:{absolute path}
    

    How can I run a simulation job on the Grid?

    How can I run an analysis job on the Grid?

    Where can I go for more information about the ILC Grid?

    http://grid.desy.de/
    http://grid.desy.de/certs/
    http://grid.desy.de/users/
    http://grid.desy.de/install/DESY-VO.html
    http://cic.in2p3.fr/
    http://cern.ch/lcg/
    http://www.eu-egee.org/

    Mokka

    What is Mokka?

    How do I download and install Mokka?

    How do I run Mokka?

    How do I get Mokka-generated LCIO files from the Grid?

    How do I execute Mokka on the Grid?

    How do I create my own SQL database for Mokka?

    What is CGA?

    How do I define my own Mokka detector or subdetector?

    Marlin

    What is Marlin?

    What is MarlinReco

    How do I download and install Marlin and MarlinReco?

    Where do I go for more information about Marlin?

    CALICE Testbeam Software

    What software tools are used by the CALICE collaboration?

    How do I install the CALICE tools?

    Where can I go for more information about CALICE software?

    Miscellaneous

    What about Python?

    LCIO has a Python binding.

    What about ROOT?

    Marlin uses AIDA -> RAIDA -> Root (But there already exists RAIDA, which is "remote AIDA", so we appear to be running out of acronyms.)

    What about FLUKA?

    FLUKA is not open source, and it is not easy to interface to Geant4. The AliRoot framework has access to FLUKA.

    What about Geant3?

    Used by BRAHMS.

    What about AliRoot?

    4th concept is using it.

    What about Gismo, LCDRoot, LCDG4, LCS?

    These are all deprecated simulation packages. Parts of the last two were used in SLIC.

    What about EGCS and GHEISHA?

      • , Garfield
    • vertexing
      • ZVTop4
    • analysis examples
      • cluster diagnostics
      • SlicDiagnostics
      • PFA
      • ClusterID
      • ParticleID
    • AIDA plotting interface

    How do I get started with writing my own analysis code in org.lcsim?

    Follow the lcsim Developer Tutorial.

    How can I contribute code to org.lcsim?

    Where can I go for more information on org.lcsim?

    How do I use the contrib area?

    Event Generation

    What tools are used for ILC event generation?

    How do I use Pandora-Pythia?

    How do I use HERWIG?

    How do I use WHIZARD?

    Grid

    What Grids are available for ILC users?

    ILC Grid at DESY

    What virtual organizations (VO) are associated with the ILC grid?

    ilc
    calice

    Which tools are available on the Grid?

    • Mokka

    How do I get a Grid certificate?

    SLAC users should get a PPDG-sponsored certificate.

    registration form

    Doug Olson <dlolson@lbl.gov> is responsible for the PPDG registration authority.

    request ILC VO membership at DESY

    create a loadable Grid certificate

    What tools do I need to install to use the Grid?

    How do I download files from the Grid?

    Use the lcg-cp command.

    No Format
    lcg-cp --vo ilc lfn:{LFNfromDB} file:{absolute path}
    

    How can I run a simulation job on the Grid?

    How can I run an analysis job on the Grid?

    How do I use the LCG2 tools at CERN?

    lxplus LCG2 instructions

    Where can I go for more information about the ILC Grid?

    http://grid.desy.de/
    http://grid.desy.de/certs/
    http://grid.desy.de/users/
    http://grid.desy.de/install/DESY-VO.html
    http://cic.in2p3.fr/
    http://cern.ch/lcg/
    http://www.eu-egee.org/These FORTRAN packages formed the basis for some Geant4 code, so they live on in spirit. EGCS is still quite useful, as it is still considered by many to be the most accurate EM physics package.