Document 7527277
Download
Report
Transcript Document 7527277
Java Reconstruction and Analysis for
a Linear Collider Detector
Tony Johnson
SLAC/Babar Tutorial
November 11th 1999
Contents
The Java hep.lcd framework for LC physics studies
– Overview
– Why Java?
– Fast MC
– Tracking Reconstruction
– Cluster Finding
Java Analysis Studio
Distributed Physics Analysis
Java Performance
Conclustions - How to try it out!
LCD Road Map
Gismo Material Files
Generator Files
Track Momentum Resolution Tables
Generator(s
)
Parameter Files (JAS)
Geometry Description Files
Parameter Files (Root)
stdHEP
files
fastMC
(Root)
Gismo
ASCII
recon
fastMC
(JAS)
ASCII raw
data
JAS parser
Root parser
Root parser
JAS parser
.lcd files
Root files
Root files
.lcd files
Full Recon
Root
Analysis
JAS
analysis
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
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
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
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 Compiler
for writing analysis code
Histogram and Scatterplot display
Interactive Fitting and Rebinning
GUI can be extended to add
experiment specific features
Distributed Data Analysis with JAS
TCP/IP Network
GUI
Experiment
Extensions
(Event Display)
Java
Compiler +
Debugger
Padded Cell
Users
Java
Code
Data
Analysis
Engine
Data
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
Cluster Finding
JDK1.1.8 -nojit
JDK1.1.8
MS 5.00.3177
IBM1.1.7
Seconds/Event
1.2
1
0.8
0.6
IBM1.1.8
JDK 1.2.1 Classic
JDK 1.2.1 HotSpot
0.4
0.2
0
Virtual Machine
Track Finding + Fitting
JDK1.1.8 -nojit
JDK1.1.8
MS 5.00.3177
IBM1.1.7
IBM1.1.8
JDK 1.2.1 Classic
JDK 1.2.1 HotSpot
40
Seconds/Event
35
30
25
20
15
10
5
0
Virtual Machine
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
Cluster Refinement
Vertex Finding code (based on ZVTop?)
WIRED Event Display
Support for SIO format reading/writing
Switch to XML based geometry description
Small Angle Tracking
Reference Analyses
We Need Your Help
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
– no need to edit jas.ini
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