EEMC Calibrations Questions

My understanding about how the EEMC calibrations work (mostly from Alice Bridgeman):

 

The EEMC contains three sets of detector layers: shower max detector (SMD), pre- and postshower (PRQ) detectors, and towers. Calibration uses an "all layers but one" strategy for calibrating each layer--for example, the code that generates calibration gains for the towers uses calibration results from the SMDs and the PQRs. We use the following iterations to calibrate the layers:

0    SMDs (using dE/dx slopes from fitting SMD histograms)

1    PQRs (using MIP energies)

2    towers (using MIP energies)

 

3    SMDs (using MIP energies)    

4    PQRs (using MIP energies)

5    towers (using MIP energies)

...
We continue to re-calibrate the layers until the gains converge. If the gains from iteration 5 are close enough to those from iteration 2, then we stop after a minimum of these 0-5 iterations. (For the iteration 0 SMD calibrations the code uses either ideal gains or a previous year's calibration gains for the PQRs and towers.)
 
Alice, Zach Nault and Dave Grosnick worked on the code last summer and pushed the calibrations through iteration 2. I found no functionality in the code for iteration 3 so I have been adding it. I use code that already exists to calculate the average MIP energy (the avrMipNEnergy function in SmdGains.cxx). The code is in place and runs, but I have something wrong. In the process I have developed some questions.
 
1) What all do we want to get from the calibrations? The tower gains, for sure, but the SMD and pre-/postshower gains too? What else? Will we put all these into the database?
 
2) What are the units? In the pre-/postshowers and towers the code shows that
     gain=mean/idealMipEnergy
which I would expect to be of order 1, but the pre-/post- gain file show gains of order 10^(4 or 5) and the tower gain file shows gains of order 10. In iteration 0 the gain file shows gains of order 10^(4 or 5), but the current iteration 3 gains are of order 1. (I've attached the first few lines of the gain and mask files. The second column in the gain file contains the gains and the third contains the gain uncertainties.)
 
3) If the histogram for a given strip has fewer than 50 counts, the code skips determining the MPV. Is this just to keep adding strips together if we don't have enough statistics? Do we want to keep 50 counts as the threshold for calculating gains? (The first 15 strips in sector 1, layer U fail this cut, most with 20-30 counts. In iteration 0 each layer of each section had roughly 0-8 bad strips, but for now iteration 3 has many, as shown in the attached mask file.)
4) The writeup and code both say that the gain depends on the mean, not the MPV, but the StripG class has space only for MPV, not for mean. How much does this matter? I believe we use the gains in other layers only to make sure that we have a coincidence--to identify the event as a MIP event--rather than in any actual calculation of the current layer's gains.
 
5) Does anyone have preliminary ideas of how tight we might eventually want to make the MIP cuts?
 
I also have a couple smaller, code-specific questions:
6) While determining the MPV of the MIP energy the code automatically rebins the strip data with the command Rebin(2). Why do we do this?
7) If the histogram for a given strip has fewer than 150 counts, the code rebins the data with Rebin() (which is the same as Rebin(2)). Is this for statistical purposes?