iceCube.uhe.muonModel
Class CascadeFluctuationFactory

java.lang.Object
  extended by iceCube.uhe.muonModel.CascadeFluctuationFactory

public class CascadeFluctuationFactory
extends java.lang.Object

This class describes the intrinsic flucuation of atmospheric muon energies due to extensive airshower process. The Elbert model that is used in AtmMuonBunfleFlux.java associates muon energies to their primary cosmic ray energy by one on one relation. The CascadeFlucuationFactory simulates their flucuation in hanndy manner using inputs from the Corsika full simulation. AtmMuonBundleFlux can use this factory to calculate the flux taking int account the fluctuation if the option is set. Written originally for the IceCube EHE background analysis by Shigeru Yoshida 2007-06-08


Constructor Summary
CascadeFluctuationFactory()
          default constructor
 
Method Summary
 double getLogMuOverCREnergy(double confidenceLevel, double logPrimaryEnergy, boolean asInIce)
          Returns Log((E_muon/E0)/ Bar(E_muon/E0)) for a given confidenceLevel.
 double getLogMuOverCREnergyMax(double logPrimaryEnergy, boolean asInIce)
          Returns maximum of Log((E_muon/E0)/ Bar(E_muon/E0))
 double getLogMuOverCREnergyMin(double logPrimaryEnergy, boolean asInIce)
          Returns minimum of Log((E_muon/E0)/ Bar(E_muon/E0))
 double getProbability(double logR, double logPrimaryEnergy, boolean asInIce)
          Return the probability of Log10((E_muon/E0)/ Bar(E_muon/E0)), a relative depature from the mean of the energy ratio.
 double sampleLogEnergyRatioFactor(RandomGenerator rand, double logPrimaryEnergy, boolean asInIce)
          sample and returns Log((E_muon/E0)/ Bar(E_muon/E0)) with MC method
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CascadeFluctuationFactory

public CascadeFluctuationFactory()
default constructor

Method Detail

getProbability

public double getProbability(double logR,
                             double logPrimaryEnergy,
                             boolean asInIce)
Return the probability of Log10((E_muon/E0)/ Bar(E_muon/E0)), a relative depature from the mean of the energy ratio.
    double logR           : log10((E_muon/E0)/ Bar(E_muon/E0))
    double logPrimaryEnergy: log10(Primary Cosmic Ray Energy [GeV])
    boolean asInIce       : true for inIce muon energies, false for those at the earth surface
    


getLogMuOverCREnergyMin

public double getLogMuOverCREnergyMin(double logPrimaryEnergy,
                                      boolean asInIce)
Returns minimum of Log((E_muon/E0)/ Bar(E_muon/E0))


getLogMuOverCREnergyMax

public double getLogMuOverCREnergyMax(double logPrimaryEnergy,
                                      boolean asInIce)
Returns maximum of Log((E_muon/E0)/ Bar(E_muon/E0))


getLogMuOverCREnergy

public double getLogMuOverCREnergy(double confidenceLevel,
                                   double logPrimaryEnergy,
                                   boolean asInIce)
Returns Log((E_muon/E0)/ Bar(E_muon/E0)) for a given confidenceLevel.
        double confidenceLevel >0:   
               integral_(logR)^(infinity) probablity =0.5*(1.0-confidenceLevel)
        double confidenceLevel <0:   
               integral_(-infinity)^(logR) probablity =0.5*(1.0+confidenceLevel)

        double logPrimaryEnergy: log10(Primary Energy [GeV])
        boolean asInIce  : true for inIce muon energies, false for those at the earth surface
       return logR
       


sampleLogEnergyRatioFactor

public double sampleLogEnergyRatioFactor(RandomGenerator rand,
                                         double logPrimaryEnergy,
                                         boolean asInIce)
sample and returns Log((E_muon/E0)/ Bar(E_muon/E0)) with MC method