iceCube.uhe.analysis
Class AtmMuonBundleFitter

java.lang.Object
  extended by iceCube.uhe.analysis.AtmMuonBundleFitter

public class AtmMuonBundleFitter
extends java.lang.Object

This class provides methods to fit I3Particles with the CEL approximated AtmMuonBundle flux or precalculated fluxes by PropagatingAtmMuonFlux. Use AtmMuonBundleFlux.java in the muonModel package to calculate the energy spectrum of muon bundles at the IceCube depth based on the CEL approximation, i.e., AtmMuonBundleFlux.getDFDLogE(logEnergy,cosTheta,beta_loss,slantDepth). An andvanced method

    public static void fillAtmMuonBundleFluxWeight(I3Particle iceParticle, 
                                           ElbertFluxTableFactory muonFluxTable)
    
is also available for using caluclation based upon PropagatingAtmMuonFlux. See the API document of the JULIeT's muonModel package for the details. Written by S. Yoshida 2007 February 16 Revised by S. Yoshida 2008 June 2nd


Field Summary
protected static java.lang.String fluxWeightName
           
protected static double muonBeta
           
 
Constructor Summary
AtmMuonBundleFitter()
           
 
Method Summary
static IComparisonResult compare(I3ParticleAnalysisFactory mcAnalizer1, I3ParticleAnalysisFactory mcAnalizer2, I3ParticleAnalysisFactory dataAnalizer, double logNpeBoundary, IHistogramFactory histoFactory)
          Make a chi2-based statistical comparison between the two MCs (one with E**-1, another with E**-2, for example) with the muon bundle flux and the real data.
static IComparisonResult compare(I3ParticleAnalysisFactory mcAnalizer1, I3ParticleAnalysisFactory mcAnalizer2, I3ParticleAnalysisFactory dataAnalizer, IHistogramFactory histoFactory)
          Make a chi2-based statistical comparison between the two MCs (one with E**-1, another with E**-2, for example) with the muon bundle flux and the real data
static IComparisonResult compare(I3ParticleAnalysisFactory mcAnalizer, I3ParticleAnalysisFactory dataAnalizer, IHistogramFactory histoFactory)
          Make a chi2-based statistical comparison between the MC with the muon bundle flux and the real data
protected static void fillAtmMuonBundleFluxRatioWeight(I3Particle iceParticle, java.lang.String modelName, ElbertFluxTableFactory muonFluxTable, RelativeElbertFluxTableMaker relativeFluxTable)
          This is for the debugging.
static void fillAtmMuonBundleFluxWeight(I3Particle iceParticle, ElbertFluxTableFactory muonFluxTable)
          Fill I3Particle with the Atmospheric Muon Bundle Flux weights.
static void fillAtmMuonBundleFluxWeight(I3Particle iceParticle, ParticlePoint s, AtmMuonBundleFlux muonFlux)
          Fill I3Particle with the Atmospheric Muon Bundle Flux weights.
static void fillAtmMuonBundleFluxWeight(I3Particle iceParticle, java.lang.String modelName, RelativeElbertFluxTableMaker muonFluxTable)
           
static void setAtmMuonBundleFlux(I3ParticleAnalysisFactory analizer, ElbertFluxTableFactory muonFluxTable)
          Set the Atmospheric Muon Bundle flux to all the I3Particles stored in the I3ParticleAnalysisFactory.
static void setAtmMuonBundleFlux(I3ParticleAnalysisFactory analizer, ParticlePoint s, AtmMuonBundleFlux muonFlux)
          Set the Atmospheric Muon Bundle flux to all the I3Particles stored in the I3ParticleAnalysisFactory.
static void setAtmMuonBundleFlux(I3ParticleAnalysisFactory analizer, java.lang.String modelName, RelativeElbertFluxTableMaker muonFluxTable)
           
protected static void setAtmMuonBundleFluxRatio(I3ParticleAnalysisFactory analizer, java.lang.String modelName, ElbertFluxTableFactory muonFluxTable, RelativeElbertFluxTableMaker relativeFluxTable)
          This is for the debugging.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fluxWeightName

protected static java.lang.String fluxWeightName

muonBeta

protected static double muonBeta
Constructor Detail

AtmMuonBundleFitter

public AtmMuonBundleFitter()
Method Detail

fillAtmMuonBundleFluxWeight

public static void fillAtmMuonBundleFluxWeight(I3Particle iceParticle,
                                               ParticlePoint s,
                                               AtmMuonBundleFlux muonFlux)
Fill I3Particle with the Atmospheric Muon Bundle Flux weights. The flux at the IceCube depth is given by the CEL approximated calculation in getDFDLogE(logE,cos(theta),beta,depth) in AtmMuonBundleFlux.


setAtmMuonBundleFlux

public static void setAtmMuonBundleFlux(I3ParticleAnalysisFactory analizer,
                                        ParticlePoint s,
                                        AtmMuonBundleFlux muonFlux)
Set the Atmospheric Muon Bundle flux to all the I3Particles stored in the I3ParticleAnalysisFactory. The set flux is subject to be compared with the real data distribution.


fillAtmMuonBundleFluxWeight

public static void fillAtmMuonBundleFluxWeight(I3Particle iceParticle,
                                               ElbertFluxTableFactory muonFluxTable)
Fill I3Particle with the Atmospheric Muon Bundle Flux weights. The flux at the IceCube depth is given by the calculation based on PropagatingAtmMuonBundleFlux, where muon propagation is processed by the full numerical propagation matrix without any CEL approximation. Because PropagatingAtmMuonBundleFlux must read our pre-calculataed matrix data which takes time, this method uses ElbertFluxTableFactory object in the muonModel package which reads compact table data files containing the calculatated fluxes values by PropagatingAtmMuonBundleFlux.


setAtmMuonBundleFlux

public static void setAtmMuonBundleFlux(I3ParticleAnalysisFactory analizer,
                                        ElbertFluxTableFactory muonFluxTable)
Set the Atmospheric Muon Bundle flux to all the I3Particles stored in the I3ParticleAnalysisFactory. The set flux is subject to be compared with the real data distribution.


fillAtmMuonBundleFluxWeight

public static void fillAtmMuonBundleFluxWeight(I3Particle iceParticle,
                                               java.lang.String modelName,
                                               RelativeElbertFluxTableMaker muonFluxTable)
                                        throws java.io.IOException
Throws:
java.io.IOException

setAtmMuonBundleFlux

public static void setAtmMuonBundleFlux(I3ParticleAnalysisFactory analizer,
                                        java.lang.String modelName,
                                        RelativeElbertFluxTableMaker muonFluxTable)
                                 throws java.io.IOException
Throws:
java.io.IOException

fillAtmMuonBundleFluxRatioWeight

protected static void fillAtmMuonBundleFluxRatioWeight(I3Particle iceParticle,
                                                       java.lang.String modelName,
                                                       ElbertFluxTableFactory muonFluxTable,
                                                       RelativeElbertFluxTableMaker relativeFluxTable)
                                                throws java.io.IOException
This is for the debugging.

Throws:
java.io.IOException

setAtmMuonBundleFluxRatio

protected static void setAtmMuonBundleFluxRatio(I3ParticleAnalysisFactory analizer,
                                                java.lang.String modelName,
                                                ElbertFluxTableFactory muonFluxTable,
                                                RelativeElbertFluxTableMaker relativeFluxTable)
                                         throws java.io.IOException
This is for the debugging.

Throws:
java.io.IOException

compare

public static IComparisonResult compare(I3ParticleAnalysisFactory mcAnalizer,
                                        I3ParticleAnalysisFactory dataAnalizer,
                                        IHistogramFactory histoFactory)
Make a chi2-based statistical comparison between the MC with the muon bundle flux and the real data


compare

public static IComparisonResult compare(I3ParticleAnalysisFactory mcAnalizer1,
                                        I3ParticleAnalysisFactory mcAnalizer2,
                                        I3ParticleAnalysisFactory dataAnalizer,
                                        IHistogramFactory histoFactory)
Make a chi2-based statistical comparison between the two MCs (one with E**-1, another with E**-2, for example) with the muon bundle flux and the real data


compare

public static IComparisonResult compare(I3ParticleAnalysisFactory mcAnalizer1,
                                        I3ParticleAnalysisFactory mcAnalizer2,
                                        I3ParticleAnalysisFactory dataAnalizer,
                                        double logNpeBoundary,
                                        IHistogramFactory histoFactory)
Make a chi2-based statistical comparison between the two MCs (one with E**-1, another with E**-2, for example) with the muon bundle flux and the real data. The chi2 is built with mcAnalizer2 for logNpe < logNpeBoundary and with mcAnalizer1 otherwise.