Update to StGammaMaker code to improve reproducability

Abstract: The offline/StGammaMaker is normally compiled w/in the DEV framework, since we rely on trigger and other makers which do not necessarily live in a stable library. We need a mechanism to track which codes were run for a particular gamma-tree production. We implement the following.
1. A new class, StGammaTreeVersion, will contain CVS version information for each maker in the chain, and each storage container (StGammaCandidate, StGammaTower, etc...) used during tree generation
2. This information will be output to the logfile
3. This information will also be saved to the root file which contains the TTree.

The following is an excerpt from the log file, but can also be obtained by the following commands:
$ root loadGammaLibs.C file-containing-gamma-tree.root
root [0] version->print();

StQAInfo: -- StGammaMaker versioning information follows --
-- List of makers --

[0]: Tag $Name: $ $Id: StGammaTreeMaker.h,v 1.4 2008/06/30 16:34:15 jwebb Exp $ built Jun 30 2008 09:38:09
[1]: Tag $Name: $ $Id: StMuDstMaker.h,v 1.45 2007/04/20 06:26:01 mvl Exp $ built Jan 23 2008 10:36:56
[2]: Tag $Name: $ $Id: St_db_Maker.h,v 1.31 2008/01/09 20:44:52 perev Exp $ built Jan 23 2008 11:03:31
[3]: Tag $Name: $ $Id: StEEmcDbMaker.h,v 1.31 2005/08/17 20:51:14 balewski Exp $ built Jan 23 2008 10:01:48
[4]: Tag $Name: $ $Id: StEEmcA2EMaker.h,v 1.3 2008/06/30 21:15:09 jwebb Exp $ built Jun 30 2008 14:18:46
[5]: Tag $Name: $ $Id: StMyClusterMaker.h,v 1.4 2008/06/30 21:15:24 jwebb Exp $ built Jun 30 2008 14:19:59
[6]: Tag $Name: $ $Id: StEmcADCtoEMaker.h,v 1.51 2008/01/09 15:58:54 kocolosk Exp $ built Jan 23 2008 10:06:58
[7]: Tag $Name: $ $Id: StGammaEventMaker.h,v 1.5 2008/06/30 14:58:39 jwebb Exp $ built Jun 30 2008 07:59:53
[8]: Tag $Name: $ $Id: StGammaRawMaker.h,v 1.3 2008/06/30 14:58:43 jwebb Exp $ built Jun 30 2008 14:21:04
[9]: Tag $Name: $ $Id: StBarrelEmcClusterMaker.h,v 1.4 2008/06/30 14:58:36 jwebb Exp $ built Jun 30 2008 07:59:38
[10]: Tag $Name: $ $Id: StGammaCandidateMaker.h,v 1.8 2008/06/30 14:58:38 jwebb Exp $ built Jun 30 2008 14:20:46
[11]: Tag $Name: $ $Id: StSpinDbMaker.h,v 1.6 2006/10/24 20:19:37 balewski Exp $ built Jan 23 2008 10:48:48
[12]: Tag $Name: $ $Id: StGammaSpinMaker.h,v 1.2 2008/06/30 14:58:43 jwebb Exp $ built Jun 30 2008 08:00:23
[13]: Tag $Name: $ $Id: StGammaTreeMaker.h,v 1.4 2008/06/30 16:34:15 jwebb Exp $ built Jun 30 2008 09:38:09

-- List of containers --

[0]: Tag $Name: $ $Id: StGammaEvent.h,v 1.11 2008/06/30 14:58:38 jwebb Exp $ built Jun 30 2008 07:59:50
[1]: Tag $Name: $ $Id: StGammaCandidate.h,v 1.10 2008/06/30 14:58:37 jwebb Exp $ built Jun 30 2008 07:59:41
[2]: Tag $Name: $ $Id: StGammaTower.h,v 1.5 2008/06/30 14:58:44 jwebb Exp $ built Jun 30 2008 09:38:25
[3]: Tag $Name: $ $Id: StGammaTrack.h,v 1.7 2008/06/30 14:58:45 jwebb Exp $ built Jun 30 2008 09:38:25
[4]: Tag $Name: $ $Id: StGammaStrip.h,v 1.5 2008/06/30 14:58:44 jwebb Exp $ built Jun 30 2008 09:38:25
[5]: Tag $Name: $ $Id: StGammaFitterResult.h,v 1.6 2008/06/30 14:58:40 jwebb Exp $ built Jun 30 2008 07:59:58

 

It should be straightforward to modify StGammaVersion so that it can verify that two different root files are from a compatible production (i.e. all of the CVS version numbers agree.