TWIST "Weekly" CVS Tags

maintained by Robert MacDonald.

The Tags | Handy CVS Commands | Quality Assurance | Philosophy

Tag names are of the format MOFIA-V-V-YYMMDD, where V-V is the major version number, and YYMMDD is the tag date.

To check out a tag, see Konstantin's Software Installation Instructions. Use the tag names listed below.

The Tags

Tag name Changes since previous tag
MOFIA-2-2-040304
  • Added FG option to use cluster size for omega/phinot fit (FGJM).
  • Various improvements to FGKO.
  • Various and sundry improvements to the helix fitter, including allowing for dense-stack kinks.
  • TriggerTime values are now in CFM.
  • Split windowbj_mod and helixfit_mod into several modules.
  • Reduced amount of "noisy" error messages.
  • Improvements to unpacking.
  • Improvements to RootTree analysis code in rootmacro directory.
  • Pass MC "Truth" banks' vertex info into Root Tree.
  • Tweaks to namelist variables. Highlights include: turning off the User Variables in the Root Trees; setting the default magnetic field to 2 Tesla instead of 0; and use classifyBJ by default.
  • Histogram tweakage. "Raw raw" hists added.
  • Root Histograms are now produced as TH1D (Double-Precision) rather than TH1F.
  • Cleaned up/improved KCM files.
  • Added unpacking of unified "SLOW" slow controls bank.
  • Use new printcontrol flags from namelist PRCNTL instead of FUNC 1,2,3 & 4.
  • Bug fixes!
  • ...and more...
MOFIA-2-2-030708
  • Major update to Blair's classification code, including introduction of namelist windowingbj.
  • Now can handle TAR2 target geometry entry in geometry file.
  • Revised tracking_mod to allow more combinations of windowing/FG/fitting/delta removal.
  • Can study deltas based on MC bank information.
  • Added subsystems for alternative classification methods.
  • Added TEC subsystem.
  • Added physicalconstants_mod.f90.
  • Introduced "invariant size" parameter to Coord structure in cluster_mod.
  • Can now calculate timezero with field on.
  • Improvements to drift time fitting -- including using all sparse stack planes for fits.
  • Move helix fitter error codes from helixfit_mod to track_mod.
  • Namelists tweaked.
  • Histograms tweaked.
  • Can now test Geant alignment accuracy.
  • New MCD3 geant bank.
  • Changes to stopping distribution calculations.
  • New script (anal_test.tcsh) for testing code revisions prior to committing.
  • Bug fixes!
  • ...and more...
MOFIA-2-2-030519
  • Major update to the Event Classification code!
  • Major update to the tracking code, to remove deltas and loop through overlaps!
  • Added sanity checks for foil positions.
  • Improved kink tracking, including implementing generic "one-kink-per-plane" kinks (default).
  • Implement drift- and time-residual fits with kinks.
  • Finalized energy loss calculations.
  • New histograms and control variables for PACT analysis.
  • Tuned some HelixFit namelist defaults.
  • New perl script to find structure type definitions.
  • Generalized NTuple Type 7, and added NTuple Type 8.
  • Add ko_tdctree.f90 -- sample code for generating ROOT Trees!
  • Bugfixes!
  • ...and more...
MOFIA-2-2-030331
  • Implement kinks, and new stopping condition on cos(theta) rms, in helix fitter. Make fit parameterizations more flexible.
  • Tweaked some namelist variables, improved comments.
  • Unpacking of Monte Carlo info about "derivative" spectra.
  • Can now pass kcm files to Mofia on the command line.
  • Added checks related to magnetic field maps.
  • Added support for SCI3 scintillator geometry. (See geometry file.)
  • Improved event classification in classifybj_mod.
  • Added (optional) support for ROOT TTree output. (Photo only)
  • Bug fixes.
  • ...and more...
MOFIA-2-2-030304
  • Enforcement of scintillator conventions (number and types).
  • Improvements to drift time helix tracking.
  • Fixed potential problem with namelist temp file.
  • Added TEC histograms and namelist variables, and tec_mod.
  • Improved STR format with negative-time markers for "bad" values.
  • Tools for calculating multiple-scattering weights from GEANT simulations.
  • Added directory of useful scripts.
  • Histogram tweakage.
  • Bug fixes!
  • ...and more...
MOFIA-2-2-030127
  • Major updates to helixfit_mod, both wire centres and drift times. (Wire centre fits still recommended!)
  • Refuse to track helices steeper than 84 degrees.
  • Improvements to non-uniform magnetic field fitting.
  • Expand the MCSP Monte Carlo data structure.
  • Add new ntuple type for single-track MC studies.
  • Updates to helixfit namelist variables.
  • New and updated KCM files.
  • Bug fixes.
  • ...and more!
MOFIA-2-2-300113
(Yes, that's a typo and should be "030113". But that's how I wrote the tag, too. Whoops.)
  • Updated slow controls reader for new data format.
  • align_mod now handles alignment wrt magnetic field.
  • Efficiencies can now be calculated from field-on data.
  • Improved firstguessko circle fits.
  • Great improvements in helix fits (especially wire-centre fits).
  • Switched helix fitter default to wire-centre fits; drift-time fits were broken for a while, but are now working again.
  • Improved beam positron ID.
  • Can now incorporate TOF for Sr source particles.
  • Added code for tracking in non-uniform magnetic field.
  • Unified the ntuple code (now there's only one type, that's the same for MC and data).
  • KCM and KUMAC file updates, improvements, and additions.
  • Lots and lots of bug fixes, and some code cleanup.
  • ...and more!
MOFIA-2-2-021031
  • Added "subsystems" for better analysis logging.
  • Added some KCM files; tweaked others.
  • Added "sample_runs.kcm" for standard analysis of recent data.
  • Setup KCM files for GEANT no longer specify the calibration files; they're now specified in a GEANT bank.
  • Added directory source/kumac for mofia related kumac files (paw macro files).
  • Much histogram tweakage. In particular, large 2D histograms are now smaller.
  • Efficiency calculations improved.
  • Can now use OPERA field maps.
  • Added even more (optional) printouts in photo.
  • Can now restrict analysis to specific ranges on CPTOF and M12ADC.
  • Added plane rotation corrections.
  • Namelist additions/removals/tweakages.
  • Modified Helix Ntuple Types 2 and 3 for production analysis.
  • Code cleanup, especially classify_mod.f90.
  • Added scripts to make dependencies right.
  • Bug fixes.
  • ...and more!
MOFIA-2-2-020912
  • Warnings about duplicate event numbers.
  • Can now call KCM files with "@../kcm/foo.kcm".
  • Improved beam positron ID.
  • The trigger window is now flagged.
  • Event classification now considers trigger window. Also, fixed consideration of 'target stop' of muon.
  • When running KCM files, references to unknown namelists and variables now crash Mofia (by design).
  • When fitting for t0's, a spectrum now requires at least 50 counts to be considered meaningful.
  • Improved, more efficient crosstalk analysis.
  • Can now load histograms from a file and add their contents to an existing histogram. (func 16)
  • Makefile tweakage.
  • Histogram tweakage.
  • Bug fixes.
  • ...and more!
MOFIA-2-2-020827
  • Warning: QOD at this tag does not compile.

  • Added KCM files, tweaked others.
  • Look for KCM files in $MOFIA_SOURCE/kcm if they can't be found in the local directory.
  • Added PC ADC conversion parameter for use with PACT.
  • Overlapping time windows are now labelled correctly.
  • Fancy new beam positron ID algorithm.
  • Helix ntuple now uses parameters at/near target (or PC1 for muons).
  • Efficiency is more efficient.
  • New stuff happens when Mofia exits.
  • New muon code, enabled by "enableFirstGuessMuon".
  • New histograms. Rearranged some numberings.
  • Copious namelist additions and tweakages.
  • "too many tracks" is no longer fatal in unpmc_mod.
  • PC crosstalk hits that are "removed" no longer make it into windows.
  • Photo now prints window type and track range data.
  • Many bug fixes.
  • And more...
MOFIA-2-2-020727
  • New KCM files.
  • Some namelist reorganization and additions.
  • Ditto for histograms.
  • Moved many files from mainf90 to user.
  • Added trackrange_mod (for estimation of Z's of first and last hits in each window) and removed ko_mustop_mod.
  • Histogram additions/tweaks.
  • PC and DC hits are now sorted by wire as the structures are filled.
  • Improved counting of hits in events (accounting for cross-talk removal).
  • Speed improvements in window_mod.
  • xtalk now called from QOD.
  • Added a kcm file for pedestal calibrations.
  • Added pact_mod (for PACT analysis and histograms) in user/.
  • More comments and other documentation! Woo!
  • Many bug fixes.
  • And more...
MOFIA-2-2-020709
Many different people...
  • Added/modified KCM files in the source/kcm directory.
  • Added/reorganized namelist variables (esp. for firstguess, QOD, and photo).
  • Added code and filters for positron scintillators.
  • Extensive new documention in several modules.
  • Added/removed/modified various histograms.
  • Attempted to get straight-through tracks into FGresult.
  • Added kink-finder to firstguessko_mod, and improved handling of deltas and small-radius tracks.
  • Add ability to read PC ADC pedestal calibration files.
  • Non-fatally check for out-of-sync TDC error.
  • Count hit wires in a window.
  • Various enhancements on cross-talk analysis behaviour.
  • Revamped helix ntuple type 2 for use with upcoming summer runs.
  • Can now choose your source for t0 corrections.
  • ko_mustop_mod is more careful about when it tries to find the stopping position.
  • Many bug fixes.
  • And more...
MOFIA-2-2-020626
Blair Jamieson:
  • Added namelist variables to select event types for helix fitting.
  • Added code to look at positron and muon beamspots.
Art Olin et al.:
  • Work on PACT pedestal stuff.
Maher Quraan:
  • Work around possible PC windowing problem.
  • Added a couple of namelist variables.
  • Fix the defaults in the scintillator namelist to reasonable values.
MOFIA-2-2-020620 (First weekly tag!)

Handy CVS Commands

A command to view log entries made in the last 8 days is:
cvs -Q log -d ">8 days ago"
(It still lists all the files, though; search the output for the word "date" to find the log entries.) Similarly, to view log entries made since 27 July, 2002:
cvs -Q log -d ">27 July 2002"

To set a tag called MYNEWTAG:

cvs tag MYNEWTAG

Quality Assurance Tests

The following QA tests are currently applied to each weekly tag:

The above tests are run using these shell scripts (which submit batch jobs to pbsrun) and KCM files (which call KCM files from the source/kcm directory, then issue "analyze" and "exit" commands):

The following QA tests are currently in development with the "mofia" program: The following QA tests should be developed eventually:

Philosophy

Roughly once a week, I do a clean CVS checkout of the current Mofia CVS head, test it, and tag it. This tag serves two main purposes:

The QA process ensures that there's always a fairly recent point at which the code was known to "work".

The tags table keeps track of major changes recently, so you can keep tabs on what's been happening.