Contributing to ILC Software Projects

compared with
Current by Jeremy McCormick
on Apr 02, 2007 18:51.


 
Key
These lines were removed. This word was removed.
These lines were added. This word was added.

View page history


There are 1 changes. View first change.

  
 h2. Requesting Bug Fixes and Improvements
  
 The [ILC Jira|http://jira.slac.stanford.edu/] tracks bugs, feature requests, and possible improvements to existing software packages. Everyone is encouraged to add an item into the Jira when a bug is found in ILC software.
  
 These Jira projects are specific to ILC simulations.
  
 * [org.lcsim|http://jira.slac.stanford.edu/browse/LCSIM] - Java reconstruction and analysis package
 * [Geometry Converter|http://jira.slac.stanford.edu/browse/GC] - Java geometry conversion for org.lcsim
 * [LCIO|http://jira.slac.stanford.edu/browse/LCIO] - Linear Collider object model and persistency framework in C++, Java, and FORTRAN
 * [SLIC|http://jira.slac.stanford.edu/browse/SLIC] - C++ simulator package in Geant4 framework
 * [LCDD|http://jira.slac.stanford.edu/browse/LCDD] - C++ geometry description in Geant4 framework using [GDML|http://gdml.web.cern.ch/GDML/gdml.html]
  
 Several other software packages are of more general interest.
  
 * [JAS3|http://bugs.freehep.org/browse/JAS] - Java-based HEP integrated development environment
 * [AIDA|http://bugs.freehep.org/browse/AIDA] - plotting interfaces
 * [JAIDA|http://bugs.freehep.org/browse/JAIDA] - Java plotting implementation
 * [WIRED|http://bugs.freehep.org/browse/WIRED] - event display using [HepRep|http://www.slac.stanford.edu/~perl/heprep/index.html]
  
 h2. Becoming a Developer
  
 Before making any changes to ILC software, you need an account at the SLAC CVS.
  
 {tip:title=CVS Account}
 Email [mailto:tony_johnson@slac.stanford.edu] to request a SLAC CVS account.
 {tip}
  
 Follow the [CVS Instructions|cvs] to checkout the software projects of interest.
  
 The reconstruction software is based on the [Java language|http://java.sun.org], which you'll need to learn if you want to contribute. [Sun's Java Tutorial Book|http://java.sun.com/docs/books/tutorial/] is an excellent place to start if you are new to this language.
  
 {tip:title=Python, Too}
 Scripts can also be written in the [Python|http://www.python.org] language using the [Jython|http://www.jython.org] interpretter.
 {tip}
  
 Read over the [development tools section|Development tools] to learn about the tools we use to build and development the software.
  
 Work through the [Getting Started Tutorial|lcsim Developer Tutorial] to learn about the basic concepts.
  
 h2. Lists of Project Ideas
  
 A [list of specific issues|Issues] was compiled at the [ALCPG Simulation and Reconstruction Workshop].
  
  [Jeremy McCormick|JeremyMcCormick] maintains a [list of project ideas|TODO List]. (Real bugs and feature requests go into the Jira.)
  [Jeremy McCormick|Jeremy McCormick] maintains a [list of project ideas|TODO List]. (Real bugs and feature requests go into the Jira.)
  
 h2. Some Example Projects
  
 * Geometry System in Reconstruction
 ** allow geometries to come from multiple input files
 ** improve interoperability
 *** access Mokka or JUPITER geometry data
 *** ID decoding for detectors not run with SLIC
  
 * Reconstruction
 ** process LCIO files using both org.lcsim and MARLIN
  
 * Simulation Software
 ** support for putting GDML data in multiple input files
 ** additional calorimeter readout types to the LCDD package or improve on existing readouts
 ** CAD interface
 *** use case - LAPP ECAL for SiD
  
 * Simulation Validation
 ** investigate and characterize effects of range cuts and physics limits on Geant4 simulation
 ** comparison of different physics lists (preferarably with real data, too)
 *** single particle response of h0, in particular
  
 * Event Generation
 ** python wrapper to the different generators used at ILC, e.g. Pythia, Isajet, etc.
 ** SUSY StdHep files for benchmarks
  
 * Testbeam
 ** use JAS3 and org.lcsim to create a data analysis application for the Calorimeter testbeam
 ** do some analysis on real ECAL data
  
 * AIDA (+ Plotting)
 ** binary data format in order to store Ntuples
 ** 3D plotting
  
 h2. Links
  
 [A University Program of Accelerator and Detector Research for the International Linear Collider (vol. III)|http://www.hep.uiuc.edu/LCRD/LCRD_UCLC_proposal_FY05/]