Status of the Endcap software as of December 2007
Updated December 19, 2007, Jan Balewski


The summary below characterizes status of the Endcap off-line & online software. I'll try to identify separate maintenance/developments tasks which can be transfered to new people.

  1. Online software
    1. FEE pedestals for L0 trigger.
      Current method involves fastOffline processing of a daq file and runing macro excpecting ezTree in muDst. It is rather long procedure , described here
      SUGGESTION : change macro rdEztFeePed.C to not sort events but read instead L2-pedestal file produce automatically for every run.
    2. Panitkin plot
      It is a mess now. The running online version contains frozen 2006 Endcap code. I have 'disabled' the CVS version code: $STAR/StRoot/StEEmcPool/muEztPanitkin/ - which in previous years could be also run off-line of muDst. The reason was the new L0-ETOW code (now in CVS) developed by Xin was too advanced. I have planned to fix muEztPanitkin/ but run out of time. Without fixing it you can't get new plots developed by Xin from the online PPlot.
    3. Monitoring of ETOW, ESMD temperature, low voltage, setup (TDC delays). The code would run on onllinux08 and talk to online DB via eemc-sc. Very cumbersome setup but once all daemons are started works for months w/o human intervention. All scripts from 2006 run are archived at: $CVSROOT/online/eemc/webGenerators/etowEpics-postIt/ + ../mapmtEpics-postIt/
    4. Monitoring of ETOW, ESMD HV was arranged in similar fashion. All scripts from 2006 run are archived at: $CVSROOT/online/eemc/webGenerators/ hvEpics-postIt/
    5. Monitoring of L0-ETOW trigger based on trigger data. This code would post on the web DSM JP spectra for Endcap triggered events, 10K event sample - much more you could get ever from PPlot. All scripts from 2006 run are archived at: $CVSROOT/online/eemc/webGenerators/L0trig-postIt/ + $CVSROOT/online/eemc/fast-trigSort-A/
    6. Monitoring of L2-jet & L2-ped algo histograms. All scripts from 2006 run are archived at: $CVSROOT/online/eemc/webGenerators/L2jet-postIt/, L2ped-postIt/ .
      Jason would took care of L2-gamma monitoring, no code archived.

  2. Offline Utility code in CVS $STAR/StRoot/StEEmcUtil/
    This all code is the core of Endcap analysis software. Contains definition of geometry and higher level unpacking of real & simulated data.
    This code must work always, any warning must be taken very seriously, only few (one?) people should be allow to touch/fix/change this code . It is used in data production, errors here require replay of whole years of data - never happened (knock,knock,knock..)
    In particular:
    1. EEdsm/ - the core of L0-ETOW trigger simulator, used also in PPlot
    2. EEevent/, EEfeeRaw/ - unpacking of data
    3. EEmcGeom/ EEmcSmdMap/ StEEmcSmd/ - geometries
    This code rarely changes, 1-2 small bug fixes per year

  3. Offline DB reader code $STAR/StRoot/StEEmcDbMaker/
    Also core Endcap software, used in production, all restrictions as for StEEmcUtil

  4. Uploading table to offline DB, is one-person task, do not mess it up.
    I used for this a 6-years old stand alone swiss-knife program written by Piotr: /star/u/balewski/dbaseIO/src/, exec=eemcDb . This code is hard to compile, but the same exec works for many years. A script like /star/u/balewski/runList2008/db-idealStat/wrStat.sh is used to upload a whole series of tables at once.
    For last ~6 years I kept copies of all DB-uploading scripts in /star/u/balewski/runList2003/ runList2004/ runList2005/ runList2006/ runList2007/ runList2008/. All the time the same swiff-knife exec is used to do actual DB write.

  5. Offline daq reader $STAR/StRoot/StEmcRawMaker/
    Also core Endcap software, used in production, all restrictions as for StEEmcUtil

  6. Offline physics analysis code $STAR/StRoot/StEEmcPool/
    This code is NOT used in BFC production, so mistakes are less expensive. Many physics analysis codes are there including: various version of pi0 finder, UxV calibration code, Endcap hit display, custom event display, etc..
    Since it is relatively easy to add code there and much harder to clean it up with years it turned in to a junk yard (or museum). All this code compiles in dev (what is good) but may not run properly (happens some times).

  7. Trigger simulator, code: StRoot/StTriggerUtilities, developed this year under leadership of Renee.
    1. L0 EEMC trigger response code: StRoot/StTriggerUtilities/Eemc/ replicates real trigger for 2006 pp.
      TASKS:
      * add algos changing w/ time, e.g. Endcap DSM emulator 2007, 2008. The 2006 version was encoded by Xin.
      * add time dependence of the offline trigger ID's
      * add FEE peds for 2007, 2008? to /star/institutions/iucf/balewski/StarTrigSimuSetup/L0/2006/EemcFeePed/
      * add to offlineDB thresholds for L0-simulator, currently hardcoded in $STAR/StRoot/StEEmcUtil/EEdsm/EemcTrigUtil or rdMu2TrigSimu.C macro

    2. L2-algos code: StRoot/StTriggerUtilities/L2Emulator/ is already setup to emulate most of 2006 pp triggers and we are developing pp 2008 triggers
      TASKS:
      * move time dependent setups to the offline DB - it is significant work, current disk files are at: /star/institutions/iucf/balewski/StarTrigSimuSetup/L2/2006/ algos/ db/
      * provide setup & software for years other than 2006.