Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This commit updates the bins for the muon histograms to not go too far
above 2 GeV. The reason is that at these energies most muons will exit
the detetor and my energy reconstruction doesn't work too well.
I also updated chi2 and dm-search to use the flux_weight when sampling
from the MC.
|
|
|
|
This commit updates the code to reweight the MC data from tau neutrinos
since I stupidly simulated the muon neutrino flux instead of the tau
neutrino flux.
|
|
|
|
|
|
This commit fixes a bug I introduced earlier in chi2 and dm-search since
we want to remove runs not in the MC for both the signal and atmospheric
samples.
|
|
|
|
|
|
|
|
|
|
This commit updates the python code to work with python 3 and with a
newer version of matplotlib.
- zip_longest -> izip_longest
- fix tick marks for log plots
- scipy.misc -> scipy.special
|
|
This commit updates the chi2 and dm-search scripts to add the ability to
pass a run list on the comand line.
|
|
This commit updates get_events() to calculate the livetime based on both
the number of pulse gt events and the 10 MHz clock and to return it in a
dictionary stored with the dataframe.
I also update dm-search so that the results are now reported as a
function of events/cm^3/s.
Also updated radius cut to be the AV radius.
|
|
This commit updates both the chi2 and dm-search scripts to run nlopt at
the end of the MCMC to find the best fit point.
The reason for this is that for the dm-search script, we rely on the
best fit point being correct when doing the discovery threshold
analysis. To really get the best fit point with the MCMC we would need
to run a ridiculous number of steps, so it's better to run a fewer
amount of steps to get close and then run the minimization from there.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This commit updates the chi2 script to add scale factors for the
atmospheric neutrino scale and muon scale parameters. The reason for
this is that these parameters should now have a much easier
interpretation than before. Now, the atmospheric neutrino scale
parameter is relative to the expected atmospheric neutrino flux (i.e. we
expect the fit to return something close to 1), and the muon scale
parameter is the total number of expected muons in our sample, which is
exactly what the data cleaning analysis gives us.
|
|
This commit updates the chi2 script to skip minimzing the likelihood
before running the MCMC. The reason for this is that I was occasionally
seeing a linear algebra error about a singular matrix when running the
MCMC with the KDEMove which I suspect is caused by too many points being
in the same place.
|
|
This commit updates the chi2 script to only merge the weights dataframe
with the Monte Carlo dataframe after we have selected the universe for
the weights. This *greatly* reduces the memory usage.
|
|
This commit fixes the chi2 analysis so that it is no longer biased.
Previously, the chi2 analysis pull plots showed a consistent bias. At
first, I thought this was due to the fact that the posterior wasn't
gaussian, but even after switching to percentile plots based on the
algorithm outlined in "Validating Bayesian Inference Algorithms with
Simulation-Based Calibration", I was still seeing a bias. I finally
tracked it down to the fact that I was applying the energy scale
parameters to the data instead of the Monte Carlo. Therefore, in this
commit I update the posterior to now apply the energy scale parameters
to the Monte Carlo instead of the data. This has the slight disadvantage
that the final histograms will be binned in the biased energy, but
that's not really a big deal.
In addition, this commit contains several other updates:
- switch to plotting percentile plots based on the algorithm in
"Validating Bayesian Inference Algorithms with Simulation-Based
Calibration" instead of pull plots
- apply both the energy scale and resolution at the individual particle
level, i.e. there is no longer an energy resolution term for electron
+ muon fits
- separate pull plots and coverage plots. Previously I was making both
the p-value coverage plots and the pull plots at the same time.
However, the pull plots shouldn't have anything to do with the GENIE
weights whereas the p-value coverage plots should draw samples
weighted by the GENIE weights. In addition, for the pull plots we draw
new truth parameters on every iteration whereas for the p-value
coverage plots we only draw them once.
- switch to using KDEMove() for the MCMC since I think it samples
multimodal distributions a lot better than the default emcee move.
- I now correct for the reconstruction energy bias in plot-michel and
plot-muons
|
|
This commit updates how the energy bias is applied when we correct for
the energy bias in correct_energy_bias(). The correct way to apply this
correction is to compute:
T_corrected = T_reco/(1+bias)
whereas previously we were multiplying by (1-bias).
|
|
|
|
|
|
|
|
|
|
This commit updates the chi2 analysis with two big changes:
- I now apply the energy bias correction in the likelihood per particle
and not per fit. So there is no longer an energy bias parameter for
electron + muon fits, instead we just apply the energy bias correction
for electrons to the electron and the energy bias correction for muons
to the muon and then add the two kinetic energies.
- I now apply the energy bias correction terms to the data instead of
the Monte Carlo. This does introduce an issue with discontinuities in
the likelihood but it makes everything easier to interpret. The
discontinuities *should* be correctly taken into account by the MCMC.
|
|
This commit updates the chi2 script to correct for the energy bias of
the reconstruction relative to Monte Carlo.
|
|
|