Release Notes - HPS Java - Version 3.1

Jenkins Build

Release Date

Feb 12 2014

LCSim Version



This release is intended for pass 1 reconstruction of ECAL Commissioning Run data at JLAB.

Some important updates include

  • fix to EVIO IO errors when building events
  • correct handling of shared hits in recon clustering
  • restructuring of ECAL clustering code into new ecal-recon package
  • removed usage of custom calorimeter Cluster classes in favor of using BaseCluster
  • ECAL running pedestal calibrations available
  • preliminary support for parsing new SVT EVIO format (not included in event building yet)
  • database conditions fully integrated
  • DQM system implemented
  • various updates and improvements to the data monitoring app

Resolved JIRA Items


  • [HPSJAVA-295] - Test errors on HPSJAVA-255 branch
  • [HPSJAVA-301] - Fix TestRunEvioToLcio converter for Test Run data
  • [HPSJAVA-330] - New EVIO pre start bank of banks structure needs to be handled correctly
  • [HPSJAVA-334] - Add IFunction support to PlowInfoWindow
  • [HPSJAVA-335] - Plot axes not updated unless plot is clicked on in plot window
  • [HPSJAVA-350] - Wired crashes on apache class not found with new detector
  • [HPSJAVA-351] - Readout sim crashes on new detector
  • [HPSJAVA-352] - SVTHitWriter crashes when making FpgaData for engineering run detector
  • [HPSJAVA-359] - Stereo pairs are not created correctly
  • [HPSJAVA-397] - CalorimeterHit collection has duplicate hits
  • [HPSJAVA-398] - Time Stamps, EVIO's uint32
  • [HPSJAVA-412] - CalorimeterHit objects sometimes null in Cluster


  • [HPSJAVA-240] - Add quiet or verbose setting to readout simulation drivers to suppress print outs
  • [HPSJAVA-296] - Simplify ConditionsRecord API and database table structure
  • [HPSJAVA-302] - Allow user supplied run number and detector name to conditions system in recon
  • [HPSJAVA-306] - Change event builder field from text field to combo box
  • [HPSJAVA-310] - Change detector field in monitoring app from text to combo box
  • [HPSJAVA-311] - Add beam conditions to API
  • [HPSJAVA-313] - Add command to CLI interface to register a conditions set
  • [HPSJAVA-319] - Conditions system improvements
  • [HPSJAVA-331] - Run number should be included in EVIO events
  • [HPSJAVA-337] - Properly handle overlapping conditions sets with the same name and type
  • [HPSJAVA-366] - Remove custom classes that extend BaseCluster
  • [HPSJAVA-370] - DatabaseConditionsManager should not keep connection open during job
  • [HPSJAVA-371] - Add additional configuration options to conditions XML config
  • [HPSJAVA-372] - Use annotations for ConditionsObject API
  • [HPSJAVA-373] - Automatically assign collection type of a ConditionsObject
  • [HPSJAVA-375] - Add type arguments to ConditionsSeries API
  • [HPSJAVA-386] - Order CalorimeterHit lists in Clusters by greatest to least energy with seed hit first
  • [HPSJAVA-402] - Add event and time update intervals
  • [HPSJAVA-411] - Update JEVIO version to 4.4.3

New Feature

  • [HPSJAVA-284] - Add support for detector aliasing
  • [HPSJAVA-309] - EVIO->LCIO conversion no longer drops FADC channels not in the DAQ map
  • [HPSJAVA-349] - Implement conversion of ECAL FADC mode 7 data to LCIO including correct persistency
  • [HPSJAVA-394] - Read EVIO TI Bank and persist in LCIO
  • [HPSJAVA-399] - Add support for initializing conditions from head bank in EVIO files


  • [HPSJAVA-104] - Create EVIO to LCIO convertors for the new DAQ data formats
  • [HPSJAVA-148] - Data catalog deployment tasks
  • [HPSJAVA-170] - Change ECAL monitoring Drivers to use the database conditions system
  • [HPSJAVA-184] - New Test Run SVT geometry based on survey and drawings
  • [HPSJAVA-241] - Install conditions database at JLab
  • [HPSJAVA-250] - Make database conditions for SVT backward compatible with test run
  • [HPSJAVA-265] - Validate output of FADCPrimaryTriggerDriver
  • [HPSJAVA-272] - Merge the database conditions development branch (hps_java_trunk_HPSJAVA-255) with the trunk
  • [HPSJAVA-283] - Implement new 2014 SVT geometry
  • [HPSJAVA-299] - Remove deprecated SVT conditions classes
  • [HPSJAVA-342] - Zap most of the Drivers in org.hps.analysis.ecal with the delete wand
  • [HPSJAVA-346] - Remove deprecated SVT readout classes
  • [HPSJAVA-347] - Remove HPSCalorimeterHit
  • [HPSJAVA-361] - Move external conditions database to SLAC MySQL farm
  • [HPSJAVA-363] - Improve clustering API and class hierarchy
  • [HPSJAVA-364] - Remove QuietBaseLCSimEvent class
  • [HPSJAVA-368] - EcalClusterIC crashes in SIOCluster
  • [HPSJAVA-369] - Remove Resettable interface
  • [HPSJAVA-376] - Remove CalibrationDriver
  • [HPSJAVA-377] - Remove old conditions data files
  • [HPSJAVA-378] - Remove Redrawable interface
  • [HPSJAVA-379] - Cleanup ECAL analysis and monitoring Driver mess
  • [HPSJAVA-380] - Remove RunControlDriver and RunControlDialog
  • [HPSJAVA-381] - Move HPSSVTConstants class to tracking module
  • [HPSJAVA-382] - Remove deprecated ConditionsReader classes
  • [HPSJAVA-383] - Remove old EcalConditions class
  • [HPSJAVA-385] - Externalize cluster position and energy calculations
  • [HPSJAVA-387] - Remove HPSRawCalorimeterHit class
  • [HPSJAVA-388] - Make settable botton and top gap sizes for HPSEcal3 class
  • [HPSJAVA-389] - Fix or sandbox broken steering files
  • [HPSJAVA-393] - Remove old versions of clustering algorithms
  • [HPSJAVA-404] - Replace LegacyClusterer with GTPOnlineClusterer in monitoring steering files
  • [HPSJAVA-418] - Cleanup clustering API
  • [HPSJAVA-419] - Remove EcalDetectorSetup class and conditions methods in EcalCrystal API


  • [HPSJAVA-117] - Create DQM plots for ECAL
  • [HPSJAVA-126] - Choose DQM quantities for ECal monitoring
  • [HPSJAVA-132] - Setup DQM database table on the server
  • [HPSJAVA-152] - Create scripts to extract or determine meta data information for different file types
  • [HPSJAVA-153] - Determine the full set of meta data variables that should be associated to different file types
  • [HPSJAVA-162] - Determine folder and group structure for datasets
  • [HPSJAVA-207] - Implement straight track finding with simple linear fit
  • [HPSJAVA-248] - Create LCDD converter for 2014 geometry
  • [HPSJAVA-249] - Create Java converter for 2014 geometry
  • [HPSJAVA-253] - Add maximum number of records to be set in JobSettings after which the session will end
  • [HPSJAVA-273] - Change all steering files to use ConditionsDriver instead of HPSCalibrationsDriver.
  • [HPSJAVA-274] - Update the structure of test run conditions tables and then copy the records to the dev database
  • [HPSJAVA-275] - Create ECAL EVIO reader for the Engineering Run
  • [HPSJAVA-276] - Create SVT EVIO reader for the Engineering Run
  • [HPSJAVA-285] - Build L4-6 module local geometry.
  • [HPSJAVA-286] - Build magnet bore local geometry from drawings
  • [HPSJAVA-287] - Build base plate local volume from drawing
  • [HPSJAVA-288] - Build L1-3 U-support local geometry from drawings.
  • [HPSJAVA-289] - Build L4-6 U-support local geometry from drawings.
  • [HPSJAVA-290] - Build L1-3 module local geometry from drawings.
  • [HPSJAVA-291] - Build L4-6 half-module local geometry from drawings.
  • [HPSJAVA-292] - Build L4-6 module local geometry from drawings.
  • [HPSJAVA-294] - Fix local coordinate system w.r.t. lcsim SiSensor definition.
  • [HPSJAVA-314] - Bottom L4-6 support
  • [HPSJAVA-315] - Top L4-6 support
  • [HPSJAVA-316] - Bottom L1-3 support
  • [HPSJAVA-317] - Top L1-3 support
  • [HPSJAVA-318] - Implement test case for building LCDD and Java geometry.
  • [HPSJAVA-320] - Add menu item for resetting all AIDA plots
  • [HPSJAVA-326] - Position of L4-6 supports are wrong
  • [HPSJAVA-327] - Fix position of L1-3 support top
  • [HPSJAVA-339] - Add data rate monitoring to RunPanel
  • [HPSJAVA-340] - Cleanup and improve the EtSystemMonitor strip charts
  • [HPSJAVA-357] - Allow loading EVIO files from menu without an explicit .evio extension
  • [HPSJAVA-365] - Add methods to convert GenericObject back to SSPData
  • No labels