appletree.plugins.nestv2

In appletree.plugins.nestv2, we put some plugins to simulate quanta based on NESTv2. Currently, we only have the nuclear recoil related plugins.

class appletree.plugins.nestv2.BandEnergiesClipEff(llh_name: Optional[str] = None)[source]

Bases: Plugin

For band-like yields constrain, we only need a placeholder here.

Because BandEnergySpectra has already selected energy for us.

depends_on: List[str] = ['energy']
provides: List[str] = ['eff']
simulate(key, parameters, energy)[source]
class appletree.plugins.nestv2.LyNR(llh_name: Optional[str] = None)[source]

Bases: Plugin

depends_on: List[str] = ['energy', '_Nq', 'charge_yield']
parameters: Tuple = ('theta', 'iota')
provides: List[str] = ['light_yield']
simulate(key, parameters, energy, _Nq, charge_yield)[source]
class appletree.plugins.nestv2.MeanExcitonIon(llh_name: Optional[str] = None)[source]

Bases: Plugin

depends_on: List[str] = ['ThomasImel', '_Nph', '_Ne']
provides: List[str] = ['_Nex', '_Ni', 'nex_ni_ratio', 'alf', 'elecFrac', 'recombProb']
simulate(key, parameters, ThomasImel, _Nph, _Ne)[source]
class appletree.plugins.nestv2.MeanNphNe(llh_name: Optional[str] = None)[source]

Bases: Plugin

depends_on: List[str] = ['light_yield', 'charge_yield', 'energy']
provides: List[str] = ['_Nph', '_Ne']
simulate(key, parameters, light_yield, charge_yield, energy)[source]
class appletree.plugins.nestv2.MonoEnergiesClipEff(llh_name: Optional[str] = None)[source]

Bases: Plugin

For mono-energy-like yields constrain, we need to filter out the energies out of range.

The method is set their weights to 0.

depends_on: List[str] = ['energy_center']
provides: List[str] = ['eff']
simulate(key, parameters, energy_center)[source]
takes_config = immutabledict({'clip_lower_energy': <appletree.config.Constant object>, 'clip_upper_energy': <appletree.config.Constant object>})
class appletree.plugins.nestv2.MonoEnergiesSpectra(llh_name: Optional[str] = None)[source]

Bases: Plugin

depends_on: List[str] = ['batch_size']
provides: List[str] = ['energy', 'energy_center']
simulate(key, parameters, batch_size)[source]
takes_config = immutabledict({'energy_twohalfnorm': <appletree.config.ConstantSet object>})
class appletree.plugins.nestv2.OmegaNR(llh_name: Optional[str] = None)[source]

Bases: Plugin

depends_on: List[str] = ['elecFrac', 'recombProb', 'Ni']
parameters: Tuple = ('A', 'xi', 'omega')
provides: List[str] = ['omega', 'Variance']
simulate(key, parameters, elecFrac, recombProb, Ni)[source]
class appletree.plugins.nestv2.QyNR(llh_name: Optional[str] = None)[source]

Bases: Plugin

depends_on: List[str] = ['energy', 'ThomasImel']
parameters: Tuple = ('epsilon', 'zeta', 'eta')
provides: List[str] = ['charge_yield']
simulate(key, parameters, energy, ThomasImel)[source]
class appletree.plugins.nestv2.ThomasImelBox(llh_name: Optional[str] = None)[source]

Bases: Plugin

depends_on: List[str] = ['energy']
parameters: Tuple = ('gamma', 'delta', 'liquid_xe_density')
provides: List[str] = ['ThomasImel']
simulate(key, parameters, energy)[source]
takes_config = immutabledict({'literature_field': <appletree.config.Constant object>})
class appletree.plugins.nestv2.TotalQuanta(llh_name: Optional[str] = None)[source]

Bases: Plugin

depends_on: List[str] = ['energy']
parameters: Tuple = ('alpha', 'beta')
provides: List[str] = ['_Nq']
simulate(key, parameters, energy)[source]
class appletree.plugins.nestv2.TrueExcitonIonNR(llh_name: Optional[str] = None)[source]

Bases: Plugin

depends_on: List[str] = ['_Nph', '_Ne', 'nex_ni_ratio', 'alf']
parameters: Tuple = ('fano_ni', 'fano_nex')
provides: List[str] = ['Ni', 'Nex', 'Nq']
simulate(key, parameters, _Nph, _Ne, nex_ni_ratio, alf)[source]
class appletree.plugins.nestv2.TruePhotonElectronNR(llh_name: Optional[str] = None)[source]

Bases: Plugin

depends_on: List[str] = ['recombProb', 'Variance', 'Ni', 'Nq']
parameters: Tuple = ('alpha2',)
provides: List[str] = ['num_photon', 'num_electron']
simulate(key, parameters, recombProb, Variance, Ni, Nq)[source]
class appletree.plugins.nestv2.UniformEnergiesSpectra(llh_name: Optional[str] = None)[source]

Bases: Plugin

depends_on: List[str] = ['batch_size']
provides: List[str] = ['energy']
simulate(key, parameters, batch_size)[source]
takes_config = immutabledict({'clip_lower_energy': <appletree.config.Constant object>, 'clip_upper_energy': <appletree.config.Constant object>})