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

Compare with Current View Page History

« Previous Version 9 Next »

Part I - Past Activities

III - Computing Infrastructure, Sim and Recon

A - Infrastructure

For the past 10+ years SLAC has been the lead laboratory in the US for the linear collider detector R&D computing effort. We have developed flexible tools to allow simulation and reconstruction of detectors in sufficient detail to allow realistic comparison of the capabilities of detector technologies and associated reconstruction algorithms. An emphasis of the computing group has been on developing infrastructure to allow physicists from universities and other labs to rapidly get started and contribute to detector R&D.

The SLAC group has taken a leading role in the creation and support of standards to ensure a large degree of interoperability with other detector R&D efforts in Europe and Asia. A key component of this approach is the LCIO libraries which provide a fully documented standard format for reading and writing events at the generator level, full simulation level and reconstruction and analysis level. The LCIO libraries support C++, Fortran and Java and have been adopted by all most linear collider detector studies worldwide. The interoperability afforded by the LCIO libraries has been a major contributor to the successful completion of the recent LOI effort in the linear collider community.

There are significant differences in the design of tools for detector R&D compared to typical experiment specific simulation and reconstruction code:

  • The tools must allow easy reconfiguration to support different detector geometries and technologies.
  • The tools must make it easy to develop new reconstruction algorithms and plug them in to the existing reconstruction infrastructure.
  • The tools must be very easy for users to set up and become productive. Typically physicists working on detector R&D do so with only a fraction of their effort, and often new graduate students or post-docs take over the work after one or two years.
  • The tools must work on a wide variety of operating systems. Unlike established collaborations which can require collaborators' computing platforms to meet certain standards, detector R&D software must work on whatever computing platforms are available to users.
  • The tools must be easy to develop and support using a fraction of the manpower that would be available to an established physics collaboration.

The major tools created to meet these design goals are the SLIC Geant4 based simulation program and the org.lcsim reconstruction and analysis tools suite.

SLIC is a C++ program based on Geant4 which supports reading standard event generator level input (stdhep) and creating LCIO output files. Rather than having detector geometry built-in to the code, SLIC reads the full detector geometry at runtime from an XML detector description. The detector description is based on the standard GDML geometry format developed at CERN, but extended to allow detector response parameterizations to be specified in the same XML file.

The org.lcsim reconstruction and analysis suite is written in Java and includes the following major components:

  • Standard geometry system. Both org.lcsim and SLIC work with a common high level "compact detector description" which makes it easy to adjust detector parameters and ensure consistency between the simulated and reconstructed data.
  • Full support for LCIO standards for input and output.
  • Fast "parameterized" monte-carlo to support rapid development of analysis algorithms
  • Full reconstruction infrastructure including digitization, track finding and reconstruction, cluster finding and PFA analysis framework.
  • Analysis tools including jet finding and event shape analysis, and histograming and fitting based on the AIDA library.
  • Full interactive 3D event display based on WIRED integrated with the geometry system.

The org.lcsim reconstruction framework can be run standalone, or integrated with the JAS3 interactive data analysis system. The use of Java for the org.lcsim suite has greatly simplified the task of supporting multiple target operating systems, and makes it possible to exploit the superb modern Java development environments which have become available in the last decade.

Both SLAC and org.lcsim have been designed to be easy to use and set up so that barriers for users to get involved with the detector simulation effort are low. For several workshops and conferences in the past we have been able to create CDs containing everything a new user needs to get started with these tools, including install kits for a variety of operating systems, documentation and event samples.

In addition to direct support of these tools the SLAC group has:

  • Made available a large collection of standard simulation samples for a variety of event types and standard detector and accelerator configurations.
  • Hosted infrastructure shared with related efforts worldwide the including the
    • lcsim.org web site,
    • ILC and SiD related content on the confluence wiki(confluence.slac.stanford.edu) including many detailed tutorials and reference documentation.
    • Discussion forums at forum.linearcollider.org. These are the primary means of providing support to end users who have questions or problems using the software, as well as for discussion between software developers world-wide.
    • CVS repository at cvs.freehep.org and automated continuous build system (hudson). This repository is used to host the LCIO libraries, the core SLIC and org.lcsim software and many user contributed analysis algorithms and tools.
  • Organized developer workshops for LCIO, org.lcsim and SLIC developers, and software tutorials in conjunction with ALCPG and LCWS meetings.

Part II Future Plans

III - Computing Infrastructure, Sim and Recon

Active support for the computing infrastructure has stalled since a number of key developers have left the lab or been reassigned to other projects, in particular ability to respond to user requested enhancements and bug fixes has been very limited. In order to revitalize this effort it is essential to restore support for the basic computing infrastructure. Newcomers in the lepton collider community, certainly those at CLIC and perhaps those in the fledgling Muon Collider community at Fermilab, as well as users working on Atlas detector upgrade at SLAC have expressed interest in using theses tools if they are properly supported. Much of the infrastructure used by the detector R&D effort is shared with other groups at SLAC and we expect the support for these shared components to be co-ordinated with them.

Specific areas where work is needed:

  • Documentation improvements: New releases of tools (netbeans, maven, etc) have become available and the documentation and tutorials on the org.lcsim website need to be updated to reflect this. Documentation also needs to be written on the many new reconstruction tools developed recently as part of the LOI effort, and improved documentation on AIDA is required, especially in the area of fitting, advanced plots.
  • User Support: On going support for helping new users get started with the framework, responding to user questions on the forums and elsewhere and responding to requests for enhancements.
  • Maintenance: Work is needed to maintain and upgrade the low level tools used for the computing effort, including cvs repository (as well as potentially upgrading to subversion), forums,
  • LCIO: Based on user feedback during the LOI process we have identified a number of limitations in the current LCIO format. In collaboration with LCIO developers at DESY and elsewhere we plan to:
    • Add support for more detailed reconstruction output.
    • Add support for more efficient analysis of large data samples, including efficient random access to events selected on meta-data tags.
  • Geometry: When the detector R&D tools were first developed we were using very idealized detector geometries. As the studies have become more sophisticated the requirements to support more detailed geometries has increased, and more work is needed in this area to improve support for complex geometries in both org.lcsim and SLIC. In the past we have made fledgling efforts to standardize geometry descriptions with other developers worldwide in the same way as we have standardized IO formats, but up to now those efforts have not gained much traction. A new drive to develop a standard geometry description may be more successful. In addition we will update SLIC to use latest GDML standards and add support for more realistic detector mechanics and response modeling.
  • Interoperability: org.lcsim has adopted AIDA as its analysis toolkit and this works well for many users. However some users, in particular those familiar with the LHC analysis environments would like to be able to use org.lcsim but perform their final analysis with ROOT. Unfortunately ROOT is very limited in its support for IO formats and interoperability with Java, and in particular is not able to read LCIO files, or AIDA files. While we will continue to encourage the ROOT developers to improve this situation, we would also like to add support into the org.lcsim framework for writing AIDA tuples and histograms out in ROOT format.
  • JAS plugins: org.lcsim includes a number of plugins to integrate detector R&D specifically functionality into the JAS interactive GUI. These plugins are in need of enhancements and better support. In addition the org.lcsim users have become accustomed to the code editors available within modern IDE's, which incorporate syntax highlighting, code completion, integrated documentation etc, and in comparison the analysis code editing features in JAS seem very dated. Work is needed to make similar editing tools available as JAS plugins and to provide closer integration between JAS and integrated developer environments such as Netbeans.
  • Plotting: One frequent user request has been for improved control over plotting styles, especially in light of the need to create publication quality plots. Code to support this was under development but has been stalled for nearly two years due to manpower cuts. This work should be completed.
  • Many-core CPU support: In order to be able to provide highly performant interactive response, and to efficiently exploit modern computing hardware the org.lcsim framework needs to be updated to support parallel execution on many-core CPUs. Fortunately the org.lcsim framework is well suited to this, since Java and the core libraries we use have built-in support for multi-threading and concurrency. Work is needed to remove bottlenecks from the user-developed reconstruction code to make it possible to fully support many-core CPUs.
  • WBS?:

Manpower requirements:

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels