nuisance is hosted by Hepforge, IPPP Durham
NUISANCE

Using systematics in NUISANCE

NUISANCE can be linked against various systematics packages, such as GENIE ReWeight, T2K ReWeight, NEUT ReWeight, NOvA ReWeight and the MINERvA tunes, amongst others.

Each systematics packages has a selection of parameters (often referred to as "knobs" or "dials"). For GENIE ReWeight in v2.12.10, these are found in ${GENIE}/src/ReWeight/GSyst.h in the AsString(GSyst_t syst) function. An example is the charged current quasi-elastic axial mass ("MAQE"), encoded as "MaCCQE" in GSyst.h.

Adding systematics is done by providing an additional line in the card file. Taking the example of "MaCCQE" in GENIE ReWeight, NUISANCE needs to know the parameter name, the nominal value to reweight to (which creates the generator prediction), and the type of parameter, e.g. a genie_parameter, a custom_parameter and so on.

Using GENIE ReWeight

Finding the parameters

For GENIE 2 the full list of reweightable parameters is found in genie/src/ReWeight/GSyst.h in GSyst::AsString(GSyst_t syst):

172 class GSyst { 173 public: 174 //...................................................................................... 175 static string AsString(GSyst_t syst) 176 { 177 switch(syst) { 178 case ( kXSecTwkDial_MaNCEL ) : return "MaNCEL"; break; 179 case ( kXSecTwkDial_EtaNCEL ) : return "EtaNCEL"; break; 180 case ( kXSecTwkDial_NormCCQE ) : return "NormCCQE"; break; 181 case ( kXSecTwkDial_NormCCQEenu ) : return "NormCCQEenu"; break; 182 case ( kXSecTwkDial_MaCCQE ) : return "MaCCQE"; break;
where the strings (e.g. MaNCEL, MaCCQE) are the parameter names read in by NUISANCE.

Finding the central values

Finding the 1 sigma uncertainties

Using NEUT ReWeight

Finding the parameters

NEUT ReWeight closely follows GENIE ReWeight by design. For NEUT the list of reweightable parameters is found in neut/src/reweight/NSyst.h. In NEUT 5.3.6 we have

233 class NSyst { 234 public: 235 //...................................................................................... 236 static string AsString(NSyst_t syst) 237 { 238 switch(syst) { 239 case ( kXSecTwkDial_NormNCEL ) : return "NormNCEL"; break; 240 //case ( kXSecTwkDial_NormNCELenu ) : return "NormNCELenu"; break; 241 case ( kXSecTwkDial_MaNCEL ) : return "MaNCEL"; break; 242 case ( kXSecTwkDial_MaNCELshape ) : return "MaNCELshape"; break; 243 case ( kXSecTwkDial_1overMaNCEL2 ) : return "1overMaNCEL2"; break; 244 case ( kXSecTwkDial_AxlFFNCEL ) : return "AxlFFNCEL"; break; 245 case ( kXSecTwkDial_VecFFNCEL ) : return "VecFFNCEL"; break; 246 //case ( kXSecTwkDial_VecFFNCELshape ) : return "VecFFNCELshape"; break; 247 //case ( kXSecTwkDial_EtaNCEL ) : return "EtaNCEL"; break; 248 249 case ( kXSecTwkDial_NormCCQE ) : return "NormCCQE"; break; 250 //case ( kXSecTwkDial_NormCCQEenu ) : return "NormCCQEenu"; break; 251 case ( kXSecTwkDial_MaCCQE ) : return "MaCCQE"; break;

Finding the central values

Finding the 1 sigma uncertainties

Using NuWro ReWeight

Using T2KReWeight

Using NIWGReWeight

Using NEUTReWeight via T2KReWeight

Using NOvAReWeight

Using NUISANCE custom reweight

MINERvA tune

Custom Gaussian enhancements

RikRPA

GENIE ReWeight dials

Oscillation probability calculator