pisa.stages.xsec package

Submodules

pisa.stages.xsec.correct_charm_y module

This stage corrects inelasticity distribution to remove the most obvious impact from charm production bug in GENIE.

Maria Liubarska

class pisa.stages.xsec.correct_charm_y.correct_charm_y(nu_cc_container_keys=['nue_cc', 'numu_cc', 'nutau_cc'], nubar_cc_container_keys=['nuebar_cc', 'numubar_cc', 'nutaubar_cc'], **std_kwargs)[source]

Bases: Stage

This stage reweights inelasticity distribution to remove the most obvious impact from charm production bug in GENIE 2.12.8. The bug effectively kills most charm events.

Parameters:
  • nu_cc_container_keys (list of strings) – list of all neutrino charged current container keys

  • nubar_cc_container_keys (list of strings) – list of all anti-neutrino charged current container keys

Notes

THIS STAGE IS FOR MC TESTING ONLY - do NOT use in real analysis!!!

Expected container keys are:

'true_energy', 'true_coszen', 'bjorken_y', 'weights'

References

Slides summarizing the bug (osc. call, 28 Nov 2022): https://drive.google.com/file/d/16tF_ofjI-YTxnxSsuZD4W2X52xND1CAM/view?usp=drive_link

Slides showing use for check with oscNext VS (osc. call, 19 Dec 2022): https://drive.google.com/file/d/14h0WYWPWn7yS7wLQpyMAPTenfKfFAq3k/view?usp=drive_link

apply_function()[source]

Implement in services (subclasses of Stage)

setup_function()[source]

Implement in services (subclasses of Stage)

pisa.stages.xsec.correct_charm_y.init_test(**param_kwargs)[source]

Instantiation example that enables actual testing on toy containers from test_services.py

pisa.stages.xsec.dis_sys module

Stage to apply pre-calculated DIS uncertainties Study done by Maria Liubarska & Juan Pablo Yanez, more information available here: https://drive.google.com/open?id=1SRBgIyX6kleYqDcvop6m0SInToAVhSX6 ToDo: tech note being written, link here as soon as available

class pisa.stages.xsec.dis_sys.dis_sys(extrapolation_type='constant', extrapolation_energy_threshold=<Quantity(100, 'gigaelectron_volt')>, combine_components=True, **std_kwargs)[source]

Bases: Stage

Stage to apply pre-calculated DIS systematics.

Parameters:
  • combine_components (bool) – False -> allow the total and differential components to fit individually (params will then be: dis_csms_tot, dis_csms_diff) True -> vary the total and differential components together (param will then be: dis_csms)

  • extrapolation_type (string) – choice of [‘constant’, ‘linear’, ‘higher’]

  • extrapolation_energy_threshold (float) – Below what energy (in GeV) to extrapolate Defaults to 100. CSMS not considered reliable below 50-100 GeV

  • params (ParamSet) –

    Must have parameters:

    dis_csms : quantity (dimensionless)  [if combine_components=True]
    or
    dis_csms_tot, dis_csms_diff : quantity (dimensionless)  [if combine_components=False]
    

Notes

Expected container keys are:

"true_energy", "bjorken_y", "dis", "nubar", "weights"
apply_function()[source]

Implement in services (subclasses of Stage)

setup_function()[source]

Implement in services (subclasses of Stage)

pisa.stages.xsec.dis_sys.init_test(**param_kwargs)[source]

Instantiation example

pisa.stages.xsec.genie_sys module

Stage to apply pre-calculated Genie uncertainties

pisa.stages.xsec.genie_sys.apply_genie_sys(genie_params, linear_fits, quad_fits, out)[source]
class pisa.stages.xsec.genie_sys.genie_sys(interactions='Genie_Ma_QE, Genie_Ma_RES', names='maccqe, maccres', **std_kwargs)[source]

Bases: Stage

Stage to apply pre-calculated Genie systematics.

Parameters:

params (ParamSet) –

Must have parameters:

parameters specified in `interactions` (dimensionless)

Notes

Expected container keys are:

"linear_fit_{name}" (Genie linear coefficient for interaction {name}),
"quad_fit_{name}" (Genie quadratic coefficient for interaction {name}),
"weights"
apply_function()[source]

Implement in services (subclasses of Stage)

setup_function()[source]

Check the range of the parameter in the analysis. Send a warning if these are beyond +- 2sigma

pisa.stages.xsec.genie_sys.init_test(**param_kwargs)[source]

Instantiation example

pisa.stages.xsec.nutau_xsec module

A stage to apply nutau cross-section uncertainties as implemented in https://github.com/marialiubarska/nutau_xsec. It interpolates between different nutau CC cross section models as compared in this paper: https://arxiv.org/pdf/1008.2984.pdf

pisa.stages.xsec.nutau_xsec.init_test(**param_kwargs)[source]

Instantiation example

class pisa.stages.xsec.nutau_xsec.nutau_xsec(xsec_file='cross_sections/interp_nutau_xsec_protocol2.pckl', **std_kwargs)[source]

Bases: Stage

Nu_tau cross-section correction to interpolate between different nutau CC cross-section models. This requires the interpolated file produced by Maria Liubarska: https://github.com/marialiubarska/nutau_xsec

Parameters:
  • xsec_file (string) – Path to pickled interpolated function. Default is included in PISA in pisa_examples/resources/cross_sections/interp_nutau_xsec_protocol2.pckl

  • params (ParamSet or sequence with which to instantiate a ParamSet.) –

    Must have parameters:

    nutau_xsec_scale : quantity (dimensionless)
        Scaling between different cross-section models. The range [-1, 1]
        covers all models tested in the paper.
    

Notes

Expected container keys are:

"true_energy", "weights"
apply_function()[source]

Implement in services (subclasses of Stage)

compute_function()[source]

Implement in services (subclasses of Stage)

setup_function()[source]

Implement in services (subclasses of Stage)

Module contents