Significant amount of time has been spent to move calibGenCAL package to GR v4r2 and to make it working on Windows with Visual C++ v7.1 (Zach Fewtrel).
List of solved problems:
runMuonCalibChain crashed before first executable line
problem related to creation of 2 objects of muonCalib class (renamed of RootTreeAnalysis class)
the presence of big unused histogram arrays as data members produced stack overflow ( only on Windows - worked on linux)
incompatibility of different versions of digiRootData without any error message:
when processing digi files from SLAC EM test (used as reference data sets) we got "almost" correct histograms, but not all, and processing took much longer than expected
to process SLAC data we have to convert ebf files again to root using the same version of digiRootData which will be used to read root file
checking of compatibility of digiRootData version used for root file writing and reading added to calibGenCAL
unstable fitting of muon peak histograms with log normal function in calibGenCAL v2 (modified by Pol)
moved back to landau fit as in calibGenCAL v1
Yesterday calibGenCAL v2r1 ( which is tested to work correctly with SLAC data) checked in to CVS.
now it is possible to move my existing modifications (light asymmetry nonlinearity calibration) to calibGenCAL
Zach is working now on conversion of charge injection calibration code (integral nonlinearity calibration) from IDL to root
To write xml files with light asymmetry nonlinearity and integral nonlinearity we need appropriate xml file format with variable length array of constants for each range
discovered last week that it is not yet ready
Joanne is working now on xml file description
What could be ready by the end of May:
calibGenCAL with all required algorithms, possibly without light attenuation (C15)
documenation in some "intermediate" state
no CalRecon and CalDigi modifications to use new calibration data.
Test of 2D fit of LEX8 and LEX1 pedestals implemented by Pol shows that parameters of fit are consistent with 100% correlated LEX8 and LEX1, while deviations in correlation parameters arise from coarse binning for LEX1 (pedestal peak occupies 3-4 bins)
I wrote simple test root script based on Pol's fitting, but with 2D histogram filled with 100% correlated gaussian random numbers with sigma(LEX8)=4.0 and sigma(LEX1)=0.5. The output of this test script gives parameters sigma_Y=0.45 and angle=0.12 very close to what we get from real data.
the 2D pedestal histogram (simulated) as scattered plot and LEGO plot shows that scattered plot is rather misleading: it gives wrong impression that distribution is smooth
the same plots for data: scattered plot and LEGO plot
LEGO plot looks more symmetric - there is some uncorrelated component, but to extract it the binning should be taken into account
conclusion: uncorrelated part of noise is much smaller than given by simple 2D fit parameters
probably it could be neglected and we could just use 100% correlated LEX8/LEX1 noise
more accurate solution: properly take into account the effect of binning