Java Reconstruction and Analysis for a Linear Collider Detector
Contents
- The Java hep.lcd framework for LC physics studies
- Overview
- Why Java?
- Fast MC
- Tracking Reconstruction
- Cluster Finding
- Distributed Physics Analysis
- Conclustions - How to try it out!
PPT Slide
Yellow = Java hep.lcd package
What is hep.lcd?
- A Java Framework for
- Running Reconstruction and/or FastMC
- Analysis of LCD data from Stdhep, Gismo, FastMC
- A Tool for
- Rapid Development of Reconstruction Algorithms
- A Suite of Physics Analysis Tools
- Histograming, Event Display, Jet Finding, etc.
- Emphasis on Flexibility and Extensibility
- Typically provide multiple reconstruction algorithms
- Support for Large + Small + ...
- Can be used standalone or inside Java Analysis Studio
Why Java?
- Modern Object-Oriented language
- Easy to learn and use
- No backwards compatibility with C etc.
- No pointers, memory leaks
- Syntax very similar to C++, but without many of the more obscure, less useful features
- Very Suitable for Rapid Prototyping
- Powerful built-in utility libraries
- Fast compiler, no link step, dynamic loading
- No problems with porting code to new platforms
- Can use Java Analysis Studio for interactive analysis
- Bottom Line
- If you know C++ Java will be familiar and a refreshing change
- If you don’t yet know C++ Java is an excellent stepping stone
Java package hep.lcd
- Reconstruction Processors
- Track finder + track fitter
- Several clustering algorithms
- Parameterized MC Processors
- Can read generator output (StdHEP) or Gismo output
- Track and Cluster smearing
- Analysis Utilities
- Event Shape + Thrust utilities
- Jet finders [Jade, Durham]
- Histograming
- Event Display
- Simple 2D Event display currently
- Framework
- Driver framework
- interactively control
- calling of processors
- debugging/histograming
- Parameter (Constant) access
- driven by detector geometry
- MC event input (StdHEP format)
- IO system based on Java IO
- random access files allows efficient access to subset of data
- Can be run inside JAS or standalone
Track Finding/Fitting
- Track Reconstruction
- Track Finding uses M.Ronan’s (TPC) pattern finding
- Tuned for Large + Small detector
- Track Fitters:
- SLD Weight Matrix Fitter
- Kalman Filter coming soon
- Fortran not Java, will need native library for each platform
- Can do Single Detector or Combined fit (e.g. VTX+TPC)
- Hit Smearing/Efficiency (since Gismo gives “perfect” hits)
- Random Background overlay
- What’s still needed
- More Track Finding Algorithms (Cheater, Projective Geometry)
- End Cap tracking
Cluster Finding
- Three Clustering Algorithms Currently Implemented
- Cluster Cheater (uses MC truth to “cheat”)
- Simple Cluster Builder (Touching Cells)
- Radial Cluster Builder
- All algorithms tend to produce many very low energy clusters - important to set sensible thresholds
- Still Needed - Cluster Refinement Stage
- Combine HAD + EM clusters
- Endcap + Barrel overlap region
- In Progress - Track Cluster Association
- Initial Implementation Done by Mike Ronan
- Output Format defined by Gary Bower
- Need to Extend Definition of Clusters
- Directionality, Entry point to calorimeter
-
Fast MC
- Simple parameterized MC
- Allows analysis directly from generator output without using full Gismo simulation
- Produces same event format as Gismo
- same analysis can be run with FastMC or Gismo. Can read StdHEP (generator files) or Gismo output
- Produces tracks from MC particles based on parameters provided by Bruce Schumm
- Produces Tracks + Error Matrices
- Output compatible with Output from Full Recon
- No Calorimeter Simulation at Present
Physics Utilities
- Physics Utilities
- 4-vector, 3-vector classes
- Event shape/Thrust finder
- Jet Finder
- Jade and Durham algorithms implemented
- Extensible to allow implementation of other algorithms
- Histograming (from Java Analysis Studio)
- Event Display
- Suitable for debugging reconstruction and analysis
- Plan to use Wired for full 3D support in future
- Particle Hierarchy Display
- Contrib Area
- Analysis Utilities and sample analyses provided by users
Event Display
Event Display
Event Display
Event Display
Documentation
- http://www-sldnt.slac.stanford.edu/jas/documentation/lcd/
Access to Code - CVS
- Code recently moved to CVS for universal access
- Most development currently done on NT
- Now Unix development should be easy too
- Browse CVS repository on Web
- Connect with you favorite CVS client
- protocol: pserver
- server: sldl1.slac.stanford.edu
- cvsroot: /nfs/slac/g/jas/lcdroot
- userid: anoncvs
- password: jascvs
- module: lcd
Java Analysis Studio
- Set of experiment independent analysis tools for event oriented (High Energy Physics) data
- Data Access classes provide access to many common HEP data formats
- Histogram/Scatterplot Accumulation + Manipulation Classes
- Plot Display classes
- Lightweight framework for users to create physics analysis applications in Java.
- Tools work alone, in combination, or within
- Java Analysis Studio GUI which gives:
- Integrated editor and compiler
- Efficient access to local and remote data
- Extensibility via Plug-ins, Fitters, Functions etc
GUI makes getting started easy“Wizards” guide beginners
Built in Editor and Compilerfor writing analysis code
Histogram and Scatterplot displayInteractive Fitting and Rebinning
GUI can be extended to addexperiment specific features
Distributed Data Analysis with JAS
- With many different simulated detectors and many physics processes, total MC data sample is large
- JAS has built in support for efficient distributed physics analysis
Data Repository at Penn
- LCD has set up central data repository at UPenn, accessible from anywhere
Is Java fast Enough for HEP offline?
- Current (266Mhz PII, JDK 1.1.7)
- Clustering .6 secs/event
- 13.5 Million Calorimeter Cells
- Fast MC 6 ms/event
- Track Finding + Fitting ~5secs/event
- Very competitive with C++/Root implementation (where they exist)
- Will get even better!!!
- JDK 1.2, HotSpot - Run-time optimization
- In real life may be faster than C++
- Better, cheaper performance analysis tools
- Java encourages lightweight, module interfaces which promote efficient coding styles
- People time is what really matters
Reconstruction Speed
Example of Using Track Recon.
To Do List
- Finish integration of MCFast Kalman filter
- Support for merging signal/backgrounds
- Additional Track Finders (projective, “cheater”)
- Improved Cluster Description
- Track/Cluster Association
- Vertex Finding code (based on ZVTop?)
- Support for SIO format reading/writing
- Switch to XML based geometry description
Try it out!
- Come to the tutorial this afternoon
- Works on Windows (95/98/NT] or Unix (Linux, Solaris,…) or Other
- Online tutorial available
- Suitable for complete beginners:
- no knowledge of Java or JAS assumed
- starts with instructions on downloading and installing
- Shows simple sample analysis jobs
- http://www-sldnt.slac.stanford.edu/jas/documentation/lcd/
- JAS Home Page
- http://www-sldnt.slac.stanford.edu/jas
New Features in JAS 2.0
- Many bug fixes - Printing Works - Save Histograms as GIF’s
- Easier to install LCD extensions
- Support for logging output to a file
- Supports 2D Binned Histograms (in addition to 1D Histograms and Scatter Plots)
- Standalone jobs can save histograms (for later viewing in JAS)
- Local jobs can append multiple datasets
- Built-in LCD documentation/help
- Gotcha’s for LCD users
- Must use JAS 20 version of lcd.jar (in lcd download area)
- Cannot connect to old servers (SLDNT0 OK)
JAS 2.0 – Now available from JAS website