Andrei Artamonov, 18.06.2009 2-Gaussian noise status ----------------------- * main modifications of athena code are in Calorimeter/CaloTools package in CaloNoiseToolDB. - there are new methods "getC/D/E" to access three new constants describing 2-G noise for Tile from database. Previously, the record in DB (per cell per gain) contained two numbers: electronic noise (rms) and pileup noise. Those values are kept intact, we add "sigma 1", "sigma 2" and relative weight of second Gaussian. Thus, new DB structure is backward compatible with old software, where 1-G noise description is used. - new method "calcSig" is implemented (provided by Luca). It returns equivalent 1-gaussian sigma for known cell energy, sigma1/2 and 2-nd gaussian weight. If the energy is greater than 7.5 sigma of wide gaussian - sigma_wide is returned. If the energy is less then 1 sigma of narrow gaussian - sigma_narrow is returned. In such a way we avoid in many evident cases time-expensive calculations using Erf/ErfInverse functions (conversion from sigma->C.L. and vise versa). - new interfaces to "getNoise", "elecNoiseRMS" and "totalNoiseRMS" are implemented. They should be used only for Tile and only from "getEffectiveSigma" function. This "getEffectiveSigma" should be used in CaloTopoClusterMaker instead of "getNoise". * Some small changes were made in Calorimeter/CaloRec package: - To activate new code with 2-G noise, CaloTopoClusterMaker was changed to use getEffectiveSigma in case if new property "TwoGaussianNoise" is set to True in python/CaloClusterTopoGetter.py * All these code changes are in SVN and 15.2.0 release and are ready to use. * Tests/checks: - I prepared sqlite files with new 2-G description and run a few jobs reconstructing cosmic run. I made a quick checks looking at number and energy of Tile topoclusters. - if the 2-nd gaussian is suppressed by large factor, the results are identical to 1-G noise reconstruction (just technical prove, that there is no evident bug in the code). - if 2-nd gaussian is significant, the results are changed and seems to be reasonable (just my impression). - I created sqlite file using real 2-G noise got from Luka's ASCII file (HG-HG only, not all cells). For other gains or missing cells I have put the 1-st gaussian sigma the same, as current RMS in database. The weight of the second gaussin in this case was zero. Quick comparison with 1-G noise reconstruction showed some reasonable changes in topoclusters (at least - no disaster in energy distributions). - to be sure that new noise description is backward compatible, I run the job of 15.1.0 release on my sqlite file and found no differences when running with COOL noise. So, I convinced Walter Lampl that it is harmless to merge sqlite with 2-G noise with COOL DB. - some tests were made to look at CPU consumption in 2-G case. The increase of CPU was minor, < 10% (but it can be quite different for real physics, MC e.g.). ------------------------------------------------------------ The 2-G noise was calculated by Luca, so, probably he will explain details how it was done and the plans. ------------------------------------------------------------ The machinery to create sqlite file with new noise certainly should be less complicated. Now, I have to create sqlite for LAr from COOL, dump from COOL current noise for Tile as ASCII, run my c++ program to merge this ASCII file with Luka's ASCII, taking into account missing gains and cells, merge this new ASCII to sqlite with LAr noise. So, there is quite some room for trivial mistakes. I think, Brian is working on this subject ?