Jeremy's TODO List
NOTE: This is a set of miscellaneous TODO items. Anything like a bug or specific feature request should instead go into the SLAC Jira bug tracker.
Event Generation
- ISAJET
- WHIZARD
- setup on SLAC PRJ area (TB has existing setup)
- generate new files for GeV = 350, 500, 1000 w/ TB (TB doing this)
- HERWIG
- setup on SLAC PRJ area
- PPythia
- apply Pandora patches to PandoraPythia in CVS
- latest Pandora dist from Peskin into CVS
- python "wrapper" framework
- argument passing
- f2py for composition and calling Fortran entry points
Sim Apps and Maintenance
- SLIC
- python bindings
- Mokka
- SLAC MySQL install for Mokka batch jobs using lsf
- BDSim
- setup at SLAC
- support GDML from the MAD decks
Sim Jobs
- Grid
- SLIC jobs running on the Grid
- need Grid certificate for ILC Grid (talk to Ties Behnke)
- DAGS (Bala)
- run analysis jobs interactively; requires no code changes
- need to get setup at SLAC
- SLIC
- rangecut, steplen investigations with RC
- ILC500 / 1000 jobs with SDJan03, SDFeb05 detectors
- neutron
- tungsten absorber
- big R for G10
- polyethylene in front of gas
- performance evaluation
- SLIC vs. LCDG4
- standalone singles and physics
- comparison of SiD, GLD, D11
- tubs models
- Pflow
- Eres
GDML and LCDD
- processing instructions
- die on error
- only process volumes to level X of hierarchy
- enabling/disabling extensions
- partial read/write
- most subscribers can be used standalone for expressions library, solid database, material database, etc.
- certain volumes in hierarchy e.g. MySubsys and all its daughters
- to depth X in volume hierarchy
- specific container elements, e.g. define, solid, etc.
- support for XML Catalog
- GDML Savannah Items
- file inclusion and referencing
- xs:include (e.g. preprocessor)
- inter-file reference, ex - <materialref ref="MyMaterials.gdml#Flubber"/>
- XLink
- one file containing multiple GDML elements
- remove requirement of a "world volume"
- remove requirement for a "setup" element
- which world volume to use should be specifiable as an external entity not within the current "gdml" tag
- Java bindings
- Julius Hrinivac's GDML Java classes and look at inclusion in GDML CVS, usage in org.lcsim
- formal extension mechanism
- register my "package" of processors and subscribers (for new elements)
- register my new schema
- register a new processor and/or subscriber
- replace an existing processor (only one processor per element type)
- replace an existing subscriber
- put a new subscriber "behind" or "in-front" of some other subscriber
- declare dependencies among subscribers
- ex - volume subscriber requires all the other ones
- merge different GDML files into one logical file, combining their container sections
- common materials, elements include file (mostly for compact description) (see GeomConverter)
- XSLT
- extract the valid GDML from an LCDD file by stripping out LCDD's refs (sdref, etc.)
- transform to VRML or other 3D format
- make HTML page
- summaries: #defines, # materials, #solids, # volumes, etc.
- display volumes in tree view with links back to their solids/materials
- AGDD features
- arrays
- iterators
Compact Detectors and GeomConverter
- synchronize LCDetectors with lcsim.org/detectors
- D11
- model D11 in Mokka DB
- GLD
- prim constants from JLC
- ParameterList files in JUPITER source
- prim constants from JLC
- XSLT utilities for lcsim.org/detectors
- info extrapolation to make super-compact description in HTML (use XSLT)
- # layers, slice material and thickness
- simplified side and beam views using XML -> SVG
- info extrapolation to make super-compact description in HTML (use XSLT)
- Norman's requests
- verbatim include or reference to GDML for BDS, MDI system and supports
- abstract layering engine (mostly done though could use work!)
- "robustify" nonprojective segmentation (mostly done and GL working on this)
- Tony's requests
- non-cylindrical shapes demo
- interface between org.lcsim and compact
- schema-fy compact description where possible
- new SDJan03 matching LCDG4's
- SiD repr w/ cylinders
- graphical repr of zip resources (constants, geo, etc.)
- process compact description with stylesheet and produce
- beam and side views in SVG
- subdetectors w/ list of contants like slice thicknesses, num layers
- inlined comments
- GeomConverter utilities in JAS
- tree viewer of geom data, all detectors
- default actions, like double-click on compact and get a HepRep view
- translate compact to lcdd (GeomConverter script now does this.)
- detector design whizard or GUI
Analysis and Reconstruction
- geometry-independent clustering
- using phi, theta, r
- NN using global positions of hits (see "nearest point", "computational geometry", The Algorithm Design Manual)
- NonprojectiveCylinder segmentation support (w/ GL)
- continue discussions on common geo API with TJ, NG, GL, TB, FG, et al.
- Run Control Parameter support with processor name as Java class w/o org.lcsim (see Marlin)
- parameters with INI, attributes file, etc
- simple list of processors and parameters
- analysis manager loads the processors by org.lcsim.(package).(classname)
- could be Python code
- materials database (see online NIST data)
- format could be GDML, another XML format, flat file, or database
JAS3
- ipython support via Jython
- improve windowing
- minimize, maximize
- class browser
- HTML help
- customizable palettes of buttons rather than menus
- write some new plugins (services, really!)
- particle properties (YAPPI?)
- materials
- Geo / DD
Docs and WWW
- www-lcsim
- www.lcsim.org in sync w/ CVS
- talk with TJ and NG about cleanup, autoupdate method, etc.
- docbook
- working XML, XSLT, FOP toolchain
- talk with Dennis about setting up something for Geant4
- move NICADD ~jeremy/ index/subpages to Confluence
Admin and MCPrj
- create "mcprj" CVS module (help from TJ)
- setup SLIC at NICADD
Miscellaneous
- investigate component/plugin-based architecture for analysis and reco
- make each component self-contained, "pluggable", and inspectable
- checkout ROOT's VMC, VGM
- writes GDML, AGDD
- geometry from ROOT, Geant4
- a python HepRep parser
- python bindings to LCIO (using swig or boost)
- experiment with a Java server
- Tomcat (suggested by Tony)
- MySQL
- file catalog, linked histograms, simulation runs, etc.
- LCIO/StdHep utilities (probably in Java)
- actions
- dump
- concat (could perform better using low-level SIO block writing)
- print number of events
- print number of run headers
- print start run number
- print max run number
- print start event number
- print max event number
- split
- merge / overlay
- select records
- by criteria or number
- transform records by some algorithm
- convert records to another format by some algorithm
- actions
Current (Miscellaneous)
- G4Java
- test the navigator (for Mark)
- GDML
- examples for Julius (GraXML)
- include mechanism in compact files (include GDML snippets)
- CPP code generation
- LCDD
- xmlbeans for automatic code generation from schema
- AGDD
- generate via ROOT (but requires VMC)
- GraXML
- look at geometry framework, using in JAS
- jobs
- effect of splashback in the tracker (run events with and without calorimeters)
- effect of pileup in the tracker (previous events)